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 integer,
intent(in) :: norm_dir
373# 49 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
374 real(wp),
dimension(num_fluids) :: alpha_rho_L, alpha_rho_R
375 real(wp),
dimension(num_vels) :: vel_L, vel_R
376 real(wp),
dimension(num_fluids) :: alpha_L, alpha_R
377 real(wp),
dimension(num_species) :: Ys_L, Ys_R
378 real(wp),
dimension(num_species) :: Cp_iL, Cp_iR, Xs_L, Xs_R, Gamma_iL, Gamma_iR
379 real(wp),
dimension(num_species) :: Yi_avg, Phi_avg, h_iL, h_iR, h_avg_2
381 real(wp),
dimension(num_dims, num_dims) :: vel_grad_L, vel_grad_R
382# 58 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
383 real(wp) :: rho_L, rho_R
384 real(wp) :: pres_L, pres_R
387 real(wp) :: Cp_avg, Cv_avg, T_avg, eps, c_sum_Yi_Phi
390 real(wp) :: MW_L, MW_R
391 real(wp) :: R_gas_L, R_gas_R
392 real(wp) :: Cp_L, Cp_R
393 real(wp) :: Cv_L, Cv_R
394 real(wp) :: Gamm_L, Gamm_R
395 real(wp) :: gamma_L, gamma_R
396 real(wp) :: pi_inf_L, pi_inf_R
397 real(wp) :: qv_L, qv_R
399 real(wp),
dimension(2) :: Re_L, Re_R
402 real(wp) :: gamma_avg
404 real(wp) :: s_L, s_R, s_M, s_P, s_S
405 real(wp) :: xi_M, xi_P
406 real(wp) :: ptilde_L, ptilde_R
407 real(wp) :: vel_L_rms, vel_R_rms, vel_avg_rms
408 real(wp) :: vel_L_tmp, vel_R_tmp
409 real(wp) :: Ms_L, Ms_R, pres_SL, pres_SR
410 real(wp) :: alpha_L_sum, alpha_R_sum
411 real(wp) :: zcoef, pcorr
418 integer :: i, j, k, l
419 integer :: Re_size_loc1, Re_size_loc2
420 integer,
dimension(3) :: idx_right_phys
424 & qr_prim_rsx_vf, dqr_prim_dx_vf, dqr_prim_dy_vf, dqr_prim_dz_vf, norm_dir, ix, iy, iz)
429# 108 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
430# 109 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
431# 110 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
432 if (norm_dir == 1)
then
434# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
436# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
437#if defined(MFC_OpenACC)
438# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
440# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
442# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
444# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
445#elif defined(MFC_OpenMP)
446# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
448# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
450# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
452# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
454# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
456# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
458# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
460# 120 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
465# 123 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
466#if defined(MFC_OpenACC)
467# 123 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
469# 123 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
470#elif defined(MFC_OpenMP)
471# 123 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
473# 123 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
475 do i = 1, eqn_idx%cont%end
476 alpha_rho_l(i) = ql_prim_rsx_vf(j, k, l, i)
477 alpha_rho_r(i) = qr_prim_rsx_vf(j + 1, k, l, i)
480 vel_l_rms = 0._wp; vel_r_rms = 0._wp
483# 131 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
484#if defined(MFC_OpenACC)
485# 131 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
487# 131 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
488#elif defined(MFC_OpenMP)
489# 131 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
491# 131 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
494 vel_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%cont%end + i)
495 vel_r(i) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%cont%end + i)
496 vel_l_rms = vel_l_rms + vel_l(i)**2._wp
497 vel_r_rms = vel_r_rms + vel_r(i)**2._wp
501# 139 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
502#if defined(MFC_OpenACC)
503# 139 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
505# 139 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
506#elif defined(MFC_OpenMP)
507# 139 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
509# 139 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
512 alpha_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%E + i)
513 alpha_r(i) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%E + i)
516 pres_l = ql_prim_rsx_vf(j, k, l, eqn_idx%E)
517 pres_r = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%E)
523 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
524 b%R(2) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%B%beg)
525 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
526 b%R(3) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%B%beg + 1)
528 b%L(1) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
529 b%R(1) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%B%beg)
530 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
531 b%R(2) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%B%beg + 1)
532 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 2)
533 b%R(3) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%B%beg + 2)
555# 183 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
556#if defined(MFC_OpenACC)
557# 183 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
559# 183 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
560#elif defined(MFC_OpenMP)
561# 183 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
563# 183 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
566 alpha_rho_l(i) = max(0._wp, alpha_rho_l(i))
567 alpha_l(i) = min(max(0._wp, alpha_l(i)), 1._wp)
568 alpha_l_sum = alpha_l_sum + alpha_l(i)
569 alpha_rho_r(i) = max(0._wp, alpha_rho_r(i))
570 alpha_r(i) = min(max(0._wp, alpha_r(i)), 1._wp)
571 alpha_r_sum = alpha_r_sum + alpha_r(i)
574 alpha_l = alpha_l/max(alpha_l_sum,
sgm_eps)
575 alpha_r = alpha_r/max(alpha_r_sum,
sgm_eps)
588# 206 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
589#if defined(MFC_OpenACC)
590# 206 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
592# 206 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
593#elif defined(MFC_OpenMP)
594# 206 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
596# 206 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
598 do i = eqn_idx%species%beg, eqn_idx%species%end
599 ys_l(i - eqn_idx%species%beg + 1) = ql_prim_rsx_vf(j, k, l, i)
600 ys_r(i - eqn_idx%species%beg + 1) = qr_prim_rsx_vf(j + 1, k, l, i)
603 call get_mixture_molecular_weight(ys_l, mw_l)
604 call get_mixture_molecular_weight(ys_r, mw_r)
606 xs_l(:) = ys_l(:)*mw_l/molecular_weights(:)
607 xs_r(:) = ys_r(:)*mw_r/molecular_weights(:)
609 r_gas_l = gas_constant/mw_l
610 r_gas_r = gas_constant/mw_r
611 t_l = pres_l/rho_l/r_gas_l
612 t_r = pres_r/rho_r/r_gas_r
614 call get_species_specific_heats_r(t_l, cp_il)
615 call get_species_specific_heats_r(t_r, cp_ir)
617 if (chem_params%gamma_method == 1)
then
619 gamma_il = cp_il/(cp_il - 1.0_wp)
620 gamma_ir = cp_ir/(cp_ir - 1.0_wp)
622 gamma_l = sum(xs_l(:)/(gamma_il(:) - 1.0_wp))
623 gamma_r = sum(xs_r(:)/(gamma_ir(:) - 1.0_wp))
624 else if (chem_params%gamma_method == 2)
then
626 call get_mixture_specific_heat_cp_mass(t_l, ys_l, cp_l)
627 call get_mixture_specific_heat_cp_mass(t_r, ys_r, cp_r)
628 call get_mixture_specific_heat_cv_mass(t_l, ys_l, cv_l)
629 call get_mixture_specific_heat_cv_mass(t_r, ys_r, cv_r)
632 gamma_l = 1.0_wp/(gamm_l - 1.0_wp)
634 gamma_r = 1.0_wp/(gamm_r - 1.0_wp)
637 call get_mixture_energy_mass(t_l, ys_l, e_l)
638 call get_mixture_energy_mass(t_r, ys_r, e_r)
640 e_l = rho_l*e_l + 5.e-1*rho_l*vel_l_rms
641 e_r = rho_r*e_r + 5.e-1*rho_r*vel_r_rms
642 h_l = (e_l + pres_l)/rho_l
643 h_r = (e_r + pres_r)/rho_r
644 else if (mhd .and. relativity)
then
645# 255 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
646 ga%L = 1._wp/sqrt(1._wp - vel_l_rms)
647 ga%R = 1._wp/sqrt(1._wp - vel_r_rms)
648 vdotb%L = vel_l(1)*b%L(1) + vel_l(2)*b%L(2) + vel_l(3)*b%L(3)
649 vdotb%R = vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3)
651 b4%L(1:3) = b%L(1:3)/ga%L + ga%L*vel_l(1:3)*vdotb%L
652 b4%R(1:3) = b%R(1:3)/ga%R + ga%R*vel_r(1:3)*vdotb%R
653 b2%L = b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp
654 b2%R = b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp
656 pres_mag%L = 0.5_wp*(b2%L/ga%L**2._wp + vdotb%L**2._wp)
657 pres_mag%R = 0.5_wp*(b2%R/ga%R**2._wp + vdotb%R**2._wp)
660 h_l = 1._wp + (gamma_l + 1)*pres_l/rho_l
661 h_r = 1._wp + (gamma_r + 1)*pres_r/rho_r
663 cm%L(1:3) = (rho_l*h_l*ga%L**2 + b2%L)*vel_l(1:3) - vdotb%L*b%L(1:3)
664 cm%R(1:3) = (rho_r*h_r*ga%R**2 + b2%R)*vel_r(1:3) - vdotb%R*b%R(1:3)
666 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
667 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
668# 278 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
669 else if (mhd .and. .not. relativity)
then
670 pres_mag%L = 0.5_wp*(b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp)
671 pres_mag%R = 0.5_wp*(b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp)
672 e_l = gamma_l*pres_l + pi_inf_l + 0.5_wp*rho_l*vel_l_rms + qv_l + pres_mag%L
674 e_r = gamma_r*pres_r + pi_inf_r + 0.5_wp*rho_r*vel_r_rms + qv_r + pres_mag%R
675 h_l = (e_l + pres_l - pres_mag%L)/rho_l
677 h_r = (e_r + pres_r - pres_mag%R)/rho_r
679 e_l = gamma_l*pres_l + pi_inf_l + 5.e-1*rho_l*vel_l_rms + qv_l
680 e_r = gamma_r*pres_r + pi_inf_r + 5.e-1*rho_r*vel_r_rms + qv_r
681 h_l = (e_l + pres_l)/rho_l
682 h_r = (e_r + pres_r)/rho_r
696 s_l = 0._wp; s_r = 0._wp
699# 307 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
700#if defined(MFC_OpenACC)
701# 307 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
703# 307 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
704#elif defined(MFC_OpenMP)
705# 307 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
707# 307 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
710 s_l = s_l + vel_l(i)**2._wp
711 s_r = s_r + vel_r(i)**2._wp
717 s_p = max(s_l, s_r) + max(c_l, c_r)
724 if (low_mach == 1)
then
726# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
727 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
728# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
730# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
732# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
733 if (low_mach == 1)
then
734# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
735 pcorr = -(s_p - s_m)*(rho_l + rho_r)/8._wp*(zcoef - 1._wp)
736# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
738# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
740# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
741 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
742# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
744# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
746# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
747 if (low_mach == 1)
then
748# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
750# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
751 & /(rho_r*(s_r - vel_r(
dir_idx(1))) - rho_l*(s_l - vel_l(
dir_idx(1))))*(zcoef - 1._wp)
752# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
753 else if (low_mach == 2)
then
754# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
756# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
758# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
760# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
762# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
764# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
771 if (.not. relativity)
then
773# 331 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
774#if defined(MFC_OpenACC)
775# 331 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
777# 331 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
778#elif defined(MFC_OpenMP)
779# 331 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
781# 331 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
783 do i = 1, eqn_idx%cont%end
785 & i) = (s_m*alpha_rho_r(i)*vel_r(norm_dir) - s_p*alpha_rho_l(i)*vel_l(norm_dir) &
786 & + s_m*s_p*(alpha_rho_l(i) - alpha_rho_r(i)))/(s_m - s_p)
788 else if (relativity)
then
790# 338 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
791#if defined(MFC_OpenACC)
792# 338 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
794# 338 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
795#elif defined(MFC_OpenMP)
796# 338 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
798# 338 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
800 do i = 1, eqn_idx%cont%end
802 & i) = (s_m*ga%R*alpha_rho_r(i)*vel_r(norm_dir) - s_p*ga%L*alpha_rho_l(i) &
803 & *vel_l(norm_dir) + s_m*s_p*(ga%L*alpha_rho_l(i) - ga%R*alpha_rho_r(i)))/(s_m &
809 if (mhd .and. (.not. relativity))
then
811# 349 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
812#if defined(MFC_OpenACC)
813# 349 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
815# 349 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
816#elif defined(MFC_OpenMP)
817# 349 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
819# 349 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
825 & eqn_idx%cont%end + i) = (s_m*(rho_r*vel_r(i)*vel_r(norm_dir) - b%R(i) &
826 & *b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(rho_l*vel_l(i) &
827 & *vel_l(norm_dir) - b%L(i)*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L)) &
828 & + s_m*s_p*(rho_l*vel_l(i) - rho_r*vel_r(i)))/(s_m - s_p)
830 else if (mhd .and. relativity)
then
832# 360 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
833#if defined(MFC_OpenACC)
834# 360 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
836# 360 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
837#elif defined(MFC_OpenMP)
838# 360 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
840# 360 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
846 & eqn_idx%cont%end + i) = (s_m*(cm%R(i)*vel_r(norm_dir) - b4%R(i) &
847 & /ga%R*b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(cm%L(i) &
848 & *vel_l(norm_dir) - b4%L(i)/ga%L*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L) &
849 & ) + s_m*s_p*(cm%L(i) - cm%R(i)))/(s_m - s_p)
851 else if (bubbles_euler)
then
853# 371 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
854#if defined(MFC_OpenACC)
855# 371 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
857# 371 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
858#elif defined(MFC_OpenMP)
859# 371 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
861# 371 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
868 & + s_m*s_p*(rho_l*vel_l(
dir_idx(i)) - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) &
869 & + (s_m/s_l)*(s_p/s_r)*pcorr*(vel_r(
dir_idx(i)) - vel_l(
dir_idx(i)))
873# 381 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
874#if defined(MFC_OpenACC)
875# 381 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
877# 381 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
878#elif defined(MFC_OpenMP)
879# 381 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
881# 381 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
888 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) + (s_m/s_l)*(s_p/s_r) &
894 if (mhd .and. (.not. relativity))
then
896# 396 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
898 & eqn_idx%E) = (s_m*(vel_r(norm_dir)*(e_r + pres_r + pres_mag%R) - b%R(norm_dir) &
899 & *(vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3))) - s_p*(vel_l(norm_dir) &
900 & *(e_l + pres_l + pres_mag%L) - b%L(norm_dir)*(vel_l(1)*b%L(1) + vel_l(2)*b%L(2) &
901 & + vel_l(3)*b%L(3))) + s_m*s_p*(e_l - e_r))/(s_m - s_p)
902# 402 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
903 else if (mhd .and. relativity)
then
906 & eqn_idx%E) = (s_m*(cm%R(norm_dir) - ga%R*alpha_rho_r(1)*vel_r(norm_dir)) &
907 & - s_p*(cm%L(norm_dir) - ga%L*alpha_rho_l(1)*vel_l(norm_dir)) + s_m*s_p*(e_l - e_r)) &
909 else if (bubbles_euler)
then
911 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r - ptilde_r) - s_p*vel_l(
dir_idx(1) &
912 & )*(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) &
913 & *pcorr*(vel_r_rms - vel_l_rms)/2._wp
916 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r) - s_p*vel_l(
dir_idx(1))*(e_l &
917 & + 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 &
923# 421 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
924#if defined(MFC_OpenACC)
925# 421 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
927# 421 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
928#elif defined(MFC_OpenMP)
929# 421 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
931# 421 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
933 do i = eqn_idx%adv%beg, eqn_idx%adv%end
934 flux_rsx_vf(j, k, l, i) = (ql_prim_rsx_vf(j, k, l, i) - qr_prim_rsx_vf(j + 1, k, l, &
935 & i))*s_m*s_p/(s_m - s_p)
937 & i) - s_p*ql_prim_rsx_vf(j, k, l, i))/(s_m - s_p)
940 if (bubbles_euler)
then
942 if (num_fluids > 1)
then
949# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
950#if defined(MFC_OpenACC)
951# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
953# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
954#elif defined(MFC_OpenMP)
955# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
957# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
959 do i = eqn_idx%species%beg, eqn_idx%species%end
960 y_l = ql_prim_rsx_vf(j, k, l, i)
961 y_r = qr_prim_rsx_vf(j + 1, k, l, i)
964 & i) = (s_m*y_r*rho_r*vel_r(
dir_idx(1)) - s_p*y_l*rho_l*vel_l(
dir_idx(1)) &
965 & + s_m*s_p*(y_l*rho_l - y_r*rho_r))/(s_m - s_p)
975# 453 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
976#if defined(MFC_OpenACC)
977# 453 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
979# 453 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
980#elif defined(MFC_OpenMP)
981# 453 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
983# 453 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
987 & eqn_idx%B%beg + i) = (s_m*(vel_r(1)*b%R(2 + i) - vel_r(2 + i)*bx0) &
988 & - s_p*(vel_l(1)*b%L(2 + i) - vel_l(2 + i)*bx0) + s_m*s_p*(b%L(2 + i) &
989 & - b%R(2 + i)))/(s_m - s_p)
996# 464 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
997#if defined(MFC_OpenACC)
998# 464 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1000# 464 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1001#elif defined(MFC_OpenMP)
1002# 464 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1004# 464 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1008 & eqn_idx%B%beg + i) = (1 -
dir_flg(i + 1))*(s_m*(vel_r(
dir_idx(1))*b%R(i + 1) &
1009 & - vel_r(i + 1)*b%R(norm_dir)) - s_p*(vel_l(
dir_idx(1))*b%L(i + 1) - vel_l(i &
1010 & + 1)*b%L(norm_dir)) + s_m*s_p*(b%L(i + 1) - b%R(i + 1)))/(s_m - s_p)
1016# 492 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1021# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1022#if defined(MFC_OpenACC)
1023# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1025# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1026#elif defined(MFC_OpenMP)
1027# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1029# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1031# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1034# 108 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1035# 109 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1036# 110 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1037 if (norm_dir == 2)
then
1039# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1041# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1042#if defined(MFC_OpenACC)
1043# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1045# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1047# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1049# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1050#elif defined(MFC_OpenMP)
1051# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1053# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1055# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1057# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1059# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1061# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1063# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1065# 120 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1070# 123 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1071#if defined(MFC_OpenACC)
1072# 123 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1074# 123 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1075#elif defined(MFC_OpenMP)
1076# 123 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1078# 123 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1080 do i = 1, eqn_idx%cont%end
1081 alpha_rho_l(i) = ql_prim_rsx_vf(j, k, l, i)
1082 alpha_rho_r(i) = qr_prim_rsx_vf(j, k + 1, l, i)
1085 vel_l_rms = 0._wp; vel_r_rms = 0._wp
1088# 131 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1089#if defined(MFC_OpenACC)
1090# 131 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1092# 131 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1093#elif defined(MFC_OpenMP)
1094# 131 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1096# 131 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1099 vel_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%cont%end + i)
1100 vel_r(i) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%cont%end + i)
1101 vel_l_rms = vel_l_rms + vel_l(i)**2._wp
1102 vel_r_rms = vel_r_rms + vel_r(i)**2._wp
1106# 139 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1107#if defined(MFC_OpenACC)
1108# 139 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1110# 139 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1111#elif defined(MFC_OpenMP)
1112# 139 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1114# 139 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1116 do i = 1, num_fluids
1117 alpha_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%E + i)
1118 alpha_r(i) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%E + i)
1121 pres_l = ql_prim_rsx_vf(j, k, l, eqn_idx%E)
1122 pres_r = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%E)
1128 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
1129 b%R(2) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%B%beg)
1130 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
1131 b%R(3) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%B%beg + 1)
1133 b%L(1) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
1134 b%R(1) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%B%beg)
1135 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
1136 b%R(2) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%B%beg + 1)
1137 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 2)
1138 b%R(3) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%B%beg + 2)
1160# 183 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1161#if defined(MFC_OpenACC)
1162# 183 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1164# 183 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1165#elif defined(MFC_OpenMP)
1166# 183 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1168# 183 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1170 do i = 1, num_fluids
1171 alpha_rho_l(i) = max(0._wp, alpha_rho_l(i))
1172 alpha_l(i) = min(max(0._wp, alpha_l(i)), 1._wp)
1173 alpha_l_sum = alpha_l_sum + alpha_l(i)
1174 alpha_rho_r(i) = max(0._wp, alpha_rho_r(i))
1175 alpha_r(i) = min(max(0._wp, alpha_r(i)), 1._wp)
1176 alpha_r_sum = alpha_r_sum + alpha_r(i)
1179 alpha_l = alpha_l/max(alpha_l_sum,
sgm_eps)
1180 alpha_r = alpha_r/max(alpha_r_sum,
sgm_eps)
1193# 206 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1194#if defined(MFC_OpenACC)
1195# 206 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1197# 206 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1198#elif defined(MFC_OpenMP)
1199# 206 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1201# 206 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1203 do i = eqn_idx%species%beg, eqn_idx%species%end
1204 ys_l(i - eqn_idx%species%beg + 1) = ql_prim_rsx_vf(j, k, l, i)
1205 ys_r(i - eqn_idx%species%beg + 1) = qr_prim_rsx_vf(j, k + 1, l, i)
1208 call get_mixture_molecular_weight(ys_l, mw_l)
1209 call get_mixture_molecular_weight(ys_r, mw_r)
1211 xs_l(:) = ys_l(:)*mw_l/molecular_weights(:)
1212 xs_r(:) = ys_r(:)*mw_r/molecular_weights(:)
1214 r_gas_l = gas_constant/mw_l
1215 r_gas_r = gas_constant/mw_r
1216 t_l = pres_l/rho_l/r_gas_l
1217 t_r = pres_r/rho_r/r_gas_r
1219 call get_species_specific_heats_r(t_l, cp_il)
1220 call get_species_specific_heats_r(t_r, cp_ir)
1222 if (chem_params%gamma_method == 1)
then
1224 gamma_il = cp_il/(cp_il - 1.0_wp)
1225 gamma_ir = cp_ir/(cp_ir - 1.0_wp)
1227 gamma_l = sum(xs_l(:)/(gamma_il(:) - 1.0_wp))
1228 gamma_r = sum(xs_r(:)/(gamma_ir(:) - 1.0_wp))
1229 else if (chem_params%gamma_method == 2)
then
1231 call get_mixture_specific_heat_cp_mass(t_l, ys_l, cp_l)
1232 call get_mixture_specific_heat_cp_mass(t_r, ys_r, cp_r)
1233 call get_mixture_specific_heat_cv_mass(t_l, ys_l, cv_l)
1234 call get_mixture_specific_heat_cv_mass(t_r, ys_r, cv_r)
1237 gamma_l = 1.0_wp/(gamm_l - 1.0_wp)
1239 gamma_r = 1.0_wp/(gamm_r - 1.0_wp)
1242 call get_mixture_energy_mass(t_l, ys_l, e_l)
1243 call get_mixture_energy_mass(t_r, ys_r, e_r)
1245 e_l = rho_l*e_l + 5.e-1*rho_l*vel_l_rms
1246 e_r = rho_r*e_r + 5.e-1*rho_r*vel_r_rms
1247 h_l = (e_l + pres_l)/rho_l
1248 h_r = (e_r + pres_r)/rho_r
1249 else if (mhd .and. relativity)
then
1250# 255 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1251 ga%L = 1._wp/sqrt(1._wp - vel_l_rms)
1252 ga%R = 1._wp/sqrt(1._wp - vel_r_rms)
1253 vdotb%L = vel_l(1)*b%L(1) + vel_l(2)*b%L(2) + vel_l(3)*b%L(3)
1254 vdotb%R = vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3)
1256 b4%L(1:3) = b%L(1:3)/ga%L + ga%L*vel_l(1:3)*vdotb%L
1257 b4%R(1:3) = b%R(1:3)/ga%R + ga%R*vel_r(1:3)*vdotb%R
1258 b2%L = b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp
1259 b2%R = b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp
1261 pres_mag%L = 0.5_wp*(b2%L/ga%L**2._wp + vdotb%L**2._wp)
1262 pres_mag%R = 0.5_wp*(b2%R/ga%R**2._wp + vdotb%R**2._wp)
1265 h_l = 1._wp + (gamma_l + 1)*pres_l/rho_l
1266 h_r = 1._wp + (gamma_r + 1)*pres_r/rho_r
1268 cm%L(1:3) = (rho_l*h_l*ga%L**2 + b2%L)*vel_l(1:3) - vdotb%L*b%L(1:3)
1269 cm%R(1:3) = (rho_r*h_r*ga%R**2 + b2%R)*vel_r(1:3) - vdotb%R*b%R(1:3)
1271 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
1272 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
1273# 278 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1274 else if (mhd .and. .not. relativity)
then
1275 pres_mag%L = 0.5_wp*(b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp)
1276 pres_mag%R = 0.5_wp*(b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp)
1277 e_l = gamma_l*pres_l + pi_inf_l + 0.5_wp*rho_l*vel_l_rms + qv_l + pres_mag%L
1279 e_r = gamma_r*pres_r + pi_inf_r + 0.5_wp*rho_r*vel_r_rms + qv_r + pres_mag%R
1280 h_l = (e_l + pres_l - pres_mag%L)/rho_l
1282 h_r = (e_r + pres_r - pres_mag%R)/rho_r
1284 e_l = gamma_l*pres_l + pi_inf_l + 5.e-1*rho_l*vel_l_rms + qv_l
1285 e_r = gamma_r*pres_r + pi_inf_r + 5.e-1*rho_r*vel_r_rms + qv_r
1286 h_l = (e_l + pres_l)/rho_l
1287 h_r = (e_r + pres_r)/rho_r
1301 s_l = 0._wp; s_r = 0._wp
1304# 307 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1305#if defined(MFC_OpenACC)
1306# 307 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1308# 307 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1309#elif defined(MFC_OpenMP)
1310# 307 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1312# 307 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1315 s_l = s_l + vel_l(i)**2._wp
1316 s_r = s_r + vel_r(i)**2._wp
1322 s_p = max(s_l, s_r) + max(c_l, c_r)
1329 if (low_mach == 1)
then
1331# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1332 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
1333# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1335# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1337# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1338 if (low_mach == 1)
then
1339# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1340 pcorr = -(s_p - s_m)*(rho_l + rho_r)/8._wp*(zcoef - 1._wp)
1341# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1343# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1345# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1346 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
1347# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1349# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1351# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1352 if (low_mach == 1)
then
1353# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1355# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1356 & /(rho_r*(s_r - vel_r(
dir_idx(1))) - rho_l*(s_l - vel_l(
dir_idx(1))))*(zcoef - 1._wp)
1357# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1358 else if (low_mach == 2)
then
1359# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1361# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1363# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1365# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1367# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1369# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1376 if (.not. relativity)
then
1378# 331 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1379#if defined(MFC_OpenACC)
1380# 331 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1382# 331 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1383#elif defined(MFC_OpenMP)
1384# 331 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1386# 331 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1388 do i = 1, eqn_idx%cont%end
1390 & i) = (s_m*alpha_rho_r(i)*vel_r(norm_dir) - s_p*alpha_rho_l(i)*vel_l(norm_dir) &
1391 & + s_m*s_p*(alpha_rho_l(i) - alpha_rho_r(i)))/(s_m - s_p)
1393 else if (relativity)
then
1395# 338 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1396#if defined(MFC_OpenACC)
1397# 338 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1399# 338 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1400#elif defined(MFC_OpenMP)
1401# 338 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1403# 338 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1405 do i = 1, eqn_idx%cont%end
1407 & i) = (s_m*ga%R*alpha_rho_r(i)*vel_r(norm_dir) - s_p*ga%L*alpha_rho_l(i) &
1408 & *vel_l(norm_dir) + s_m*s_p*(ga%L*alpha_rho_l(i) - ga%R*alpha_rho_r(i)))/(s_m &
1414 if (mhd .and. (.not. relativity))
then
1416# 349 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1417#if defined(MFC_OpenACC)
1418# 349 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1420# 349 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1421#elif defined(MFC_OpenMP)
1422# 349 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1424# 349 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1430 & eqn_idx%cont%end + i) = (s_m*(rho_r*vel_r(i)*vel_r(norm_dir) - b%R(i) &
1431 & *b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(rho_l*vel_l(i) &
1432 & *vel_l(norm_dir) - b%L(i)*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L)) &
1433 & + s_m*s_p*(rho_l*vel_l(i) - rho_r*vel_r(i)))/(s_m - s_p)
1435 else if (mhd .and. relativity)
then
1437# 360 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1438#if defined(MFC_OpenACC)
1439# 360 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1441# 360 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1442#elif defined(MFC_OpenMP)
1443# 360 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1445# 360 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1451 & eqn_idx%cont%end + i) = (s_m*(cm%R(i)*vel_r(norm_dir) - b4%R(i) &
1452 & /ga%R*b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(cm%L(i) &
1453 & *vel_l(norm_dir) - b4%L(i)/ga%L*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L) &
1454 & ) + s_m*s_p*(cm%L(i) - cm%R(i)))/(s_m - s_p)
1456 else if (bubbles_euler)
then
1458# 371 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1459#if defined(MFC_OpenACC)
1460# 371 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1462# 371 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1463#elif defined(MFC_OpenMP)
1464# 371 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1466# 371 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1473 & + s_m*s_p*(rho_l*vel_l(
dir_idx(i)) - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) &
1474 & + (s_m/s_l)*(s_p/s_r)*pcorr*(vel_r(
dir_idx(i)) - vel_l(
dir_idx(i)))
1478# 381 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1479#if defined(MFC_OpenACC)
1480# 381 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1482# 381 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1483#elif defined(MFC_OpenMP)
1484# 381 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1486# 381 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1493 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) + (s_m/s_l)*(s_p/s_r) &
1499 if (mhd .and. (.not. relativity))
then
1501# 396 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1503 & eqn_idx%E) = (s_m*(vel_r(norm_dir)*(e_r + pres_r + pres_mag%R) - b%R(norm_dir) &
1504 & *(vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3))) - s_p*(vel_l(norm_dir) &
1505 & *(e_l + pres_l + pres_mag%L) - b%L(norm_dir)*(vel_l(1)*b%L(1) + vel_l(2)*b%L(2) &
1506 & + vel_l(3)*b%L(3))) + s_m*s_p*(e_l - e_r))/(s_m - s_p)
1507# 402 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1508 else if (mhd .and. relativity)
then
1511 & eqn_idx%E) = (s_m*(cm%R(norm_dir) - ga%R*alpha_rho_r(1)*vel_r(norm_dir)) &
1512 & - s_p*(cm%L(norm_dir) - ga%L*alpha_rho_l(1)*vel_l(norm_dir)) + s_m*s_p*(e_l - e_r)) &
1514 else if (bubbles_euler)
then
1516 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r - ptilde_r) - s_p*vel_l(
dir_idx(1) &
1517 & )*(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) &
1518 & *pcorr*(vel_r_rms - vel_l_rms)/2._wp
1521 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r) - s_p*vel_l(
dir_idx(1))*(e_l &
1522 & + 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 &
1523 & - vel_l_rms)/2._wp
1528# 421 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1529#if defined(MFC_OpenACC)
1530# 421 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1532# 421 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1533#elif defined(MFC_OpenMP)
1534# 421 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1536# 421 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1538 do i = eqn_idx%adv%beg, eqn_idx%adv%end
1539 flux_rsx_vf(j, k, l, i) = (ql_prim_rsx_vf(j, k, l, i) - qr_prim_rsx_vf(j, k + 1, l, &
1540 & i))*s_m*s_p/(s_m - s_p)
1542 & i) - s_p*ql_prim_rsx_vf(j, k, l, i))/(s_m - s_p)
1545 if (bubbles_euler)
then
1547 if (num_fluids > 1)
then
1554# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1555#if defined(MFC_OpenACC)
1556# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1558# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1559#elif defined(MFC_OpenMP)
1560# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1562# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1564 do i = eqn_idx%species%beg, eqn_idx%species%end
1565 y_l = ql_prim_rsx_vf(j, k, l, i)
1566 y_r = qr_prim_rsx_vf(j, k + 1, l, i)
1569 & i) = (s_m*y_r*rho_r*vel_r(
dir_idx(1)) - s_p*y_l*rho_l*vel_l(
dir_idx(1)) &
1570 & + s_m*s_p*(y_l*rho_l - y_r*rho_r))/(s_m - s_p)
1580# 453 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1581#if defined(MFC_OpenACC)
1582# 453 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1584# 453 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1585#elif defined(MFC_OpenMP)
1586# 453 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1588# 453 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1592 & eqn_idx%B%beg + i) = (s_m*(vel_r(1)*b%R(2 + i) - vel_r(2 + i)*bx0) &
1593 & - s_p*(vel_l(1)*b%L(2 + i) - vel_l(2 + i)*bx0) + s_m*s_p*(b%L(2 + i) &
1594 & - b%R(2 + i)))/(s_m - s_p)
1601# 464 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1602#if defined(MFC_OpenACC)
1603# 464 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1605# 464 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1606#elif defined(MFC_OpenMP)
1607# 464 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1609# 464 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1613 & eqn_idx%B%beg + i) = (1 -
dir_flg(i + 1))*(s_m*(vel_r(
dir_idx(1))*b%R(i + 1) &
1614 & - vel_r(i + 1)*b%R(norm_dir)) - s_p*(vel_l(
dir_idx(1))*b%L(i + 1) - vel_l(i &
1615 & + 1)*b%L(norm_dir)) + s_m*s_p*(b%L(i + 1) - b%R(i + 1)))/(s_m - s_p)
1621# 476 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1625# 478 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1626#if defined(MFC_OpenACC)
1627# 478 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1629# 478 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1630#elif defined(MFC_OpenMP)
1631# 478 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1633# 478 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1640 & eqn_idx%cont%end + 2) - (s_m*pres_r - s_p*pres_l)/(s_m - s_p)
1643# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1644#if defined(MFC_OpenACC)
1645# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1647# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1648#elif defined(MFC_OpenMP)
1649# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1651# 486 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1653 do i = eqn_idx%adv%beg, eqn_idx%adv%end
1657# 492 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1662# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1663#if defined(MFC_OpenACC)
1664# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1666# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1667#elif defined(MFC_OpenMP)
1668# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1670# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1672# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1675# 108 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1676# 109 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1677# 110 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1678 if (norm_dir == 3)
then
1680# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1682# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1683#if defined(MFC_OpenACC)
1684# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1686# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1688# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1690# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1691#elif defined(MFC_OpenMP)
1692# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1694# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1696# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1698# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1700# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1702# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1704# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1706# 120 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1711# 123 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1712#if defined(MFC_OpenACC)
1713# 123 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1715# 123 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1716#elif defined(MFC_OpenMP)
1717# 123 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1719# 123 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1721 do i = 1, eqn_idx%cont%end
1722 alpha_rho_l(i) = ql_prim_rsx_vf(j, k, l, i)
1723 alpha_rho_r(i) = qr_prim_rsx_vf(j, k, l + 1, i)
1726 vel_l_rms = 0._wp; vel_r_rms = 0._wp
1729# 131 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1730#if defined(MFC_OpenACC)
1731# 131 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1733# 131 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1734#elif defined(MFC_OpenMP)
1735# 131 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1737# 131 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1740 vel_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%cont%end + i)
1741 vel_r(i) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%cont%end + i)
1742 vel_l_rms = vel_l_rms + vel_l(i)**2._wp
1743 vel_r_rms = vel_r_rms + vel_r(i)**2._wp
1747# 139 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1748#if defined(MFC_OpenACC)
1749# 139 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1751# 139 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1752#elif defined(MFC_OpenMP)
1753# 139 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1755# 139 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1757 do i = 1, num_fluids
1758 alpha_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%E + i)
1759 alpha_r(i) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%E + i)
1762 pres_l = ql_prim_rsx_vf(j, k, l, eqn_idx%E)
1763 pres_r = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%E)
1769 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
1770 b%R(2) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%B%beg)
1771 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
1772 b%R(3) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%B%beg + 1)
1774 b%L(1) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
1775 b%R(1) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%B%beg)
1776 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
1777 b%R(2) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%B%beg + 1)
1778 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 2)
1779 b%R(3) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%B%beg + 2)
1801# 183 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1802#if defined(MFC_OpenACC)
1803# 183 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1805# 183 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1806#elif defined(MFC_OpenMP)
1807# 183 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1809# 183 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1811 do i = 1, num_fluids
1812 alpha_rho_l(i) = max(0._wp, alpha_rho_l(i))
1813 alpha_l(i) = min(max(0._wp, alpha_l(i)), 1._wp)
1814 alpha_l_sum = alpha_l_sum + alpha_l(i)
1815 alpha_rho_r(i) = max(0._wp, alpha_rho_r(i))
1816 alpha_r(i) = min(max(0._wp, alpha_r(i)), 1._wp)
1817 alpha_r_sum = alpha_r_sum + alpha_r(i)
1820 alpha_l = alpha_l/max(alpha_l_sum,
sgm_eps)
1821 alpha_r = alpha_r/max(alpha_r_sum,
sgm_eps)
1834# 206 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1835#if defined(MFC_OpenACC)
1836# 206 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1838# 206 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1839#elif defined(MFC_OpenMP)
1840# 206 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1842# 206 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1844 do i = eqn_idx%species%beg, eqn_idx%species%end
1845 ys_l(i - eqn_idx%species%beg + 1) = ql_prim_rsx_vf(j, k, l, i)
1846 ys_r(i - eqn_idx%species%beg + 1) = qr_prim_rsx_vf(j, k, l + 1, i)
1849 call get_mixture_molecular_weight(ys_l, mw_l)
1850 call get_mixture_molecular_weight(ys_r, mw_r)
1852 xs_l(:) = ys_l(:)*mw_l/molecular_weights(:)
1853 xs_r(:) = ys_r(:)*mw_r/molecular_weights(:)
1855 r_gas_l = gas_constant/mw_l
1856 r_gas_r = gas_constant/mw_r
1857 t_l = pres_l/rho_l/r_gas_l
1858 t_r = pres_r/rho_r/r_gas_r
1860 call get_species_specific_heats_r(t_l, cp_il)
1861 call get_species_specific_heats_r(t_r, cp_ir)
1863 if (chem_params%gamma_method == 1)
then
1865 gamma_il = cp_il/(cp_il - 1.0_wp)
1866 gamma_ir = cp_ir/(cp_ir - 1.0_wp)
1868 gamma_l = sum(xs_l(:)/(gamma_il(:) - 1.0_wp))
1869 gamma_r = sum(xs_r(:)/(gamma_ir(:) - 1.0_wp))
1870 else if (chem_params%gamma_method == 2)
then
1872 call get_mixture_specific_heat_cp_mass(t_l, ys_l, cp_l)
1873 call get_mixture_specific_heat_cp_mass(t_r, ys_r, cp_r)
1874 call get_mixture_specific_heat_cv_mass(t_l, ys_l, cv_l)
1875 call get_mixture_specific_heat_cv_mass(t_r, ys_r, cv_r)
1878 gamma_l = 1.0_wp/(gamm_l - 1.0_wp)
1880 gamma_r = 1.0_wp/(gamm_r - 1.0_wp)
1883 call get_mixture_energy_mass(t_l, ys_l, e_l)
1884 call get_mixture_energy_mass(t_r, ys_r, e_r)
1886 e_l = rho_l*e_l + 5.e-1*rho_l*vel_l_rms
1887 e_r = rho_r*e_r + 5.e-1*rho_r*vel_r_rms
1888 h_l = (e_l + pres_l)/rho_l
1889 h_r = (e_r + pres_r)/rho_r
1890 else if (mhd .and. relativity)
then
1891# 255 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1892 ga%L = 1._wp/sqrt(1._wp - vel_l_rms)
1893 ga%R = 1._wp/sqrt(1._wp - vel_r_rms)
1894 vdotb%L = vel_l(1)*b%L(1) + vel_l(2)*b%L(2) + vel_l(3)*b%L(3)
1895 vdotb%R = vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3)
1897 b4%L(1:3) = b%L(1:3)/ga%L + ga%L*vel_l(1:3)*vdotb%L
1898 b4%R(1:3) = b%R(1:3)/ga%R + ga%R*vel_r(1:3)*vdotb%R
1899 b2%L = b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp
1900 b2%R = b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp
1902 pres_mag%L = 0.5_wp*(b2%L/ga%L**2._wp + vdotb%L**2._wp)
1903 pres_mag%R = 0.5_wp*(b2%R/ga%R**2._wp + vdotb%R**2._wp)
1906 h_l = 1._wp + (gamma_l + 1)*pres_l/rho_l
1907 h_r = 1._wp + (gamma_r + 1)*pres_r/rho_r
1909 cm%L(1:3) = (rho_l*h_l*ga%L**2 + b2%L)*vel_l(1:3) - vdotb%L*b%L(1:3)
1910 cm%R(1:3) = (rho_r*h_r*ga%R**2 + b2%R)*vel_r(1:3) - vdotb%R*b%R(1:3)
1912 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
1913 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
1914# 278 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1915 else if (mhd .and. .not. relativity)
then
1916 pres_mag%L = 0.5_wp*(b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp)
1917 pres_mag%R = 0.5_wp*(b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp)
1918 e_l = gamma_l*pres_l + pi_inf_l + 0.5_wp*rho_l*vel_l_rms + qv_l + pres_mag%L
1920 e_r = gamma_r*pres_r + pi_inf_r + 0.5_wp*rho_r*vel_r_rms + qv_r + pres_mag%R
1921 h_l = (e_l + pres_l - pres_mag%L)/rho_l
1923 h_r = (e_r + pres_r - pres_mag%R)/rho_r
1925 e_l = gamma_l*pres_l + pi_inf_l + 5.e-1*rho_l*vel_l_rms + qv_l
1926 e_r = gamma_r*pres_r + pi_inf_r + 5.e-1*rho_r*vel_r_rms + qv_r
1927 h_l = (e_l + pres_l)/rho_l
1928 h_r = (e_r + pres_r)/rho_r
1942 s_l = 0._wp; s_r = 0._wp
1945# 307 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1946#if defined(MFC_OpenACC)
1947# 307 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1949# 307 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1950#elif defined(MFC_OpenMP)
1951# 307 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1953# 307 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1956 s_l = s_l + vel_l(i)**2._wp
1957 s_r = s_r + vel_r(i)**2._wp
1963 s_p = max(s_l, s_r) + max(c_l, c_r)
1970 if (low_mach == 1)
then
1972# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1973 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
1974# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1976# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1978# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1979 if (low_mach == 1)
then
1980# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1981 pcorr = -(s_p - s_m)*(rho_l + rho_r)/8._wp*(zcoef - 1._wp)
1982# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1984# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1986# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1987 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
1988# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1990# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1992# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1993 if (low_mach == 1)
then
1994# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1996# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1997 & /(rho_r*(s_r - vel_r(
dir_idx(1))) - rho_l*(s_l - vel_l(
dir_idx(1))))*(zcoef - 1._wp)
1998# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
1999 else if (low_mach == 2)
then
2000# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2002# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2004# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2006# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2008# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2010# 324 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2017 if (.not. relativity)
then
2019# 331 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2020#if defined(MFC_OpenACC)
2021# 331 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2023# 331 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2024#elif defined(MFC_OpenMP)
2025# 331 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2027# 331 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2029 do i = 1, eqn_idx%cont%end
2031 & i) = (s_m*alpha_rho_r(i)*vel_r(norm_dir) - s_p*alpha_rho_l(i)*vel_l(norm_dir) &
2032 & + s_m*s_p*(alpha_rho_l(i) - alpha_rho_r(i)))/(s_m - s_p)
2034 else if (relativity)
then
2036# 338 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2037#if defined(MFC_OpenACC)
2038# 338 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2040# 338 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2041#elif defined(MFC_OpenMP)
2042# 338 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2044# 338 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2046 do i = 1, eqn_idx%cont%end
2048 & i) = (s_m*ga%R*alpha_rho_r(i)*vel_r(norm_dir) - s_p*ga%L*alpha_rho_l(i) &
2049 & *vel_l(norm_dir) + s_m*s_p*(ga%L*alpha_rho_l(i) - ga%R*alpha_rho_r(i)))/(s_m &
2055 if (mhd .and. (.not. relativity))
then
2057# 349 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2058#if defined(MFC_OpenACC)
2059# 349 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2061# 349 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2062#elif defined(MFC_OpenMP)
2063# 349 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2065# 349 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2071 & eqn_idx%cont%end + i) = (s_m*(rho_r*vel_r(i)*vel_r(norm_dir) - b%R(i) &
2072 & *b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(rho_l*vel_l(i) &
2073 & *vel_l(norm_dir) - b%L(i)*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L)) &
2074 & + s_m*s_p*(rho_l*vel_l(i) - rho_r*vel_r(i)))/(s_m - s_p)
2076 else if (mhd .and. relativity)
then
2078# 360 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2079#if defined(MFC_OpenACC)
2080# 360 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2082# 360 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2083#elif defined(MFC_OpenMP)
2084# 360 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2086# 360 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2092 & eqn_idx%cont%end + i) = (s_m*(cm%R(i)*vel_r(norm_dir) - b4%R(i) &
2093 & /ga%R*b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(cm%L(i) &
2094 & *vel_l(norm_dir) - b4%L(i)/ga%L*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L) &
2095 & ) + s_m*s_p*(cm%L(i) - cm%R(i)))/(s_m - s_p)
2097 else if (bubbles_euler)
then
2099# 371 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2100#if defined(MFC_OpenACC)
2101# 371 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2103# 371 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2104#elif defined(MFC_OpenMP)
2105# 371 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2107# 371 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2114 & + s_m*s_p*(rho_l*vel_l(
dir_idx(i)) - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) &
2115 & + (s_m/s_l)*(s_p/s_r)*pcorr*(vel_r(
dir_idx(i)) - vel_l(
dir_idx(i)))
2119# 381 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2120#if defined(MFC_OpenACC)
2121# 381 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2123# 381 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2124#elif defined(MFC_OpenMP)
2125# 381 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2127# 381 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2134 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) + (s_m/s_l)*(s_p/s_r) &
2140 if (mhd .and. (.not. relativity))
then
2142# 396 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2144 & eqn_idx%E) = (s_m*(vel_r(norm_dir)*(e_r + pres_r + pres_mag%R) - b%R(norm_dir) &
2145 & *(vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3))) - s_p*(vel_l(norm_dir) &
2146 & *(e_l + pres_l + pres_mag%L) - b%L(norm_dir)*(vel_l(1)*b%L(1) + vel_l(2)*b%L(2) &
2147 & + vel_l(3)*b%L(3))) + s_m*s_p*(e_l - e_r))/(s_m - s_p)
2148# 402 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2149 else if (mhd .and. relativity)
then
2152 & eqn_idx%E) = (s_m*(cm%R(norm_dir) - ga%R*alpha_rho_r(1)*vel_r(norm_dir)) &
2153 & - s_p*(cm%L(norm_dir) - ga%L*alpha_rho_l(1)*vel_l(norm_dir)) + s_m*s_p*(e_l - e_r)) &
2155 else if (bubbles_euler)
then
2157 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r - ptilde_r) - s_p*vel_l(
dir_idx(1) &
2158 & )*(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) &
2159 & *pcorr*(vel_r_rms - vel_l_rms)/2._wp
2162 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r) - s_p*vel_l(
dir_idx(1))*(e_l &
2163 & + 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 &
2164 & - vel_l_rms)/2._wp
2169# 421 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2170#if defined(MFC_OpenACC)
2171# 421 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2173# 421 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2174#elif defined(MFC_OpenMP)
2175# 421 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2177# 421 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2179 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2180 flux_rsx_vf(j, k, l, i) = (ql_prim_rsx_vf(j, k, l, i) - qr_prim_rsx_vf(j, k, l + 1, &
2181 & i))*s_m*s_p/(s_m - s_p)
2183 & i) - s_p*ql_prim_rsx_vf(j, k, l, i))/(s_m - s_p)
2186 if (bubbles_euler)
then
2188 if (num_fluids > 1)
then
2195# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2196#if defined(MFC_OpenACC)
2197# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2199# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2200#elif defined(MFC_OpenMP)
2201# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2203# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2205 do i = eqn_idx%species%beg, eqn_idx%species%end
2206 y_l = ql_prim_rsx_vf(j, k, l, i)
2207 y_r = qr_prim_rsx_vf(j, k, l + 1, i)
2210 & i) = (s_m*y_r*rho_r*vel_r(
dir_idx(1)) - s_p*y_l*rho_l*vel_l(
dir_idx(1)) &
2211 & + s_m*s_p*(y_l*rho_l - y_r*rho_r))/(s_m - s_p)
2221# 453 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2222#if defined(MFC_OpenACC)
2223# 453 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2225# 453 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2226#elif defined(MFC_OpenMP)
2227# 453 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2229# 453 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2233 & eqn_idx%B%beg + i) = (s_m*(vel_r(1)*b%R(2 + i) - vel_r(2 + i)*bx0) &
2234 & - s_p*(vel_l(1)*b%L(2 + i) - vel_l(2 + i)*bx0) + s_m*s_p*(b%L(2 + i) &
2235 & - b%R(2 + i)))/(s_m - s_p)
2242# 464 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2243#if defined(MFC_OpenACC)
2244# 464 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2246# 464 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2247#elif defined(MFC_OpenMP)
2248# 464 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2250# 464 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2254 & eqn_idx%B%beg + i) = (1 -
dir_flg(i + 1))*(s_m*(vel_r(
dir_idx(1))*b%R(i + 1) &
2255 & - vel_r(i + 1)*b%R(norm_dir)) - s_p*(vel_l(
dir_idx(1))*b%L(i + 1) - vel_l(i &
2256 & + 1)*b%L(norm_dir)) + s_m*s_p*(b%L(i + 1) - b%R(i + 1)))/(s_m - s_p)
2262# 492 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2267# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2268#if defined(MFC_OpenACC)
2269# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2271# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2272#elif defined(MFC_OpenMP)
2273# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2275# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2277# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2280# 498 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2284# 500 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2286# 500 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2287#if defined(MFC_OpenACC)
2288# 500 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2290# 500 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2292# 500 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2293#elif defined(MFC_OpenMP)
2294# 500 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2296# 500 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2298# 500 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2300# 500 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2302# 500 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2304# 500 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2306# 502 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2310 idx_right_phys(1) = j
2311 idx_right_phys(2) = k
2312 idx_right_phys(3) = l
2313 idx_right_phys(norm_dir) = idx_right_phys(norm_dir) + 1
2315 if (norm_dir == 1)
then
2317# 511 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2318#if defined(MFC_OpenACC)
2319# 511 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2321# 511 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2322#elif defined(MFC_OpenMP)
2323# 511 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2325# 511 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2327 do i = 1, num_fluids
2328 alpha_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%E + i)
2329 alpha_r(i) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%E + i)
2333# 517 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2334#if defined(MFC_OpenACC)
2335# 517 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2337# 517 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2338#elif defined(MFC_OpenMP)
2339# 517 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2341# 517 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2344 vel_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%mom%beg + i - 1)
2345 vel_r(i) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%mom%beg + i - 1)
2347 else if (norm_dir == 2)
then
2349# 523 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2350#if defined(MFC_OpenACC)
2351# 523 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2353# 523 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2354#elif defined(MFC_OpenMP)
2355# 523 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2357# 523 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2359 do i = 1, num_fluids
2360 alpha_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%E + i)
2361 alpha_r(i) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%E + i)
2364# 528 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2365#if defined(MFC_OpenACC)
2366# 528 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2368# 528 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2369#elif defined(MFC_OpenMP)
2370# 528 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2372# 528 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2375 vel_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%mom%beg + i - 1)
2376 vel_r(i) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%mom%beg + i - 1)
2380# 534 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2381#if defined(MFC_OpenACC)
2382# 534 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2384# 534 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2385#elif defined(MFC_OpenMP)
2386# 534 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2388# 534 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2390 do i = 1, num_fluids
2391 alpha_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%E + i)
2392 alpha_r(i) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%E + i)
2396# 540 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2397#if defined(MFC_OpenACC)
2398# 540 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2400# 540 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2401#elif defined(MFC_OpenMP)
2402# 540 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2404# 540 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2407 vel_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%mom%beg + i - 1)
2408 vel_r(i) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%mom%beg + i - 1)
2417# 551 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2418#if defined(MFC_OpenACC)
2419# 551 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2421# 551 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2422#elif defined(MFC_OpenMP)
2423# 551 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2425# 551 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2428 vel_grad_l(i, 1) = (dql_prim_dx_vf(eqn_idx%mom%beg + i - 1)%sf(j, k, l)/re_l(1))
2429 vel_grad_r(i, 1) = (dqr_prim_dx_vf(eqn_idx%mom%beg + i - 1)%sf(idx_right_phys(1), &
2430 & idx_right_phys(2), idx_right_phys(3))/re_r(1))
2431# 557 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2432 if (num_dims > 1)
then
2433 vel_grad_l(i, 2) = (dql_prim_dy_vf(eqn_idx%mom%beg + i - 1)%sf(j, k, l)/re_l(1))
2434 vel_grad_r(i, 2) = (dqr_prim_dy_vf(eqn_idx%mom%beg + i - 1)%sf(idx_right_phys(1), &
2435 & idx_right_phys(2), idx_right_phys(3))/re_r(1))
2437# 563 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2438 if (num_dims > 2)
then
2439 vel_grad_l(i, 3) = (dql_prim_dz_vf(eqn_idx%mom%beg + i - 1)%sf(j, k, l)/re_l(1))
2440 vel_grad_r(i, 3) = (dqr_prim_dz_vf(eqn_idx%mom%beg + i - 1)%sf(idx_right_phys(1), &
2441 & idx_right_phys(2), idx_right_phys(3))/re_r(1))
2443# 569 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2444# 570 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2447 if (norm_dir == 1)
then
2448 flux_src_vf(eqn_idx%mom%beg)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg)%sf(j, k, &
2449 & l) - (4._wp/3._wp)*0.5_wp*(vel_grad_l(1, 1) + vel_grad_r(1, 1))
2450 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2451 & l) - (4._wp/3._wp)*0.5_wp*(vel_grad_l(1, 1)*vel_l(1) + vel_grad_r(1, 1)*vel_r(1))
2452# 578 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2453 if (num_dims > 1)
then
2454 flux_src_vf(eqn_idx%mom%beg)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg)%sf(j, k, &
2455 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(2, 2) + vel_grad_r(2, 2))
2456 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2457 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(2, 2)*vel_l(1) + vel_grad_r(2, &
2460 flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, &
2461 & l) - 0.5_wp*(vel_grad_l(1, 2) + vel_grad_r(1, 2)) - 0.5_wp*(vel_grad_l(2, &
2462 & 1) + vel_grad_r(2, 1))
2463 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2464 & l) - 0.5_wp*(vel_grad_l(1, 2)*vel_l(2) + vel_grad_r(1, &
2465 & 2)*vel_r(2)) - 0.5_wp*(vel_grad_l(2, 1)*vel_l(2) + vel_grad_r(2, 1)*vel_r(2))
2466# 592 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2467 if (num_dims > 2)
then
2468 flux_src_vf(eqn_idx%mom%beg)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg)%sf(j, k, &
2469 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(3, 3) + vel_grad_r(3, 3))
2470 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2471 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(3, &
2472 & 3)*vel_l(1) + vel_grad_r(3, 3)*vel_r(1))
2474 flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, &
2475 & l) = flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, &
2476 & l) - 0.5_wp*(vel_grad_l(1, 3) + vel_grad_r(1, &
2477 & 3)) - 0.5_wp*(vel_grad_l(3, 1) + vel_grad_r(3, 1))
2478 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2479 & l) - 0.5_wp*(vel_grad_l(1, 3)*vel_l(3) + vel_grad_r(1, &
2480 & 3)*vel_r(3)) - 0.5_wp*(vel_grad_l(3, 1)*vel_l(3) + vel_grad_r(3, &
2483# 609 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2485# 611 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2486 else if (norm_dir == 2)
then
2487# 613 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2488 flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, &
2489 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(1, 1) + vel_grad_r(1, 1))
2490 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2491 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(1, 1)*vel_l(2) + vel_grad_r(1, 1)*vel_r(2))
2493 flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, &
2494 & l) - (4._wp/3._wp)*0.5_wp*(vel_grad_l(2, 2) + vel_grad_r(2, 2))
2495 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2496 & l) - (4._wp/3._wp)*0.5_wp*(vel_grad_l(2, 2)*vel_l(2) + vel_grad_r(2, 2)*vel_r(2))
2498 flux_src_vf(eqn_idx%mom%beg)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg)%sf(j, k, &
2499 & l) - 0.5_wp*(vel_grad_l(1, 2) + vel_grad_r(1, 2)) - 0.5_wp*(vel_grad_l(2, &
2500 & 1) + vel_grad_r(2, 1))
2501 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2502 & l) - 0.5_wp*(vel_grad_l(1, 2)*vel_l(1) + vel_grad_r(1, &
2503 & 2)*vel_r(1)) - 0.5_wp*(vel_grad_l(2, 1)*vel_l(1) + vel_grad_r(2, 1)*vel_r(1))
2504# 630 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2505 if (num_dims > 2)
then
2506 flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, &
2507 & k, l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(3, 3) + vel_grad_r(3, 3))
2508 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2509 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(3, 3)*vel_l(2) + vel_grad_r(3, &
2512 flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, &
2513 & k, l) - 0.5_wp*(vel_grad_l(2, 3) + vel_grad_r(2, &
2514 & 3)) - 0.5_wp*(vel_grad_l(3, 2) + vel_grad_r(3, 2))
2515 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2516 & l) - 0.5_wp*(vel_grad_l(2, 3)*vel_l(3) + vel_grad_r(2, &
2517 & 3)*vel_r(3)) - 0.5_wp*(vel_grad_l(3, 2)*vel_l(3) + vel_grad_r(3, &
2520# 646 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2521# 647 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2523# 649 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2524 flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, &
2525 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(1, 1) + vel_grad_r(1, 1))
2526 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2527 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(1, 1)*vel_l(3) + vel_grad_r(1, 1)*vel_r(3))
2529 flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, &
2530 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(2, 2) + vel_grad_r(2, 2))
2531 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2532 & l) - (-2._wp/3._wp)*0.5_wp*(vel_grad_l(2, 2)*vel_l(3) + vel_grad_r(2, 2)*vel_r(3))
2534 flux_src_vf(eqn_idx%mom%beg)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg)%sf(j, k, &
2535 & l) - 0.5_wp*(vel_grad_l(1, 3) + vel_grad_r(1, 3)) - 0.5_wp*(vel_grad_l(3, &
2536 & 1) + vel_grad_r(3, 1))
2537 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2538 & l) - 0.5_wp*(vel_grad_l(1, 3)*vel_l(1) + vel_grad_r(1, &
2539 & 3)*vel_r(1)) - 0.5_wp*(vel_grad_l(3, 1)*vel_l(1) + vel_grad_r(3, 1)*vel_r(1))
2541 flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, &
2542 & l) - (4._wp/3._wp)*0.5_wp*(vel_grad_l(3, 3) + vel_grad_r(3, 3))
2543 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2544 & l) - (4._wp/3._wp)*0.5_wp*(vel_grad_l(3, 3)*vel_l(3) + vel_grad_r(3, 3)*vel_r(3))
2546 flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, &
2547 & l) - 0.5_wp*(vel_grad_l(2, 3) + vel_grad_r(2, 3)) - 0.5_wp*(vel_grad_l(3, &
2548 & 2) + vel_grad_r(3, 2))
2549 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2550 & l) - 0.5_wp*(vel_grad_l(2, 3)*vel_l(2) + vel_grad_r(2, &
2551 & 3)*vel_r(2)) - 0.5_wp*(vel_grad_l(3, 2)*vel_l(2) + vel_grad_r(3, 2)*vel_r(2))
2552# 678 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2558# 682 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2559#if defined(MFC_OpenACC)
2560# 682 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2562# 682 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2563#elif defined(MFC_OpenMP)
2564# 682 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2566# 682 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2569 vel_grad_l(i, 1) = (dql_prim_dx_vf(eqn_idx%mom%beg + i - 1)%sf(j, k, l)/re_l(2))
2570 vel_grad_r(i, 1) = (dqr_prim_dx_vf(eqn_idx%mom%beg + i - 1)%sf(idx_right_phys(1), &
2571 & idx_right_phys(2), idx_right_phys(3))/re_r(2))
2572# 688 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2573 if (num_dims > 1)
then
2574 vel_grad_l(i, 2) = (dql_prim_dy_vf(eqn_idx%mom%beg + i - 1)%sf(j, k, l)/re_l(2))
2575 vel_grad_r(i, 2) = (dqr_prim_dy_vf(eqn_idx%mom%beg + i - 1)%sf(idx_right_phys(1), &
2576 & idx_right_phys(2), idx_right_phys(3))/re_r(2))
2578# 694 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2579# 695 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2580 if (num_dims > 2)
then
2581 vel_grad_l(i, 3) = (dql_prim_dz_vf(eqn_idx%mom%beg + i - 1)%sf(j, k, l)/re_l(2))
2582 vel_grad_r(i, 3) = (dqr_prim_dz_vf(eqn_idx%mom%beg + i - 1)%sf(idx_right_phys(1), &
2583 & idx_right_phys(2), idx_right_phys(3))/re_r(2))
2585# 701 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2588 if (norm_dir == 1)
then
2589 flux_src_vf(eqn_idx%mom%beg)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg)%sf(j, k, &
2590 & l) - 0.5_wp*(vel_grad_l(1, 1) + vel_grad_r(1, 1))
2591 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, &
2592 & 1)*vel_l(1) + vel_grad_r(1, 1)*vel_r(1))
2593# 709 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2594 if (num_dims > 1)
then
2595 flux_src_vf(eqn_idx%mom%beg)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg)%sf(j, k, &
2596 & l) - 0.5_wp*(vel_grad_l(2, 2) + vel_grad_r(2, 2))
2597 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2598 & l) - 0.5_wp*(vel_grad_l(2, 2)*vel_l(1) + vel_grad_r(2, 2)*vel_r(1))
2600# 716 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2601 if (num_dims > 2)
then
2602 flux_src_vf(eqn_idx%mom%beg)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg)%sf(j, k, &
2603 & l) - 0.5_wp*(vel_grad_l(3, 3) + vel_grad_r(3, 3))
2604 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2605 & l) - 0.5_wp*(vel_grad_l(3, 3)*vel_l(1) + vel_grad_r(3, 3)*vel_r(1))
2607# 723 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2609# 725 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2610 else if (norm_dir == 2)
then
2611# 727 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2612 flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, &
2613 & l) - 0.5_wp*(vel_grad_l(1, 1) + vel_grad_r(1, 1))
2614 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2615 & l) - 0.5_wp*(vel_grad_l(1, 1)*vel_l(2) + vel_grad_r(1, 1)*vel_r(2))
2617 flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, &
2618 & l) - 0.5_wp*(vel_grad_l(2, 2) + vel_grad_r(2, 2))
2619 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2620 & l) - 0.5_wp*(vel_grad_l(2, 2)*vel_l(2) + vel_grad_r(2, 2)*vel_r(2))
2622# 738 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2623 if (num_dims > 2)
then
2624 flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 1)%sf(j, &
2625 & k, l) - 0.5_wp*(vel_grad_l(3, 3) + vel_grad_r(3, 3))
2626 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2627 & l) - 0.5_wp*(vel_grad_l(3, 3)*vel_l(2) + vel_grad_r(3, 3)*vel_r(2))
2629# 745 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2630# 746 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2632# 748 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2633 flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, &
2634 & l) - 0.5_wp*(vel_grad_l(1, 1) + vel_grad_r(1, 1))
2635 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2636 & l) - 0.5_wp*(vel_grad_l(1, 1)*vel_l(3) + vel_grad_r(1, 1)*vel_r(3))
2638 flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, &
2639 & l) - 0.5_wp*(vel_grad_l(2, 2) + vel_grad_r(2, 2))
2640 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2641 & l) - 0.5_wp*(vel_grad_l(2, 2)*vel_l(3) + vel_grad_r(2, 2)*vel_r(3))
2643 flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, l) = flux_src_vf(eqn_idx%mom%beg + 2)%sf(j, k, &
2644 & l) - 0.5_wp*(vel_grad_l(3, 3) + vel_grad_r(3, 3))
2645 flux_src_vf(eqn_idx%E)%sf(j, k, l) = flux_src_vf(eqn_idx%E)%sf(j, k, &
2646 & l) - 0.5_wp*(vel_grad_l(3, 3)*vel_l(3) + vel_grad_r(3, 3)*vel_r(3))
2647# 763 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2654# 768 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2655#if defined(MFC_OpenACC)
2656# 768 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2658# 768 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2659#elif defined(MFC_OpenMP)
2660# 768 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2662# 768 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"
2664# 768 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_lf.fpp"