362 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, &
363 & dqR_prim_dx_vf, dqR_prim_dy_vf, dqR_prim_dz_vf, qR_prim_vf, q_prim_vf, flux_vf, flux_src_vf, &
364 & flux_gsrc_vf, norm_dir, ix, iy, iz)
366 real(wp),
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:),
intent(inout) :: qL_prim_rsx_vf, qR_prim_rsx_vf
367 type(
scalar_field),
dimension(sys_size),
intent(in) :: q_prim_vf
368 type(
scalar_field),
allocatable,
dimension(:),
intent(inout) :: qL_prim_vf, qR_prim_vf
369 type(
scalar_field),
allocatable,
dimension(:),
intent(inout) :: dqL_prim_dx_vf, dqR_prim_dx_vf, dqL_prim_dy_vf, &
370 & dqR_prim_dy_vf, dqL_prim_dz_vf, dqR_prim_dz_vf
373 type(
scalar_field),
dimension(sys_size),
intent(inout) :: flux_vf, flux_src_vf, flux_gsrc_vf
374 integer,
intent(in) :: norm_dir
377# 49 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
378 real(wp),
dimension(num_fluids) :: alpha_rho_L, alpha_rho_R
379 real(wp),
dimension(num_vels) :: vel_L, vel_R
380 real(wp),
dimension(num_fluids) :: alpha_L, alpha_R
381 real(wp),
dimension(num_species) :: Ys_L, Ys_R
382 real(wp),
dimension(num_species) :: Cp_iL, Cp_iR, Xs_L, Xs_R, Gamma_iL, Gamma_iR
383 real(wp),
dimension(num_species) :: Yi_avg, Phi_avg, h_iL, h_iR, h_avg_2
385 real(wp),
dimension(num_dims, num_dims) :: vel_grad_L, vel_grad_R
386# 58 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
387 real(wp) :: rho_L, rho_R
388 real(wp) :: pres_L, pres_R
391 real(wp) :: Cp_avg, Cv_avg, T_avg, eps, c_sum_Yi_Phi
394 real(wp) :: MW_L, MW_R
395 real(wp) :: R_gas_L, R_gas_R
396 real(wp) :: Cp_L, Cp_R
397 real(wp) :: Cv_L, Cv_R
398 real(wp) :: Gamm_L, Gamm_R
399 real(wp) :: gamma_L, gamma_R
400 real(wp) :: pi_inf_L, pi_inf_R
401 real(wp) :: qv_L, qv_R
403 real(wp),
dimension(2) :: Re_L, Re_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
416 integer :: i, j, k, l
417 integer :: Re_size_loc1, Re_size_loc2
418 integer,
dimension(3) :: idx_right_phys
422 & qr_prim_rsx_vf, dqr_prim_dx_vf, dqr_prim_dy_vf, dqr_prim_dz_vf, norm_dir, ix, iy, iz)
426 re_size_loc1 = re_size(1); re_size_loc2 = re_size(2)
427# 102 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
428# 103 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
429# 104 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
430 if (norm_dir == 1)
then
432# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
434# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
435#if defined(MFC_OpenACC)
436# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
438# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
440# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
442# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
444# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
445#elif defined(MFC_OpenMP)
446# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
448# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
450# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
452# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
454# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
456# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
458# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
460# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
462# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
464# 113 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
469# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
470#if defined(MFC_OpenACC)
471# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
473# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
474#elif defined(MFC_OpenMP)
475# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
477# 116 "/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# 124 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
488#if defined(MFC_OpenACC)
489# 124 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
491# 124 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
492#elif defined(MFC_OpenMP)
493# 124 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
495# 124 "/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# 132 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
506#if defined(MFC_OpenACC)
507# 132 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
509# 132 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
510#elif defined(MFC_OpenMP)
511# 132 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
513# 132 "/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)
538# 155 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
539#if defined(MFC_OpenACC)
540# 155 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
542# 155 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
543#elif defined(MFC_OpenMP)
544# 155 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
546# 155 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
549 alpha_rho_l(i) = max(0._wp, alpha_rho_l(i))
550 alpha_l(i) = min(max(0._wp, alpha_l(i)), 1._wp)
551 alpha_l_sum = alpha_l_sum + alpha_l(i)
552 alpha_rho_r(i) = max(0._wp, alpha_rho_r(i))
553 alpha_r(i) = min(max(0._wp, alpha_r(i)), 1._wp)
554 alpha_r_sum = alpha_r_sum + alpha_r(i)
557 alpha_l = alpha_l/max(alpha_l_sum,
sgm_eps)
558 alpha_r = alpha_r/max(alpha_r_sum,
sgm_eps)
571# 178 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
572#if defined(MFC_OpenACC)
573# 178 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
575# 178 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
576#elif defined(MFC_OpenMP)
577# 178 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
579# 178 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
581 do i = eqn_idx%species%beg, eqn_idx%species%end
582 ys_l(i - eqn_idx%species%beg + 1) = ql_prim_rsx_vf(j, k, l, i)
583 ys_r(i - eqn_idx%species%beg + 1) = qr_prim_rsx_vf(j + 1, k, l, i)
586 call get_mixture_molecular_weight(ys_l, mw_l)
587 call get_mixture_molecular_weight(ys_r, mw_r)
589 xs_l(:) = ys_l(:)*mw_l/molecular_weights(:)
590 xs_r(:) = ys_r(:)*mw_r/molecular_weights(:)
592 r_gas_l = gas_constant/mw_l
593 r_gas_r = gas_constant/mw_r
594 t_l = pres_l/rho_l/r_gas_l
595 t_r = pres_r/rho_r/r_gas_r
597 call get_species_specific_heats_r(t_l, cp_il)
598 call get_species_specific_heats_r(t_r, cp_ir)
600 if (chem_params%gamma_method == 1)
then
602 gamma_il = cp_il/(cp_il - 1.0_wp)
603 gamma_ir = cp_ir/(cp_ir - 1.0_wp)
605 gamma_l = sum(xs_l(:)/(gamma_il(:) - 1.0_wp))
606 gamma_r = sum(xs_r(:)/(gamma_ir(:) - 1.0_wp))
607 else if (chem_params%gamma_method == 2)
then
609 call get_mixture_specific_heat_cp_mass(t_l, ys_l, cp_l)
610 call get_mixture_specific_heat_cp_mass(t_r, ys_r, cp_r)
611 call get_mixture_specific_heat_cv_mass(t_l, ys_l, cv_l)
612 call get_mixture_specific_heat_cv_mass(t_r, ys_r, cv_r)
615 gamma_l = 1.0_wp/(gamm_l - 1.0_wp)
617 gamma_r = 1.0_wp/(gamm_r - 1.0_wp)
620 call get_mixture_energy_mass(t_l, ys_l, e_l)
621 call get_mixture_energy_mass(t_r, ys_r, e_r)
623 e_l = rho_l*e_l + 5.e-1*rho_l*vel_l_rms
624 e_r = rho_r*e_r + 5.e-1*rho_r*vel_r_rms
625 h_l = (e_l + pres_l)/rho_l
626 h_r = (e_r + pres_r)/rho_r
628 e_l = gamma_l*pres_l + pi_inf_l + 5.e-1*rho_l*vel_l_rms + qv_l
629 e_r = gamma_r*pres_r + pi_inf_r + 5.e-1*rho_r*vel_r_rms + qv_r
630 h_l = (e_l + pres_l)/rho_l
631 h_r = (e_r + pres_r)/rho_r
640 s_l = 0._wp; s_r = 0._wp
643# 240 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
644#if defined(MFC_OpenACC)
645# 240 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
647# 240 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
648#elif defined(MFC_OpenMP)
649# 240 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
651# 240 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
654 s_l = s_l + vel_l(i)**2._wp
655 s_r = s_r + vel_r(i)**2._wp
661 s_p = max(s_l, s_r) + max(c_l, c_r)
668 if (low_mach == 1)
then
670# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
671 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
672# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
674# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
676# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
677 if (low_mach == 1)
then
678# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
679 pcorr = -(s_p - s_m)*(rho_l + rho_r)/8._wp*(zcoef - 1._wp)
680# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
682# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
684# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
685 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
686# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
688# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
690# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
691 if (low_mach == 1)
then
692# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
694# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
695 & /(rho_r*(s_r - vel_r(
dir_idx(1))) - rho_l*(s_l - vel_l(
dir_idx(1))))*(zcoef - 1._wp)
696# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
697 else if (low_mach == 2)
then
698# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
700# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
702# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
704# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
706# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
708# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
716# 263 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
717#if defined(MFC_OpenACC)
718# 263 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
720# 263 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
721#elif defined(MFC_OpenMP)
722# 263 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
724# 263 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
726 do i = 1, eqn_idx%cont%end
728 & i) = (s_m*alpha_rho_r(i)*vel_r(norm_dir) - s_p*alpha_rho_l(i)*vel_l(norm_dir) &
729 & + s_m*s_p*(alpha_rho_l(i) - alpha_rho_r(i)))/(s_m - s_p)
733 if (bubbles_euler)
then
735# 272 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
736#if defined(MFC_OpenACC)
737# 272 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
739# 272 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
740#elif defined(MFC_OpenMP)
741# 272 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
743# 272 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
750 & + s_m*s_p*(rho_l*vel_l(
dir_idx(i)) - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) &
751 & + (s_m/s_l)*(s_p/s_r)*pcorr*(vel_r(
dir_idx(i)) - vel_l(
dir_idx(i)))
755# 282 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
756#if defined(MFC_OpenACC)
757# 282 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
759# 282 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
760#elif defined(MFC_OpenMP)
761# 282 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
763# 282 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
770 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) + (s_m/s_l)*(s_p/s_r) &
776 if (bubbles_euler)
then
778 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r - ptilde_r) - s_p*vel_l(
dir_idx(1) &
779 & )*(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) &
780 & *pcorr*(vel_r_rms - vel_l_rms)/2._wp
783 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r) - s_p*vel_l(
dir_idx(1))*(e_l &
784 & + 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 &
790# 307 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
791#if defined(MFC_OpenACC)
792# 307 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
794# 307 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
795#elif defined(MFC_OpenMP)
796# 307 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
798# 307 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
800 do i = eqn_idx%adv%beg, eqn_idx%adv%end
801 flux_rsx_vf(j, k, l, i) = (ql_prim_rsx_vf(j, k, l, i) - qr_prim_rsx_vf(j + 1, k, l, &
802 & i))*s_m*s_p/(s_m - s_p)
804 & i) - s_p*ql_prim_rsx_vf(j, k, l, i))/(s_m - s_p)
807 if (bubbles_euler)
then
809 if (num_fluids > 1)
then
816# 323 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
817#if defined(MFC_OpenACC)
818# 323 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
820# 323 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
821#elif defined(MFC_OpenMP)
822# 323 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
824# 323 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
826 do i = eqn_idx%species%beg, eqn_idx%species%end
827 y_l = ql_prim_rsx_vf(j, k, l, i)
828 y_r = qr_prim_rsx_vf(j + 1, k, l, i)
831 & i) = (s_m*y_r*rho_r*vel_r(
dir_idx(1)) - s_p*y_l*rho_l*vel_l(
dir_idx(1)) &
832 & + s_m*s_p*(y_l*rho_l - y_r*rho_r))/(s_m - s_p)
837# 352 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
842# 355 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
843#if defined(MFC_OpenACC)
844# 355 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
846# 355 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
847#elif defined(MFC_OpenMP)
848# 355 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
850# 355 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
852# 355 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
855# 102 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
856# 103 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
857# 104 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
858 if (norm_dir == 2)
then
860# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
862# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
863#if defined(MFC_OpenACC)
864# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
866# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
868# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
870# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
872# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
873#elif defined(MFC_OpenMP)
874# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
876# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
878# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
880# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
882# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
884# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
886# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
888# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
890# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
892# 113 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
897# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
898#if defined(MFC_OpenACC)
899# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
901# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
902#elif defined(MFC_OpenMP)
903# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
905# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
907 do i = 1, eqn_idx%cont%end
908 alpha_rho_l(i) = ql_prim_rsx_vf(j, k, l, i)
909 alpha_rho_r(i) = qr_prim_rsx_vf(j, k + 1, l, i)
912 vel_l_rms = 0._wp; vel_r_rms = 0._wp
915# 124 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
916#if defined(MFC_OpenACC)
917# 124 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
919# 124 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
920#elif defined(MFC_OpenMP)
921# 124 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
923# 124 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
926 vel_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%cont%end + i)
927 vel_r(i) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%cont%end + i)
928 vel_l_rms = vel_l_rms + vel_l(i)**2._wp
929 vel_r_rms = vel_r_rms + vel_r(i)**2._wp
933# 132 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
934#if defined(MFC_OpenACC)
935# 132 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
937# 132 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
938#elif defined(MFC_OpenMP)
939# 132 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
941# 132 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
944 alpha_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%E + i)
945 alpha_r(i) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%E + i)
948 pres_l = ql_prim_rsx_vf(j, k, l, eqn_idx%E)
949 pres_r = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%E)
966# 155 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
967#if defined(MFC_OpenACC)
968# 155 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
970# 155 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
971#elif defined(MFC_OpenMP)
972# 155 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
974# 155 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
977 alpha_rho_l(i) = max(0._wp, alpha_rho_l(i))
978 alpha_l(i) = min(max(0._wp, alpha_l(i)), 1._wp)
979 alpha_l_sum = alpha_l_sum + alpha_l(i)
980 alpha_rho_r(i) = max(0._wp, alpha_rho_r(i))
981 alpha_r(i) = min(max(0._wp, alpha_r(i)), 1._wp)
982 alpha_r_sum = alpha_r_sum + alpha_r(i)
985 alpha_l = alpha_l/max(alpha_l_sum,
sgm_eps)
986 alpha_r = alpha_r/max(alpha_r_sum,
sgm_eps)
999# 178 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1000#if defined(MFC_OpenACC)
1001# 178 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1003# 178 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1004#elif defined(MFC_OpenMP)
1005# 178 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1007# 178 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1009 do i = eqn_idx%species%beg, eqn_idx%species%end
1010 ys_l(i - eqn_idx%species%beg + 1) = ql_prim_rsx_vf(j, k, l, i)
1011 ys_r(i - eqn_idx%species%beg + 1) = qr_prim_rsx_vf(j, k + 1, l, i)
1014 call get_mixture_molecular_weight(ys_l, mw_l)
1015 call get_mixture_molecular_weight(ys_r, mw_r)
1017 xs_l(:) = ys_l(:)*mw_l/molecular_weights(:)
1018 xs_r(:) = ys_r(:)*mw_r/molecular_weights(:)
1020 r_gas_l = gas_constant/mw_l
1021 r_gas_r = gas_constant/mw_r
1022 t_l = pres_l/rho_l/r_gas_l
1023 t_r = pres_r/rho_r/r_gas_r
1025 call get_species_specific_heats_r(t_l, cp_il)
1026 call get_species_specific_heats_r(t_r, cp_ir)
1028 if (chem_params%gamma_method == 1)
then
1030 gamma_il = cp_il/(cp_il - 1.0_wp)
1031 gamma_ir = cp_ir/(cp_ir - 1.0_wp)
1033 gamma_l = sum(xs_l(:)/(gamma_il(:) - 1.0_wp))
1034 gamma_r = sum(xs_r(:)/(gamma_ir(:) - 1.0_wp))
1035 else if (chem_params%gamma_method == 2)
then
1037 call get_mixture_specific_heat_cp_mass(t_l, ys_l, cp_l)
1038 call get_mixture_specific_heat_cp_mass(t_r, ys_r, cp_r)
1039 call get_mixture_specific_heat_cv_mass(t_l, ys_l, cv_l)
1040 call get_mixture_specific_heat_cv_mass(t_r, ys_r, cv_r)
1043 gamma_l = 1.0_wp/(gamm_l - 1.0_wp)
1045 gamma_r = 1.0_wp/(gamm_r - 1.0_wp)
1048 call get_mixture_energy_mass(t_l, ys_l, e_l)
1049 call get_mixture_energy_mass(t_r, ys_r, e_r)
1051 e_l = rho_l*e_l + 5.e-1*rho_l*vel_l_rms
1052 e_r = rho_r*e_r + 5.e-1*rho_r*vel_r_rms
1053 h_l = (e_l + pres_l)/rho_l
1054 h_r = (e_r + pres_r)/rho_r
1056 e_l = gamma_l*pres_l + pi_inf_l + 5.e-1*rho_l*vel_l_rms + qv_l
1057 e_r = gamma_r*pres_r + pi_inf_r + 5.e-1*rho_r*vel_r_rms + qv_r
1058 h_l = (e_l + pres_l)/rho_l
1059 h_r = (e_r + pres_r)/rho_r
1068 s_l = 0._wp; s_r = 0._wp
1071# 240 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1072#if defined(MFC_OpenACC)
1073# 240 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1075# 240 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1076#elif defined(MFC_OpenMP)
1077# 240 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1079# 240 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1082 s_l = s_l + vel_l(i)**2._wp
1083 s_r = s_r + vel_r(i)**2._wp
1089 s_p = max(s_l, s_r) + max(c_l, c_r)
1096 if (low_mach == 1)
then
1098# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1099 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
1100# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1102# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1104# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1105 if (low_mach == 1)
then
1106# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1107 pcorr = -(s_p - s_m)*(rho_l + rho_r)/8._wp*(zcoef - 1._wp)
1108# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1110# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1112# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1113 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
1114# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1116# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1118# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1119 if (low_mach == 1)
then
1120# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1122# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1123 & /(rho_r*(s_r - vel_r(
dir_idx(1))) - rho_l*(s_l - vel_l(
dir_idx(1))))*(zcoef - 1._wp)
1124# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1125 else if (low_mach == 2)
then
1126# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1128# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1130# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1132# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1134# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1136# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1144# 263 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1145#if defined(MFC_OpenACC)
1146# 263 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1148# 263 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1149#elif defined(MFC_OpenMP)
1150# 263 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1152# 263 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1154 do i = 1, eqn_idx%cont%end
1156 & i) = (s_m*alpha_rho_r(i)*vel_r(norm_dir) - s_p*alpha_rho_l(i)*vel_l(norm_dir) &
1157 & + s_m*s_p*(alpha_rho_l(i) - alpha_rho_r(i)))/(s_m - s_p)
1161 if (bubbles_euler)
then
1163# 272 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1164#if defined(MFC_OpenACC)
1165# 272 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1167# 272 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1168#elif defined(MFC_OpenMP)
1169# 272 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1171# 272 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1178 & + s_m*s_p*(rho_l*vel_l(
dir_idx(i)) - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) &
1179 & + (s_m/s_l)*(s_p/s_r)*pcorr*(vel_r(
dir_idx(i)) - vel_l(
dir_idx(i)))
1183# 282 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1184#if defined(MFC_OpenACC)
1185# 282 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1187# 282 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1188#elif defined(MFC_OpenMP)
1189# 282 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1191# 282 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1198 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) + (s_m/s_l)*(s_p/s_r) &
1204 if (bubbles_euler)
then
1206 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r - ptilde_r) - s_p*vel_l(
dir_idx(1) &
1207 & )*(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) &
1208 & *pcorr*(vel_r_rms - vel_l_rms)/2._wp
1211 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r) - s_p*vel_l(
dir_idx(1))*(e_l &
1212 & + 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 &
1213 & - vel_l_rms)/2._wp
1218# 307 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1219#if defined(MFC_OpenACC)
1220# 307 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1222# 307 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1223#elif defined(MFC_OpenMP)
1224# 307 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1226# 307 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1228 do i = eqn_idx%adv%beg, eqn_idx%adv%end
1229 flux_rsx_vf(j, k, l, i) = (ql_prim_rsx_vf(j, k, l, i) - qr_prim_rsx_vf(j, k + 1, l, &
1230 & i))*s_m*s_p/(s_m - s_p)
1232 & i) - s_p*ql_prim_rsx_vf(j, k, l, i))/(s_m - s_p)
1235 if (bubbles_euler)
then
1237 if (num_fluids > 1)
then
1244# 323 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1245#if defined(MFC_OpenACC)
1246# 323 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1248# 323 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1249#elif defined(MFC_OpenMP)
1250# 323 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1252# 323 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1254 do i = eqn_idx%species%beg, eqn_idx%species%end
1255 y_l = ql_prim_rsx_vf(j, k, l, i)
1256 y_r = qr_prim_rsx_vf(j, k + 1, l, i)
1259 & i) = (s_m*y_r*rho_r*vel_r(
dir_idx(1)) - s_p*y_l*rho_l*vel_l(
dir_idx(1)) &
1260 & + s_m*s_p*(y_l*rho_l - y_r*rho_r))/(s_m - s_p)
1265# 336 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1269# 338 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1270#if defined(MFC_OpenACC)
1271# 338 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1273# 338 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1274#elif defined(MFC_OpenMP)
1275# 338 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1277# 338 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1284 & eqn_idx%cont%end + 2) - (s_m*pres_r - s_p*pres_l)/(s_m - s_p)
1287# 346 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1288#if defined(MFC_OpenACC)
1289# 346 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1291# 346 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1292#elif defined(MFC_OpenMP)
1293# 346 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1295# 346 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1297 do i = eqn_idx%adv%beg, eqn_idx%adv%end
1301# 352 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1306# 355 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1307#if defined(MFC_OpenACC)
1308# 355 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1310# 355 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1311#elif defined(MFC_OpenMP)
1312# 355 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1314# 355 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1316# 355 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1319# 102 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1320# 103 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1321# 104 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1322 if (norm_dir == 3)
then
1324# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1326# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1327#if defined(MFC_OpenACC)
1328# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1330# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1332# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1334# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1336# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1337#elif defined(MFC_OpenMP)
1338# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1340# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1342# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1344# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1346# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1348# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1350# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1352# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1354# 105 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1356# 113 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1361# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1362#if defined(MFC_OpenACC)
1363# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1365# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1366#elif defined(MFC_OpenMP)
1367# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1369# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1371 do i = 1, eqn_idx%cont%end
1372 alpha_rho_l(i) = ql_prim_rsx_vf(j, k, l, i)
1373 alpha_rho_r(i) = qr_prim_rsx_vf(j, k, l + 1, i)
1376 vel_l_rms = 0._wp; vel_r_rms = 0._wp
1379# 124 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1380#if defined(MFC_OpenACC)
1381# 124 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1383# 124 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1384#elif defined(MFC_OpenMP)
1385# 124 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1387# 124 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1390 vel_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%cont%end + i)
1391 vel_r(i) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%cont%end + i)
1392 vel_l_rms = vel_l_rms + vel_l(i)**2._wp
1393 vel_r_rms = vel_r_rms + vel_r(i)**2._wp
1397# 132 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1398#if defined(MFC_OpenACC)
1399# 132 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1401# 132 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1402#elif defined(MFC_OpenMP)
1403# 132 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1405# 132 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1407 do i = 1, num_fluids
1408 alpha_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%E + i)
1409 alpha_r(i) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%E + i)
1412 pres_l = ql_prim_rsx_vf(j, k, l, eqn_idx%E)
1413 pres_r = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%E)
1430# 155 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1431#if defined(MFC_OpenACC)
1432# 155 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1434# 155 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1435#elif defined(MFC_OpenMP)
1436# 155 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1438# 155 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1440 do i = 1, num_fluids
1441 alpha_rho_l(i) = max(0._wp, alpha_rho_l(i))
1442 alpha_l(i) = min(max(0._wp, alpha_l(i)), 1._wp)
1443 alpha_l_sum = alpha_l_sum + alpha_l(i)
1444 alpha_rho_r(i) = max(0._wp, alpha_rho_r(i))
1445 alpha_r(i) = min(max(0._wp, alpha_r(i)), 1._wp)
1446 alpha_r_sum = alpha_r_sum + alpha_r(i)
1449 alpha_l = alpha_l/max(alpha_l_sum,
sgm_eps)
1450 alpha_r = alpha_r/max(alpha_r_sum,
sgm_eps)
1463# 178 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1464#if defined(MFC_OpenACC)
1465# 178 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1467# 178 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1468#elif defined(MFC_OpenMP)
1469# 178 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1471# 178 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1473 do i = eqn_idx%species%beg, eqn_idx%species%end
1474 ys_l(i - eqn_idx%species%beg + 1) = ql_prim_rsx_vf(j, k, l, i)
1475 ys_r(i - eqn_idx%species%beg + 1) = qr_prim_rsx_vf(j, k, l + 1, i)
1478 call get_mixture_molecular_weight(ys_l, mw_l)
1479 call get_mixture_molecular_weight(ys_r, mw_r)
1481 xs_l(:) = ys_l(:)*mw_l/molecular_weights(:)
1482 xs_r(:) = ys_r(:)*mw_r/molecular_weights(:)
1484 r_gas_l = gas_constant/mw_l
1485 r_gas_r = gas_constant/mw_r
1486 t_l = pres_l/rho_l/r_gas_l
1487 t_r = pres_r/rho_r/r_gas_r
1489 call get_species_specific_heats_r(t_l, cp_il)
1490 call get_species_specific_heats_r(t_r, cp_ir)
1492 if (chem_params%gamma_method == 1)
then
1494 gamma_il = cp_il/(cp_il - 1.0_wp)
1495 gamma_ir = cp_ir/(cp_ir - 1.0_wp)
1497 gamma_l = sum(xs_l(:)/(gamma_il(:) - 1.0_wp))
1498 gamma_r = sum(xs_r(:)/(gamma_ir(:) - 1.0_wp))
1499 else if (chem_params%gamma_method == 2)
then
1501 call get_mixture_specific_heat_cp_mass(t_l, ys_l, cp_l)
1502 call get_mixture_specific_heat_cp_mass(t_r, ys_r, cp_r)
1503 call get_mixture_specific_heat_cv_mass(t_l, ys_l, cv_l)
1504 call get_mixture_specific_heat_cv_mass(t_r, ys_r, cv_r)
1507 gamma_l = 1.0_wp/(gamm_l - 1.0_wp)
1509 gamma_r = 1.0_wp/(gamm_r - 1.0_wp)
1512 call get_mixture_energy_mass(t_l, ys_l, e_l)
1513 call get_mixture_energy_mass(t_r, ys_r, e_r)
1515 e_l = rho_l*e_l + 5.e-1*rho_l*vel_l_rms
1516 e_r = rho_r*e_r + 5.e-1*rho_r*vel_r_rms
1517 h_l = (e_l + pres_l)/rho_l
1518 h_r = (e_r + pres_r)/rho_r
1520 e_l = gamma_l*pres_l + pi_inf_l + 5.e-1*rho_l*vel_l_rms + qv_l
1521 e_r = gamma_r*pres_r + pi_inf_r + 5.e-1*rho_r*vel_r_rms + qv_r
1522 h_l = (e_l + pres_l)/rho_l
1523 h_r = (e_r + pres_r)/rho_r
1532 s_l = 0._wp; s_r = 0._wp
1535# 240 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1536#if defined(MFC_OpenACC)
1537# 240 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1539# 240 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1540#elif defined(MFC_OpenMP)
1541# 240 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1543# 240 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1546 s_l = s_l + vel_l(i)**2._wp
1547 s_r = s_r + vel_r(i)**2._wp
1553 s_p = max(s_l, s_r) + max(c_l, c_r)
1560 if (low_mach == 1)
then
1562# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1563 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
1564# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1566# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1568# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1569 if (low_mach == 1)
then
1570# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1571 pcorr = -(s_p - s_m)*(rho_l + rho_r)/8._wp*(zcoef - 1._wp)
1572# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1574# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1576# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1577 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
1578# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1580# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1582# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1583 if (low_mach == 1)
then
1584# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1586# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1587 & /(rho_r*(s_r - vel_r(
dir_idx(1))) - rho_l*(s_l - vel_l(
dir_idx(1))))*(zcoef - 1._wp)
1588# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1589 else if (low_mach == 2)
then
1590# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1592# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1594# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1596# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1598# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1600# 257 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1608# 263 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1609#if defined(MFC_OpenACC)
1610# 263 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1612# 263 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1613#elif defined(MFC_OpenMP)
1614# 263 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1616# 263 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1618 do i = 1, eqn_idx%cont%end
1620 & i) = (s_m*alpha_rho_r(i)*vel_r(norm_dir) - s_p*alpha_rho_l(i)*vel_l(norm_dir) &
1621 & + s_m*s_p*(alpha_rho_l(i) - alpha_rho_r(i)))/(s_m - s_p)
1625 if (bubbles_euler)
then
1627# 272 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1628#if defined(MFC_OpenACC)
1629# 272 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1631# 272 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1632#elif defined(MFC_OpenMP)
1633# 272 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1635# 272 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1642 & + s_m*s_p*(rho_l*vel_l(
dir_idx(i)) - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) &
1643 & + (s_m/s_l)*(s_p/s_r)*pcorr*(vel_r(
dir_idx(i)) - vel_l(
dir_idx(i)))
1647# 282 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1648#if defined(MFC_OpenACC)
1649# 282 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1651# 282 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1652#elif defined(MFC_OpenMP)
1653# 282 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1655# 282 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1662 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) + (s_m/s_l)*(s_p/s_r) &
1668 if (bubbles_euler)
then
1670 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r - ptilde_r) - s_p*vel_l(
dir_idx(1) &
1671 & )*(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) &
1672 & *pcorr*(vel_r_rms - vel_l_rms)/2._wp
1675 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r) - s_p*vel_l(
dir_idx(1))*(e_l &
1676 & + 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 &
1677 & - vel_l_rms)/2._wp
1682# 307 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1683#if defined(MFC_OpenACC)
1684# 307 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1686# 307 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1687#elif defined(MFC_OpenMP)
1688# 307 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1690# 307 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1692 do i = eqn_idx%adv%beg, eqn_idx%adv%end
1693 flux_rsx_vf(j, k, l, i) = (ql_prim_rsx_vf(j, k, l, i) - qr_prim_rsx_vf(j, k, l + 1, &
1694 & i))*s_m*s_p/(s_m - s_p)
1696 & i) - s_p*ql_prim_rsx_vf(j, k, l, i))/(s_m - s_p)
1699 if (bubbles_euler)
then
1701 if (num_fluids > 1)
then
1708# 323 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1709#if defined(MFC_OpenACC)
1710# 323 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1712# 323 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1713#elif defined(MFC_OpenMP)
1714# 323 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1716# 323 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1718 do i = eqn_idx%species%beg, eqn_idx%species%end
1719 y_l = ql_prim_rsx_vf(j, k, l, i)
1720 y_r = qr_prim_rsx_vf(j, k, l + 1, i)
1723 & i) = (s_m*y_r*rho_r*vel_r(
dir_idx(1)) - s_p*y_l*rho_l*vel_l(
dir_idx(1)) &
1724 & + s_m*s_p*(y_l*rho_l - y_r*rho_r))/(s_m - s_p)
1729# 352 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1734# 355 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1735#if defined(MFC_OpenACC)
1736# 355 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1738# 355 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1739#elif defined(MFC_OpenMP)
1740# 355 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1742# 355 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1744# 355 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1747# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1751# 360 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1753# 360 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1754#if defined(MFC_OpenACC)
1755# 360 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1757# 360 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1759# 360 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1760#elif defined(MFC_OpenMP)
1761# 360 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1763# 360 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1765# 360 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1767# 360 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1769# 360 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1771# 360 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1773# 362 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1777 idx_right_phys(1) = j
1778 idx_right_phys(2) = k
1779 idx_right_phys(3) = l
1780 idx_right_phys(norm_dir) = idx_right_phys(norm_dir) + 1
1782 if (norm_dir == 1)
then
1784# 371 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1785#if defined(MFC_OpenACC)
1786# 371 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1788# 371 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1789#elif defined(MFC_OpenMP)
1790# 371 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1792# 371 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1794 do i = 1, num_fluids
1795 alpha_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%E + i)
1796 alpha_r(i) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%E + i)
1800# 377 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1801#if defined(MFC_OpenACC)
1802# 377 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1804# 377 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1805#elif defined(MFC_OpenMP)
1806# 377 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1808# 377 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1811 vel_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%mom%beg + i - 1)
1812 vel_r(i) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%mom%beg + i - 1)
1814 else if (norm_dir == 2)
then
1816# 383 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1817#if defined(MFC_OpenACC)
1818# 383 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1820# 383 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1821#elif defined(MFC_OpenMP)
1822# 383 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1824# 383 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1826 do i = 1, num_fluids
1827 alpha_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%E + i)
1828 alpha_r(i) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%E + i)
1831# 388 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1832#if defined(MFC_OpenACC)
1833# 388 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1835# 388 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1836#elif defined(MFC_OpenMP)
1837# 388 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1839# 388 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1842 vel_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%mom%beg + i - 1)
1843 vel_r(i) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%mom%beg + i - 1)
1847# 394 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1848#if defined(MFC_OpenACC)
1849# 394 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1851# 394 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1852#elif defined(MFC_OpenMP)
1853# 394 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1855# 394 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1857 do i = 1, num_fluids
1858 alpha_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%E + i)
1859 alpha_r(i) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%E + i)
1863# 400 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1864#if defined(MFC_OpenACC)
1865# 400 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1867# 400 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1868#elif defined(MFC_OpenMP)
1869# 400 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1871# 400 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1874 vel_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%mom%beg + i - 1)
1875 vel_r(i) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%mom%beg + i - 1)
1884# 411 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1885#if defined(MFC_OpenACC)
1886# 411 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1888# 411 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1889#elif defined(MFC_OpenMP)
1890# 411 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1892# 411 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1895 vel_grad_l(i, 1) = (dql_prim_dx_vf(eqn_idx%mom%beg + i - 1)%sf(j, k, l)/re_l(1))
1896 vel_grad_r(i, 1) = (dqr_prim_dx_vf(eqn_idx%mom%beg + i - 1)%sf(idx_right_phys(1), &
1897 & idx_right_phys(2), idx_right_phys(3))/re_r(1))
1898# 417 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1899 if (num_dims > 1)
then
1900 vel_grad_l(i, 2) = (dql_prim_dy_vf(eqn_idx%mom%beg + i - 1)%sf(j, k, l)/re_l(1))
1901 vel_grad_r(i, 2) = (dqr_prim_dy_vf(eqn_idx%mom%beg + i - 1)%sf(idx_right_phys(1), &
1902 & idx_right_phys(2), idx_right_phys(3))/re_r(1))
1904# 423 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1905 if (num_dims > 2)
then
1906 vel_grad_l(i, 3) = (dql_prim_dz_vf(eqn_idx%mom%beg + i - 1)%sf(j, k, l)/re_l(1))
1907 vel_grad_r(i, 3) = (dqr_prim_dz_vf(eqn_idx%mom%beg + i - 1)%sf(idx_right_phys(1), &
1908 & idx_right_phys(2), idx_right_phys(3))/re_r(1))
1910# 429 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1911# 430 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1914 if (norm_dir == 1)
then
1915 flux_src_vf(eqn_idx%mom%beg)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg)%sf(j, k, &
1916 & l) - (4._wp/3._wp)*0.5_wp*(vel_grad_l(1, 1) + vel_grad_r(1, 1))
1917 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
1918 & l) - (4._wp/3._wp)*0.5_wp*(vel_grad_l(1, 1)*vel_l(1) + vel_grad_r(1, 1)*vel_r(1))
1919# 438 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1920 if (num_dims > 1)
then
1921 flux_src_vf(eqn_idx%mom%beg)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg)%sf(j, k, &
1922 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(2, 2) + vel_grad_r(2, 2))
1923 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
1924 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(2, 2)*vel_l(1) + vel_grad_r(2, &
1927 flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, &
1928 & l) - 0.5_wp*(vel_grad_l(1, 2) + vel_grad_r(1, 2)) - 0.5_wp*(vel_grad_l(2, &
1929 & 1) + vel_grad_r(2, 1))
1930 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
1931 & l) - 0.5_wp*(vel_grad_l(1, 2)*vel_l(2) + vel_grad_r(1, &
1932 & 2)*vel_r(2)) - 0.5_wp*(vel_grad_l(2, 1)*vel_l(2) + vel_grad_r(2, 1)*vel_r(2))
1933# 452 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1934 if (num_dims > 2)
then
1935 flux_src_vf(eqn_idx%mom%beg)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg)%sf(j, k, &
1936 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(3, 3) + vel_grad_r(3, 3))
1937 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
1938 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(3, &
1939 & 3)*vel_l(1) + vel_grad_r(3, 3)*vel_r(1))
1941 flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, &
1942 & l) = flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, &
1943 & l) - 0.5_wp*(vel_grad_l(1, 3) + vel_grad_r(1, &
1944 & 3)) - 0.5_wp*(vel_grad_l(3, 1) + vel_grad_r(3, 1))
1945 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
1946 & l) - 0.5_wp*(vel_grad_l(1, 3)*vel_l(3) + vel_grad_r(1, &
1947 & 3)*vel_r(3)) - 0.5_wp*(vel_grad_l(3, 1)*vel_l(3) + vel_grad_r(3, &
1950# 469 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1952# 471 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1953 else if (norm_dir == 2)
then
1954# 473 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1955 flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, &
1956 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(1, 1) + vel_grad_r(1, 1))
1957 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
1958 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(1, 1)*vel_l(2) + vel_grad_r(1, 1)*vel_r(2))
1960 flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, &
1961 & l) - (4._wp/3._wp)*0.5_wp*(vel_grad_l(2, 2) + vel_grad_r(2, 2))
1962 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
1963 & l) - (4._wp/3._wp)*0.5_wp*(vel_grad_l(2, 2)*vel_l(2) + vel_grad_r(2, 2)*vel_r(2))
1965 flux_src_vf(eqn_idx%mom%beg)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg)%sf(j, k, &
1966 & l) - 0.5_wp*(vel_grad_l(1, 2) + vel_grad_r(1, 2)) - 0.5_wp*(vel_grad_l(2, &
1967 & 1) + vel_grad_r(2, 1))
1968 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
1969 & l) - 0.5_wp*(vel_grad_l(1, 2)*vel_l(1) + vel_grad_r(1, &
1970 & 2)*vel_r(1)) - 0.5_wp*(vel_grad_l(2, 1)*vel_l(1) + vel_grad_r(2, 1)*vel_r(1))
1971# 490 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1972 if (num_dims > 2)
then
1973 flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, &
1974 & k, l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(3, 3) + vel_grad_r(3, 3))
1975 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
1976 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(3, 3)*vel_l(2) + vel_grad_r(3, &
1979 flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, &
1980 & k, l) - 0.5_wp*(vel_grad_l(2, 3) + vel_grad_r(2, &
1981 & 3)) - 0.5_wp*(vel_grad_l(3, 2) + vel_grad_r(3, 2))
1982 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
1983 & l) - 0.5_wp*(vel_grad_l(2, 3)*vel_l(3) + vel_grad_r(2, &
1984 & 3)*vel_r(3)) - 0.5_wp*(vel_grad_l(3, 2)*vel_l(3) + vel_grad_r(3, &
1987# 506 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1988# 507 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1990# 509 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1991 flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, &
1992 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(1, 1) + vel_grad_r(1, 1))
1993 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
1994 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(1, 1)*vel_l(3) + vel_grad_r(1, 1)*vel_r(3))
1996 flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, &
1997 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(2, 2) + vel_grad_r(2, 2))
1998 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
1999 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(2, 2)*vel_l(3) + vel_grad_r(2, 2)*vel_r(3))
2001 flux_src_vf(eqn_idx%mom%beg)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg)%sf(j, k, &
2002 & l) - 0.5_wp*(vel_grad_l(1, 3) + vel_grad_r(1, 3)) - 0.5_wp*(vel_grad_l(3, &
2003 & 1) + vel_grad_r(3, 1))
2004 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2005 & l) - 0.5_wp*(vel_grad_l(1, 3)*vel_l(1) + vel_grad_r(1, &
2006 & 3)*vel_r(1)) - 0.5_wp*(vel_grad_l(3, 1)*vel_l(1) + vel_grad_r(3, 1)*vel_r(1))
2008 flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, &
2009 & l) - (4._wp/3._wp)*0.5_wp*(vel_grad_l(3, 3) + vel_grad_r(3, 3))
2010 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2011 & l) - (4._wp/3._wp)*0.5_wp*(vel_grad_l(3, 3)*vel_l(3) + vel_grad_r(3, 3)*vel_r(3))
2013 flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, &
2014 & l) - 0.5_wp*(vel_grad_l(2, 3) + vel_grad_r(2, 3)) - 0.5_wp*(vel_grad_l(3, &
2015 & 2) + vel_grad_r(3, 2))
2016 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2017 & l) - 0.5_wp*(vel_grad_l(2, 3)*vel_l(2) + vel_grad_r(2, &
2018 & 3)*vel_r(2)) - 0.5_wp*(vel_grad_l(3, 2)*vel_l(2) + vel_grad_r(3, 2)*vel_r(2))
2019# 538 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2025# 542 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2026#if defined(MFC_OpenACC)
2027# 542 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2029# 542 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2030#elif defined(MFC_OpenMP)
2031# 542 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2033# 542 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2036 vel_grad_l(i, 1) = (dql_prim_dx_vf(eqn_idx%mom%beg + i - 1)%sf(j, k, l)/re_l(2))
2037 vel_grad_r(i, 1) = (dqr_prim_dx_vf(eqn_idx%mom%beg + i - 1)%sf(idx_right_phys(1), &
2038 & idx_right_phys(2), idx_right_phys(3))/re_r(2))
2039# 548 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2040 if (num_dims > 1)
then
2041 vel_grad_l(i, 2) = (dql_prim_dy_vf(eqn_idx%mom%beg + i - 1)%sf(j, k, l)/re_l(2))
2042 vel_grad_r(i, 2) = (dqr_prim_dy_vf(eqn_idx%mom%beg + i - 1)%sf(idx_right_phys(1), &
2043 & idx_right_phys(2), idx_right_phys(3))/re_r(2))
2045# 554 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2046# 555 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2047 if (num_dims > 2)
then
2048 vel_grad_l(i, 3) = (dql_prim_dz_vf(eqn_idx%mom%beg + i - 1)%sf(j, k, l)/re_l(2))
2049 vel_grad_r(i, 3) = (dqr_prim_dz_vf(eqn_idx%mom%beg + i - 1)%sf(idx_right_phys(1), &
2050 & idx_right_phys(2), idx_right_phys(3))/re_r(2))
2052# 561 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2055 if (norm_dir == 1)
then
2056 flux_src_vf(eqn_idx%mom%beg)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg)%sf(j, k, &
2057 & l) - 0.5_wp*(vel_grad_l(1, 1) + vel_grad_r(1, 1))
2058 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, &
2059 & 1)*vel_l(1) + vel_grad_r(1, 1)*vel_r(1))
2060# 569 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2061 if (num_dims > 1)
then
2062 flux_src_vf(eqn_idx%mom%beg)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg)%sf(j, k, &
2063 & l) - 0.5_wp*(vel_grad_l(2, 2) + vel_grad_r(2, 2))
2064 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2065 & l) - 0.5_wp*(vel_grad_l(2, 2)*vel_l(1) + vel_grad_r(2, 2)*vel_r(1))
2067# 576 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2068 if (num_dims > 2)
then
2069 flux_src_vf(eqn_idx%mom%beg)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg)%sf(j, k, &
2070 & l) - 0.5_wp*(vel_grad_l(3, 3) + vel_grad_r(3, 3))
2071 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2072 & l) - 0.5_wp*(vel_grad_l(3, 3)*vel_l(1) + vel_grad_r(3, 3)*vel_r(1))
2074# 583 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2076# 585 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2077 else if (norm_dir == 2)
then
2078# 587 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2079 flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, &
2080 & l) - 0.5_wp*(vel_grad_l(1, 1) + vel_grad_r(1, 1))
2081 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2082 & l) - 0.5_wp*(vel_grad_l(1, 1)*vel_l(2) + vel_grad_r(1, 1)*vel_r(2))
2084 flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, &
2085 & l) - 0.5_wp*(vel_grad_l(2, 2) + vel_grad_r(2, 2))
2086 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2087 & l) - 0.5_wp*(vel_grad_l(2, 2)*vel_l(2) + vel_grad_r(2, 2)*vel_r(2))
2089# 598 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2090 if (num_dims > 2)
then
2091 flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, &
2092 & k, l) - 0.5_wp*(vel_grad_l(3, 3) + vel_grad_r(3, 3))
2093 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2094 & l) - 0.5_wp*(vel_grad_l(3, 3)*vel_l(2) + vel_grad_r(3, 3)*vel_r(2))
2096# 605 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2097# 606 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2099# 608 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2100 flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, &
2101 & l) - 0.5_wp*(vel_grad_l(1, 1) + vel_grad_r(1, 1))
2102 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2103 & l) - 0.5_wp*(vel_grad_l(1, 1)*vel_l(3) + vel_grad_r(1, 1)*vel_r(3))
2105 flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, &
2106 & l) - 0.5_wp*(vel_grad_l(2, 2) + vel_grad_r(2, 2))
2107 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2108 & l) - 0.5_wp*(vel_grad_l(2, 2)*vel_l(3) + vel_grad_r(2, 2)*vel_r(3))
2110 flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, &
2111 & l) - 0.5_wp*(vel_grad_l(3, 3) + vel_grad_r(3, 3))
2112 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2113 & l) - 0.5_wp*(vel_grad_l(3, 3)*vel_l(3) + vel_grad_r(3, 3)*vel_r(3))
2114# 623 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2121# 628 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2122#if defined(MFC_OpenACC)
2123# 628 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2125# 628 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2126#elif defined(MFC_OpenMP)
2127# 628 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2129# 628 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2131# 628 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"