357 & dqL_prim_dz_vf, qL_prim_vf, qR_prim_rsx_vf, dqR_prim_dx_vf, dqR_prim_dy_vf, dqR_prim_dz_vf, qR_prim_vf, q_prim_vf, &
358 & flux_vf, flux_src_vf, flux_gsrc_vf, norm_dir, ix, iy, iz)
360 real(wp),
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:),
intent(inout) :: qL_prim_rsx_vf, qR_prim_rsx_vf
361 type(
scalar_field),
dimension(sys_size),
intent(in) :: q_prim_vf
362 type(
scalar_field),
allocatable,
dimension(:),
intent(inout) :: qL_prim_vf, qR_prim_vf
363 type(
scalar_field),
allocatable,
dimension(:),
intent(inout) :: dqL_prim_dx_vf, dqR_prim_dx_vf, dqL_prim_dy_vf, &
364 & dqR_prim_dy_vf, dqL_prim_dz_vf, dqR_prim_dz_vf
367 type(
scalar_field),
dimension(sys_size),
intent(inout) :: flux_vf, flux_src_vf, flux_gsrc_vf
368 real(wp) :: flux_tau_L, flux_tau_R
369 integer,
intent(in) :: norm_dir
372# 53 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
373 real(wp),
dimension(num_fluids) :: alpha_rho_L, alpha_rho_R
374 real(wp),
dimension(num_vels) :: vel_L, vel_R
375 real(wp),
dimension(num_fluids) :: alpha_L, alpha_R
376 real(wp),
dimension(num_species) :: Ys_L, Ys_R
377 real(wp),
dimension(num_species) :: Cp_iL, Cp_iR, Xs_L, Xs_R, Gamma_iL, Gamma_iR
378 real(wp),
dimension(num_species) :: Yi_avg, Phi_avg, h_iL, h_iR, h_avg_2
379# 60 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
380 real(wp) :: rho_L, rho_R
381 real(wp) :: pres_L, pres_R
384 real(wp) :: Cp_avg, Cv_avg, T_avg, eps, c_sum_Yi_Phi
387 real(wp) :: MW_L, MW_R
388 real(wp) :: R_gas_L, R_gas_R
389 real(wp) :: Cp_L, Cp_R
390 real(wp) :: Cv_L, Cv_R
391 real(wp) :: Gamm_L, Gamm_R
392 real(wp) :: gamma_L, gamma_R
393 real(wp) :: pi_inf_L, pi_inf_R
394 real(wp) :: qv_L, qv_R
396 real(wp),
dimension(6) :: tau_e_L, tau_e_R
398 real(wp),
dimension(2) :: Re_L, Re_R
399 real(wp),
dimension(3) :: xi_field_L, xi_field_R
403 real(wp) :: gamma_avg
405 real(wp) :: s_L, s_R, s_M, s_P, s_S
406 real(wp) :: xi_M, xi_P
407 real(wp) :: ptilde_L, ptilde_R
408 real(wp) :: vel_L_rms, vel_R_rms, vel_avg_rms
409 real(wp) :: vel_L_tmp, vel_R_tmp
410 real(wp) :: Ms_L, Ms_R, pres_SL, pres_SR
411 real(wp) :: alpha_L_sum, alpha_R_sum
412 real(wp) :: zcoef, pcorr
419 integer :: i, j, k, l, q
423 & qr_prim_rsx_vf, dqr_prim_dx_vf, dqr_prim_dy_vf, dqr_prim_dz_vf, norm_dir, ix, iy, iz)
427# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
428# 112 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
429# 113 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
430 if (norm_dir == 1)
then
432# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
434# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
435#if defined(MFC_OpenACC)
436# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
438# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
439#elif defined(MFC_OpenMP)
440# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
442# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
444# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
446# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
448# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
450# 123 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
455# 126 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
456#if defined(MFC_OpenACC)
457# 126 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
459# 126 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
460#elif defined(MFC_OpenMP)
461# 126 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
463# 126 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
465 do i = 1, eqn_idx%cont%end
466 alpha_rho_l(i) = ql_prim_rsx_vf(j, k, l, i)
467 alpha_rho_r(i) = qr_prim_rsx_vf(j + 1, k, l, i)
470 vel_l_rms = 0._wp; vel_r_rms = 0._wp
473# 134 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
474#if defined(MFC_OpenACC)
475# 134 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
477# 134 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
478#elif defined(MFC_OpenMP)
479# 134 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
481# 134 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
484 vel_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%cont%end + i)
485 vel_r(i) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%cont%end + i)
486 vel_l_rms = vel_l_rms + vel_l(i)**2._wp
487 vel_r_rms = vel_r_rms + vel_r(i)**2._wp
491# 142 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
492#if defined(MFC_OpenACC)
493# 142 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
495# 142 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
496#elif defined(MFC_OpenMP)
497# 142 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
499# 142 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
502 alpha_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%E + i)
503 alpha_r(i) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%E + i)
506 pres_l = ql_prim_rsx_vf(j, k, l, eqn_idx%E)
507 pres_r = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%E)
513 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
514 b%R(2) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%B%beg)
515 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
516 b%R(3) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%B%beg + 1)
518 b%L(1) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
519 b%R(1) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%B%beg)
520 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
521 b%R(2) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%B%beg + 1)
522 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 2)
523 b%R(3) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%B%beg + 2)
545# 186 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
546#if defined(MFC_OpenACC)
547# 186 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
549# 186 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
550#elif defined(MFC_OpenMP)
551# 186 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
553# 186 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
556 alpha_rho_l(i) = max(0._wp, alpha_rho_l(i))
557 alpha_l(i) = min(max(0._wp, alpha_l(i)), 1._wp)
558 alpha_l_sum = alpha_l_sum + alpha_l(i)
559 alpha_rho_r(i) = max(0._wp, alpha_rho_r(i))
560 alpha_r(i) = min(max(0._wp, alpha_r(i)), 1._wp)
561 alpha_r_sum = alpha_r_sum + alpha_r(i)
564 alpha_l = alpha_l/max(alpha_l_sum,
sgm_eps)
565 alpha_r = alpha_r/max(alpha_r_sum,
sgm_eps)
569# 200 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
570#if defined(MFC_OpenACC)
571# 200 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
573# 200 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
574#elif defined(MFC_OpenMP)
575# 200 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
577# 200 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
580 rho_l = rho_l + alpha_rho_l(i)
581 gamma_l = gamma_l + alpha_l(i)*
gammas(i)
582 pi_inf_l = pi_inf_l + alpha_l(i)*
pi_infs(i)
583 qv_l = qv_l + alpha_rho_l(i)*
qvs(i)
585 rho_r = rho_r + alpha_rho_r(i)
586 gamma_r = gamma_r + alpha_r(i)*
gammas(i)
587 pi_inf_r = pi_inf_r + alpha_r(i)*
pi_infs(i)
588 qv_r = qv_r + alpha_rho_r(i)*
qvs(i)
593# 214 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
594#if defined(MFC_OpenACC)
595# 214 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
597# 214 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
598#elif defined(MFC_OpenMP)
599# 214 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
601# 214 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
607 if (
re_size(i) > 0) re_l(i) = 0._wp
608 if (
re_size(i) > 0) re_r(i) = 0._wp
611# 222 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
612#if defined(MFC_OpenACC)
613# 222 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
615# 222 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
616#elif defined(MFC_OpenMP)
617# 222 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
619# 222 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
626 re_l(i) = 1._wp/max(re_l(i),
sgm_eps)
627 re_r(i) = 1._wp/max(re_r(i),
sgm_eps)
633# 234 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
634#if defined(MFC_OpenACC)
635# 234 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
637# 234 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
638#elif defined(MFC_OpenMP)
639# 234 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
641# 234 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
643 do i = eqn_idx%species%beg, eqn_idx%species%end
644 ys_l(i - eqn_idx%species%beg + 1) = ql_prim_rsx_vf(j, k, l, i)
645 ys_r(i - eqn_idx%species%beg + 1) = qr_prim_rsx_vf(j + 1, k, l, i)
648 call get_mixture_molecular_weight(ys_l, mw_l)
649 call get_mixture_molecular_weight(ys_r, mw_r)
650 xs_l(:) = ys_l(:)*mw_l/molecular_weights(:)
651 xs_r(:) = ys_r(:)*mw_r/molecular_weights(:)
653 r_gas_l = gas_constant/mw_l
654 r_gas_r = gas_constant/mw_r
655 t_l = pres_l/rho_l/r_gas_l
656 t_r = pres_r/rho_r/r_gas_r
658 call get_species_specific_heats_r(t_l, cp_il)
659 call get_species_specific_heats_r(t_r, cp_ir)
661 if (chem_params%gamma_method == 1)
then
663 gamma_il = cp_il/(cp_il - 1.0_wp)
664 gamma_ir = cp_ir/(cp_ir - 1.0_wp)
666 gamma_l = sum(xs_l(:)/(gamma_il(:) - 1.0_wp))
667 gamma_r = sum(xs_r(:)/(gamma_ir(:) - 1.0_wp))
668 else if (chem_params%gamma_method == 2)
then
670 call get_mixture_specific_heat_cp_mass(t_l, ys_l, cp_l)
671 call get_mixture_specific_heat_cp_mass(t_r, ys_r, cp_r)
672 call get_mixture_specific_heat_cv_mass(t_l, ys_l, cv_l)
673 call get_mixture_specific_heat_cv_mass(t_r, ys_r, cv_r)
676 gamma_l = 1.0_wp/(gamm_l - 1.0_wp)
678 gamma_r = 1.0_wp/(gamm_r - 1.0_wp)
681 call get_mixture_energy_mass(t_l, ys_l, e_l)
682 call get_mixture_energy_mass(t_r, ys_r, e_r)
684 e_l = rho_l*e_l + 5.e-1*rho_l*vel_l_rms
685 e_r = rho_r*e_r + 5.e-1*rho_r*vel_r_rms
686 h_l = (e_l + pres_l)/rho_l
687 h_r = (e_r + pres_r)/rho_r
688 else if (mhd .and. relativity)
then
689 ga%L = 1._wp/sqrt(1._wp - vel_l_rms)
690 ga%R = 1._wp/sqrt(1._wp - vel_r_rms)
691# 284 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
692 vdotb%L = vel_l(1)*b%L(1) + vel_l(2)*b%L(2) + vel_l(3)*b%L(3)
693 vdotb%R = vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3)
695 b4%L(1:3) = b%L(1:3)/ga%L + ga%L*vel_l(1:3)*vdotb%L
696 b4%R(1:3) = b%R(1:3)/ga%R + ga%R*vel_r(1:3)*vdotb%R
697 b2%L = b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp
698 b2%R = b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp
699# 292 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
701 pres_mag%L = 0.5_wp*(b2%L/ga%L**2._wp + vdotb%L**2._wp)
702 pres_mag%R = 0.5_wp*(b2%R/ga%R**2._wp + vdotb%R**2._wp)
705 h_l = 1._wp + (gamma_l + 1)*pres_l/rho_l
706 h_r = 1._wp + (gamma_r + 1)*pres_r/rho_r
707# 300 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
708 cm%L(1:3) = (rho_l*h_l*ga%L**2 + b2%L)*vel_l(1:3) - vdotb%L*b%L(1:3)
709 cm%R(1:3) = (rho_r*h_r*ga%R**2 + b2%R)*vel_r(1:3) - vdotb%R*b%R(1:3)
710# 303 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
712 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
713 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
714 else if (mhd .and. .not. relativity)
then
715# 308 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
716 pres_mag%L = 0.5_wp*(b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp)
717 pres_mag%R = 0.5_wp*(b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp)
718# 311 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
719 e_l = gamma_l*pres_l + pi_inf_l + 0.5_wp*rho_l*vel_l_rms + qv_l + pres_mag%L
721 e_r = gamma_r*pres_r + pi_inf_r + 0.5_wp*rho_r*vel_r_rms + qv_r + pres_mag%R
722 h_l = (e_l + pres_l - pres_mag%L)/rho_l
724 h_r = (e_r + pres_r - pres_mag%R)/rho_r
726 e_l = gamma_l*pres_l + pi_inf_l + 5.e-1*rho_l*vel_l_rms + qv_l
727 e_r = gamma_r*pres_r + pi_inf_r + 5.e-1*rho_r*vel_r_rms + qv_r
728 h_l = (e_l + pres_l)/rho_l
729 h_r = (e_r + pres_r)/rho_r
733 if (hypoelasticity)
then
734 g_l = 0._wp; g_r = 0._wp
737# 328 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
738#if defined(MFC_OpenACC)
739# 328 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
741# 328 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
742#elif defined(MFC_OpenMP)
743# 328 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
745# 328 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
748 g_l = g_l + alpha_l(i)*
gs_rs(i)
749 g_r = g_r + alpha_r(i)*
gs_rs(i)
752 if (cont_damage)
then
753 g_l = g_l*max((1._wp - ql_prim_rsx_vf(j, k, l, eqn_idx%damage)), 0._wp)
754 g_r = g_r*max((1._wp - qr_prim_rsx_vf(j, k, l, eqn_idx%damage)), 0._wp)
758# 339 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
759#if defined(MFC_OpenACC)
760# 339 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
762# 339 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
763#elif defined(MFC_OpenMP)
764# 339 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
766# 339 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
768 do i = 1, eqn_idx%stress%end - eqn_idx%stress%beg + 1
769 tau_e_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%stress%beg - 1 + i)
770 tau_e_r(i) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%stress%beg - 1 + i)
772 if ((g_l > 1000) .and. (g_r > 1000))
then
773 e_l = e_l + (tau_e_l(i)*tau_e_l(i))/(4._wp*g_l)
774 e_r = e_r + (tau_e_r(i)*tau_e_r(i))/(4._wp*g_r)
776 if (any(eqn_idx%stress%beg - 1 + i == shear_indices))
then
777 e_l = e_l + (tau_e_l(i)*tau_e_l(i))/(4._wp*g_l)
778 e_r = e_r + (tau_e_r(i)*tau_e_r(i))/(4._wp*g_r)
785# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
786 rho_avg = sqrt(rho_l*rho_r)
787# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
789# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
791# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
793# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
795# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
796#if defined(MFC_OpenACC)
797# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
799# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
800#elif defined(MFC_OpenMP)
801# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
803# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
805# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
807# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
808 vel_avg_rms = vel_avg_rms + (sqrt(rho_l)*vel_l(i) + sqrt(rho_r)*vel_r(i))**2._wp/(sqrt(rho_l) + sqrt(rho_r))**2._wp
809# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
811# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
813# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
814 h_avg = (sqrt(rho_l)*h_l + sqrt(rho_r)*h_r)/(sqrt(rho_l) + sqrt(rho_r))
815# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
817# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
818 gamma_avg = (sqrt(rho_l)*gamma_l + sqrt(rho_r)*gamma_r)/(sqrt(rho_l) + sqrt(rho_r))
819# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
821# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
822 vel_avg_rms = (sqrt(rho_l)*vel_l(1) + sqrt(rho_r)*vel_r(1))**2._wp/(sqrt(rho_l) + sqrt(rho_r))**2._wp
823# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
825# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
826 qv_avg = (sqrt(rho_l)*qv_l + sqrt(rho_r)*qv_r)/(sqrt(rho_l) + sqrt(rho_r))
827# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
829# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
831# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
833# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
834 call get_species_enthalpies_rt(t_l, h_il)
835# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
836 call get_species_enthalpies_rt(t_r, h_ir)
837# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
838 h_il = h_il*gas_constant/molecular_weights*t_l
839# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
840 h_ir = h_ir*gas_constant/molecular_weights*t_r
841# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
842 call get_species_specific_heats_r(t_l, cp_il)
843# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
844 call get_species_specific_heats_r(t_r, cp_ir)
845# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
847# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
848 h_avg_2 = (sqrt(rho_l)*h_il + sqrt(rho_r)*h_ir)/(sqrt(rho_l) + sqrt(rho_r))
849# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
850 yi_avg = (sqrt(rho_l)*ys_l + sqrt(rho_r)*ys_r)/(sqrt(rho_l) + sqrt(rho_r))
851# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
852 t_avg = (sqrt(rho_l)*t_l + sqrt(rho_r)*t_r)/(sqrt(rho_l) + sqrt(rho_r))
853# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
854 if (abs(t_l - t_r) < eps)
then
855# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
857# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
858 cp_avg = sum(yi_avg(:)*(0.5_wp*cp_il(:) + 0.5_wp*cp_ir(:))*gas_constant/molecular_weights(:))
859# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
860 cv_avg = sum(yi_avg(:)*((0.5_wp*cp_il(:) + 0.5_wp*cp_ir(:))*gas_constant/molecular_weights(:) &
861# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
862 & - gas_constant/molecular_weights(:)))
863# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
865# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
867# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
868 cp_avg = sum(yi_avg(:)*(h_ir(:) - h_il(:))/(t_r - t_l))
869# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
870 cv_avg = sum(yi_avg(:)*((h_ir(:) - h_il(:))/(t_r - t_l) - gas_constant/molecular_weights(:)))
871# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
873# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
874 gamma_avg = cp_avg/cv_avg
875# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
877# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
878 phi_avg(:) = (gamma_avg - 1._wp)*(vel_avg_rms/2.0_wp - h_avg_2(:)) + gamma_avg*gas_constant/molecular_weights(:)*t_avg
879# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
880 c_sum_yi_phi = sum(yi_avg(:)*phi_avg(:))
881# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
883# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
885# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
887# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
889# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
890 rho_avg = 5.e-1_wp*(rho_l + rho_r)
891# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
893# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
895# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
896#if defined(MFC_OpenACC)
897# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
899# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
900#elif defined(MFC_OpenMP)
901# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
903# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
905# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
907# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
908 vel_avg_rms = vel_avg_rms + (5.e-1_wp*(vel_l(i) + vel_r(i)))**2._wp
909# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
911# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
913# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
914 h_avg = 5.e-1_wp*(h_l + h_r)
915# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
916 gamma_avg = 5.e-1_wp*(gamma_l + gamma_r)
917# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
918 qv_avg = 5.e-1_wp*(qv_l + qv_r)
919# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
932 & c_sum_yi_phi, c_avg, qv_avg)
944# 379 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
945#if defined(MFC_OpenACC)
946# 379 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
948# 379 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
949#elif defined(MFC_OpenMP)
950# 379 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
952# 379 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
955 re_avg_rsx_vf(j, k, l, i) = 2._wp/(1._wp/re_l(i) + 1._wp/re_r(i))
963 s_l = min(vel_l(
dir_idx(1)) - c_fast%L, vel_r(
dir_idx(1)) - c_fast%R)
964 s_r = max(vel_r(
dir_idx(1)) + c_fast%R, vel_l(
dir_idx(1)) + c_fast%L)
965 else if (hypoelasticity)
then
967 s_l = min(vel_l(
dir_idx(1)) - sqrt(c_l*c_l + (((4._wp*g_l)/3._wp) + tau_e_l(
dir_idx_tau(1))) &
969 & vel_r(
dir_idx(1)) - sqrt(c_r*c_r + (((4._wp*g_r)/3._wp) + tau_e_r(
dir_idx_tau(1))) &
971 s_r = max(vel_r(
dir_idx(1)) + sqrt(c_r*c_r + (((4._wp*g_r)/3._wp) + tau_e_r(
dir_idx_tau(1))) &
973 & vel_l(
dir_idx(1)) + sqrt(c_l*c_l + (((4._wp*g_l)/3._wp) + tau_e_l(
dir_idx_tau(1))) &
975 else if (hyperelasticity)
then
976 s_l = min(vel_l(
dir_idx(1)) - sqrt(c_l*c_l + (4._wp*g_l/3._wp)/rho_l), &
977 & vel_r(
dir_idx(1)) - sqrt(c_r*c_r + (4._wp*g_r/3._wp)/rho_r))
978 s_r = max(vel_r(
dir_idx(1)) + sqrt(c_r*c_r + (4._wp*g_r/3._wp)/rho_r), &
979 & vel_l(
dir_idx(1)) + sqrt(c_l*c_l + (4._wp*g_l/3._wp)/rho_l))
985 if (hyper_cleaning)
then
987 s_l = min(s_l, -hyper_cleaning_speed)
988 s_r = max(s_r, hyper_cleaning_speed)
991 s_s = (pres_r - pres_l + rho_l*vel_l(
dir_idx(1))*(s_l - vel_l(
dir_idx(1))) &
993 & - rho_r*(s_r - vel_r(
dir_idx(1))))
995 pres_sl = 5.e-1_wp*(pres_l + pres_r + rho_avg*c_avg*(vel_l(
dir_idx(1)) - vel_r(
dir_idx(1))))
1001 & sqrt(1._wp + ((5.e-1_wp + gamma_l)/(1._wp + gamma_l))*(pres_sl/pres_l - 1._wp) &
1002 & *pres_l/((pres_l + pi_inf_l/(1._wp + gamma_l)))))
1004 & sqrt(1._wp + ((5.e-1_wp + gamma_r)/(1._wp + gamma_r))*(pres_sr/pres_r - 1._wp) &
1005 & *pres_r/((pres_r + pi_inf_r/(1._wp + gamma_r)))))
1007 s_l = vel_l(
dir_idx(1)) - c_l*ms_l
1008 s_r = vel_r(
dir_idx(1)) + c_r*ms_r
1010 s_s = 5.e-1_wp*((vel_l(
dir_idx(1)) + vel_r(
dir_idx(1))) + (pres_l - pres_r)/(rho_avg*c_avg))
1013 s_m = min(0._wp, s_l); s_p = max(0._wp, s_r)
1015 xi_m = (5.e-1_wp + sign(5.e-1_wp, s_l)) + (5.e-1_wp - sign(5.e-1_wp, s_l))*(5.e-1_wp + sign(5.e-1_wp, &
1017 xi_p = (5.e-1_wp - sign(5.e-1_wp, s_r)) + (5.e-1_wp - sign(5.e-1_wp, s_l))*(5.e-1_wp + sign(5.e-1_wp, &
1021 if (low_mach == 1)
then
1023# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1024 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
1025# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1027# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1029# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1030 if (low_mach == 1)
then
1031# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1032 pcorr = -(s_p - s_m)*(rho_l + rho_r)/8._wp*(zcoef - 1._wp)
1033# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1035# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1037# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1038 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
1039# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1041# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1043# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1044 if (low_mach == 1)
then
1045# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1047# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1048 & /(rho_r*(s_r - vel_r(
dir_idx(1))) - rho_l*(s_l - vel_l(
dir_idx(1))))*(zcoef - 1._wp)
1049# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1050 else if (low_mach == 2)
then
1051# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1053# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1055# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1057# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1059# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1061# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1068 if (.not. relativity)
then
1070# 455 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1071#if defined(MFC_OpenACC)
1072# 455 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1074# 455 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1075#elif defined(MFC_OpenMP)
1076# 455 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1078# 455 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1080 do i = 1, eqn_idx%cont%end
1082 & i) = (s_m*alpha_rho_r(i)*vel_r(norm_dir) - s_p*alpha_rho_l(i)*vel_l(norm_dir) &
1083 & + s_m*s_p*(alpha_rho_l(i) - alpha_rho_r(i)))/(s_m - s_p)
1085 else if (relativity)
then
1087# 462 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1088#if defined(MFC_OpenACC)
1089# 462 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1091# 462 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1092#elif defined(MFC_OpenMP)
1093# 462 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1095# 462 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1097 do i = 1, eqn_idx%cont%end
1099 & i) = (s_m*ga%R*alpha_rho_r(i)*vel_r(norm_dir) - s_p*ga%L*alpha_rho_l(i) &
1100 & *vel_l(norm_dir) + s_m*s_p*(ga%L*alpha_rho_l(i) - ga%R*alpha_rho_r(i)))/(s_m &
1106 if (mhd .and. (.not. relativity))
then
1108# 473 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1109#if defined(MFC_OpenACC)
1110# 473 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1112# 473 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1113#elif defined(MFC_OpenMP)
1114# 473 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1116# 473 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1122 & eqn_idx%cont%end + i) = (s_m*(rho_r*vel_r(i)*vel_r(norm_dir) - b%R(i) &
1123 & *b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(rho_l*vel_l(i) &
1124 & *vel_l(norm_dir) - b%L(i)*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L)) &
1125 & + s_m*s_p*(rho_l*vel_l(i) - rho_r*vel_r(i)))/(s_m - s_p)
1127 else if (mhd .and. relativity)
then
1129# 484 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1130#if defined(MFC_OpenACC)
1131# 484 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1133# 484 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1134#elif defined(MFC_OpenMP)
1135# 484 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1137# 484 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1143 & eqn_idx%cont%end + i) = (s_m*(cm%R(i)*vel_r(norm_dir) - b4%R(i) &
1144 & /ga%R*b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(cm%L(i) &
1145 & *vel_l(norm_dir) - b4%L(i)/ga%L*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L) &
1146 & ) + s_m*s_p*(cm%L(i) - cm%R(i)))/(s_m - s_p)
1148 else if (bubbles_euler)
then
1150# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1151#if defined(MFC_OpenACC)
1152# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1154# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1155#elif defined(MFC_OpenMP)
1156# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1158# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1165 & + s_m*s_p*(rho_l*vel_l(
dir_idx(i)) - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) &
1166 & + (s_m/s_l)*(s_p/s_r)*pcorr*(vel_r(
dir_idx(i)) - vel_l(
dir_idx(i)))
1168 else if (hypoelasticity)
then
1170# 505 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1171#if defined(MFC_OpenACC)
1172# 505 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1174# 505 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1175#elif defined(MFC_OpenMP)
1176# 505 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1178# 505 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1186 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p)
1190# 515 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1191#if defined(MFC_OpenACC)
1192# 515 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1194# 515 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1195#elif defined(MFC_OpenMP)
1196# 515 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1198# 515 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1205 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) + (s_m/s_l)*(s_p/s_r) &
1211 if (mhd .and. (.not. relativity))
then
1213# 530 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1215 & eqn_idx%E) = (s_m*(vel_r(norm_dir)*(e_r + pres_r + pres_mag%R) - b%R(norm_dir) &
1216 & *(vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3))) - s_p*(vel_l(norm_dir) &
1217 & *(e_l + pres_l + pres_mag%L) - b%L(norm_dir)*(vel_l(1)*b%L(1) + vel_l(2)*b%L(2) &
1218 & + vel_l(3)*b%L(3))) + s_m*s_p*(e_l - e_r))/(s_m - s_p)
1219# 536 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1220 else if (mhd .and. relativity)
then
1223 & eqn_idx%E) = (s_m*(cm%R(norm_dir) - ga%R*alpha_rho_r(1)*vel_r(norm_dir)) &
1224 & - s_p*(cm%L(norm_dir) - ga%L*alpha_rho_l(1)*vel_l(norm_dir)) + s_m*s_p*(e_l - e_r)) &
1226 else if (bubbles_euler)
then
1228 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r - ptilde_r) - s_p*vel_l(
dir_idx(1) &
1229 & )*(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) &
1230 & *pcorr*(vel_r_rms - vel_l_rms)/2._wp
1231 else if (hypoelasticity)
then
1232 flux_tau_l = 0._wp; flux_tau_r = 0._wp
1234# 549 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1235#if defined(MFC_OpenACC)
1236# 549 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1238# 549 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1239#elif defined(MFC_OpenMP)
1240# 549 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1242# 549 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1249 & eqn_idx%E) = (s_m*(vel_r(
dir_idx(1))*(e_r + pres_r) - flux_tau_r) &
1250 & - s_p*(vel_l(
dir_idx(1))*(e_l + pres_l) - flux_tau_l) + s_m*s_p*(e_l - e_r))/(s_m &
1254 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r) - s_p*vel_l(
dir_idx(1))*(e_l &
1255 & + 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 &
1256 & - vel_l_rms)/2._wp
1260 if (hypoelasticity)
then
1261 do i = 1, eqn_idx%stress%end - eqn_idx%stress%beg + 1
1263 & eqn_idx%stress%beg - 1 + i) = (s_m*(rho_r*vel_r(
dir_idx(1))*tau_e_r(i)) &
1264 & - s_p*(rho_l*vel_l(
dir_idx(1))*tau_e_l(i)) + s_m*s_p*(rho_l*tau_e_l(i) &
1265 & - rho_r*tau_e_r(i)))/(s_m - s_p)
1271# 576 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1272#if defined(MFC_OpenACC)
1273# 576 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1275# 576 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1276#elif defined(MFC_OpenMP)
1277# 576 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1279# 576 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1281 do i = eqn_idx%adv%beg, eqn_idx%adv%end
1282 flux_rsx_vf(j, k, l, i) = (ql_prim_rsx_vf(j, k, l, i) - qr_prim_rsx_vf(j + 1, k, l, &
1283 & i))*s_m*s_p/(s_m - s_p)
1285 & i) - s_p*ql_prim_rsx_vf(j, k, l, i))/(s_m - s_p)
1288 if (bubbles_euler)
then
1290 if (num_fluids > 1)
then
1297# 592 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1298#if defined(MFC_OpenACC)
1299# 592 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1301# 592 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1302#elif defined(MFC_OpenMP)
1303# 592 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1305# 592 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1307 do i = eqn_idx%species%beg, eqn_idx%species%end
1308 y_l = ql_prim_rsx_vf(j, k, l, i)
1309 y_r = qr_prim_rsx_vf(j + 1, k, l, i)
1312 & i) = (s_m*y_r*rho_r*vel_r(
dir_idx(1)) - s_p*y_l*rho_l*vel_l(
dir_idx(1)) &
1313 & + s_m*s_p*(y_l*rho_l - y_r*rho_r))/(s_m - s_p)
1323# 608 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1324#if defined(MFC_OpenACC)
1325# 608 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1327# 608 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1328#elif defined(MFC_OpenMP)
1329# 608 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1331# 608 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1335 & eqn_idx%B%beg + i) = (s_m*(vel_r(1)*b%R(2 + i) - vel_r(2 + i)*bx0) &
1336 & - s_p*(vel_l(1)*b%L(2 + i) - vel_l(2 + i)*bx0) + s_m*s_p*(b%L(2 + i) &
1337 & - b%R(2 + i)))/(s_m - s_p)
1344# 619 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1345#if defined(MFC_OpenACC)
1346# 619 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1348# 619 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1349#elif defined(MFC_OpenMP)
1350# 619 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1352# 619 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1356 & eqn_idx%B%beg + i) = (s_m*(vel_r(
dir_idx(1))*b%R(i + 1) - vel_r(i + 1) &
1357 & *b%R(norm_dir)) - s_p*(vel_l(
dir_idx(1))*b%L(i + 1) - vel_l(i + 1) &
1358 & *b%L(norm_dir)) + s_m*s_p*(b%L(i + 1) - b%R(i + 1)))/(s_m - s_p)
1361 if (hyper_cleaning)
then
1364 & eqn_idx%B%beg + norm_dir - 1) + (s_m*qr_prim_rsx_vf(j + 1, k, l, &
1365 & eqn_idx%psi) - s_p*ql_prim_rsx_vf(j, k, l, eqn_idx%psi))/(s_m - s_p)
1368 & eqn_idx%psi) = (hyper_cleaning_speed**2*(s_m*b%R(norm_dir) &
1369 & - s_p*b%L(norm_dir)) + s_m*s_p*(ql_prim_rsx_vf(j, k, l, &
1370 & eqn_idx%psi) - qr_prim_rsx_vf(j + 1, k, l, eqn_idx%psi)))/(s_m - s_p)
1373 flux_rsx_vf(j, k, l, eqn_idx%B%beg + norm_dir - 1) = 0._wp
1379# 673 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1384# 676 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1385#if defined(MFC_OpenACC)
1386# 676 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1388# 676 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1389#elif defined(MFC_OpenMP)
1390# 676 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1392# 676 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1394# 676 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1397# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1398# 112 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1399# 113 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1400 if (norm_dir == 2)
then
1402# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1404# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1405#if defined(MFC_OpenACC)
1406# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1408# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1409#elif defined(MFC_OpenMP)
1410# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1412# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1414# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1416# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1418# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1420# 123 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1425# 126 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1426#if defined(MFC_OpenACC)
1427# 126 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1429# 126 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1430#elif defined(MFC_OpenMP)
1431# 126 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1433# 126 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1435 do i = 1, eqn_idx%cont%end
1436 alpha_rho_l(i) = ql_prim_rsx_vf(j, k, l, i)
1437 alpha_rho_r(i) = qr_prim_rsx_vf(j, k + 1, l, i)
1440 vel_l_rms = 0._wp; vel_r_rms = 0._wp
1443# 134 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1444#if defined(MFC_OpenACC)
1445# 134 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1447# 134 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1448#elif defined(MFC_OpenMP)
1449# 134 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1451# 134 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1454 vel_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%cont%end + i)
1455 vel_r(i) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%cont%end + i)
1456 vel_l_rms = vel_l_rms + vel_l(i)**2._wp
1457 vel_r_rms = vel_r_rms + vel_r(i)**2._wp
1461# 142 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1462#if defined(MFC_OpenACC)
1463# 142 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1465# 142 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1466#elif defined(MFC_OpenMP)
1467# 142 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1469# 142 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1471 do i = 1, num_fluids
1472 alpha_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%E + i)
1473 alpha_r(i) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%E + i)
1476 pres_l = ql_prim_rsx_vf(j, k, l, eqn_idx%E)
1477 pres_r = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%E)
1483 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
1484 b%R(2) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%B%beg)
1485 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
1486 b%R(3) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%B%beg + 1)
1488 b%L(1) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
1489 b%R(1) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%B%beg)
1490 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
1491 b%R(2) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%B%beg + 1)
1492 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 2)
1493 b%R(3) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%B%beg + 2)
1515# 186 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1516#if defined(MFC_OpenACC)
1517# 186 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1519# 186 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1520#elif defined(MFC_OpenMP)
1521# 186 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1523# 186 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1525 do i = 1, num_fluids
1526 alpha_rho_l(i) = max(0._wp, alpha_rho_l(i))
1527 alpha_l(i) = min(max(0._wp, alpha_l(i)), 1._wp)
1528 alpha_l_sum = alpha_l_sum + alpha_l(i)
1529 alpha_rho_r(i) = max(0._wp, alpha_rho_r(i))
1530 alpha_r(i) = min(max(0._wp, alpha_r(i)), 1._wp)
1531 alpha_r_sum = alpha_r_sum + alpha_r(i)
1534 alpha_l = alpha_l/max(alpha_l_sum,
sgm_eps)
1535 alpha_r = alpha_r/max(alpha_r_sum,
sgm_eps)
1539# 200 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1540#if defined(MFC_OpenACC)
1541# 200 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1543# 200 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1544#elif defined(MFC_OpenMP)
1545# 200 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1547# 200 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1549 do i = 1, num_fluids
1550 rho_l = rho_l + alpha_rho_l(i)
1551 gamma_l = gamma_l + alpha_l(i)*
gammas(i)
1552 pi_inf_l = pi_inf_l + alpha_l(i)*
pi_infs(i)
1553 qv_l = qv_l + alpha_rho_l(i)*
qvs(i)
1555 rho_r = rho_r + alpha_rho_r(i)
1556 gamma_r = gamma_r + alpha_r(i)*
gammas(i)
1557 pi_inf_r = pi_inf_r + alpha_r(i)*
pi_infs(i)
1558 qv_r = qv_r + alpha_rho_r(i)*
qvs(i)
1563# 214 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1564#if defined(MFC_OpenACC)
1565# 214 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1567# 214 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1568#elif defined(MFC_OpenMP)
1569# 214 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1571# 214 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1577 if (
re_size(i) > 0) re_l(i) = 0._wp
1578 if (
re_size(i) > 0) re_r(i) = 0._wp
1581# 222 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1582#if defined(MFC_OpenACC)
1583# 222 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1585# 222 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1586#elif defined(MFC_OpenMP)
1587# 222 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1589# 222 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1596 re_l(i) = 1._wp/max(re_l(i),
sgm_eps)
1597 re_r(i) = 1._wp/max(re_r(i),
sgm_eps)
1603# 234 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1604#if defined(MFC_OpenACC)
1605# 234 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1607# 234 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1608#elif defined(MFC_OpenMP)
1609# 234 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1611# 234 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1613 do i = eqn_idx%species%beg, eqn_idx%species%end
1614 ys_l(i - eqn_idx%species%beg + 1) = ql_prim_rsx_vf(j, k, l, i)
1615 ys_r(i - eqn_idx%species%beg + 1) = qr_prim_rsx_vf(j, k + 1, l, i)
1618 call get_mixture_molecular_weight(ys_l, mw_l)
1619 call get_mixture_molecular_weight(ys_r, mw_r)
1620 xs_l(:) = ys_l(:)*mw_l/molecular_weights(:)
1621 xs_r(:) = ys_r(:)*mw_r/molecular_weights(:)
1623 r_gas_l = gas_constant/mw_l
1624 r_gas_r = gas_constant/mw_r
1625 t_l = pres_l/rho_l/r_gas_l
1626 t_r = pres_r/rho_r/r_gas_r
1628 call get_species_specific_heats_r(t_l, cp_il)
1629 call get_species_specific_heats_r(t_r, cp_ir)
1631 if (chem_params%gamma_method == 1)
then
1633 gamma_il = cp_il/(cp_il - 1.0_wp)
1634 gamma_ir = cp_ir/(cp_ir - 1.0_wp)
1636 gamma_l = sum(xs_l(:)/(gamma_il(:) - 1.0_wp))
1637 gamma_r = sum(xs_r(:)/(gamma_ir(:) - 1.0_wp))
1638 else if (chem_params%gamma_method == 2)
then
1640 call get_mixture_specific_heat_cp_mass(t_l, ys_l, cp_l)
1641 call get_mixture_specific_heat_cp_mass(t_r, ys_r, cp_r)
1642 call get_mixture_specific_heat_cv_mass(t_l, ys_l, cv_l)
1643 call get_mixture_specific_heat_cv_mass(t_r, ys_r, cv_r)
1646 gamma_l = 1.0_wp/(gamm_l - 1.0_wp)
1648 gamma_r = 1.0_wp/(gamm_r - 1.0_wp)
1651 call get_mixture_energy_mass(t_l, ys_l, e_l)
1652 call get_mixture_energy_mass(t_r, ys_r, e_r)
1654 e_l = rho_l*e_l + 5.e-1*rho_l*vel_l_rms
1655 e_r = rho_r*e_r + 5.e-1*rho_r*vel_r_rms
1656 h_l = (e_l + pres_l)/rho_l
1657 h_r = (e_r + pres_r)/rho_r
1658 else if (mhd .and. relativity)
then
1659 ga%L = 1._wp/sqrt(1._wp - vel_l_rms)
1660 ga%R = 1._wp/sqrt(1._wp - vel_r_rms)
1661# 284 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1662 vdotb%L = vel_l(1)*b%L(1) + vel_l(2)*b%L(2) + vel_l(3)*b%L(3)
1663 vdotb%R = vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3)
1665 b4%L(1:3) = b%L(1:3)/ga%L + ga%L*vel_l(1:3)*vdotb%L
1666 b4%R(1:3) = b%R(1:3)/ga%R + ga%R*vel_r(1:3)*vdotb%R
1667 b2%L = b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp
1668 b2%R = b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp
1669# 292 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1671 pres_mag%L = 0.5_wp*(b2%L/ga%L**2._wp + vdotb%L**2._wp)
1672 pres_mag%R = 0.5_wp*(b2%R/ga%R**2._wp + vdotb%R**2._wp)
1675 h_l = 1._wp + (gamma_l + 1)*pres_l/rho_l
1676 h_r = 1._wp + (gamma_r + 1)*pres_r/rho_r
1677# 300 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1678 cm%L(1:3) = (rho_l*h_l*ga%L**2 + b2%L)*vel_l(1:3) - vdotb%L*b%L(1:3)
1679 cm%R(1:3) = (rho_r*h_r*ga%R**2 + b2%R)*vel_r(1:3) - vdotb%R*b%R(1:3)
1680# 303 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1682 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
1683 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
1684 else if (mhd .and. .not. relativity)
then
1685# 308 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1686 pres_mag%L = 0.5_wp*(b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp)
1687 pres_mag%R = 0.5_wp*(b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp)
1688# 311 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1689 e_l = gamma_l*pres_l + pi_inf_l + 0.5_wp*rho_l*vel_l_rms + qv_l + pres_mag%L
1691 e_r = gamma_r*pres_r + pi_inf_r + 0.5_wp*rho_r*vel_r_rms + qv_r + pres_mag%R
1692 h_l = (e_l + pres_l - pres_mag%L)/rho_l
1694 h_r = (e_r + pres_r - pres_mag%R)/rho_r
1696 e_l = gamma_l*pres_l + pi_inf_l + 5.e-1*rho_l*vel_l_rms + qv_l
1697 e_r = gamma_r*pres_r + pi_inf_r + 5.e-1*rho_r*vel_r_rms + qv_r
1698 h_l = (e_l + pres_l)/rho_l
1699 h_r = (e_r + pres_r)/rho_r
1703 if (hypoelasticity)
then
1704 g_l = 0._wp; g_r = 0._wp
1707# 328 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1708#if defined(MFC_OpenACC)
1709# 328 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1711# 328 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1712#elif defined(MFC_OpenMP)
1713# 328 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1715# 328 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1717 do i = 1, num_fluids
1718 g_l = g_l + alpha_l(i)*
gs_rs(i)
1719 g_r = g_r + alpha_r(i)*
gs_rs(i)
1722 if (cont_damage)
then
1723 g_l = g_l*max((1._wp - ql_prim_rsx_vf(j, k, l, eqn_idx%damage)), 0._wp)
1724 g_r = g_r*max((1._wp - qr_prim_rsx_vf(j, k, l, eqn_idx%damage)), 0._wp)
1728# 339 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1729#if defined(MFC_OpenACC)
1730# 339 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1732# 339 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1733#elif defined(MFC_OpenMP)
1734# 339 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1736# 339 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1738 do i = 1, eqn_idx%stress%end - eqn_idx%stress%beg + 1
1739 tau_e_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%stress%beg - 1 + i)
1740 tau_e_r(i) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%stress%beg - 1 + i)
1742 if ((g_l > 1000) .and. (g_r > 1000))
then
1743 e_l = e_l + (tau_e_l(i)*tau_e_l(i))/(4._wp*g_l)
1744 e_r = e_r + (tau_e_r(i)*tau_e_r(i))/(4._wp*g_r)
1746 if (any(eqn_idx%stress%beg - 1 + i == shear_indices))
then
1747 e_l = e_l + (tau_e_l(i)*tau_e_l(i))/(4._wp*g_l)
1748 e_r = e_r + (tau_e_r(i)*tau_e_r(i))/(4._wp*g_r)
1755# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1756 rho_avg = sqrt(rho_l*rho_r)
1757# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1759# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1761# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1763# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1765# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1766#if defined(MFC_OpenACC)
1767# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1769# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1770#elif defined(MFC_OpenMP)
1771# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1773# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1775# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1777# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1778 vel_avg_rms = vel_avg_rms + (sqrt(rho_l)*vel_l(i) + sqrt(rho_r)*vel_r(i))**2._wp/(sqrt(rho_l) + sqrt(rho_r))**2._wp
1779# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1781# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1783# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1784 h_avg = (sqrt(rho_l)*h_l + sqrt(rho_r)*h_r)/(sqrt(rho_l) + sqrt(rho_r))
1785# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1787# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1788 gamma_avg = (sqrt(rho_l)*gamma_l + sqrt(rho_r)*gamma_r)/(sqrt(rho_l) + sqrt(rho_r))
1789# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1791# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1792 vel_avg_rms = (sqrt(rho_l)*vel_l(1) + sqrt(rho_r)*vel_r(1))**2._wp/(sqrt(rho_l) + sqrt(rho_r))**2._wp
1793# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1795# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1796 qv_avg = (sqrt(rho_l)*qv_l + sqrt(rho_r)*qv_r)/(sqrt(rho_l) + sqrt(rho_r))
1797# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1799# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1801# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1803# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1804 call get_species_enthalpies_rt(t_l, h_il)
1805# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1806 call get_species_enthalpies_rt(t_r, h_ir)
1807# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1808 h_il = h_il*gas_constant/molecular_weights*t_l
1809# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1810 h_ir = h_ir*gas_constant/molecular_weights*t_r
1811# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1812 call get_species_specific_heats_r(t_l, cp_il)
1813# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1814 call get_species_specific_heats_r(t_r, cp_ir)
1815# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1817# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1818 h_avg_2 = (sqrt(rho_l)*h_il + sqrt(rho_r)*h_ir)/(sqrt(rho_l) + sqrt(rho_r))
1819# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1820 yi_avg = (sqrt(rho_l)*ys_l + sqrt(rho_r)*ys_r)/(sqrt(rho_l) + sqrt(rho_r))
1821# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1822 t_avg = (sqrt(rho_l)*t_l + sqrt(rho_r)*t_r)/(sqrt(rho_l) + sqrt(rho_r))
1823# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1824 if (abs(t_l - t_r) < eps)
then
1825# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1827# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1828 cp_avg = sum(yi_avg(:)*(0.5_wp*cp_il(:) + 0.5_wp*cp_ir(:))*gas_constant/molecular_weights(:))
1829# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1830 cv_avg = sum(yi_avg(:)*((0.5_wp*cp_il(:) + 0.5_wp*cp_ir(:))*gas_constant/molecular_weights(:) &
1831# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1832 & - gas_constant/molecular_weights(:)))
1833# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1835# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1837# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1838 cp_avg = sum(yi_avg(:)*(h_ir(:) - h_il(:))/(t_r - t_l))
1839# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1840 cv_avg = sum(yi_avg(:)*((h_ir(:) - h_il(:))/(t_r - t_l) - gas_constant/molecular_weights(:)))
1841# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1843# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1844 gamma_avg = cp_avg/cv_avg
1845# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1847# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1848 phi_avg(:) = (gamma_avg - 1._wp)*(vel_avg_rms/2.0_wp - h_avg_2(:)) + gamma_avg*gas_constant/molecular_weights(:)*t_avg
1849# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1850 c_sum_yi_phi = sum(yi_avg(:)*phi_avg(:))
1851# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1853# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1855# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1857# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1859# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1860 rho_avg = 5.e-1_wp*(rho_l + rho_r)
1861# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1863# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1865# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1866#if defined(MFC_OpenACC)
1867# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1869# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1870#elif defined(MFC_OpenMP)
1871# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1873# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1875# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1877# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1878 vel_avg_rms = vel_avg_rms + (5.e-1_wp*(vel_l(i) + vel_r(i)))**2._wp
1879# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1881# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1883# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1884 h_avg = 5.e-1_wp*(h_l + h_r)
1885# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1886 gamma_avg = 5.e-1_wp*(gamma_l + gamma_r)
1887# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1888 qv_avg = 5.e-1_wp*(qv_l + qv_r)
1889# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1902 & c_sum_yi_phi, c_avg, qv_avg)
1914# 379 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1915#if defined(MFC_OpenACC)
1916# 379 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1918# 379 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1919#elif defined(MFC_OpenMP)
1920# 379 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1922# 379 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1925 re_avg_rsx_vf(j, k, l, i) = 2._wp/(1._wp/re_l(i) + 1._wp/re_r(i))
1933 s_l = min(vel_l(
dir_idx(1)) - c_fast%L, vel_r(
dir_idx(1)) - c_fast%R)
1934 s_r = max(vel_r(
dir_idx(1)) + c_fast%R, vel_l(
dir_idx(1)) + c_fast%L)
1935 else if (hypoelasticity)
then
1937 s_l = min(vel_l(
dir_idx(1)) - sqrt(c_l*c_l + (((4._wp*g_l)/3._wp) + tau_e_l(
dir_idx_tau(1))) &
1939 & vel_r(
dir_idx(1)) - sqrt(c_r*c_r + (((4._wp*g_r)/3._wp) + tau_e_r(
dir_idx_tau(1))) &
1941 s_r = max(vel_r(
dir_idx(1)) + sqrt(c_r*c_r + (((4._wp*g_r)/3._wp) + tau_e_r(
dir_idx_tau(1))) &
1943 & vel_l(
dir_idx(1)) + sqrt(c_l*c_l + (((4._wp*g_l)/3._wp) + tau_e_l(
dir_idx_tau(1))) &
1945 else if (hyperelasticity)
then
1946 s_l = min(vel_l(
dir_idx(1)) - sqrt(c_l*c_l + (4._wp*g_l/3._wp)/rho_l), &
1947 & vel_r(
dir_idx(1)) - sqrt(c_r*c_r + (4._wp*g_r/3._wp)/rho_r))
1948 s_r = max(vel_r(
dir_idx(1)) + sqrt(c_r*c_r + (4._wp*g_r/3._wp)/rho_r), &
1949 & vel_l(
dir_idx(1)) + sqrt(c_l*c_l + (4._wp*g_l/3._wp)/rho_l))
1955 if (hyper_cleaning)
then
1957 s_l = min(s_l, -hyper_cleaning_speed)
1958 s_r = max(s_r, hyper_cleaning_speed)
1961 s_s = (pres_r - pres_l + rho_l*vel_l(
dir_idx(1))*(s_l - vel_l(
dir_idx(1))) &
1963 & - rho_r*(s_r - vel_r(
dir_idx(1))))
1965 pres_sl = 5.e-1_wp*(pres_l + pres_r + rho_avg*c_avg*(vel_l(
dir_idx(1)) - vel_r(
dir_idx(1))))
1971 & sqrt(1._wp + ((5.e-1_wp + gamma_l)/(1._wp + gamma_l))*(pres_sl/pres_l - 1._wp) &
1972 & *pres_l/((pres_l + pi_inf_l/(1._wp + gamma_l)))))
1974 & sqrt(1._wp + ((5.e-1_wp + gamma_r)/(1._wp + gamma_r))*(pres_sr/pres_r - 1._wp) &
1975 & *pres_r/((pres_r + pi_inf_r/(1._wp + gamma_r)))))
1977 s_l = vel_l(
dir_idx(1)) - c_l*ms_l
1978 s_r = vel_r(
dir_idx(1)) + c_r*ms_r
1980 s_s = 5.e-1_wp*((vel_l(
dir_idx(1)) + vel_r(
dir_idx(1))) + (pres_l - pres_r)/(rho_avg*c_avg))
1983 s_m = min(0._wp, s_l); s_p = max(0._wp, s_r)
1985 xi_m = (5.e-1_wp + sign(5.e-1_wp, s_l)) + (5.e-1_wp - sign(5.e-1_wp, s_l))*(5.e-1_wp + sign(5.e-1_wp, &
1987 xi_p = (5.e-1_wp - sign(5.e-1_wp, s_r)) + (5.e-1_wp - sign(5.e-1_wp, s_l))*(5.e-1_wp + sign(5.e-1_wp, &
1991 if (low_mach == 1)
then
1993# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1994 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
1995# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1997# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1999# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2000 if (low_mach == 1)
then
2001# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2002 pcorr = -(s_p - s_m)*(rho_l + rho_r)/8._wp*(zcoef - 1._wp)
2003# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2005# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2007# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2008 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
2009# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2011# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2013# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2014 if (low_mach == 1)
then
2015# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2017# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2018 & /(rho_r*(s_r - vel_r(
dir_idx(1))) - rho_l*(s_l - vel_l(
dir_idx(1))))*(zcoef - 1._wp)
2019# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2020 else if (low_mach == 2)
then
2021# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2023# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2025# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2027# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2029# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2031# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2038 if (.not. relativity)
then
2040# 455 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2041#if defined(MFC_OpenACC)
2042# 455 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2044# 455 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2045#elif defined(MFC_OpenMP)
2046# 455 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2048# 455 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2050 do i = 1, eqn_idx%cont%end
2052 & i) = (s_m*alpha_rho_r(i)*vel_r(norm_dir) - s_p*alpha_rho_l(i)*vel_l(norm_dir) &
2053 & + s_m*s_p*(alpha_rho_l(i) - alpha_rho_r(i)))/(s_m - s_p)
2055 else if (relativity)
then
2057# 462 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2058#if defined(MFC_OpenACC)
2059# 462 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2061# 462 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2062#elif defined(MFC_OpenMP)
2063# 462 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2065# 462 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2067 do i = 1, eqn_idx%cont%end
2069 & i) = (s_m*ga%R*alpha_rho_r(i)*vel_r(norm_dir) - s_p*ga%L*alpha_rho_l(i) &
2070 & *vel_l(norm_dir) + s_m*s_p*(ga%L*alpha_rho_l(i) - ga%R*alpha_rho_r(i)))/(s_m &
2076 if (mhd .and. (.not. relativity))
then
2078# 473 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2079#if defined(MFC_OpenACC)
2080# 473 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2082# 473 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2083#elif defined(MFC_OpenMP)
2084# 473 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2086# 473 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2092 & eqn_idx%cont%end + i) = (s_m*(rho_r*vel_r(i)*vel_r(norm_dir) - b%R(i) &
2093 & *b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(rho_l*vel_l(i) &
2094 & *vel_l(norm_dir) - b%L(i)*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L)) &
2095 & + s_m*s_p*(rho_l*vel_l(i) - rho_r*vel_r(i)))/(s_m - s_p)
2097 else if (mhd .and. relativity)
then
2099# 484 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2100#if defined(MFC_OpenACC)
2101# 484 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2103# 484 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2104#elif defined(MFC_OpenMP)
2105# 484 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2107# 484 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2113 & eqn_idx%cont%end + i) = (s_m*(cm%R(i)*vel_r(norm_dir) - b4%R(i) &
2114 & /ga%R*b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(cm%L(i) &
2115 & *vel_l(norm_dir) - b4%L(i)/ga%L*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L) &
2116 & ) + s_m*s_p*(cm%L(i) - cm%R(i)))/(s_m - s_p)
2118 else if (bubbles_euler)
then
2120# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2121#if defined(MFC_OpenACC)
2122# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2124# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2125#elif defined(MFC_OpenMP)
2126# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2128# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2135 & + s_m*s_p*(rho_l*vel_l(
dir_idx(i)) - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) &
2136 & + (s_m/s_l)*(s_p/s_r)*pcorr*(vel_r(
dir_idx(i)) - vel_l(
dir_idx(i)))
2138 else if (hypoelasticity)
then
2140# 505 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2141#if defined(MFC_OpenACC)
2142# 505 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2144# 505 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2145#elif defined(MFC_OpenMP)
2146# 505 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2148# 505 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2156 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p)
2160# 515 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2161#if defined(MFC_OpenACC)
2162# 515 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2164# 515 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2165#elif defined(MFC_OpenMP)
2166# 515 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2168# 515 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2175 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) + (s_m/s_l)*(s_p/s_r) &
2181 if (mhd .and. (.not. relativity))
then
2183# 530 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2185 & eqn_idx%E) = (s_m*(vel_r(norm_dir)*(e_r + pres_r + pres_mag%R) - b%R(norm_dir) &
2186 & *(vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3))) - s_p*(vel_l(norm_dir) &
2187 & *(e_l + pres_l + pres_mag%L) - b%L(norm_dir)*(vel_l(1)*b%L(1) + vel_l(2)*b%L(2) &
2188 & + vel_l(3)*b%L(3))) + s_m*s_p*(e_l - e_r))/(s_m - s_p)
2189# 536 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2190 else if (mhd .and. relativity)
then
2193 & eqn_idx%E) = (s_m*(cm%R(norm_dir) - ga%R*alpha_rho_r(1)*vel_r(norm_dir)) &
2194 & - s_p*(cm%L(norm_dir) - ga%L*alpha_rho_l(1)*vel_l(norm_dir)) + s_m*s_p*(e_l - e_r)) &
2196 else if (bubbles_euler)
then
2198 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r - ptilde_r) - s_p*vel_l(
dir_idx(1) &
2199 & )*(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) &
2200 & *pcorr*(vel_r_rms - vel_l_rms)/2._wp
2201 else if (hypoelasticity)
then
2202 flux_tau_l = 0._wp; flux_tau_r = 0._wp
2204# 549 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2205#if defined(MFC_OpenACC)
2206# 549 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2208# 549 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2209#elif defined(MFC_OpenMP)
2210# 549 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2212# 549 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2219 & eqn_idx%E) = (s_m*(vel_r(
dir_idx(1))*(e_r + pres_r) - flux_tau_r) &
2220 & - s_p*(vel_l(
dir_idx(1))*(e_l + pres_l) - flux_tau_l) + s_m*s_p*(e_l - e_r))/(s_m &
2224 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r) - s_p*vel_l(
dir_idx(1))*(e_l &
2225 & + 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 &
2226 & - vel_l_rms)/2._wp
2230 if (hypoelasticity)
then
2231 do i = 1, eqn_idx%stress%end - eqn_idx%stress%beg + 1
2233 & eqn_idx%stress%beg - 1 + i) = (s_m*(rho_r*vel_r(
dir_idx(1))*tau_e_r(i)) &
2234 & - s_p*(rho_l*vel_l(
dir_idx(1))*tau_e_l(i)) + s_m*s_p*(rho_l*tau_e_l(i) &
2235 & - rho_r*tau_e_r(i)))/(s_m - s_p)
2241# 576 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2242#if defined(MFC_OpenACC)
2243# 576 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2245# 576 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2246#elif defined(MFC_OpenMP)
2247# 576 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2249# 576 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2251 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2252 flux_rsx_vf(j, k, l, i) = (ql_prim_rsx_vf(j, k, l, i) - qr_prim_rsx_vf(j, k + 1, l, &
2253 & i))*s_m*s_p/(s_m - s_p)
2255 & i) - s_p*ql_prim_rsx_vf(j, k, l, i))/(s_m - s_p)
2258 if (bubbles_euler)
then
2260 if (num_fluids > 1)
then
2267# 592 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2268#if defined(MFC_OpenACC)
2269# 592 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2271# 592 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2272#elif defined(MFC_OpenMP)
2273# 592 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2275# 592 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2277 do i = eqn_idx%species%beg, eqn_idx%species%end
2278 y_l = ql_prim_rsx_vf(j, k, l, i)
2279 y_r = qr_prim_rsx_vf(j, k + 1, l, i)
2282 & i) = (s_m*y_r*rho_r*vel_r(
dir_idx(1)) - s_p*y_l*rho_l*vel_l(
dir_idx(1)) &
2283 & + s_m*s_p*(y_l*rho_l - y_r*rho_r))/(s_m - s_p)
2293# 608 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2294#if defined(MFC_OpenACC)
2295# 608 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2297# 608 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2298#elif defined(MFC_OpenMP)
2299# 608 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2301# 608 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2305 & eqn_idx%B%beg + i) = (s_m*(vel_r(1)*b%R(2 + i) - vel_r(2 + i)*bx0) &
2306 & - s_p*(vel_l(1)*b%L(2 + i) - vel_l(2 + i)*bx0) + s_m*s_p*(b%L(2 + i) &
2307 & - b%R(2 + i)))/(s_m - s_p)
2314# 619 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2315#if defined(MFC_OpenACC)
2316# 619 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2318# 619 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2319#elif defined(MFC_OpenMP)
2320# 619 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2322# 619 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2326 & eqn_idx%B%beg + i) = (s_m*(vel_r(
dir_idx(1))*b%R(i + 1) - vel_r(i + 1) &
2327 & *b%R(norm_dir)) - s_p*(vel_l(
dir_idx(1))*b%L(i + 1) - vel_l(i + 1) &
2328 & *b%L(norm_dir)) + s_m*s_p*(b%L(i + 1) - b%R(i + 1)))/(s_m - s_p)
2331 if (hyper_cleaning)
then
2334 & eqn_idx%B%beg + norm_dir - 1) + (s_m*qr_prim_rsx_vf(j, k + 1, l, &
2335 & eqn_idx%psi) - s_p*ql_prim_rsx_vf(j, k, l, eqn_idx%psi))/(s_m - s_p)
2338 & eqn_idx%psi) = (hyper_cleaning_speed**2*(s_m*b%R(norm_dir) &
2339 & - s_p*b%L(norm_dir)) + s_m*s_p*(ql_prim_rsx_vf(j, k, l, &
2340 & eqn_idx%psi) - qr_prim_rsx_vf(j, k + 1, l, eqn_idx%psi)))/(s_m - s_p)
2343 flux_rsx_vf(j, k, l, eqn_idx%B%beg + norm_dir - 1) = 0._wp
2349# 646 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2353# 648 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2354#if defined(MFC_OpenACC)
2355# 648 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2357# 648 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2358#elif defined(MFC_OpenMP)
2359# 648 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2361# 648 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2368 & eqn_idx%cont%end + 2) - (s_m*pres_r - s_p*pres_l)/(s_m - s_p)
2371# 656 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2372#if defined(MFC_OpenACC)
2373# 656 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2375# 656 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2376#elif defined(MFC_OpenMP)
2377# 656 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2379# 656 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2381 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2386 if (cyl_coord .and. hypoelasticity)
then
2389 & eqn_idx%cont%end + 2) + (s_m*tau_e_r(4) - s_p*tau_e_l(4))/(s_m - s_p)
2392# 667 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2393#if defined(MFC_OpenACC)
2394# 667 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2396# 667 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2397#elif defined(MFC_OpenMP)
2398# 667 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2400# 667 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2402 do i = eqn_idx%stress%beg, eqn_idx%stress%end
2406# 673 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2411# 676 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2412#if defined(MFC_OpenACC)
2413# 676 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2415# 676 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2416#elif defined(MFC_OpenMP)
2417# 676 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2419# 676 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2421# 676 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2424# 111 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2425# 112 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2426# 113 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2427 if (norm_dir == 3)
then
2429# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2431# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2432#if defined(MFC_OpenACC)
2433# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2435# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2436#elif defined(MFC_OpenMP)
2437# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2439# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2441# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2443# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2445# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2447# 123 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2452# 126 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2453#if defined(MFC_OpenACC)
2454# 126 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2456# 126 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2457#elif defined(MFC_OpenMP)
2458# 126 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2460# 126 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2462 do i = 1, eqn_idx%cont%end
2463 alpha_rho_l(i) = ql_prim_rsx_vf(j, k, l, i)
2464 alpha_rho_r(i) = qr_prim_rsx_vf(j, k, l + 1, i)
2467 vel_l_rms = 0._wp; vel_r_rms = 0._wp
2470# 134 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2471#if defined(MFC_OpenACC)
2472# 134 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2474# 134 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2475#elif defined(MFC_OpenMP)
2476# 134 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2478# 134 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2481 vel_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%cont%end + i)
2482 vel_r(i) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%cont%end + i)
2483 vel_l_rms = vel_l_rms + vel_l(i)**2._wp
2484 vel_r_rms = vel_r_rms + vel_r(i)**2._wp
2488# 142 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2489#if defined(MFC_OpenACC)
2490# 142 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2492# 142 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2493#elif defined(MFC_OpenMP)
2494# 142 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2496# 142 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2498 do i = 1, num_fluids
2499 alpha_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%E + i)
2500 alpha_r(i) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%E + i)
2503 pres_l = ql_prim_rsx_vf(j, k, l, eqn_idx%E)
2504 pres_r = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%E)
2510 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
2511 b%R(2) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%B%beg)
2512 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
2513 b%R(3) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%B%beg + 1)
2515 b%L(1) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
2516 b%R(1) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%B%beg)
2517 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
2518 b%R(2) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%B%beg + 1)
2519 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 2)
2520 b%R(3) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%B%beg + 2)
2542# 186 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2543#if defined(MFC_OpenACC)
2544# 186 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2546# 186 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2547#elif defined(MFC_OpenMP)
2548# 186 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2550# 186 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2552 do i = 1, num_fluids
2553 alpha_rho_l(i) = max(0._wp, alpha_rho_l(i))
2554 alpha_l(i) = min(max(0._wp, alpha_l(i)), 1._wp)
2555 alpha_l_sum = alpha_l_sum + alpha_l(i)
2556 alpha_rho_r(i) = max(0._wp, alpha_rho_r(i))
2557 alpha_r(i) = min(max(0._wp, alpha_r(i)), 1._wp)
2558 alpha_r_sum = alpha_r_sum + alpha_r(i)
2561 alpha_l = alpha_l/max(alpha_l_sum,
sgm_eps)
2562 alpha_r = alpha_r/max(alpha_r_sum,
sgm_eps)
2566# 200 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2567#if defined(MFC_OpenACC)
2568# 200 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2570# 200 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2571#elif defined(MFC_OpenMP)
2572# 200 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2574# 200 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2576 do i = 1, num_fluids
2577 rho_l = rho_l + alpha_rho_l(i)
2578 gamma_l = gamma_l + alpha_l(i)*
gammas(i)
2579 pi_inf_l = pi_inf_l + alpha_l(i)*
pi_infs(i)
2580 qv_l = qv_l + alpha_rho_l(i)*
qvs(i)
2582 rho_r = rho_r + alpha_rho_r(i)
2583 gamma_r = gamma_r + alpha_r(i)*
gammas(i)
2584 pi_inf_r = pi_inf_r + alpha_r(i)*
pi_infs(i)
2585 qv_r = qv_r + alpha_rho_r(i)*
qvs(i)
2590# 214 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2591#if defined(MFC_OpenACC)
2592# 214 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2594# 214 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2595#elif defined(MFC_OpenMP)
2596# 214 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2598# 214 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2604 if (
re_size(i) > 0) re_l(i) = 0._wp
2605 if (
re_size(i) > 0) re_r(i) = 0._wp
2608# 222 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2609#if defined(MFC_OpenACC)
2610# 222 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2612# 222 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2613#elif defined(MFC_OpenMP)
2614# 222 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2616# 222 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2623 re_l(i) = 1._wp/max(re_l(i),
sgm_eps)
2624 re_r(i) = 1._wp/max(re_r(i),
sgm_eps)
2630# 234 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2631#if defined(MFC_OpenACC)
2632# 234 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2634# 234 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2635#elif defined(MFC_OpenMP)
2636# 234 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2638# 234 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2640 do i = eqn_idx%species%beg, eqn_idx%species%end
2641 ys_l(i - eqn_idx%species%beg + 1) = ql_prim_rsx_vf(j, k, l, i)
2642 ys_r(i - eqn_idx%species%beg + 1) = qr_prim_rsx_vf(j, k, l + 1, i)
2645 call get_mixture_molecular_weight(ys_l, mw_l)
2646 call get_mixture_molecular_weight(ys_r, mw_r)
2647 xs_l(:) = ys_l(:)*mw_l/molecular_weights(:)
2648 xs_r(:) = ys_r(:)*mw_r/molecular_weights(:)
2650 r_gas_l = gas_constant/mw_l
2651 r_gas_r = gas_constant/mw_r
2652 t_l = pres_l/rho_l/r_gas_l
2653 t_r = pres_r/rho_r/r_gas_r
2655 call get_species_specific_heats_r(t_l, cp_il)
2656 call get_species_specific_heats_r(t_r, cp_ir)
2658 if (chem_params%gamma_method == 1)
then
2660 gamma_il = cp_il/(cp_il - 1.0_wp)
2661 gamma_ir = cp_ir/(cp_ir - 1.0_wp)
2663 gamma_l = sum(xs_l(:)/(gamma_il(:) - 1.0_wp))
2664 gamma_r = sum(xs_r(:)/(gamma_ir(:) - 1.0_wp))
2665 else if (chem_params%gamma_method == 2)
then
2667 call get_mixture_specific_heat_cp_mass(t_l, ys_l, cp_l)
2668 call get_mixture_specific_heat_cp_mass(t_r, ys_r, cp_r)
2669 call get_mixture_specific_heat_cv_mass(t_l, ys_l, cv_l)
2670 call get_mixture_specific_heat_cv_mass(t_r, ys_r, cv_r)
2673 gamma_l = 1.0_wp/(gamm_l - 1.0_wp)
2675 gamma_r = 1.0_wp/(gamm_r - 1.0_wp)
2678 call get_mixture_energy_mass(t_l, ys_l, e_l)
2679 call get_mixture_energy_mass(t_r, ys_r, e_r)
2681 e_l = rho_l*e_l + 5.e-1*rho_l*vel_l_rms
2682 e_r = rho_r*e_r + 5.e-1*rho_r*vel_r_rms
2683 h_l = (e_l + pres_l)/rho_l
2684 h_r = (e_r + pres_r)/rho_r
2685 else if (mhd .and. relativity)
then
2686 ga%L = 1._wp/sqrt(1._wp - vel_l_rms)
2687 ga%R = 1._wp/sqrt(1._wp - vel_r_rms)
2688# 284 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2689 vdotb%L = vel_l(1)*b%L(1) + vel_l(2)*b%L(2) + vel_l(3)*b%L(3)
2690 vdotb%R = vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3)
2692 b4%L(1:3) = b%L(1:3)/ga%L + ga%L*vel_l(1:3)*vdotb%L
2693 b4%R(1:3) = b%R(1:3)/ga%R + ga%R*vel_r(1:3)*vdotb%R
2694 b2%L = b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp
2695 b2%R = b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp
2696# 292 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2698 pres_mag%L = 0.5_wp*(b2%L/ga%L**2._wp + vdotb%L**2._wp)
2699 pres_mag%R = 0.5_wp*(b2%R/ga%R**2._wp + vdotb%R**2._wp)
2702 h_l = 1._wp + (gamma_l + 1)*pres_l/rho_l
2703 h_r = 1._wp + (gamma_r + 1)*pres_r/rho_r
2704# 300 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2705 cm%L(1:3) = (rho_l*h_l*ga%L**2 + b2%L)*vel_l(1:3) - vdotb%L*b%L(1:3)
2706 cm%R(1:3) = (rho_r*h_r*ga%R**2 + b2%R)*vel_r(1:3) - vdotb%R*b%R(1:3)
2707# 303 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2709 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
2710 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
2711 else if (mhd .and. .not. relativity)
then
2712# 308 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2713 pres_mag%L = 0.5_wp*(b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp)
2714 pres_mag%R = 0.5_wp*(b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp)
2715# 311 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2716 e_l = gamma_l*pres_l + pi_inf_l + 0.5_wp*rho_l*vel_l_rms + qv_l + pres_mag%L
2718 e_r = gamma_r*pres_r + pi_inf_r + 0.5_wp*rho_r*vel_r_rms + qv_r + pres_mag%R
2719 h_l = (e_l + pres_l - pres_mag%L)/rho_l
2721 h_r = (e_r + pres_r - pres_mag%R)/rho_r
2723 e_l = gamma_l*pres_l + pi_inf_l + 5.e-1*rho_l*vel_l_rms + qv_l
2724 e_r = gamma_r*pres_r + pi_inf_r + 5.e-1*rho_r*vel_r_rms + qv_r
2725 h_l = (e_l + pres_l)/rho_l
2726 h_r = (e_r + pres_r)/rho_r
2730 if (hypoelasticity)
then
2731 g_l = 0._wp; g_r = 0._wp
2734# 328 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2735#if defined(MFC_OpenACC)
2736# 328 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2738# 328 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2739#elif defined(MFC_OpenMP)
2740# 328 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2742# 328 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2744 do i = 1, num_fluids
2745 g_l = g_l + alpha_l(i)*
gs_rs(i)
2746 g_r = g_r + alpha_r(i)*
gs_rs(i)
2749 if (cont_damage)
then
2750 g_l = g_l*max((1._wp - ql_prim_rsx_vf(j, k, l, eqn_idx%damage)), 0._wp)
2751 g_r = g_r*max((1._wp - qr_prim_rsx_vf(j, k, l, eqn_idx%damage)), 0._wp)
2755# 339 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2756#if defined(MFC_OpenACC)
2757# 339 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2759# 339 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2760#elif defined(MFC_OpenMP)
2761# 339 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2763# 339 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2765 do i = 1, eqn_idx%stress%end - eqn_idx%stress%beg + 1
2766 tau_e_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%stress%beg - 1 + i)
2767 tau_e_r(i) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%stress%beg - 1 + i)
2769 if ((g_l > 1000) .and. (g_r > 1000))
then
2770 e_l = e_l + (tau_e_l(i)*tau_e_l(i))/(4._wp*g_l)
2771 e_r = e_r + (tau_e_r(i)*tau_e_r(i))/(4._wp*g_r)
2773 if (any(eqn_idx%stress%beg - 1 + i == shear_indices))
then
2774 e_l = e_l + (tau_e_l(i)*tau_e_l(i))/(4._wp*g_l)
2775 e_r = e_r + (tau_e_r(i)*tau_e_r(i))/(4._wp*g_r)
2782# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2783 rho_avg = sqrt(rho_l*rho_r)
2784# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2786# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2788# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2790# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2792# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2793#if defined(MFC_OpenACC)
2794# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2796# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2797#elif defined(MFC_OpenMP)
2798# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2800# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2802# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2804# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2805 vel_avg_rms = vel_avg_rms + (sqrt(rho_l)*vel_l(i) + sqrt(rho_r)*vel_r(i))**2._wp/(sqrt(rho_l) + sqrt(rho_r))**2._wp
2806# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2808# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2810# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2811 h_avg = (sqrt(rho_l)*h_l + sqrt(rho_r)*h_r)/(sqrt(rho_l) + sqrt(rho_r))
2812# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2814# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2815 gamma_avg = (sqrt(rho_l)*gamma_l + sqrt(rho_r)*gamma_r)/(sqrt(rho_l) + sqrt(rho_r))
2816# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2818# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2819 vel_avg_rms = (sqrt(rho_l)*vel_l(1) + sqrt(rho_r)*vel_r(1))**2._wp/(sqrt(rho_l) + sqrt(rho_r))**2._wp
2820# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2822# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2823 qv_avg = (sqrt(rho_l)*qv_l + sqrt(rho_r)*qv_r)/(sqrt(rho_l) + sqrt(rho_r))
2824# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2826# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2828# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2830# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2831 call get_species_enthalpies_rt(t_l, h_il)
2832# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2833 call get_species_enthalpies_rt(t_r, h_ir)
2834# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2835 h_il = h_il*gas_constant/molecular_weights*t_l
2836# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2837 h_ir = h_ir*gas_constant/molecular_weights*t_r
2838# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2839 call get_species_specific_heats_r(t_l, cp_il)
2840# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2841 call get_species_specific_heats_r(t_r, cp_ir)
2842# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2844# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2845 h_avg_2 = (sqrt(rho_l)*h_il + sqrt(rho_r)*h_ir)/(sqrt(rho_l) + sqrt(rho_r))
2846# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2847 yi_avg = (sqrt(rho_l)*ys_l + sqrt(rho_r)*ys_r)/(sqrt(rho_l) + sqrt(rho_r))
2848# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2849 t_avg = (sqrt(rho_l)*t_l + sqrt(rho_r)*t_r)/(sqrt(rho_l) + sqrt(rho_r))
2850# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2851 if (abs(t_l - t_r) < eps)
then
2852# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2854# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2855 cp_avg = sum(yi_avg(:)*(0.5_wp*cp_il(:) + 0.5_wp*cp_ir(:))*gas_constant/molecular_weights(:))
2856# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2857 cv_avg = sum(yi_avg(:)*((0.5_wp*cp_il(:) + 0.5_wp*cp_ir(:))*gas_constant/molecular_weights(:) &
2858# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2859 & - gas_constant/molecular_weights(:)))
2860# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2862# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2864# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2865 cp_avg = sum(yi_avg(:)*(h_ir(:) - h_il(:))/(t_r - t_l))
2866# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2867 cv_avg = sum(yi_avg(:)*((h_ir(:) - h_il(:))/(t_r - t_l) - gas_constant/molecular_weights(:)))
2868# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2870# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2871 gamma_avg = cp_avg/cv_avg
2872# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2874# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2875 phi_avg(:) = (gamma_avg - 1._wp)*(vel_avg_rms/2.0_wp - h_avg_2(:)) + gamma_avg*gas_constant/molecular_weights(:)*t_avg
2876# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2877 c_sum_yi_phi = sum(yi_avg(:)*phi_avg(:))
2878# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2880# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2882# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2884# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2886# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2887 rho_avg = 5.e-1_wp*(rho_l + rho_r)
2888# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2890# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2892# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2893#if defined(MFC_OpenACC)
2894# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2896# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2897#elif defined(MFC_OpenMP)
2898# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2900# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2902# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2904# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2905 vel_avg_rms = vel_avg_rms + (5.e-1_wp*(vel_l(i) + vel_r(i)))**2._wp
2906# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2908# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2910# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2911 h_avg = 5.e-1_wp*(h_l + h_r)
2912# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2913 gamma_avg = 5.e-1_wp*(gamma_l + gamma_r)
2914# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2915 qv_avg = 5.e-1_wp*(qv_l + qv_r)
2916# 356 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2929 & c_sum_yi_phi, c_avg, qv_avg)
2941# 379 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2942#if defined(MFC_OpenACC)
2943# 379 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2945# 379 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2946#elif defined(MFC_OpenMP)
2947# 379 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2949# 379 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2952 re_avg_rsx_vf(j, k, l, i) = 2._wp/(1._wp/re_l(i) + 1._wp/re_r(i))
2960 s_l = min(vel_l(
dir_idx(1)) - c_fast%L, vel_r(
dir_idx(1)) - c_fast%R)
2961 s_r = max(vel_r(
dir_idx(1)) + c_fast%R, vel_l(
dir_idx(1)) + c_fast%L)
2962 else if (hypoelasticity)
then
2964 s_l = min(vel_l(
dir_idx(1)) - sqrt(c_l*c_l + (((4._wp*g_l)/3._wp) + tau_e_l(
dir_idx_tau(1))) &
2966 & vel_r(
dir_idx(1)) - sqrt(c_r*c_r + (((4._wp*g_r)/3._wp) + tau_e_r(
dir_idx_tau(1))) &
2968 s_r = max(vel_r(
dir_idx(1)) + sqrt(c_r*c_r + (((4._wp*g_r)/3._wp) + tau_e_r(
dir_idx_tau(1))) &
2970 & vel_l(
dir_idx(1)) + sqrt(c_l*c_l + (((4._wp*g_l)/3._wp) + tau_e_l(
dir_idx_tau(1))) &
2972 else if (hyperelasticity)
then
2973 s_l = min(vel_l(
dir_idx(1)) - sqrt(c_l*c_l + (4._wp*g_l/3._wp)/rho_l), &
2974 & vel_r(
dir_idx(1)) - sqrt(c_r*c_r + (4._wp*g_r/3._wp)/rho_r))
2975 s_r = max(vel_r(
dir_idx(1)) + sqrt(c_r*c_r + (4._wp*g_r/3._wp)/rho_r), &
2976 & vel_l(
dir_idx(1)) + sqrt(c_l*c_l + (4._wp*g_l/3._wp)/rho_l))
2982 if (hyper_cleaning)
then
2984 s_l = min(s_l, -hyper_cleaning_speed)
2985 s_r = max(s_r, hyper_cleaning_speed)
2988 s_s = (pres_r - pres_l + rho_l*vel_l(
dir_idx(1))*(s_l - vel_l(
dir_idx(1))) &
2990 & - rho_r*(s_r - vel_r(
dir_idx(1))))
2992 pres_sl = 5.e-1_wp*(pres_l + pres_r + rho_avg*c_avg*(vel_l(
dir_idx(1)) - vel_r(
dir_idx(1))))
2998 & sqrt(1._wp + ((5.e-1_wp + gamma_l)/(1._wp + gamma_l))*(pres_sl/pres_l - 1._wp) &
2999 & *pres_l/((pres_l + pi_inf_l/(1._wp + gamma_l)))))
3001 & sqrt(1._wp + ((5.e-1_wp + gamma_r)/(1._wp + gamma_r))*(pres_sr/pres_r - 1._wp) &
3002 & *pres_r/((pres_r + pi_inf_r/(1._wp + gamma_r)))))
3004 s_l = vel_l(
dir_idx(1)) - c_l*ms_l
3005 s_r = vel_r(
dir_idx(1)) + c_r*ms_r
3007 s_s = 5.e-1_wp*((vel_l(
dir_idx(1)) + vel_r(
dir_idx(1))) + (pres_l - pres_r)/(rho_avg*c_avg))
3010 s_m = min(0._wp, s_l); s_p = max(0._wp, s_r)
3012 xi_m = (5.e-1_wp + sign(5.e-1_wp, s_l)) + (5.e-1_wp - sign(5.e-1_wp, s_l))*(5.e-1_wp + sign(5.e-1_wp, &
3014 xi_p = (5.e-1_wp - sign(5.e-1_wp, s_r)) + (5.e-1_wp - sign(5.e-1_wp, s_l))*(5.e-1_wp + sign(5.e-1_wp, &
3018 if (low_mach == 1)
then
3020# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3021 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
3022# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3024# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3026# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3027 if (low_mach == 1)
then
3028# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3029 pcorr = -(s_p - s_m)*(rho_l + rho_r)/8._wp*(zcoef - 1._wp)
3030# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3032# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3034# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3035 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
3036# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3038# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3040# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3041 if (low_mach == 1)
then
3042# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3044# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3045 & /(rho_r*(s_r - vel_r(
dir_idx(1))) - rho_l*(s_l - vel_l(
dir_idx(1))))*(zcoef - 1._wp)
3046# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3047 else if (low_mach == 2)
then
3048# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3050# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3052# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3054# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3056# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3058# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3065 if (.not. relativity)
then
3067# 455 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3068#if defined(MFC_OpenACC)
3069# 455 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3071# 455 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3072#elif defined(MFC_OpenMP)
3073# 455 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3075# 455 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3077 do i = 1, eqn_idx%cont%end
3079 & i) = (s_m*alpha_rho_r(i)*vel_r(norm_dir) - s_p*alpha_rho_l(i)*vel_l(norm_dir) &
3080 & + s_m*s_p*(alpha_rho_l(i) - alpha_rho_r(i)))/(s_m - s_p)
3082 else if (relativity)
then
3084# 462 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3085#if defined(MFC_OpenACC)
3086# 462 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3088# 462 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3089#elif defined(MFC_OpenMP)
3090# 462 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3092# 462 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3094 do i = 1, eqn_idx%cont%end
3096 & i) = (s_m*ga%R*alpha_rho_r(i)*vel_r(norm_dir) - s_p*ga%L*alpha_rho_l(i) &
3097 & *vel_l(norm_dir) + s_m*s_p*(ga%L*alpha_rho_l(i) - ga%R*alpha_rho_r(i)))/(s_m &
3103 if (mhd .and. (.not. relativity))
then
3105# 473 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3106#if defined(MFC_OpenACC)
3107# 473 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3109# 473 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3110#elif defined(MFC_OpenMP)
3111# 473 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3113# 473 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3119 & eqn_idx%cont%end + i) = (s_m*(rho_r*vel_r(i)*vel_r(norm_dir) - b%R(i) &
3120 & *b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(rho_l*vel_l(i) &
3121 & *vel_l(norm_dir) - b%L(i)*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L)) &
3122 & + s_m*s_p*(rho_l*vel_l(i) - rho_r*vel_r(i)))/(s_m - s_p)
3124 else if (mhd .and. relativity)
then
3126# 484 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3127#if defined(MFC_OpenACC)
3128# 484 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3130# 484 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3131#elif defined(MFC_OpenMP)
3132# 484 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3134# 484 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3140 & eqn_idx%cont%end + i) = (s_m*(cm%R(i)*vel_r(norm_dir) - b4%R(i) &
3141 & /ga%R*b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(cm%L(i) &
3142 & *vel_l(norm_dir) - b4%L(i)/ga%L*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L) &
3143 & ) + s_m*s_p*(cm%L(i) - cm%R(i)))/(s_m - s_p)
3145 else if (bubbles_euler)
then
3147# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3148#if defined(MFC_OpenACC)
3149# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3151# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3152#elif defined(MFC_OpenMP)
3153# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3155# 495 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3162 & + s_m*s_p*(rho_l*vel_l(
dir_idx(i)) - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) &
3163 & + (s_m/s_l)*(s_p/s_r)*pcorr*(vel_r(
dir_idx(i)) - vel_l(
dir_idx(i)))
3165 else if (hypoelasticity)
then
3167# 505 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3168#if defined(MFC_OpenACC)
3169# 505 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3171# 505 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3172#elif defined(MFC_OpenMP)
3173# 505 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3175# 505 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3183 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p)
3187# 515 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3188#if defined(MFC_OpenACC)
3189# 515 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3191# 515 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3192#elif defined(MFC_OpenMP)
3193# 515 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3195# 515 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3202 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) + (s_m/s_l)*(s_p/s_r) &
3208 if (mhd .and. (.not. relativity))
then
3210# 530 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3212 & eqn_idx%E) = (s_m*(vel_r(norm_dir)*(e_r + pres_r + pres_mag%R) - b%R(norm_dir) &
3213 & *(vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3))) - s_p*(vel_l(norm_dir) &
3214 & *(e_l + pres_l + pres_mag%L) - b%L(norm_dir)*(vel_l(1)*b%L(1) + vel_l(2)*b%L(2) &
3215 & + vel_l(3)*b%L(3))) + s_m*s_p*(e_l - e_r))/(s_m - s_p)
3216# 536 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3217 else if (mhd .and. relativity)
then
3220 & eqn_idx%E) = (s_m*(cm%R(norm_dir) - ga%R*alpha_rho_r(1)*vel_r(norm_dir)) &
3221 & - s_p*(cm%L(norm_dir) - ga%L*alpha_rho_l(1)*vel_l(norm_dir)) + s_m*s_p*(e_l - e_r)) &
3223 else if (bubbles_euler)
then
3225 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r - ptilde_r) - s_p*vel_l(
dir_idx(1) &
3226 & )*(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) &
3227 & *pcorr*(vel_r_rms - vel_l_rms)/2._wp
3228 else if (hypoelasticity)
then
3229 flux_tau_l = 0._wp; flux_tau_r = 0._wp
3231# 549 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3232#if defined(MFC_OpenACC)
3233# 549 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3235# 549 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3236#elif defined(MFC_OpenMP)
3237# 549 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3239# 549 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3246 & eqn_idx%E) = (s_m*(vel_r(
dir_idx(1))*(e_r + pres_r) - flux_tau_r) &
3247 & - s_p*(vel_l(
dir_idx(1))*(e_l + pres_l) - flux_tau_l) + s_m*s_p*(e_l - e_r))/(s_m &
3251 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r) - s_p*vel_l(
dir_idx(1))*(e_l &
3252 & + 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 &
3253 & - vel_l_rms)/2._wp
3257 if (hypoelasticity)
then
3258 do i = 1, eqn_idx%stress%end - eqn_idx%stress%beg + 1
3260 & eqn_idx%stress%beg - 1 + i) = (s_m*(rho_r*vel_r(
dir_idx(1))*tau_e_r(i)) &
3261 & - s_p*(rho_l*vel_l(
dir_idx(1))*tau_e_l(i)) + s_m*s_p*(rho_l*tau_e_l(i) &
3262 & - rho_r*tau_e_r(i)))/(s_m - s_p)
3268# 576 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3269#if defined(MFC_OpenACC)
3270# 576 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3272# 576 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3273#elif defined(MFC_OpenMP)
3274# 576 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3276# 576 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3278 do i = eqn_idx%adv%beg, eqn_idx%adv%end
3279 flux_rsx_vf(j, k, l, i) = (ql_prim_rsx_vf(j, k, l, i) - qr_prim_rsx_vf(j, k, l + 1, &
3280 & i))*s_m*s_p/(s_m - s_p)
3282 & i) - s_p*ql_prim_rsx_vf(j, k, l, i))/(s_m - s_p)
3285 if (bubbles_euler)
then
3287 if (num_fluids > 1)
then
3294# 592 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3295#if defined(MFC_OpenACC)
3296# 592 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3298# 592 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3299#elif defined(MFC_OpenMP)
3300# 592 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3302# 592 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3304 do i = eqn_idx%species%beg, eqn_idx%species%end
3305 y_l = ql_prim_rsx_vf(j, k, l, i)
3306 y_r = qr_prim_rsx_vf(j, k, l + 1, i)
3309 & i) = (s_m*y_r*rho_r*vel_r(
dir_idx(1)) - s_p*y_l*rho_l*vel_l(
dir_idx(1)) &
3310 & + s_m*s_p*(y_l*rho_l - y_r*rho_r))/(s_m - s_p)
3320# 608 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3321#if defined(MFC_OpenACC)
3322# 608 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3324# 608 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3325#elif defined(MFC_OpenMP)
3326# 608 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3328# 608 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3332 & eqn_idx%B%beg + i) = (s_m*(vel_r(1)*b%R(2 + i) - vel_r(2 + i)*bx0) &
3333 & - s_p*(vel_l(1)*b%L(2 + i) - vel_l(2 + i)*bx0) + s_m*s_p*(b%L(2 + i) &
3334 & - b%R(2 + i)))/(s_m - s_p)
3341# 619 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3342#if defined(MFC_OpenACC)
3343# 619 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3345# 619 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3346#elif defined(MFC_OpenMP)
3347# 619 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3349# 619 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3353 & eqn_idx%B%beg + i) = (s_m*(vel_r(
dir_idx(1))*b%R(i + 1) - vel_r(i + 1) &
3354 & *b%R(norm_dir)) - s_p*(vel_l(
dir_idx(1))*b%L(i + 1) - vel_l(i + 1) &
3355 & *b%L(norm_dir)) + s_m*s_p*(b%L(i + 1) - b%R(i + 1)))/(s_m - s_p)
3358 if (hyper_cleaning)
then
3361 & eqn_idx%B%beg + norm_dir - 1) + (s_m*qr_prim_rsx_vf(j, k, l + 1, &
3362 & eqn_idx%psi) - s_p*ql_prim_rsx_vf(j, k, l, eqn_idx%psi))/(s_m - s_p)
3365 & eqn_idx%psi) = (hyper_cleaning_speed**2*(s_m*b%R(norm_dir) &
3366 & - s_p*b%L(norm_dir)) + s_m*s_p*(ql_prim_rsx_vf(j, k, l, &
3367 & eqn_idx%psi) - qr_prim_rsx_vf(j, k, l + 1, eqn_idx%psi)))/(s_m - s_p)
3370 flux_rsx_vf(j, k, l, eqn_idx%B%beg + norm_dir - 1) = 0._wp
3376# 673 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3381# 676 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3382#if defined(MFC_OpenACC)
3383# 676 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3385# 676 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3386#elif defined(MFC_OpenMP)
3387# 676 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3389# 676 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3391# 676 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3394# 679 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3397 if (weno_re_flux)
then
3399 & dql_prim_dx_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3400 & dql_prim_dy_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3401 & dql_prim_dz_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3402 & qr_prim_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3403 & dqr_prim_dx_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3404 & dqr_prim_dy_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3405 & dqr_prim_dz_vf(eqn_idx%mom%beg:eqn_idx%mom%end), flux_src_vf, q_prim_vf, &
3406 & norm_dir, ix, iy, iz)
3409 & dql_prim_dx_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3410 & dql_prim_dy_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3411 & dql_prim_dz_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3412 & q_prim_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3413 & dqr_prim_dx_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3414 & dqr_prim_dy_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3415 & dqr_prim_dz_vf(eqn_idx%mom%beg:eqn_idx%mom%end), flux_src_vf, q_prim_vf, &
3416 & norm_dir, ix, iy, iz)