361 subroutine s_hll_riemann_solver(qL_prim_rsx_vf, dqL_prim_dx_vf, dqL_prim_dy_vf, dqL_prim_dz_vf, qL_prim_vf, qR_prim_rsx_vf, &
362 & dqR_prim_dx_vf, dqR_prim_dy_vf, dqR_prim_dz_vf, qR_prim_vf, q_prim_vf, flux_vf, &
363 & flux_src_vf, flux_gsrc_vf, norm_dir, ix, iy, iz)
365 real(wp),
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:),
intent(inout) :: qL_prim_rsx_vf, qR_prim_rsx_vf
366 type(
scalar_field),
dimension(sys_size),
intent(in) :: q_prim_vf
367 type(
scalar_field),
allocatable,
dimension(:),
intent(inout) :: qL_prim_vf, qR_prim_vf
368 type(
scalar_field),
allocatable,
dimension(:),
intent(inout) :: dqL_prim_dx_vf, dqR_prim_dx_vf, dqL_prim_dy_vf, &
369 & dqR_prim_dy_vf, dqL_prim_dz_vf, dqR_prim_dz_vf
372 type(
scalar_field),
dimension(sys_size),
intent(inout) :: flux_vf, flux_src_vf, flux_gsrc_vf
373 real(wp) :: flux_tau_L, flux_tau_R
374 integer,
intent(in) :: norm_dir
377# 52 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
378 real(wp),
dimension(num_fluids) :: alpha_rho_L, alpha_rho_R
379 real(wp),
dimension(num_vels) :: vel_L, vel_R
380 real(wp),
dimension(num_fluids) :: alpha_L, alpha_R
381 real(wp),
dimension(num_species) :: Ys_L, Ys_R
382 real(wp),
dimension(num_species) :: Cp_iL, Cp_iR, Xs_L, Xs_R, Gamma_iL, Gamma_iR
383 real(wp),
dimension(num_species) :: Yi_avg, Phi_avg, h_iL, h_iR, h_avg_2
384# 59 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
385 real(wp) :: rho_L, rho_R
386 real(wp) :: pres_L, pres_R
389 real(wp) :: Cp_avg, Cv_avg, T_avg, eps, c_sum_Yi_Phi
392 real(wp) :: MW_L, MW_R
393 real(wp) :: R_gas_L, R_gas_R
394 real(wp) :: Cp_L, Cp_R
395 real(wp) :: Cv_L, Cv_R
396 real(wp) :: Gamm_L, Gamm_R
397 real(wp) :: gamma_L, gamma_R
398 real(wp) :: pi_inf_L, pi_inf_R
399 real(wp) :: qv_L, qv_R
401 real(wp),
dimension(6) :: tau_e_L, tau_e_R
403 real(wp) :: damage_L, damage_R
404 real(wp),
dimension(2) :: Re_L, Re_R
405 real(wp),
dimension(3) :: xi_field_L, xi_field_R
409 real(wp) :: gamma_avg
411 real(wp) :: s_L, s_R, s_M, s_P, s_S
412 real(wp) :: xi_M, xi_P
413 real(wp) :: ptilde_L, ptilde_R
414 real(wp) :: vel_L_rms, vel_R_rms, vel_avg_rms
415 real(wp) :: vel_L_tmp, vel_R_tmp
416 real(wp) :: Ms_L, Ms_R, pres_SL, pres_SR
417 real(wp) :: alpha_L_sum, alpha_R_sum
418 real(wp) :: zcoef, pcorr
425 integer :: i, j, k, l
426 integer :: Re_size_loc1, Re_size_loc2
430 & qr_prim_rsx_vf, dqr_prim_dx_vf, dqr_prim_dy_vf, dqr_prim_dz_vf, norm_dir, ix, iy, iz)
435# 113 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
436# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
437# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
438 if (norm_dir == 1)
then
440# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
442# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
443#if defined(MFC_OpenACC)
444# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
446# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
448# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
450# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
451#elif defined(MFC_OpenMP)
452# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
454# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
456# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
458# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
460# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
462# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
464# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
466# 126 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
471# 129 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
472#if defined(MFC_OpenACC)
473# 129 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
475# 129 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
476#elif defined(MFC_OpenMP)
477# 129 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
479# 129 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
481 do i = 1, eqn_idx%cont%end
482 alpha_rho_l(i) = ql_prim_rsx_vf(j, k, l, i)
483 alpha_rho_r(i) = qr_prim_rsx_vf(j + 1, k, l, i)
486 vel_l_rms = 0._wp; vel_r_rms = 0._wp
489# 137 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
490#if defined(MFC_OpenACC)
491# 137 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
493# 137 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
494#elif defined(MFC_OpenMP)
495# 137 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
497# 137 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
500 vel_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%cont%end + i)
501 vel_r(i) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%cont%end + i)
502 vel_l_rms = vel_l_rms + vel_l(i)**2._wp
503 vel_r_rms = vel_r_rms + vel_r(i)**2._wp
507# 145 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
508#if defined(MFC_OpenACC)
509# 145 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
511# 145 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
512#elif defined(MFC_OpenMP)
513# 145 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
515# 145 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
518 alpha_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%E + i)
519 alpha_r(i) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%E + i)
522 pres_l = ql_prim_rsx_vf(j, k, l, eqn_idx%E)
523 pres_r = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%E)
529 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
530 b%R(2) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%B%beg)
531 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
532 b%R(3) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%B%beg + 1)
534 b%L(1) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
535 b%R(1) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%B%beg)
536 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
537 b%R(2) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%B%beg + 1)
538 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 2)
539 b%R(3) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%B%beg + 2)
561# 189 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
562#if defined(MFC_OpenACC)
563# 189 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
565# 189 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
566#elif defined(MFC_OpenMP)
567# 189 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
569# 189 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
572 alpha_rho_l(i) = max(0._wp, alpha_rho_l(i))
573 alpha_l(i) = min(max(0._wp, alpha_l(i)), 1._wp)
574 alpha_l_sum = alpha_l_sum + alpha_l(i)
575 alpha_rho_r(i) = max(0._wp, alpha_rho_r(i))
576 alpha_r(i) = min(max(0._wp, alpha_r(i)), 1._wp)
577 alpha_r_sum = alpha_r_sum + alpha_r(i)
580 alpha_l = alpha_l/max(alpha_l_sum,
sgm_eps)
581 alpha_r = alpha_r/max(alpha_r_sum,
sgm_eps)
594# 212 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
595#if defined(MFC_OpenACC)
596# 212 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
598# 212 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
599#elif defined(MFC_OpenMP)
600# 212 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
602# 212 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
604 do i = eqn_idx%species%beg, eqn_idx%species%end
605 ys_l(i - eqn_idx%species%beg + 1) = ql_prim_rsx_vf(j, k, l, i)
606 ys_r(i - eqn_idx%species%beg + 1) = qr_prim_rsx_vf(j + 1, k, l, i)
609 call get_mixture_molecular_weight(ys_l, mw_l)
610 call get_mixture_molecular_weight(ys_r, mw_r)
611 xs_l(:) = ys_l(:)*mw_l/molecular_weights(:)
612 xs_r(:) = ys_r(:)*mw_r/molecular_weights(:)
614 r_gas_l = gas_constant/mw_l
615 r_gas_r = gas_constant/mw_r
616 t_l = pres_l/rho_l/r_gas_l
617 t_r = pres_r/rho_r/r_gas_r
619 call get_species_specific_heats_r(t_l, cp_il)
620 call get_species_specific_heats_r(t_r, cp_ir)
622 if (chem_params%gamma_method == 1)
then
624 gamma_il = cp_il/(cp_il - 1.0_wp)
625 gamma_ir = cp_ir/(cp_ir - 1.0_wp)
627 gamma_l = sum(xs_l(:)/(gamma_il(:) - 1.0_wp))
628 gamma_r = sum(xs_r(:)/(gamma_ir(:) - 1.0_wp))
629 else if (chem_params%gamma_method == 2)
then
631 call get_mixture_specific_heat_cp_mass(t_l, ys_l, cp_l)
632 call get_mixture_specific_heat_cp_mass(t_r, ys_r, cp_r)
633 call get_mixture_specific_heat_cv_mass(t_l, ys_l, cv_l)
634 call get_mixture_specific_heat_cv_mass(t_r, ys_r, cv_r)
637 gamma_l = 1.0_wp/(gamm_l - 1.0_wp)
639 gamma_r = 1.0_wp/(gamm_r - 1.0_wp)
642 call get_mixture_energy_mass(t_l, ys_l, e_l)
643 call get_mixture_energy_mass(t_r, ys_r, e_r)
645 e_l = rho_l*e_l + 5.e-1*rho_l*vel_l_rms
646 e_r = rho_r*e_r + 5.e-1*rho_r*vel_r_rms
647 h_l = (e_l + pres_l)/rho_l
648 h_r = (e_r + pres_r)/rho_r
649 else if (mhd .and. relativity)
then
650 ga%L = 1._wp/sqrt(1._wp - vel_l_rms)
651 ga%R = 1._wp/sqrt(1._wp - vel_r_rms)
652# 262 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
653 vdotb%L = vel_l(1)*b%L(1) + vel_l(2)*b%L(2) + vel_l(3)*b%L(3)
654 vdotb%R = vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3)
656 b4%L(1:3) = b%L(1:3)/ga%L + ga%L*vel_l(1:3)*vdotb%L
657 b4%R(1:3) = b%R(1:3)/ga%R + ga%R*vel_r(1:3)*vdotb%R
658 b2%L = b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp
659 b2%R = b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp
660# 270 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
662 pres_mag%L = 0.5_wp*(b2%L/ga%L**2._wp + vdotb%L**2._wp)
663 pres_mag%R = 0.5_wp*(b2%R/ga%R**2._wp + vdotb%R**2._wp)
666 h_l = 1._wp + (gamma_l + 1)*pres_l/rho_l
667 h_r = 1._wp + (gamma_r + 1)*pres_r/rho_r
668# 278 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
669 cm%L(1:3) = (rho_l*h_l*ga%L**2 + b2%L)*vel_l(1:3) - vdotb%L*b%L(1:3)
670 cm%R(1:3) = (rho_r*h_r*ga%R**2 + b2%R)*vel_r(1:3) - vdotb%R*b%R(1:3)
671# 281 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
673 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
674 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
675 else if (mhd .and. .not. relativity)
then
676# 286 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
677 pres_mag%L = 0.5_wp*(b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp)
678 pres_mag%R = 0.5_wp*(b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp)
679# 289 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
680 e_l = gamma_l*pres_l + pi_inf_l + 0.5_wp*rho_l*vel_l_rms + qv_l + pres_mag%L
682 e_r = gamma_r*pres_r + pi_inf_r + 0.5_wp*rho_r*vel_r_rms + qv_r + pres_mag%R
683 h_l = (e_l + pres_l - pres_mag%L)/rho_l
685 h_r = (e_r + pres_r - pres_mag%R)/rho_r
687 e_l = gamma_l*pres_l + pi_inf_l + 5.e-1*rho_l*vel_l_rms + qv_l
688 e_r = gamma_r*pres_r + pi_inf_r + 5.e-1*rho_r*vel_r_rms + qv_r
689 h_l = (e_l + pres_l)/rho_l
690 h_r = (e_r + pres_r)/rho_r
694 if (hypoelasticity)
then
696# 304 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
697#if defined(MFC_OpenACC)
698# 304 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
700# 304 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
701#elif defined(MFC_OpenMP)
702# 304 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
704# 304 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
706 do i = 1, eqn_idx%stress%end - eqn_idx%stress%beg + 1
707 tau_e_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%stress%beg - 1 + i)
708 tau_e_r(i) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%stress%beg - 1 + i)
711 damage_l = 0._wp; damage_r = 0._wp
712 if (cont_damage)
then
713 damage_l = ql_prim_rsx_vf(j, k, l, eqn_idx%damage)
714 damage_r = qr_prim_rsx_vf(j, k, l, eqn_idx%damage)
718 & tau_e_l, tau_e_r, g_l, g_r, e_l, e_r)
722# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
723 rho_avg = sqrt(rho_l*rho_r)
724# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
726# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
728# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
730# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
732# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
733#if defined(MFC_OpenACC)
734# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
736# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
737#elif defined(MFC_OpenMP)
738# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
740# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
742# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
744# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
745 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
746# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
748# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
750# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
751 h_avg = (sqrt(rho_l)*h_l + sqrt(rho_r)*h_r)/(sqrt(rho_l) + sqrt(rho_r))
752# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
754# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
755 gamma_avg = (sqrt(rho_l)*gamma_l + sqrt(rho_r)*gamma_r)/(sqrt(rho_l) + sqrt(rho_r))
756# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
758# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
759 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
760# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
762# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
763 qv_avg = (sqrt(rho_l)*qv_l + sqrt(rho_r)*qv_r)/(sqrt(rho_l) + sqrt(rho_r))
764# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
766# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
768# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
770# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
771 call get_species_enthalpies_rt(t_l, h_il)
772# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
773 call get_species_enthalpies_rt(t_r, h_ir)
774# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
775 h_il = h_il*gas_constant/molecular_weights*t_l
776# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
777 h_ir = h_ir*gas_constant/molecular_weights*t_r
778# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
779 call get_species_specific_heats_r(t_l, cp_il)
780# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
781 call get_species_specific_heats_r(t_r, cp_ir)
782# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
784# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
785 h_avg_2 = (sqrt(rho_l)*h_il + sqrt(rho_r)*h_ir)/(sqrt(rho_l) + sqrt(rho_r))
786# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
787 yi_avg = (sqrt(rho_l)*ys_l + sqrt(rho_r)*ys_r)/(sqrt(rho_l) + sqrt(rho_r))
788# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
789 t_avg = (sqrt(rho_l)*t_l + sqrt(rho_r)*t_r)/(sqrt(rho_l) + sqrt(rho_r))
790# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
791 if (abs(t_l - t_r) < eps)
then
792# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
794# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
795 cp_avg = sum(yi_avg(:)*(0.5_wp*cp_il(:) + 0.5_wp*cp_ir(:))*gas_constant/molecular_weights(:))
796# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
797 cv_avg = sum(yi_avg(:)*((0.5_wp*cp_il(:) + 0.5_wp*cp_ir(:))*gas_constant/molecular_weights(:) &
798# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
799 & - gas_constant/molecular_weights(:)))
800# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
802# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
804# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
805 cp_avg = sum(yi_avg(:)*(h_ir(:) - h_il(:))/(t_r - t_l))
806# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
807 cv_avg = sum(yi_avg(:)*((h_ir(:) - h_il(:))/(t_r - t_l) - gas_constant/molecular_weights(:)))
808# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
810# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
811 gamma_avg = cp_avg/cv_avg
812# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
814# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
815 phi_avg(:) = (gamma_avg - 1._wp)*(vel_avg_rms/2.0_wp - h_avg_2(:)) + gamma_avg*gas_constant/molecular_weights(:)*t_avg
816# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
817 c_sum_yi_phi = sum(yi_avg(:)*phi_avg(:))
818# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
820# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
822# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
824# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
826# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
827 rho_avg = 5.e-1_wp*(rho_l + rho_r)
828# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
830# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
832# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
833#if defined(MFC_OpenACC)
834# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
836# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
837#elif defined(MFC_OpenMP)
838# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
840# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
842# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
844# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
845 vel_avg_rms = vel_avg_rms + (5.e-1_wp*(vel_l(i) + vel_r(i)))**2._wp
846# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
848# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
850# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
851 h_avg = 5.e-1_wp*(h_l + h_r)
852# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
853 gamma_avg = 5.e-1_wp*(gamma_l + gamma_r)
854# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
855 qv_avg = 5.e-1_wp*(qv_l + qv_r)
856# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
869 & c_sum_yi_phi, c_avg, qv_avg)
881# 343 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
882#if defined(MFC_OpenACC)
883# 343 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
885# 343 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
886#elif defined(MFC_OpenMP)
887# 343 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
889# 343 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
892 re_avg_rsx_vf(j, k, l, i) = 2._wp/(1._wp/re_l(i) + 1._wp/re_r(i))
900 s_l = min(vel_l(
dir_idx(1)) - c_fast%L, vel_r(
dir_idx(1)) - c_fast%R)
901 s_r = max(vel_r(
dir_idx(1)) + c_fast%R, vel_l(
dir_idx(1)) + c_fast%L)
902 else if (hypoelasticity)
then
904 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))) &
906 & vel_r(
dir_idx(1)) - sqrt(c_r*c_r + (((4._wp*g_r)/3._wp) + tau_e_r(
dir_idx_tau(1))) &
908 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))) &
910 & vel_l(
dir_idx(1)) + sqrt(c_l*c_l + (((4._wp*g_l)/3._wp) + tau_e_l(
dir_idx_tau(1))) &
912 else if (hyperelasticity)
then
913 s_l = min(vel_l(
dir_idx(1)) - sqrt(c_l*c_l + (4._wp*g_l/3._wp)/rho_l), &
914 & vel_r(
dir_idx(1)) - sqrt(c_r*c_r + (4._wp*g_r/3._wp)/rho_r))
915 s_r = max(vel_r(
dir_idx(1)) + sqrt(c_r*c_r + (4._wp*g_r/3._wp)/rho_r), &
916 & vel_l(
dir_idx(1)) + sqrt(c_l*c_l + (4._wp*g_l/3._wp)/rho_l))
922 if (hyper_cleaning)
then
924 s_l = min(s_l, -hyper_cleaning_speed)
925 s_r = max(s_r, hyper_cleaning_speed)
928 s_s = (pres_r - pres_l + rho_l*vel_l(
dir_idx(1))*(s_l - vel_l(
dir_idx(1))) &
930 & - rho_r*(s_r - vel_r(
dir_idx(1))))
932 pres_sl = 5.e-1_wp*(pres_l + pres_r + rho_avg*c_avg*(vel_l(
dir_idx(1)) - vel_r(
dir_idx(1))))
938 & sqrt(1._wp + ((5.e-1_wp + gamma_l)/(1._wp + gamma_l))*(pres_sl/pres_l - 1._wp) &
939 & *pres_l/((pres_l + pi_inf_l/(1._wp + gamma_l)))))
941 & sqrt(1._wp + ((5.e-1_wp + gamma_r)/(1._wp + gamma_r))*(pres_sr/pres_r - 1._wp) &
942 & *pres_r/((pres_r + pi_inf_r/(1._wp + gamma_r)))))
944 s_l = vel_l(
dir_idx(1)) - c_l*ms_l
945 s_r = vel_r(
dir_idx(1)) + c_r*ms_r
947 s_s = 5.e-1_wp*((vel_l(
dir_idx(1)) + vel_r(
dir_idx(1))) + (pres_l - pres_r)/(rho_avg*c_avg))
950 s_m = min(0._wp, s_l); s_p = max(0._wp, s_r)
952 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, &
954 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, &
958 if (low_mach == 1)
then
960# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
961 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
962# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
964# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
966# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
967 if (low_mach == 1)
then
968# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
969 pcorr = -(s_p - s_m)*(rho_l + rho_r)/8._wp*(zcoef - 1._wp)
970# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
972# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
974# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
975 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
976# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
978# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
980# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
981 if (low_mach == 1)
then
982# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
984# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
985 & /(rho_r*(s_r - vel_r(
dir_idx(1))) - rho_l*(s_l - vel_l(
dir_idx(1))))*(zcoef - 1._wp)
986# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
987 else if (low_mach == 2)
then
988# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
990# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
992# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
994# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
996# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
998# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1005 if (.not. relativity)
then
1007# 419 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1008#if defined(MFC_OpenACC)
1009# 419 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1011# 419 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1012#elif defined(MFC_OpenMP)
1013# 419 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1015# 419 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1017 do i = 1, eqn_idx%cont%end
1019 & i) = (s_m*alpha_rho_r(i)*vel_r(norm_dir) - s_p*alpha_rho_l(i)*vel_l(norm_dir) &
1020 & + s_m*s_p*(alpha_rho_l(i) - alpha_rho_r(i)))/(s_m - s_p)
1022 else if (relativity)
then
1024# 426 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1025#if defined(MFC_OpenACC)
1026# 426 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1028# 426 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1029#elif defined(MFC_OpenMP)
1030# 426 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1032# 426 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1034 do i = 1, eqn_idx%cont%end
1036 & i) = (s_m*ga%R*alpha_rho_r(i)*vel_r(norm_dir) - s_p*ga%L*alpha_rho_l(i) &
1037 & *vel_l(norm_dir) + s_m*s_p*(ga%L*alpha_rho_l(i) - ga%R*alpha_rho_r(i)))/(s_m &
1043 if (mhd .and. (.not. relativity))
then
1045# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1046#if defined(MFC_OpenACC)
1047# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1049# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1050#elif defined(MFC_OpenMP)
1051# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1053# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1059 & eqn_idx%cont%end + i) = (s_m*(rho_r*vel_r(i)*vel_r(norm_dir) - b%R(i) &
1060 & *b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(rho_l*vel_l(i) &
1061 & *vel_l(norm_dir) - b%L(i)*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L)) &
1062 & + s_m*s_p*(rho_l*vel_l(i) - rho_r*vel_r(i)))/(s_m - s_p)
1064 else if (mhd .and. relativity)
then
1066# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1067#if defined(MFC_OpenACC)
1068# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1070# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1071#elif defined(MFC_OpenMP)
1072# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1074# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1080 & eqn_idx%cont%end + i) = (s_m*(cm%R(i)*vel_r(norm_dir) - b4%R(i) &
1081 & /ga%R*b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(cm%L(i) &
1082 & *vel_l(norm_dir) - b4%L(i)/ga%L*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L) &
1083 & ) + s_m*s_p*(cm%L(i) - cm%R(i)))/(s_m - s_p)
1085 else if (bubbles_euler)
then
1087# 459 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1088#if defined(MFC_OpenACC)
1089# 459 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1091# 459 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1092#elif defined(MFC_OpenMP)
1093# 459 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1095# 459 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1102 & + s_m*s_p*(rho_l*vel_l(
dir_idx(i)) - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) &
1103 & + (s_m/s_l)*(s_p/s_r)*pcorr*(vel_r(
dir_idx(i)) - vel_l(
dir_idx(i)))
1105 else if (hypoelasticity)
then
1107# 469 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1108#if defined(MFC_OpenACC)
1109# 469 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1111# 469 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1112#elif defined(MFC_OpenMP)
1113# 469 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1115# 469 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1123 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p)
1127# 479 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1128#if defined(MFC_OpenACC)
1129# 479 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1131# 479 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1132#elif defined(MFC_OpenMP)
1133# 479 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1135# 479 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1142 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) + (s_m/s_l)*(s_p/s_r) &
1148 if (mhd .and. (.not. relativity))
then
1150# 494 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1152 & eqn_idx%E) = (s_m*(vel_r(norm_dir)*(e_r + pres_r + pres_mag%R) - b%R(norm_dir) &
1153 & *(vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3))) - s_p*(vel_l(norm_dir) &
1154 & *(e_l + pres_l + pres_mag%L) - b%L(norm_dir)*(vel_l(1)*b%L(1) + vel_l(2)*b%L(2) &
1155 & + vel_l(3)*b%L(3))) + s_m*s_p*(e_l - e_r))/(s_m - s_p)
1156# 500 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1157 else if (mhd .and. relativity)
then
1160 & eqn_idx%E) = (s_m*(cm%R(norm_dir) - ga%R*alpha_rho_r(1)*vel_r(norm_dir)) &
1161 & - s_p*(cm%L(norm_dir) - ga%L*alpha_rho_l(1)*vel_l(norm_dir)) + s_m*s_p*(e_l - e_r)) &
1163 else if (bubbles_euler)
then
1165 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r - ptilde_r) - s_p*vel_l(
dir_idx(1) &
1166 & )*(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) &
1167 & *pcorr*(vel_r_rms - vel_l_rms)/2._wp
1168 else if (hypoelasticity)
then
1169 flux_tau_l = 0._wp; flux_tau_r = 0._wp
1171# 513 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1172#if defined(MFC_OpenACC)
1173# 513 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1175# 513 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1176#elif defined(MFC_OpenMP)
1177# 513 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1179# 513 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1186 & eqn_idx%E) = (s_m*(vel_r(
dir_idx(1))*(e_r + pres_r) - flux_tau_r) &
1187 & - s_p*(vel_l(
dir_idx(1))*(e_l + pres_l) - flux_tau_l) + s_m*s_p*(e_l - e_r))/(s_m &
1191 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r) - s_p*vel_l(
dir_idx(1))*(e_l &
1192 & + 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 &
1193 & - vel_l_rms)/2._wp
1197 if (hypoelasticity)
then
1198 do i = 1, eqn_idx%stress%end - eqn_idx%stress%beg + 1
1200 & eqn_idx%stress%beg - 1 + i) = (s_m*(rho_r*vel_r(
dir_idx(1))*tau_e_r(i)) &
1201 & - s_p*(rho_l*vel_l(
dir_idx(1))*tau_e_l(i)) + s_m*s_p*(rho_l*tau_e_l(i) &
1202 & - rho_r*tau_e_r(i)))/(s_m - s_p)
1208# 540 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1209#if defined(MFC_OpenACC)
1210# 540 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1212# 540 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1213#elif defined(MFC_OpenMP)
1214# 540 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1216# 540 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1218 do i = eqn_idx%adv%beg, eqn_idx%adv%end
1219 flux_rsx_vf(j, k, l, i) = (ql_prim_rsx_vf(j, k, l, i) - qr_prim_rsx_vf(j + 1, k, l, &
1220 & i))*s_m*s_p/(s_m - s_p)
1222 & i) - s_p*ql_prim_rsx_vf(j, k, l, i))/(s_m - s_p)
1225 if (bubbles_euler)
then
1227 if (num_fluids > 1)
then
1234# 556 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1235#if defined(MFC_OpenACC)
1236# 556 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1238# 556 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1239#elif defined(MFC_OpenMP)
1240# 556 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1242# 556 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1244 do i = eqn_idx%species%beg, eqn_idx%species%end
1245 y_l = ql_prim_rsx_vf(j, k, l, i)
1246 y_r = qr_prim_rsx_vf(j + 1, k, l, i)
1249 & i) = (s_m*y_r*rho_r*vel_r(
dir_idx(1)) - s_p*y_l*rho_l*vel_l(
dir_idx(1)) &
1250 & + s_m*s_p*(y_l*rho_l - y_r*rho_r))/(s_m - s_p)
1260# 572 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1261#if defined(MFC_OpenACC)
1262# 572 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1264# 572 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1265#elif defined(MFC_OpenMP)
1266# 572 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1268# 572 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1272 & eqn_idx%B%beg + i) = (s_m*(vel_r(1)*b%R(2 + i) - vel_r(2 + i)*bx0) &
1273 & - s_p*(vel_l(1)*b%L(2 + i) - vel_l(2 + i)*bx0) + s_m*s_p*(b%L(2 + i) &
1274 & - b%R(2 + i)))/(s_m - s_p)
1281# 583 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1282#if defined(MFC_OpenACC)
1283# 583 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1285# 583 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1286#elif defined(MFC_OpenMP)
1287# 583 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1289# 583 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1293 & eqn_idx%B%beg + i) = (s_m*(vel_r(
dir_idx(1))*b%R(i + 1) - vel_r(i + 1) &
1294 & *b%R(norm_dir)) - s_p*(vel_l(
dir_idx(1))*b%L(i + 1) - vel_l(i + 1) &
1295 & *b%L(norm_dir)) + s_m*s_p*(b%L(i + 1) - b%R(i + 1)))/(s_m - s_p)
1298 if (hyper_cleaning)
then
1301 & eqn_idx%B%beg + norm_dir - 1) + (s_m*qr_prim_rsx_vf(j + 1, k, l, &
1302 & eqn_idx%psi) - s_p*ql_prim_rsx_vf(j, k, l, eqn_idx%psi))/(s_m - s_p)
1305 & eqn_idx%psi) = (hyper_cleaning_speed**2*(s_m*b%R(norm_dir) &
1306 & - s_p*b%L(norm_dir)) + s_m*s_p*(ql_prim_rsx_vf(j, k, l, &
1307 & eqn_idx%psi) - qr_prim_rsx_vf(j + 1, k, l, eqn_idx%psi)))/(s_m - s_p)
1310 flux_rsx_vf(j, k, l, eqn_idx%B%beg + norm_dir - 1) = 0._wp
1316# 637 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1321# 640 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1322#if defined(MFC_OpenACC)
1323# 640 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1325# 640 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1326#elif defined(MFC_OpenMP)
1327# 640 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1329# 640 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1331# 640 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1334# 113 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1335# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1336# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1337 if (norm_dir == 2)
then
1339# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1341# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1342#if defined(MFC_OpenACC)
1343# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1345# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1347# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1349# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1350#elif defined(MFC_OpenMP)
1351# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1353# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1355# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1357# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1359# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1361# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1363# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1365# 126 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1370# 129 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1371#if defined(MFC_OpenACC)
1372# 129 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1374# 129 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1375#elif defined(MFC_OpenMP)
1376# 129 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1378# 129 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1380 do i = 1, eqn_idx%cont%end
1381 alpha_rho_l(i) = ql_prim_rsx_vf(j, k, l, i)
1382 alpha_rho_r(i) = qr_prim_rsx_vf(j, k + 1, l, i)
1385 vel_l_rms = 0._wp; vel_r_rms = 0._wp
1388# 137 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1389#if defined(MFC_OpenACC)
1390# 137 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1392# 137 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1393#elif defined(MFC_OpenMP)
1394# 137 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1396# 137 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1399 vel_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%cont%end + i)
1400 vel_r(i) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%cont%end + i)
1401 vel_l_rms = vel_l_rms + vel_l(i)**2._wp
1402 vel_r_rms = vel_r_rms + vel_r(i)**2._wp
1406# 145 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1407#if defined(MFC_OpenACC)
1408# 145 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1410# 145 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1411#elif defined(MFC_OpenMP)
1412# 145 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1414# 145 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1416 do i = 1, num_fluids
1417 alpha_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%E + i)
1418 alpha_r(i) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%E + i)
1421 pres_l = ql_prim_rsx_vf(j, k, l, eqn_idx%E)
1422 pres_r = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%E)
1428 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
1429 b%R(2) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%B%beg)
1430 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
1431 b%R(3) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%B%beg + 1)
1433 b%L(1) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
1434 b%R(1) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%B%beg)
1435 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
1436 b%R(2) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%B%beg + 1)
1437 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 2)
1438 b%R(3) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%B%beg + 2)
1460# 189 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1461#if defined(MFC_OpenACC)
1462# 189 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1464# 189 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1465#elif defined(MFC_OpenMP)
1466# 189 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1468# 189 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1470 do i = 1, num_fluids
1471 alpha_rho_l(i) = max(0._wp, alpha_rho_l(i))
1472 alpha_l(i) = min(max(0._wp, alpha_l(i)), 1._wp)
1473 alpha_l_sum = alpha_l_sum + alpha_l(i)
1474 alpha_rho_r(i) = max(0._wp, alpha_rho_r(i))
1475 alpha_r(i) = min(max(0._wp, alpha_r(i)), 1._wp)
1476 alpha_r_sum = alpha_r_sum + alpha_r(i)
1479 alpha_l = alpha_l/max(alpha_l_sum,
sgm_eps)
1480 alpha_r = alpha_r/max(alpha_r_sum,
sgm_eps)
1493# 212 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1494#if defined(MFC_OpenACC)
1495# 212 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1497# 212 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1498#elif defined(MFC_OpenMP)
1499# 212 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1501# 212 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1503 do i = eqn_idx%species%beg, eqn_idx%species%end
1504 ys_l(i - eqn_idx%species%beg + 1) = ql_prim_rsx_vf(j, k, l, i)
1505 ys_r(i - eqn_idx%species%beg + 1) = qr_prim_rsx_vf(j, k + 1, l, i)
1508 call get_mixture_molecular_weight(ys_l, mw_l)
1509 call get_mixture_molecular_weight(ys_r, mw_r)
1510 xs_l(:) = ys_l(:)*mw_l/molecular_weights(:)
1511 xs_r(:) = ys_r(:)*mw_r/molecular_weights(:)
1513 r_gas_l = gas_constant/mw_l
1514 r_gas_r = gas_constant/mw_r
1515 t_l = pres_l/rho_l/r_gas_l
1516 t_r = pres_r/rho_r/r_gas_r
1518 call get_species_specific_heats_r(t_l, cp_il)
1519 call get_species_specific_heats_r(t_r, cp_ir)
1521 if (chem_params%gamma_method == 1)
then
1523 gamma_il = cp_il/(cp_il - 1.0_wp)
1524 gamma_ir = cp_ir/(cp_ir - 1.0_wp)
1526 gamma_l = sum(xs_l(:)/(gamma_il(:) - 1.0_wp))
1527 gamma_r = sum(xs_r(:)/(gamma_ir(:) - 1.0_wp))
1528 else if (chem_params%gamma_method == 2)
then
1530 call get_mixture_specific_heat_cp_mass(t_l, ys_l, cp_l)
1531 call get_mixture_specific_heat_cp_mass(t_r, ys_r, cp_r)
1532 call get_mixture_specific_heat_cv_mass(t_l, ys_l, cv_l)
1533 call get_mixture_specific_heat_cv_mass(t_r, ys_r, cv_r)
1536 gamma_l = 1.0_wp/(gamm_l - 1.0_wp)
1538 gamma_r = 1.0_wp/(gamm_r - 1.0_wp)
1541 call get_mixture_energy_mass(t_l, ys_l, e_l)
1542 call get_mixture_energy_mass(t_r, ys_r, e_r)
1544 e_l = rho_l*e_l + 5.e-1*rho_l*vel_l_rms
1545 e_r = rho_r*e_r + 5.e-1*rho_r*vel_r_rms
1546 h_l = (e_l + pres_l)/rho_l
1547 h_r = (e_r + pres_r)/rho_r
1548 else if (mhd .and. relativity)
then
1549 ga%L = 1._wp/sqrt(1._wp - vel_l_rms)
1550 ga%R = 1._wp/sqrt(1._wp - vel_r_rms)
1551# 262 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1552 vdotb%L = vel_l(1)*b%L(1) + vel_l(2)*b%L(2) + vel_l(3)*b%L(3)
1553 vdotb%R = vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3)
1555 b4%L(1:3) = b%L(1:3)/ga%L + ga%L*vel_l(1:3)*vdotb%L
1556 b4%R(1:3) = b%R(1:3)/ga%R + ga%R*vel_r(1:3)*vdotb%R
1557 b2%L = b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp
1558 b2%R = b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp
1559# 270 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1561 pres_mag%L = 0.5_wp*(b2%L/ga%L**2._wp + vdotb%L**2._wp)
1562 pres_mag%R = 0.5_wp*(b2%R/ga%R**2._wp + vdotb%R**2._wp)
1565 h_l = 1._wp + (gamma_l + 1)*pres_l/rho_l
1566 h_r = 1._wp + (gamma_r + 1)*pres_r/rho_r
1567# 278 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1568 cm%L(1:3) = (rho_l*h_l*ga%L**2 + b2%L)*vel_l(1:3) - vdotb%L*b%L(1:3)
1569 cm%R(1:3) = (rho_r*h_r*ga%R**2 + b2%R)*vel_r(1:3) - vdotb%R*b%R(1:3)
1570# 281 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1572 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
1573 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
1574 else if (mhd .and. .not. relativity)
then
1575# 286 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1576 pres_mag%L = 0.5_wp*(b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp)
1577 pres_mag%R = 0.5_wp*(b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp)
1578# 289 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1579 e_l = gamma_l*pres_l + pi_inf_l + 0.5_wp*rho_l*vel_l_rms + qv_l + pres_mag%L
1581 e_r = gamma_r*pres_r + pi_inf_r + 0.5_wp*rho_r*vel_r_rms + qv_r + pres_mag%R
1582 h_l = (e_l + pres_l - pres_mag%L)/rho_l
1584 h_r = (e_r + pres_r - pres_mag%R)/rho_r
1586 e_l = gamma_l*pres_l + pi_inf_l + 5.e-1*rho_l*vel_l_rms + qv_l
1587 e_r = gamma_r*pres_r + pi_inf_r + 5.e-1*rho_r*vel_r_rms + qv_r
1588 h_l = (e_l + pres_l)/rho_l
1589 h_r = (e_r + pres_r)/rho_r
1593 if (hypoelasticity)
then
1595# 304 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1596#if defined(MFC_OpenACC)
1597# 304 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1599# 304 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1600#elif defined(MFC_OpenMP)
1601# 304 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1603# 304 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1605 do i = 1, eqn_idx%stress%end - eqn_idx%stress%beg + 1
1606 tau_e_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%stress%beg - 1 + i)
1607 tau_e_r(i) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%stress%beg - 1 + i)
1610 damage_l = 0._wp; damage_r = 0._wp
1611 if (cont_damage)
then
1612 damage_l = ql_prim_rsx_vf(j, k, l, eqn_idx%damage)
1613 damage_r = qr_prim_rsx_vf(j, k, l, eqn_idx%damage)
1617 & tau_e_l, tau_e_r, g_l, g_r, e_l, e_r)
1621# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1622 rho_avg = sqrt(rho_l*rho_r)
1623# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1625# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1627# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1629# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1631# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1632#if defined(MFC_OpenACC)
1633# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1635# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1636#elif defined(MFC_OpenMP)
1637# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1639# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1641# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1643# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1644 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
1645# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1647# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1649# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1650 h_avg = (sqrt(rho_l)*h_l + sqrt(rho_r)*h_r)/(sqrt(rho_l) + sqrt(rho_r))
1651# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1653# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1654 gamma_avg = (sqrt(rho_l)*gamma_l + sqrt(rho_r)*gamma_r)/(sqrt(rho_l) + sqrt(rho_r))
1655# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1657# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1658 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
1659# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1661# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1662 qv_avg = (sqrt(rho_l)*qv_l + sqrt(rho_r)*qv_r)/(sqrt(rho_l) + sqrt(rho_r))
1663# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1665# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1667# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1669# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1670 call get_species_enthalpies_rt(t_l, h_il)
1671# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1672 call get_species_enthalpies_rt(t_r, h_ir)
1673# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1674 h_il = h_il*gas_constant/molecular_weights*t_l
1675# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1676 h_ir = h_ir*gas_constant/molecular_weights*t_r
1677# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1678 call get_species_specific_heats_r(t_l, cp_il)
1679# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1680 call get_species_specific_heats_r(t_r, cp_ir)
1681# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1683# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1684 h_avg_2 = (sqrt(rho_l)*h_il + sqrt(rho_r)*h_ir)/(sqrt(rho_l) + sqrt(rho_r))
1685# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1686 yi_avg = (sqrt(rho_l)*ys_l + sqrt(rho_r)*ys_r)/(sqrt(rho_l) + sqrt(rho_r))
1687# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1688 t_avg = (sqrt(rho_l)*t_l + sqrt(rho_r)*t_r)/(sqrt(rho_l) + sqrt(rho_r))
1689# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1690 if (abs(t_l - t_r) < eps)
then
1691# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1693# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1694 cp_avg = sum(yi_avg(:)*(0.5_wp*cp_il(:) + 0.5_wp*cp_ir(:))*gas_constant/molecular_weights(:))
1695# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1696 cv_avg = sum(yi_avg(:)*((0.5_wp*cp_il(:) + 0.5_wp*cp_ir(:))*gas_constant/molecular_weights(:) &
1697# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1698 & - gas_constant/molecular_weights(:)))
1699# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1701# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1703# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1704 cp_avg = sum(yi_avg(:)*(h_ir(:) - h_il(:))/(t_r - t_l))
1705# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1706 cv_avg = sum(yi_avg(:)*((h_ir(:) - h_il(:))/(t_r - t_l) - gas_constant/molecular_weights(:)))
1707# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1709# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1710 gamma_avg = cp_avg/cv_avg
1711# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1713# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1714 phi_avg(:) = (gamma_avg - 1._wp)*(vel_avg_rms/2.0_wp - h_avg_2(:)) + gamma_avg*gas_constant/molecular_weights(:)*t_avg
1715# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1716 c_sum_yi_phi = sum(yi_avg(:)*phi_avg(:))
1717# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1719# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1721# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1723# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1725# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1726 rho_avg = 5.e-1_wp*(rho_l + rho_r)
1727# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1729# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1731# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1732#if defined(MFC_OpenACC)
1733# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1735# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1736#elif defined(MFC_OpenMP)
1737# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1739# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1741# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1743# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1744 vel_avg_rms = vel_avg_rms + (5.e-1_wp*(vel_l(i) + vel_r(i)))**2._wp
1745# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1747# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1749# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1750 h_avg = 5.e-1_wp*(h_l + h_r)
1751# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1752 gamma_avg = 5.e-1_wp*(gamma_l + gamma_r)
1753# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1754 qv_avg = 5.e-1_wp*(qv_l + qv_r)
1755# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1768 & c_sum_yi_phi, c_avg, qv_avg)
1780# 343 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1781#if defined(MFC_OpenACC)
1782# 343 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1784# 343 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1785#elif defined(MFC_OpenMP)
1786# 343 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1788# 343 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1791 re_avg_rsx_vf(j, k, l, i) = 2._wp/(1._wp/re_l(i) + 1._wp/re_r(i))
1799 s_l = min(vel_l(
dir_idx(1)) - c_fast%L, vel_r(
dir_idx(1)) - c_fast%R)
1800 s_r = max(vel_r(
dir_idx(1)) + c_fast%R, vel_l(
dir_idx(1)) + c_fast%L)
1801 else if (hypoelasticity)
then
1803 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))) &
1805 & vel_r(
dir_idx(1)) - sqrt(c_r*c_r + (((4._wp*g_r)/3._wp) + tau_e_r(
dir_idx_tau(1))) &
1807 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))) &
1809 & vel_l(
dir_idx(1)) + sqrt(c_l*c_l + (((4._wp*g_l)/3._wp) + tau_e_l(
dir_idx_tau(1))) &
1811 else if (hyperelasticity)
then
1812 s_l = min(vel_l(
dir_idx(1)) - sqrt(c_l*c_l + (4._wp*g_l/3._wp)/rho_l), &
1813 & vel_r(
dir_idx(1)) - sqrt(c_r*c_r + (4._wp*g_r/3._wp)/rho_r))
1814 s_r = max(vel_r(
dir_idx(1)) + sqrt(c_r*c_r + (4._wp*g_r/3._wp)/rho_r), &
1815 & vel_l(
dir_idx(1)) + sqrt(c_l*c_l + (4._wp*g_l/3._wp)/rho_l))
1821 if (hyper_cleaning)
then
1823 s_l = min(s_l, -hyper_cleaning_speed)
1824 s_r = max(s_r, hyper_cleaning_speed)
1827 s_s = (pres_r - pres_l + rho_l*vel_l(
dir_idx(1))*(s_l - vel_l(
dir_idx(1))) &
1829 & - rho_r*(s_r - vel_r(
dir_idx(1))))
1831 pres_sl = 5.e-1_wp*(pres_l + pres_r + rho_avg*c_avg*(vel_l(
dir_idx(1)) - vel_r(
dir_idx(1))))
1837 & sqrt(1._wp + ((5.e-1_wp + gamma_l)/(1._wp + gamma_l))*(pres_sl/pres_l - 1._wp) &
1838 & *pres_l/((pres_l + pi_inf_l/(1._wp + gamma_l)))))
1840 & sqrt(1._wp + ((5.e-1_wp + gamma_r)/(1._wp + gamma_r))*(pres_sr/pres_r - 1._wp) &
1841 & *pres_r/((pres_r + pi_inf_r/(1._wp + gamma_r)))))
1843 s_l = vel_l(
dir_idx(1)) - c_l*ms_l
1844 s_r = vel_r(
dir_idx(1)) + c_r*ms_r
1846 s_s = 5.e-1_wp*((vel_l(
dir_idx(1)) + vel_r(
dir_idx(1))) + (pres_l - pres_r)/(rho_avg*c_avg))
1849 s_m = min(0._wp, s_l); s_p = max(0._wp, s_r)
1851 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, &
1853 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, &
1857 if (low_mach == 1)
then
1859# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1860 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
1861# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1863# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1865# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1866 if (low_mach == 1)
then
1867# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1868 pcorr = -(s_p - s_m)*(rho_l + rho_r)/8._wp*(zcoef - 1._wp)
1869# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1871# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1873# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1874 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
1875# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1877# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1879# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1880 if (low_mach == 1)
then
1881# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1883# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1884 & /(rho_r*(s_r - vel_r(
dir_idx(1))) - rho_l*(s_l - vel_l(
dir_idx(1))))*(zcoef - 1._wp)
1885# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1886 else if (low_mach == 2)
then
1887# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1889# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1891# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1893# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1895# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1897# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1904 if (.not. relativity)
then
1906# 419 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1907#if defined(MFC_OpenACC)
1908# 419 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1910# 419 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1911#elif defined(MFC_OpenMP)
1912# 419 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1914# 419 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1916 do i = 1, eqn_idx%cont%end
1918 & i) = (s_m*alpha_rho_r(i)*vel_r(norm_dir) - s_p*alpha_rho_l(i)*vel_l(norm_dir) &
1919 & + s_m*s_p*(alpha_rho_l(i) - alpha_rho_r(i)))/(s_m - s_p)
1921 else if (relativity)
then
1923# 426 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1924#if defined(MFC_OpenACC)
1925# 426 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1927# 426 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1928#elif defined(MFC_OpenMP)
1929# 426 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1931# 426 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1933 do i = 1, eqn_idx%cont%end
1935 & i) = (s_m*ga%R*alpha_rho_r(i)*vel_r(norm_dir) - s_p*ga%L*alpha_rho_l(i) &
1936 & *vel_l(norm_dir) + s_m*s_p*(ga%L*alpha_rho_l(i) - ga%R*alpha_rho_r(i)))/(s_m &
1942 if (mhd .and. (.not. relativity))
then
1944# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1945#if defined(MFC_OpenACC)
1946# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1948# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1949#elif defined(MFC_OpenMP)
1950# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1952# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1958 & eqn_idx%cont%end + i) = (s_m*(rho_r*vel_r(i)*vel_r(norm_dir) - b%R(i) &
1959 & *b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(rho_l*vel_l(i) &
1960 & *vel_l(norm_dir) - b%L(i)*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L)) &
1961 & + s_m*s_p*(rho_l*vel_l(i) - rho_r*vel_r(i)))/(s_m - s_p)
1963 else if (mhd .and. relativity)
then
1965# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1966#if defined(MFC_OpenACC)
1967# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1969# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1970#elif defined(MFC_OpenMP)
1971# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1973# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1979 & eqn_idx%cont%end + i) = (s_m*(cm%R(i)*vel_r(norm_dir) - b4%R(i) &
1980 & /ga%R*b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(cm%L(i) &
1981 & *vel_l(norm_dir) - b4%L(i)/ga%L*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L) &
1982 & ) + s_m*s_p*(cm%L(i) - cm%R(i)))/(s_m - s_p)
1984 else if (bubbles_euler)
then
1986# 459 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1987#if defined(MFC_OpenACC)
1988# 459 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1990# 459 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1991#elif defined(MFC_OpenMP)
1992# 459 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1994# 459 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2001 & + s_m*s_p*(rho_l*vel_l(
dir_idx(i)) - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) &
2002 & + (s_m/s_l)*(s_p/s_r)*pcorr*(vel_r(
dir_idx(i)) - vel_l(
dir_idx(i)))
2004 else if (hypoelasticity)
then
2006# 469 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2007#if defined(MFC_OpenACC)
2008# 469 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2010# 469 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2011#elif defined(MFC_OpenMP)
2012# 469 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2014# 469 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2022 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p)
2026# 479 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2027#if defined(MFC_OpenACC)
2028# 479 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2030# 479 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2031#elif defined(MFC_OpenMP)
2032# 479 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2034# 479 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2041 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) + (s_m/s_l)*(s_p/s_r) &
2047 if (mhd .and. (.not. relativity))
then
2049# 494 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2051 & eqn_idx%E) = (s_m*(vel_r(norm_dir)*(e_r + pres_r + pres_mag%R) - b%R(norm_dir) &
2052 & *(vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3))) - s_p*(vel_l(norm_dir) &
2053 & *(e_l + pres_l + pres_mag%L) - b%L(norm_dir)*(vel_l(1)*b%L(1) + vel_l(2)*b%L(2) &
2054 & + vel_l(3)*b%L(3))) + s_m*s_p*(e_l - e_r))/(s_m - s_p)
2055# 500 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2056 else if (mhd .and. relativity)
then
2059 & eqn_idx%E) = (s_m*(cm%R(norm_dir) - ga%R*alpha_rho_r(1)*vel_r(norm_dir)) &
2060 & - s_p*(cm%L(norm_dir) - ga%L*alpha_rho_l(1)*vel_l(norm_dir)) + s_m*s_p*(e_l - e_r)) &
2062 else if (bubbles_euler)
then
2064 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r - ptilde_r) - s_p*vel_l(
dir_idx(1) &
2065 & )*(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) &
2066 & *pcorr*(vel_r_rms - vel_l_rms)/2._wp
2067 else if (hypoelasticity)
then
2068 flux_tau_l = 0._wp; flux_tau_r = 0._wp
2070# 513 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2071#if defined(MFC_OpenACC)
2072# 513 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2074# 513 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2075#elif defined(MFC_OpenMP)
2076# 513 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2078# 513 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2085 & eqn_idx%E) = (s_m*(vel_r(
dir_idx(1))*(e_r + pres_r) - flux_tau_r) &
2086 & - s_p*(vel_l(
dir_idx(1))*(e_l + pres_l) - flux_tau_l) + s_m*s_p*(e_l - e_r))/(s_m &
2090 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r) - s_p*vel_l(
dir_idx(1))*(e_l &
2091 & + 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 &
2092 & - vel_l_rms)/2._wp
2096 if (hypoelasticity)
then
2097 do i = 1, eqn_idx%stress%end - eqn_idx%stress%beg + 1
2099 & eqn_idx%stress%beg - 1 + i) = (s_m*(rho_r*vel_r(
dir_idx(1))*tau_e_r(i)) &
2100 & - s_p*(rho_l*vel_l(
dir_idx(1))*tau_e_l(i)) + s_m*s_p*(rho_l*tau_e_l(i) &
2101 & - rho_r*tau_e_r(i)))/(s_m - s_p)
2107# 540 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2108#if defined(MFC_OpenACC)
2109# 540 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2111# 540 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2112#elif defined(MFC_OpenMP)
2113# 540 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2115# 540 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2117 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2118 flux_rsx_vf(j, k, l, i) = (ql_prim_rsx_vf(j, k, l, i) - qr_prim_rsx_vf(j, k + 1, l, &
2119 & i))*s_m*s_p/(s_m - s_p)
2121 & i) - s_p*ql_prim_rsx_vf(j, k, l, i))/(s_m - s_p)
2124 if (bubbles_euler)
then
2126 if (num_fluids > 1)
then
2133# 556 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2134#if defined(MFC_OpenACC)
2135# 556 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2137# 556 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2138#elif defined(MFC_OpenMP)
2139# 556 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2141# 556 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2143 do i = eqn_idx%species%beg, eqn_idx%species%end
2144 y_l = ql_prim_rsx_vf(j, k, l, i)
2145 y_r = qr_prim_rsx_vf(j, k + 1, l, i)
2148 & i) = (s_m*y_r*rho_r*vel_r(
dir_idx(1)) - s_p*y_l*rho_l*vel_l(
dir_idx(1)) &
2149 & + s_m*s_p*(y_l*rho_l - y_r*rho_r))/(s_m - s_p)
2159# 572 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2160#if defined(MFC_OpenACC)
2161# 572 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2163# 572 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2164#elif defined(MFC_OpenMP)
2165# 572 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2167# 572 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2171 & eqn_idx%B%beg + i) = (s_m*(vel_r(1)*b%R(2 + i) - vel_r(2 + i)*bx0) &
2172 & - s_p*(vel_l(1)*b%L(2 + i) - vel_l(2 + i)*bx0) + s_m*s_p*(b%L(2 + i) &
2173 & - b%R(2 + i)))/(s_m - s_p)
2180# 583 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2181#if defined(MFC_OpenACC)
2182# 583 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2184# 583 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2185#elif defined(MFC_OpenMP)
2186# 583 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2188# 583 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2192 & eqn_idx%B%beg + i) = (s_m*(vel_r(
dir_idx(1))*b%R(i + 1) - vel_r(i + 1) &
2193 & *b%R(norm_dir)) - s_p*(vel_l(
dir_idx(1))*b%L(i + 1) - vel_l(i + 1) &
2194 & *b%L(norm_dir)) + s_m*s_p*(b%L(i + 1) - b%R(i + 1)))/(s_m - s_p)
2197 if (hyper_cleaning)
then
2200 & eqn_idx%B%beg + norm_dir - 1) + (s_m*qr_prim_rsx_vf(j, k + 1, l, &
2201 & eqn_idx%psi) - s_p*ql_prim_rsx_vf(j, k, l, eqn_idx%psi))/(s_m - s_p)
2204 & eqn_idx%psi) = (hyper_cleaning_speed**2*(s_m*b%R(norm_dir) &
2205 & - s_p*b%L(norm_dir)) + s_m*s_p*(ql_prim_rsx_vf(j, k, l, &
2206 & eqn_idx%psi) - qr_prim_rsx_vf(j, k + 1, l, eqn_idx%psi)))/(s_m - s_p)
2209 flux_rsx_vf(j, k, l, eqn_idx%B%beg + norm_dir - 1) = 0._wp
2215# 610 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2219# 612 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2220#if defined(MFC_OpenACC)
2221# 612 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2223# 612 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2224#elif defined(MFC_OpenMP)
2225# 612 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2227# 612 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2234 & eqn_idx%cont%end + 2) - (s_m*pres_r - s_p*pres_l)/(s_m - s_p)
2237# 620 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2238#if defined(MFC_OpenACC)
2239# 620 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2241# 620 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2242#elif defined(MFC_OpenMP)
2243# 620 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2245# 620 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2247 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2252 if (cyl_coord .and. hypoelasticity)
then
2255 & eqn_idx%cont%end + 2) + (s_m*tau_e_r(4) - s_p*tau_e_l(4))/(s_m - s_p)
2258# 631 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2259#if defined(MFC_OpenACC)
2260# 631 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2262# 631 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2263#elif defined(MFC_OpenMP)
2264# 631 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2266# 631 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2268 do i = eqn_idx%stress%beg, eqn_idx%stress%end
2272# 637 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2277# 640 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2278#if defined(MFC_OpenACC)
2279# 640 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2281# 640 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2282#elif defined(MFC_OpenMP)
2283# 640 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2285# 640 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2287# 640 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2290# 113 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2291# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2292# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2293 if (norm_dir == 3)
then
2295# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2297# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2298#if defined(MFC_OpenACC)
2299# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2301# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2303# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2305# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2306#elif defined(MFC_OpenMP)
2307# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2309# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2311# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2313# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2315# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2317# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2319# 116 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2321# 126 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2326# 129 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2327#if defined(MFC_OpenACC)
2328# 129 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2330# 129 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2331#elif defined(MFC_OpenMP)
2332# 129 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2334# 129 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2336 do i = 1, eqn_idx%cont%end
2337 alpha_rho_l(i) = ql_prim_rsx_vf(j, k, l, i)
2338 alpha_rho_r(i) = qr_prim_rsx_vf(j, k, l + 1, i)
2341 vel_l_rms = 0._wp; vel_r_rms = 0._wp
2344# 137 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2345#if defined(MFC_OpenACC)
2346# 137 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2348# 137 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2349#elif defined(MFC_OpenMP)
2350# 137 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2352# 137 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2355 vel_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%cont%end + i)
2356 vel_r(i) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%cont%end + i)
2357 vel_l_rms = vel_l_rms + vel_l(i)**2._wp
2358 vel_r_rms = vel_r_rms + vel_r(i)**2._wp
2362# 145 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2363#if defined(MFC_OpenACC)
2364# 145 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2366# 145 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2367#elif defined(MFC_OpenMP)
2368# 145 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2370# 145 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2372 do i = 1, num_fluids
2373 alpha_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%E + i)
2374 alpha_r(i) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%E + i)
2377 pres_l = ql_prim_rsx_vf(j, k, l, eqn_idx%E)
2378 pres_r = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%E)
2384 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
2385 b%R(2) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%B%beg)
2386 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
2387 b%R(3) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%B%beg + 1)
2389 b%L(1) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
2390 b%R(1) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%B%beg)
2391 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
2392 b%R(2) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%B%beg + 1)
2393 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 2)
2394 b%R(3) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%B%beg + 2)
2416# 189 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2417#if defined(MFC_OpenACC)
2418# 189 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2420# 189 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2421#elif defined(MFC_OpenMP)
2422# 189 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2424# 189 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2426 do i = 1, num_fluids
2427 alpha_rho_l(i) = max(0._wp, alpha_rho_l(i))
2428 alpha_l(i) = min(max(0._wp, alpha_l(i)), 1._wp)
2429 alpha_l_sum = alpha_l_sum + alpha_l(i)
2430 alpha_rho_r(i) = max(0._wp, alpha_rho_r(i))
2431 alpha_r(i) = min(max(0._wp, alpha_r(i)), 1._wp)
2432 alpha_r_sum = alpha_r_sum + alpha_r(i)
2435 alpha_l = alpha_l/max(alpha_l_sum,
sgm_eps)
2436 alpha_r = alpha_r/max(alpha_r_sum,
sgm_eps)
2449# 212 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2450#if defined(MFC_OpenACC)
2451# 212 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2453# 212 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2454#elif defined(MFC_OpenMP)
2455# 212 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2457# 212 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2459 do i = eqn_idx%species%beg, eqn_idx%species%end
2460 ys_l(i - eqn_idx%species%beg + 1) = ql_prim_rsx_vf(j, k, l, i)
2461 ys_r(i - eqn_idx%species%beg + 1) = qr_prim_rsx_vf(j, k, l + 1, i)
2464 call get_mixture_molecular_weight(ys_l, mw_l)
2465 call get_mixture_molecular_weight(ys_r, mw_r)
2466 xs_l(:) = ys_l(:)*mw_l/molecular_weights(:)
2467 xs_r(:) = ys_r(:)*mw_r/molecular_weights(:)
2469 r_gas_l = gas_constant/mw_l
2470 r_gas_r = gas_constant/mw_r
2471 t_l = pres_l/rho_l/r_gas_l
2472 t_r = pres_r/rho_r/r_gas_r
2474 call get_species_specific_heats_r(t_l, cp_il)
2475 call get_species_specific_heats_r(t_r, cp_ir)
2477 if (chem_params%gamma_method == 1)
then
2479 gamma_il = cp_il/(cp_il - 1.0_wp)
2480 gamma_ir = cp_ir/(cp_ir - 1.0_wp)
2482 gamma_l = sum(xs_l(:)/(gamma_il(:) - 1.0_wp))
2483 gamma_r = sum(xs_r(:)/(gamma_ir(:) - 1.0_wp))
2484 else if (chem_params%gamma_method == 2)
then
2486 call get_mixture_specific_heat_cp_mass(t_l, ys_l, cp_l)
2487 call get_mixture_specific_heat_cp_mass(t_r, ys_r, cp_r)
2488 call get_mixture_specific_heat_cv_mass(t_l, ys_l, cv_l)
2489 call get_mixture_specific_heat_cv_mass(t_r, ys_r, cv_r)
2492 gamma_l = 1.0_wp/(gamm_l - 1.0_wp)
2494 gamma_r = 1.0_wp/(gamm_r - 1.0_wp)
2497 call get_mixture_energy_mass(t_l, ys_l, e_l)
2498 call get_mixture_energy_mass(t_r, ys_r, e_r)
2500 e_l = rho_l*e_l + 5.e-1*rho_l*vel_l_rms
2501 e_r = rho_r*e_r + 5.e-1*rho_r*vel_r_rms
2502 h_l = (e_l + pres_l)/rho_l
2503 h_r = (e_r + pres_r)/rho_r
2504 else if (mhd .and. relativity)
then
2505 ga%L = 1._wp/sqrt(1._wp - vel_l_rms)
2506 ga%R = 1._wp/sqrt(1._wp - vel_r_rms)
2507# 262 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2508 vdotb%L = vel_l(1)*b%L(1) + vel_l(2)*b%L(2) + vel_l(3)*b%L(3)
2509 vdotb%R = vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3)
2511 b4%L(1:3) = b%L(1:3)/ga%L + ga%L*vel_l(1:3)*vdotb%L
2512 b4%R(1:3) = b%R(1:3)/ga%R + ga%R*vel_r(1:3)*vdotb%R
2513 b2%L = b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp
2514 b2%R = b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp
2515# 270 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2517 pres_mag%L = 0.5_wp*(b2%L/ga%L**2._wp + vdotb%L**2._wp)
2518 pres_mag%R = 0.5_wp*(b2%R/ga%R**2._wp + vdotb%R**2._wp)
2521 h_l = 1._wp + (gamma_l + 1)*pres_l/rho_l
2522 h_r = 1._wp + (gamma_r + 1)*pres_r/rho_r
2523# 278 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2524 cm%L(1:3) = (rho_l*h_l*ga%L**2 + b2%L)*vel_l(1:3) - vdotb%L*b%L(1:3)
2525 cm%R(1:3) = (rho_r*h_r*ga%R**2 + b2%R)*vel_r(1:3) - vdotb%R*b%R(1:3)
2526# 281 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2528 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
2529 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
2530 else if (mhd .and. .not. relativity)
then
2531# 286 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2532 pres_mag%L = 0.5_wp*(b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp)
2533 pres_mag%R = 0.5_wp*(b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp)
2534# 289 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2535 e_l = gamma_l*pres_l + pi_inf_l + 0.5_wp*rho_l*vel_l_rms + qv_l + pres_mag%L
2537 e_r = gamma_r*pres_r + pi_inf_r + 0.5_wp*rho_r*vel_r_rms + qv_r + pres_mag%R
2538 h_l = (e_l + pres_l - pres_mag%L)/rho_l
2540 h_r = (e_r + pres_r - pres_mag%R)/rho_r
2542 e_l = gamma_l*pres_l + pi_inf_l + 5.e-1*rho_l*vel_l_rms + qv_l
2543 e_r = gamma_r*pres_r + pi_inf_r + 5.e-1*rho_r*vel_r_rms + qv_r
2544 h_l = (e_l + pres_l)/rho_l
2545 h_r = (e_r + pres_r)/rho_r
2549 if (hypoelasticity)
then
2551# 304 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2552#if defined(MFC_OpenACC)
2553# 304 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2555# 304 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2556#elif defined(MFC_OpenMP)
2557# 304 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2559# 304 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2561 do i = 1, eqn_idx%stress%end - eqn_idx%stress%beg + 1
2562 tau_e_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%stress%beg - 1 + i)
2563 tau_e_r(i) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%stress%beg - 1 + i)
2566 damage_l = 0._wp; damage_r = 0._wp
2567 if (cont_damage)
then
2568 damage_l = ql_prim_rsx_vf(j, k, l, eqn_idx%damage)
2569 damage_r = qr_prim_rsx_vf(j, k, l, eqn_idx%damage)
2573 & tau_e_l, tau_e_r, g_l, g_r, e_l, e_r)
2577# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2578 rho_avg = sqrt(rho_l*rho_r)
2579# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2581# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2583# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2585# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2587# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2588#if defined(MFC_OpenACC)
2589# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2591# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2592#elif defined(MFC_OpenMP)
2593# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2595# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2597# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2599# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2600 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
2601# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2603# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2605# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2606 h_avg = (sqrt(rho_l)*h_l + sqrt(rho_r)*h_r)/(sqrt(rho_l) + sqrt(rho_r))
2607# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2609# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2610 gamma_avg = (sqrt(rho_l)*gamma_l + sqrt(rho_r)*gamma_r)/(sqrt(rho_l) + sqrt(rho_r))
2611# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2613# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2614 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
2615# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2617# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2618 qv_avg = (sqrt(rho_l)*qv_l + sqrt(rho_r)*qv_r)/(sqrt(rho_l) + sqrt(rho_r))
2619# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2621# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2623# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2625# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2626 call get_species_enthalpies_rt(t_l, h_il)
2627# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2628 call get_species_enthalpies_rt(t_r, h_ir)
2629# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2630 h_il = h_il*gas_constant/molecular_weights*t_l
2631# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2632 h_ir = h_ir*gas_constant/molecular_weights*t_r
2633# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2634 call get_species_specific_heats_r(t_l, cp_il)
2635# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2636 call get_species_specific_heats_r(t_r, cp_ir)
2637# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2639# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2640 h_avg_2 = (sqrt(rho_l)*h_il + sqrt(rho_r)*h_ir)/(sqrt(rho_l) + sqrt(rho_r))
2641# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2642 yi_avg = (sqrt(rho_l)*ys_l + sqrt(rho_r)*ys_r)/(sqrt(rho_l) + sqrt(rho_r))
2643# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2644 t_avg = (sqrt(rho_l)*t_l + sqrt(rho_r)*t_r)/(sqrt(rho_l) + sqrt(rho_r))
2645# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2646 if (abs(t_l - t_r) < eps)
then
2647# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2649# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2650 cp_avg = sum(yi_avg(:)*(0.5_wp*cp_il(:) + 0.5_wp*cp_ir(:))*gas_constant/molecular_weights(:))
2651# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2652 cv_avg = sum(yi_avg(:)*((0.5_wp*cp_il(:) + 0.5_wp*cp_ir(:))*gas_constant/molecular_weights(:) &
2653# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2654 & - gas_constant/molecular_weights(:)))
2655# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2657# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2659# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2660 cp_avg = sum(yi_avg(:)*(h_ir(:) - h_il(:))/(t_r - t_l))
2661# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2662 cv_avg = sum(yi_avg(:)*((h_ir(:) - h_il(:))/(t_r - t_l) - gas_constant/molecular_weights(:)))
2663# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2665# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2666 gamma_avg = cp_avg/cv_avg
2667# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2669# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2670 phi_avg(:) = (gamma_avg - 1._wp)*(vel_avg_rms/2.0_wp - h_avg_2(:)) + gamma_avg*gas_constant/molecular_weights(:)*t_avg
2671# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2672 c_sum_yi_phi = sum(yi_avg(:)*phi_avg(:))
2673# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2675# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2677# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2679# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2681# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2682 rho_avg = 5.e-1_wp*(rho_l + rho_r)
2683# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2685# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2687# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2688#if defined(MFC_OpenACC)
2689# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2691# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2692#elif defined(MFC_OpenMP)
2693# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2695# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2697# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2699# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2700 vel_avg_rms = vel_avg_rms + (5.e-1_wp*(vel_l(i) + vel_r(i)))**2._wp
2701# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2703# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2705# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2706 h_avg = 5.e-1_wp*(h_l + h_r)
2707# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2708 gamma_avg = 5.e-1_wp*(gamma_l + gamma_r)
2709# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2710 qv_avg = 5.e-1_wp*(qv_l + qv_r)
2711# 320 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2724 & c_sum_yi_phi, c_avg, qv_avg)
2736# 343 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2737#if defined(MFC_OpenACC)
2738# 343 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2740# 343 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2741#elif defined(MFC_OpenMP)
2742# 343 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2744# 343 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2747 re_avg_rsx_vf(j, k, l, i) = 2._wp/(1._wp/re_l(i) + 1._wp/re_r(i))
2755 s_l = min(vel_l(
dir_idx(1)) - c_fast%L, vel_r(
dir_idx(1)) - c_fast%R)
2756 s_r = max(vel_r(
dir_idx(1)) + c_fast%R, vel_l(
dir_idx(1)) + c_fast%L)
2757 else if (hypoelasticity)
then
2759 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))) &
2761 & vel_r(
dir_idx(1)) - sqrt(c_r*c_r + (((4._wp*g_r)/3._wp) + tau_e_r(
dir_idx_tau(1))) &
2763 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))) &
2765 & vel_l(
dir_idx(1)) + sqrt(c_l*c_l + (((4._wp*g_l)/3._wp) + tau_e_l(
dir_idx_tau(1))) &
2767 else if (hyperelasticity)
then
2768 s_l = min(vel_l(
dir_idx(1)) - sqrt(c_l*c_l + (4._wp*g_l/3._wp)/rho_l), &
2769 & vel_r(
dir_idx(1)) - sqrt(c_r*c_r + (4._wp*g_r/3._wp)/rho_r))
2770 s_r = max(vel_r(
dir_idx(1)) + sqrt(c_r*c_r + (4._wp*g_r/3._wp)/rho_r), &
2771 & vel_l(
dir_idx(1)) + sqrt(c_l*c_l + (4._wp*g_l/3._wp)/rho_l))
2777 if (hyper_cleaning)
then
2779 s_l = min(s_l, -hyper_cleaning_speed)
2780 s_r = max(s_r, hyper_cleaning_speed)
2783 s_s = (pres_r - pres_l + rho_l*vel_l(
dir_idx(1))*(s_l - vel_l(
dir_idx(1))) &
2785 & - rho_r*(s_r - vel_r(
dir_idx(1))))
2787 pres_sl = 5.e-1_wp*(pres_l + pres_r + rho_avg*c_avg*(vel_l(
dir_idx(1)) - vel_r(
dir_idx(1))))
2793 & sqrt(1._wp + ((5.e-1_wp + gamma_l)/(1._wp + gamma_l))*(pres_sl/pres_l - 1._wp) &
2794 & *pres_l/((pres_l + pi_inf_l/(1._wp + gamma_l)))))
2796 & sqrt(1._wp + ((5.e-1_wp + gamma_r)/(1._wp + gamma_r))*(pres_sr/pres_r - 1._wp) &
2797 & *pres_r/((pres_r + pi_inf_r/(1._wp + gamma_r)))))
2799 s_l = vel_l(
dir_idx(1)) - c_l*ms_l
2800 s_r = vel_r(
dir_idx(1)) + c_r*ms_r
2802 s_s = 5.e-1_wp*((vel_l(
dir_idx(1)) + vel_r(
dir_idx(1))) + (pres_l - pres_r)/(rho_avg*c_avg))
2805 s_m = min(0._wp, s_l); s_p = max(0._wp, s_r)
2807 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, &
2809 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, &
2813 if (low_mach == 1)
then
2815# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2816 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
2817# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2819# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2821# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2822 if (low_mach == 1)
then
2823# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2824 pcorr = -(s_p - s_m)*(rho_l + rho_r)/8._wp*(zcoef - 1._wp)
2825# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2827# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2829# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2830 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
2831# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2833# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2835# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2836 if (low_mach == 1)
then
2837# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2839# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2840 & /(rho_r*(s_r - vel_r(
dir_idx(1))) - rho_l*(s_l - vel_l(
dir_idx(1))))*(zcoef - 1._wp)
2841# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2842 else if (low_mach == 2)
then
2843# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2845# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2847# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2849# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2851# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2853# 412 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2860 if (.not. relativity)
then
2862# 419 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2863#if defined(MFC_OpenACC)
2864# 419 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2866# 419 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2867#elif defined(MFC_OpenMP)
2868# 419 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2870# 419 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2872 do i = 1, eqn_idx%cont%end
2874 & i) = (s_m*alpha_rho_r(i)*vel_r(norm_dir) - s_p*alpha_rho_l(i)*vel_l(norm_dir) &
2875 & + s_m*s_p*(alpha_rho_l(i) - alpha_rho_r(i)))/(s_m - s_p)
2877 else if (relativity)
then
2879# 426 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2880#if defined(MFC_OpenACC)
2881# 426 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2883# 426 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2884#elif defined(MFC_OpenMP)
2885# 426 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2887# 426 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2889 do i = 1, eqn_idx%cont%end
2891 & i) = (s_m*ga%R*alpha_rho_r(i)*vel_r(norm_dir) - s_p*ga%L*alpha_rho_l(i) &
2892 & *vel_l(norm_dir) + s_m*s_p*(ga%L*alpha_rho_l(i) - ga%R*alpha_rho_r(i)))/(s_m &
2898 if (mhd .and. (.not. relativity))
then
2900# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2901#if defined(MFC_OpenACC)
2902# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2904# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2905#elif defined(MFC_OpenMP)
2906# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2908# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2914 & eqn_idx%cont%end + i) = (s_m*(rho_r*vel_r(i)*vel_r(norm_dir) - b%R(i) &
2915 & *b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(rho_l*vel_l(i) &
2916 & *vel_l(norm_dir) - b%L(i)*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L)) &
2917 & + s_m*s_p*(rho_l*vel_l(i) - rho_r*vel_r(i)))/(s_m - s_p)
2919 else if (mhd .and. relativity)
then
2921# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2922#if defined(MFC_OpenACC)
2923# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2925# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2926#elif defined(MFC_OpenMP)
2927# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2929# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2935 & eqn_idx%cont%end + i) = (s_m*(cm%R(i)*vel_r(norm_dir) - b4%R(i) &
2936 & /ga%R*b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(cm%L(i) &
2937 & *vel_l(norm_dir) - b4%L(i)/ga%L*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L) &
2938 & ) + s_m*s_p*(cm%L(i) - cm%R(i)))/(s_m - s_p)
2940 else if (bubbles_euler)
then
2942# 459 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2943#if defined(MFC_OpenACC)
2944# 459 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2946# 459 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2947#elif defined(MFC_OpenMP)
2948# 459 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2950# 459 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2957 & + s_m*s_p*(rho_l*vel_l(
dir_idx(i)) - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) &
2958 & + (s_m/s_l)*(s_p/s_r)*pcorr*(vel_r(
dir_idx(i)) - vel_l(
dir_idx(i)))
2960 else if (hypoelasticity)
then
2962# 469 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2963#if defined(MFC_OpenACC)
2964# 469 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2966# 469 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2967#elif defined(MFC_OpenMP)
2968# 469 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2970# 469 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2978 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p)
2982# 479 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2983#if defined(MFC_OpenACC)
2984# 479 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2986# 479 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2987#elif defined(MFC_OpenMP)
2988# 479 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2990# 479 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2997 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) + (s_m/s_l)*(s_p/s_r) &
3003 if (mhd .and. (.not. relativity))
then
3005# 494 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3007 & eqn_idx%E) = (s_m*(vel_r(norm_dir)*(e_r + pres_r + pres_mag%R) - b%R(norm_dir) &
3008 & *(vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3))) - s_p*(vel_l(norm_dir) &
3009 & *(e_l + pres_l + pres_mag%L) - b%L(norm_dir)*(vel_l(1)*b%L(1) + vel_l(2)*b%L(2) &
3010 & + vel_l(3)*b%L(3))) + s_m*s_p*(e_l - e_r))/(s_m - s_p)
3011# 500 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3012 else if (mhd .and. relativity)
then
3015 & eqn_idx%E) = (s_m*(cm%R(norm_dir) - ga%R*alpha_rho_r(1)*vel_r(norm_dir)) &
3016 & - s_p*(cm%L(norm_dir) - ga%L*alpha_rho_l(1)*vel_l(norm_dir)) + s_m*s_p*(e_l - e_r)) &
3018 else if (bubbles_euler)
then
3020 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r - ptilde_r) - s_p*vel_l(
dir_idx(1) &
3021 & )*(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) &
3022 & *pcorr*(vel_r_rms - vel_l_rms)/2._wp
3023 else if (hypoelasticity)
then
3024 flux_tau_l = 0._wp; flux_tau_r = 0._wp
3026# 513 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3027#if defined(MFC_OpenACC)
3028# 513 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3030# 513 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3031#elif defined(MFC_OpenMP)
3032# 513 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3034# 513 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3041 & eqn_idx%E) = (s_m*(vel_r(
dir_idx(1))*(e_r + pres_r) - flux_tau_r) &
3042 & - s_p*(vel_l(
dir_idx(1))*(e_l + pres_l) - flux_tau_l) + s_m*s_p*(e_l - e_r))/(s_m &
3046 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r) - s_p*vel_l(
dir_idx(1))*(e_l &
3047 & + 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 &
3048 & - vel_l_rms)/2._wp
3052 if (hypoelasticity)
then
3053 do i = 1, eqn_idx%stress%end - eqn_idx%stress%beg + 1
3055 & eqn_idx%stress%beg - 1 + i) = (s_m*(rho_r*vel_r(
dir_idx(1))*tau_e_r(i)) &
3056 & - s_p*(rho_l*vel_l(
dir_idx(1))*tau_e_l(i)) + s_m*s_p*(rho_l*tau_e_l(i) &
3057 & - rho_r*tau_e_r(i)))/(s_m - s_p)
3063# 540 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3064#if defined(MFC_OpenACC)
3065# 540 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3067# 540 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3068#elif defined(MFC_OpenMP)
3069# 540 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3071# 540 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3073 do i = eqn_idx%adv%beg, eqn_idx%adv%end
3074 flux_rsx_vf(j, k, l, i) = (ql_prim_rsx_vf(j, k, l, i) - qr_prim_rsx_vf(j, k, l + 1, &
3075 & i))*s_m*s_p/(s_m - s_p)
3077 & i) - s_p*ql_prim_rsx_vf(j, k, l, i))/(s_m - s_p)
3080 if (bubbles_euler)
then
3082 if (num_fluids > 1)
then
3089# 556 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3090#if defined(MFC_OpenACC)
3091# 556 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3093# 556 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3094#elif defined(MFC_OpenMP)
3095# 556 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3097# 556 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3099 do i = eqn_idx%species%beg, eqn_idx%species%end
3100 y_l = ql_prim_rsx_vf(j, k, l, i)
3101 y_r = qr_prim_rsx_vf(j, k, l + 1, i)
3104 & i) = (s_m*y_r*rho_r*vel_r(
dir_idx(1)) - s_p*y_l*rho_l*vel_l(
dir_idx(1)) &
3105 & + s_m*s_p*(y_l*rho_l - y_r*rho_r))/(s_m - s_p)
3115# 572 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3116#if defined(MFC_OpenACC)
3117# 572 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3119# 572 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3120#elif defined(MFC_OpenMP)
3121# 572 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3123# 572 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3127 & eqn_idx%B%beg + i) = (s_m*(vel_r(1)*b%R(2 + i) - vel_r(2 + i)*bx0) &
3128 & - s_p*(vel_l(1)*b%L(2 + i) - vel_l(2 + i)*bx0) + s_m*s_p*(b%L(2 + i) &
3129 & - b%R(2 + i)))/(s_m - s_p)
3136# 583 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3137#if defined(MFC_OpenACC)
3138# 583 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3140# 583 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3141#elif defined(MFC_OpenMP)
3142# 583 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3144# 583 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3148 & eqn_idx%B%beg + i) = (s_m*(vel_r(
dir_idx(1))*b%R(i + 1) - vel_r(i + 1) &
3149 & *b%R(norm_dir)) - s_p*(vel_l(
dir_idx(1))*b%L(i + 1) - vel_l(i + 1) &
3150 & *b%L(norm_dir)) + s_m*s_p*(b%L(i + 1) - b%R(i + 1)))/(s_m - s_p)
3153 if (hyper_cleaning)
then
3156 & eqn_idx%B%beg + norm_dir - 1) + (s_m*qr_prim_rsx_vf(j, k, l + 1, &
3157 & eqn_idx%psi) - s_p*ql_prim_rsx_vf(j, k, l, eqn_idx%psi))/(s_m - s_p)
3160 & eqn_idx%psi) = (hyper_cleaning_speed**2*(s_m*b%R(norm_dir) &
3161 & - s_p*b%L(norm_dir)) + s_m*s_p*(ql_prim_rsx_vf(j, k, l, &
3162 & eqn_idx%psi) - qr_prim_rsx_vf(j, k, l + 1, eqn_idx%psi)))/(s_m - s_p)
3165 flux_rsx_vf(j, k, l, eqn_idx%B%beg + norm_dir - 1) = 0._wp
3171# 637 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3176# 640 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3177#if defined(MFC_OpenACC)
3178# 640 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3180# 640 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3181#elif defined(MFC_OpenMP)
3182# 640 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3184# 640 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3186# 640 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3189# 643 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3192 if (weno_re_flux)
then
3194 & dql_prim_dx_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3195 & dql_prim_dy_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3196 & dql_prim_dz_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3197 & qr_prim_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3198 & dqr_prim_dx_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3199 & dqr_prim_dy_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3200 & dqr_prim_dz_vf(eqn_idx%mom%beg:eqn_idx%mom%end), flux_src_vf, q_prim_vf, &
3201 & norm_dir, ix, iy, iz)
3204 & dql_prim_dx_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3205 & dql_prim_dy_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3206 & dql_prim_dz_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3207 & q_prim_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3208 & dqr_prim_dx_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3209 & dqr_prim_dy_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3210 & dqr_prim_dz_vf(eqn_idx%mom%beg:eqn_idx%mom%end), flux_src_vf, q_prim_vf, &
3211 & norm_dir, ix, iy, iz)