361 subroutine s_hll_riemann_solver(qL_prim_rsx_vf, dqL_prim_dx_vf, dqL_prim_dy_vf, dqL_prim_dz_vf, qL_prim_vf, qR_prim_rsx_vf, &
362 & dqR_prim_dx_vf, dqR_prim_dy_vf, dqR_prim_dz_vf, qR_prim_vf, q_prim_vf, flux_vf, &
363 & flux_src_vf, flux_gsrc_vf, norm_dir, ix, iy, iz)
365 real(wp),
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:),
intent(inout) :: qL_prim_rsx_vf, qR_prim_rsx_vf
366 type(
scalar_field),
dimension(sys_size),
intent(in) :: q_prim_vf
367 type(
scalar_field),
allocatable,
dimension(:),
intent(inout) :: qL_prim_vf, qR_prim_vf
368 type(
scalar_field),
allocatable,
dimension(:),
intent(inout) :: dqL_prim_dx_vf, dqR_prim_dx_vf, dqL_prim_dy_vf, &
369 & dqR_prim_dy_vf, dqL_prim_dz_vf, dqR_prim_dz_vf
372 type(
scalar_field),
dimension(sys_size),
intent(inout) :: flux_vf, flux_src_vf, flux_gsrc_vf
373 real(wp) :: flux_tau_L, flux_tau_R
374 integer,
intent(in) :: norm_dir
377# 52 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
378 real(wp),
dimension(num_fluids) :: alpha_rho_L, alpha_rho_R
379 real(wp),
dimension(num_vels) :: vel_L, vel_R
380 real(wp),
dimension(num_fluids) :: alpha_L, alpha_R
381 real(wp),
dimension(num_species) :: Ys_L, Ys_R
382 real(wp),
dimension(num_species) :: Cp_iL, Cp_iR, Xs_L, Xs_R, Gamma_iL, Gamma_iR
383 real(wp),
dimension(num_species) :: Yi_avg, Phi_avg, h_iL, h_iR, h_avg_2
384# 59 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
385 real(wp) :: rho_L, rho_R
386 real(wp) :: pres_L, pres_R
389 real(wp) :: Cp_avg, Cv_avg, T_avg, eps, c_sum_Yi_Phi
392 real(wp) :: MW_L, MW_R
393 real(wp) :: R_gas_L, R_gas_R
394 real(wp) :: Cp_L, Cp_R
395 real(wp) :: Cv_L, Cv_R
396 real(wp) :: Gamm_L, Gamm_R
397 real(wp) :: gamma_L, gamma_R
398 real(wp) :: pi_inf_L, pi_inf_R
399 real(wp) :: qv_L, qv_R
401 real(wp),
dimension(6) :: tau_e_L, tau_e_R
403 real(wp),
dimension(2) :: Re_L, Re_R
404 real(wp),
dimension(3) :: xi_field_L, xi_field_R
408 real(wp) :: gamma_avg
410 real(wp) :: s_L, s_R, s_M, s_P, s_S
411 real(wp) :: xi_M, xi_P
412 real(wp) :: ptilde_L, ptilde_R
413 real(wp) :: vel_L_rms, vel_R_rms, vel_avg_rms
414 real(wp) :: vel_L_tmp, vel_R_tmp
415 real(wp) :: Ms_L, Ms_R, pres_SL, pres_SR
416 real(wp) :: alpha_L_sum, alpha_R_sum
417 real(wp) :: zcoef, pcorr
424 integer :: i, j, k, l, q
425 integer :: Re_size_loc1, Re_size_loc2
429 & qr_prim_rsx_vf, dqr_prim_dx_vf, dqr_prim_dy_vf, dqr_prim_dz_vf, norm_dir, ix, iy, iz)
434# 112 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
435# 113 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
436# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
437 if (norm_dir == 1)
then
439# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
441# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
442#if defined(MFC_OpenACC)
443# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
445# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
447# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
449# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
450#elif defined(MFC_OpenMP)
451# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
453# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
455# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
457# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
459# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
461# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
463# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
465# 125 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
470# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
471#if defined(MFC_OpenACC)
472# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
474# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
475#elif defined(MFC_OpenMP)
476# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
478# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
480 do i = 1, eqn_idx%cont%end
481 alpha_rho_l(i) = ql_prim_rsx_vf(j, k, l, i)
482 alpha_rho_r(i) = qr_prim_rsx_vf(j + 1, k, l, i)
485 vel_l_rms = 0._wp; vel_r_rms = 0._wp
488# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
489#if defined(MFC_OpenACC)
490# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
492# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
493#elif defined(MFC_OpenMP)
494# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
496# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
499 vel_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%cont%end + i)
500 vel_r(i) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%cont%end + i)
501 vel_l_rms = vel_l_rms + vel_l(i)**2._wp
502 vel_r_rms = vel_r_rms + vel_r(i)**2._wp
506# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
507#if defined(MFC_OpenACC)
508# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
510# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
511#elif defined(MFC_OpenMP)
512# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
514# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
517 alpha_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%E + i)
518 alpha_r(i) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%E + i)
521 pres_l = ql_prim_rsx_vf(j, k, l, eqn_idx%E)
522 pres_r = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%E)
528 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
529 b%R(2) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%B%beg)
530 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
531 b%R(3) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%B%beg + 1)
533 b%L(1) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
534 b%R(1) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%B%beg)
535 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
536 b%R(2) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%B%beg + 1)
537 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 2)
538 b%R(3) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%B%beg + 2)
560# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
561#if defined(MFC_OpenACC)
562# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
564# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
565#elif defined(MFC_OpenMP)
566# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
568# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
571 alpha_rho_l(i) = max(0._wp, alpha_rho_l(i))
572 alpha_l(i) = min(max(0._wp, alpha_l(i)), 1._wp)
573 alpha_l_sum = alpha_l_sum + alpha_l(i)
574 alpha_rho_r(i) = max(0._wp, alpha_rho_r(i))
575 alpha_r(i) = min(max(0._wp, alpha_r(i)), 1._wp)
576 alpha_r_sum = alpha_r_sum + alpha_r(i)
579 alpha_l = alpha_l/max(alpha_l_sum,
sgm_eps)
580 alpha_r = alpha_r/max(alpha_r_sum,
sgm_eps)
584# 202 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
585#if defined(MFC_OpenACC)
586# 202 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
588# 202 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
589#elif defined(MFC_OpenMP)
590# 202 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
592# 202 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
595 rho_l = rho_l + alpha_rho_l(i)
596 gamma_l = gamma_l + alpha_l(i)*
gammas(i)
597 pi_inf_l = pi_inf_l + alpha_l(i)*
pi_infs(i)
598 qv_l = qv_l + alpha_rho_l(i)*
qvs(i)
600 rho_r = rho_r + alpha_rho_r(i)
601 gamma_r = gamma_r + alpha_r(i)*
gammas(i)
602 pi_inf_r = pi_inf_r + alpha_r(i)*
pi_infs(i)
603 qv_r = qv_r + alpha_rho_r(i)*
qvs(i)
608# 216 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
609#if defined(MFC_OpenACC)
610# 216 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
612# 216 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
613#elif defined(MFC_OpenMP)
614# 216 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
616# 216 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
622 if (merge(re_size_loc1, re_size_loc2, i == 1) > 0) re_l(i) = 0._wp
623 if (merge(re_size_loc1, re_size_loc2, i == 1) > 0) re_r(i) = 0._wp
626# 224 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
627#if defined(MFC_OpenACC)
628# 224 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
630# 224 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
631#elif defined(MFC_OpenMP)
632# 224 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
634# 224 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
636 do q = 1, merge(re_size_loc1, re_size_loc2, i == 1)
641 re_l(i) = 1._wp/max(re_l(i),
sgm_eps)
642 re_r(i) = 1._wp/max(re_r(i),
sgm_eps)
648# 236 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
649#if defined(MFC_OpenACC)
650# 236 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
652# 236 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
653#elif defined(MFC_OpenMP)
654# 236 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
656# 236 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
658 do i = eqn_idx%species%beg, eqn_idx%species%end
659 ys_l(i - eqn_idx%species%beg + 1) = ql_prim_rsx_vf(j, k, l, i)
660 ys_r(i - eqn_idx%species%beg + 1) = qr_prim_rsx_vf(j + 1, k, l, i)
663 call get_mixture_molecular_weight(ys_l, mw_l)
664 call get_mixture_molecular_weight(ys_r, mw_r)
665 xs_l(:) = ys_l(:)*mw_l/molecular_weights(:)
666 xs_r(:) = ys_r(:)*mw_r/molecular_weights(:)
668 r_gas_l = gas_constant/mw_l
669 r_gas_r = gas_constant/mw_r
670 t_l = pres_l/rho_l/r_gas_l
671 t_r = pres_r/rho_r/r_gas_r
673 call get_species_specific_heats_r(t_l, cp_il)
674 call get_species_specific_heats_r(t_r, cp_ir)
676 if (chem_params%gamma_method == 1)
then
678 gamma_il = cp_il/(cp_il - 1.0_wp)
679 gamma_ir = cp_ir/(cp_ir - 1.0_wp)
681 gamma_l = sum(xs_l(:)/(gamma_il(:) - 1.0_wp))
682 gamma_r = sum(xs_r(:)/(gamma_ir(:) - 1.0_wp))
683 else if (chem_params%gamma_method == 2)
then
685 call get_mixture_specific_heat_cp_mass(t_l, ys_l, cp_l)
686 call get_mixture_specific_heat_cp_mass(t_r, ys_r, cp_r)
687 call get_mixture_specific_heat_cv_mass(t_l, ys_l, cv_l)
688 call get_mixture_specific_heat_cv_mass(t_r, ys_r, cv_r)
691 gamma_l = 1.0_wp/(gamm_l - 1.0_wp)
693 gamma_r = 1.0_wp/(gamm_r - 1.0_wp)
696 call get_mixture_energy_mass(t_l, ys_l, e_l)
697 call get_mixture_energy_mass(t_r, ys_r, e_r)
699 e_l = rho_l*e_l + 5.e-1*rho_l*vel_l_rms
700 e_r = rho_r*e_r + 5.e-1*rho_r*vel_r_rms
701 h_l = (e_l + pres_l)/rho_l
702 h_r = (e_r + pres_r)/rho_r
703 else if (mhd .and. relativity)
then
704 ga%L = 1._wp/sqrt(1._wp - vel_l_rms)
705 ga%R = 1._wp/sqrt(1._wp - vel_r_rms)
706# 286 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
707 vdotb%L = vel_l(1)*b%L(1) + vel_l(2)*b%L(2) + vel_l(3)*b%L(3)
708 vdotb%R = vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3)
710 b4%L(1:3) = b%L(1:3)/ga%L + ga%L*vel_l(1:3)*vdotb%L
711 b4%R(1:3) = b%R(1:3)/ga%R + ga%R*vel_r(1:3)*vdotb%R
712 b2%L = b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp
713 b2%R = b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp
714# 294 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
716 pres_mag%L = 0.5_wp*(b2%L/ga%L**2._wp + vdotb%L**2._wp)
717 pres_mag%R = 0.5_wp*(b2%R/ga%R**2._wp + vdotb%R**2._wp)
720 h_l = 1._wp + (gamma_l + 1)*pres_l/rho_l
721 h_r = 1._wp + (gamma_r + 1)*pres_r/rho_r
722# 302 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
723 cm%L(1:3) = (rho_l*h_l*ga%L**2 + b2%L)*vel_l(1:3) - vdotb%L*b%L(1:3)
724 cm%R(1:3) = (rho_r*h_r*ga%R**2 + b2%R)*vel_r(1:3) - vdotb%R*b%R(1:3)
725# 305 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
727 e_l = rho_l*h_l*ga%L**2 - pres_l + 0.5_wp*(b2%L + vel_l_rms*b2%L - vdotb%L**2._wp) - rho_l*ga%L
728 e_r = rho_r*h_r*ga%R**2 - pres_r + 0.5_wp*(b2%R + vel_r_rms*b2%R - vdotb%R**2._wp) - rho_r*ga%R
729 else if (mhd .and. .not. relativity)
then
730# 310 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
731 pres_mag%L = 0.5_wp*(b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp)
732 pres_mag%R = 0.5_wp*(b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp)
733# 313 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
734 e_l = gamma_l*pres_l + pi_inf_l + 0.5_wp*rho_l*vel_l_rms + qv_l + pres_mag%L
736 e_r = gamma_r*pres_r + pi_inf_r + 0.5_wp*rho_r*vel_r_rms + qv_r + pres_mag%R
737 h_l = (e_l + pres_l - pres_mag%L)/rho_l
739 h_r = (e_r + pres_r - pres_mag%R)/rho_r
741 e_l = gamma_l*pres_l + pi_inf_l + 5.e-1*rho_l*vel_l_rms + qv_l
742 e_r = gamma_r*pres_r + pi_inf_r + 5.e-1*rho_r*vel_r_rms + qv_r
743 h_l = (e_l + pres_l)/rho_l
744 h_r = (e_r + pres_r)/rho_r
748 if (hypoelasticity)
then
749 g_l = 0._wp; g_r = 0._wp
752# 330 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
753#if defined(MFC_OpenACC)
754# 330 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
756# 330 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
757#elif defined(MFC_OpenMP)
758# 330 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
760# 330 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
763 g_l = g_l + alpha_l(i)*
gs_rs(i)
764 g_r = g_r + alpha_r(i)*
gs_rs(i)
767 if (cont_damage)
then
768 g_l = g_l*max((1._wp - ql_prim_rsx_vf(j, k, l, eqn_idx%damage)), 0._wp)
769 g_r = g_r*max((1._wp - qr_prim_rsx_vf(j, k, l, eqn_idx%damage)), 0._wp)
773# 341 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
774#if defined(MFC_OpenACC)
775# 341 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
777# 341 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
778#elif defined(MFC_OpenMP)
779# 341 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
781# 341 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
783 do i = 1, eqn_idx%stress%end - eqn_idx%stress%beg + 1
784 tau_e_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%stress%beg - 1 + i)
785 tau_e_r(i) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%stress%beg - 1 + i)
787 if ((g_l > 1000) .and. (g_r > 1000))
then
788 e_l = e_l + (tau_e_l(i)*tau_e_l(i))/(4._wp*g_l)
789 e_r = e_r + (tau_e_r(i)*tau_e_r(i))/(4._wp*g_r)
791 if (any(eqn_idx%stress%beg - 1 + i == shear_indices))
then
792 e_l = e_l + (tau_e_l(i)*tau_e_l(i))/(4._wp*g_l)
793 e_r = e_r + (tau_e_r(i)*tau_e_r(i))/(4._wp*g_r)
800# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
801 rho_avg = sqrt(rho_l*rho_r)
802# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
804# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
806# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
808# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
810# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
811#if defined(MFC_OpenACC)
812# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
814# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
815#elif defined(MFC_OpenMP)
816# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
818# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
820# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
822# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
823 vel_avg_rms = vel_avg_rms + (sqrt(rho_l)*vel_l(i) + sqrt(rho_r)*vel_r(i))**2._wp/(sqrt(rho_l) + sqrt(rho_r))**2._wp
824# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
826# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
828# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
829 h_avg = (sqrt(rho_l)*h_l + sqrt(rho_r)*h_r)/(sqrt(rho_l) + sqrt(rho_r))
830# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
832# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
833 gamma_avg = (sqrt(rho_l)*gamma_l + sqrt(rho_r)*gamma_r)/(sqrt(rho_l) + sqrt(rho_r))
834# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
836# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
837 vel_avg_rms = (sqrt(rho_l)*vel_l(1) + sqrt(rho_r)*vel_r(1))**2._wp/(sqrt(rho_l) + sqrt(rho_r))**2._wp
838# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
840# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
841 qv_avg = (sqrt(rho_l)*qv_l + sqrt(rho_r)*qv_r)/(sqrt(rho_l) + sqrt(rho_r))
842# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
844# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
846# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
848# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
849 call get_species_enthalpies_rt(t_l, h_il)
850# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
851 call get_species_enthalpies_rt(t_r, h_ir)
852# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
853 h_il = h_il*gas_constant/molecular_weights*t_l
854# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
855 h_ir = h_ir*gas_constant/molecular_weights*t_r
856# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
857 call get_species_specific_heats_r(t_l, cp_il)
858# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
859 call get_species_specific_heats_r(t_r, cp_ir)
860# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
862# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
863 h_avg_2 = (sqrt(rho_l)*h_il + sqrt(rho_r)*h_ir)/(sqrt(rho_l) + sqrt(rho_r))
864# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
865 yi_avg = (sqrt(rho_l)*ys_l + sqrt(rho_r)*ys_r)/(sqrt(rho_l) + sqrt(rho_r))
866# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
867 t_avg = (sqrt(rho_l)*t_l + sqrt(rho_r)*t_r)/(sqrt(rho_l) + sqrt(rho_r))
868# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
869 if (abs(t_l - t_r) < eps)
then
870# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
872# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
873 cp_avg = sum(yi_avg(:)*(0.5_wp*cp_il(:) + 0.5_wp*cp_ir(:))*gas_constant/molecular_weights(:))
874# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
875 cv_avg = sum(yi_avg(:)*((0.5_wp*cp_il(:) + 0.5_wp*cp_ir(:))*gas_constant/molecular_weights(:) &
876# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
877 & - gas_constant/molecular_weights(:)))
878# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
880# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
882# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
883 cp_avg = sum(yi_avg(:)*(h_ir(:) - h_il(:))/(t_r - t_l))
884# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
885 cv_avg = sum(yi_avg(:)*((h_ir(:) - h_il(:))/(t_r - t_l) - gas_constant/molecular_weights(:)))
886# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
888# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
889 gamma_avg = cp_avg/cv_avg
890# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
892# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
893 phi_avg(:) = (gamma_avg - 1._wp)*(vel_avg_rms/2.0_wp - h_avg_2(:)) + gamma_avg*gas_constant/molecular_weights(:)*t_avg
894# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
895 c_sum_yi_phi = sum(yi_avg(:)*phi_avg(:))
896# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
898# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
900# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
902# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
904# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
905 rho_avg = 5.e-1_wp*(rho_l + rho_r)
906# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
908# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
910# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
911#if defined(MFC_OpenACC)
912# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
914# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
915#elif defined(MFC_OpenMP)
916# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
918# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
920# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
922# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
923 vel_avg_rms = vel_avg_rms + (5.e-1_wp*(vel_l(i) + vel_r(i)))**2._wp
924# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
926# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
928# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
929 h_avg = 5.e-1_wp*(h_l + h_r)
930# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
931 gamma_avg = 5.e-1_wp*(gamma_l + gamma_r)
932# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
933 qv_avg = 5.e-1_wp*(qv_l + qv_r)
934# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
947 & c_sum_yi_phi, c_avg, qv_avg)
959# 381 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
960#if defined(MFC_OpenACC)
961# 381 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
963# 381 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
964#elif defined(MFC_OpenMP)
965# 381 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
967# 381 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
970 re_avg_rsx_vf(j, k, l, i) = 2._wp/(1._wp/re_l(i) + 1._wp/re_r(i))
978 s_l = min(vel_l(
dir_idx(1)) - c_fast%L, vel_r(
dir_idx(1)) - c_fast%R)
979 s_r = max(vel_r(
dir_idx(1)) + c_fast%R, vel_l(
dir_idx(1)) + c_fast%L)
980 else if (hypoelasticity)
then
982 s_l = min(vel_l(
dir_idx(1)) - sqrt(c_l*c_l + (((4._wp*g_l)/3._wp) + tau_e_l(
dir_idx_tau(1))) &
984 & vel_r(
dir_idx(1)) - sqrt(c_r*c_r + (((4._wp*g_r)/3._wp) + tau_e_r(
dir_idx_tau(1))) &
986 s_r = max(vel_r(
dir_idx(1)) + sqrt(c_r*c_r + (((4._wp*g_r)/3._wp) + tau_e_r(
dir_idx_tau(1))) &
988 & vel_l(
dir_idx(1)) + sqrt(c_l*c_l + (((4._wp*g_l)/3._wp) + tau_e_l(
dir_idx_tau(1))) &
990 else if (hyperelasticity)
then
991 s_l = min(vel_l(
dir_idx(1)) - sqrt(c_l*c_l + (4._wp*g_l/3._wp)/rho_l), &
992 & vel_r(
dir_idx(1)) - sqrt(c_r*c_r + (4._wp*g_r/3._wp)/rho_r))
993 s_r = max(vel_r(
dir_idx(1)) + sqrt(c_r*c_r + (4._wp*g_r/3._wp)/rho_r), &
994 & vel_l(
dir_idx(1)) + sqrt(c_l*c_l + (4._wp*g_l/3._wp)/rho_l))
1000 if (hyper_cleaning)
then
1002 s_l = min(s_l, -hyper_cleaning_speed)
1003 s_r = max(s_r, hyper_cleaning_speed)
1006 s_s = (pres_r - pres_l + rho_l*vel_l(
dir_idx(1))*(s_l - vel_l(
dir_idx(1))) &
1008 & - rho_r*(s_r - vel_r(
dir_idx(1))))
1010 pres_sl = 5.e-1_wp*(pres_l + pres_r + rho_avg*c_avg*(vel_l(
dir_idx(1)) - vel_r(
dir_idx(1))))
1016 & sqrt(1._wp + ((5.e-1_wp + gamma_l)/(1._wp + gamma_l))*(pres_sl/pres_l - 1._wp) &
1017 & *pres_l/((pres_l + pi_inf_l/(1._wp + gamma_l)))))
1019 & sqrt(1._wp + ((5.e-1_wp + gamma_r)/(1._wp + gamma_r))*(pres_sr/pres_r - 1._wp) &
1020 & *pres_r/((pres_r + pi_inf_r/(1._wp + gamma_r)))))
1022 s_l = vel_l(
dir_idx(1)) - c_l*ms_l
1023 s_r = vel_r(
dir_idx(1)) + c_r*ms_r
1025 s_s = 5.e-1_wp*((vel_l(
dir_idx(1)) + vel_r(
dir_idx(1))) + (pres_l - pres_r)/(rho_avg*c_avg))
1028 s_m = min(0._wp, s_l); s_p = max(0._wp, s_r)
1030 xi_m = (5.e-1_wp + sign(5.e-1_wp, s_l)) + (5.e-1_wp - sign(5.e-1_wp, s_l))*(5.e-1_wp + sign(5.e-1_wp, &
1032 xi_p = (5.e-1_wp - sign(5.e-1_wp, s_r)) + (5.e-1_wp - sign(5.e-1_wp, s_l))*(5.e-1_wp + sign(5.e-1_wp, &
1036 if (low_mach == 1)
then
1038# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1039 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
1040# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1042# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1044# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1045 if (low_mach == 1)
then
1046# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1047 pcorr = -(s_p - s_m)*(rho_l + rho_r)/8._wp*(zcoef - 1._wp)
1048# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1050# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1052# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1053 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
1054# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1056# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1058# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1059 if (low_mach == 1)
then
1060# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1062# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1063 & /(rho_r*(s_r - vel_r(
dir_idx(1))) - rho_l*(s_l - vel_l(
dir_idx(1))))*(zcoef - 1._wp)
1064# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1065 else if (low_mach == 2)
then
1066# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1068# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1070# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1072# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1074# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1076# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1083 if (.not. relativity)
then
1085# 457 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1086#if defined(MFC_OpenACC)
1087# 457 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1089# 457 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1090#elif defined(MFC_OpenMP)
1091# 457 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1093# 457 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1095 do i = 1, eqn_idx%cont%end
1097 & i) = (s_m*alpha_rho_r(i)*vel_r(norm_dir) - s_p*alpha_rho_l(i)*vel_l(norm_dir) &
1098 & + s_m*s_p*(alpha_rho_l(i) - alpha_rho_r(i)))/(s_m - s_p)
1100 else if (relativity)
then
1102# 464 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1103#if defined(MFC_OpenACC)
1104# 464 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1106# 464 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1107#elif defined(MFC_OpenMP)
1108# 464 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1110# 464 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1112 do i = 1, eqn_idx%cont%end
1114 & i) = (s_m*ga%R*alpha_rho_r(i)*vel_r(norm_dir) - s_p*ga%L*alpha_rho_l(i) &
1115 & *vel_l(norm_dir) + s_m*s_p*(ga%L*alpha_rho_l(i) - ga%R*alpha_rho_r(i)))/(s_m &
1121 if (mhd .and. (.not. relativity))
then
1123# 475 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1124#if defined(MFC_OpenACC)
1125# 475 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1127# 475 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1128#elif defined(MFC_OpenMP)
1129# 475 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1131# 475 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1137 & eqn_idx%cont%end + i) = (s_m*(rho_r*vel_r(i)*vel_r(norm_dir) - b%R(i) &
1138 & *b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(rho_l*vel_l(i) &
1139 & *vel_l(norm_dir) - b%L(i)*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L)) &
1140 & + s_m*s_p*(rho_l*vel_l(i) - rho_r*vel_r(i)))/(s_m - s_p)
1142 else if (mhd .and. relativity)
then
1144# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1145#if defined(MFC_OpenACC)
1146# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1148# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1149#elif defined(MFC_OpenMP)
1150# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1152# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1158 & eqn_idx%cont%end + i) = (s_m*(cm%R(i)*vel_r(norm_dir) - b4%R(i) &
1159 & /ga%R*b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(cm%L(i) &
1160 & *vel_l(norm_dir) - b4%L(i)/ga%L*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L) &
1161 & ) + s_m*s_p*(cm%L(i) - cm%R(i)))/(s_m - s_p)
1163 else if (bubbles_euler)
then
1165# 497 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1166#if defined(MFC_OpenACC)
1167# 497 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1169# 497 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1170#elif defined(MFC_OpenMP)
1171# 497 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1173# 497 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1180 & + s_m*s_p*(rho_l*vel_l(
dir_idx(i)) - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) &
1181 & + (s_m/s_l)*(s_p/s_r)*pcorr*(vel_r(
dir_idx(i)) - vel_l(
dir_idx(i)))
1183 else if (hypoelasticity)
then
1185# 507 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1186#if defined(MFC_OpenACC)
1187# 507 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1189# 507 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1190#elif defined(MFC_OpenMP)
1191# 507 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1193# 507 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1201 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p)
1205# 517 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1206#if defined(MFC_OpenACC)
1207# 517 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1209# 517 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1210#elif defined(MFC_OpenMP)
1211# 517 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1213# 517 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1220 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) + (s_m/s_l)*(s_p/s_r) &
1226 if (mhd .and. (.not. relativity))
then
1228# 532 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1230 & eqn_idx%E) = (s_m*(vel_r(norm_dir)*(e_r + pres_r + pres_mag%R) - b%R(norm_dir) &
1231 & *(vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3))) - s_p*(vel_l(norm_dir) &
1232 & *(e_l + pres_l + pres_mag%L) - b%L(norm_dir)*(vel_l(1)*b%L(1) + vel_l(2)*b%L(2) &
1233 & + vel_l(3)*b%L(3))) + s_m*s_p*(e_l - e_r))/(s_m - s_p)
1234# 538 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1235 else if (mhd .and. relativity)
then
1238 & eqn_idx%E) = (s_m*(cm%R(norm_dir) - ga%R*alpha_rho_r(1)*vel_r(norm_dir)) &
1239 & - s_p*(cm%L(norm_dir) - ga%L*alpha_rho_l(1)*vel_l(norm_dir)) + s_m*s_p*(e_l - e_r)) &
1241 else if (bubbles_euler)
then
1243 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r - ptilde_r) - s_p*vel_l(
dir_idx(1) &
1244 & )*(e_l + pres_l - ptilde_l) + s_m*s_p*(e_l - e_r))/(s_m - s_p) + (s_m/s_l)*(s_p/s_r) &
1245 & *pcorr*(vel_r_rms - vel_l_rms)/2._wp
1246 else if (hypoelasticity)
then
1247 flux_tau_l = 0._wp; flux_tau_r = 0._wp
1249# 551 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1250#if defined(MFC_OpenACC)
1251# 551 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1253# 551 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1254#elif defined(MFC_OpenMP)
1255# 551 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1257# 551 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1264 & eqn_idx%E) = (s_m*(vel_r(
dir_idx(1))*(e_r + pres_r) - flux_tau_r) &
1265 & - s_p*(vel_l(
dir_idx(1))*(e_l + pres_l) - flux_tau_l) + s_m*s_p*(e_l - e_r))/(s_m &
1269 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r) - s_p*vel_l(
dir_idx(1))*(e_l &
1270 & + pres_l) + s_m*s_p*(e_l - e_r))/(s_m - s_p) + (s_m/s_l)*(s_p/s_r)*pcorr*(vel_r_rms &
1271 & - vel_l_rms)/2._wp
1275 if (hypoelasticity)
then
1276 do i = 1, eqn_idx%stress%end - eqn_idx%stress%beg + 1
1278 & eqn_idx%stress%beg - 1 + i) = (s_m*(rho_r*vel_r(
dir_idx(1))*tau_e_r(i)) &
1279 & - s_p*(rho_l*vel_l(
dir_idx(1))*tau_e_l(i)) + s_m*s_p*(rho_l*tau_e_l(i) &
1280 & - rho_r*tau_e_r(i)))/(s_m - s_p)
1286# 578 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1287#if defined(MFC_OpenACC)
1288# 578 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1290# 578 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1291#elif defined(MFC_OpenMP)
1292# 578 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1294# 578 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1296 do i = eqn_idx%adv%beg, eqn_idx%adv%end
1297 flux_rsx_vf(j, k, l, i) = (ql_prim_rsx_vf(j, k, l, i) - qr_prim_rsx_vf(j + 1, k, l, &
1298 & i))*s_m*s_p/(s_m - s_p)
1300 & i) - s_p*ql_prim_rsx_vf(j, k, l, i))/(s_m - s_p)
1303 if (bubbles_euler)
then
1305 if (num_fluids > 1)
then
1312# 594 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1313#if defined(MFC_OpenACC)
1314# 594 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1316# 594 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1317#elif defined(MFC_OpenMP)
1318# 594 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1320# 594 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1322 do i = eqn_idx%species%beg, eqn_idx%species%end
1323 y_l = ql_prim_rsx_vf(j, k, l, i)
1324 y_r = qr_prim_rsx_vf(j + 1, k, l, i)
1327 & i) = (s_m*y_r*rho_r*vel_r(
dir_idx(1)) - s_p*y_l*rho_l*vel_l(
dir_idx(1)) &
1328 & + s_m*s_p*(y_l*rho_l - y_r*rho_r))/(s_m - s_p)
1338# 610 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1339#if defined(MFC_OpenACC)
1340# 610 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1342# 610 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1343#elif defined(MFC_OpenMP)
1344# 610 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1346# 610 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1350 & eqn_idx%B%beg + i) = (s_m*(vel_r(1)*b%R(2 + i) - vel_r(2 + i)*bx0) &
1351 & - s_p*(vel_l(1)*b%L(2 + i) - vel_l(2 + i)*bx0) + s_m*s_p*(b%L(2 + i) &
1352 & - b%R(2 + i)))/(s_m - s_p)
1359# 621 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1360#if defined(MFC_OpenACC)
1361# 621 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1363# 621 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1364#elif defined(MFC_OpenMP)
1365# 621 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1367# 621 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1371 & eqn_idx%B%beg + i) = (s_m*(vel_r(
dir_idx(1))*b%R(i + 1) - vel_r(i + 1) &
1372 & *b%R(norm_dir)) - s_p*(vel_l(
dir_idx(1))*b%L(i + 1) - vel_l(i + 1) &
1373 & *b%L(norm_dir)) + s_m*s_p*(b%L(i + 1) - b%R(i + 1)))/(s_m - s_p)
1376 if (hyper_cleaning)
then
1379 & eqn_idx%B%beg + norm_dir - 1) + (s_m*qr_prim_rsx_vf(j + 1, k, l, &
1380 & eqn_idx%psi) - s_p*ql_prim_rsx_vf(j, k, l, eqn_idx%psi))/(s_m - s_p)
1383 & eqn_idx%psi) = (hyper_cleaning_speed**2*(s_m*b%R(norm_dir) &
1384 & - s_p*b%L(norm_dir)) + s_m*s_p*(ql_prim_rsx_vf(j, k, l, &
1385 & eqn_idx%psi) - qr_prim_rsx_vf(j + 1, k, l, eqn_idx%psi)))/(s_m - s_p)
1388 flux_rsx_vf(j, k, l, eqn_idx%B%beg + norm_dir - 1) = 0._wp
1394# 675 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1399# 678 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1400#if defined(MFC_OpenACC)
1401# 678 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1403# 678 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1404#elif defined(MFC_OpenMP)
1405# 678 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1407# 678 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1409# 678 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1412# 112 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1413# 113 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1414# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1415 if (norm_dir == 2)
then
1417# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1419# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1420#if defined(MFC_OpenACC)
1421# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1423# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1425# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1427# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1428#elif defined(MFC_OpenMP)
1429# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1431# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1433# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1435# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1437# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1439# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1441# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1443# 125 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1448# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1449#if defined(MFC_OpenACC)
1450# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1452# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1453#elif defined(MFC_OpenMP)
1454# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1456# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1458 do i = 1, eqn_idx%cont%end
1459 alpha_rho_l(i) = ql_prim_rsx_vf(j, k, l, i)
1460 alpha_rho_r(i) = qr_prim_rsx_vf(j, k + 1, l, i)
1463 vel_l_rms = 0._wp; vel_r_rms = 0._wp
1466# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1467#if defined(MFC_OpenACC)
1468# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1470# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1471#elif defined(MFC_OpenMP)
1472# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1474# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1477 vel_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%cont%end + i)
1478 vel_r(i) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%cont%end + i)
1479 vel_l_rms = vel_l_rms + vel_l(i)**2._wp
1480 vel_r_rms = vel_r_rms + vel_r(i)**2._wp
1484# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1485#if defined(MFC_OpenACC)
1486# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1488# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1489#elif defined(MFC_OpenMP)
1490# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1492# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1494 do i = 1, num_fluids
1495 alpha_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%E + i)
1496 alpha_r(i) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%E + i)
1499 pres_l = ql_prim_rsx_vf(j, k, l, eqn_idx%E)
1500 pres_r = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%E)
1506 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
1507 b%R(2) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%B%beg)
1508 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
1509 b%R(3) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%B%beg + 1)
1511 b%L(1) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
1512 b%R(1) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%B%beg)
1513 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
1514 b%R(2) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%B%beg + 1)
1515 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 2)
1516 b%R(3) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%B%beg + 2)
1538# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1539#if defined(MFC_OpenACC)
1540# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1542# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1543#elif defined(MFC_OpenMP)
1544# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1546# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1548 do i = 1, num_fluids
1549 alpha_rho_l(i) = max(0._wp, alpha_rho_l(i))
1550 alpha_l(i) = min(max(0._wp, alpha_l(i)), 1._wp)
1551 alpha_l_sum = alpha_l_sum + alpha_l(i)
1552 alpha_rho_r(i) = max(0._wp, alpha_rho_r(i))
1553 alpha_r(i) = min(max(0._wp, alpha_r(i)), 1._wp)
1554 alpha_r_sum = alpha_r_sum + alpha_r(i)
1557 alpha_l = alpha_l/max(alpha_l_sum,
sgm_eps)
1558 alpha_r = alpha_r/max(alpha_r_sum,
sgm_eps)
1562# 202 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1563#if defined(MFC_OpenACC)
1564# 202 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1566# 202 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1567#elif defined(MFC_OpenMP)
1568# 202 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1570# 202 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1572 do i = 1, num_fluids
1573 rho_l = rho_l + alpha_rho_l(i)
1574 gamma_l = gamma_l + alpha_l(i)*
gammas(i)
1575 pi_inf_l = pi_inf_l + alpha_l(i)*
pi_infs(i)
1576 qv_l = qv_l + alpha_rho_l(i)*
qvs(i)
1578 rho_r = rho_r + alpha_rho_r(i)
1579 gamma_r = gamma_r + alpha_r(i)*
gammas(i)
1580 pi_inf_r = pi_inf_r + alpha_r(i)*
pi_infs(i)
1581 qv_r = qv_r + alpha_rho_r(i)*
qvs(i)
1586# 216 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1587#if defined(MFC_OpenACC)
1588# 216 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1590# 216 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1591#elif defined(MFC_OpenMP)
1592# 216 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1594# 216 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1600 if (merge(re_size_loc1, re_size_loc2, i == 1) > 0) re_l(i) = 0._wp
1601 if (merge(re_size_loc1, re_size_loc2, i == 1) > 0) re_r(i) = 0._wp
1604# 224 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1605#if defined(MFC_OpenACC)
1606# 224 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1608# 224 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1609#elif defined(MFC_OpenMP)
1610# 224 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1612# 224 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1614 do q = 1, merge(re_size_loc1, re_size_loc2, i == 1)
1619 re_l(i) = 1._wp/max(re_l(i),
sgm_eps)
1620 re_r(i) = 1._wp/max(re_r(i),
sgm_eps)
1626# 236 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1627#if defined(MFC_OpenACC)
1628# 236 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1630# 236 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1631#elif defined(MFC_OpenMP)
1632# 236 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1634# 236 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1636 do i = eqn_idx%species%beg, eqn_idx%species%end
1637 ys_l(i - eqn_idx%species%beg + 1) = ql_prim_rsx_vf(j, k, l, i)
1638 ys_r(i - eqn_idx%species%beg + 1) = qr_prim_rsx_vf(j, k + 1, l, i)
1641 call get_mixture_molecular_weight(ys_l, mw_l)
1642 call get_mixture_molecular_weight(ys_r, mw_r)
1643 xs_l(:) = ys_l(:)*mw_l/molecular_weights(:)
1644 xs_r(:) = ys_r(:)*mw_r/molecular_weights(:)
1646 r_gas_l = gas_constant/mw_l
1647 r_gas_r = gas_constant/mw_r
1648 t_l = pres_l/rho_l/r_gas_l
1649 t_r = pres_r/rho_r/r_gas_r
1651 call get_species_specific_heats_r(t_l, cp_il)
1652 call get_species_specific_heats_r(t_r, cp_ir)
1654 if (chem_params%gamma_method == 1)
then
1656 gamma_il = cp_il/(cp_il - 1.0_wp)
1657 gamma_ir = cp_ir/(cp_ir - 1.0_wp)
1659 gamma_l = sum(xs_l(:)/(gamma_il(:) - 1.0_wp))
1660 gamma_r = sum(xs_r(:)/(gamma_ir(:) - 1.0_wp))
1661 else if (chem_params%gamma_method == 2)
then
1663 call get_mixture_specific_heat_cp_mass(t_l, ys_l, cp_l)
1664 call get_mixture_specific_heat_cp_mass(t_r, ys_r, cp_r)
1665 call get_mixture_specific_heat_cv_mass(t_l, ys_l, cv_l)
1666 call get_mixture_specific_heat_cv_mass(t_r, ys_r, cv_r)
1669 gamma_l = 1.0_wp/(gamm_l - 1.0_wp)
1671 gamma_r = 1.0_wp/(gamm_r - 1.0_wp)
1674 call get_mixture_energy_mass(t_l, ys_l, e_l)
1675 call get_mixture_energy_mass(t_r, ys_r, e_r)
1677 e_l = rho_l*e_l + 5.e-1*rho_l*vel_l_rms
1678 e_r = rho_r*e_r + 5.e-1*rho_r*vel_r_rms
1679 h_l = (e_l + pres_l)/rho_l
1680 h_r = (e_r + pres_r)/rho_r
1681 else if (mhd .and. relativity)
then
1682 ga%L = 1._wp/sqrt(1._wp - vel_l_rms)
1683 ga%R = 1._wp/sqrt(1._wp - vel_r_rms)
1684# 286 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1685 vdotb%L = vel_l(1)*b%L(1) + vel_l(2)*b%L(2) + vel_l(3)*b%L(3)
1686 vdotb%R = vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3)
1688 b4%L(1:3) = b%L(1:3)/ga%L + ga%L*vel_l(1:3)*vdotb%L
1689 b4%R(1:3) = b%R(1:3)/ga%R + ga%R*vel_r(1:3)*vdotb%R
1690 b2%L = b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp
1691 b2%R = b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp
1692# 294 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1694 pres_mag%L = 0.5_wp*(b2%L/ga%L**2._wp + vdotb%L**2._wp)
1695 pres_mag%R = 0.5_wp*(b2%R/ga%R**2._wp + vdotb%R**2._wp)
1698 h_l = 1._wp + (gamma_l + 1)*pres_l/rho_l
1699 h_r = 1._wp + (gamma_r + 1)*pres_r/rho_r
1700# 302 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1701 cm%L(1:3) = (rho_l*h_l*ga%L**2 + b2%L)*vel_l(1:3) - vdotb%L*b%L(1:3)
1702 cm%R(1:3) = (rho_r*h_r*ga%R**2 + b2%R)*vel_r(1:3) - vdotb%R*b%R(1:3)
1703# 305 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1705 e_l = rho_l*h_l*ga%L**2 - pres_l + 0.5_wp*(b2%L + vel_l_rms*b2%L - vdotb%L**2._wp) - rho_l*ga%L
1706 e_r = rho_r*h_r*ga%R**2 - pres_r + 0.5_wp*(b2%R + vel_r_rms*b2%R - vdotb%R**2._wp) - rho_r*ga%R
1707 else if (mhd .and. .not. relativity)
then
1708# 310 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1709 pres_mag%L = 0.5_wp*(b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp)
1710 pres_mag%R = 0.5_wp*(b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp)
1711# 313 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1712 e_l = gamma_l*pres_l + pi_inf_l + 0.5_wp*rho_l*vel_l_rms + qv_l + pres_mag%L
1714 e_r = gamma_r*pres_r + pi_inf_r + 0.5_wp*rho_r*vel_r_rms + qv_r + pres_mag%R
1715 h_l = (e_l + pres_l - pres_mag%L)/rho_l
1717 h_r = (e_r + pres_r - pres_mag%R)/rho_r
1719 e_l = gamma_l*pres_l + pi_inf_l + 5.e-1*rho_l*vel_l_rms + qv_l
1720 e_r = gamma_r*pres_r + pi_inf_r + 5.e-1*rho_r*vel_r_rms + qv_r
1721 h_l = (e_l + pres_l)/rho_l
1722 h_r = (e_r + pres_r)/rho_r
1726 if (hypoelasticity)
then
1727 g_l = 0._wp; g_r = 0._wp
1730# 330 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1731#if defined(MFC_OpenACC)
1732# 330 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1734# 330 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1735#elif defined(MFC_OpenMP)
1736# 330 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1738# 330 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1740 do i = 1, num_fluids
1741 g_l = g_l + alpha_l(i)*
gs_rs(i)
1742 g_r = g_r + alpha_r(i)*
gs_rs(i)
1745 if (cont_damage)
then
1746 g_l = g_l*max((1._wp - ql_prim_rsx_vf(j, k, l, eqn_idx%damage)), 0._wp)
1747 g_r = g_r*max((1._wp - qr_prim_rsx_vf(j, k, l, eqn_idx%damage)), 0._wp)
1751# 341 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1752#if defined(MFC_OpenACC)
1753# 341 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1755# 341 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1756#elif defined(MFC_OpenMP)
1757# 341 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1759# 341 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1761 do i = 1, eqn_idx%stress%end - eqn_idx%stress%beg + 1
1762 tau_e_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%stress%beg - 1 + i)
1763 tau_e_r(i) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%stress%beg - 1 + i)
1765 if ((g_l > 1000) .and. (g_r > 1000))
then
1766 e_l = e_l + (tau_e_l(i)*tau_e_l(i))/(4._wp*g_l)
1767 e_r = e_r + (tau_e_r(i)*tau_e_r(i))/(4._wp*g_r)
1769 if (any(eqn_idx%stress%beg - 1 + i == shear_indices))
then
1770 e_l = e_l + (tau_e_l(i)*tau_e_l(i))/(4._wp*g_l)
1771 e_r = e_r + (tau_e_r(i)*tau_e_r(i))/(4._wp*g_r)
1778# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1779 rho_avg = sqrt(rho_l*rho_r)
1780# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1782# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1784# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1786# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1788# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1789#if defined(MFC_OpenACC)
1790# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1792# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1793#elif defined(MFC_OpenMP)
1794# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1796# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1798# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1800# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1801 vel_avg_rms = vel_avg_rms + (sqrt(rho_l)*vel_l(i) + sqrt(rho_r)*vel_r(i))**2._wp/(sqrt(rho_l) + sqrt(rho_r))**2._wp
1802# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1804# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1806# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1807 h_avg = (sqrt(rho_l)*h_l + sqrt(rho_r)*h_r)/(sqrt(rho_l) + sqrt(rho_r))
1808# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1810# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1811 gamma_avg = (sqrt(rho_l)*gamma_l + sqrt(rho_r)*gamma_r)/(sqrt(rho_l) + sqrt(rho_r))
1812# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1814# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1815 vel_avg_rms = (sqrt(rho_l)*vel_l(1) + sqrt(rho_r)*vel_r(1))**2._wp/(sqrt(rho_l) + sqrt(rho_r))**2._wp
1816# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1818# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1819 qv_avg = (sqrt(rho_l)*qv_l + sqrt(rho_r)*qv_r)/(sqrt(rho_l) + sqrt(rho_r))
1820# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1822# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1824# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1826# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1827 call get_species_enthalpies_rt(t_l, h_il)
1828# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1829 call get_species_enthalpies_rt(t_r, h_ir)
1830# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1831 h_il = h_il*gas_constant/molecular_weights*t_l
1832# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1833 h_ir = h_ir*gas_constant/molecular_weights*t_r
1834# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1835 call get_species_specific_heats_r(t_l, cp_il)
1836# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1837 call get_species_specific_heats_r(t_r, cp_ir)
1838# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1840# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1841 h_avg_2 = (sqrt(rho_l)*h_il + sqrt(rho_r)*h_ir)/(sqrt(rho_l) + sqrt(rho_r))
1842# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1843 yi_avg = (sqrt(rho_l)*ys_l + sqrt(rho_r)*ys_r)/(sqrt(rho_l) + sqrt(rho_r))
1844# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1845 t_avg = (sqrt(rho_l)*t_l + sqrt(rho_r)*t_r)/(sqrt(rho_l) + sqrt(rho_r))
1846# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1847 if (abs(t_l - t_r) < eps)
then
1848# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1850# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1851 cp_avg = sum(yi_avg(:)*(0.5_wp*cp_il(:) + 0.5_wp*cp_ir(:))*gas_constant/molecular_weights(:))
1852# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1853 cv_avg = sum(yi_avg(:)*((0.5_wp*cp_il(:) + 0.5_wp*cp_ir(:))*gas_constant/molecular_weights(:) &
1854# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1855 & - gas_constant/molecular_weights(:)))
1856# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1858# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1860# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1861 cp_avg = sum(yi_avg(:)*(h_ir(:) - h_il(:))/(t_r - t_l))
1862# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1863 cv_avg = sum(yi_avg(:)*((h_ir(:) - h_il(:))/(t_r - t_l) - gas_constant/molecular_weights(:)))
1864# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1866# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1867 gamma_avg = cp_avg/cv_avg
1868# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1870# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1871 phi_avg(:) = (gamma_avg - 1._wp)*(vel_avg_rms/2.0_wp - h_avg_2(:)) + gamma_avg*gas_constant/molecular_weights(:)*t_avg
1872# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1873 c_sum_yi_phi = sum(yi_avg(:)*phi_avg(:))
1874# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1876# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1878# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1880# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1882# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1883 rho_avg = 5.e-1_wp*(rho_l + rho_r)
1884# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1886# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1888# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1889#if defined(MFC_OpenACC)
1890# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1892# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1893#elif defined(MFC_OpenMP)
1894# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1896# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1898# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1900# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1901 vel_avg_rms = vel_avg_rms + (5.e-1_wp*(vel_l(i) + vel_r(i)))**2._wp
1902# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1904# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1906# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1907 h_avg = 5.e-1_wp*(h_l + h_r)
1908# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1909 gamma_avg = 5.e-1_wp*(gamma_l + gamma_r)
1910# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1911 qv_avg = 5.e-1_wp*(qv_l + qv_r)
1912# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1925 & c_sum_yi_phi, c_avg, qv_avg)
1937# 381 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1938#if defined(MFC_OpenACC)
1939# 381 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1941# 381 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1942#elif defined(MFC_OpenMP)
1943# 381 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1945# 381 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1948 re_avg_rsx_vf(j, k, l, i) = 2._wp/(1._wp/re_l(i) + 1._wp/re_r(i))
1956 s_l = min(vel_l(
dir_idx(1)) - c_fast%L, vel_r(
dir_idx(1)) - c_fast%R)
1957 s_r = max(vel_r(
dir_idx(1)) + c_fast%R, vel_l(
dir_idx(1)) + c_fast%L)
1958 else if (hypoelasticity)
then
1960 s_l = min(vel_l(
dir_idx(1)) - sqrt(c_l*c_l + (((4._wp*g_l)/3._wp) + tau_e_l(
dir_idx_tau(1))) &
1962 & vel_r(
dir_idx(1)) - sqrt(c_r*c_r + (((4._wp*g_r)/3._wp) + tau_e_r(
dir_idx_tau(1))) &
1964 s_r = max(vel_r(
dir_idx(1)) + sqrt(c_r*c_r + (((4._wp*g_r)/3._wp) + tau_e_r(
dir_idx_tau(1))) &
1966 & vel_l(
dir_idx(1)) + sqrt(c_l*c_l + (((4._wp*g_l)/3._wp) + tau_e_l(
dir_idx_tau(1))) &
1968 else if (hyperelasticity)
then
1969 s_l = min(vel_l(
dir_idx(1)) - sqrt(c_l*c_l + (4._wp*g_l/3._wp)/rho_l), &
1970 & vel_r(
dir_idx(1)) - sqrt(c_r*c_r + (4._wp*g_r/3._wp)/rho_r))
1971 s_r = max(vel_r(
dir_idx(1)) + sqrt(c_r*c_r + (4._wp*g_r/3._wp)/rho_r), &
1972 & vel_l(
dir_idx(1)) + sqrt(c_l*c_l + (4._wp*g_l/3._wp)/rho_l))
1978 if (hyper_cleaning)
then
1980 s_l = min(s_l, -hyper_cleaning_speed)
1981 s_r = max(s_r, hyper_cleaning_speed)
1984 s_s = (pres_r - pres_l + rho_l*vel_l(
dir_idx(1))*(s_l - vel_l(
dir_idx(1))) &
1986 & - rho_r*(s_r - vel_r(
dir_idx(1))))
1988 pres_sl = 5.e-1_wp*(pres_l + pres_r + rho_avg*c_avg*(vel_l(
dir_idx(1)) - vel_r(
dir_idx(1))))
1994 & sqrt(1._wp + ((5.e-1_wp + gamma_l)/(1._wp + gamma_l))*(pres_sl/pres_l - 1._wp) &
1995 & *pres_l/((pres_l + pi_inf_l/(1._wp + gamma_l)))))
1997 & sqrt(1._wp + ((5.e-1_wp + gamma_r)/(1._wp + gamma_r))*(pres_sr/pres_r - 1._wp) &
1998 & *pres_r/((pres_r + pi_inf_r/(1._wp + gamma_r)))))
2000 s_l = vel_l(
dir_idx(1)) - c_l*ms_l
2001 s_r = vel_r(
dir_idx(1)) + c_r*ms_r
2003 s_s = 5.e-1_wp*((vel_l(
dir_idx(1)) + vel_r(
dir_idx(1))) + (pres_l - pres_r)/(rho_avg*c_avg))
2006 s_m = min(0._wp, s_l); s_p = max(0._wp, s_r)
2008 xi_m = (5.e-1_wp + sign(5.e-1_wp, s_l)) + (5.e-1_wp - sign(5.e-1_wp, s_l))*(5.e-1_wp + sign(5.e-1_wp, &
2010 xi_p = (5.e-1_wp - sign(5.e-1_wp, s_r)) + (5.e-1_wp - sign(5.e-1_wp, s_l))*(5.e-1_wp + sign(5.e-1_wp, &
2014 if (low_mach == 1)
then
2016# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2017 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
2018# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2020# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2022# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2023 if (low_mach == 1)
then
2024# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2025 pcorr = -(s_p - s_m)*(rho_l + rho_r)/8._wp*(zcoef - 1._wp)
2026# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2028# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2030# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2031 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
2032# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2034# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2036# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2037 if (low_mach == 1)
then
2038# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2040# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2041 & /(rho_r*(s_r - vel_r(
dir_idx(1))) - rho_l*(s_l - vel_l(
dir_idx(1))))*(zcoef - 1._wp)
2042# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2043 else if (low_mach == 2)
then
2044# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2046# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2048# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2050# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2052# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2054# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2061 if (.not. relativity)
then
2063# 457 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2064#if defined(MFC_OpenACC)
2065# 457 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2067# 457 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2068#elif defined(MFC_OpenMP)
2069# 457 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2071# 457 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2073 do i = 1, eqn_idx%cont%end
2075 & i) = (s_m*alpha_rho_r(i)*vel_r(norm_dir) - s_p*alpha_rho_l(i)*vel_l(norm_dir) &
2076 & + s_m*s_p*(alpha_rho_l(i) - alpha_rho_r(i)))/(s_m - s_p)
2078 else if (relativity)
then
2080# 464 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2081#if defined(MFC_OpenACC)
2082# 464 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2084# 464 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2085#elif defined(MFC_OpenMP)
2086# 464 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2088# 464 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2090 do i = 1, eqn_idx%cont%end
2092 & i) = (s_m*ga%R*alpha_rho_r(i)*vel_r(norm_dir) - s_p*ga%L*alpha_rho_l(i) &
2093 & *vel_l(norm_dir) + s_m*s_p*(ga%L*alpha_rho_l(i) - ga%R*alpha_rho_r(i)))/(s_m &
2099 if (mhd .and. (.not. relativity))
then
2101# 475 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2102#if defined(MFC_OpenACC)
2103# 475 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2105# 475 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2106#elif defined(MFC_OpenMP)
2107# 475 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2109# 475 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2115 & eqn_idx%cont%end + i) = (s_m*(rho_r*vel_r(i)*vel_r(norm_dir) - b%R(i) &
2116 & *b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(rho_l*vel_l(i) &
2117 & *vel_l(norm_dir) - b%L(i)*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L)) &
2118 & + s_m*s_p*(rho_l*vel_l(i) - rho_r*vel_r(i)))/(s_m - s_p)
2120 else if (mhd .and. relativity)
then
2122# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2123#if defined(MFC_OpenACC)
2124# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2126# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2127#elif defined(MFC_OpenMP)
2128# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2130# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2136 & eqn_idx%cont%end + i) = (s_m*(cm%R(i)*vel_r(norm_dir) - b4%R(i) &
2137 & /ga%R*b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(cm%L(i) &
2138 & *vel_l(norm_dir) - b4%L(i)/ga%L*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L) &
2139 & ) + s_m*s_p*(cm%L(i) - cm%R(i)))/(s_m - s_p)
2141 else if (bubbles_euler)
then
2143# 497 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2144#if defined(MFC_OpenACC)
2145# 497 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2147# 497 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2148#elif defined(MFC_OpenMP)
2149# 497 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2151# 497 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2158 & + s_m*s_p*(rho_l*vel_l(
dir_idx(i)) - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) &
2159 & + (s_m/s_l)*(s_p/s_r)*pcorr*(vel_r(
dir_idx(i)) - vel_l(
dir_idx(i)))
2161 else if (hypoelasticity)
then
2163# 507 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2164#if defined(MFC_OpenACC)
2165# 507 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2167# 507 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2168#elif defined(MFC_OpenMP)
2169# 507 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2171# 507 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2179 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p)
2183# 517 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2184#if defined(MFC_OpenACC)
2185# 517 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2187# 517 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2188#elif defined(MFC_OpenMP)
2189# 517 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2191# 517 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2198 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) + (s_m/s_l)*(s_p/s_r) &
2204 if (mhd .and. (.not. relativity))
then
2206# 532 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2208 & eqn_idx%E) = (s_m*(vel_r(norm_dir)*(e_r + pres_r + pres_mag%R) - b%R(norm_dir) &
2209 & *(vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3))) - s_p*(vel_l(norm_dir) &
2210 & *(e_l + pres_l + pres_mag%L) - b%L(norm_dir)*(vel_l(1)*b%L(1) + vel_l(2)*b%L(2) &
2211 & + vel_l(3)*b%L(3))) + s_m*s_p*(e_l - e_r))/(s_m - s_p)
2212# 538 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2213 else if (mhd .and. relativity)
then
2216 & eqn_idx%E) = (s_m*(cm%R(norm_dir) - ga%R*alpha_rho_r(1)*vel_r(norm_dir)) &
2217 & - s_p*(cm%L(norm_dir) - ga%L*alpha_rho_l(1)*vel_l(norm_dir)) + s_m*s_p*(e_l - e_r)) &
2219 else if (bubbles_euler)
then
2221 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r - ptilde_r) - s_p*vel_l(
dir_idx(1) &
2222 & )*(e_l + pres_l - ptilde_l) + s_m*s_p*(e_l - e_r))/(s_m - s_p) + (s_m/s_l)*(s_p/s_r) &
2223 & *pcorr*(vel_r_rms - vel_l_rms)/2._wp
2224 else if (hypoelasticity)
then
2225 flux_tau_l = 0._wp; flux_tau_r = 0._wp
2227# 551 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2228#if defined(MFC_OpenACC)
2229# 551 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2231# 551 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2232#elif defined(MFC_OpenMP)
2233# 551 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2235# 551 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2242 & eqn_idx%E) = (s_m*(vel_r(
dir_idx(1))*(e_r + pres_r) - flux_tau_r) &
2243 & - s_p*(vel_l(
dir_idx(1))*(e_l + pres_l) - flux_tau_l) + s_m*s_p*(e_l - e_r))/(s_m &
2247 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r) - s_p*vel_l(
dir_idx(1))*(e_l &
2248 & + pres_l) + s_m*s_p*(e_l - e_r))/(s_m - s_p) + (s_m/s_l)*(s_p/s_r)*pcorr*(vel_r_rms &
2249 & - vel_l_rms)/2._wp
2253 if (hypoelasticity)
then
2254 do i = 1, eqn_idx%stress%end - eqn_idx%stress%beg + 1
2256 & eqn_idx%stress%beg - 1 + i) = (s_m*(rho_r*vel_r(
dir_idx(1))*tau_e_r(i)) &
2257 & - s_p*(rho_l*vel_l(
dir_idx(1))*tau_e_l(i)) + s_m*s_p*(rho_l*tau_e_l(i) &
2258 & - rho_r*tau_e_r(i)))/(s_m - s_p)
2264# 578 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2265#if defined(MFC_OpenACC)
2266# 578 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2268# 578 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2269#elif defined(MFC_OpenMP)
2270# 578 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2272# 578 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2274 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2275 flux_rsx_vf(j, k, l, i) = (ql_prim_rsx_vf(j, k, l, i) - qr_prim_rsx_vf(j, k + 1, l, &
2276 & i))*s_m*s_p/(s_m - s_p)
2278 & i) - s_p*ql_prim_rsx_vf(j, k, l, i))/(s_m - s_p)
2281 if (bubbles_euler)
then
2283 if (num_fluids > 1)
then
2290# 594 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2291#if defined(MFC_OpenACC)
2292# 594 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2294# 594 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2295#elif defined(MFC_OpenMP)
2296# 594 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2298# 594 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2300 do i = eqn_idx%species%beg, eqn_idx%species%end
2301 y_l = ql_prim_rsx_vf(j, k, l, i)
2302 y_r = qr_prim_rsx_vf(j, k + 1, l, i)
2305 & i) = (s_m*y_r*rho_r*vel_r(
dir_idx(1)) - s_p*y_l*rho_l*vel_l(
dir_idx(1)) &
2306 & + s_m*s_p*(y_l*rho_l - y_r*rho_r))/(s_m - s_p)
2316# 610 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2317#if defined(MFC_OpenACC)
2318# 610 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2320# 610 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2321#elif defined(MFC_OpenMP)
2322# 610 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2324# 610 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2328 & eqn_idx%B%beg + i) = (s_m*(vel_r(1)*b%R(2 + i) - vel_r(2 + i)*bx0) &
2329 & - s_p*(vel_l(1)*b%L(2 + i) - vel_l(2 + i)*bx0) + s_m*s_p*(b%L(2 + i) &
2330 & - b%R(2 + i)))/(s_m - s_p)
2337# 621 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2338#if defined(MFC_OpenACC)
2339# 621 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2341# 621 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2342#elif defined(MFC_OpenMP)
2343# 621 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2345# 621 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2349 & eqn_idx%B%beg + i) = (s_m*(vel_r(
dir_idx(1))*b%R(i + 1) - vel_r(i + 1) &
2350 & *b%R(norm_dir)) - s_p*(vel_l(
dir_idx(1))*b%L(i + 1) - vel_l(i + 1) &
2351 & *b%L(norm_dir)) + s_m*s_p*(b%L(i + 1) - b%R(i + 1)))/(s_m - s_p)
2354 if (hyper_cleaning)
then
2357 & eqn_idx%B%beg + norm_dir - 1) + (s_m*qr_prim_rsx_vf(j, k + 1, l, &
2358 & eqn_idx%psi) - s_p*ql_prim_rsx_vf(j, k, l, eqn_idx%psi))/(s_m - s_p)
2361 & eqn_idx%psi) = (hyper_cleaning_speed**2*(s_m*b%R(norm_dir) &
2362 & - s_p*b%L(norm_dir)) + s_m*s_p*(ql_prim_rsx_vf(j, k, l, &
2363 & eqn_idx%psi) - qr_prim_rsx_vf(j, k + 1, l, eqn_idx%psi)))/(s_m - s_p)
2366 flux_rsx_vf(j, k, l, eqn_idx%B%beg + norm_dir - 1) = 0._wp
2372# 648 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2376# 650 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2377#if defined(MFC_OpenACC)
2378# 650 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2380# 650 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2381#elif defined(MFC_OpenMP)
2382# 650 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2384# 650 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2391 & eqn_idx%cont%end + 2) - (s_m*pres_r - s_p*pres_l)/(s_m - s_p)
2394# 658 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2395#if defined(MFC_OpenACC)
2396# 658 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2398# 658 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2399#elif defined(MFC_OpenMP)
2400# 658 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2402# 658 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2404 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2409 if (cyl_coord .and. hypoelasticity)
then
2412 & eqn_idx%cont%end + 2) + (s_m*tau_e_r(4) - s_p*tau_e_l(4))/(s_m - s_p)
2415# 669 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2416#if defined(MFC_OpenACC)
2417# 669 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2419# 669 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2420#elif defined(MFC_OpenMP)
2421# 669 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2423# 669 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2425 do i = eqn_idx%stress%beg, eqn_idx%stress%end
2429# 675 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2434# 678 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2435#if defined(MFC_OpenACC)
2436# 678 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2438# 678 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2439#elif defined(MFC_OpenMP)
2440# 678 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2442# 678 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2444# 678 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2447# 112 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2448# 113 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2449# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2450 if (norm_dir == 3)
then
2452# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2454# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2455#if defined(MFC_OpenACC)
2456# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2458# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2460# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2462# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2463#elif defined(MFC_OpenMP)
2464# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2466# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2468# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2470# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2472# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2474# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2476# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2478# 125 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2483# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2484#if defined(MFC_OpenACC)
2485# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2487# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2488#elif defined(MFC_OpenMP)
2489# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2491# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2493 do i = 1, eqn_idx%cont%end
2494 alpha_rho_l(i) = ql_prim_rsx_vf(j, k, l, i)
2495 alpha_rho_r(i) = qr_prim_rsx_vf(j, k, l + 1, i)
2498 vel_l_rms = 0._wp; vel_r_rms = 0._wp
2501# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2502#if defined(MFC_OpenACC)
2503# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2505# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2506#elif defined(MFC_OpenMP)
2507# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2509# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2512 vel_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%cont%end + i)
2513 vel_r(i) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%cont%end + i)
2514 vel_l_rms = vel_l_rms + vel_l(i)**2._wp
2515 vel_r_rms = vel_r_rms + vel_r(i)**2._wp
2519# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2520#if defined(MFC_OpenACC)
2521# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2523# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2524#elif defined(MFC_OpenMP)
2525# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2527# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2529 do i = 1, num_fluids
2530 alpha_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%E + i)
2531 alpha_r(i) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%E + i)
2534 pres_l = ql_prim_rsx_vf(j, k, l, eqn_idx%E)
2535 pres_r = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%E)
2541 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
2542 b%R(2) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%B%beg)
2543 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
2544 b%R(3) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%B%beg + 1)
2546 b%L(1) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
2547 b%R(1) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%B%beg)
2548 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
2549 b%R(2) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%B%beg + 1)
2550 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 2)
2551 b%R(3) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%B%beg + 2)
2573# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2574#if defined(MFC_OpenACC)
2575# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2577# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2578#elif defined(MFC_OpenMP)
2579# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2581# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2583 do i = 1, num_fluids
2584 alpha_rho_l(i) = max(0._wp, alpha_rho_l(i))
2585 alpha_l(i) = min(max(0._wp, alpha_l(i)), 1._wp)
2586 alpha_l_sum = alpha_l_sum + alpha_l(i)
2587 alpha_rho_r(i) = max(0._wp, alpha_rho_r(i))
2588 alpha_r(i) = min(max(0._wp, alpha_r(i)), 1._wp)
2589 alpha_r_sum = alpha_r_sum + alpha_r(i)
2592 alpha_l = alpha_l/max(alpha_l_sum,
sgm_eps)
2593 alpha_r = alpha_r/max(alpha_r_sum,
sgm_eps)
2597# 202 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2598#if defined(MFC_OpenACC)
2599# 202 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2601# 202 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2602#elif defined(MFC_OpenMP)
2603# 202 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2605# 202 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2607 do i = 1, num_fluids
2608 rho_l = rho_l + alpha_rho_l(i)
2609 gamma_l = gamma_l + alpha_l(i)*
gammas(i)
2610 pi_inf_l = pi_inf_l + alpha_l(i)*
pi_infs(i)
2611 qv_l = qv_l + alpha_rho_l(i)*
qvs(i)
2613 rho_r = rho_r + alpha_rho_r(i)
2614 gamma_r = gamma_r + alpha_r(i)*
gammas(i)
2615 pi_inf_r = pi_inf_r + alpha_r(i)*
pi_infs(i)
2616 qv_r = qv_r + alpha_rho_r(i)*
qvs(i)
2621# 216 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2622#if defined(MFC_OpenACC)
2623# 216 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2625# 216 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2626#elif defined(MFC_OpenMP)
2627# 216 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2629# 216 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2635 if (merge(re_size_loc1, re_size_loc2, i == 1) > 0) re_l(i) = 0._wp
2636 if (merge(re_size_loc1, re_size_loc2, i == 1) > 0) re_r(i) = 0._wp
2639# 224 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2640#if defined(MFC_OpenACC)
2641# 224 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2643# 224 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2644#elif defined(MFC_OpenMP)
2645# 224 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2647# 224 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2649 do q = 1, merge(re_size_loc1, re_size_loc2, i == 1)
2654 re_l(i) = 1._wp/max(re_l(i),
sgm_eps)
2655 re_r(i) = 1._wp/max(re_r(i),
sgm_eps)
2661# 236 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2662#if defined(MFC_OpenACC)
2663# 236 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2665# 236 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2666#elif defined(MFC_OpenMP)
2667# 236 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2669# 236 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2671 do i = eqn_idx%species%beg, eqn_idx%species%end
2672 ys_l(i - eqn_idx%species%beg + 1) = ql_prim_rsx_vf(j, k, l, i)
2673 ys_r(i - eqn_idx%species%beg + 1) = qr_prim_rsx_vf(j, k, l + 1, i)
2676 call get_mixture_molecular_weight(ys_l, mw_l)
2677 call get_mixture_molecular_weight(ys_r, mw_r)
2678 xs_l(:) = ys_l(:)*mw_l/molecular_weights(:)
2679 xs_r(:) = ys_r(:)*mw_r/molecular_weights(:)
2681 r_gas_l = gas_constant/mw_l
2682 r_gas_r = gas_constant/mw_r
2683 t_l = pres_l/rho_l/r_gas_l
2684 t_r = pres_r/rho_r/r_gas_r
2686 call get_species_specific_heats_r(t_l, cp_il)
2687 call get_species_specific_heats_r(t_r, cp_ir)
2689 if (chem_params%gamma_method == 1)
then
2691 gamma_il = cp_il/(cp_il - 1.0_wp)
2692 gamma_ir = cp_ir/(cp_ir - 1.0_wp)
2694 gamma_l = sum(xs_l(:)/(gamma_il(:) - 1.0_wp))
2695 gamma_r = sum(xs_r(:)/(gamma_ir(:) - 1.0_wp))
2696 else if (chem_params%gamma_method == 2)
then
2698 call get_mixture_specific_heat_cp_mass(t_l, ys_l, cp_l)
2699 call get_mixture_specific_heat_cp_mass(t_r, ys_r, cp_r)
2700 call get_mixture_specific_heat_cv_mass(t_l, ys_l, cv_l)
2701 call get_mixture_specific_heat_cv_mass(t_r, ys_r, cv_r)
2704 gamma_l = 1.0_wp/(gamm_l - 1.0_wp)
2706 gamma_r = 1.0_wp/(gamm_r - 1.0_wp)
2709 call get_mixture_energy_mass(t_l, ys_l, e_l)
2710 call get_mixture_energy_mass(t_r, ys_r, e_r)
2712 e_l = rho_l*e_l + 5.e-1*rho_l*vel_l_rms
2713 e_r = rho_r*e_r + 5.e-1*rho_r*vel_r_rms
2714 h_l = (e_l + pres_l)/rho_l
2715 h_r = (e_r + pres_r)/rho_r
2716 else if (mhd .and. relativity)
then
2717 ga%L = 1._wp/sqrt(1._wp - vel_l_rms)
2718 ga%R = 1._wp/sqrt(1._wp - vel_r_rms)
2719# 286 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2720 vdotb%L = vel_l(1)*b%L(1) + vel_l(2)*b%L(2) + vel_l(3)*b%L(3)
2721 vdotb%R = vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3)
2723 b4%L(1:3) = b%L(1:3)/ga%L + ga%L*vel_l(1:3)*vdotb%L
2724 b4%R(1:3) = b%R(1:3)/ga%R + ga%R*vel_r(1:3)*vdotb%R
2725 b2%L = b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp
2726 b2%R = b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp
2727# 294 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2729 pres_mag%L = 0.5_wp*(b2%L/ga%L**2._wp + vdotb%L**2._wp)
2730 pres_mag%R = 0.5_wp*(b2%R/ga%R**2._wp + vdotb%R**2._wp)
2733 h_l = 1._wp + (gamma_l + 1)*pres_l/rho_l
2734 h_r = 1._wp + (gamma_r + 1)*pres_r/rho_r
2735# 302 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2736 cm%L(1:3) = (rho_l*h_l*ga%L**2 + b2%L)*vel_l(1:3) - vdotb%L*b%L(1:3)
2737 cm%R(1:3) = (rho_r*h_r*ga%R**2 + b2%R)*vel_r(1:3) - vdotb%R*b%R(1:3)
2738# 305 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2740 e_l = rho_l*h_l*ga%L**2 - pres_l + 0.5_wp*(b2%L + vel_l_rms*b2%L - vdotb%L**2._wp) - rho_l*ga%L
2741 e_r = rho_r*h_r*ga%R**2 - pres_r + 0.5_wp*(b2%R + vel_r_rms*b2%R - vdotb%R**2._wp) - rho_r*ga%R
2742 else if (mhd .and. .not. relativity)
then
2743# 310 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2744 pres_mag%L = 0.5_wp*(b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp)
2745 pres_mag%R = 0.5_wp*(b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp)
2746# 313 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2747 e_l = gamma_l*pres_l + pi_inf_l + 0.5_wp*rho_l*vel_l_rms + qv_l + pres_mag%L
2749 e_r = gamma_r*pres_r + pi_inf_r + 0.5_wp*rho_r*vel_r_rms + qv_r + pres_mag%R
2750 h_l = (e_l + pres_l - pres_mag%L)/rho_l
2752 h_r = (e_r + pres_r - pres_mag%R)/rho_r
2754 e_l = gamma_l*pres_l + pi_inf_l + 5.e-1*rho_l*vel_l_rms + qv_l
2755 e_r = gamma_r*pres_r + pi_inf_r + 5.e-1*rho_r*vel_r_rms + qv_r
2756 h_l = (e_l + pres_l)/rho_l
2757 h_r = (e_r + pres_r)/rho_r
2761 if (hypoelasticity)
then
2762 g_l = 0._wp; g_r = 0._wp
2765# 330 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2766#if defined(MFC_OpenACC)
2767# 330 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2769# 330 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2770#elif defined(MFC_OpenMP)
2771# 330 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2773# 330 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2775 do i = 1, num_fluids
2776 g_l = g_l + alpha_l(i)*
gs_rs(i)
2777 g_r = g_r + alpha_r(i)*
gs_rs(i)
2780 if (cont_damage)
then
2781 g_l = g_l*max((1._wp - ql_prim_rsx_vf(j, k, l, eqn_idx%damage)), 0._wp)
2782 g_r = g_r*max((1._wp - qr_prim_rsx_vf(j, k, l, eqn_idx%damage)), 0._wp)
2786# 341 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2787#if defined(MFC_OpenACC)
2788# 341 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2790# 341 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2791#elif defined(MFC_OpenMP)
2792# 341 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2794# 341 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2796 do i = 1, eqn_idx%stress%end - eqn_idx%stress%beg + 1
2797 tau_e_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%stress%beg - 1 + i)
2798 tau_e_r(i) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%stress%beg - 1 + i)
2800 if ((g_l > 1000) .and. (g_r > 1000))
then
2801 e_l = e_l + (tau_e_l(i)*tau_e_l(i))/(4._wp*g_l)
2802 e_r = e_r + (tau_e_r(i)*tau_e_r(i))/(4._wp*g_r)
2804 if (any(eqn_idx%stress%beg - 1 + i == shear_indices))
then
2805 e_l = e_l + (tau_e_l(i)*tau_e_l(i))/(4._wp*g_l)
2806 e_r = e_r + (tau_e_r(i)*tau_e_r(i))/(4._wp*g_r)
2813# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2814 rho_avg = sqrt(rho_l*rho_r)
2815# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2817# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2819# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2821# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2823# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2824#if defined(MFC_OpenACC)
2825# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2827# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2828#elif defined(MFC_OpenMP)
2829# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2831# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2833# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2835# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2836 vel_avg_rms = vel_avg_rms + (sqrt(rho_l)*vel_l(i) + sqrt(rho_r)*vel_r(i))**2._wp/(sqrt(rho_l) + sqrt(rho_r))**2._wp
2837# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2839# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2841# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2842 h_avg = (sqrt(rho_l)*h_l + sqrt(rho_r)*h_r)/(sqrt(rho_l) + sqrt(rho_r))
2843# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2845# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2846 gamma_avg = (sqrt(rho_l)*gamma_l + sqrt(rho_r)*gamma_r)/(sqrt(rho_l) + sqrt(rho_r))
2847# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2849# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2850 vel_avg_rms = (sqrt(rho_l)*vel_l(1) + sqrt(rho_r)*vel_r(1))**2._wp/(sqrt(rho_l) + sqrt(rho_r))**2._wp
2851# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2853# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2854 qv_avg = (sqrt(rho_l)*qv_l + sqrt(rho_r)*qv_r)/(sqrt(rho_l) + sqrt(rho_r))
2855# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2857# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2859# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2861# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2862 call get_species_enthalpies_rt(t_l, h_il)
2863# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2864 call get_species_enthalpies_rt(t_r, h_ir)
2865# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2866 h_il = h_il*gas_constant/molecular_weights*t_l
2867# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2868 h_ir = h_ir*gas_constant/molecular_weights*t_r
2869# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2870 call get_species_specific_heats_r(t_l, cp_il)
2871# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2872 call get_species_specific_heats_r(t_r, cp_ir)
2873# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2875# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2876 h_avg_2 = (sqrt(rho_l)*h_il + sqrt(rho_r)*h_ir)/(sqrt(rho_l) + sqrt(rho_r))
2877# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2878 yi_avg = (sqrt(rho_l)*ys_l + sqrt(rho_r)*ys_r)/(sqrt(rho_l) + sqrt(rho_r))
2879# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2880 t_avg = (sqrt(rho_l)*t_l + sqrt(rho_r)*t_r)/(sqrt(rho_l) + sqrt(rho_r))
2881# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2882 if (abs(t_l - t_r) < eps)
then
2883# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2885# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2886 cp_avg = sum(yi_avg(:)*(0.5_wp*cp_il(:) + 0.5_wp*cp_ir(:))*gas_constant/molecular_weights(:))
2887# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2888 cv_avg = sum(yi_avg(:)*((0.5_wp*cp_il(:) + 0.5_wp*cp_ir(:))*gas_constant/molecular_weights(:) &
2889# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2890 & - gas_constant/molecular_weights(:)))
2891# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2893# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2895# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2896 cp_avg = sum(yi_avg(:)*(h_ir(:) - h_il(:))/(t_r - t_l))
2897# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2898 cv_avg = sum(yi_avg(:)*((h_ir(:) - h_il(:))/(t_r - t_l) - gas_constant/molecular_weights(:)))
2899# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2901# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2902 gamma_avg = cp_avg/cv_avg
2903# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2905# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2906 phi_avg(:) = (gamma_avg - 1._wp)*(vel_avg_rms/2.0_wp - h_avg_2(:)) + gamma_avg*gas_constant/molecular_weights(:)*t_avg
2907# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2908 c_sum_yi_phi = sum(yi_avg(:)*phi_avg(:))
2909# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2911# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2913# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2915# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2917# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2918 rho_avg = 5.e-1_wp*(rho_l + rho_r)
2919# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2921# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2923# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2924#if defined(MFC_OpenACC)
2925# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2927# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2928#elif defined(MFC_OpenMP)
2929# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2931# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2933# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2935# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2936 vel_avg_rms = vel_avg_rms + (5.e-1_wp*(vel_l(i) + vel_r(i)))**2._wp
2937# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2939# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2941# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2942 h_avg = 5.e-1_wp*(h_l + h_r)
2943# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2944 gamma_avg = 5.e-1_wp*(gamma_l + gamma_r)
2945# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2946 qv_avg = 5.e-1_wp*(qv_l + qv_r)
2947# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2960 & c_sum_yi_phi, c_avg, qv_avg)
2972# 381 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2973#if defined(MFC_OpenACC)
2974# 381 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2976# 381 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2977#elif defined(MFC_OpenMP)
2978# 381 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2980# 381 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2983 re_avg_rsx_vf(j, k, l, i) = 2._wp/(1._wp/re_l(i) + 1._wp/re_r(i))
2991 s_l = min(vel_l(
dir_idx(1)) - c_fast%L, vel_r(
dir_idx(1)) - c_fast%R)
2992 s_r = max(vel_r(
dir_idx(1)) + c_fast%R, vel_l(
dir_idx(1)) + c_fast%L)
2993 else if (hypoelasticity)
then
2995 s_l = min(vel_l(
dir_idx(1)) - sqrt(c_l*c_l + (((4._wp*g_l)/3._wp) + tau_e_l(
dir_idx_tau(1))) &
2997 & vel_r(
dir_idx(1)) - sqrt(c_r*c_r + (((4._wp*g_r)/3._wp) + tau_e_r(
dir_idx_tau(1))) &
2999 s_r = max(vel_r(
dir_idx(1)) + sqrt(c_r*c_r + (((4._wp*g_r)/3._wp) + tau_e_r(
dir_idx_tau(1))) &
3001 & vel_l(
dir_idx(1)) + sqrt(c_l*c_l + (((4._wp*g_l)/3._wp) + tau_e_l(
dir_idx_tau(1))) &
3003 else if (hyperelasticity)
then
3004 s_l = min(vel_l(
dir_idx(1)) - sqrt(c_l*c_l + (4._wp*g_l/3._wp)/rho_l), &
3005 & vel_r(
dir_idx(1)) - sqrt(c_r*c_r + (4._wp*g_r/3._wp)/rho_r))
3006 s_r = max(vel_r(
dir_idx(1)) + sqrt(c_r*c_r + (4._wp*g_r/3._wp)/rho_r), &
3007 & vel_l(
dir_idx(1)) + sqrt(c_l*c_l + (4._wp*g_l/3._wp)/rho_l))
3013 if (hyper_cleaning)
then
3015 s_l = min(s_l, -hyper_cleaning_speed)
3016 s_r = max(s_r, hyper_cleaning_speed)
3019 s_s = (pres_r - pres_l + rho_l*vel_l(
dir_idx(1))*(s_l - vel_l(
dir_idx(1))) &
3021 & - rho_r*(s_r - vel_r(
dir_idx(1))))
3023 pres_sl = 5.e-1_wp*(pres_l + pres_r + rho_avg*c_avg*(vel_l(
dir_idx(1)) - vel_r(
dir_idx(1))))
3029 & sqrt(1._wp + ((5.e-1_wp + gamma_l)/(1._wp + gamma_l))*(pres_sl/pres_l - 1._wp) &
3030 & *pres_l/((pres_l + pi_inf_l/(1._wp + gamma_l)))))
3032 & sqrt(1._wp + ((5.e-1_wp + gamma_r)/(1._wp + gamma_r))*(pres_sr/pres_r - 1._wp) &
3033 & *pres_r/((pres_r + pi_inf_r/(1._wp + gamma_r)))))
3035 s_l = vel_l(
dir_idx(1)) - c_l*ms_l
3036 s_r = vel_r(
dir_idx(1)) + c_r*ms_r
3038 s_s = 5.e-1_wp*((vel_l(
dir_idx(1)) + vel_r(
dir_idx(1))) + (pres_l - pres_r)/(rho_avg*c_avg))
3041 s_m = min(0._wp, s_l); s_p = max(0._wp, s_r)
3043 xi_m = (5.e-1_wp + sign(5.e-1_wp, s_l)) + (5.e-1_wp - sign(5.e-1_wp, s_l))*(5.e-1_wp + sign(5.e-1_wp, &
3045 xi_p = (5.e-1_wp - sign(5.e-1_wp, s_r)) + (5.e-1_wp - sign(5.e-1_wp, s_l))*(5.e-1_wp + sign(5.e-1_wp, &
3049 if (low_mach == 1)
then
3051# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3052 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
3053# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3055# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3057# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3058 if (low_mach == 1)
then
3059# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3060 pcorr = -(s_p - s_m)*(rho_l + rho_r)/8._wp*(zcoef - 1._wp)
3061# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3063# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3065# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3066 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
3067# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3069# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3071# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3072 if (low_mach == 1)
then
3073# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3075# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3076 & /(rho_r*(s_r - vel_r(
dir_idx(1))) - rho_l*(s_l - vel_l(
dir_idx(1))))*(zcoef - 1._wp)
3077# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3078 else if (low_mach == 2)
then
3079# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3081# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3083# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3085# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3087# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3089# 450 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3096 if (.not. relativity)
then
3098# 457 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3099#if defined(MFC_OpenACC)
3100# 457 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3102# 457 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3103#elif defined(MFC_OpenMP)
3104# 457 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3106# 457 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3108 do i = 1, eqn_idx%cont%end
3110 & i) = (s_m*alpha_rho_r(i)*vel_r(norm_dir) - s_p*alpha_rho_l(i)*vel_l(norm_dir) &
3111 & + s_m*s_p*(alpha_rho_l(i) - alpha_rho_r(i)))/(s_m - s_p)
3113 else if (relativity)
then
3115# 464 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3116#if defined(MFC_OpenACC)
3117# 464 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3119# 464 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3120#elif defined(MFC_OpenMP)
3121# 464 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3123# 464 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3125 do i = 1, eqn_idx%cont%end
3127 & i) = (s_m*ga%R*alpha_rho_r(i)*vel_r(norm_dir) - s_p*ga%L*alpha_rho_l(i) &
3128 & *vel_l(norm_dir) + s_m*s_p*(ga%L*alpha_rho_l(i) - ga%R*alpha_rho_r(i)))/(s_m &
3134 if (mhd .and. (.not. relativity))
then
3136# 475 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3137#if defined(MFC_OpenACC)
3138# 475 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3140# 475 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3141#elif defined(MFC_OpenMP)
3142# 475 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3144# 475 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3150 & eqn_idx%cont%end + i) = (s_m*(rho_r*vel_r(i)*vel_r(norm_dir) - b%R(i) &
3151 & *b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(rho_l*vel_l(i) &
3152 & *vel_l(norm_dir) - b%L(i)*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L)) &
3153 & + s_m*s_p*(rho_l*vel_l(i) - rho_r*vel_r(i)))/(s_m - s_p)
3155 else if (mhd .and. relativity)
then
3157# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3158#if defined(MFC_OpenACC)
3159# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3161# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3162#elif defined(MFC_OpenMP)
3163# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3165# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3171 & eqn_idx%cont%end + i) = (s_m*(cm%R(i)*vel_r(norm_dir) - b4%R(i) &
3172 & /ga%R*b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(cm%L(i) &
3173 & *vel_l(norm_dir) - b4%L(i)/ga%L*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L) &
3174 & ) + s_m*s_p*(cm%L(i) - cm%R(i)))/(s_m - s_p)
3176 else if (bubbles_euler)
then
3178# 497 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3179#if defined(MFC_OpenACC)
3180# 497 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3182# 497 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3183#elif defined(MFC_OpenMP)
3184# 497 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3186# 497 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3193 & + s_m*s_p*(rho_l*vel_l(
dir_idx(i)) - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) &
3194 & + (s_m/s_l)*(s_p/s_r)*pcorr*(vel_r(
dir_idx(i)) - vel_l(
dir_idx(i)))
3196 else if (hypoelasticity)
then
3198# 507 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3199#if defined(MFC_OpenACC)
3200# 507 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3202# 507 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3203#elif defined(MFC_OpenMP)
3204# 507 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3206# 507 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3214 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p)
3218# 517 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3219#if defined(MFC_OpenACC)
3220# 517 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3222# 517 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3223#elif defined(MFC_OpenMP)
3224# 517 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3226# 517 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3233 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) + (s_m/s_l)*(s_p/s_r) &
3239 if (mhd .and. (.not. relativity))
then
3241# 532 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3243 & eqn_idx%E) = (s_m*(vel_r(norm_dir)*(e_r + pres_r + pres_mag%R) - b%R(norm_dir) &
3244 & *(vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3))) - s_p*(vel_l(norm_dir) &
3245 & *(e_l + pres_l + pres_mag%L) - b%L(norm_dir)*(vel_l(1)*b%L(1) + vel_l(2)*b%L(2) &
3246 & + vel_l(3)*b%L(3))) + s_m*s_p*(e_l - e_r))/(s_m - s_p)
3247# 538 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3248 else if (mhd .and. relativity)
then
3251 & eqn_idx%E) = (s_m*(cm%R(norm_dir) - ga%R*alpha_rho_r(1)*vel_r(norm_dir)) &
3252 & - s_p*(cm%L(norm_dir) - ga%L*alpha_rho_l(1)*vel_l(norm_dir)) + s_m*s_p*(e_l - e_r)) &
3254 else if (bubbles_euler)
then
3256 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r - ptilde_r) - s_p*vel_l(
dir_idx(1) &
3257 & )*(e_l + pres_l - ptilde_l) + s_m*s_p*(e_l - e_r))/(s_m - s_p) + (s_m/s_l)*(s_p/s_r) &
3258 & *pcorr*(vel_r_rms - vel_l_rms)/2._wp
3259 else if (hypoelasticity)
then
3260 flux_tau_l = 0._wp; flux_tau_r = 0._wp
3262# 551 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3263#if defined(MFC_OpenACC)
3264# 551 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3266# 551 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3267#elif defined(MFC_OpenMP)
3268# 551 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3270# 551 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3277 & eqn_idx%E) = (s_m*(vel_r(
dir_idx(1))*(e_r + pres_r) - flux_tau_r) &
3278 & - s_p*(vel_l(
dir_idx(1))*(e_l + pres_l) - flux_tau_l) + s_m*s_p*(e_l - e_r))/(s_m &
3282 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r) - s_p*vel_l(
dir_idx(1))*(e_l &
3283 & + pres_l) + s_m*s_p*(e_l - e_r))/(s_m - s_p) + (s_m/s_l)*(s_p/s_r)*pcorr*(vel_r_rms &
3284 & - vel_l_rms)/2._wp
3288 if (hypoelasticity)
then
3289 do i = 1, eqn_idx%stress%end - eqn_idx%stress%beg + 1
3291 & eqn_idx%stress%beg - 1 + i) = (s_m*(rho_r*vel_r(
dir_idx(1))*tau_e_r(i)) &
3292 & - s_p*(rho_l*vel_l(
dir_idx(1))*tau_e_l(i)) + s_m*s_p*(rho_l*tau_e_l(i) &
3293 & - rho_r*tau_e_r(i)))/(s_m - s_p)
3299# 578 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3300#if defined(MFC_OpenACC)
3301# 578 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3303# 578 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3304#elif defined(MFC_OpenMP)
3305# 578 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3307# 578 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3309 do i = eqn_idx%adv%beg, eqn_idx%adv%end
3310 flux_rsx_vf(j, k, l, i) = (ql_prim_rsx_vf(j, k, l, i) - qr_prim_rsx_vf(j, k, l + 1, &
3311 & i))*s_m*s_p/(s_m - s_p)
3313 & i) - s_p*ql_prim_rsx_vf(j, k, l, i))/(s_m - s_p)
3316 if (bubbles_euler)
then
3318 if (num_fluids > 1)
then
3325# 594 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3326#if defined(MFC_OpenACC)
3327# 594 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3329# 594 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3330#elif defined(MFC_OpenMP)
3331# 594 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3333# 594 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3335 do i = eqn_idx%species%beg, eqn_idx%species%end
3336 y_l = ql_prim_rsx_vf(j, k, l, i)
3337 y_r = qr_prim_rsx_vf(j, k, l + 1, i)
3340 & i) = (s_m*y_r*rho_r*vel_r(
dir_idx(1)) - s_p*y_l*rho_l*vel_l(
dir_idx(1)) &
3341 & + s_m*s_p*(y_l*rho_l - y_r*rho_r))/(s_m - s_p)
3351# 610 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3352#if defined(MFC_OpenACC)
3353# 610 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3355# 610 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3356#elif defined(MFC_OpenMP)
3357# 610 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3359# 610 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3363 & eqn_idx%B%beg + i) = (s_m*(vel_r(1)*b%R(2 + i) - vel_r(2 + i)*bx0) &
3364 & - s_p*(vel_l(1)*b%L(2 + i) - vel_l(2 + i)*bx0) + s_m*s_p*(b%L(2 + i) &
3365 & - b%R(2 + i)))/(s_m - s_p)
3372# 621 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3373#if defined(MFC_OpenACC)
3374# 621 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3376# 621 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3377#elif defined(MFC_OpenMP)
3378# 621 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3380# 621 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3384 & eqn_idx%B%beg + i) = (s_m*(vel_r(
dir_idx(1))*b%R(i + 1) - vel_r(i + 1) &
3385 & *b%R(norm_dir)) - s_p*(vel_l(
dir_idx(1))*b%L(i + 1) - vel_l(i + 1) &
3386 & *b%L(norm_dir)) + s_m*s_p*(b%L(i + 1) - b%R(i + 1)))/(s_m - s_p)
3389 if (hyper_cleaning)
then
3392 & eqn_idx%B%beg + norm_dir - 1) + (s_m*qr_prim_rsx_vf(j, k, l + 1, &
3393 & eqn_idx%psi) - s_p*ql_prim_rsx_vf(j, k, l, eqn_idx%psi))/(s_m - s_p)
3396 & eqn_idx%psi) = (hyper_cleaning_speed**2*(s_m*b%R(norm_dir) &
3397 & - s_p*b%L(norm_dir)) + s_m*s_p*(ql_prim_rsx_vf(j, k, l, &
3398 & eqn_idx%psi) - qr_prim_rsx_vf(j, k, l + 1, eqn_idx%psi)))/(s_m - s_p)
3401 flux_rsx_vf(j, k, l, eqn_idx%B%beg + norm_dir - 1) = 0._wp
3407# 675 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3412# 678 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3413#if defined(MFC_OpenACC)
3414# 678 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3416# 678 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3417#elif defined(MFC_OpenMP)
3418# 678 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3420# 678 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3422# 678 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3425# 681 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3428 if (weno_re_flux)
then
3430 & dql_prim_dx_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3431 & dql_prim_dy_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3432 & dql_prim_dz_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3433 & qr_prim_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3434 & dqr_prim_dx_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3435 & dqr_prim_dy_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3436 & dqr_prim_dz_vf(eqn_idx%mom%beg:eqn_idx%mom%end), flux_src_vf, q_prim_vf, &
3437 & norm_dir, ix, iy, iz)
3440 & dql_prim_dx_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3441 & dql_prim_dy_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3442 & dql_prim_dz_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3443 & q_prim_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3444 & dqr_prim_dx_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3445 & dqr_prim_dy_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3446 & dqr_prim_dz_vf(eqn_idx%mom%beg:eqn_idx%mom%end), flux_src_vf, q_prim_vf, &
3447 & norm_dir, ix, iy, iz)