358 subroutine s_lf_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, &
359 & dqR_prim_dx_vf, dqR_prim_dy_vf, dqR_prim_dz_vf, qR_prim_vf, q_prim_vf, flux_vf, flux_src_vf, &
360 & flux_gsrc_vf, norm_dir, ix, iy, iz)
362 real(wp),
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:),
intent(inout) :: qL_prim_rsx_vf, qR_prim_rsx_vf
363 type(
scalar_field),
dimension(sys_size),
intent(in) :: q_prim_vf
364 type(
scalar_field),
allocatable,
dimension(:),
intent(inout) :: qL_prim_vf, qR_prim_vf
365 type(
scalar_field),
allocatable,
dimension(:),
intent(inout) :: dqL_prim_dx_vf, dqR_prim_dx_vf, dqL_prim_dy_vf, &
366 & dqR_prim_dy_vf, dqL_prim_dz_vf, dqR_prim_dz_vf
369 type(
scalar_field),
dimension(sys_size),
intent(inout) :: flux_vf, flux_src_vf, flux_gsrc_vf
370 real(wp) :: flux_tau_L, flux_tau_R
371 integer,
intent(in) :: norm_dir
374# 50 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
375 real(wp),
dimension(num_fluids) :: alpha_rho_L, alpha_rho_R
376 real(wp),
dimension(num_vels) :: vel_L, vel_R
377 real(wp),
dimension(num_fluids) :: alpha_L, alpha_R
378 real(wp),
dimension(num_species) :: Ys_L, Ys_R
379 real(wp),
dimension(num_species) :: Cp_iL, Cp_iR, Xs_L, Xs_R, Gamma_iL, Gamma_iR
380 real(wp),
dimension(num_species) :: Yi_avg, Phi_avg, h_iL, h_iR, h_avg_2
382 real(wp),
dimension(num_dims, num_dims) :: vel_grad_L, vel_grad_R
383# 59 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
384 real(wp) :: rho_L, rho_R
385 real(wp) :: pres_L, pres_R
388 real(wp) :: Cp_avg, Cv_avg, T_avg, eps, c_sum_Yi_Phi
391 real(wp) :: MW_L, MW_R
392 real(wp) :: R_gas_L, R_gas_R
393 real(wp) :: Cp_L, Cp_R
394 real(wp) :: Cv_L, Cv_R
395 real(wp) :: Gamm_L, Gamm_R
396 real(wp) :: gamma_L, gamma_R
397 real(wp) :: pi_inf_L, pi_inf_R
398 real(wp) :: qv_L, qv_R
400 real(wp),
dimension(6) :: tau_e_L, tau_e_R
402 real(wp),
dimension(2) :: Re_L, Re_R
403 real(wp),
dimension(3) :: xi_field_L, xi_field_R
406 real(wp) :: gamma_avg
408 real(wp) :: s_L, s_R, s_M, s_P, s_S
409 real(wp) :: xi_M, xi_P
410 real(wp) :: ptilde_L, ptilde_R
411 real(wp) :: vel_L_rms, vel_R_rms, vel_avg_rms
412 real(wp) :: vel_L_tmp, vel_R_tmp
413 real(wp) :: Ms_L, Ms_R, pres_SL, pres_SR
414 real(wp) :: alpha_L_sum, alpha_R_sum
415 real(wp) :: zcoef, pcorr
422 integer :: i, j, k, l, q
423 integer,
dimension(3) :: idx_right_phys
424 integer :: Re_size_loc1, Re_size_loc2
428 & qr_prim_rsx_vf, dqr_prim_dx_vf, dqr_prim_dy_vf, dqr_prim_dz_vf, norm_dir, ix, iy, iz)
433# 112 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
434# 113 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
435# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
436 if (norm_dir == 1)
then
438# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
440# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
441#if defined(MFC_OpenACC)
442# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
444# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
446# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
448# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
449#elif defined(MFC_OpenMP)
450# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
452# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
454# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
456# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
458# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
460# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
462# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
464# 125 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
469# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
470#if defined(MFC_OpenACC)
471# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
473# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
474#elif defined(MFC_OpenMP)
475# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
477# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
479 do i = 1, eqn_idx%cont%end
480 alpha_rho_l(i) = ql_prim_rsx_vf(j, k, l, i)
481 alpha_rho_r(i) = qr_prim_rsx_vf(j + 1, k, l, i)
484 vel_l_rms = 0._wp; vel_r_rms = 0._wp
487# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
488#if defined(MFC_OpenACC)
489# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
491# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
492#elif defined(MFC_OpenMP)
493# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
495# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
498 vel_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%cont%end + i)
499 vel_r(i) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%cont%end + i)
500 vel_l_rms = vel_l_rms + vel_l(i)**2._wp
501 vel_r_rms = vel_r_rms + vel_r(i)**2._wp
505# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
506#if defined(MFC_OpenACC)
507# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
509# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
510#elif defined(MFC_OpenMP)
511# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
513# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
516 alpha_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%E + i)
517 alpha_r(i) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%E + i)
520 pres_l = ql_prim_rsx_vf(j, k, l, eqn_idx%E)
521 pres_r = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%E)
527 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
528 b%R(2) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%B%beg)
529 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
530 b%R(3) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%B%beg + 1)
532 b%L(1) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
533 b%R(1) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%B%beg)
534 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
535 b%R(2) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%B%beg + 1)
536 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 2)
537 b%R(3) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%B%beg + 2)
559# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
560#if defined(MFC_OpenACC)
561# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
563# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
564#elif defined(MFC_OpenMP)
565# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
567# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
570 alpha_rho_l(i) = max(0._wp, alpha_rho_l(i))
571 alpha_l(i) = min(max(0._wp, alpha_l(i)), 1._wp)
572 alpha_l_sum = alpha_l_sum + alpha_l(i)
573 alpha_rho_r(i) = max(0._wp, alpha_rho_r(i))
574 alpha_r(i) = min(max(0._wp, alpha_r(i)), 1._wp)
575 alpha_r_sum = alpha_r_sum + alpha_r(i)
578 alpha_l = alpha_l/max(alpha_l_sum,
sgm_eps)
579 alpha_r = alpha_r/max(alpha_r_sum,
sgm_eps)
583# 202 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
584#if defined(MFC_OpenACC)
585# 202 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
587# 202 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
588#elif defined(MFC_OpenMP)
589# 202 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
591# 202 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
594 rho_l = rho_l + alpha_rho_l(i)
595 gamma_l = gamma_l + alpha_l(i)*
gammas(i)
596 pi_inf_l = pi_inf_l + alpha_l(i)*
pi_infs(i)
597 qv_l = qv_l + alpha_rho_l(i)*
qvs(i)
599 rho_r = rho_r + alpha_rho_r(i)
600 gamma_r = gamma_r + alpha_r(i)*
gammas(i)
601 pi_inf_r = pi_inf_r + alpha_r(i)*
pi_infs(i)
602 qv_r = qv_r + alpha_rho_r(i)*
qvs(i)
607# 216 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
608#if defined(MFC_OpenACC)
609# 216 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
611# 216 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
612#elif defined(MFC_OpenMP)
613# 216 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
615# 216 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
621 if (merge(re_size_loc1, re_size_loc2, i == 1) > 0) re_l(i) = 0._wp
622 if (merge(re_size_loc1, re_size_loc2, i == 1) > 0) re_r(i) = 0._wp
625# 224 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
626#if defined(MFC_OpenACC)
627# 224 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
629# 224 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
630#elif defined(MFC_OpenMP)
631# 224 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
633# 224 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
635 do q = 1, merge(re_size_loc1, re_size_loc2, i == 1)
640 re_l(i) = 1._wp/max(re_l(i),
sgm_eps)
641 re_r(i) = 1._wp/max(re_r(i),
sgm_eps)
647# 236 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
648#if defined(MFC_OpenACC)
649# 236 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
651# 236 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
652#elif defined(MFC_OpenMP)
653# 236 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
655# 236 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
657 do i = eqn_idx%species%beg, eqn_idx%species%end
658 ys_l(i - eqn_idx%species%beg + 1) = ql_prim_rsx_vf(j, k, l, i)
659 ys_r(i - eqn_idx%species%beg + 1) = qr_prim_rsx_vf(j + 1, k, l, i)
662 call get_mixture_molecular_weight(ys_l, mw_l)
663 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# 285 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
705 ga%L = 1._wp/sqrt(1._wp - vel_l_rms)
706 ga%R = 1._wp/sqrt(1._wp - vel_r_rms)
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
715 pres_mag%L = 0.5_wp*(b2%L/ga%L**2._wp + vdotb%L**2._wp)
716 pres_mag%R = 0.5_wp*(b2%R/ga%R**2._wp + vdotb%R**2._wp)
719 h_l = 1._wp + (gamma_l + 1)*pres_l/rho_l
720 h_r = 1._wp + (gamma_r + 1)*pres_r/rho_r
722 cm%L(1:3) = (rho_l*h_l*ga%L**2 + b2%L)*vel_l(1:3) - vdotb%L*b%L(1:3)
723 cm%R(1:3) = (rho_r*h_r*ga%R**2 + b2%R)*vel_r(1:3) - vdotb%R*b%R(1:3)
725 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
726 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
727# 308 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
728 else if (mhd .and. .not. relativity)
then
729 pres_mag%L = 0.5_wp*(b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp)
730 pres_mag%R = 0.5_wp*(b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp)
731 e_l = gamma_l*pres_l + pi_inf_l + 0.5_wp*rho_l*vel_l_rms + qv_l + pres_mag%L
733 e_r = gamma_r*pres_r + pi_inf_r + 0.5_wp*rho_r*vel_r_rms + qv_r + pres_mag%R
734 h_l = (e_l + pres_l - pres_mag%L)/rho_l
736 h_r = (e_r + pres_r - pres_mag%R)/rho_r
738 e_l = gamma_l*pres_l + pi_inf_l + 5.e-1*rho_l*vel_l_rms + qv_l
739 e_r = gamma_r*pres_r + pi_inf_r + 5.e-1*rho_r*vel_r_rms + qv_r
740 h_l = (e_l + pres_l)/rho_l
741 h_r = (e_r + pres_r)/rho_r
745 if (hypoelasticity)
then
746 g_l = 0._wp; g_r = 0._wp
749# 328 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
750#if defined(MFC_OpenACC)
751# 328 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
753# 328 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
754#elif defined(MFC_OpenMP)
755# 328 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
757# 328 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
760 g_l = g_l + alpha_l(i)*
gs_rs(i)
761 g_r = g_r + alpha_r(i)*
gs_rs(i)
764 if (cont_damage)
then
765 g_l = g_l*max((1._wp - ql_prim_rsx_vf(j, k, l, eqn_idx%damage)), 0._wp)
766 g_r = g_r*max((1._wp - qr_prim_rsx_vf(j, k, l, eqn_idx%damage)), 0._wp)
769 do i = 1, eqn_idx%stress%end - eqn_idx%stress%beg + 1
770 tau_e_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%stress%beg - 1 + i)
771 tau_e_r(i) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%stress%beg - 1 + i)
773 if ((g_l > 1000) .and. (g_r > 1000))
then
774 e_l = e_l + (tau_e_l(i)*tau_e_l(i))/(4._wp*g_l)
775 e_r = e_r + (tau_e_r(i)*tau_e_r(i))/(4._wp*g_r)
777 if (any(eqn_idx%stress%beg - 1 + i == shear_indices))
then
778 e_l = e_l + (tau_e_l(i)*tau_e_l(i))/(4._wp*g_l)
779 e_r = e_r + (tau_e_r(i)*tau_e_r(i))/(4._wp*g_r)
796 s_l = 0._wp; s_r = 0._wp
799# 368 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
800#if defined(MFC_OpenACC)
801# 368 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
803# 368 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
804#elif defined(MFC_OpenMP)
805# 368 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
807# 368 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
810 s_l = s_l + vel_l(i)**2._wp
811 s_r = s_r + vel_r(i)**2._wp
817 s_p = max(s_l, s_r) + max(c_l, c_r)
824 if (low_mach == 1)
then
826# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
827 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
828# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
830# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
832# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
833 if (low_mach == 1)
then
834# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
835 pcorr = -(s_p - s_m)*(rho_l + rho_r)/8._wp*(zcoef - 1._wp)
836# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
838# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
840# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
841 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
842# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
844# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
846# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
847 if (low_mach == 1)
then
848# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
850# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
851 & /(rho_r*(s_r - vel_r(
dir_idx(1))) - rho_l*(s_l - vel_l(
dir_idx(1))))*(zcoef - 1._wp)
852# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
853 else if (low_mach == 2)
then
854# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
856# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
858# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
860# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
862# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
864# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
871 if (.not. relativity)
then
873# 392 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
874#if defined(MFC_OpenACC)
875# 392 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
877# 392 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
878#elif defined(MFC_OpenMP)
879# 392 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
881# 392 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
883 do i = 1, eqn_idx%cont%end
885 & i) = (s_m*alpha_rho_r(i)*vel_r(norm_dir) - s_p*alpha_rho_l(i)*vel_l(norm_dir) &
886 & + s_m*s_p*(alpha_rho_l(i) - alpha_rho_r(i)))/(s_m - s_p)
888 else if (relativity)
then
890# 399 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
891#if defined(MFC_OpenACC)
892# 399 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
894# 399 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
895#elif defined(MFC_OpenMP)
896# 399 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
898# 399 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
900 do i = 1, eqn_idx%cont%end
902 & i) = (s_m*ga%R*alpha_rho_r(i)*vel_r(norm_dir) - s_p*ga%L*alpha_rho_l(i) &
903 & *vel_l(norm_dir) + s_m*s_p*(ga%L*alpha_rho_l(i) - ga%R*alpha_rho_r(i)))/(s_m &
909 if (mhd .and. (.not. relativity))
then
911# 410 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
912#if defined(MFC_OpenACC)
913# 410 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
915# 410 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
916#elif defined(MFC_OpenMP)
917# 410 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
919# 410 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
925 & eqn_idx%cont%end + i) = (s_m*(rho_r*vel_r(i)*vel_r(norm_dir) - b%R(i) &
926 & *b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(rho_l*vel_l(i) &
927 & *vel_l(norm_dir) - b%L(i)*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L)) &
928 & + s_m*s_p*(rho_l*vel_l(i) - rho_r*vel_r(i)))/(s_m - s_p)
930 else if (mhd .and. relativity)
then
932# 421 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
933#if defined(MFC_OpenACC)
934# 421 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
936# 421 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
937#elif defined(MFC_OpenMP)
938# 421 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
940# 421 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
946 & eqn_idx%cont%end + i) = (s_m*(cm%R(i)*vel_r(norm_dir) - b4%R(i) &
947 & /ga%R*b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(cm%L(i) &
948 & *vel_l(norm_dir) - b4%L(i)/ga%L*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L) &
949 & ) + s_m*s_p*(cm%L(i) - cm%R(i)))/(s_m - s_p)
951 else if (bubbles_euler)
then
953# 432 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
954#if defined(MFC_OpenACC)
955# 432 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
957# 432 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
958#elif defined(MFC_OpenMP)
959# 432 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
961# 432 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
968 & + s_m*s_p*(rho_l*vel_l(
dir_idx(i)) - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) &
969 & + (s_m/s_l)*(s_p/s_r)*pcorr*(vel_r(
dir_idx(i)) - vel_l(
dir_idx(i)))
971 else if (hypoelasticity)
then
973# 442 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
974#if defined(MFC_OpenACC)
975# 442 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
977# 442 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
978#elif defined(MFC_OpenMP)
979# 442 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
981# 442 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
989 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p)
993# 452 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
994#if defined(MFC_OpenACC)
995# 452 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
997# 452 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
998#elif defined(MFC_OpenMP)
999# 452 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1001# 452 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1008 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) + (s_m/s_l)*(s_p/s_r) &
1014 if (mhd .and. (.not. relativity))
then
1016# 467 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1018 & eqn_idx%E) = (s_m*(vel_r(norm_dir)*(e_r + pres_r + pres_mag%R) - b%R(norm_dir) &
1019 & *(vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3))) - s_p*(vel_l(norm_dir) &
1020 & *(e_l + pres_l + pres_mag%L) - b%L(norm_dir)*(vel_l(1)*b%L(1) + vel_l(2)*b%L(2) &
1021 & + vel_l(3)*b%L(3))) + s_m*s_p*(e_l - e_r))/(s_m - s_p)
1022# 473 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1023 else if (mhd .and. relativity)
then
1026 & eqn_idx%E) = (s_m*(cm%R(norm_dir) - ga%R*alpha_rho_r(1)*vel_r(norm_dir)) &
1027 & - s_p*(cm%L(norm_dir) - ga%L*alpha_rho_l(1)*vel_l(norm_dir)) + s_m*s_p*(e_l - e_r)) &
1029 else if (bubbles_euler)
then
1031 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r - ptilde_r) - s_p*vel_l(
dir_idx(1) &
1032 & )*(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) &
1033 & *pcorr*(vel_r_rms - vel_l_rms)/2._wp
1034 else if (hypoelasticity)
then
1035 flux_tau_l = 0._wp; flux_tau_r = 0._wp
1037# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1038#if defined(MFC_OpenACC)
1039# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1041# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1042#elif defined(MFC_OpenMP)
1043# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1045# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1052 & eqn_idx%E) = (s_m*(vel_r(
dir_idx(1))*(e_r + pres_r) - flux_tau_r) &
1053 & - s_p*(vel_l(
dir_idx(1))*(e_l + pres_l) - flux_tau_l) + s_m*s_p*(e_l - e_r))/(s_m &
1057 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r) - s_p*vel_l(
dir_idx(1))*(e_l &
1058 & + 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 &
1059 & - vel_l_rms)/2._wp
1063 if (hypoelasticity)
then
1064 do i = 1, eqn_idx%stress%end - eqn_idx%stress%beg + 1
1066 & eqn_idx%stress%beg - 1 + i) = (s_m*(rho_r*vel_r(
dir_idx(1))*tau_e_r(i)) &
1067 & - s_p*(rho_l*vel_l(
dir_idx(1))*tau_e_l(i)) + s_m*s_p*(rho_l*tau_e_l(i) &
1068 & - rho_r*tau_e_r(i)))/(s_m - s_p)
1074# 513 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1075#if defined(MFC_OpenACC)
1076# 513 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1078# 513 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1079#elif defined(MFC_OpenMP)
1080# 513 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1082# 513 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1084 do i = eqn_idx%adv%beg, eqn_idx%adv%end
1085 flux_rsx_vf(j, k, l, i) = (ql_prim_rsx_vf(j, k, l, i) - qr_prim_rsx_vf(j + 1, k, l, &
1086 & i))*s_m*s_p/(s_m - s_p)
1088 & i) - s_p*ql_prim_rsx_vf(j, k, l, i))/(s_m - s_p)
1091 if (bubbles_euler)
then
1093 if (num_fluids > 1)
then
1100# 529 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1101#if defined(MFC_OpenACC)
1102# 529 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1104# 529 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1105#elif defined(MFC_OpenMP)
1106# 529 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1108# 529 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1110 do i = eqn_idx%species%beg, eqn_idx%species%end
1111 y_l = ql_prim_rsx_vf(j, k, l, i)
1112 y_r = qr_prim_rsx_vf(j + 1, k, l, i)
1115 & i) = (s_m*y_r*rho_r*vel_r(
dir_idx(1)) - s_p*y_l*rho_l*vel_l(
dir_idx(1)) &
1116 & + s_m*s_p*(y_l*rho_l - y_r*rho_r))/(s_m - s_p)
1126# 545 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1127#if defined(MFC_OpenACC)
1128# 545 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1130# 545 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1131#elif defined(MFC_OpenMP)
1132# 545 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1134# 545 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1138 & eqn_idx%B%beg + i) = (s_m*(vel_r(1)*b%R(2 + i) - vel_r(2 + i)*bx0) &
1139 & - s_p*(vel_l(1)*b%L(2 + i) - vel_l(2 + i)*bx0) + s_m*s_p*(b%L(2 + i) &
1140 & - b%R(2 + i)))/(s_m - s_p)
1147# 556 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1148#if defined(MFC_OpenACC)
1149# 556 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1151# 556 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1152#elif defined(MFC_OpenMP)
1153# 556 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1155# 556 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1159 & eqn_idx%B%beg + i) = (1 -
dir_flg(i + 1))*(s_m*(vel_r(
dir_idx(1))*b%R(i + 1) &
1160 & - vel_r(i + 1)*b%R(norm_dir)) - s_p*(vel_l(
dir_idx(1))*b%L(i + 1) - vel_l(i &
1161 & + 1)*b%L(norm_dir)) + s_m*s_p*(b%L(i + 1) - b%R(i + 1)))/(s_m - s_p)
1167# 595 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1172# 598 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1173#if defined(MFC_OpenACC)
1174# 598 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1176# 598 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1177#elif defined(MFC_OpenMP)
1178# 598 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1180# 598 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1182# 598 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1185# 112 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1186# 113 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1187# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1188 if (norm_dir == 2)
then
1190# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1192# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1193#if defined(MFC_OpenACC)
1194# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1196# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1198# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1200# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1201#elif defined(MFC_OpenMP)
1202# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1204# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1206# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1208# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1210# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1212# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1214# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1216# 125 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1221# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1222#if defined(MFC_OpenACC)
1223# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1225# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1226#elif defined(MFC_OpenMP)
1227# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1229# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1231 do i = 1, eqn_idx%cont%end
1232 alpha_rho_l(i) = ql_prim_rsx_vf(j, k, l, i)
1233 alpha_rho_r(i) = qr_prim_rsx_vf(j, k + 1, l, i)
1236 vel_l_rms = 0._wp; vel_r_rms = 0._wp
1239# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1240#if defined(MFC_OpenACC)
1241# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1243# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1244#elif defined(MFC_OpenMP)
1245# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1247# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1250 vel_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%cont%end + i)
1251 vel_r(i) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%cont%end + i)
1252 vel_l_rms = vel_l_rms + vel_l(i)**2._wp
1253 vel_r_rms = vel_r_rms + vel_r(i)**2._wp
1257# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1258#if defined(MFC_OpenACC)
1259# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1261# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1262#elif defined(MFC_OpenMP)
1263# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1265# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1267 do i = 1, num_fluids
1268 alpha_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%E + i)
1269 alpha_r(i) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%E + i)
1272 pres_l = ql_prim_rsx_vf(j, k, l, eqn_idx%E)
1273 pres_r = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%E)
1279 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
1280 b%R(2) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%B%beg)
1281 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
1282 b%R(3) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%B%beg + 1)
1284 b%L(1) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
1285 b%R(1) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%B%beg)
1286 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
1287 b%R(2) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%B%beg + 1)
1288 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 2)
1289 b%R(3) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%B%beg + 2)
1311# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1312#if defined(MFC_OpenACC)
1313# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1315# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1316#elif defined(MFC_OpenMP)
1317# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1319# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1321 do i = 1, num_fluids
1322 alpha_rho_l(i) = max(0._wp, alpha_rho_l(i))
1323 alpha_l(i) = min(max(0._wp, alpha_l(i)), 1._wp)
1324 alpha_l_sum = alpha_l_sum + alpha_l(i)
1325 alpha_rho_r(i) = max(0._wp, alpha_rho_r(i))
1326 alpha_r(i) = min(max(0._wp, alpha_r(i)), 1._wp)
1327 alpha_r_sum = alpha_r_sum + alpha_r(i)
1330 alpha_l = alpha_l/max(alpha_l_sum,
sgm_eps)
1331 alpha_r = alpha_r/max(alpha_r_sum,
sgm_eps)
1335# 202 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1336#if defined(MFC_OpenACC)
1337# 202 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1339# 202 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1340#elif defined(MFC_OpenMP)
1341# 202 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1343# 202 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1345 do i = 1, num_fluids
1346 rho_l = rho_l + alpha_rho_l(i)
1347 gamma_l = gamma_l + alpha_l(i)*
gammas(i)
1348 pi_inf_l = pi_inf_l + alpha_l(i)*
pi_infs(i)
1349 qv_l = qv_l + alpha_rho_l(i)*
qvs(i)
1351 rho_r = rho_r + alpha_rho_r(i)
1352 gamma_r = gamma_r + alpha_r(i)*
gammas(i)
1353 pi_inf_r = pi_inf_r + alpha_r(i)*
pi_infs(i)
1354 qv_r = qv_r + alpha_rho_r(i)*
qvs(i)
1359# 216 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1360#if defined(MFC_OpenACC)
1361# 216 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1363# 216 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1364#elif defined(MFC_OpenMP)
1365# 216 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1367# 216 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1373 if (merge(re_size_loc1, re_size_loc2, i == 1) > 0) re_l(i) = 0._wp
1374 if (merge(re_size_loc1, re_size_loc2, i == 1) > 0) re_r(i) = 0._wp
1377# 224 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1378#if defined(MFC_OpenACC)
1379# 224 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1381# 224 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1382#elif defined(MFC_OpenMP)
1383# 224 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1385# 224 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1387 do q = 1, merge(re_size_loc1, re_size_loc2, i == 1)
1392 re_l(i) = 1._wp/max(re_l(i),
sgm_eps)
1393 re_r(i) = 1._wp/max(re_r(i),
sgm_eps)
1399# 236 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1400#if defined(MFC_OpenACC)
1401# 236 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1403# 236 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1404#elif defined(MFC_OpenMP)
1405# 236 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1407# 236 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1409 do i = eqn_idx%species%beg, eqn_idx%species%end
1410 ys_l(i - eqn_idx%species%beg + 1) = ql_prim_rsx_vf(j, k, l, i)
1411 ys_r(i - eqn_idx%species%beg + 1) = qr_prim_rsx_vf(j, k + 1, l, i)
1414 call get_mixture_molecular_weight(ys_l, mw_l)
1415 call get_mixture_molecular_weight(ys_r, mw_r)
1417 xs_l(:) = ys_l(:)*mw_l/molecular_weights(:)
1418 xs_r(:) = ys_r(:)*mw_r/molecular_weights(:)
1420 r_gas_l = gas_constant/mw_l
1421 r_gas_r = gas_constant/mw_r
1422 t_l = pres_l/rho_l/r_gas_l
1423 t_r = pres_r/rho_r/r_gas_r
1425 call get_species_specific_heats_r(t_l, cp_il)
1426 call get_species_specific_heats_r(t_r, cp_ir)
1428 if (chem_params%gamma_method == 1)
then
1430 gamma_il = cp_il/(cp_il - 1.0_wp)
1431 gamma_ir = cp_ir/(cp_ir - 1.0_wp)
1433 gamma_l = sum(xs_l(:)/(gamma_il(:) - 1.0_wp))
1434 gamma_r = sum(xs_r(:)/(gamma_ir(:) - 1.0_wp))
1435 else if (chem_params%gamma_method == 2)
then
1437 call get_mixture_specific_heat_cp_mass(t_l, ys_l, cp_l)
1438 call get_mixture_specific_heat_cp_mass(t_r, ys_r, cp_r)
1439 call get_mixture_specific_heat_cv_mass(t_l, ys_l, cv_l)
1440 call get_mixture_specific_heat_cv_mass(t_r, ys_r, cv_r)
1443 gamma_l = 1.0_wp/(gamm_l - 1.0_wp)
1445 gamma_r = 1.0_wp/(gamm_r - 1.0_wp)
1448 call get_mixture_energy_mass(t_l, ys_l, e_l)
1449 call get_mixture_energy_mass(t_r, ys_r, e_r)
1451 e_l = rho_l*e_l + 5.e-1*rho_l*vel_l_rms
1452 e_r = rho_r*e_r + 5.e-1*rho_r*vel_r_rms
1453 h_l = (e_l + pres_l)/rho_l
1454 h_r = (e_r + pres_r)/rho_r
1455 else if (mhd .and. relativity)
then
1456# 285 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1457 ga%L = 1._wp/sqrt(1._wp - vel_l_rms)
1458 ga%R = 1._wp/sqrt(1._wp - vel_r_rms)
1459 vdotb%L = vel_l(1)*b%L(1) + vel_l(2)*b%L(2) + vel_l(3)*b%L(3)
1460 vdotb%R = vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3)
1462 b4%L(1:3) = b%L(1:3)/ga%L + ga%L*vel_l(1:3)*vdotb%L
1463 b4%R(1:3) = b%R(1:3)/ga%R + ga%R*vel_r(1:3)*vdotb%R
1464 b2%L = b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp
1465 b2%R = b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp
1467 pres_mag%L = 0.5_wp*(b2%L/ga%L**2._wp + vdotb%L**2._wp)
1468 pres_mag%R = 0.5_wp*(b2%R/ga%R**2._wp + vdotb%R**2._wp)
1471 h_l = 1._wp + (gamma_l + 1)*pres_l/rho_l
1472 h_r = 1._wp + (gamma_r + 1)*pres_r/rho_r
1474 cm%L(1:3) = (rho_l*h_l*ga%L**2 + b2%L)*vel_l(1:3) - vdotb%L*b%L(1:3)
1475 cm%R(1:3) = (rho_r*h_r*ga%R**2 + b2%R)*vel_r(1:3) - vdotb%R*b%R(1:3)
1477 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
1478 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
1479# 308 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1480 else if (mhd .and. .not. relativity)
then
1481 pres_mag%L = 0.5_wp*(b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp)
1482 pres_mag%R = 0.5_wp*(b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp)
1483 e_l = gamma_l*pres_l + pi_inf_l + 0.5_wp*rho_l*vel_l_rms + qv_l + pres_mag%L
1485 e_r = gamma_r*pres_r + pi_inf_r + 0.5_wp*rho_r*vel_r_rms + qv_r + pres_mag%R
1486 h_l = (e_l + pres_l - pres_mag%L)/rho_l
1488 h_r = (e_r + pres_r - pres_mag%R)/rho_r
1490 e_l = gamma_l*pres_l + pi_inf_l + 5.e-1*rho_l*vel_l_rms + qv_l
1491 e_r = gamma_r*pres_r + pi_inf_r + 5.e-1*rho_r*vel_r_rms + qv_r
1492 h_l = (e_l + pres_l)/rho_l
1493 h_r = (e_r + pres_r)/rho_r
1497 if (hypoelasticity)
then
1498 g_l = 0._wp; g_r = 0._wp
1501# 328 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1502#if defined(MFC_OpenACC)
1503# 328 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1505# 328 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1506#elif defined(MFC_OpenMP)
1507# 328 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1509# 328 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1511 do i = 1, num_fluids
1512 g_l = g_l + alpha_l(i)*
gs_rs(i)
1513 g_r = g_r + alpha_r(i)*
gs_rs(i)
1516 if (cont_damage)
then
1517 g_l = g_l*max((1._wp - ql_prim_rsx_vf(j, k, l, eqn_idx%damage)), 0._wp)
1518 g_r = g_r*max((1._wp - qr_prim_rsx_vf(j, k, l, eqn_idx%damage)), 0._wp)
1521 do i = 1, eqn_idx%stress%end - eqn_idx%stress%beg + 1
1522 tau_e_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%stress%beg - 1 + i)
1523 tau_e_r(i) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%stress%beg - 1 + i)
1525 if ((g_l > 1000) .and. (g_r > 1000))
then
1526 e_l = e_l + (tau_e_l(i)*tau_e_l(i))/(4._wp*g_l)
1527 e_r = e_r + (tau_e_r(i)*tau_e_r(i))/(4._wp*g_r)
1529 if (any(eqn_idx%stress%beg - 1 + i == shear_indices))
then
1530 e_l = e_l + (tau_e_l(i)*tau_e_l(i))/(4._wp*g_l)
1531 e_r = e_r + (tau_e_r(i)*tau_e_r(i))/(4._wp*g_r)
1548 s_l = 0._wp; s_r = 0._wp
1551# 368 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1552#if defined(MFC_OpenACC)
1553# 368 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1555# 368 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1556#elif defined(MFC_OpenMP)
1557# 368 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1559# 368 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1562 s_l = s_l + vel_l(i)**2._wp
1563 s_r = s_r + vel_r(i)**2._wp
1569 s_p = max(s_l, s_r) + max(c_l, c_r)
1576 if (low_mach == 1)
then
1578# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1579 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
1580# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1582# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1584# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1585 if (low_mach == 1)
then
1586# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1587 pcorr = -(s_p - s_m)*(rho_l + rho_r)/8._wp*(zcoef - 1._wp)
1588# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1590# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1592# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1593 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
1594# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1596# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1598# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1599 if (low_mach == 1)
then
1600# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1602# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1603 & /(rho_r*(s_r - vel_r(
dir_idx(1))) - rho_l*(s_l - vel_l(
dir_idx(1))))*(zcoef - 1._wp)
1604# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1605 else if (low_mach == 2)
then
1606# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1608# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1610# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1612# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1614# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1616# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1623 if (.not. relativity)
then
1625# 392 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1626#if defined(MFC_OpenACC)
1627# 392 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1629# 392 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1630#elif defined(MFC_OpenMP)
1631# 392 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1633# 392 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1635 do i = 1, eqn_idx%cont%end
1637 & i) = (s_m*alpha_rho_r(i)*vel_r(norm_dir) - s_p*alpha_rho_l(i)*vel_l(norm_dir) &
1638 & + s_m*s_p*(alpha_rho_l(i) - alpha_rho_r(i)))/(s_m - s_p)
1640 else if (relativity)
then
1642# 399 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1643#if defined(MFC_OpenACC)
1644# 399 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1646# 399 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1647#elif defined(MFC_OpenMP)
1648# 399 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1650# 399 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1652 do i = 1, eqn_idx%cont%end
1654 & i) = (s_m*ga%R*alpha_rho_r(i)*vel_r(norm_dir) - s_p*ga%L*alpha_rho_l(i) &
1655 & *vel_l(norm_dir) + s_m*s_p*(ga%L*alpha_rho_l(i) - ga%R*alpha_rho_r(i)))/(s_m &
1661 if (mhd .and. (.not. relativity))
then
1663# 410 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1664#if defined(MFC_OpenACC)
1665# 410 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1667# 410 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1668#elif defined(MFC_OpenMP)
1669# 410 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1671# 410 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1677 & eqn_idx%cont%end + i) = (s_m*(rho_r*vel_r(i)*vel_r(norm_dir) - b%R(i) &
1678 & *b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(rho_l*vel_l(i) &
1679 & *vel_l(norm_dir) - b%L(i)*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L)) &
1680 & + s_m*s_p*(rho_l*vel_l(i) - rho_r*vel_r(i)))/(s_m - s_p)
1682 else if (mhd .and. relativity)
then
1684# 421 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1685#if defined(MFC_OpenACC)
1686# 421 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1688# 421 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1689#elif defined(MFC_OpenMP)
1690# 421 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1692# 421 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1698 & eqn_idx%cont%end + i) = (s_m*(cm%R(i)*vel_r(norm_dir) - b4%R(i) &
1699 & /ga%R*b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(cm%L(i) &
1700 & *vel_l(norm_dir) - b4%L(i)/ga%L*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L) &
1701 & ) + s_m*s_p*(cm%L(i) - cm%R(i)))/(s_m - s_p)
1703 else if (bubbles_euler)
then
1705# 432 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1706#if defined(MFC_OpenACC)
1707# 432 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1709# 432 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1710#elif defined(MFC_OpenMP)
1711# 432 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1713# 432 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1720 & + s_m*s_p*(rho_l*vel_l(
dir_idx(i)) - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) &
1721 & + (s_m/s_l)*(s_p/s_r)*pcorr*(vel_r(
dir_idx(i)) - vel_l(
dir_idx(i)))
1723 else if (hypoelasticity)
then
1725# 442 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1726#if defined(MFC_OpenACC)
1727# 442 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1729# 442 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1730#elif defined(MFC_OpenMP)
1731# 442 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1733# 442 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1741 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p)
1745# 452 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1746#if defined(MFC_OpenACC)
1747# 452 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1749# 452 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1750#elif defined(MFC_OpenMP)
1751# 452 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1753# 452 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1760 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) + (s_m/s_l)*(s_p/s_r) &
1766 if (mhd .and. (.not. relativity))
then
1768# 467 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1770 & eqn_idx%E) = (s_m*(vel_r(norm_dir)*(e_r + pres_r + pres_mag%R) - b%R(norm_dir) &
1771 & *(vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3))) - s_p*(vel_l(norm_dir) &
1772 & *(e_l + pres_l + pres_mag%L) - b%L(norm_dir)*(vel_l(1)*b%L(1) + vel_l(2)*b%L(2) &
1773 & + vel_l(3)*b%L(3))) + s_m*s_p*(e_l - e_r))/(s_m - s_p)
1774# 473 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1775 else if (mhd .and. relativity)
then
1778 & eqn_idx%E) = (s_m*(cm%R(norm_dir) - ga%R*alpha_rho_r(1)*vel_r(norm_dir)) &
1779 & - s_p*(cm%L(norm_dir) - ga%L*alpha_rho_l(1)*vel_l(norm_dir)) + s_m*s_p*(e_l - e_r)) &
1781 else if (bubbles_euler)
then
1783 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r - ptilde_r) - s_p*vel_l(
dir_idx(1) &
1784 & )*(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) &
1785 & *pcorr*(vel_r_rms - vel_l_rms)/2._wp
1786 else if (hypoelasticity)
then
1787 flux_tau_l = 0._wp; flux_tau_r = 0._wp
1789# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1790#if defined(MFC_OpenACC)
1791# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1793# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1794#elif defined(MFC_OpenMP)
1795# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1797# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1804 & eqn_idx%E) = (s_m*(vel_r(
dir_idx(1))*(e_r + pres_r) - flux_tau_r) &
1805 & - s_p*(vel_l(
dir_idx(1))*(e_l + pres_l) - flux_tau_l) + s_m*s_p*(e_l - e_r))/(s_m &
1809 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r) - s_p*vel_l(
dir_idx(1))*(e_l &
1810 & + 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 &
1811 & - vel_l_rms)/2._wp
1815 if (hypoelasticity)
then
1816 do i = 1, eqn_idx%stress%end - eqn_idx%stress%beg + 1
1818 & eqn_idx%stress%beg - 1 + i) = (s_m*(rho_r*vel_r(
dir_idx(1))*tau_e_r(i)) &
1819 & - s_p*(rho_l*vel_l(
dir_idx(1))*tau_e_l(i)) + s_m*s_p*(rho_l*tau_e_l(i) &
1820 & - rho_r*tau_e_r(i)))/(s_m - s_p)
1826# 513 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1827#if defined(MFC_OpenACC)
1828# 513 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1830# 513 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1831#elif defined(MFC_OpenMP)
1832# 513 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1834# 513 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1836 do i = eqn_idx%adv%beg, eqn_idx%adv%end
1837 flux_rsx_vf(j, k, l, i) = (ql_prim_rsx_vf(j, k, l, i) - qr_prim_rsx_vf(j, k + 1, l, &
1838 & i))*s_m*s_p/(s_m - s_p)
1840 & i) - s_p*ql_prim_rsx_vf(j, k, l, i))/(s_m - s_p)
1843 if (bubbles_euler)
then
1845 if (num_fluids > 1)
then
1852# 529 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1853#if defined(MFC_OpenACC)
1854# 529 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1856# 529 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1857#elif defined(MFC_OpenMP)
1858# 529 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1860# 529 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1862 do i = eqn_idx%species%beg, eqn_idx%species%end
1863 y_l = ql_prim_rsx_vf(j, k, l, i)
1864 y_r = qr_prim_rsx_vf(j, k + 1, l, i)
1867 & i) = (s_m*y_r*rho_r*vel_r(
dir_idx(1)) - s_p*y_l*rho_l*vel_l(
dir_idx(1)) &
1868 & + s_m*s_p*(y_l*rho_l - y_r*rho_r))/(s_m - s_p)
1878# 545 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1879#if defined(MFC_OpenACC)
1880# 545 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1882# 545 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1883#elif defined(MFC_OpenMP)
1884# 545 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1886# 545 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1890 & eqn_idx%B%beg + i) = (s_m*(vel_r(1)*b%R(2 + i) - vel_r(2 + i)*bx0) &
1891 & - s_p*(vel_l(1)*b%L(2 + i) - vel_l(2 + i)*bx0) + s_m*s_p*(b%L(2 + i) &
1892 & - b%R(2 + i)))/(s_m - s_p)
1899# 556 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1900#if defined(MFC_OpenACC)
1901# 556 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1903# 556 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1904#elif defined(MFC_OpenMP)
1905# 556 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1907# 556 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1911 & eqn_idx%B%beg + i) = (1 -
dir_flg(i + 1))*(s_m*(vel_r(
dir_idx(1))*b%R(i + 1) &
1912 & - vel_r(i + 1)*b%R(norm_dir)) - s_p*(vel_l(
dir_idx(1))*b%L(i + 1) - vel_l(i &
1913 & + 1)*b%L(norm_dir)) + s_m*s_p*(b%L(i + 1) - b%R(i + 1)))/(s_m - s_p)
1919# 568 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1923# 570 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1924#if defined(MFC_OpenACC)
1925# 570 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1927# 570 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1928#elif defined(MFC_OpenMP)
1929# 570 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1931# 570 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1938 & eqn_idx%cont%end + 2) - (s_m*pres_r - s_p*pres_l)/(s_m - s_p)
1941# 578 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1942#if defined(MFC_OpenACC)
1943# 578 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1945# 578 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1946#elif defined(MFC_OpenMP)
1947# 578 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1949# 578 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1951 do i = eqn_idx%adv%beg, eqn_idx%adv%end
1956 if (cyl_coord .and. hypoelasticity)
then
1959 & eqn_idx%cont%end + 2) + (s_m*tau_e_r(4) - s_p*tau_e_l(4))/(s_m - s_p)
1962# 589 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1963#if defined(MFC_OpenACC)
1964# 589 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1966# 589 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1967#elif defined(MFC_OpenMP)
1968# 589 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1970# 589 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1972 do i = eqn_idx%stress%beg, eqn_idx%stress%end
1976# 595 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1981# 598 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1982#if defined(MFC_OpenACC)
1983# 598 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1985# 598 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1986#elif defined(MFC_OpenMP)
1987# 598 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1989# 598 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1991# 598 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1994# 112 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1995# 113 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1996# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1997 if (norm_dir == 3)
then
1999# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2001# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2002#if defined(MFC_OpenACC)
2003# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2005# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2007# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2009# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2010#elif defined(MFC_OpenMP)
2011# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2013# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2015# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2017# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2019# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2021# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2023# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2025# 125 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2030# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2031#if defined(MFC_OpenACC)
2032# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2034# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2035#elif defined(MFC_OpenMP)
2036# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2038# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2040 do i = 1, eqn_idx%cont%end
2041 alpha_rho_l(i) = ql_prim_rsx_vf(j, k, l, i)
2042 alpha_rho_r(i) = qr_prim_rsx_vf(j, k, l + 1, i)
2045 vel_l_rms = 0._wp; vel_r_rms = 0._wp
2048# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2049#if defined(MFC_OpenACC)
2050# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2052# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2053#elif defined(MFC_OpenMP)
2054# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2056# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2059 vel_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%cont%end + i)
2060 vel_r(i) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%cont%end + i)
2061 vel_l_rms = vel_l_rms + vel_l(i)**2._wp
2062 vel_r_rms = vel_r_rms + vel_r(i)**2._wp
2066# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2067#if defined(MFC_OpenACC)
2068# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2070# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2071#elif defined(MFC_OpenMP)
2072# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2074# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2076 do i = 1, num_fluids
2077 alpha_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%E + i)
2078 alpha_r(i) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%E + i)
2081 pres_l = ql_prim_rsx_vf(j, k, l, eqn_idx%E)
2082 pres_r = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%E)
2088 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
2089 b%R(2) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%B%beg)
2090 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
2091 b%R(3) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%B%beg + 1)
2093 b%L(1) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
2094 b%R(1) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%B%beg)
2095 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
2096 b%R(2) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%B%beg + 1)
2097 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 2)
2098 b%R(3) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%B%beg + 2)
2120# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2121#if defined(MFC_OpenACC)
2122# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2124# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2125#elif defined(MFC_OpenMP)
2126# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2128# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2130 do i = 1, num_fluids
2131 alpha_rho_l(i) = max(0._wp, alpha_rho_l(i))
2132 alpha_l(i) = min(max(0._wp, alpha_l(i)), 1._wp)
2133 alpha_l_sum = alpha_l_sum + alpha_l(i)
2134 alpha_rho_r(i) = max(0._wp, alpha_rho_r(i))
2135 alpha_r(i) = min(max(0._wp, alpha_r(i)), 1._wp)
2136 alpha_r_sum = alpha_r_sum + alpha_r(i)
2139 alpha_l = alpha_l/max(alpha_l_sum,
sgm_eps)
2140 alpha_r = alpha_r/max(alpha_r_sum,
sgm_eps)
2144# 202 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2145#if defined(MFC_OpenACC)
2146# 202 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2148# 202 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2149#elif defined(MFC_OpenMP)
2150# 202 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2152# 202 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2154 do i = 1, num_fluids
2155 rho_l = rho_l + alpha_rho_l(i)
2156 gamma_l = gamma_l + alpha_l(i)*
gammas(i)
2157 pi_inf_l = pi_inf_l + alpha_l(i)*
pi_infs(i)
2158 qv_l = qv_l + alpha_rho_l(i)*
qvs(i)
2160 rho_r = rho_r + alpha_rho_r(i)
2161 gamma_r = gamma_r + alpha_r(i)*
gammas(i)
2162 pi_inf_r = pi_inf_r + alpha_r(i)*
pi_infs(i)
2163 qv_r = qv_r + alpha_rho_r(i)*
qvs(i)
2168# 216 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2169#if defined(MFC_OpenACC)
2170# 216 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2172# 216 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2173#elif defined(MFC_OpenMP)
2174# 216 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2176# 216 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2182 if (merge(re_size_loc1, re_size_loc2, i == 1) > 0) re_l(i) = 0._wp
2183 if (merge(re_size_loc1, re_size_loc2, i == 1) > 0) re_r(i) = 0._wp
2186# 224 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2187#if defined(MFC_OpenACC)
2188# 224 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2190# 224 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2191#elif defined(MFC_OpenMP)
2192# 224 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2194# 224 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2196 do q = 1, merge(re_size_loc1, re_size_loc2, i == 1)
2201 re_l(i) = 1._wp/max(re_l(i),
sgm_eps)
2202 re_r(i) = 1._wp/max(re_r(i),
sgm_eps)
2208# 236 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2209#if defined(MFC_OpenACC)
2210# 236 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2212# 236 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2213#elif defined(MFC_OpenMP)
2214# 236 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2216# 236 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2218 do i = eqn_idx%species%beg, eqn_idx%species%end
2219 ys_l(i - eqn_idx%species%beg + 1) = ql_prim_rsx_vf(j, k, l, i)
2220 ys_r(i - eqn_idx%species%beg + 1) = qr_prim_rsx_vf(j, k, l + 1, i)
2223 call get_mixture_molecular_weight(ys_l, mw_l)
2224 call get_mixture_molecular_weight(ys_r, mw_r)
2226 xs_l(:) = ys_l(:)*mw_l/molecular_weights(:)
2227 xs_r(:) = ys_r(:)*mw_r/molecular_weights(:)
2229 r_gas_l = gas_constant/mw_l
2230 r_gas_r = gas_constant/mw_r
2231 t_l = pres_l/rho_l/r_gas_l
2232 t_r = pres_r/rho_r/r_gas_r
2234 call get_species_specific_heats_r(t_l, cp_il)
2235 call get_species_specific_heats_r(t_r, cp_ir)
2237 if (chem_params%gamma_method == 1)
then
2239 gamma_il = cp_il/(cp_il - 1.0_wp)
2240 gamma_ir = cp_ir/(cp_ir - 1.0_wp)
2242 gamma_l = sum(xs_l(:)/(gamma_il(:) - 1.0_wp))
2243 gamma_r = sum(xs_r(:)/(gamma_ir(:) - 1.0_wp))
2244 else if (chem_params%gamma_method == 2)
then
2246 call get_mixture_specific_heat_cp_mass(t_l, ys_l, cp_l)
2247 call get_mixture_specific_heat_cp_mass(t_r, ys_r, cp_r)
2248 call get_mixture_specific_heat_cv_mass(t_l, ys_l, cv_l)
2249 call get_mixture_specific_heat_cv_mass(t_r, ys_r, cv_r)
2252 gamma_l = 1.0_wp/(gamm_l - 1.0_wp)
2254 gamma_r = 1.0_wp/(gamm_r - 1.0_wp)
2257 call get_mixture_energy_mass(t_l, ys_l, e_l)
2258 call get_mixture_energy_mass(t_r, ys_r, e_r)
2260 e_l = rho_l*e_l + 5.e-1*rho_l*vel_l_rms
2261 e_r = rho_r*e_r + 5.e-1*rho_r*vel_r_rms
2262 h_l = (e_l + pres_l)/rho_l
2263 h_r = (e_r + pres_r)/rho_r
2264 else if (mhd .and. relativity)
then
2265# 285 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2266 ga%L = 1._wp/sqrt(1._wp - vel_l_rms)
2267 ga%R = 1._wp/sqrt(1._wp - vel_r_rms)
2268 vdotb%L = vel_l(1)*b%L(1) + vel_l(2)*b%L(2) + vel_l(3)*b%L(3)
2269 vdotb%R = vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3)
2271 b4%L(1:3) = b%L(1:3)/ga%L + ga%L*vel_l(1:3)*vdotb%L
2272 b4%R(1:3) = b%R(1:3)/ga%R + ga%R*vel_r(1:3)*vdotb%R
2273 b2%L = b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp
2274 b2%R = b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp
2276 pres_mag%L = 0.5_wp*(b2%L/ga%L**2._wp + vdotb%L**2._wp)
2277 pres_mag%R = 0.5_wp*(b2%R/ga%R**2._wp + vdotb%R**2._wp)
2280 h_l = 1._wp + (gamma_l + 1)*pres_l/rho_l
2281 h_r = 1._wp + (gamma_r + 1)*pres_r/rho_r
2283 cm%L(1:3) = (rho_l*h_l*ga%L**2 + b2%L)*vel_l(1:3) - vdotb%L*b%L(1:3)
2284 cm%R(1:3) = (rho_r*h_r*ga%R**2 + b2%R)*vel_r(1:3) - vdotb%R*b%R(1:3)
2286 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
2287 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
2288# 308 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2289 else if (mhd .and. .not. relativity)
then
2290 pres_mag%L = 0.5_wp*(b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp)
2291 pres_mag%R = 0.5_wp*(b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp)
2292 e_l = gamma_l*pres_l + pi_inf_l + 0.5_wp*rho_l*vel_l_rms + qv_l + pres_mag%L
2294 e_r = gamma_r*pres_r + pi_inf_r + 0.5_wp*rho_r*vel_r_rms + qv_r + pres_mag%R
2295 h_l = (e_l + pres_l - pres_mag%L)/rho_l
2297 h_r = (e_r + pres_r - pres_mag%R)/rho_r
2299 e_l = gamma_l*pres_l + pi_inf_l + 5.e-1*rho_l*vel_l_rms + qv_l
2300 e_r = gamma_r*pres_r + pi_inf_r + 5.e-1*rho_r*vel_r_rms + qv_r
2301 h_l = (e_l + pres_l)/rho_l
2302 h_r = (e_r + pres_r)/rho_r
2306 if (hypoelasticity)
then
2307 g_l = 0._wp; g_r = 0._wp
2310# 328 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2311#if defined(MFC_OpenACC)
2312# 328 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2314# 328 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2315#elif defined(MFC_OpenMP)
2316# 328 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2318# 328 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2320 do i = 1, num_fluids
2321 g_l = g_l + alpha_l(i)*
gs_rs(i)
2322 g_r = g_r + alpha_r(i)*
gs_rs(i)
2325 if (cont_damage)
then
2326 g_l = g_l*max((1._wp - ql_prim_rsx_vf(j, k, l, eqn_idx%damage)), 0._wp)
2327 g_r = g_r*max((1._wp - qr_prim_rsx_vf(j, k, l, eqn_idx%damage)), 0._wp)
2330 do i = 1, eqn_idx%stress%end - eqn_idx%stress%beg + 1
2331 tau_e_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%stress%beg - 1 + i)
2332 tau_e_r(i) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%stress%beg - 1 + i)
2334 if ((g_l > 1000) .and. (g_r > 1000))
then
2335 e_l = e_l + (tau_e_l(i)*tau_e_l(i))/(4._wp*g_l)
2336 e_r = e_r + (tau_e_r(i)*tau_e_r(i))/(4._wp*g_r)
2338 if (any(eqn_idx%stress%beg - 1 + i == shear_indices))
then
2339 e_l = e_l + (tau_e_l(i)*tau_e_l(i))/(4._wp*g_l)
2340 e_r = e_r + (tau_e_r(i)*tau_e_r(i))/(4._wp*g_r)
2357 s_l = 0._wp; s_r = 0._wp
2360# 368 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2361#if defined(MFC_OpenACC)
2362# 368 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2364# 368 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2365#elif defined(MFC_OpenMP)
2366# 368 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2368# 368 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2371 s_l = s_l + vel_l(i)**2._wp
2372 s_r = s_r + vel_r(i)**2._wp
2378 s_p = max(s_l, s_r) + max(c_l, c_r)
2385 if (low_mach == 1)
then
2387# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2388 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
2389# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2391# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2393# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2394 if (low_mach == 1)
then
2395# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2396 pcorr = -(s_p - s_m)*(rho_l + rho_r)/8._wp*(zcoef - 1._wp)
2397# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2399# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2401# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2402 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
2403# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2405# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2407# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2408 if (low_mach == 1)
then
2409# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2411# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2412 & /(rho_r*(s_r - vel_r(
dir_idx(1))) - rho_l*(s_l - vel_l(
dir_idx(1))))*(zcoef - 1._wp)
2413# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2414 else if (low_mach == 2)
then
2415# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2417# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2419# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2421# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2423# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2425# 385 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2432 if (.not. relativity)
then
2434# 392 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2435#if defined(MFC_OpenACC)
2436# 392 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2438# 392 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2439#elif defined(MFC_OpenMP)
2440# 392 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2442# 392 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2444 do i = 1, eqn_idx%cont%end
2446 & i) = (s_m*alpha_rho_r(i)*vel_r(norm_dir) - s_p*alpha_rho_l(i)*vel_l(norm_dir) &
2447 & + s_m*s_p*(alpha_rho_l(i) - alpha_rho_r(i)))/(s_m - s_p)
2449 else if (relativity)
then
2451# 399 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2452#if defined(MFC_OpenACC)
2453# 399 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2455# 399 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2456#elif defined(MFC_OpenMP)
2457# 399 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2459# 399 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2461 do i = 1, eqn_idx%cont%end
2463 & i) = (s_m*ga%R*alpha_rho_r(i)*vel_r(norm_dir) - s_p*ga%L*alpha_rho_l(i) &
2464 & *vel_l(norm_dir) + s_m*s_p*(ga%L*alpha_rho_l(i) - ga%R*alpha_rho_r(i)))/(s_m &
2470 if (mhd .and. (.not. relativity))
then
2472# 410 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2473#if defined(MFC_OpenACC)
2474# 410 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2476# 410 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2477#elif defined(MFC_OpenMP)
2478# 410 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2480# 410 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2486 & eqn_idx%cont%end + i) = (s_m*(rho_r*vel_r(i)*vel_r(norm_dir) - b%R(i) &
2487 & *b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(rho_l*vel_l(i) &
2488 & *vel_l(norm_dir) - b%L(i)*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L)) &
2489 & + s_m*s_p*(rho_l*vel_l(i) - rho_r*vel_r(i)))/(s_m - s_p)
2491 else if (mhd .and. relativity)
then
2493# 421 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2494#if defined(MFC_OpenACC)
2495# 421 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2497# 421 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2498#elif defined(MFC_OpenMP)
2499# 421 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2501# 421 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2507 & eqn_idx%cont%end + i) = (s_m*(cm%R(i)*vel_r(norm_dir) - b4%R(i) &
2508 & /ga%R*b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(cm%L(i) &
2509 & *vel_l(norm_dir) - b4%L(i)/ga%L*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L) &
2510 & ) + s_m*s_p*(cm%L(i) - cm%R(i)))/(s_m - s_p)
2512 else if (bubbles_euler)
then
2514# 432 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2515#if defined(MFC_OpenACC)
2516# 432 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2518# 432 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2519#elif defined(MFC_OpenMP)
2520# 432 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2522# 432 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2529 & + s_m*s_p*(rho_l*vel_l(
dir_idx(i)) - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) &
2530 & + (s_m/s_l)*(s_p/s_r)*pcorr*(vel_r(
dir_idx(i)) - vel_l(
dir_idx(i)))
2532 else if (hypoelasticity)
then
2534# 442 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2535#if defined(MFC_OpenACC)
2536# 442 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2538# 442 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2539#elif defined(MFC_OpenMP)
2540# 442 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2542# 442 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2550 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p)
2554# 452 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2555#if defined(MFC_OpenACC)
2556# 452 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2558# 452 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2559#elif defined(MFC_OpenMP)
2560# 452 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2562# 452 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2569 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) + (s_m/s_l)*(s_p/s_r) &
2575 if (mhd .and. (.not. relativity))
then
2577# 467 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2579 & eqn_idx%E) = (s_m*(vel_r(norm_dir)*(e_r + pres_r + pres_mag%R) - b%R(norm_dir) &
2580 & *(vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3))) - s_p*(vel_l(norm_dir) &
2581 & *(e_l + pres_l + pres_mag%L) - b%L(norm_dir)*(vel_l(1)*b%L(1) + vel_l(2)*b%L(2) &
2582 & + vel_l(3)*b%L(3))) + s_m*s_p*(e_l - e_r))/(s_m - s_p)
2583# 473 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2584 else if (mhd .and. relativity)
then
2587 & eqn_idx%E) = (s_m*(cm%R(norm_dir) - ga%R*alpha_rho_r(1)*vel_r(norm_dir)) &
2588 & - s_p*(cm%L(norm_dir) - ga%L*alpha_rho_l(1)*vel_l(norm_dir)) + s_m*s_p*(e_l - e_r)) &
2590 else if (bubbles_euler)
then
2592 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r - ptilde_r) - s_p*vel_l(
dir_idx(1) &
2593 & )*(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) &
2594 & *pcorr*(vel_r_rms - vel_l_rms)/2._wp
2595 else if (hypoelasticity)
then
2596 flux_tau_l = 0._wp; flux_tau_r = 0._wp
2598# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2599#if defined(MFC_OpenACC)
2600# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2602# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2603#elif defined(MFC_OpenMP)
2604# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2606# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2613 & eqn_idx%E) = (s_m*(vel_r(
dir_idx(1))*(e_r + pres_r) - flux_tau_r) &
2614 & - s_p*(vel_l(
dir_idx(1))*(e_l + pres_l) - flux_tau_l) + s_m*s_p*(e_l - e_r))/(s_m &
2618 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r) - s_p*vel_l(
dir_idx(1))*(e_l &
2619 & + 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 &
2620 & - vel_l_rms)/2._wp
2624 if (hypoelasticity)
then
2625 do i = 1, eqn_idx%stress%end - eqn_idx%stress%beg + 1
2627 & eqn_idx%stress%beg - 1 + i) = (s_m*(rho_r*vel_r(
dir_idx(1))*tau_e_r(i)) &
2628 & - s_p*(rho_l*vel_l(
dir_idx(1))*tau_e_l(i)) + s_m*s_p*(rho_l*tau_e_l(i) &
2629 & - rho_r*tau_e_r(i)))/(s_m - s_p)
2635# 513 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2636#if defined(MFC_OpenACC)
2637# 513 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2639# 513 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2640#elif defined(MFC_OpenMP)
2641# 513 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2643# 513 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2645 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2646 flux_rsx_vf(j, k, l, i) = (ql_prim_rsx_vf(j, k, l, i) - qr_prim_rsx_vf(j, k, l + 1, &
2647 & i))*s_m*s_p/(s_m - s_p)
2649 & i) - s_p*ql_prim_rsx_vf(j, k, l, i))/(s_m - s_p)
2652 if (bubbles_euler)
then
2654 if (num_fluids > 1)
then
2661# 529 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2662#if defined(MFC_OpenACC)
2663# 529 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2665# 529 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2666#elif defined(MFC_OpenMP)
2667# 529 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2669# 529 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2671 do i = eqn_idx%species%beg, eqn_idx%species%end
2672 y_l = ql_prim_rsx_vf(j, k, l, i)
2673 y_r = qr_prim_rsx_vf(j, k, l + 1, i)
2676 & i) = (s_m*y_r*rho_r*vel_r(
dir_idx(1)) - s_p*y_l*rho_l*vel_l(
dir_idx(1)) &
2677 & + s_m*s_p*(y_l*rho_l - y_r*rho_r))/(s_m - s_p)
2687# 545 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2688#if defined(MFC_OpenACC)
2689# 545 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2691# 545 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2692#elif defined(MFC_OpenMP)
2693# 545 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2695# 545 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2699 & eqn_idx%B%beg + i) = (s_m*(vel_r(1)*b%R(2 + i) - vel_r(2 + i)*bx0) &
2700 & - s_p*(vel_l(1)*b%L(2 + i) - vel_l(2 + i)*bx0) + s_m*s_p*(b%L(2 + i) &
2701 & - b%R(2 + i)))/(s_m - s_p)
2708# 556 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2709#if defined(MFC_OpenACC)
2710# 556 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2712# 556 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2713#elif defined(MFC_OpenMP)
2714# 556 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2716# 556 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2720 & eqn_idx%B%beg + i) = (1 -
dir_flg(i + 1))*(s_m*(vel_r(
dir_idx(1))*b%R(i + 1) &
2721 & - vel_r(i + 1)*b%R(norm_dir)) - s_p*(vel_l(
dir_idx(1))*b%L(i + 1) - vel_l(i &
2722 & + 1)*b%L(norm_dir)) + s_m*s_p*(b%L(i + 1) - b%R(i + 1)))/(s_m - s_p)
2728# 595 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2733# 598 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2734#if defined(MFC_OpenACC)
2735# 598 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2737# 598 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2738#elif defined(MFC_OpenMP)
2739# 598 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2741# 598 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2743# 598 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2746# 601 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2750# 603 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2752# 603 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2753#if defined(MFC_OpenACC)
2754# 603 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2756# 603 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2758# 603 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2759#elif defined(MFC_OpenMP)
2760# 603 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2762# 603 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2764# 603 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2766# 603 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2768# 603 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2770# 603 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2772# 605 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2776 idx_right_phys(1) = j
2777 idx_right_phys(2) = k
2778 idx_right_phys(3) = l
2779 idx_right_phys(norm_dir) = idx_right_phys(norm_dir) + 1
2781 if (norm_dir == 1)
then
2783# 614 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2784#if defined(MFC_OpenACC)
2785# 614 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2787# 614 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2788#elif defined(MFC_OpenMP)
2789# 614 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2791# 614 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2793 do i = 1, num_fluids
2794 alpha_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%E + i)
2795 alpha_r(i) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%E + i)
2799# 620 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2800#if defined(MFC_OpenACC)
2801# 620 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2803# 620 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2804#elif defined(MFC_OpenMP)
2805# 620 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2807# 620 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2810 vel_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%mom%beg + i - 1)
2811 vel_r(i) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%mom%beg + i - 1)
2813 else if (norm_dir == 2)
then
2815# 626 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2816#if defined(MFC_OpenACC)
2817# 626 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2819# 626 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2820#elif defined(MFC_OpenMP)
2821# 626 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2823# 626 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2825 do i = 1, num_fluids
2826 alpha_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%E + i)
2827 alpha_r(i) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%E + i)
2830# 631 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2831#if defined(MFC_OpenACC)
2832# 631 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2834# 631 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2835#elif defined(MFC_OpenMP)
2836# 631 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2838# 631 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2841 vel_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%mom%beg + i - 1)
2842 vel_r(i) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%mom%beg + i - 1)
2846# 637 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2847#if defined(MFC_OpenACC)
2848# 637 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2850# 637 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2851#elif defined(MFC_OpenMP)
2852# 637 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2854# 637 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2856 do i = 1, num_fluids
2857 alpha_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%E + i)
2858 alpha_r(i) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%E + i)
2862# 643 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2863#if defined(MFC_OpenACC)
2864# 643 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2866# 643 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2867#elif defined(MFC_OpenMP)
2868# 643 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2870# 643 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2873 vel_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%mom%beg + i - 1)
2874 vel_r(i) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%mom%beg + i - 1)
2879# 650 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2880#if defined(MFC_OpenACC)
2881# 650 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2883# 650 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2884#elif defined(MFC_OpenMP)
2885# 650 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2887# 650 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2893 if (merge(re_size_loc1, re_size_loc2, i == 1) > 0) re_l(i) = 0._wp
2894 if (merge(re_size_loc1, re_size_loc2, i == 1) > 0) re_r(i) = 0._wp
2897# 658 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2898#if defined(MFC_OpenACC)
2899# 658 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2901# 658 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2902#elif defined(MFC_OpenMP)
2903# 658 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2905# 658 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2907 do q = 1, merge(re_size_loc1, re_size_loc2, i == 1)
2912 re_l(i) = 1._wp/max(re_l(i),
sgm_eps)
2913 re_r(i) = 1._wp/max(re_r(i),
sgm_eps)
2918# 669 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2919#if defined(MFC_OpenACC)
2920# 669 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2922# 669 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2923#elif defined(MFC_OpenMP)
2924# 669 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2926# 669 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2929 vel_grad_l(i, 1) = (dql_prim_dx_vf(eqn_idx%mom%beg + i - 1)%sf(j, k, l)/re_l(1))
2930 vel_grad_r(i, 1) = (dqr_prim_dx_vf(eqn_idx%mom%beg + i - 1)%sf(idx_right_phys(1), &
2931 & idx_right_phys(2), idx_right_phys(3))/re_r(1))
2932# 675 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2933 if (num_dims > 1)
then
2934 vel_grad_l(i, 2) = (dql_prim_dy_vf(eqn_idx%mom%beg + i - 1)%sf(j, k, l)/re_l(1))
2935 vel_grad_r(i, 2) = (dqr_prim_dy_vf(eqn_idx%mom%beg + i - 1)%sf(idx_right_phys(1), &
2936 & idx_right_phys(2), idx_right_phys(3))/re_r(1))
2938# 681 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2939 if (num_dims > 2)
then
2940 vel_grad_l(i, 3) = (dql_prim_dz_vf(eqn_idx%mom%beg + i - 1)%sf(j, k, l)/re_l(1))
2941 vel_grad_r(i, 3) = (dqr_prim_dz_vf(eqn_idx%mom%beg + i - 1)%sf(idx_right_phys(1), &
2942 & idx_right_phys(2), idx_right_phys(3))/re_r(1))
2944# 687 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2945# 688 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2948 if (norm_dir == 1)
then
2949 flux_src_vf(eqn_idx%mom%beg)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg)%sf(j, k, &
2950 & l) - (4._wp/3._wp)*0.5_wp*(vel_grad_l(1, 1) + vel_grad_r(1, 1))
2951 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2952 & l) - (4._wp/3._wp)*0.5_wp*(vel_grad_l(1, 1)*vel_l(1) + vel_grad_r(1, 1)*vel_r(1))
2953# 696 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2954 if (num_dims > 1)
then
2955 flux_src_vf(eqn_idx%mom%beg)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg)%sf(j, k, &
2956 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(2, 2) + vel_grad_r(2, 2))
2957 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2958 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(2, 2)*vel_l(1) + vel_grad_r(2, &
2961 flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, &
2962 & l) - 0.5_wp*(vel_grad_l(1, 2) + vel_grad_r(1, 2)) - 0.5_wp*(vel_grad_l(2, &
2963 & 1) + vel_grad_r(2, 1))
2964 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2965 & l) - 0.5_wp*(vel_grad_l(1, 2)*vel_l(2) + vel_grad_r(1, &
2966 & 2)*vel_r(2)) - 0.5_wp*(vel_grad_l(2, 1)*vel_l(2) + vel_grad_r(2, 1)*vel_r(2))
2967# 710 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2968 if (num_dims > 2)
then
2969 flux_src_vf(eqn_idx%mom%beg)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg)%sf(j, k, &
2970 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(3, 3) + vel_grad_r(3, 3))
2971 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2972 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(3, &
2973 & 3)*vel_l(1) + vel_grad_r(3, 3)*vel_r(1))
2975 flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, &
2976 & l) = flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, &
2977 & l) - 0.5_wp*(vel_grad_l(1, 3) + vel_grad_r(1, &
2978 & 3)) - 0.5_wp*(vel_grad_l(3, 1) + vel_grad_r(3, 1))
2979 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2980 & l) - 0.5_wp*(vel_grad_l(1, 3)*vel_l(3) + vel_grad_r(1, &
2981 & 3)*vel_r(3)) - 0.5_wp*(vel_grad_l(3, 1)*vel_l(3) + vel_grad_r(3, &
2984# 727 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2986# 729 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2987 else if (norm_dir == 2)
then
2988# 731 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2989 flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, &
2990 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(1, 1) + vel_grad_r(1, 1))
2991 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2992 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(1, 1)*vel_l(2) + vel_grad_r(1, 1)*vel_r(2))
2994 flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, &
2995 & l) - (4._wp/3._wp)*0.5_wp*(vel_grad_l(2, 2) + vel_grad_r(2, 2))
2996 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2997 & l) - (4._wp/3._wp)*0.5_wp*(vel_grad_l(2, 2)*vel_l(2) + vel_grad_r(2, 2)*vel_r(2))
2999 flux_src_vf(eqn_idx%mom%beg)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg)%sf(j, k, &
3000 & l) - 0.5_wp*(vel_grad_l(1, 2) + vel_grad_r(1, 2)) - 0.5_wp*(vel_grad_l(2, &
3001 & 1) + vel_grad_r(2, 1))
3002 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
3003 & l) - 0.5_wp*(vel_grad_l(1, 2)*vel_l(1) + vel_grad_r(1, &
3004 & 2)*vel_r(1)) - 0.5_wp*(vel_grad_l(2, 1)*vel_l(1) + vel_grad_r(2, 1)*vel_r(1))
3005# 748 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
3006 if (num_dims > 2)
then
3007 flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, &
3008 & k, l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(3, 3) + vel_grad_r(3, 3))
3009 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
3010 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(3, 3)*vel_l(2) + vel_grad_r(3, &
3013 flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, &
3014 & k, l) - 0.5_wp*(vel_grad_l(2, 3) + vel_grad_r(2, &
3015 & 3)) - 0.5_wp*(vel_grad_l(3, 2) + vel_grad_r(3, 2))
3016 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
3017 & l) - 0.5_wp*(vel_grad_l(2, 3)*vel_l(3) + vel_grad_r(2, &
3018 & 3)*vel_r(3)) - 0.5_wp*(vel_grad_l(3, 2)*vel_l(3) + vel_grad_r(3, &
3021# 764 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
3022# 765 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
3024# 767 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
3025 flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, &
3026 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(1, 1) + vel_grad_r(1, 1))
3027 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
3028 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(1, 1)*vel_l(3) + vel_grad_r(1, 1)*vel_r(3))
3030 flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, &
3031 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(2, 2) + vel_grad_r(2, 2))
3032 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
3033 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(2, 2)*vel_l(3) + vel_grad_r(2, 2)*vel_r(3))
3035 flux_src_vf(eqn_idx%mom%beg)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg)%sf(j, k, &
3036 & l) - 0.5_wp*(vel_grad_l(1, 3) + vel_grad_r(1, 3)) - 0.5_wp*(vel_grad_l(3, &
3037 & 1) + vel_grad_r(3, 1))
3038 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
3039 & l) - 0.5_wp*(vel_grad_l(1, 3)*vel_l(1) + vel_grad_r(1, &
3040 & 3)*vel_r(1)) - 0.5_wp*(vel_grad_l(3, 1)*vel_l(1) + vel_grad_r(3, 1)*vel_r(1))
3042 flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, &
3043 & l) - (4._wp/3._wp)*0.5_wp*(vel_grad_l(3, 3) + vel_grad_r(3, 3))
3044 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
3045 & l) - (4._wp/3._wp)*0.5_wp*(vel_grad_l(3, 3)*vel_l(3) + vel_grad_r(3, 3)*vel_r(3))
3047 flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, &
3048 & l) - 0.5_wp*(vel_grad_l(2, 3) + vel_grad_r(2, 3)) - 0.5_wp*(vel_grad_l(3, &
3049 & 2) + vel_grad_r(3, 2))
3050 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
3051 & l) - 0.5_wp*(vel_grad_l(2, 3)*vel_l(2) + vel_grad_r(2, &
3052 & 3)*vel_r(2)) - 0.5_wp*(vel_grad_l(3, 2)*vel_l(2) + vel_grad_r(3, 2)*vel_r(2))
3053# 796 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
3059# 800 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
3060#if defined(MFC_OpenACC)
3061# 800 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
3063# 800 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
3064#elif defined(MFC_OpenMP)
3065# 800 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
3067# 800 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
3070 vel_grad_l(i, 1) = (dql_prim_dx_vf(eqn_idx%mom%beg + i - 1)%sf(j, k, l)/re_l(2))
3071 vel_grad_r(i, 1) = (dqr_prim_dx_vf(eqn_idx%mom%beg + i - 1)%sf(idx_right_phys(1), &
3072 & idx_right_phys(2), idx_right_phys(3))/re_r(2))
3073# 806 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
3074 if (num_dims > 1)
then
3075 vel_grad_l(i, 2) = (dql_prim_dy_vf(eqn_idx%mom%beg + i - 1)%sf(j, k, l)/re_l(2))
3076 vel_grad_r(i, 2) = (dqr_prim_dy_vf(eqn_idx%mom%beg + i - 1)%sf(idx_right_phys(1), &
3077 & idx_right_phys(2), idx_right_phys(3))/re_r(2))
3079# 812 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
3080# 813 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
3081 if (num_dims > 2)
then
3082 vel_grad_l(i, 3) = (dql_prim_dz_vf(eqn_idx%mom%beg + i - 1)%sf(j, k, l)/re_l(2))
3083 vel_grad_r(i, 3) = (dqr_prim_dz_vf(eqn_idx%mom%beg + i - 1)%sf(idx_right_phys(1), &
3084 & idx_right_phys(2), idx_right_phys(3))/re_r(2))
3086# 819 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
3089 if (norm_dir == 1)
then
3090 flux_src_vf(eqn_idx%mom%beg)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg)%sf(j, k, &
3091 & l) - 0.5_wp*(vel_grad_l(1, 1) + vel_grad_r(1, 1))
3092 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, l) - 0.5_wp*(vel_grad_l(1, &
3093 & 1)*vel_l(1) + vel_grad_r(1, 1)*vel_r(1))
3094# 827 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
3095 if (num_dims > 1)
then
3096 flux_src_vf(eqn_idx%mom%beg)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg)%sf(j, k, &
3097 & l) - 0.5_wp*(vel_grad_l(2, 2) + vel_grad_r(2, 2))
3098 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
3099 & l) - 0.5_wp*(vel_grad_l(2, 2)*vel_l(1) + vel_grad_r(2, 2)*vel_r(1))
3101# 834 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
3102 if (num_dims > 2)
then
3103 flux_src_vf(eqn_idx%mom%beg)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg)%sf(j, k, &
3104 & l) - 0.5_wp*(vel_grad_l(3, 3) + vel_grad_r(3, 3))
3105 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
3106 & l) - 0.5_wp*(vel_grad_l(3, 3)*vel_l(1) + vel_grad_r(3, 3)*vel_r(1))
3108# 841 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
3110# 843 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
3111 else if (norm_dir == 2)
then
3112# 845 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
3113 flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, &
3114 & l) - 0.5_wp*(vel_grad_l(1, 1) + vel_grad_r(1, 1))
3115 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
3116 & l) - 0.5_wp*(vel_grad_l(1, 1)*vel_l(2) + vel_grad_r(1, 1)*vel_r(2))
3118 flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, &
3119 & l) - 0.5_wp*(vel_grad_l(2, 2) + vel_grad_r(2, 2))
3120 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
3121 & l) - 0.5_wp*(vel_grad_l(2, 2)*vel_l(2) + vel_grad_r(2, 2)*vel_r(2))
3123# 856 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
3124 if (num_dims > 2)
then
3125 flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, &
3126 & k, l) - 0.5_wp*(vel_grad_l(3, 3) + vel_grad_r(3, 3))
3127 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
3128 & l) - 0.5_wp*(vel_grad_l(3, 3)*vel_l(2) + vel_grad_r(3, 3)*vel_r(2))
3130# 863 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
3131# 864 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
3133# 866 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
3134 flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, &
3135 & l) - 0.5_wp*(vel_grad_l(1, 1) + vel_grad_r(1, 1))
3136 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
3137 & l) - 0.5_wp*(vel_grad_l(1, 1)*vel_l(3) + vel_grad_r(1, 1)*vel_r(3))
3139 flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, &
3140 & l) - 0.5_wp*(vel_grad_l(2, 2) + vel_grad_r(2, 2))
3141 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
3142 & l) - 0.5_wp*(vel_grad_l(2, 2)*vel_l(3) + vel_grad_r(2, 2)*vel_r(3))
3144 flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, &
3145 & l) - 0.5_wp*(vel_grad_l(3, 3) + vel_grad_r(3, 3))
3146 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
3147 & l) - 0.5_wp*(vel_grad_l(3, 3)*vel_l(3) + vel_grad_r(3, 3)*vel_r(3))
3148# 881 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
3155# 886 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
3156#if defined(MFC_OpenACC)
3157# 886 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
3159# 886 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
3160#elif defined(MFC_OpenMP)
3161# 886 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
3163# 886 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
3165# 886 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"