|
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 () |
| 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) |
| Populate the buffers of the primitive variables based on the selected boundary conditions. | |
| subroutine | s_ghost_cell_extrapolation (q_prim_vf, bc_dir, bc_loc, k, l) |
| Fill 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) |
| Apply 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) |
| Apply periodic boundary conditions by copying values from the opposite domain boundary. | |
| subroutine | s_axis (q_prim_vf, pb_in, mv_in, k, l) |
| Apply 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) |
| Apply 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) |
| Apply 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) |
| Apply 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) |
| Extrapolate 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) |
| 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, 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, public | s_create_mpi_types (bc_type) |
| Create 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) |
| Write boundary condition type and buffer data to serial (unformatted) restart files. | |
| subroutine, public | s_write_parallel_boundary_condition_files (q_prim_vf, bc_type) |
| Write 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) |
| Read boundary condition type and buffer data from serial (unformatted) restart files. | |
| subroutine, public | 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) |
| Pack primitive variable boundary slices into bc_buffers arrays for serialization. | |
| subroutine, public | s_assign_default_bc_type (bc_type) |
| Initialize the per-cell boundary condition type arrays with the global default BC values. | |
| subroutine, public | 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. | |
| subroutine, public | s_finalize_boundary_common_module () |
| Deallocate 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 | ) |
Initialize the per-cell boundary condition type arrays with the global default BC values.
Definition at line 3308 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 ) |
Apply axis boundary conditions for cylindrical coordinates by reflecting values across the axis with azimuthal phase shift.
Definition at line 1524 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 ) |
Extrapolate the color function and its divergence into ghost cells by copying boundary values.
Definition at line 2540 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 ) |
Apply periodic boundary conditions to the color function and its divergence fields.
Definition at line 2338 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 ) |
Apply reflective boundary conditions to the color function and its divergence fields.
Definition at line 2427 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 | ) |
Create MPI derived datatypes for boundary condition type arrays and buffer arrays used in parallel I/O.
Definition at line 2976 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 ) |
Apply Dirichlet boundary conditions by prescribing ghost cell values from stored boundary buffers.
Definition at line 1839 of file m_boundary_common.fpp.f90.
| subroutine, public m_boundary_common::s_finalize_boundary_common_module |
Deallocate boundary condition buffer arrays allocated during module initialization.
Definition at line 3549 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 ) |
Fill ghost cells by copying the nearest boundary cell value along the specified direction.
Definition at line 1062 of file m_boundary_common.fpp.f90.
| impure subroutine, public m_boundary_common::s_initialize_boundary_common_module |
Allocate and set up boundary condition buffer arrays for all coordinate directions.
Definition at line 372 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 ) |
Apply no-slip wall boundary conditions by reflecting and negating all velocity components at the wall.
Definition at line 1701 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 | ) |
Pack primitive variable boundary slices into bc_buffers arrays for serialization.
Definition at line 3265 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 ) |
Apply periodic boundary conditions by copying values from the opposite domain boundary.
Definition at line 1388 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 ) |
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 2023 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 ) |
Populate ghost cell buffers for the Jacobian scalar field used in the IGR elliptic solver.
Definition at line 2629 of file m_boundary_common.fpp.f90.
| subroutine, public m_boundary_common::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 3365 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 ) |
Populate the buffers of the primitive variables based on the selected boundary conditions.
Definition at line 681 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 ) |
Extrapolate QBMM bubble pressure and mass-vapor variables into ghost cells by copying boundary values.
Definition at line 1936 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 | ) |
Read boundary condition type and buffer data from per-rank parallel files using MPI I/O.
Definition at line 3180 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 ) |
Read boundary condition type and buffer data from serial (unformatted) restart files.
Definition at line 3115 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 ) |
Apply slip wall boundary conditions by extrapolating scalars and reflecting the wall-normal velocity component.
Definition at line 1588 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 ) |
Apply reflective (symmetry) boundary conditions by mirroring primitive variables and flipping the normal velocity component.
Definition at line 1151 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 ) |
Write boundary condition type and buffer data to per-rank parallel files using MPI I/O.
Definition at line 3050 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 ) |
Write boundary condition type and buffer data to serial (unformatted) restart files.
Definition at line 3011 of file m_boundary_common.fpp.f90.
| type(scalar_field), dimension(:,:), allocatable, public m_boundary_common::bc_buffers |
Definition at line 339 of file m_boundary_common.fpp.f90.
| integer, dimension(1:3,1:2), public m_boundary_common::mpi_bc_buffer_type |
Definition at line 354 of file m_boundary_common.fpp.f90.
| integer, dimension(1:3,1:2), public m_boundary_common::mpi_bc_type_type |
Definition at line 353 of file m_boundary_common.fpp.f90.