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

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

Functions/Subroutines

impure subroutine, public s_initialize_rhs_module
 Initialize the RHS module.
impure subroutine, public 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)
 Compute the right-hand side of the semi-discrete governing equations for a single time stage.
subroutine s_compute_advection_source_term (idir, rhs_vf, q_cons_vf, q_prim_vf, flux_src_n_vf)
 Accumulate advection source contributions from a given coordinate direction into the RHS.
subroutine 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)
 Add viscous, surface-tension, and species-diffusion source flux contributions to the RHS for a given direction.
subroutine s_reconstruct_cell_boundary_values (v_vf, vl_x, vl_y, vl_z, vr_x, vr_y, vr_z, norm_dir)
 Reconstruct left and right cell-boundary values from cell-averaged variables.
subroutine s_reconstruct_cell_boundary_values_first_order (v_vf, vl_x, vl_y, vl_z, vr_x, vr_y, vr_z, norm_dir)
 Perform first-order (piecewise constant) reconstruction of left and right cell-boundary values.
impure subroutine, public s_finalize_rhs_module
 Module deallocation and/or disassociation procedures.

Variables

type(vector_fieldq_cons_qp
 WENO-reconstructed cell-average conservative variables at quadrature points.
type(vector_fieldq_prim_qp
 Primitive variables at cell-interior quadrature points.
type(scalar_field), dimension(:), allocatable tau_re_vf
type(vector_field), dimension(:), allocatable ql_prim
type(vector_field), dimension(:), allocatable qr_prim
type(int_bounds_infoiv
 Vector field indical bounds.
real(wp), dimension(:,:,:), allocatable blkmod1
real(wp), dimension(:,:,:), allocatable blkmod2
real(wp), dimension(:,:,:), allocatable alpha1
real(wp), dimension(:,:,:), allocatable alpha2
real(wp), dimension(:,:,:), allocatable kterm
real(wp), dimension(:,:,:,:), allocatable ql_rsx_vf
real(wp), dimension(:,:,:,:), allocatable ql_rsy_vf
real(wp), dimension(:,:,:,:), allocatable ql_rsz_vf
real(wp), dimension(:,:,:,:), allocatable qr_rsx_vf
real(wp), dimension(:,:,:,:), allocatable qr_rsy_vf
real(wp), dimension(:,:,:,:), allocatable qr_rsz_vf
real(wp), dimension(:,:,:,:), allocatable dql_rsx_vf
real(wp), dimension(:,:,:,:), allocatable dql_rsy_vf
real(wp), dimension(:,:,:,:), allocatable dql_rsz_vf
real(wp), dimension(:,:,:,:), allocatable dqr_rsx_vf
real(wp), dimension(:,:,:,:), allocatable dqr_rsy_vf
real(wp), dimension(:,:,:,:), allocatable dqr_rsz_vf
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 dq_prim_dx_qp
type(vector_field), dimension(:), allocatable dq_prim_dy_qp
type(vector_field), dimension(:), allocatable dq_prim_dz_qp
The left and right WENO-reconstructed cell-boundary values of the cell- average first-order spatial derivatives of the

primitive variables. The cell-average of the first-order spatial derivatives may be found in the variables dq_prim_ds_qp, where s = x, y or z.

type(vector_field), dimension(:), allocatable dql_prim_dx_n
type(vector_field), dimension(:), allocatable dql_prim_dy_n
type(vector_field), dimension(:), allocatable dql_prim_dz_n
type(vector_field), dimension(:), allocatable dqr_prim_dx_n
type(vector_field), dimension(:), allocatable dqr_prim_dy_n
type(vector_field), dimension(:), allocatable dqr_prim_dz_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 flux_n
type(vector_field), dimension(:), allocatable flux_src_n
type(vector_field), dimension(:), allocatable flux_gsrc_n
Indical bounds in the x-, y- and z-directions
type(int_bounds_infoirx
type(int_bounds_infoiry
type(int_bounds_infoirz
type(int_bounds_infois1
type(int_bounds_infois2
type(int_bounds_infois3
Saved fluxes for testing
type(scalar_fieldalf_sum

Detailed Description

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

Function/Subroutine Documentation

◆ s_compute_additional_physics_rhs()

subroutine m_rhs::s_compute_additional_physics_rhs ( integer, intent(in) idir,
type(scalar_field), dimension(sys_size), intent(in) q_prim_vf,
type(scalar_field), dimension(sys_size), intent(inout) rhs_vf,
type(scalar_field), dimension(sys_size), intent(in) flux_src_n_in,
type(scalar_field), dimension(sys_size), intent(in) dq_prim_dx_vf,
type(scalar_field), dimension(sys_size), intent(in) dq_prim_dy_vf,
type(scalar_field), dimension(sys_size), intent(in) dq_prim_dz_vf )

Add viscous, surface-tension, and species-diffusion source flux contributions to the RHS for a given direction.

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

Here is the caller graph for this function:

◆ s_compute_advection_source_term()

subroutine m_rhs::s_compute_advection_source_term ( integer, intent(in) idir,
type(scalar_field), dimension(sys_size), intent(inout) rhs_vf,
type(vector_field), intent(inout) q_cons_vf,
type(vector_field), intent(inout) q_prim_vf,
type(vector_field), intent(inout) flux_src_n_vf )

Accumulate advection source contributions from a given coordinate direction into the RHS.

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

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

◆ s_compute_rhs()

impure subroutine, public m_rhs::s_compute_rhs ( type(scalar_field), dimension(sys_size), intent(inout) q_cons_vf,
type(scalar_field), intent(inout) q_t_sf,
type(scalar_field), dimension(sys_size), intent(inout) q_prim_vf,
type(integer_field), dimension(1:num_dims,1:2), intent(in) bc_type,
type(scalar_field), dimension(sys_size), intent(inout) rhs_vf,
real(stp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:), intent(inout) pb_in,
real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:), intent(inout) rhs_pb,
real(stp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:), intent(inout) mv_in,
real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:,1:), intent(inout) rhs_mv,
integer, intent(in) t_step,
real(wp), intent(inout) time_avg,
integer, intent(in) stage )

Compute the right-hand side of the semi-discrete governing equations for a single time stage.

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

Here is the call graph for this function:

◆ s_finalize_rhs_module()

impure subroutine, public m_rhs::s_finalize_rhs_module

Module deallocation and/or disassociation procedures.

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

Here is the caller graph for this function:

◆ s_initialize_rhs_module()

impure subroutine, public m_rhs::s_initialize_rhs_module

Initialize the RHS module.

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

Here is the caller graph for this function:

◆ s_reconstruct_cell_boundary_values()

subroutine m_rhs::s_reconstruct_cell_boundary_values ( type(scalar_field), dimension(iv%beg:iv%end), intent(in) v_vf,
real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) vl_x,
real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) vl_y,
real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) vl_z,
real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) vr_x,
real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) vr_y,
real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) vr_z,
integer, intent(in) norm_dir )

Reconstruct left and right cell-boundary values from cell-averaged variables.

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

Here is the caller graph for this function:

◆ s_reconstruct_cell_boundary_values_first_order()

subroutine m_rhs::s_reconstruct_cell_boundary_values_first_order ( type(scalar_field), dimension(iv%beg:iv%end), intent(in) v_vf,
real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) vl_x,
real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) vl_y,
real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) vl_z,
real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) vr_x,
real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) vr_y,
real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) vr_z,
integer, intent(in) norm_dir )

Perform first-order (piecewise constant) reconstruction of left and right cell-boundary values.

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

Here is the caller graph for this function:

Variable Documentation

◆ alf_sum

type(scalar_field) m_rhs::alf_sum

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

◆ alpha1

real(wp), dimension(:,:,:), allocatable m_rhs::alpha1

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

◆ alpha2

real(wp), dimension(:,:,:), allocatable m_rhs::alpha2

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

◆ blkmod1

real(wp), dimension(:,:,:), allocatable m_rhs::blkmod1

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

◆ blkmod2

real(wp), dimension(:,:,:), allocatable m_rhs::blkmod2

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

◆ dq_prim_dx_qp

type(vector_field), dimension(:), allocatable m_rhs::dq_prim_dx_qp

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

◆ dq_prim_dy_qp

type(vector_field), dimension(:), allocatable m_rhs::dq_prim_dy_qp

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

◆ dq_prim_dz_qp

type(vector_field), dimension(:), allocatable m_rhs::dq_prim_dz_qp

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

◆ dql_prim_dx_n

type(vector_field), dimension(:), allocatable m_rhs::dql_prim_dx_n

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

◆ dql_prim_dy_n

type(vector_field), dimension(:), allocatable m_rhs::dql_prim_dy_n

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

◆ dql_prim_dz_n

type(vector_field), dimension(:), allocatable m_rhs::dql_prim_dz_n

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

◆ dql_rsx_vf

real(wp), dimension(:,:,:,:), allocatable m_rhs::dql_rsx_vf

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

◆ dql_rsy_vf

real(wp), dimension(:,:,:,:), allocatable m_rhs::dql_rsy_vf

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

◆ dql_rsz_vf

real(wp), dimension(:,:,:,:), allocatable m_rhs::dql_rsz_vf

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

◆ dqr_prim_dx_n

type(vector_field), dimension(:), allocatable m_rhs::dqr_prim_dx_n

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

◆ dqr_prim_dy_n

type(vector_field), dimension(:), allocatable m_rhs::dqr_prim_dy_n

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

◆ dqr_prim_dz_n

type(vector_field), dimension(:), allocatable m_rhs::dqr_prim_dz_n

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

◆ dqr_rsx_vf

real(wp), dimension(:,:,:,:), allocatable m_rhs::dqr_rsx_vf

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

◆ dqr_rsy_vf

real(wp), dimension(:,:,:,:), allocatable m_rhs::dqr_rsy_vf

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

◆ dqr_rsz_vf

real(wp), dimension(:,:,:,:), allocatable m_rhs::dqr_rsz_vf

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

◆ flux_gsrc_n

type(vector_field), dimension(:), allocatable m_rhs::flux_gsrc_n

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

◆ flux_n

type(vector_field), dimension(:), allocatable m_rhs::flux_n

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

◆ flux_src_n

type(vector_field), dimension(:), allocatable m_rhs::flux_src_n

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

◆ irx

type(int_bounds_info) m_rhs::irx

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

◆ iry

type(int_bounds_info) m_rhs::iry

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

◆ irz

type(int_bounds_info) m_rhs::irz

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

◆ is1

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

◆ is2

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

◆ is3

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

◆ iv

type(int_bounds_info) m_rhs::iv

Vector field indical bounds.

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

◆ kterm

real(wp), dimension(:,:,:), allocatable m_rhs::kterm

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

◆ q_cons_qp

type(vector_field) m_rhs::q_cons_qp

WENO-reconstructed cell-average conservative variables at quadrature points.

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

◆ q_prim_qp

type(vector_field) m_rhs::q_prim_qp

Primitive variables at cell-interior quadrature points.

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

◆ ql_prim

type(vector_field), dimension(:), allocatable m_rhs::ql_prim

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

◆ ql_rsx_vf

real(wp), dimension(:,:,:,:), allocatable m_rhs::ql_rsx_vf

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

◆ ql_rsy_vf

real(wp), dimension(:,:,:,:), allocatable m_rhs::ql_rsy_vf

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

◆ ql_rsz_vf

real(wp), dimension(:,:,:,:), allocatable m_rhs::ql_rsz_vf

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

◆ qr_prim

type(vector_field), dimension(:), allocatable m_rhs::qr_prim

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

◆ qr_rsx_vf

real(wp), dimension(:,:,:,:), allocatable m_rhs::qr_rsx_vf

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

◆ qr_rsy_vf

real(wp), dimension(:,:,:,:), allocatable m_rhs::qr_rsy_vf

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

◆ qr_rsz_vf

real(wp), dimension(:,:,:,:), allocatable m_rhs::qr_rsz_vf

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

◆ tau_re_vf

type(scalar_field), dimension(:), allocatable m_rhs::tau_re_vf

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