MFC
Exascale flow solver
Loading...
Searching...
No Matches
m_cbc.fpp.f90 File Reference

Contains module m_cbc. More...

Go to the source code of this file.

Modules

module  m_cbc
 Characteristic boundary conditions (CBC) for slip walls, non-reflecting subsonic inflow/outflow, and supersonic boundaries.

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)
 Associates finite-difference and polynomial-interpolation CBC coefficients with targets based on coordinate direction and boundary location. The goal of the procedure is to associate the FD and PI coefficients, or CBC coefficients, with the appropriate targets, based on the coordinate direction and location of the CBC.
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)
 Detects whether any domain boundary uses characteristic boundary conditions.
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

Detailed Description

Contains module m_cbc.

Definition in file m_cbc.fpp.f90.