|
MFC
Exascale flow solver
|
Per-cell noncharacteristic boundary condition primitives applied in the ghost cells. More...
Functions/Subroutines | |
| pure real(wp) function, public | f_vel_ramp (tau, t0, frac0, t) |
| Velocity scaling for a GRCBC inflow that is ramping up: unity unless bc_[x,y,z]vel_in_ramp is set, so an unramped case is untouched. Takes the time as an argument so the caller can evaluate it on the device from mytime, which the time stepper already places there, rather than computing it on the host and copying the result every Runge-Kutta stage. | |
| 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, q_t_sf) |
| 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. | |
| 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. | |
| subroutine | s_f_igr_periodic (jac_sf, bc_dir, bc_loc, k, l) |
| Apply periodic boundary conditions to the IGR Jacobian field by copying values from the opposite domain boundary. | |
| subroutine | s_f_igr_reflective (jac_sf, bc_dir, bc_loc, k, l) |
| Apply reflective boundary conditions to the IGR Jacobian field by mirroring values across the boundary. | |
| subroutine | s_f_igr_ghost_cell_extrapolation (jac_sf, bc_dir, bc_loc, k, l) |
| Extrapolate the IGR Jacobian field into ghost cells by copying boundary values. | |
| subroutine | s_beta_periodic (q_beta, kahan_comp, bc_dir, bc_loc, k, l, nvar) |
| subroutine | s_beta_extrapolation (q_beta, bc_dir, bc_loc, k, l, nvar) |
| subroutine | s_beta_reflective (q_beta, kahan_comp, bc_dir, bc_loc, k, l, nvar) |
Variables | |
| type(scalar_field), dimension(:,:), allocatable | bc_buffers |
| logical | dirichlet_from_buffers = .false. |
Per-cell noncharacteristic boundary condition primitives applied in the ghost cells.
| pure real(wp) function, public m_boundary_primitives::f_vel_ramp | ( | real(wp), intent(in) | tau, |
| real(wp), intent(in) | t0, | ||
| real(wp), intent(in) | frac0, | ||
| real(wp), intent(in) | t ) |
Velocity scaling for a GRCBC inflow that is ramping up: unity unless bc_[x,y,z]vel_in_ramp is set, so an unramped case is untouched. Takes the time as an argument so the caller can evaluate it on the device from mytime, which the time stepper already places there, rather than computing it on the host and copying the result every Runge-Kutta stage.
Definition at line 388 of file m_boundary_primitives.fpp.f90.
| 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, | ||
| type(scalar_field), intent(inout), optional | q_t_sf ) |
Apply axis boundary conditions for cylindrical coordinates by reflecting values across the axis with azimuthal phase shift.
Definition at line 949 of file m_boundary_primitives.fpp.f90.
| subroutine m_boundary_primitives::s_beta_extrapolation | ( | type(scalar_field), dimension(num_dims + 1), intent(inout) | q_beta, |
| integer, intent(in) | bc_dir, | ||
| integer, intent(in) | bc_loc, | ||
| integer, intent(in) | k, | ||
| integer, intent(in) | l, | ||
| integer, intent(in) | nvar ) |
Definition at line 2266 of file m_boundary_primitives.fpp.f90.
| subroutine m_boundary_primitives::s_beta_periodic | ( | type(scalar_field), dimension(num_dims + 1), intent(inout) | q_beta, |
| type(scalar_field), dimension(num_dims + 1), intent(inout) | kahan_comp, | ||
| integer, intent(in) | bc_dir, | ||
| integer, intent(in) | bc_loc, | ||
| integer, intent(in) | k, | ||
| integer, intent(in) | l, | ||
| integer, intent(in) | nvar ) |
Definition at line 2158 of file m_boundary_primitives.fpp.f90.
| subroutine m_boundary_primitives::s_beta_reflective | ( | type(scalar_field), dimension(num_dims + 1), intent(inout) | q_beta, |
| type(scalar_field), dimension(num_dims + 1), intent(inout) | kahan_comp, | ||
| integer, intent(in) | bc_dir, | ||
| integer, intent(in) | bc_loc, | ||
| integer, intent(in) | k, | ||
| integer, intent(in) | l, | ||
| integer, intent(in) | nvar ) |
Definition at line 2355 of file m_boundary_primitives.fpp.f90.
| subroutine m_boundary_primitives::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 1839 of file m_boundary_primitives.fpp.f90.
| subroutine m_boundary_primitives::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 1637 of file m_boundary_primitives.fpp.f90.
| subroutine m_boundary_primitives::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 1726 of file m_boundary_primitives.fpp.f90.
| 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.
| [in,out] | q_t_sf | x-direction |
| [in,out] | q_t_sf | bc_xend |
| [in,out] | q_t_sf | y-direction |
| [in,out] | q_t_sf | bc_ybeg |
| [in,out] | q_t_sf | bc_yend |
| [in,out] | q_t_sf | z-direction |
| [in,out] | q_t_sf | bc_zbeg |
| [in,out] | q_t_sf | bc_zend |
Definition at line 1421 of file m_boundary_primitives.fpp.f90.
| subroutine m_boundary_primitives::s_f_igr_ghost_cell_extrapolation | ( | type(scalar_field), dimension(1:), intent(inout) | jac_sf, |
| integer, intent(in) | bc_dir, | ||
| integer, intent(in) | bc_loc, | ||
| integer, intent(in) | k, | ||
| integer, intent(in) | l ) |
Extrapolate the IGR Jacobian field into ghost cells by copying boundary values.
Definition at line 2082 of file m_boundary_primitives.fpp.f90.
| subroutine m_boundary_primitives::s_f_igr_periodic | ( | type(scalar_field), dimension(1:), intent(inout) | jac_sf, |
| integer, intent(in) | bc_dir, | ||
| integer, intent(in) | bc_loc, | ||
| integer, intent(in) | k, | ||
| integer, intent(in) | l ) |
Apply periodic boundary conditions to the IGR Jacobian field by copying values from the opposite domain boundary.
Definition at line 1928 of file m_boundary_primitives.fpp.f90.
| subroutine m_boundary_primitives::s_f_igr_reflective | ( | type(scalar_field), dimension(1:), intent(inout) | jac_sf, |
| integer, intent(in) | bc_dir, | ||
| integer, intent(in) | bc_loc, | ||
| integer, intent(in) | k, | ||
| integer, intent(in) | l ) |
Apply reflective boundary conditions to the IGR Jacobian field by mirroring values across the boundary.
Definition at line 2005 of file m_boundary_primitives.fpp.f90.
| 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.
| [in,out] | q_t_sf | x-direction |
| [in,out] | q_t_sf | bc_xend |
| [in,out] | q_t_sf | y-direction |
| [in,out] | q_t_sf | bc_ybeg |
| [in,out] | q_t_sf | bc_yend |
| [in,out] | q_t_sf | z-direction |
| [in,out] | q_t_sf | bc_zbeg |
| [in,out] | q_t_sf | bc_zend |
Definition at line 417 of file m_boundary_primitives.fpp.f90.
| 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.
| [in,out] | q_t_sf | x-direction |
| [in,out] | q_t_sf | bc_xbeg |
| [in,out] | q_t_sf | bc_xend |
| [in,out] | q_t_sf | y-direction |
| [in,out] | q_t_sf | bc_ybeg |
| [in,out] | q_t_sf | bc_yend |
| [in,out] | q_t_sf | z-direction |
| [in,out] | q_t_sf | bc_zbeg |
| [in,out] | q_t_sf | bc_zend |
Definition at line 1214 of file m_boundary_primitives.fpp.f90.
| 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.
| [in,out] | q_t_sf | x-direction |
| [in,out] | q_t_sf | bc_xbeg |
| [in,out] | q_t_sf | bc_xend |
| [in,out] | q_t_sf | y-direction |
| [in,out] | q_t_sf | bc_ybeg |
| [in,out] | q_t_sf | bc_yend |
| [in,out] | q_t_sf | z-direction |
| [in,out] | q_t_sf | bc_zbeg |
| [in,out] | q_t_sf | bc_zend |
Definition at line 776 of file m_boundary_primitives.fpp.f90.
| 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 1550 of file m_boundary_primitives.fpp.f90.
| 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.
| [in,out] | q_t_sf | x-direction |
| [in,out] | q_t_sf | bc_xbeg |
| [in,out] | q_t_sf | bc_xend |
| [in,out] | q_t_sf | y-direction |
| [in,out] | q_t_sf | bc_ybeg |
| [in,out] | q_t_sf | bc_yend |
| [in,out] | q_t_sf | z-direction |
| [in,out] | q_t_sf | bc_zbeg |
| [in,out] | q_t_sf | bc_zend |
Definition at line 1028 of file m_boundary_primitives.fpp.f90.
| 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.
| [in,out] | q_t_sf | x-direction |
| [in,out] | q_t_sf | bc_xbeg |
| [in,out] | q_t_sf | bc_xend |
| [in,out] | q_t_sf | y-direction |
| [in,out] | q_t_sf | bc_ybeg |
| [in,out] | q_t_sf | bc_yend |
| [in,out] | q_t_sf | z-direction |
| [in,out] | q_t_sf | bc_zbeg |
| [in,out] | q_t_sf | bc_zend |
Definition at line 538 of file m_boundary_primitives.fpp.f90.
| type(scalar_field), dimension(:,:), allocatable m_boundary_primitives::bc_buffers |
Definition at line 355 of file m_boundary_primitives.fpp.f90.
| logical m_boundary_primitives::dirichlet_from_buffers = .false. |
Definition at line 368 of file m_boundary_primitives.fpp.f90.