|
MFC
Exascale flow solver
|
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_field) | q_cons_qp |
| WENO-reconstructed cell-average conservative variables at quadrature points. | |
| type(vector_field) | q_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_info) | iv |
| 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_info) | irx |
| type(int_bounds_info) | iry |
| type(int_bounds_info) | irz |
| type(int_bounds_info) | is1 |
| type(int_bounds_info) | is2 |
| type(int_bounds_info) | is3 |
Saved fluxes for testing | |
| type(scalar_field) | alf_sum |
Assembles the right-hand side of the governing equations using finite-volume flux differencing, Riemann solvers, and physical source terms.
| 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.
| 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.
| 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.
| 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.
| impure subroutine, public m_rhs::s_initialize_rhs_module |
Initialize the RHS module.
Definition at line 584 of file m_rhs.fpp.f90.
| 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.
| 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.
| type(scalar_field) m_rhs::alf_sum |
Definition at line 530 of file m_rhs.fpp.f90.
| real(wp), dimension(:,:,:), allocatable m_rhs::alpha1 |
Definition at line 544 of file m_rhs.fpp.f90.
| real(wp), dimension(:,:,:), allocatable m_rhs::alpha2 |
Definition at line 544 of file m_rhs.fpp.f90.
| real(wp), dimension(:,:,:), allocatable m_rhs::blkmod1 |
Definition at line 544 of file m_rhs.fpp.f90.
| real(wp), dimension(:,:,:), allocatable m_rhs::blkmod2 |
Definition at line 544 of file m_rhs.fpp.f90.
| type(vector_field), dimension(:), allocatable m_rhs::dq_prim_dx_qp |
Definition at line 390 of file m_rhs.fpp.f90.
| type(vector_field), dimension(:), allocatable m_rhs::dq_prim_dy_qp |
Definition at line 390 of file m_rhs.fpp.f90.
| type(vector_field), dimension(:), allocatable m_rhs::dq_prim_dz_qp |
Definition at line 390 of file m_rhs.fpp.f90.
| type(vector_field), dimension(:), allocatable m_rhs::dql_prim_dx_n |
Definition at line 408 of file m_rhs.fpp.f90.
| type(vector_field), dimension(:), allocatable m_rhs::dql_prim_dy_n |
Definition at line 408 of file m_rhs.fpp.f90.
| type(vector_field), dimension(:), allocatable m_rhs::dql_prim_dz_n |
Definition at line 408 of file m_rhs.fpp.f90.
| real(wp), dimension(:,:,:,:), allocatable m_rhs::dql_rsx_vf |
Definition at line 546 of file m_rhs.fpp.f90.
| real(wp), dimension(:,:,:,:), allocatable m_rhs::dql_rsy_vf |
Definition at line 546 of file m_rhs.fpp.f90.
| real(wp), dimension(:,:,:,:), allocatable m_rhs::dql_rsz_vf |
Definition at line 546 of file m_rhs.fpp.f90.
| type(vector_field), dimension(:), allocatable m_rhs::dqr_prim_dx_n |
Definition at line 409 of file m_rhs.fpp.f90.
| type(vector_field), dimension(:), allocatable m_rhs::dqr_prim_dy_n |
Definition at line 409 of file m_rhs.fpp.f90.
| type(vector_field), dimension(:), allocatable m_rhs::dqr_prim_dz_n |
Definition at line 409 of file m_rhs.fpp.f90.
| real(wp), dimension(:,:,:,:), allocatable m_rhs::dqr_rsx_vf |
Definition at line 546 of file m_rhs.fpp.f90.
| real(wp), dimension(:,:,:,:), allocatable m_rhs::dqr_rsy_vf |
Definition at line 546 of file m_rhs.fpp.f90.
| real(wp), dimension(:,:,:,:), allocatable m_rhs::dqr_rsz_vf |
Definition at line 546 of file m_rhs.fpp.f90.
| type(vector_field), dimension(:), allocatable m_rhs::flux_gsrc_n |
Definition at line 454 of file m_rhs.fpp.f90.
| type(vector_field), dimension(:), allocatable m_rhs::flux_n |
Definition at line 452 of file m_rhs.fpp.f90.
| type(vector_field), dimension(:), allocatable m_rhs::flux_src_n |
Definition at line 453 of file m_rhs.fpp.f90.
| type(int_bounds_info) m_rhs::irx |
Definition at line 501 of file m_rhs.fpp.f90.
| type(int_bounds_info) m_rhs::iry |
Definition at line 501 of file m_rhs.fpp.f90.
| type(int_bounds_info) m_rhs::irz |
Definition at line 501 of file m_rhs.fpp.f90.
| type(int_bounds_info) m_rhs::is1 |
Definition at line 514 of file m_rhs.fpp.f90.
| type(int_bounds_info) m_rhs::is2 |
Definition at line 514 of file m_rhs.fpp.f90.
| type(int_bounds_info) m_rhs::is3 |
Definition at line 514 of file m_rhs.fpp.f90.
| type(int_bounds_info) m_rhs::iv |
Vector field indical bounds.
Definition at line 486 of file m_rhs.fpp.f90.
| real(wp), dimension(:,:,:), allocatable m_rhs::kterm |
Definition at line 544 of file m_rhs.fpp.f90.
| 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.
| 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.
| type(vector_field), dimension(:), allocatable m_rhs::ql_prim |
Definition at line 471 of file m_rhs.fpp.f90.
| real(wp), dimension(:,:,:,:), allocatable m_rhs::ql_rsx_vf |
Definition at line 545 of file m_rhs.fpp.f90.
| real(wp), dimension(:,:,:,:), allocatable m_rhs::ql_rsy_vf |
Definition at line 545 of file m_rhs.fpp.f90.
| real(wp), dimension(:,:,:,:), allocatable m_rhs::ql_rsz_vf |
Definition at line 545 of file m_rhs.fpp.f90.
| type(vector_field), dimension(:), allocatable m_rhs::qr_prim |
Definition at line 471 of file m_rhs.fpp.f90.
| real(wp), dimension(:,:,:,:), allocatable m_rhs::qr_rsx_vf |
Definition at line 545 of file m_rhs.fpp.f90.
| real(wp), dimension(:,:,:,:), allocatable m_rhs::qr_rsy_vf |
Definition at line 545 of file m_rhs.fpp.f90.
| real(wp), dimension(:,:,:,:), allocatable m_rhs::qr_rsz_vf |
Definition at line 545 of file m_rhs.fpp.f90.
| type(scalar_field), dimension(:), allocatable m_rhs::tau_re_vf |
Definition at line 436 of file m_rhs.fpp.f90.