MFC
Exascale flow solver
Loading...
Searching...
No Matches
m_boundary_common Module Reference

Noncharacteristic and processor boundary condition application for ghost cells and buffer regions. More...

Functions/Subroutines

impure subroutine, public s_initialize_boundary_common_module (use_dirichlet_buffers)
 Allocate and set up boundary condition buffer arrays for all coordinate directions.
impure subroutine, public s_populate_variables_buffers (bc_type, q_prim_vf, pb_in, mv_in, q_t_sf)
 Populate the buffers of the primitive variables based on the selected boundary conditions.
impure subroutine s_populate_bc_direction (bc_dir, bc_loc, bc_bounds, bc_type_edge, q_prim_vf, pb_in, mv_in, q_t_sf)
 Populate the variable buffers along one direction and location, via MPI exchange for processor boundaries or by dispatching the per-cell BC routines over the boundary face.
impure subroutine, public s_populate_capillary_buffers (c_divs, bc_type, bc)
 Populate ghost cell buffers for the color function and its divergence used in capillary surface tension.
impure subroutine s_populate_capillary_bc_direction (bc_dir, bc_loc, bc_bounds, bc_type_edge, c_divs)
 Populate ghost cell buffers for one capillary BC direction and location, via MPI exchange for processor boundaries or by dispatching the per-cell capillary BC routines over the boundary face.
impure subroutine, public s_populate_f_igr_buffers (bc_type, jac_sf)
 Populate ghost cell buffers for the Jacobian scalar field used in the IGR elliptic solver.
impure subroutine s_populate_f_igr_bc_direction (bc_dir, bc_loc, bc_bounds, bc_type_edge, jac_sf)
 Populate ghost cell buffers for one IGR Jacobian BC direction and location, via MPI exchange for processor boundaries or by dispatching the per-cell IGR Jacobian BC routines over the boundary face.
subroutine, public s_populate_grid_variables_buffers (x_cb_in, x_cc_in, dx_in, x_offset, y_offset, z_offset, y_cb_in, y_cc_in, dy_in, z_cb_in, z_cc_in, dz_in, global_bounds)
 Populate the buffers of the grid variables, which are constituted of the cell-boundary locations and cell-width distributions, based on the boundary conditions.
subroutine s_populate_grid_bc_direction (cell_boundaries, cell_centers, cell_widths, num_cells, bc_dir, bc_loc, bc_bounds, offset)
 Populate cell-boundary, cell-center, and cell-width buffers for one coordinate direction.
subroutine, public s_finalize_boundary_common_module ()
 Deallocate boundary condition buffer arrays allocated during module initialization.
impure subroutine, public s_populate_beta_buffers (q_beta, kahan_comp, bc_type, nvar)
 Populate ghost cell buffers of the Lagrangian-bubble beta (void fraction) variables based on the boundary conditions.
impure subroutine s_populate_beta_bc_direction (bc_dir, bc_loc, bc_bounds, bc_type_edge, q_beta, kahan_comp, nvar)
 Populate beta variable buffers for one direction and location, by dispatching the per-cell beta BC routines over the boundary face and performing the paired MPI reduction for processor boundaries.

Variables

type(int_bounds_info), dimension(3) beta_bc_bounds
 Lagrangian-bubble beta (void-fraction) buffer bounds (#1290).

Detailed Description

Noncharacteristic and processor boundary condition application for ghost cells and buffer regions.

Function/Subroutine Documentation

◆ s_finalize_boundary_common_module()

subroutine, public m_boundary_common::s_finalize_boundary_common_module

Deallocate boundary condition buffer arrays allocated during module initialization.

Definition at line 1194 of file m_boundary_common.fpp.f90.

◆ s_initialize_boundary_common_module()

impure subroutine, public m_boundary_common::s_initialize_boundary_common_module ( logical, intent(in), optional use_dirichlet_buffers)

Allocate and set up boundary condition buffer arrays for all coordinate directions.

Definition at line 372 of file m_boundary_common.fpp.f90.

Here is the caller graph for this function:

◆ s_populate_bc_direction()

impure subroutine m_boundary_common::s_populate_bc_direction ( integer, intent(in) bc_dir,
integer, intent(in) bc_loc,
type(int_bounds_info), intent(in) bc_bounds,
type(integer_field), intent(in) bc_type_edge,
type(scalar_field), dimension(sys_size), intent(inout) q_prim_vf,
real(stp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:), intent(inout), optional pb_in,
real(stp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:), intent(inout), optional mv_in,
type(scalar_field), intent(inout), optional q_t_sf )

Populate the variable buffers along one direction and location, via MPI exchange for processor boundaries or by dispatching the per-cell BC routines over the boundary face.

Definition at line 753 of file m_boundary_common.fpp.f90.

Here is the caller graph for this function:

◆ s_populate_beta_bc_direction()

impure subroutine m_boundary_common::s_populate_beta_bc_direction ( integer, intent(in) bc_dir,
integer, intent(in) bc_loc,
type(int_bounds_info), intent(in) bc_bounds,
type(integer_field), intent(in) bc_type_edge,
type(scalar_field), dimension(:), intent(inout) q_beta,
type(scalar_field), dimension(:), intent(inout) kahan_comp,
integer, intent(in) nvar )

Populate beta variable buffers for one direction and location, by dispatching the per-cell beta BC routines over the boundary face and performing the paired MPI reduction for processor boundaries.

Definition at line 1454 of file m_boundary_common.fpp.f90.

Here is the caller graph for this function:

◆ s_populate_beta_buffers()

impure subroutine, public m_boundary_common::s_populate_beta_buffers ( type(scalar_field), dimension(:), intent(inout) q_beta,
type(scalar_field), dimension(:), intent(inout) kahan_comp,
type(integer_field), dimension(1:num_dims,1:2), intent(in) bc_type,
integer, intent(in) nvar )

Populate ghost cell buffers of the Lagrangian-bubble beta (void fraction) variables based on the boundary conditions.

Definition at line 1427 of file m_boundary_common.fpp.f90.

Here is the call graph for this function:

◆ s_populate_capillary_bc_direction()

impure subroutine m_boundary_common::s_populate_capillary_bc_direction ( integer, intent(in) bc_dir,
integer, intent(in) bc_loc,
type(int_bounds_info), intent(in) bc_bounds,
type(integer_field), intent(in) bc_type_edge,
type(scalar_field), dimension(num_dims + 1), intent(inout) c_divs )

Populate ghost cell buffers for one capillary BC direction and location, via MPI exchange for processor boundaries or by dispatching the per-cell capillary BC routines over the boundary face.

Definition at line 880 of file m_boundary_common.fpp.f90.

Here is the caller graph for this function:

◆ s_populate_capillary_buffers()

impure subroutine, public m_boundary_common::s_populate_capillary_buffers ( type(scalar_field), dimension(num_dims + 1), intent(inout) c_divs,
type(integer_field), dimension(1:num_dims,1:2), intent(in) bc_type,
type(bc_xyz_info), intent(in) bc )

Populate ghost cell buffers for the color function and its divergence used in capillary surface tension.

Definition at line 853 of file m_boundary_common.fpp.f90.

Here is the call graph for this function:

◆ s_populate_f_igr_bc_direction()

impure subroutine m_boundary_common::s_populate_f_igr_bc_direction ( integer, intent(in) bc_dir,
integer, intent(in) bc_loc,
type(int_bounds_info), intent(in) bc_bounds,
type(integer_field), intent(in) bc_type_edge,
type(scalar_field), dimension(1:), intent(inout) jac_sf )

Populate ghost cell buffers for one IGR Jacobian BC direction and location, via MPI exchange for processor boundaries or by dispatching the per-cell IGR Jacobian BC routines over the boundary face.

Definition at line 989 of file m_boundary_common.fpp.f90.

Here is the caller graph for this function:

◆ s_populate_f_igr_buffers()

impure subroutine, public m_boundary_common::s_populate_f_igr_buffers ( type(integer_field), dimension(1:num_dims,1:2), intent(in) bc_type,
type(scalar_field), dimension(1:), intent(inout) jac_sf )

Populate ghost cell buffers for the Jacobian scalar field used in the IGR elliptic solver.

Definition at line 963 of file m_boundary_common.fpp.f90.

Here is the call graph for this function:

◆ s_populate_grid_bc_direction()

subroutine m_boundary_common::s_populate_grid_bc_direction ( real(wp), dimension(-1 - offset%beg:), intent(inout), contiguous cell_boundaries,
real(wp), dimension(-buff_size:), intent(inout), contiguous cell_centers,
real(wp), dimension(-buff_size:), intent(inout), contiguous cell_widths,
integer, intent(in) num_cells,
integer, intent(in) bc_dir,
integer, intent(in) bc_loc,
type(int_bounds_info), intent(in) bc_bounds,
type(int_bounds_info), intent(in) offset )

Populate cell-boundary, cell-center, and cell-width buffers for one coordinate direction.

Definition at line 1127 of file m_boundary_common.fpp.f90.

Here is the caller graph for this function:

◆ s_populate_grid_variables_buffers()

subroutine, public m_boundary_common::s_populate_grid_variables_buffers ( real(wp), dimension(-1 - x_offset%beg:), intent(inout), contiguous x_cb_in,
real(wp), dimension(-buff_size:), intent(inout), contiguous x_cc_in,
real(wp), dimension(-buff_size:), intent(inout), contiguous dx_in,
type(int_bounds_info), intent(in) x_offset,
type(int_bounds_info), intent(in) y_offset,
type(int_bounds_info), intent(in) z_offset,
real(wp), dimension(-1 - y_offset%beg:), intent(inout), optional, contiguous y_cb_in,
real(wp), dimension(-buff_size:), intent(inout), optional, contiguous y_cc_in,
real(wp), dimension(-buff_size:), intent(inout), optional, contiguous dy_in,
real(wp), dimension(-1 - z_offset%beg:), intent(inout), optional, contiguous z_cb_in,
real(wp), dimension(-buff_size:), intent(inout), optional, contiguous z_cc_in,
real(wp), dimension(-buff_size:), intent(inout), optional, contiguous dz_in,
type(bounds_info), dimension(3), intent(inout), optional global_bounds )

Populate the buffers of the grid variables, which are constituted of the cell-boundary locations and cell-width distributions, based on the boundary conditions.

Definition at line 1073 of file m_boundary_common.fpp.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ s_populate_variables_buffers()

impure subroutine, public m_boundary_common::s_populate_variables_buffers ( type(integer_field), dimension(1:num_dims,1:2), intent(in) bc_type,
type(scalar_field), dimension(sys_size), intent(inout) q_prim_vf,
real(stp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:), intent(inout), optional pb_in,
real(stp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:), intent(inout), optional mv_in,
type(scalar_field), intent(inout), optional q_t_sf )

Populate the buffers of the primitive variables based on the selected boundary conditions.

Definition at line 725 of file m_boundary_common.fpp.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ beta_bc_bounds

type(int_bounds_info), dimension(3) m_boundary_common::beta_bc_bounds

Lagrangian-bubble beta (void-fraction) buffer bounds (#1290).

Definition at line 356 of file m_boundary_common.fpp.f90.