MFC: Simulation
High-fidelity multiphase flow simulation
Loading...
Searching...
No Matches
m_cbc.fpp.f90 File Reference

Modules

module  m_cbc
 The module features a large database of characteristic boundary conditions (CBC) for the Euler system of equations. This system is augmented by the appropriate advection equations utilized to capture the material interfaces. The closure is achieved by the stiffened equation of state and mixture relations. At this time, the following CBC are available: 1) Slip Wall 2) Nonreflecting Subsonic Buffer 3) Nonreflecting Subsonic Inflow 4) Nonreflecting Subsonic Outflow 5) Force-Free Subsonic Outflow 6) Constant Pressure Subsonic Outflow 7) Supersonic Inflow 8) Supersonic Outflow Please refer to Thompson (1987, 1990) for detailed descriptions.
 

Functions/Subroutines

impure subroutine, public m_cbc::s_initialize_cbc_module
 The computation of parameters, the allocation of memory, the association of pointers and/or the execution of any other procedures that are necessary to setup the module.
 
subroutine m_cbc::s_compute_cbc_coefficients (cbc_dir_in, cbc_loc_in)
 Compute CBC coefficients.
 
subroutine m_cbc::s_associate_cbc_coefficients_pointers (cbc_dir_in, cbc_loc_in)
 
subroutine, public m_cbc::s_cbc (q_prim_vf, flux_vf, flux_src_vf, cbc_dir_norm, cbc_loc_norm, ix, iy, iz)
 The following is the implementation of the CBC based on the work of Thompson (1987, 1990) on hyperbolic systems. The CBC is indirectly applied in the computation of the right-hand-side (RHS) near the relevant domain boundary through the modification of the fluxes.
 
subroutine m_cbc::s_initialize_cbc (q_prim_vf, flux_vf, flux_src_vf, ix, iy, iz)
 The computation of parameters, the allocation of memory, the association of pointers and/or the execution of any other procedures that are required for the setup of the selected CBC.
 
subroutine m_cbc::s_finalize_cbc (flux_vf, flux_src_vf)
 Deallocation and/or the disassociation procedures that are necessary in order to finalize the CBC application.
 
elemental subroutine m_cbc::s_any_cbc_boundaries (toggle)
 
impure subroutine, public m_cbc::s_finalize_cbc_module
 Module deallocation and/or disassociation procedures.
 

Variables

real(wp), dimension(:, :, :, :), allocatable m_cbc::q_prim_rsx_vf
 
real(wp), dimension(:, :, :, :), allocatable m_cbc::q_prim_rsy_vf
 
real(wp), dimension(:, :, :, :), allocatable m_cbc::q_prim_rsz_vf
 
real(wp), dimension(:, :, :, :), allocatable m_cbc::f_rsx_vf
 
real(wp), dimension(:, :, :, :), allocatable m_cbc::f_src_rsx_vf
 
real(wp), dimension(:, :, :, :), allocatable m_cbc::f_rsy_vf
 
real(wp), dimension(:, :, :, :), allocatable m_cbc::f_src_rsy_vf
 
real(wp), dimension(:, :, :, :), allocatable m_cbc::f_rsz_vf
 
real(wp), dimension(:, :, :, :), allocatable m_cbc::f_src_rsz_vf
 
real(wp), dimension(:, :, :, :), allocatable m_cbc::flux_rsx_vf_l
 
real(wp), dimension(:, :, :, :), allocatable m_cbc::flux_src_rsx_vf_l
 
real(wp), dimension(:, :, :, :), allocatable m_cbc::flux_rsy_vf_l
 
real(wp), dimension(:, :, :, :), allocatable m_cbc::flux_src_rsy_vf_l
 
real(wp), dimension(:, :, :, :), allocatable m_cbc::flux_rsz_vf_l
 
real(wp), dimension(:, :, :, :), allocatable m_cbc::flux_src_rsz_vf_l
 
real(wp), dimension(:), allocatable m_cbc::ds
 Cell-width distribution in the s-direction.
 
real(wp), dimension(:, :), allocatable m_cbc::fd_coef_x
 Finite diff. coefficients x-dir.
 
real(wp), dimension(:, :), allocatable m_cbc::fd_coef_y
 Finite diff. coefficients y-dir.
 
real(wp), dimension(:, :), allocatable m_cbc::fd_coef_z
 Finite diff. coefficients z-dir.
 
real(wp), dimension(:, :, :), allocatable m_cbc::pi_coef_x
 Polynomial interpolant coefficients in x-dir.
 
real(wp), dimension(:, :, :), allocatable m_cbc::pi_coef_y
 Polynomial interpolant coefficients in y-dir.
 
real(wp), dimension(:, :, :), allocatable m_cbc::pi_coef_z
 Polynomial interpolant coefficients in z-dir.
 
type(int_bounds_infom_cbc::is1
 
type(int_bounds_infom_cbc::is2
 
type(int_bounds_infom_cbc::is3
 Indical bounds in the s1-, s2- and s3-directions.
 
integer m_cbc::dj
 
integer m_cbc::bcxb
 
integer m_cbc::bcxe
 
integer m_cbc::bcyb
 
integer m_cbc::bcye
 
integer m_cbc::bczb
 
integer m_cbc::bcze
 
integer m_cbc::cbc_dir
 
integer m_cbc::cbc_loc
 
integer m_cbc::flux_cbc_index
 
real(wp), dimension(:), allocatable m_cbc::pres_in
 
real(wp), dimension(:), allocatable m_cbc::pres_out
 
real(wp), dimension(:), allocatable m_cbc::del_in
 
real(wp), dimension(:), allocatable m_cbc::del_out
 
real(wp), dimension(:, :), allocatable m_cbc::vel_in
 
real(wp), dimension(:, :), allocatable m_cbc::vel_out
 
real(wp), dimension(:, :), allocatable m_cbc::alpha_rho_in
 
real(wp), dimension(:, :), allocatable m_cbc::alpha_in