|
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 |
| 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 | 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 | 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_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 | 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 | 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 | s_finalize_rhs_module |
| Module deallocation and/or disassociation procedures. | |
Variables | |
| type(vector_field) | q_cons_qp |
| type(vector_field) | q_prim_qp |
| type(scalar_field), dimension(:), allocatable | tau_re_vf |
| type(vector_field) | 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 | 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 |
| real(wp), dimension(:, :, :), allocatable | 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 | 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 gradient magnitude of volume fractions, located in gm_alpha_qp. | |
| 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 |
| type(vector_field), dimension(:), allocatable | gm_alphal_n |
| type(vector_field), dimension(:), allocatable | 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 | 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 ) |
Adds viscous, surface-tension, and species-diffusion source flux contributions to the RHS for a given direction.
Definition at line 8697 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 ) |
Accumulates advection source contributions from a given coordinate direction into the RHS.
Definition at line 7394 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 ) |
Computes the right-hand side of the semi-discrete governing equations for a single time stage.
Definition at line 6689 of file m_rhs.fpp.f90.
| impure subroutine, public m_rhs::s_finalize_rhs_module |
Module deallocation and/or disassociation procedures.
Definition at line 9909 of file m_rhs.fpp.f90.
| 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.
Definition at line 650 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 ) |
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.
| v_vf | Cell-average variables |
| vL_x | Left reconstructed cell-boundary values in x |
| vL_y | Left reconstructed cell-boundary values in y |
| vL_z | Left reconstructed cell-boundary values in z |
| vR_x | Right reconstructed cell-boundary values in x |
| vR_y | Right reconstructed cell-boundary values in y |
| vR_z | Right reconstructed cell-boundary values in z |
| norm_dir | Splitting coordinate direction |
Definition at line 9580 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 ) |
Performs first-order (piecewise constant) reconstruction of left and right cell-boundary values.
Definition at line 9674 of file m_rhs.fpp.f90.
| type(scalar_field) m_rhs::alf_sum |
Definition at line 581 of file m_rhs.fpp.f90.
| real(wp), dimension(:, :, :), allocatable m_rhs::alpha1 |
Definition at line 595 of file m_rhs.fpp.f90.
| real(wp), dimension(:, :, :), allocatable m_rhs::alpha2 |
Definition at line 595 of file m_rhs.fpp.f90.
| real(wp), dimension(:, :, :), allocatable m_rhs::blkmod1 |
Definition at line 595 of file m_rhs.fpp.f90.
| real(wp), dimension(:, :, :), allocatable m_rhs::blkmod2 |
Definition at line 595 of file m_rhs.fpp.f90.
| type(vector_field), dimension(:), allocatable m_rhs::dq_prim_dx_qp |
Definition at line 401 of file m_rhs.fpp.f90.
| type(vector_field), dimension(:), allocatable m_rhs::dq_prim_dy_qp |
Definition at line 401 of file m_rhs.fpp.f90.
| type(vector_field), dimension(:), allocatable m_rhs::dq_prim_dz_qp |
Definition at line 401 of file m_rhs.fpp.f90.
| type(vector_field), dimension(:), allocatable m_rhs::dql_prim_dx_n |
Definition at line 420 of file m_rhs.fpp.f90.
| type(vector_field), dimension(:), allocatable m_rhs::dql_prim_dy_n |
Definition at line 420 of file m_rhs.fpp.f90.
| type(vector_field), dimension(:), allocatable m_rhs::dql_prim_dz_n |
Definition at line 420 of file m_rhs.fpp.f90.
| real(wp), dimension(:, :, :, :), allocatable m_rhs::dql_rsx_vf |
Definition at line 597 of file m_rhs.fpp.f90.
| real(wp), dimension(:, :, :, :), allocatable m_rhs::dql_rsy_vf |
Definition at line 597 of file m_rhs.fpp.f90.
| real(wp), dimension(:, :, :, :), allocatable m_rhs::dql_rsz_vf |
Definition at line 597 of file m_rhs.fpp.f90.
| type(vector_field), dimension(:), allocatable m_rhs::dqr_prim_dx_n |
Definition at line 421 of file m_rhs.fpp.f90.
| type(vector_field), dimension(:), allocatable m_rhs::dqr_prim_dy_n |
Definition at line 421 of file m_rhs.fpp.f90.
| type(vector_field), dimension(:), allocatable m_rhs::dqr_prim_dz_n |
Definition at line 421 of file m_rhs.fpp.f90.
| real(wp), dimension(:, :, :, :), allocatable m_rhs::dqr_rsx_vf |
Definition at line 597 of file m_rhs.fpp.f90.
| real(wp), dimension(:, :, :, :), allocatable m_rhs::dqr_rsy_vf |
Definition at line 597 of file m_rhs.fpp.f90.
| real(wp), dimension(:, :, :, :), allocatable m_rhs::dqr_rsz_vf |
Definition at line 597 of file m_rhs.fpp.f90.
| type(vector_field), dimension(:), allocatable m_rhs::flux_gsrc_n |
Definition at line 504 of file m_rhs.fpp.f90.
| type(vector_field), dimension(:), allocatable m_rhs::flux_n |
Definition at line 502 of file m_rhs.fpp.f90.
| type(vector_field), dimension(:), allocatable m_rhs::flux_src_n |
Definition at line 503 of file m_rhs.fpp.f90.
| type(vector_field) m_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.
Definition at line 461 of file m_rhs.fpp.f90.
| type(vector_field), dimension(:), allocatable m_rhs::gm_alphal_n |
Definition at line 481 of file m_rhs.fpp.f90.
| type(vector_field), dimension(:), allocatable m_rhs::gm_alphar_n |
Definition at line 482 of file m_rhs.fpp.f90.
| type(int_bounds_info) m_rhs::irx |
Definition at line 552 of file m_rhs.fpp.f90.
| type(int_bounds_info) m_rhs::iry |
Definition at line 552 of file m_rhs.fpp.f90.
| type(int_bounds_info) m_rhs::irz |
Definition at line 552 of file m_rhs.fpp.f90.
| type(int_bounds_info) m_rhs::is1 |
Definition at line 565 of file m_rhs.fpp.f90.
| type(int_bounds_info) m_rhs::is2 |
Definition at line 565 of file m_rhs.fpp.f90.
| type(int_bounds_info) m_rhs::is3 |
Definition at line 565 of file m_rhs.fpp.f90.
| type(int_bounds_info) m_rhs::iv |
Vector field indical bounds.
Definition at line 537 of file m_rhs.fpp.f90.
| real(wp), dimension(:, :, :), allocatable m_rhs::kterm |
Definition at line 595 of file m_rhs.fpp.f90.
| real(wp), dimension(:, :, :), allocatable m_rhs::nbub |
Bubble number density.
Definition at line 632 of file m_rhs.fpp.f90.
| type(vector_field) m_rhs::q_cons_qp |
Definition at line 366 of file m_rhs.fpp.f90.
| type(vector_field) m_rhs::q_prim_qp |
Definition at line 382 of file m_rhs.fpp.f90.
| type(vector_field), dimension(:), allocatable m_rhs::ql_prim |
Definition at line 522 of file m_rhs.fpp.f90.
| real(wp), dimension(:, :, :, :), allocatable m_rhs::ql_rsx_vf |
Definition at line 596 of file m_rhs.fpp.f90.
| real(wp), dimension(:, :, :, :), allocatable m_rhs::ql_rsy_vf |
Definition at line 596 of file m_rhs.fpp.f90.
| real(wp), dimension(:, :, :, :), allocatable m_rhs::ql_rsz_vf |
Definition at line 596 of file m_rhs.fpp.f90.
| type(vector_field), dimension(:), allocatable m_rhs::qr_prim |
Definition at line 522 of file m_rhs.fpp.f90.
| real(wp), dimension(:, :, :, :), allocatable m_rhs::qr_rsx_vf |
Definition at line 596 of file m_rhs.fpp.f90.
| real(wp), dimension(:, :, :, :), allocatable m_rhs::qr_rsy_vf |
Definition at line 596 of file m_rhs.fpp.f90.
| real(wp), dimension(:, :, :, :), allocatable m_rhs::qr_rsz_vf |
Definition at line 596 of file m_rhs.fpp.f90.
| type(scalar_field), dimension(:), allocatable m_rhs::tau_re_vf |
Definition at line 448 of file m_rhs.fpp.f90.