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

Boundary condition restart I/O, capillary/IGR buffer population, and grid-variable buffers. More...

Functions/Subroutines

impure subroutine 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.
subroutine s_color_function_periodic (c_divs, bc_dir, bc_loc, k, l)
 Apply periodic boundary conditions to the color function and its divergence fields.
subroutine s_color_function_reflective (c_divs, bc_dir, bc_loc, k, l)
 Apply reflective boundary conditions to the color function and its divergence fields.
subroutine s_color_function_ghost_cell_extrapolation (c_divs, bc_dir, bc_loc, k, l)
 Extrapolate the color function and its divergence into ghost cells by copying boundary values.
impure subroutine 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_create_mpi_types (bc_type)
 Create MPI derived datatypes for boundary condition type arrays and buffer arrays used in parallel I/O.
subroutine s_write_serial_boundary_condition_files (q_prim_vf, bc_type, step_dirpath, old_grid_in, q_t_sf)
 Write boundary condition type and buffer data to serial (unformatted) restart files.
subroutine s_write_parallel_boundary_condition_files (q_prim_vf, bc_type, q_t_sf)
 Write boundary condition type and buffer data to per-rank parallel files using MPI I/O.
subroutine s_read_serial_boundary_condition_files (step_dirpath, bc_type)
 Read boundary condition type and buffer data from serial (unformatted) restart files.
subroutine s_read_parallel_boundary_condition_files (bc_type)
 Read boundary condition type and buffer data from per-rank parallel files using MPI I/O.
subroutine s_pack_boundary_condition_buffers (q_prim_vf, q_t_sf)
 Pack primitive variable boundary slices into bc_buffers arrays for serialization.
subroutine s_assign_default_bc_type (bc_type)
 Initialize the per-cell boundary condition type arrays with the global default BC values.
subroutine s_populate_grid_variables_buffers
 Populate the buffers of the grid variables, which are constituted of the cell-boundary locations and cell-width distributions, based on the boundary conditions.

Variables

integer, dimension(1:3, 1:2) mpi_bc_type_type
integer, dimension(1:3, 1:2) mpi_bc_buffer_type

Detailed Description

Boundary condition restart I/O, capillary/IGR buffer population, and grid-variable buffers.

Function/Subroutine Documentation

◆ s_assign_default_bc_type()

subroutine m_boundary_io::s_assign_default_bc_type ( type(integer_field), dimension(1:num_dims,1:2), intent(in) bc_type)

Initialize the per-cell boundary condition type arrays with the global default BC values.

Definition at line 1646 of file m_boundary_io.fpp.f90.

◆ s_color_function_ghost_cell_extrapolation()

subroutine m_boundary_io::s_color_function_ghost_cell_extrapolation ( type(scalar_field), dimension(num_dims + 1), intent(inout) c_divs,
integer, intent(in) bc_dir,
integer, intent(in) bc_loc,
integer, intent(in) k,
integer, intent(in) l )

Extrapolate the color function and its divergence into ghost cells by copying boundary values.

Definition at line 866 of file m_boundary_io.fpp.f90.

Here is the caller graph for this function:

◆ s_color_function_periodic()

subroutine m_boundary_io::s_color_function_periodic ( type(scalar_field), dimension(num_dims + 1), intent(inout) c_divs,
integer, intent(in) bc_dir,
integer, intent(in) bc_loc,
integer, intent(in) k,
integer, intent(in) l )

Apply periodic boundary conditions to the color function and its divergence fields.

Definition at line 664 of file m_boundary_io.fpp.f90.

Here is the caller graph for this function:

◆ s_color_function_reflective()

subroutine m_boundary_io::s_color_function_reflective ( type(scalar_field), dimension(num_dims + 1), intent(inout) c_divs,
integer, intent(in) bc_dir,
integer, intent(in) bc_loc,
integer, intent(in) k,
integer, intent(in) l )

Apply reflective boundary conditions to the color function and its divergence fields.

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

Here is the caller graph for this function:

◆ s_create_mpi_types()

impure subroutine m_boundary_io::s_create_mpi_types ( type(integer_field), dimension(1:num_dims,1:2), intent(in) bc_type)

Create MPI derived datatypes for boundary condition type arrays and buffer arrays used in parallel I/O.

Definition at line 1302 of file m_boundary_io.fpp.f90.

Here is the caller graph for this function:

◆ s_pack_boundary_condition_buffers()

subroutine m_boundary_io::s_pack_boundary_condition_buffers ( type(scalar_field), dimension(sys_size), intent(in) q_prim_vf,
type(scalar_field), intent(in), optional q_t_sf )

Pack primitive variable boundary slices into bc_buffers arrays for serialization.

Definition at line 1584 of file m_boundary_io.fpp.f90.

Here is the caller graph for this function:

◆ s_populate_capillary_buffers()

impure subroutine m_boundary_io::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.

x-direction

y-direction

z-direction

Definition at line 348 of file m_boundary_io.fpp.f90.

Here is the call graph for this function:

◆ s_populate_f_igr_buffers()

impure subroutine m_boundary_io::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 955 of file m_boundary_io.fpp.f90.

◆ s_populate_grid_variables_buffers()

subroutine m_boundary_io::s_populate_grid_variables_buffers

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 1703 of file m_boundary_io.fpp.f90.

◆ s_read_parallel_boundary_condition_files()

subroutine m_boundary_io::s_read_parallel_boundary_condition_files ( type(integer_field), dimension(1:num_dims,1:2), intent(inout) bc_type)

Read boundary condition type and buffer data from per-rank parallel files using MPI I/O.

Definition at line 1503 of file m_boundary_io.fpp.f90.

Here is the call graph for this function:

◆ s_read_serial_boundary_condition_files()

subroutine m_boundary_io::s_read_serial_boundary_condition_files ( character(len=*), intent(in) step_dirpath,
type(integer_field), dimension(1:num_dims,1:2), intent(inout) bc_type )

Read boundary condition type and buffer data from serial (unformatted) restart files.

Definition at line 1439 of file m_boundary_io.fpp.f90.

◆ s_write_parallel_boundary_condition_files()

subroutine m_boundary_io::s_write_parallel_boundary_condition_files ( type(scalar_field), dimension(sys_size), intent(in) q_prim_vf,
type(integer_field), dimension(1:num_dims,1:2), intent(in) bc_type,
type(scalar_field), intent(in), optional q_t_sf )

Write boundary condition type and buffer data to per-rank parallel files using MPI I/O.

Definition at line 1377 of file m_boundary_io.fpp.f90.

Here is the call graph for this function:

◆ s_write_serial_boundary_condition_files()

subroutine m_boundary_io::s_write_serial_boundary_condition_files ( type(scalar_field), dimension(sys_size), intent(in) q_prim_vf,
type(integer_field), dimension(1:num_dims,1:2), intent(in) bc_type,
character(len=*), intent(in) step_dirpath,
logical, intent(in) old_grid_in,
type(scalar_field), intent(in), optional q_t_sf )

Write boundary condition type and buffer data to serial (unformatted) restart files.

Definition at line 1337 of file m_boundary_io.fpp.f90.

Here is the call graph for this function:

Variable Documentation

◆ mpi_bc_buffer_type

integer, dimension(1:3,1:2) m_boundary_io::mpi_bc_buffer_type

Definition at line 342 of file m_boundary_io.fpp.f90.

◆ mpi_bc_type_type

integer, dimension(1:3,1:2) m_boundary_io::mpi_bc_type_type

Definition at line 341 of file m_boundary_io.fpp.f90.