|
| subroutine, public | m_riemann_solvers::s_riemann_solver (ql_prim_rsx_vf, ql_prim_rsy_vf, ql_prim_rsz_vf, dql_prim_dx_vf, dql_prim_dy_vf, dql_prim_dz_vf, ql_prim_vf, qr_prim_rsx_vf, qr_prim_rsy_vf, qr_prim_rsz_vf, dqr_prim_dx_vf, dqr_prim_dy_vf, dqr_prim_dz_vf, qr_prim_vf, q_prim_vf, flux_vf, flux_src_vf, flux_gsrc_vf, norm_dir, ix, iy, iz) |
| | Dispatch to the subroutines that are utilized to compute the Riemann problem solution. For additional information please reference: 1) s_hll_riemann_solver 2) s_hllc_riemann_solver 3) s_exact_riemann_solver 4) s_hlld_riemann_solver.
|
| |
| subroutine | m_riemann_solvers::s_compute_viscous_source_flux (vell_vf, dvell_dx_vf, dvell_dy_vf, dvell_dz_vf, velr_vf, dvelr_dx_vf, dvelr_dy_vf, dvelr_dz_vf, flux_src_vf, norm_dir, ix, iy, iz) |
| | Dispatch to the subroutines that are utilized to compute the viscous source fluxes for either Cartesian or cylindrical geometries. For more information please refer to: 1) s_compute_cartesian_viscous_source_flux 2) s_compute_cylindrical_viscous_source_flux.
|
| |
| subroutine, public | m_riemann_solvers::s_hll_riemann_solver (ql_prim_rsx_vf, ql_prim_rsy_vf, ql_prim_rsz_vf, dql_prim_dx_vf, dql_prim_dy_vf, dql_prim_dz_vf, ql_prim_vf, qr_prim_rsx_vf, qr_prim_rsy_vf, qr_prim_rsz_vf, dqr_prim_dx_vf, dqr_prim_dy_vf, dqr_prim_dz_vf, qr_prim_vf, q_prim_vf, flux_vf, flux_src_vf, flux_gsrc_vf, norm_dir, ix, iy, iz) |
| |
| subroutine, public | m_riemann_solvers::s_lf_riemann_solver (ql_prim_rsx_vf, ql_prim_rsy_vf, ql_prim_rsz_vf, dql_prim_dx_vf, dql_prim_dy_vf, dql_prim_dz_vf, ql_prim_vf, qr_prim_rsx_vf, qr_prim_rsy_vf, qr_prim_rsz_vf, dqr_prim_dx_vf, dqr_prim_dy_vf, dqr_prim_dz_vf, qr_prim_vf, q_prim_vf, flux_vf, flux_src_vf, flux_gsrc_vf, norm_dir, ix, iy, iz) |
| |
| subroutine, public | m_riemann_solvers::s_hllc_riemann_solver (ql_prim_rsx_vf, ql_prim_rsy_vf, ql_prim_rsz_vf, dql_prim_dx_vf, dql_prim_dy_vf, dql_prim_dz_vf, ql_prim_vf, qr_prim_rsx_vf, qr_prim_rsy_vf, qr_prim_rsz_vf, dqr_prim_dx_vf, dqr_prim_dy_vf, dqr_prim_dz_vf, qr_prim_vf, q_prim_vf, flux_vf, flux_src_vf, flux_gsrc_vf, norm_dir, ix, iy, iz) |
| | This procedure is the implementation of the Harten, Lax, van Leer, and contact (HLLC) approximate Riemann solver, see Toro (1999) and Johnsen (2007). The viscous and the surface tension effects have been included by modifying the exact Riemann solver of Perigaud and Saurel (2005).
|
| |
| subroutine, public | m_riemann_solvers::s_hlld_riemann_solver (ql_prim_rsx_vf, ql_prim_rsy_vf, ql_prim_rsz_vf, dql_prim_dx_vf, dql_prim_dy_vf, dql_prim_dz_vf, ql_prim_vf, qr_prim_rsx_vf, qr_prim_rsy_vf, qr_prim_rsz_vf, dqr_prim_dx_vf, dqr_prim_dy_vf, dqr_prim_dz_vf, qr_prim_vf, q_prim_vf, flux_vf, flux_src_vf, flux_gsrc_vf, norm_dir, ix, iy, iz) |
| | HLLD Riemann solver resolves 5 of the 7 waves of MHD equations: 1 entropy wave, 2 Alfvén waves, 2 fast magnetosonic waves.
|
| |
| impure subroutine, public | m_riemann_solvers::s_initialize_riemann_solvers_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.
|
| |
| subroutine | m_riemann_solvers::s_populate_riemann_states_variables_buffers (ql_prim_rsx_vf, ql_prim_rsy_vf, ql_prim_rsz_vf, dql_prim_dx_vf, dql_prim_dy_vf, dql_prim_dz_vf, qr_prim_rsx_vf, qr_prim_rsy_vf, qr_prim_rsz_vf, dqr_prim_dx_vf, dqr_prim_dy_vf, dqr_prim_dz_vf, norm_dir, ix, iy, iz) |
| | The purpose of this subroutine is to populate the buffers of the left and right Riemann states variables, depending on the boundary conditions.
|
| |
| subroutine | m_riemann_solvers::s_initialize_riemann_solver (flux_src_vf, norm_dir) |
| | The computation of parameters, the allocation of memory, the association of pointers and/or the execution of any other procedures needed to configure the chosen Riemann solver algorithm.
|
| |
| subroutine | m_riemann_solvers::s_compute_cylindrical_viscous_source_flux (vell_vf, dvell_dx_vf, dvell_dy_vf, dvell_dz_vf, velr_vf, dvelr_dx_vf, dvelr_dy_vf, dvelr_dz_vf, flux_src_vf, norm_dir, ix, iy, iz) |
| | Computes cylindrical viscous source flux contributions for momentum and energy. Calculates Cartesian components of the stress tensor using averaged velocity derivatives and cylindrical geometric factors, then updates flux_src_vf. Assumes x-dir is axial (z_cyl), y-dir is radial (r_cyl), z-dir is azimuthal (theta_cyl for derivatives).
|
| |
| subroutine | m_riemann_solvers::s_compute_cartesian_viscous_source_flux (dvell_dx_vf, dvell_dy_vf, dvell_dz_vf, dvelr_dx_vf, dvelr_dy_vf, dvelr_dz_vf, flux_src_vf, norm_dir) |
| | Computes Cartesian viscous source flux contributions for momentum and energy. Calculates averaged velocity gradients, gets Re and interface velocities, calls helpers for shear/bulk stress, then updates flux_src_vf.
|
| |
| subroutine | m_riemann_solvers::s_calculate_shear_stress_tensor (vel_grad_avg, re_shear, divergence_v, tau_shear_out) |
| | Calculates shear stress tensor components. tau_ij_shear = ( (dui/dxj + duj/dxi) - (2/3)*(div_v)*delta_ij ) / Re_shear.
|
| |
| subroutine | m_riemann_solvers::s_calculate_bulk_stress_tensor (re_bulk, divergence_v, tau_bulk_out) |
| | Calculates bulk stress tensor components (diagonal only). tau_ii_bulk = (div_v) / Re_bulk. Off-diagonals are zero.
|
| |
| subroutine | m_riemann_solvers::s_finalize_riemann_solver (flux_vf, flux_src_vf, flux_gsrc_vf, norm_dir) |
| | Deallocation and/or disassociation procedures that are needed to finalize the selected Riemann problem solver.
|
| |
| impure subroutine, public | m_riemann_solvers::s_finalize_riemann_solvers_module |
| | Module deallocation and/or disassociation procedures.
|
| |
|
| real(wp), dimension(:, :, :, :), allocatable | m_riemann_solvers::vel_src_rsx_vf |
| |
| real(wp), dimension(:, :, :, :), allocatable | m_riemann_solvers::vel_src_rsy_vf |
| |
| real(wp), dimension(:, :, :, :), allocatable | m_riemann_solvers::vel_src_rsz_vf |
| |
| real(wp), dimension(:, :, :, :), allocatable | m_riemann_solvers::mom_sp_rsx_vf |
| |
| real(wp), dimension(:, :, :, :), allocatable | m_riemann_solvers::mom_sp_rsy_vf |
| |
| real(wp), dimension(:, :, :, :), allocatable | m_riemann_solvers::mom_sp_rsz_vf |
| |
| real(wp), dimension(:, :, :, :), allocatable | m_riemann_solvers::re_avg_rsx_vf |
| |
| real(wp), dimension(:, :, :, :), allocatable | m_riemann_solvers::re_avg_rsy_vf |
| |
| real(wp), dimension(:, :, :, :), allocatable | m_riemann_solvers::re_avg_rsz_vf |
| |
| real(wp), dimension(:), allocatable | m_riemann_solvers::gs_rs |
| |
| real(wp), dimension(:, :), allocatable | m_riemann_solvers::res_gs |
| |
|
| real(wp), dimension(:, :, :, :), allocatable | m_riemann_solvers::flux_rsx_vf |
| | The cell-boundary values of the fluxes (src - source) that are computed through the chosen Riemann problem solver, and the direct evaluation of source terms, by using the left and right states given in qK_prim_rs_vf, dqK_prim_ds_vf where ds = dx, dy or dz.
|
| |
| real(wp), dimension(:, :, :, :), allocatable | m_riemann_solvers::flux_src_rsx_vf |
| |
| real(wp), dimension(:, :, :, :), allocatable | m_riemann_solvers::flux_rsy_vf |
| |
| real(wp), dimension(:, :, :, :), allocatable | m_riemann_solvers::flux_src_rsy_vf |
| |
| real(wp), dimension(:, :, :, :), allocatable | m_riemann_solvers::flux_rsz_vf |
| |
| real(wp), dimension(:, :, :, :), allocatable | m_riemann_solvers::flux_src_rsz_vf |
| |
|
| real(wp), dimension(:, :, :, :), allocatable | m_riemann_solvers::flux_gsrc_rsx_vf |
| | The cell-boundary values of the geometrical source flux that are computed through the chosen Riemann problem solver by using the left and right states given in qK_prim_rs_vf. Currently 2D axisymmetric for inviscid only.
|
| |
| real(wp), dimension(:, :, :, :), allocatable | m_riemann_solvers::flux_gsrc_rsy_vf |
| |
| real(wp), dimension(:, :, :, :), allocatable | m_riemann_solvers::flux_gsrc_rsz_vf |
| |
|
| type(int_bounds_info) | m_riemann_solvers::is1 |
| |
| type(int_bounds_info) | m_riemann_solvers::is2 |
| |
| type(int_bounds_info) | m_riemann_solvers::is3 |
| |
| type(int_bounds_info) | m_riemann_solvers::isx |
| |
| type(int_bounds_info) | m_riemann_solvers::isy |
| |
| type(int_bounds_info) | m_riemann_solvers::isz |
| |