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

Contains module m_rhs. More...

Go to the source code of this file.

Modules

module  m_rhs
 Assembles the right-hand side of the governing equations using finite-volume flux differencing, Riemann solvers, and physical source terms.

Functions/Subroutines

impure subroutine, public m_rhs::s_initialize_rhs_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.
impure subroutine, public m_rhs::s_compute_rhs (q_cons_vf, q_t_sf, q_prim_vf, bc_type, rhs_vf, pb_in, rhs_pb, mv_in, rhs_mv, t_step, time_avg, stage)
 Computes the right-hand side of the semi-discrete governing equations for a single time stage.
subroutine m_rhs::s_compute_advection_source_term (idir, rhs_vf, q_cons_vf, q_prim_vf, flux_src_n_vf)
 Accumulates advection source contributions from a given coordinate direction into the RHS.
subroutine s_add_directional_advection_source_terms (current_idir, rhs_vf_arg, q_cons_vf_arg, q_prim_vf_arg, flux_src_n_vf_arg, kterm_arg)
 Adds the advection source flux-difference terms for a single coordinate direction to the RHS.
subroutine m_rhs::s_compute_additional_physics_rhs (idir, q_prim_vf, rhs_vf, flux_src_n_in, dq_prim_dx_vf, dq_prim_dy_vf, dq_prim_dz_vf)
 Adds viscous, surface-tension, and species-diffusion source flux contributions to the RHS for a given direction.
subroutine m_rhs::s_reconstruct_cell_boundary_values (v_vf, vl_x, vl_y, vl_z, vr_x, vr_y, vr_z, norm_dir)
 The purpose of this subroutine is to WENO-reconstruct the left and the right cell-boundary values, including values at the Gaussian quadrature points, from the cell-averaged variables.
subroutine m_rhs::s_reconstruct_cell_boundary_values_first_order (v_vf, vl_x, vl_y, vl_z, vr_x, vr_y, vr_z, norm_dir)
 Performs first-order (piecewise constant) reconstruction of left and right cell-boundary values.
impure subroutine, public m_rhs::s_finalize_rhs_module
 Module deallocation and/or disassociation procedures.

Variables

type(vector_fieldm_rhs::q_cons_qp
type(vector_fieldm_rhs::q_prim_qp
type(scalar_field), dimension(:), allocatable m_rhs::tau_re_vf
type(vector_fieldm_rhs::gm_alpha_qp
 The gradient magnitude of the volume fractions at cell-interior Gaussian quadrature points. gm_alpha_qp is calculated from individual first-order spatial derivatives located in dq_prim_ds_qp.
type(vector_field), dimension(:), allocatable m_rhs::ql_prim
type(vector_field), dimension(:), allocatable m_rhs::qr_prim
type(int_bounds_infom_rhs::iv
 Vector field indical bounds.
real(wp), dimension(:, :, :), allocatable m_rhs::blkmod1
real(wp), dimension(:, :, :), allocatable m_rhs::blkmod2
real(wp), dimension(:, :, :), allocatable m_rhs::alpha1
real(wp), dimension(:, :, :), allocatable m_rhs::alpha2
real(wp), dimension(:, :, :), allocatable m_rhs::kterm
real(wp), dimension(:, :, :, :), allocatable m_rhs::ql_rsx_vf
real(wp), dimension(:, :, :, :), allocatable m_rhs::ql_rsy_vf
real(wp), dimension(:, :, :, :), allocatable m_rhs::ql_rsz_vf
real(wp), dimension(:, :, :, :), allocatable m_rhs::qr_rsx_vf
real(wp), dimension(:, :, :, :), allocatable m_rhs::qr_rsy_vf
real(wp), dimension(:, :, :, :), allocatable m_rhs::qr_rsz_vf
real(wp), dimension(:, :, :, :), allocatable m_rhs::dql_rsx_vf
real(wp), dimension(:, :, :, :), allocatable m_rhs::dql_rsy_vf
real(wp), dimension(:, :, :, :), allocatable m_rhs::dql_rsz_vf
real(wp), dimension(:, :, :, :), allocatable m_rhs::dqr_rsx_vf
real(wp), dimension(:, :, :, :), allocatable m_rhs::dqr_rsy_vf
real(wp), dimension(:, :, :, :), allocatable m_rhs::dqr_rsz_vf
real(wp), dimension(:, :, :), allocatable m_rhs::nbub
 Bubble number density.
The first-order spatial derivatives of the primitive variables at cell-

interior Gaussian quadrature points. These are WENO-reconstructed from their respective cell-average values, obtained through the application of the divergence theorem on the integral-average cell-boundary values of the primitive variables, located in qK_prim_n, where K = L or R.

type(vector_field), dimension(:), allocatable m_rhs::dq_prim_dx_qp
type(vector_field), dimension(:), allocatable m_rhs::dq_prim_dy_qp
type(vector_field), dimension(:), allocatable m_rhs::dq_prim_dz_qp
The left and right WENO-reconstructed cell-boundary values of the cell-

average gradient magnitude of volume fractions, located in gm_alpha_qp.

type(vector_field), dimension(:), allocatable m_rhs::dql_prim_dx_n
type(vector_field), dimension(:), allocatable m_rhs::dql_prim_dy_n
type(vector_field), dimension(:), allocatable m_rhs::dql_prim_dz_n
type(vector_field), dimension(:), allocatable m_rhs::dqr_prim_dx_n
type(vector_field), dimension(:), allocatable m_rhs::dqr_prim_dy_n
type(vector_field), dimension(:), allocatable m_rhs::dqr_prim_dz_n
type(vector_field), dimension(:), allocatable m_rhs::gm_alphal_n
type(vector_field), dimension(:), allocatable m_rhs::gm_alphar_n
The cell-boundary values of the fluxes (src - source, gsrc - geometrical

source). These are computed by applying the chosen Riemann problem solver .on the left and right cell-boundary values of the primitive variables

type(vector_field), dimension(:), allocatable m_rhs::flux_n
type(vector_field), dimension(:), allocatable m_rhs::flux_src_n
type(vector_field), dimension(:), allocatable m_rhs::flux_gsrc_n
Indical bounds in the x-, y- and z-directions
type(int_bounds_infom_rhs::irx
type(int_bounds_infom_rhs::iry
type(int_bounds_infom_rhs::irz
type(int_bounds_infom_rhs::is1
type(int_bounds_infom_rhs::is2
type(int_bounds_infom_rhs::is3
Saved fluxes for testing
type(scalar_fieldm_rhs::alf_sum

Detailed Description

Contains module m_rhs.

Definition in file m_rhs.fpp.f90.

Function/Subroutine Documentation

◆ s_add_directional_advection_source_terms()

subroutine s_compute_advection_source_term::s_add_directional_advection_source_terms ( integer, intent(in) current_idir,
type(scalar_field), dimension(sys_size), intent(inout) rhs_vf_arg,
type(vector_field), intent(in) q_cons_vf_arg,
type(vector_field), intent(in) q_prim_vf_arg,
type(vector_field), intent(in) flux_src_n_vf_arg,
real(wp), dimension(:, :, :), intent(in), allocatable kterm_arg )
private

Adds the advection source flux-difference terms for a single coordinate direction to the RHS.

Definition at line 8013 of file m_rhs.fpp.f90.

Here is the caller graph for this function: