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

Per-cell noncharacteristic boundary condition primitives applied in the ghost cells. More...

Functions/Subroutines

subroutine s_ghost_cell_extrapolation (q_prim_vf, bc_dir, bc_loc, k, l, q_t_sf)
 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, q_t_sf)
 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, q_t_sf)
 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, q_t_sf)
 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, q_t_sf)
 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, q_t_sf)
 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.

Variables

type(scalar_field), dimension(:,:), allocatable bc_buffers

Detailed Description

Per-cell noncharacteristic boundary condition primitives applied in the ghost cells.

Function/Subroutine Documentation

◆ s_axis()

subroutine m_boundary_primitives::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), optional pb_in,
real(stp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:), intent(inout), optional 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 908 of file m_boundary_primitives.fpp.f90.

◆ s_dirichlet()

subroutine m_boundary_primitives::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,
type(scalar_field), intent(inout), optional q_t_sf )

Apply Dirichlet boundary conditions by prescribing ghost cell values from stored boundary buffers.

Parameters
[in,out]q_t_sfx-direction
[in,out]q_t_sfbc_xend
[in,out]q_t_sfy-direction
[in,out]q_t_sfbc_ybeg
[in,out]q_t_sfbc_yend
[in,out]q_t_sfz-direction
[in,out]q_t_sfbc_zbeg
[in,out]q_t_sfbc_zend

Definition at line 1370 of file m_boundary_primitives.fpp.f90.

Here is the call graph for this function:

◆ s_ghost_cell_extrapolation()

subroutine m_boundary_primitives::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,
type(scalar_field), intent(inout), optional q_t_sf )

Fill ghost cells by copying the nearest boundary cell value along the specified direction.

Parameters
[in,out]q_t_sfx-direction
[in,out]q_t_sfbc_xend
[in,out]q_t_sfy-direction
[in,out]q_t_sfbc_ybeg
[in,out]q_t_sfbc_yend
[in,out]q_t_sfz-direction
[in,out]q_t_sfbc_zbeg
[in,out]q_t_sfbc_zend

Definition at line 352 of file m_boundary_primitives.fpp.f90.

Here is the caller graph for this function:

◆ s_no_slip_wall()

subroutine m_boundary_primitives::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,
type(scalar_field), intent(inout), optional q_t_sf )

Apply no-slip wall boundary conditions by reflecting and negating all velocity components at the wall.

Parameters
[in,out]q_t_sfx-direction
[in,out]q_t_sfbc_xbeg
[in,out]q_t_sfbc_xend
[in,out]q_t_sfy-direction
[in,out]q_t_sfbc_ybeg
[in,out]q_t_sfbc_yend
[in,out]q_t_sfz-direction
[in,out]q_t_sfbc_zbeg
[in,out]q_t_sfbc_zend

Definition at line 1163 of file m_boundary_primitives.fpp.f90.

◆ s_periodic()

subroutine m_boundary_primitives::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,
type(scalar_field), intent(inout), optional q_t_sf )

Apply periodic boundary conditions by copying values from the opposite domain boundary.

Parameters
[in,out]q_t_sfx-direction
[in,out]q_t_sfbc_xbeg
[in,out]q_t_sfbc_xend
[in,out]q_t_sfy-direction
[in,out]q_t_sfbc_ybeg
[in,out]q_t_sfbc_yend
[in,out]q_t_sfz-direction
[in,out]q_t_sfbc_zbeg
[in,out]q_t_sfbc_zend

Definition at line 735 of file m_boundary_primitives.fpp.f90.

◆ s_qbmm_extrapolation()

subroutine m_boundary_primitives::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 1498 of file m_boundary_primitives.fpp.f90.

◆ s_slip_wall()

subroutine m_boundary_primitives::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,
type(scalar_field), intent(inout), optional q_t_sf )

Apply slip wall boundary conditions by extrapolating scalars and reflecting the wall-normal velocity component.

Parameters
[in,out]q_t_sfx-direction
[in,out]q_t_sfbc_xbeg
[in,out]q_t_sfbc_xend
[in,out]q_t_sfy-direction
[in,out]q_t_sfbc_ybeg
[in,out]q_t_sfbc_yend
[in,out]q_t_sfz-direction
[in,out]q_t_sfbc_zbeg
[in,out]q_t_sfbc_zend

Definition at line 977 of file m_boundary_primitives.fpp.f90.

◆ s_symmetry()

subroutine m_boundary_primitives::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,
type(scalar_field), intent(inout), optional q_t_sf )

Apply reflective (symmetry) boundary conditions by mirroring primitive variables and flipping the normal velocity component.

Parameters
[in,out]q_t_sfx-direction
[in,out]q_t_sfbc_xbeg
[in,out]q_t_sfbc_xend
[in,out]q_t_sfy-direction
[in,out]q_t_sfbc_ybeg
[in,out]q_t_sfbc_yend
[in,out]q_t_sfz-direction
[in,out]q_t_sfbc_zbeg
[in,out]q_t_sfbc_zend

Definition at line 473 of file m_boundary_primitives.fpp.f90.

Variable Documentation

◆ bc_buffers

type(scalar_field), dimension(:,:), allocatable m_boundary_primitives::bc_buffers

Definition at line 336 of file m_boundary_primitives.fpp.f90.