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

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

Functions/Subroutines

impure subroutine, public s_initialize_cbc_module
 Initialize the CBC module.
subroutine s_compute_cbc_coefficients (cbc_dir_in, cbc_loc_in)
 Compute CBC coefficients.
subroutine s_associate_cbc_coefficients_pointers (cbc_dir_in, cbc_loc_in)
 Associate CBC finite-difference and polynomial-interpolation coefficients based on direction and boundary location.
subroutine, public s_cbc (q_prim_vf, flux_vf, flux_src_vf, cbc_dir_norm, cbc_loc_norm, ix, iy, iz)
 Apply characteristic boundary conditions by modifying fluxes near domain boundaries.
subroutine s_initialize_cbc (q_prim_vf, flux_vf, flux_src_vf, ix, iy, iz)
 Set up the selected CBC for the current boundary.
subroutine 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 s_any_cbc_boundaries (toggle)
 Detect whether any domain boundary uses characteristic boundary conditions.
impure subroutine, public s_finalize_cbc_module
 Module deallocation and/or disassociation procedures.

Variables

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

Detailed Description

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

Function/Subroutine Documentation

◆ s_any_cbc_boundaries()

elemental subroutine m_cbc::s_any_cbc_boundaries ( logical, intent(inout) toggle)

Detect whether any domain boundary uses characteristic boundary conditions.

Definition at line 6330 of file m_cbc.fpp.f90.

Here is the caller graph for this function:

◆ s_associate_cbc_coefficients_pointers()

subroutine m_cbc::s_associate_cbc_coefficients_pointers ( integer, intent(in) cbc_dir_in,
integer, intent(in) cbc_loc_in )

Associate CBC finite-difference and polynomial-interpolation coefficients based on direction and boundary location.

Definition at line 2280 of file m_cbc.fpp.f90.

Here is the caller graph for this function:

◆ s_cbc()

subroutine, public m_cbc::s_cbc ( type(scalar_field), dimension(sys_size), intent(in) q_prim_vf,
type(scalar_field), dimension(sys_size), intent(inout) flux_vf,
type(scalar_field), dimension(sys_size), intent(inout) flux_src_vf,
integer, intent(in) cbc_dir_norm,
integer, intent(in) cbc_loc_norm,
type(int_bounds_info), intent(in) ix,
type(int_bounds_info), intent(in) iy,
type(int_bounds_info), intent(in) iz )

Apply characteristic boundary conditions by modifying fluxes near domain boundaries.

gamma_method = 1: Ref. Section 2.3.1 Formulation of doi:10.7907/ZKW8-ES97.

gamma_method = 2: c_p / c_v where c_p, c_v are specific heats.

gamma_method = 1: Ref. Section 2.3.1 Formulation of doi:10.7907/ZKW8-ES97.

gamma_method = 2: c_p / c_v where c_p, c_v are specific heats.

gamma_method = 1: Ref. Section 2.3.1 Formulation of doi:10.7907/ZKW8-ES97.

gamma_method = 2: c_p / c_v where c_p, c_v are specific heats.

Definition at line 2343 of file m_cbc.fpp.f90.

Here is the call graph for this function:

◆ s_compute_cbc_coefficients()

subroutine m_cbc::s_compute_cbc_coefficients ( integer, intent(in) cbc_dir_in,
integer, intent(in) cbc_loc_in )

Compute CBC coefficients.

Definition at line 2096 of file m_cbc.fpp.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ s_finalize_cbc()

subroutine m_cbc::s_finalize_cbc ( type(scalar_field), dimension(sys_size), intent(inout) flux_vf,
type(scalar_field), dimension(sys_size), intent(inout) flux_src_vf )

Deallocation and/or the disassociation procedures that are necessary in order to finalize the CBC application.

Definition at line 5797 of file m_cbc.fpp.f90.

Here is the caller graph for this function:

◆ s_finalize_cbc_module()

impure subroutine, public m_cbc::s_finalize_cbc_module

Module deallocation and/or disassociation procedures.

Definition at line 6377 of file m_cbc.fpp.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ s_initialize_cbc()

subroutine m_cbc::s_initialize_cbc ( type(scalar_field), dimension(sys_size), intent(in) q_prim_vf,
type(scalar_field), dimension(sys_size), intent(in) flux_vf,
type(scalar_field), dimension(sys_size), intent(in) flux_src_vf,
type(int_bounds_info), intent(in) ix,
type(int_bounds_info), intent(in) iy,
type(int_bounds_info), intent(in) iz )

Set up the selected CBC for the current boundary.

Definition at line 4984 of file m_cbc.fpp.f90.

Here is the caller graph for this function:

◆ s_initialize_cbc_module()

impure subroutine, public m_cbc::s_initialize_cbc_module

Initialize the CBC module.

Definition at line 508 of file m_cbc.fpp.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ alpha_in

real(wp), dimension(:,:), allocatable m_cbc::alpha_in

Definition at line 470 of file m_cbc.fpp.f90.

◆ alpha_rho_in

real(wp), dimension(:,:), allocatable m_cbc::alpha_rho_in

Definition at line 470 of file m_cbc.fpp.f90.

◆ bcxb

integer m_cbc::bcxb

Definition at line 439 of file m_cbc.fpp.f90.

◆ bcxe

integer m_cbc::bcxe

Definition at line 439 of file m_cbc.fpp.f90.

◆ bcyb

integer m_cbc::bcyb

Definition at line 439 of file m_cbc.fpp.f90.

◆ bcye

integer m_cbc::bcye

Definition at line 439 of file m_cbc.fpp.f90.

◆ bczb

integer m_cbc::bczb

Definition at line 439 of file m_cbc.fpp.f90.

◆ bcze

integer m_cbc::bcze

Definition at line 439 of file m_cbc.fpp.f90.

◆ cbc_dir

integer m_cbc::cbc_dir

Definition at line 440 of file m_cbc.fpp.f90.

◆ cbc_loc

integer m_cbc::cbc_loc

Definition at line 440 of file m_cbc.fpp.f90.

◆ del_in

real(wp), dimension(:), allocatable m_cbc::del_in

Definition at line 468 of file m_cbc.fpp.f90.

◆ del_out

real(wp), dimension(:), allocatable m_cbc::del_out

Definition at line 468 of file m_cbc.fpp.f90.

◆ dj

integer m_cbc::dj

Definition at line 438 of file m_cbc.fpp.f90.

◆ ds

real(wp), dimension(:), allocatable m_cbc::ds

Cell-width distribution in the s-direction.

Definition at line 399 of file m_cbc.fpp.f90.

◆ f_rsx_vf

real(wp), dimension(:,:,:,:), allocatable m_cbc::f_rsx_vf

Definition at line 365 of file m_cbc.fpp.f90.

◆ f_rsy_vf

real(wp), dimension(:,:,:,:), allocatable m_cbc::f_rsy_vf

Definition at line 366 of file m_cbc.fpp.f90.

◆ f_rsz_vf

real(wp), dimension(:,:,:,:), allocatable m_cbc::f_rsz_vf

Definition at line 367 of file m_cbc.fpp.f90.

◆ f_src_rsx_vf

real(wp), dimension(:,:,:,:), allocatable m_cbc::f_src_rsx_vf

Definition at line 365 of file m_cbc.fpp.f90.

◆ f_src_rsy_vf

real(wp), dimension(:,:,:,:), allocatable m_cbc::f_src_rsy_vf

Definition at line 366 of file m_cbc.fpp.f90.

◆ f_src_rsz_vf

real(wp), dimension(:,:,:,:), allocatable m_cbc::f_src_rsz_vf

Definition at line 367 of file m_cbc.fpp.f90.

◆ fd_coef_x

real(wp), dimension(:,:), allocatable m_cbc::fd_coef_x

Finite diff. coefficients x-dir.

Definition at line 402 of file m_cbc.fpp.f90.

◆ fd_coef_y

real(wp), dimension(:,:), allocatable m_cbc::fd_coef_y

Finite diff. coefficients y-dir.

Definition at line 403 of file m_cbc.fpp.f90.

◆ fd_coef_z

real(wp), dimension(:,:), allocatable m_cbc::fd_coef_z

Finite diff. coefficients, z-direction.

Definition at line 404 of file m_cbc.fpp.f90.

◆ flux_cbc_index

integer m_cbc::flux_cbc_index

Definition at line 441 of file m_cbc.fpp.f90.

◆ flux_rsx_vf_l

real(wp), dimension(:,:,:,:), allocatable m_cbc::flux_rsx_vf_l

Definition at line 384 of file m_cbc.fpp.f90.

◆ flux_rsy_vf_l

real(wp), dimension(:,:,:,:), allocatable m_cbc::flux_rsy_vf_l

Definition at line 385 of file m_cbc.fpp.f90.

◆ flux_rsz_vf_l

real(wp), dimension(:,:,:,:), allocatable m_cbc::flux_rsz_vf_l

Definition at line 386 of file m_cbc.fpp.f90.

◆ flux_src_rsx_vf_l

real(wp), dimension(:,:,:,:), allocatable m_cbc::flux_src_rsx_vf_l

Definition at line 384 of file m_cbc.fpp.f90.

◆ flux_src_rsy_vf_l

real(wp), dimension(:,:,:,:), allocatable m_cbc::flux_src_rsy_vf_l

Definition at line 385 of file m_cbc.fpp.f90.

◆ flux_src_rsz_vf_l

real(wp), dimension(:,:,:,:), allocatable m_cbc::flux_src_rsz_vf_l

Definition at line 386 of file m_cbc.fpp.f90.

◆ is1

type(int_bounds_info) m_cbc::is1

Definition at line 425 of file m_cbc.fpp.f90.

◆ is2

type(int_bounds_info) m_cbc::is2

Definition at line 425 of file m_cbc.fpp.f90.

◆ is3

type(int_bounds_info) m_cbc::is3

Indical bounds in the s1-, s2- and s3-directions.

Definition at line 425 of file m_cbc.fpp.f90.

◆ pi_coef_x

real(wp), dimension(:,:,:), allocatable m_cbc::pi_coef_x

Polynomial interpolant coefficients in x-dir.

Definition at line 407 of file m_cbc.fpp.f90.

◆ pi_coef_y

real(wp), dimension(:,:,:), allocatable m_cbc::pi_coef_y

Polynomial interpolant coefficients in y-dir.

Definition at line 408 of file m_cbc.fpp.f90.

◆ pi_coef_z

real(wp), dimension(:,:,:), allocatable m_cbc::pi_coef_z

Polynomial interpolant coefficients in z-dir.

Definition at line 409 of file m_cbc.fpp.f90.

◆ pres_in

real(wp), dimension(:), allocatable m_cbc::pres_in

Definition at line 468 of file m_cbc.fpp.f90.

◆ pres_out

real(wp), dimension(:), allocatable m_cbc::pres_out

Definition at line 468 of file m_cbc.fpp.f90.

◆ q_prim_rsx_vf

real(wp), dimension(:,:,:,:), allocatable m_cbc::q_prim_rsx_vf

Definition at line 347 of file m_cbc.fpp.f90.

◆ q_prim_rsy_vf

real(wp), dimension(:,:,:,:), allocatable m_cbc::q_prim_rsy_vf

Definition at line 348 of file m_cbc.fpp.f90.

◆ q_prim_rsz_vf

real(wp), dimension(:,:,:,:), allocatable m_cbc::q_prim_rsz_vf

Definition at line 349 of file m_cbc.fpp.f90.

◆ vel_in

real(wp), dimension(:,:), allocatable m_cbc::vel_in

Definition at line 469 of file m_cbc.fpp.f90.

◆ vel_out

real(wp), dimension(:,:), allocatable m_cbc::vel_out

Definition at line 469 of file m_cbc.fpp.f90.