|
MFC
Exascale flow solver
|
Noncharacteristic and processor boundary condition application for ghost cells and buffer regions. More...
Functions/Subroutines | |
| impure subroutine, public | s_initialize_boundary_common_module () |
| Allocates and sets 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) |
| The purpose of this procedure is to populate the buffers of the primitive variables, depending on the selected boundary conditions. | |
| subroutine | s_ghost_cell_extrapolation (q_prim_vf, bc_dir, bc_loc, k, l) |
| Fills ghost cells by copying the nearest boundary cell value along the specified direction. | |
| subroutine | s_symmetry (q_prim_vf, bc_dir, bc_loc, k, l, pb_in, mv_in) |
| Applies reflective (symmetry) boundary conditions by mirroring primitive variables and flipping the normal velocity component. | |
| subroutine | s_periodic (q_prim_vf, bc_dir, bc_loc, k, l, pb_in, mv_in) |
| Applies periodic boundary conditions by copying values from the opposite domain boundary. | |
| subroutine | s_axis (q_prim_vf, pb_in, mv_in, k, l) |
| Applies axis boundary conditions for cylindrical coordinates by reflecting values across the axis with azimuthal phase shift. | |
| subroutine | s_slip_wall (q_prim_vf, bc_dir, bc_loc, k, l) |
| Applies slip wall boundary conditions by extrapolating scalars and reflecting the wall-normal velocity component. | |
| subroutine | s_no_slip_wall (q_prim_vf, bc_dir, bc_loc, k, l) |
| Applies no-slip wall boundary conditions by reflecting and negating all velocity components at the wall. | |
| subroutine | s_dirichlet (q_prim_vf, bc_dir, bc_loc, k, l) |
| Applies Dirichlet boundary conditions by prescribing ghost cell values from stored boundary buffers. | |
| subroutine | s_qbmm_extrapolation (bc_dir, bc_loc, k, l, pb_in, mv_in) |
| Extrapolates QBMM bubble pressure and mass-vapor variables into ghost cells by copying boundary values. | |
| impure subroutine, public | s_populate_capillary_buffers (c_divs, bc_type) |
| Populates 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) |
| Applies periodic boundary conditions to the color function and its divergence fields. | |
| subroutine | s_color_function_reflective (c_divs, bc_dir, bc_loc, k, l) |
| Applies 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) |
| Extrapolates the color function and its divergence into ghost cells by copying boundary values. | |
| impure subroutine, public | s_populate_f_igr_buffers (bc_type, jac_sf) |
| Populates ghost cell buffers for the Jacobian scalar field used in the IGR elliptic solver. | |
| impure subroutine, public | s_create_mpi_types (bc_type) |
| Creates MPI derived datatypes for boundary condition type arrays and buffer arrays used in parallel I/O. | |
| subroutine, public | s_write_serial_boundary_condition_files (q_prim_vf, bc_type, step_dirpath, old_grid_in) |
| Writes boundary condition type and buffer data to serial (unformatted) restart files. | |
| subroutine, public | s_write_parallel_boundary_condition_files (q_prim_vf, bc_type) |
| Writes boundary condition type and buffer data to per-rank parallel files using MPI I/O. | |
| subroutine, public | s_read_serial_boundary_condition_files (step_dirpath, bc_type) |
| Reads boundary condition type and buffer data from serial (unformatted) restart files. | |
| subroutine, public | s_read_parallel_boundary_condition_files (bc_type) |
| Reads boundary condition type and buffer data from per-rank parallel files using MPI I/O. | |
| subroutine | s_pack_boundary_condition_buffers (q_prim_vf) |
| Packs primitive variable boundary slices into bc_buffers arrays for serialization. | |
| subroutine, public | s_assign_default_bc_type (bc_type) |
| Initializes the per-cell boundary condition type arrays with the global default BC values. | |
| subroutine, public | s_populate_grid_variables_buffers |
| The purpose of this subroutine is to 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, public | s_finalize_boundary_common_module () |
| Deallocates boundary condition buffer arrays allocated during module initialization. | |
Variables | |
| type(scalar_field), dimension(:, :), allocatable, public | bc_buffers |
| integer, dimension(1:3, 1:2), public | mpi_bc_type_type |
| integer, dimension(1:3, 1:2), public | mpi_bc_buffer_type |
Noncharacteristic and processor boundary condition application for ghost cells and buffer regions.
| subroutine, public m_boundary_common::s_assign_default_bc_type | ( | type(integer_field), dimension(1:num_dims, 1:2), intent(in) | bc_type | ) |
Initializes the per-cell boundary condition type arrays with the global default BC values.
Definition at line 3595 of file m_boundary_common.fpp.f90.
| subroutine m_boundary_common::s_axis | ( | 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) | pb_in, | ||
| real(stp), dimension(idwbuff(1)%beg:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:, 1:), intent(inout) | mv_in, | ||
| integer, intent(in) | k, | ||
| integer, intent(in) | l ) |
Applies axis boundary conditions for cylindrical coordinates by reflecting values across the axis with azimuthal phase shift.
Definition at line 1639 of file m_boundary_common.fpp.f90.
| subroutine m_boundary_common::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 ) |
Extrapolates the color function and its divergence into ghost cells by copying boundary values.
Definition at line 2761 of file m_boundary_common.fpp.f90.
| subroutine m_boundary_common::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 ) |
Applies periodic boundary conditions to the color function and its divergence fields.
Definition at line 2557 of file m_boundary_common.fpp.f90.
| subroutine m_boundary_common::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 ) |
Applies reflective boundary conditions to the color function and its divergence fields.
Definition at line 2647 of file m_boundary_common.fpp.f90.
| impure subroutine, public m_boundary_common::s_create_mpi_types | ( | type(integer_field), dimension(1:num_dims, 1:2), intent(in) | bc_type | ) |
Creates MPI derived datatypes for boundary condition type arrays and buffer arrays used in parallel I/O.
Definition at line 3251 of file m_boundary_common.fpp.f90.
| subroutine m_boundary_common::s_dirichlet | ( | type(scalar_field), dimension(sys_size), intent(inout) | q_prim_vf, |
| integer, intent(in) | bc_dir, | ||
| integer, intent(in) | bc_loc, | ||
| integer, intent(in) | k, | ||
| integer, intent(in) | l ) |
Applies Dirichlet boundary conditions by prescribing ghost cell values from stored boundary buffers.
Definition at line 2002 of file m_boundary_common.fpp.f90.
| subroutine, public m_boundary_common::s_finalize_boundary_common_module |
Deallocates boundary condition buffer arrays allocated during module initialization.
Definition at line 3841 of file m_boundary_common.fpp.f90.
| subroutine m_boundary_common::s_ghost_cell_extrapolation | ( | type(scalar_field), dimension(sys_size), intent(inout) | q_prim_vf, |
| integer, intent(in) | bc_dir, | ||
| integer, intent(in) | bc_loc, | ||
| integer, intent(in) | k, | ||
| integer, intent(in) | l ) |
Fills ghost cells by copying the nearest boundary cell value along the specified direction.
Definition at line 1114 of file m_boundary_common.fpp.f90.
| impure subroutine, public m_boundary_common::s_initialize_boundary_common_module |
Allocates and sets up boundary condition buffer arrays for all coordinate directions.
Definition at line 361 of file m_boundary_common.fpp.f90.
| subroutine m_boundary_common::s_no_slip_wall | ( | type(scalar_field), dimension(sys_size), intent(inout) | q_prim_vf, |
| integer, intent(in) | bc_dir, | ||
| integer, intent(in) | bc_loc, | ||
| integer, intent(in) | k, | ||
| integer, intent(in) | l ) |
Applies no-slip wall boundary conditions by reflecting and negating all velocity components at the wall.
Definition at line 1839 of file m_boundary_common.fpp.f90.
| subroutine m_boundary_common::s_pack_boundary_condition_buffers | ( | type(scalar_field), dimension(sys_size), intent(in) | q_prim_vf | ) |
Packs primitive variable boundary slices into bc_buffers arrays for serialization.
Definition at line 3548 of file m_boundary_common.fpp.f90.
| subroutine m_boundary_common::s_periodic | ( | type(scalar_field), dimension(sys_size), intent(inout) | q_prim_vf, |
| integer, intent(in) | bc_dir, | ||
| integer, intent(in) | bc_loc, | ||
| integer, intent(in) | k, | ||
| integer, intent(in) | l, | ||
| 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 ) |
Applies periodic boundary conditions by copying values from the opposite domain boundary.
Definition at line 1485 of file m_boundary_common.fpp.f90.
| 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 ) |
Populates ghost cell buffers for the color function and its divergence used in capillary surface tension.
Definition at line 2193 of file m_boundary_common.fpp.f90.
| 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 ) |
Populates ghost cell buffers for the Jacobian scalar field used in the IGR elliptic solver.
Definition at line 2851 of file m_boundary_common.fpp.f90.
| subroutine, public m_boundary_common::s_populate_grid_variables_buffers |
The purpose of this subroutine is to 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 3654 of file m_boundary_common.fpp.f90.
| 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 ) |
The purpose of this procedure is to populate the buffers of the primitive variables, depending on the selected boundary conditions.
Definition at line 675 of file m_boundary_common.fpp.f90.
| subroutine m_boundary_common::s_qbmm_extrapolation | ( | integer, intent(in) | bc_dir, |
| integer, intent(in) | bc_loc, | ||
| integer, intent(in) | k, | ||
| integer, intent(in) | l, | ||
| 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 ) |
Extrapolates QBMM bubble pressure and mass-vapor variables into ghost cells by copying boundary values.
Definition at line 2106 of file m_boundary_common.fpp.f90.
| subroutine, public m_boundary_common::s_read_parallel_boundary_condition_files | ( | type(integer_field), dimension(1:num_dims, 1:2), intent(inout) | bc_type | ) |
Reads boundary condition type and buffer data from per-rank parallel files using MPI I/O.
Definition at line 3461 of file m_boundary_common.fpp.f90.
| subroutine, public m_boundary_common::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 ) |
Reads boundary condition type and buffer data from serial (unformatted) restart files.
Definition at line 3394 of file m_boundary_common.fpp.f90.
| subroutine m_boundary_common::s_slip_wall | ( | type(scalar_field), dimension(sys_size), intent(inout) | q_prim_vf, |
| integer, intent(in) | bc_dir, | ||
| integer, intent(in) | bc_loc, | ||
| integer, intent(in) | k, | ||
| integer, intent(in) | l ) |
Applies slip wall boundary conditions by extrapolating scalars and reflecting the wall-normal velocity component.
Definition at line 1713 of file m_boundary_common.fpp.f90.
| subroutine m_boundary_common::s_symmetry | ( | type(scalar_field), dimension(sys_size), intent(inout) | q_prim_vf, |
| integer, intent(in) | bc_dir, | ||
| integer, intent(in) | bc_loc, | ||
| integer, intent(in) | k, | ||
| integer, intent(in) | l, | ||
| 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 ) |
Applies reflective (symmetry) boundary conditions by mirroring primitive variables and flipping the normal velocity component.
Definition at line 1210 of file m_boundary_common.fpp.f90.
| subroutine, public m_boundary_common::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 ) |
Writes boundary condition type and buffer data to per-rank parallel files using MPI I/O.
Definition at line 3327 of file m_boundary_common.fpp.f90.
| subroutine, public m_boundary_common::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 ) |
Writes boundary condition type and buffer data to serial (unformatted) restart files.
Definition at line 3285 of file m_boundary_common.fpp.f90.
| type(scalar_field), dimension(:, :), allocatable, public m_boundary_common::bc_buffers |
Definition at line 321 of file m_boundary_common.fpp.f90.
| integer, dimension(1:3, 1:2), public m_boundary_common::mpi_bc_buffer_type |
Definition at line 336 of file m_boundary_common.fpp.f90.
| integer, dimension(1:3, 1:2), public m_boundary_common::mpi_bc_type_type |
Definition at line 335 of file m_boundary_common.fpp.f90.