365 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, &
366 & dqR_prim_dx_vf, dqR_prim_dy_vf, dqR_prim_dz_vf, qR_prim_vf, q_prim_vf, flux_vf, &
367 & flux_src_vf, flux_gsrc_vf, norm_dir, ix, iy, iz)
369 real(wp),
dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:),
intent(inout) :: qL_prim_rsx_vf, qR_prim_rsx_vf
370 type(
scalar_field),
dimension(sys_size),
intent(in) :: q_prim_vf
371 type(
scalar_field),
allocatable,
dimension(:),
intent(inout) :: qL_prim_vf, qR_prim_vf
372 type(
scalar_field),
allocatable,
dimension(:),
intent(inout) :: dqL_prim_dx_vf, dqR_prim_dx_vf, dqL_prim_dy_vf, &
373 & dqR_prim_dy_vf, dqL_prim_dz_vf, dqR_prim_dz_vf
376 type(
scalar_field),
dimension(sys_size),
intent(inout) :: flux_vf, flux_src_vf, flux_gsrc_vf
377 real(wp) :: flux_tau_L, flux_tau_R
378 integer,
intent(in) :: norm_dir
381# 52 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
382 real(wp),
dimension(num_fluids) :: alpha_rho_L, alpha_rho_R
383 real(wp),
dimension(num_vels) :: vel_L, vel_R
384 real(wp),
dimension(num_fluids) :: alpha_L, alpha_R
385 real(wp),
dimension(num_species) :: Ys_L, Ys_R
386 real(wp),
dimension(num_species) :: Cp_iL, Cp_iR, Xs_L, Xs_R, Gamma_iL, Gamma_iR
387 real(wp),
dimension(num_species) :: Yi_avg, Phi_avg, h_iL, h_iR, h_avg_2
388# 59 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
389 real(wp) :: rho_L, rho_R
390 real(wp) :: pres_L, pres_R
393 real(wp) :: Cp_avg, Cv_avg, T_avg, eps, c_sum_Yi_Phi
396 real(wp) :: MW_L, MW_R
397 real(wp) :: R_gas_L, R_gas_R
398 real(wp) :: Cp_L, Cp_R
399 real(wp) :: Cv_L, Cv_R
400 real(wp) :: Gamm_L, Gamm_R
401 real(wp) :: gamma_L, gamma_R
402 real(wp) :: pi_inf_L, pi_inf_R
403 real(wp) :: qv_L, qv_R
405 real(wp),
dimension(6) :: tau_e_L, tau_e_R
407 real(wp) :: damage_L, damage_R
408 real(wp),
dimension(2) :: Re_L, Re_R
412 real(wp) :: gamma_avg
414 real(wp) :: s_L, s_R, s_M, s_P, s_S
415 real(wp) :: xi_M, xi_P
416 real(wp) :: ptilde_L, ptilde_R
417 real(wp) :: vel_L_rms, vel_R_rms, vel_avg_rms
418 real(wp) :: vel_L_tmp, vel_R_tmp
419 real(wp) :: Ms_L, Ms_R, pres_SL, pres_SR
420 real(wp) :: alpha_L_sum, alpha_R_sum
421 real(wp) :: zcoef, pcorr
428 integer :: i, j, k, l
429 integer :: Re_size_loc1, Re_size_loc2
433 & qr_prim_rsx_vf, dqr_prim_dx_vf, dqr_prim_dy_vf, dqr_prim_dz_vf, norm_dir, ix, iy, iz)
437 re_size_loc1 = re_size(1); re_size_loc2 = re_size(2)
438# 112 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
439# 113 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
440# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
441 if (norm_dir == 1)
then
443# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
445# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
446#if defined(MFC_OpenACC)
447# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
449# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
451# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
453# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
455# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
457# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
458#elif defined(MFC_OpenMP)
459# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
461# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
463# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
465# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
467# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
469# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
471# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
473# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
475# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
477# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
479# 125 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
484# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
485#if defined(MFC_OpenACC)
486# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
488# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
489#elif defined(MFC_OpenMP)
490# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
492# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
494 do i = 1, eqn_idx%cont%end
495 alpha_rho_l(i) = ql_prim_rsx_vf(j, k, l, i)
496 alpha_rho_r(i) = qr_prim_rsx_vf(j + 1, k, l, i)
499 vel_l_rms = 0._wp; vel_r_rms = 0._wp
502# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
503#if defined(MFC_OpenACC)
504# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
506# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
507#elif defined(MFC_OpenMP)
508# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
510# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
513 vel_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%cont%end + i)
514 vel_r(i) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%cont%end + i)
515 vel_l_rms = vel_l_rms + vel_l(i)**2._wp
516 vel_r_rms = vel_r_rms + vel_r(i)**2._wp
520# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
521#if defined(MFC_OpenACC)
522# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
524# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
525#elif defined(MFC_OpenMP)
526# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
528# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
531 alpha_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%E + i)
532 alpha_r(i) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%E + i)
535 pres_l = ql_prim_rsx_vf(j, k, l, eqn_idx%E)
536 pres_r = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%E)
542 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
543 b%R(2) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%B%beg)
544 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
545 b%R(3) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%B%beg + 1)
547 b%L(1) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
548 b%R(1) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%B%beg)
549 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
550 b%R(2) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%B%beg + 1)
551 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 2)
552 b%R(3) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%B%beg + 2)
574# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
575#if defined(MFC_OpenACC)
576# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
578# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
579#elif defined(MFC_OpenMP)
580# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
582# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
585 alpha_rho_l(i) = max(0._wp, alpha_rho_l(i))
586 alpha_l(i) = min(max(0._wp, alpha_l(i)), 1._wp)
587 alpha_l_sum = alpha_l_sum + alpha_l(i)
588 alpha_rho_r(i) = max(0._wp, alpha_rho_r(i))
589 alpha_r(i) = min(max(0._wp, alpha_r(i)), 1._wp)
590 alpha_r_sum = alpha_r_sum + alpha_r(i)
593 alpha_l = alpha_l/max(alpha_l_sum,
sgm_eps)
594 alpha_r = alpha_r/max(alpha_r_sum,
sgm_eps)
607# 211 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
608#if defined(MFC_OpenACC)
609# 211 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
611# 211 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
612#elif defined(MFC_OpenMP)
613# 211 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
615# 211 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
617 do i = eqn_idx%species%beg, eqn_idx%species%end
618 ys_l(i - eqn_idx%species%beg + 1) = ql_prim_rsx_vf(j, k, l, i)
619 ys_r(i - eqn_idx%species%beg + 1) = qr_prim_rsx_vf(j + 1, k, l, i)
622 call get_mixture_molecular_weight(ys_l, mw_l)
623 call get_mixture_molecular_weight(ys_r, mw_r)
624 xs_l(:) = ys_l(:)*mw_l/molecular_weights(:)
625 xs_r(:) = ys_r(:)*mw_r/molecular_weights(:)
627 r_gas_l = gas_constant/mw_l
628 r_gas_r = gas_constant/mw_r
629 t_l = pres_l/rho_l/r_gas_l
630 t_r = pres_r/rho_r/r_gas_r
632 call get_species_specific_heats_r(t_l, cp_il)
633 call get_species_specific_heats_r(t_r, cp_ir)
635 if (chem_params%gamma_method == 1)
then
637 gamma_il = cp_il/(cp_il - 1.0_wp)
638 gamma_ir = cp_ir/(cp_ir - 1.0_wp)
640 gamma_l = sum(xs_l(:)/(gamma_il(:) - 1.0_wp))
641 gamma_r = sum(xs_r(:)/(gamma_ir(:) - 1.0_wp))
642 else if (chem_params%gamma_method == 2)
then
644 call get_mixture_specific_heat_cp_mass(t_l, ys_l, cp_l)
645 call get_mixture_specific_heat_cp_mass(t_r, ys_r, cp_r)
646 call get_mixture_specific_heat_cv_mass(t_l, ys_l, cv_l)
647 call get_mixture_specific_heat_cv_mass(t_r, ys_r, cv_r)
650 gamma_l = 1.0_wp/(gamm_l - 1.0_wp)
652 gamma_r = 1.0_wp/(gamm_r - 1.0_wp)
655 call get_mixture_energy_mass(t_l, ys_l, e_l)
656 call get_mixture_energy_mass(t_r, ys_r, e_r)
658 e_l = rho_l*e_l + 5.e-1*rho_l*vel_l_rms
659 e_r = rho_r*e_r + 5.e-1*rho_r*vel_r_rms
660 h_l = (e_l + pres_l)/rho_l
661 h_r = (e_r + pres_r)/rho_r
662 else if (mhd .and. relativity)
then
663 ga%L = 1._wp/sqrt(1._wp - vel_l_rms)
664 ga%R = 1._wp/sqrt(1._wp - vel_r_rms)
665# 261 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
666 vdotb%L = vel_l(1)*b%L(1) + vel_l(2)*b%L(2) + vel_l(3)*b%L(3)
667 vdotb%R = vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3)
669 b4%L(1:3) = b%L(1:3)/ga%L + ga%L*vel_l(1:3)*vdotb%L
670 b4%R(1:3) = b%R(1:3)/ga%R + ga%R*vel_r(1:3)*vdotb%R
671 b2%L = b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp
672 b2%R = b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp
673# 269 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
675 pres_mag%L = 0.5_wp*(b2%L/ga%L**2._wp + vdotb%L**2._wp)
676 pres_mag%R = 0.5_wp*(b2%R/ga%R**2._wp + vdotb%R**2._wp)
679 h_l = 1._wp + (gamma_l + 1)*pres_l/rho_l
680 h_r = 1._wp + (gamma_r + 1)*pres_r/rho_r
681# 277 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
682 cm%L(1:3) = (rho_l*h_l*ga%L**2 + b2%L)*vel_l(1:3) - vdotb%L*b%L(1:3)
683 cm%R(1:3) = (rho_r*h_r*ga%R**2 + b2%R)*vel_r(1:3) - vdotb%R*b%R(1:3)
684# 280 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
686 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
687 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
688 else if (mhd .and. .not. relativity)
then
689# 285 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
690 pres_mag%L = 0.5_wp*(b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp)
691 pres_mag%R = 0.5_wp*(b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp)
692# 288 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
693 e_l = gamma_l*pres_l + pi_inf_l + 0.5_wp*rho_l*vel_l_rms + qv_l + pres_mag%L
695 e_r = gamma_r*pres_r + pi_inf_r + 0.5_wp*rho_r*vel_r_rms + qv_r + pres_mag%R
696 h_l = (e_l + pres_l - pres_mag%L)/rho_l
698 h_r = (e_r + pres_r - pres_mag%R)/rho_r
700 e_l = gamma_l*pres_l + pi_inf_l + 5.e-1*rho_l*vel_l_rms + qv_l
701 e_r = gamma_r*pres_r + pi_inf_r + 5.e-1*rho_r*vel_r_rms + qv_r
702 h_l = (e_l + pres_l)/rho_l
703 h_r = (e_r + pres_r)/rho_r
709 if (hypoelasticity)
then
711# 305 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
712#if defined(MFC_OpenACC)
713# 305 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
715# 305 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
716#elif defined(MFC_OpenMP)
717# 305 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
719# 305 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
721 do i = 1, eqn_idx%stress%end - eqn_idx%stress%beg + 1
722 tau_e_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%stress%beg - 1 + i)
723 tau_e_r(i) = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%stress%beg - 1 + i)
726 damage_l = 0._wp; damage_r = 0._wp
727 if (cont_damage)
then
728 damage_l = ql_prim_rsx_vf(j, k, l, eqn_idx%damage)
729 damage_r = qr_prim_rsx_vf(j + 1, k, l, eqn_idx%damage)
733 & tau_e_l, tau_e_r, g_l, g_r, e_l, e_r)
737# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
738 rho_avg = sqrt(rho_l*rho_r)
739# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
741# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
743# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
745# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
747# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
748#if defined(MFC_OpenACC)
749# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
751# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
752#elif defined(MFC_OpenMP)
753# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
755# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
757# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
759# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
760 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
761# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
763# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
765# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
766 h_avg = (sqrt(rho_l)*h_l + sqrt(rho_r)*h_r)/(sqrt(rho_l) + sqrt(rho_r))
767# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
769# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
770 gamma_avg = (sqrt(rho_l)*gamma_l + sqrt(rho_r)*gamma_r)/(sqrt(rho_l) + sqrt(rho_r))
771# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
773# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
774 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
775# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
777# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
778 qv_avg = (sqrt(rho_l)*qv_l + sqrt(rho_r)*qv_r)/(sqrt(rho_l) + sqrt(rho_r))
779# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
781# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
783# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
785# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
786 call get_species_enthalpies_rt(t_l, h_il)
787# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
788 call get_species_enthalpies_rt(t_r, h_ir)
789# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
790 h_il = h_il*gas_constant/molecular_weights*t_l
791# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
792 h_ir = h_ir*gas_constant/molecular_weights*t_r
793# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
794 call get_species_specific_heats_r(t_l, cp_il)
795# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
796 call get_species_specific_heats_r(t_r, cp_ir)
797# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
799# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
800 h_avg_2 = (sqrt(rho_l)*h_il + sqrt(rho_r)*h_ir)/(sqrt(rho_l) + sqrt(rho_r))
801# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
802 yi_avg = (sqrt(rho_l)*ys_l + sqrt(rho_r)*ys_r)/(sqrt(rho_l) + sqrt(rho_r))
803# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
804 t_avg = (sqrt(rho_l)*t_l + sqrt(rho_r)*t_r)/(sqrt(rho_l) + sqrt(rho_r))
805# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
806 if (abs(t_l - t_r) < eps)
then
807# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
809# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
810 cp_avg = sum(yi_avg(:)*(0.5_wp*cp_il(:) + 0.5_wp*cp_ir(:))*gas_constant/molecular_weights(:))
811# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
812 cv_avg = sum(yi_avg(:)*((0.5_wp*cp_il(:) + 0.5_wp*cp_ir(:))*gas_constant/molecular_weights(:) &
813# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
814 & - gas_constant/molecular_weights(:)))
815# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
817# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
819# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
820 cp_avg = sum(yi_avg(:)*(h_ir(:) - h_il(:))/(t_r - t_l))
821# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
822 cv_avg = sum(yi_avg(:)*((h_ir(:) - h_il(:))/(t_r - t_l) - gas_constant/molecular_weights(:)))
823# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
825# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
826 gamma_avg = cp_avg/cv_avg
827# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
829# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
830 phi_avg(:) = (gamma_avg - 1._wp)*(vel_avg_rms/2.0_wp - h_avg_2(:)) + gamma_avg*gas_constant/molecular_weights(:)*t_avg
831# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
832 c_sum_yi_phi = sum(yi_avg(:)*phi_avg(:))
833# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
835# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
837# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
839# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
841# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
842 rho_avg = 5.e-1_wp*(rho_l + rho_r)
843# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
845# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
847# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
848#if defined(MFC_OpenACC)
849# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
851# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
852#elif defined(MFC_OpenMP)
853# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
855# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
857# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
859# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
860 vel_avg_rms = vel_avg_rms + (5.e-1_wp*(vel_l(i) + vel_r(i)))**2._wp
861# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
863# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
865# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
866 h_avg = 5.e-1_wp*(h_l + h_r)
867# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
868 gamma_avg = 5.e-1_wp*(gamma_l + gamma_r)
869# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
870 qv_avg = 5.e-1_wp*(qv_l + qv_r)
871# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
884 & c_sum_yi_phi, c_avg, qv_avg)
896# 344 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
897#if defined(MFC_OpenACC)
898# 344 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
900# 344 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
901#elif defined(MFC_OpenMP)
902# 344 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
904# 344 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
907 re_avg_rsx_vf(j, k, l, i) = 2._wp/(1._wp/re_l(i) + 1._wp/re_r(i))
915 s_l = min(vel_l(
dir_idx(1)) - c_fast%L, vel_r(
dir_idx(1)) - c_fast%R)
916 s_r = max(vel_r(
dir_idx(1)) + c_fast%R, vel_l(
dir_idx(1)) + c_fast%L)
917 else if (hypoelasticity)
then
920# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
922# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
924# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
931 if (hyper_cleaning)
then
933 s_l = min(s_l, -hyper_cleaning_speed)
934 s_r = max(s_r, hyper_cleaning_speed)
937 s_s = (pres_r - pres_l + rho_l*vel_l(
dir_idx(1))*(s_l - vel_l(
dir_idx(1))) &
939 & - rho_r*(s_r - vel_r(
dir_idx(1))))
941 pres_sl = 5.e-1_wp*(pres_l + pres_r + rho_avg*c_avg*(vel_l(
dir_idx(1)) - vel_r(
dir_idx(1))))
947 & sqrt(1._wp + ((5.e-1_wp + gamma_l)/(1._wp + gamma_l))*(pres_sl/pres_l - 1._wp) &
948 & *pres_l/((pres_l + pi_inf_l/(1._wp + gamma_l)))))
950 & sqrt(1._wp + ((5.e-1_wp + gamma_r)/(1._wp + gamma_r))*(pres_sr/pres_r - 1._wp) &
951 & *pres_r/((pres_r + pi_inf_r/(1._wp + gamma_r)))))
953 s_l = vel_l(
dir_idx(1)) - c_l*ms_l
954 s_r = vel_r(
dir_idx(1)) + c_r*ms_r
956 s_s = 5.e-1_wp*((vel_l(
dir_idx(1)) + vel_r(
dir_idx(1))) + (pres_l - pres_r)/(rho_avg*c_avg))
959 s_m = min(0._wp, s_l); s_p = max(0._wp, s_r)
961 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, &
963 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, &
967 if (low_mach == 1)
then
969# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
970 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
971# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
973# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
975# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
976 if (low_mach == 1)
then
977# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
978 pcorr = -(s_p - s_m)*(rho_l + rho_r)/8._wp*(zcoef - 1._wp)
979# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
981# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
983# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
984 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
985# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
987# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
989# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
990 if (low_mach == 1)
then
991# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
993# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
994 & /(rho_r*(s_r - vel_r(
dir_idx(1))) - rho_l*(s_l - vel_l(
dir_idx(1))))*(zcoef - 1._wp)
995# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
996 else if (low_mach == 2)
then
997# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
999# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1001# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1003# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1005# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1007# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1014 if (.not. relativity)
then
1016# 408 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1017#if defined(MFC_OpenACC)
1018# 408 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1020# 408 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1021#elif defined(MFC_OpenMP)
1022# 408 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1024# 408 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1026 do i = 1, eqn_idx%cont%end
1028 & i) = (s_m*alpha_rho_r(i)*vel_r(norm_dir) - s_p*alpha_rho_l(i)*vel_l(norm_dir) &
1029 & + s_m*s_p*(alpha_rho_l(i) - alpha_rho_r(i)))/(s_m - s_p)
1031 else if (relativity)
then
1033# 415 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1034#if defined(MFC_OpenACC)
1035# 415 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1037# 415 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1038#elif defined(MFC_OpenMP)
1039# 415 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1041# 415 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1043 do i = 1, eqn_idx%cont%end
1045 & i) = (s_m*ga%R*alpha_rho_r(i)*vel_r(norm_dir) - s_p*ga%L*alpha_rho_l(i) &
1046 & *vel_l(norm_dir) + s_m*s_p*(ga%L*alpha_rho_l(i) - ga%R*alpha_rho_r(i)))/(s_m &
1052 if (mhd .and. (.not. relativity))
then
1054# 426 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1055#if defined(MFC_OpenACC)
1056# 426 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1058# 426 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1059#elif defined(MFC_OpenMP)
1060# 426 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1062# 426 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1068 & eqn_idx%cont%end + i) = (s_m*(rho_r*vel_r(i)*vel_r(norm_dir) - b%R(i) &
1069 & *b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(rho_l*vel_l(i) &
1070 & *vel_l(norm_dir) - b%L(i)*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L)) &
1071 & + s_m*s_p*(rho_l*vel_l(i) - rho_r*vel_r(i)))/(s_m - s_p)
1073 else if (mhd .and. relativity)
then
1075# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1076#if defined(MFC_OpenACC)
1077# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1079# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1080#elif defined(MFC_OpenMP)
1081# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1083# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1089 & eqn_idx%cont%end + i) = (s_m*(cm%R(i)*vel_r(norm_dir) - b4%R(i) &
1090 & /ga%R*b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(cm%L(i) &
1091 & *vel_l(norm_dir) - b4%L(i)/ga%L*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L) &
1092 & ) + s_m*s_p*(cm%L(i) - cm%R(i)))/(s_m - s_p)
1094 else if (bubbles_euler)
then
1096# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1097#if defined(MFC_OpenACC)
1098# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1100# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1101#elif defined(MFC_OpenMP)
1102# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1104# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1111 & + s_m*s_p*(rho_l*vel_l(
dir_idx(i)) - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) &
1112 & + (s_m/s_l)*(s_p/s_r)*pcorr*(vel_r(
dir_idx(i)) - vel_l(
dir_idx(i)))
1114 else if (hypoelasticity)
then
1116# 458 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1117#if defined(MFC_OpenACC)
1118# 458 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1120# 458 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1121#elif defined(MFC_OpenMP)
1122# 458 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1124# 458 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1132 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p)
1136# 468 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1137#if defined(MFC_OpenACC)
1138# 468 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1140# 468 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1141#elif defined(MFC_OpenMP)
1142# 468 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1144# 468 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1151 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) + (s_m/s_l)*(s_p/s_r) &
1157 if (mhd .and. (.not. relativity))
then
1159# 483 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1161 & eqn_idx%E) = (s_m*(vel_r(norm_dir)*(e_r + pres_r + pres_mag%R) - b%R(norm_dir) &
1162 & *(vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3))) - s_p*(vel_l(norm_dir) &
1163 & *(e_l + pres_l + pres_mag%L) - b%L(norm_dir)*(vel_l(1)*b%L(1) + vel_l(2)*b%L(2) &
1164 & + vel_l(3)*b%L(3))) + s_m*s_p*(e_l - e_r))/(s_m - s_p)
1165# 489 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1166 else if (mhd .and. relativity)
then
1169 & eqn_idx%E) = (s_m*(cm%R(norm_dir) - ga%R*alpha_rho_r(1)*vel_r(norm_dir)) &
1170 & - s_p*(cm%L(norm_dir) - ga%L*alpha_rho_l(1)*vel_l(norm_dir)) + s_m*s_p*(e_l - e_r)) &
1172 else if (bubbles_euler)
then
1174 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r - ptilde_r) - s_p*vel_l(
dir_idx(1) &
1175 & )*(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) &
1176 & *pcorr*(vel_r_rms - vel_l_rms)/2._wp
1177 else if (hypoelasticity)
then
1178 flux_tau_l = 0._wp; flux_tau_r = 0._wp
1180# 502 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1181#if defined(MFC_OpenACC)
1182# 502 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1184# 502 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1185#elif defined(MFC_OpenMP)
1186# 502 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1188# 502 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1195 & eqn_idx%E) = (s_m*(vel_r(
dir_idx(1))*(e_r + pres_r) - flux_tau_r) &
1196 & - s_p*(vel_l(
dir_idx(1))*(e_l + pres_l) - flux_tau_l) + s_m*s_p*(e_l - e_r))/(s_m &
1200 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r) - s_p*vel_l(
dir_idx(1))*(e_l &
1201 & + 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 &
1202 & - vel_l_rms)/2._wp
1206 if (hypoelasticity)
then
1207 do i = 1, eqn_idx%stress%end - eqn_idx%stress%beg + 1
1209 & eqn_idx%stress%beg - 1 + i) = (s_m*(rho_r*vel_r(
dir_idx(1))*tau_e_r(i)) &
1210 & - s_p*(rho_l*vel_l(
dir_idx(1))*tau_e_l(i)) + s_m*s_p*(rho_l*tau_e_l(i) &
1211 & - rho_r*tau_e_r(i)))/(s_m - s_p)
1218# 530 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1219#if defined(MFC_OpenACC)
1220# 530 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1222# 530 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1223#elif defined(MFC_OpenMP)
1224# 530 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1226# 530 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1229 if (0._wp <= s_l)
then
1231 else if (s_r <= 0._wp)
then
1241 if (.not. hll_u_interface)
then
1245# 547 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1246#if defined(MFC_OpenACC)
1247# 547 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1249# 547 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1250#elif defined(MFC_OpenMP)
1251# 547 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1253# 547 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1255 do i = eqn_idx%adv%beg, eqn_idx%adv%end
1256 flux_rsx_vf(j, k, l, i) = (ql_prim_rsx_vf(j, k, l, i) - qr_prim_rsx_vf(j + 1, k, l, &
1257 & i))*s_m*s_p/(s_m - s_p)
1259 & i) - s_p*ql_prim_rsx_vf(j, k, l, i))/(s_m - s_p)
1263# 555 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1264#if defined(MFC_OpenACC)
1265# 555 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1267# 555 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1268#elif defined(MFC_OpenMP)
1269# 555 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1271# 555 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1273 do i = eqn_idx%adv%beg, eqn_idx%adv%end
1274 if (0._wp <= s_l)
then
1276 else if (s_r <= 0._wp)
then
1279 flux_rsx_vf(j, k, l, i) = (s_r*ql_prim_rsx_vf(j, k, l, &
1280 & i)*vel_l(
dir_idx(1)) - s_l*qr_prim_rsx_vf(j + 1, k, l, &
1281 & i)*vel_r(
dir_idx(1)) + s_l*s_r*(qr_prim_rsx_vf(j + 1, k, l, &
1282 & i) - ql_prim_rsx_vf(j, k, l, i)))/(s_r - s_l)
1285 if (0._wp <= s_l)
then
1287 else if (s_r <= 0._wp)
then
1291 & eqn_idx%adv%beg) = (s_r*vel_l(
dir_idx(1)) - s_l*vel_r(
dir_idx(1)))/(s_r - s_l)
1295 if (bubbles_euler)
then
1297 if (num_fluids > 1)
then
1304# 586 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1305#if defined(MFC_OpenACC)
1306# 586 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1308# 586 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1309#elif defined(MFC_OpenMP)
1310# 586 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1312# 586 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1314 do i = eqn_idx%species%beg, eqn_idx%species%end
1315 y_l = ql_prim_rsx_vf(j, k, l, i)
1316 y_r = qr_prim_rsx_vf(j + 1, k, l, i)
1319 & i) = (s_m*y_r*rho_r*vel_r(
dir_idx(1)) - s_p*y_l*rho_l*vel_l(
dir_idx(1)) &
1320 & + s_m*s_p*(y_l*rho_l - y_r*rho_r))/(s_m - s_p)
1330# 602 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1331#if defined(MFC_OpenACC)
1332# 602 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1334# 602 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1335#elif defined(MFC_OpenMP)
1336# 602 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1338# 602 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1342 & eqn_idx%B%beg + i) = (s_m*(vel_r(1)*b%R(2 + i) - vel_r(2 + i)*bx0) &
1343 & - s_p*(vel_l(1)*b%L(2 + i) - vel_l(2 + i)*bx0) + s_m*s_p*(b%L(2 + i) &
1344 & - b%R(2 + i)))/(s_m - s_p)
1351# 613 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1352#if defined(MFC_OpenACC)
1353# 613 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1355# 613 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1356#elif defined(MFC_OpenMP)
1357# 613 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1359# 613 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1363 & eqn_idx%B%beg + i) = (s_m*(vel_r(
dir_idx(1))*b%R(i + 1) - vel_r(i + 1) &
1364 & *b%R(norm_dir)) - s_p*(vel_l(
dir_idx(1))*b%L(i + 1) - vel_l(i + 1) &
1365 & *b%L(norm_dir)) + s_m*s_p*(b%L(i + 1) - b%R(i + 1)))/(s_m - s_p)
1368 if (hyper_cleaning)
then
1371 & eqn_idx%B%beg + norm_dir - 1) + (s_m*qr_prim_rsx_vf(j + 1, k, l, &
1372 & eqn_idx%psi) - s_p*ql_prim_rsx_vf(j, k, l, eqn_idx%psi))/(s_m - s_p)
1375 & eqn_idx%psi) = (hyper_cleaning_speed**2*(s_m*b%R(norm_dir) &
1376 & - s_p*b%L(norm_dir)) + s_m*s_p*(ql_prim_rsx_vf(j, k, l, &
1377 & eqn_idx%psi) - qr_prim_rsx_vf(j + 1, k, l, eqn_idx%psi)))/(s_m - s_p)
1380 flux_rsx_vf(j, k, l, eqn_idx%B%beg + norm_dir - 1) = 0._wp
1386# 671 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1391# 674 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1392#if defined(MFC_OpenACC)
1393# 674 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1395# 674 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1396#elif defined(MFC_OpenMP)
1397# 674 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1399# 674 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1401# 674 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1404# 112 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1405# 113 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1406# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1407 if (norm_dir == 2)
then
1409# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1411# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1412#if defined(MFC_OpenACC)
1413# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1415# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1417# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1419# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1421# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1423# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1424#elif defined(MFC_OpenMP)
1425# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1427# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1429# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1431# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1433# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1435# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1437# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1439# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1441# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1443# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1445# 125 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1450# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1451#if defined(MFC_OpenACC)
1452# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1454# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1455#elif defined(MFC_OpenMP)
1456# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1458# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1460 do i = 1, eqn_idx%cont%end
1461 alpha_rho_l(i) = ql_prim_rsx_vf(j, k, l, i)
1462 alpha_rho_r(i) = qr_prim_rsx_vf(j, k + 1, l, i)
1465 vel_l_rms = 0._wp; vel_r_rms = 0._wp
1468# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1469#if defined(MFC_OpenACC)
1470# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1472# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1473#elif defined(MFC_OpenMP)
1474# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1476# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1479 vel_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%cont%end + i)
1480 vel_r(i) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%cont%end + i)
1481 vel_l_rms = vel_l_rms + vel_l(i)**2._wp
1482 vel_r_rms = vel_r_rms + vel_r(i)**2._wp
1486# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1487#if defined(MFC_OpenACC)
1488# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1490# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1491#elif defined(MFC_OpenMP)
1492# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1494# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1496 do i = 1, num_fluids
1497 alpha_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%E + i)
1498 alpha_r(i) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%E + i)
1501 pres_l = ql_prim_rsx_vf(j, k, l, eqn_idx%E)
1502 pres_r = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%E)
1508 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
1509 b%R(2) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%B%beg)
1510 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
1511 b%R(3) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%B%beg + 1)
1513 b%L(1) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
1514 b%R(1) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%B%beg)
1515 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
1516 b%R(2) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%B%beg + 1)
1517 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 2)
1518 b%R(3) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%B%beg + 2)
1540# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1541#if defined(MFC_OpenACC)
1542# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1544# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1545#elif defined(MFC_OpenMP)
1546# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1548# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1550 do i = 1, num_fluids
1551 alpha_rho_l(i) = max(0._wp, alpha_rho_l(i))
1552 alpha_l(i) = min(max(0._wp, alpha_l(i)), 1._wp)
1553 alpha_l_sum = alpha_l_sum + alpha_l(i)
1554 alpha_rho_r(i) = max(0._wp, alpha_rho_r(i))
1555 alpha_r(i) = min(max(0._wp, alpha_r(i)), 1._wp)
1556 alpha_r_sum = alpha_r_sum + alpha_r(i)
1559 alpha_l = alpha_l/max(alpha_l_sum,
sgm_eps)
1560 alpha_r = alpha_r/max(alpha_r_sum,
sgm_eps)
1573# 211 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1574#if defined(MFC_OpenACC)
1575# 211 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1577# 211 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1578#elif defined(MFC_OpenMP)
1579# 211 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1581# 211 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1583 do i = eqn_idx%species%beg, eqn_idx%species%end
1584 ys_l(i - eqn_idx%species%beg + 1) = ql_prim_rsx_vf(j, k, l, i)
1585 ys_r(i - eqn_idx%species%beg + 1) = qr_prim_rsx_vf(j, k + 1, l, i)
1588 call get_mixture_molecular_weight(ys_l, mw_l)
1589 call get_mixture_molecular_weight(ys_r, mw_r)
1590 xs_l(:) = ys_l(:)*mw_l/molecular_weights(:)
1591 xs_r(:) = ys_r(:)*mw_r/molecular_weights(:)
1593 r_gas_l = gas_constant/mw_l
1594 r_gas_r = gas_constant/mw_r
1595 t_l = pres_l/rho_l/r_gas_l
1596 t_r = pres_r/rho_r/r_gas_r
1598 call get_species_specific_heats_r(t_l, cp_il)
1599 call get_species_specific_heats_r(t_r, cp_ir)
1601 if (chem_params%gamma_method == 1)
then
1603 gamma_il = cp_il/(cp_il - 1.0_wp)
1604 gamma_ir = cp_ir/(cp_ir - 1.0_wp)
1606 gamma_l = sum(xs_l(:)/(gamma_il(:) - 1.0_wp))
1607 gamma_r = sum(xs_r(:)/(gamma_ir(:) - 1.0_wp))
1608 else if (chem_params%gamma_method == 2)
then
1610 call get_mixture_specific_heat_cp_mass(t_l, ys_l, cp_l)
1611 call get_mixture_specific_heat_cp_mass(t_r, ys_r, cp_r)
1612 call get_mixture_specific_heat_cv_mass(t_l, ys_l, cv_l)
1613 call get_mixture_specific_heat_cv_mass(t_r, ys_r, cv_r)
1616 gamma_l = 1.0_wp/(gamm_l - 1.0_wp)
1618 gamma_r = 1.0_wp/(gamm_r - 1.0_wp)
1621 call get_mixture_energy_mass(t_l, ys_l, e_l)
1622 call get_mixture_energy_mass(t_r, ys_r, e_r)
1624 e_l = rho_l*e_l + 5.e-1*rho_l*vel_l_rms
1625 e_r = rho_r*e_r + 5.e-1*rho_r*vel_r_rms
1626 h_l = (e_l + pres_l)/rho_l
1627 h_r = (e_r + pres_r)/rho_r
1628 else if (mhd .and. relativity)
then
1629 ga%L = 1._wp/sqrt(1._wp - vel_l_rms)
1630 ga%R = 1._wp/sqrt(1._wp - vel_r_rms)
1631# 261 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1632 vdotb%L = vel_l(1)*b%L(1) + vel_l(2)*b%L(2) + vel_l(3)*b%L(3)
1633 vdotb%R = vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3)
1635 b4%L(1:3) = b%L(1:3)/ga%L + ga%L*vel_l(1:3)*vdotb%L
1636 b4%R(1:3) = b%R(1:3)/ga%R + ga%R*vel_r(1:3)*vdotb%R
1637 b2%L = b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp
1638 b2%R = b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp
1639# 269 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1641 pres_mag%L = 0.5_wp*(b2%L/ga%L**2._wp + vdotb%L**2._wp)
1642 pres_mag%R = 0.5_wp*(b2%R/ga%R**2._wp + vdotb%R**2._wp)
1645 h_l = 1._wp + (gamma_l + 1)*pres_l/rho_l
1646 h_r = 1._wp + (gamma_r + 1)*pres_r/rho_r
1647# 277 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1648 cm%L(1:3) = (rho_l*h_l*ga%L**2 + b2%L)*vel_l(1:3) - vdotb%L*b%L(1:3)
1649 cm%R(1:3) = (rho_r*h_r*ga%R**2 + b2%R)*vel_r(1:3) - vdotb%R*b%R(1:3)
1650# 280 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1652 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
1653 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
1654 else if (mhd .and. .not. relativity)
then
1655# 285 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1656 pres_mag%L = 0.5_wp*(b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp)
1657 pres_mag%R = 0.5_wp*(b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp)
1658# 288 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1659 e_l = gamma_l*pres_l + pi_inf_l + 0.5_wp*rho_l*vel_l_rms + qv_l + pres_mag%L
1661 e_r = gamma_r*pres_r + pi_inf_r + 0.5_wp*rho_r*vel_r_rms + qv_r + pres_mag%R
1662 h_l = (e_l + pres_l - pres_mag%L)/rho_l
1664 h_r = (e_r + pres_r - pres_mag%R)/rho_r
1666 e_l = gamma_l*pres_l + pi_inf_l + 5.e-1*rho_l*vel_l_rms + qv_l
1667 e_r = gamma_r*pres_r + pi_inf_r + 5.e-1*rho_r*vel_r_rms + qv_r
1668 h_l = (e_l + pres_l)/rho_l
1669 h_r = (e_r + pres_r)/rho_r
1675 if (hypoelasticity)
then
1677# 305 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1678#if defined(MFC_OpenACC)
1679# 305 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1681# 305 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1682#elif defined(MFC_OpenMP)
1683# 305 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1685# 305 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1687 do i = 1, eqn_idx%stress%end - eqn_idx%stress%beg + 1
1688 tau_e_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%stress%beg - 1 + i)
1689 tau_e_r(i) = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%stress%beg - 1 + i)
1692 damage_l = 0._wp; damage_r = 0._wp
1693 if (cont_damage)
then
1694 damage_l = ql_prim_rsx_vf(j, k, l, eqn_idx%damage)
1695 damage_r = qr_prim_rsx_vf(j, k + 1, l, eqn_idx%damage)
1699 & tau_e_l, tau_e_r, g_l, g_r, e_l, e_r)
1703# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1704 rho_avg = sqrt(rho_l*rho_r)
1705# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1707# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1709# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1711# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1713# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1714#if defined(MFC_OpenACC)
1715# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1717# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1718#elif defined(MFC_OpenMP)
1719# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1721# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1723# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1725# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1726 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
1727# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1729# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1731# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1732 h_avg = (sqrt(rho_l)*h_l + sqrt(rho_r)*h_r)/(sqrt(rho_l) + sqrt(rho_r))
1733# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1735# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1736 gamma_avg = (sqrt(rho_l)*gamma_l + sqrt(rho_r)*gamma_r)/(sqrt(rho_l) + sqrt(rho_r))
1737# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1739# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1740 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
1741# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1743# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1744 qv_avg = (sqrt(rho_l)*qv_l + sqrt(rho_r)*qv_r)/(sqrt(rho_l) + sqrt(rho_r))
1745# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1747# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1749# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1751# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1752 call get_species_enthalpies_rt(t_l, h_il)
1753# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1754 call get_species_enthalpies_rt(t_r, h_ir)
1755# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1756 h_il = h_il*gas_constant/molecular_weights*t_l
1757# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1758 h_ir = h_ir*gas_constant/molecular_weights*t_r
1759# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1760 call get_species_specific_heats_r(t_l, cp_il)
1761# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1762 call get_species_specific_heats_r(t_r, cp_ir)
1763# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1765# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1766 h_avg_2 = (sqrt(rho_l)*h_il + sqrt(rho_r)*h_ir)/(sqrt(rho_l) + sqrt(rho_r))
1767# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1768 yi_avg = (sqrt(rho_l)*ys_l + sqrt(rho_r)*ys_r)/(sqrt(rho_l) + sqrt(rho_r))
1769# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1770 t_avg = (sqrt(rho_l)*t_l + sqrt(rho_r)*t_r)/(sqrt(rho_l) + sqrt(rho_r))
1771# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1772 if (abs(t_l - t_r) < eps)
then
1773# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1775# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1776 cp_avg = sum(yi_avg(:)*(0.5_wp*cp_il(:) + 0.5_wp*cp_ir(:))*gas_constant/molecular_weights(:))
1777# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1778 cv_avg = sum(yi_avg(:)*((0.5_wp*cp_il(:) + 0.5_wp*cp_ir(:))*gas_constant/molecular_weights(:) &
1779# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1780 & - gas_constant/molecular_weights(:)))
1781# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1783# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1785# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1786 cp_avg = sum(yi_avg(:)*(h_ir(:) - h_il(:))/(t_r - t_l))
1787# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1788 cv_avg = sum(yi_avg(:)*((h_ir(:) - h_il(:))/(t_r - t_l) - gas_constant/molecular_weights(:)))
1789# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1791# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1792 gamma_avg = cp_avg/cv_avg
1793# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1795# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1796 phi_avg(:) = (gamma_avg - 1._wp)*(vel_avg_rms/2.0_wp - h_avg_2(:)) + gamma_avg*gas_constant/molecular_weights(:)*t_avg
1797# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1798 c_sum_yi_phi = sum(yi_avg(:)*phi_avg(:))
1799# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1801# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1803# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1805# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1807# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1808 rho_avg = 5.e-1_wp*(rho_l + rho_r)
1809# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1811# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1813# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1814#if defined(MFC_OpenACC)
1815# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1817# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1818#elif defined(MFC_OpenMP)
1819# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1821# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1823# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1825# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1826 vel_avg_rms = vel_avg_rms + (5.e-1_wp*(vel_l(i) + vel_r(i)))**2._wp
1827# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1829# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1831# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1832 h_avg = 5.e-1_wp*(h_l + h_r)
1833# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1834 gamma_avg = 5.e-1_wp*(gamma_l + gamma_r)
1835# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1836 qv_avg = 5.e-1_wp*(qv_l + qv_r)
1837# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1850 & c_sum_yi_phi, c_avg, qv_avg)
1862# 344 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1863#if defined(MFC_OpenACC)
1864# 344 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1866# 344 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1867#elif defined(MFC_OpenMP)
1868# 344 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1870# 344 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1873 re_avg_rsx_vf(j, k, l, i) = 2._wp/(1._wp/re_l(i) + 1._wp/re_r(i))
1881 s_l = min(vel_l(
dir_idx(1)) - c_fast%L, vel_r(
dir_idx(1)) - c_fast%R)
1882 s_r = max(vel_r(
dir_idx(1)) + c_fast%R, vel_l(
dir_idx(1)) + c_fast%L)
1883 else if (hypoelasticity)
then
1886# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1888# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1890# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1897 if (hyper_cleaning)
then
1899 s_l = min(s_l, -hyper_cleaning_speed)
1900 s_r = max(s_r, hyper_cleaning_speed)
1903 s_s = (pres_r - pres_l + rho_l*vel_l(
dir_idx(1))*(s_l - vel_l(
dir_idx(1))) &
1905 & - rho_r*(s_r - vel_r(
dir_idx(1))))
1907 pres_sl = 5.e-1_wp*(pres_l + pres_r + rho_avg*c_avg*(vel_l(
dir_idx(1)) - vel_r(
dir_idx(1))))
1913 & sqrt(1._wp + ((5.e-1_wp + gamma_l)/(1._wp + gamma_l))*(pres_sl/pres_l - 1._wp) &
1914 & *pres_l/((pres_l + pi_inf_l/(1._wp + gamma_l)))))
1916 & sqrt(1._wp + ((5.e-1_wp + gamma_r)/(1._wp + gamma_r))*(pres_sr/pres_r - 1._wp) &
1917 & *pres_r/((pres_r + pi_inf_r/(1._wp + gamma_r)))))
1919 s_l = vel_l(
dir_idx(1)) - c_l*ms_l
1920 s_r = vel_r(
dir_idx(1)) + c_r*ms_r
1922 s_s = 5.e-1_wp*((vel_l(
dir_idx(1)) + vel_r(
dir_idx(1))) + (pres_l - pres_r)/(rho_avg*c_avg))
1925 s_m = min(0._wp, s_l); s_p = max(0._wp, s_r)
1927 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, &
1929 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, &
1933 if (low_mach == 1)
then
1935# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1936 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
1937# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1939# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1941# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1942 if (low_mach == 1)
then
1943# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1944 pcorr = -(s_p - s_m)*(rho_l + rho_r)/8._wp*(zcoef - 1._wp)
1945# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1947# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1949# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1950 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
1951# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1953# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1955# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1956 if (low_mach == 1)
then
1957# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1959# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1960 & /(rho_r*(s_r - vel_r(
dir_idx(1))) - rho_l*(s_l - vel_l(
dir_idx(1))))*(zcoef - 1._wp)
1961# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1962 else if (low_mach == 2)
then
1963# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1965# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1967# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1969# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1971# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1973# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1980 if (.not. relativity)
then
1982# 408 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1983#if defined(MFC_OpenACC)
1984# 408 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1986# 408 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1987#elif defined(MFC_OpenMP)
1988# 408 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1990# 408 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
1992 do i = 1, eqn_idx%cont%end
1994 & i) = (s_m*alpha_rho_r(i)*vel_r(norm_dir) - s_p*alpha_rho_l(i)*vel_l(norm_dir) &
1995 & + s_m*s_p*(alpha_rho_l(i) - alpha_rho_r(i)))/(s_m - s_p)
1997 else if (relativity)
then
1999# 415 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2000#if defined(MFC_OpenACC)
2001# 415 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2003# 415 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2004#elif defined(MFC_OpenMP)
2005# 415 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2007# 415 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2009 do i = 1, eqn_idx%cont%end
2011 & i) = (s_m*ga%R*alpha_rho_r(i)*vel_r(norm_dir) - s_p*ga%L*alpha_rho_l(i) &
2012 & *vel_l(norm_dir) + s_m*s_p*(ga%L*alpha_rho_l(i) - ga%R*alpha_rho_r(i)))/(s_m &
2018 if (mhd .and. (.not. relativity))
then
2020# 426 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2021#if defined(MFC_OpenACC)
2022# 426 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2024# 426 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2025#elif defined(MFC_OpenMP)
2026# 426 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2028# 426 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2034 & eqn_idx%cont%end + i) = (s_m*(rho_r*vel_r(i)*vel_r(norm_dir) - b%R(i) &
2035 & *b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(rho_l*vel_l(i) &
2036 & *vel_l(norm_dir) - b%L(i)*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L)) &
2037 & + s_m*s_p*(rho_l*vel_l(i) - rho_r*vel_r(i)))/(s_m - s_p)
2039 else if (mhd .and. relativity)
then
2041# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2042#if defined(MFC_OpenACC)
2043# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2045# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2046#elif defined(MFC_OpenMP)
2047# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2049# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2055 & eqn_idx%cont%end + i) = (s_m*(cm%R(i)*vel_r(norm_dir) - b4%R(i) &
2056 & /ga%R*b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(cm%L(i) &
2057 & *vel_l(norm_dir) - b4%L(i)/ga%L*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L) &
2058 & ) + s_m*s_p*(cm%L(i) - cm%R(i)))/(s_m - s_p)
2060 else if (bubbles_euler)
then
2062# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2063#if defined(MFC_OpenACC)
2064# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2066# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2067#elif defined(MFC_OpenMP)
2068# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2070# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2077 & + s_m*s_p*(rho_l*vel_l(
dir_idx(i)) - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) &
2078 & + (s_m/s_l)*(s_p/s_r)*pcorr*(vel_r(
dir_idx(i)) - vel_l(
dir_idx(i)))
2080 else if (hypoelasticity)
then
2082# 458 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2083#if defined(MFC_OpenACC)
2084# 458 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2086# 458 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2087#elif defined(MFC_OpenMP)
2088# 458 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2090# 458 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2098 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p)
2102# 468 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2103#if defined(MFC_OpenACC)
2104# 468 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2106# 468 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2107#elif defined(MFC_OpenMP)
2108# 468 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2110# 468 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2117 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) + (s_m/s_l)*(s_p/s_r) &
2123 if (mhd .and. (.not. relativity))
then
2125# 483 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2127 & eqn_idx%E) = (s_m*(vel_r(norm_dir)*(e_r + pres_r + pres_mag%R) - b%R(norm_dir) &
2128 & *(vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3))) - s_p*(vel_l(norm_dir) &
2129 & *(e_l + pres_l + pres_mag%L) - b%L(norm_dir)*(vel_l(1)*b%L(1) + vel_l(2)*b%L(2) &
2130 & + vel_l(3)*b%L(3))) + s_m*s_p*(e_l - e_r))/(s_m - s_p)
2131# 489 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2132 else if (mhd .and. relativity)
then
2135 & eqn_idx%E) = (s_m*(cm%R(norm_dir) - ga%R*alpha_rho_r(1)*vel_r(norm_dir)) &
2136 & - s_p*(cm%L(norm_dir) - ga%L*alpha_rho_l(1)*vel_l(norm_dir)) + s_m*s_p*(e_l - e_r)) &
2138 else if (bubbles_euler)
then
2140 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r - ptilde_r) - s_p*vel_l(
dir_idx(1) &
2141 & )*(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) &
2142 & *pcorr*(vel_r_rms - vel_l_rms)/2._wp
2143 else if (hypoelasticity)
then
2144 flux_tau_l = 0._wp; flux_tau_r = 0._wp
2146# 502 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2147#if defined(MFC_OpenACC)
2148# 502 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2150# 502 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2151#elif defined(MFC_OpenMP)
2152# 502 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2154# 502 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2161 & eqn_idx%E) = (s_m*(vel_r(
dir_idx(1))*(e_r + pres_r) - flux_tau_r) &
2162 & - s_p*(vel_l(
dir_idx(1))*(e_l + pres_l) - flux_tau_l) + s_m*s_p*(e_l - e_r))/(s_m &
2166 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r) - s_p*vel_l(
dir_idx(1))*(e_l &
2167 & + 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 &
2168 & - vel_l_rms)/2._wp
2172 if (hypoelasticity)
then
2173 do i = 1, eqn_idx%stress%end - eqn_idx%stress%beg + 1
2175 & eqn_idx%stress%beg - 1 + i) = (s_m*(rho_r*vel_r(
dir_idx(1))*tau_e_r(i)) &
2176 & - s_p*(rho_l*vel_l(
dir_idx(1))*tau_e_l(i)) + s_m*s_p*(rho_l*tau_e_l(i) &
2177 & - rho_r*tau_e_r(i)))/(s_m - s_p)
2184# 530 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2185#if defined(MFC_OpenACC)
2186# 530 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2188# 530 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2189#elif defined(MFC_OpenMP)
2190# 530 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2192# 530 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2195 if (0._wp <= s_l)
then
2197 else if (s_r <= 0._wp)
then
2207 if (.not. hll_u_interface)
then
2211# 547 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2212#if defined(MFC_OpenACC)
2213# 547 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2215# 547 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2216#elif defined(MFC_OpenMP)
2217# 547 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2219# 547 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2221 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2222 flux_rsx_vf(j, k, l, i) = (ql_prim_rsx_vf(j, k, l, i) - qr_prim_rsx_vf(j, k + 1, l, &
2223 & i))*s_m*s_p/(s_m - s_p)
2225 & i) - s_p*ql_prim_rsx_vf(j, k, l, i))/(s_m - s_p)
2229# 555 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2230#if defined(MFC_OpenACC)
2231# 555 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2233# 555 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2234#elif defined(MFC_OpenMP)
2235# 555 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2237# 555 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2239 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2240 if (0._wp <= s_l)
then
2242 else if (s_r <= 0._wp)
then
2245 flux_rsx_vf(j, k, l, i) = (s_r*ql_prim_rsx_vf(j, k, l, &
2246 & i)*vel_l(
dir_idx(1)) - s_l*qr_prim_rsx_vf(j, k + 1, l, &
2247 & i)*vel_r(
dir_idx(1)) + s_l*s_r*(qr_prim_rsx_vf(j, k + 1, l, &
2248 & i) - ql_prim_rsx_vf(j, k, l, i)))/(s_r - s_l)
2251 if (0._wp <= s_l)
then
2253 else if (s_r <= 0._wp)
then
2257 & eqn_idx%adv%beg) = (s_r*vel_l(
dir_idx(1)) - s_l*vel_r(
dir_idx(1)))/(s_r - s_l)
2261 if (bubbles_euler)
then
2263 if (num_fluids > 1)
then
2270# 586 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2271#if defined(MFC_OpenACC)
2272# 586 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2274# 586 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2275#elif defined(MFC_OpenMP)
2276# 586 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2278# 586 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2280 do i = eqn_idx%species%beg, eqn_idx%species%end
2281 y_l = ql_prim_rsx_vf(j, k, l, i)
2282 y_r = qr_prim_rsx_vf(j, k + 1, l, i)
2285 & i) = (s_m*y_r*rho_r*vel_r(
dir_idx(1)) - s_p*y_l*rho_l*vel_l(
dir_idx(1)) &
2286 & + s_m*s_p*(y_l*rho_l - y_r*rho_r))/(s_m - s_p)
2296# 602 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2297#if defined(MFC_OpenACC)
2298# 602 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2300# 602 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2301#elif defined(MFC_OpenMP)
2302# 602 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2304# 602 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2308 & eqn_idx%B%beg + i) = (s_m*(vel_r(1)*b%R(2 + i) - vel_r(2 + i)*bx0) &
2309 & - s_p*(vel_l(1)*b%L(2 + i) - vel_l(2 + i)*bx0) + s_m*s_p*(b%L(2 + i) &
2310 & - b%R(2 + i)))/(s_m - s_p)
2317# 613 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2318#if defined(MFC_OpenACC)
2319# 613 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2321# 613 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2322#elif defined(MFC_OpenMP)
2323# 613 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2325# 613 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2329 & eqn_idx%B%beg + i) = (s_m*(vel_r(
dir_idx(1))*b%R(i + 1) - vel_r(i + 1) &
2330 & *b%R(norm_dir)) - s_p*(vel_l(
dir_idx(1))*b%L(i + 1) - vel_l(i + 1) &
2331 & *b%L(norm_dir)) + s_m*s_p*(b%L(i + 1) - b%R(i + 1)))/(s_m - s_p)
2334 if (hyper_cleaning)
then
2337 & eqn_idx%B%beg + norm_dir - 1) + (s_m*qr_prim_rsx_vf(j, k + 1, l, &
2338 & eqn_idx%psi) - s_p*ql_prim_rsx_vf(j, k, l, eqn_idx%psi))/(s_m - s_p)
2341 & eqn_idx%psi) = (hyper_cleaning_speed**2*(s_m*b%R(norm_dir) &
2342 & - s_p*b%L(norm_dir)) + s_m*s_p*(ql_prim_rsx_vf(j, k, l, &
2343 & eqn_idx%psi) - qr_prim_rsx_vf(j, k + 1, l, eqn_idx%psi)))/(s_m - s_p)
2346 flux_rsx_vf(j, k, l, eqn_idx%B%beg + norm_dir - 1) = 0._wp
2352# 640 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2356# 642 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2357#if defined(MFC_OpenACC)
2358# 642 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2360# 642 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2361#elif defined(MFC_OpenMP)
2362# 642 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2364# 642 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2371 & eqn_idx%cont%end + 2) - (s_m*pres_r - s_p*pres_l)/(s_m - s_p)
2374# 650 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2375#if defined(MFC_OpenACC)
2376# 650 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2378# 650 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2379#elif defined(MFC_OpenMP)
2380# 650 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2382# 650 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2384 do i = eqn_idx%adv%beg, eqn_idx%adv%end
2385 if (.not. hll_u_interface)
then
2393 if (cyl_coord .and. hypoelasticity)
then
2396 & eqn_idx%cont%end + 2) + (s_m*tau_e_r(4) - s_p*tau_e_l(4))/(s_m - s_p)
2399# 665 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2400#if defined(MFC_OpenACC)
2401# 665 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2403# 665 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2404#elif defined(MFC_OpenMP)
2405# 665 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2407# 665 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2409 do i = eqn_idx%stress%beg, eqn_idx%stress%end
2413# 671 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2418# 674 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2419#if defined(MFC_OpenACC)
2420# 674 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2422# 674 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2423#elif defined(MFC_OpenMP)
2424# 674 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2426# 674 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2428# 674 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2431# 112 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2432# 113 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2433# 114 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2434 if (norm_dir == 3)
then
2436# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2438# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2439#if defined(MFC_OpenACC)
2440# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2442# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2444# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2446# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2448# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2450# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2451#elif defined(MFC_OpenMP)
2452# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2454# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2456# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2458# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2460# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2462# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2464# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2466# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2468# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2470# 115 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2472# 125 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2477# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2478#if defined(MFC_OpenACC)
2479# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2481# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2482#elif defined(MFC_OpenMP)
2483# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2485# 128 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2487 do i = 1, eqn_idx%cont%end
2488 alpha_rho_l(i) = ql_prim_rsx_vf(j, k, l, i)
2489 alpha_rho_r(i) = qr_prim_rsx_vf(j, k, l + 1, i)
2492 vel_l_rms = 0._wp; vel_r_rms = 0._wp
2495# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2496#if defined(MFC_OpenACC)
2497# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2499# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2500#elif defined(MFC_OpenMP)
2501# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2503# 136 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2506 vel_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%cont%end + i)
2507 vel_r(i) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%cont%end + i)
2508 vel_l_rms = vel_l_rms + vel_l(i)**2._wp
2509 vel_r_rms = vel_r_rms + vel_r(i)**2._wp
2513# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2514#if defined(MFC_OpenACC)
2515# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2517# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2518#elif defined(MFC_OpenMP)
2519# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2521# 144 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2523 do i = 1, num_fluids
2524 alpha_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%E + i)
2525 alpha_r(i) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%E + i)
2528 pres_l = ql_prim_rsx_vf(j, k, l, eqn_idx%E)
2529 pres_r = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%E)
2535 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
2536 b%R(2) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%B%beg)
2537 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
2538 b%R(3) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%B%beg + 1)
2540 b%L(1) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg)
2541 b%R(1) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%B%beg)
2542 b%L(2) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 1)
2543 b%R(2) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%B%beg + 1)
2544 b%L(3) = ql_prim_rsx_vf(j, k, l, eqn_idx%B%beg + 2)
2545 b%R(3) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%B%beg + 2)
2567# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2568#if defined(MFC_OpenACC)
2569# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2571# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2572#elif defined(MFC_OpenMP)
2573# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2575# 188 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2577 do i = 1, num_fluids
2578 alpha_rho_l(i) = max(0._wp, alpha_rho_l(i))
2579 alpha_l(i) = min(max(0._wp, alpha_l(i)), 1._wp)
2580 alpha_l_sum = alpha_l_sum + alpha_l(i)
2581 alpha_rho_r(i) = max(0._wp, alpha_rho_r(i))
2582 alpha_r(i) = min(max(0._wp, alpha_r(i)), 1._wp)
2583 alpha_r_sum = alpha_r_sum + alpha_r(i)
2586 alpha_l = alpha_l/max(alpha_l_sum,
sgm_eps)
2587 alpha_r = alpha_r/max(alpha_r_sum,
sgm_eps)
2600# 211 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2601#if defined(MFC_OpenACC)
2602# 211 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2604# 211 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2605#elif defined(MFC_OpenMP)
2606# 211 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2608# 211 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2610 do i = eqn_idx%species%beg, eqn_idx%species%end
2611 ys_l(i - eqn_idx%species%beg + 1) = ql_prim_rsx_vf(j, k, l, i)
2612 ys_r(i - eqn_idx%species%beg + 1) = qr_prim_rsx_vf(j, k, l + 1, i)
2615 call get_mixture_molecular_weight(ys_l, mw_l)
2616 call get_mixture_molecular_weight(ys_r, mw_r)
2617 xs_l(:) = ys_l(:)*mw_l/molecular_weights(:)
2618 xs_r(:) = ys_r(:)*mw_r/molecular_weights(:)
2620 r_gas_l = gas_constant/mw_l
2621 r_gas_r = gas_constant/mw_r
2622 t_l = pres_l/rho_l/r_gas_l
2623 t_r = pres_r/rho_r/r_gas_r
2625 call get_species_specific_heats_r(t_l, cp_il)
2626 call get_species_specific_heats_r(t_r, cp_ir)
2628 if (chem_params%gamma_method == 1)
then
2630 gamma_il = cp_il/(cp_il - 1.0_wp)
2631 gamma_ir = cp_ir/(cp_ir - 1.0_wp)
2633 gamma_l = sum(xs_l(:)/(gamma_il(:) - 1.0_wp))
2634 gamma_r = sum(xs_r(:)/(gamma_ir(:) - 1.0_wp))
2635 else if (chem_params%gamma_method == 2)
then
2637 call get_mixture_specific_heat_cp_mass(t_l, ys_l, cp_l)
2638 call get_mixture_specific_heat_cp_mass(t_r, ys_r, cp_r)
2639 call get_mixture_specific_heat_cv_mass(t_l, ys_l, cv_l)
2640 call get_mixture_specific_heat_cv_mass(t_r, ys_r, cv_r)
2643 gamma_l = 1.0_wp/(gamm_l - 1.0_wp)
2645 gamma_r = 1.0_wp/(gamm_r - 1.0_wp)
2648 call get_mixture_energy_mass(t_l, ys_l, e_l)
2649 call get_mixture_energy_mass(t_r, ys_r, e_r)
2651 e_l = rho_l*e_l + 5.e-1*rho_l*vel_l_rms
2652 e_r = rho_r*e_r + 5.e-1*rho_r*vel_r_rms
2653 h_l = (e_l + pres_l)/rho_l
2654 h_r = (e_r + pres_r)/rho_r
2655 else if (mhd .and. relativity)
then
2656 ga%L = 1._wp/sqrt(1._wp - vel_l_rms)
2657 ga%R = 1._wp/sqrt(1._wp - vel_r_rms)
2658# 261 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2659 vdotb%L = vel_l(1)*b%L(1) + vel_l(2)*b%L(2) + vel_l(3)*b%L(3)
2660 vdotb%R = vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3)
2662 b4%L(1:3) = b%L(1:3)/ga%L + ga%L*vel_l(1:3)*vdotb%L
2663 b4%R(1:3) = b%R(1:3)/ga%R + ga%R*vel_r(1:3)*vdotb%R
2664 b2%L = b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp
2665 b2%R = b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp
2666# 269 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2668 pres_mag%L = 0.5_wp*(b2%L/ga%L**2._wp + vdotb%L**2._wp)
2669 pres_mag%R = 0.5_wp*(b2%R/ga%R**2._wp + vdotb%R**2._wp)
2672 h_l = 1._wp + (gamma_l + 1)*pres_l/rho_l
2673 h_r = 1._wp + (gamma_r + 1)*pres_r/rho_r
2674# 277 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2675 cm%L(1:3) = (rho_l*h_l*ga%L**2 + b2%L)*vel_l(1:3) - vdotb%L*b%L(1:3)
2676 cm%R(1:3) = (rho_r*h_r*ga%R**2 + b2%R)*vel_r(1:3) - vdotb%R*b%R(1:3)
2677# 280 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2679 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
2680 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
2681 else if (mhd .and. .not. relativity)
then
2682# 285 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2683 pres_mag%L = 0.5_wp*(b%L(1)**2._wp + b%L(2)**2._wp + b%L(3)**2._wp)
2684 pres_mag%R = 0.5_wp*(b%R(1)**2._wp + b%R(2)**2._wp + b%R(3)**2._wp)
2685# 288 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2686 e_l = gamma_l*pres_l + pi_inf_l + 0.5_wp*rho_l*vel_l_rms + qv_l + pres_mag%L
2688 e_r = gamma_r*pres_r + pi_inf_r + 0.5_wp*rho_r*vel_r_rms + qv_r + pres_mag%R
2689 h_l = (e_l + pres_l - pres_mag%L)/rho_l
2691 h_r = (e_r + pres_r - pres_mag%R)/rho_r
2693 e_l = gamma_l*pres_l + pi_inf_l + 5.e-1*rho_l*vel_l_rms + qv_l
2694 e_r = gamma_r*pres_r + pi_inf_r + 5.e-1*rho_r*vel_r_rms + qv_r
2695 h_l = (e_l + pres_l)/rho_l
2696 h_r = (e_r + pres_r)/rho_r
2702 if (hypoelasticity)
then
2704# 305 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2705#if defined(MFC_OpenACC)
2706# 305 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2708# 305 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2709#elif defined(MFC_OpenMP)
2710# 305 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2712# 305 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2714 do i = 1, eqn_idx%stress%end - eqn_idx%stress%beg + 1
2715 tau_e_l(i) = ql_prim_rsx_vf(j, k, l, eqn_idx%stress%beg - 1 + i)
2716 tau_e_r(i) = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%stress%beg - 1 + i)
2719 damage_l = 0._wp; damage_r = 0._wp
2720 if (cont_damage)
then
2721 damage_l = ql_prim_rsx_vf(j, k, l, eqn_idx%damage)
2722 damage_r = qr_prim_rsx_vf(j, k, l + 1, eqn_idx%damage)
2726 & tau_e_l, tau_e_r, g_l, g_r, e_l, e_r)
2730# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2731 rho_avg = sqrt(rho_l*rho_r)
2732# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2734# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2736# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2738# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2740# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2741#if defined(MFC_OpenACC)
2742# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2744# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2745#elif defined(MFC_OpenMP)
2746# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2748# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2750# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2752# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2753 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
2754# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2756# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2758# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2759 h_avg = (sqrt(rho_l)*h_l + sqrt(rho_r)*h_r)/(sqrt(rho_l) + sqrt(rho_r))
2760# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2762# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2763 gamma_avg = (sqrt(rho_l)*gamma_l + sqrt(rho_r)*gamma_r)/(sqrt(rho_l) + sqrt(rho_r))
2764# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2766# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2767 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
2768# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2770# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2771 qv_avg = (sqrt(rho_l)*qv_l + sqrt(rho_r)*qv_r)/(sqrt(rho_l) + sqrt(rho_r))
2772# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2774# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2776# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2778# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2779 call get_species_enthalpies_rt(t_l, h_il)
2780# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2781 call get_species_enthalpies_rt(t_r, h_ir)
2782# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2783 h_il = h_il*gas_constant/molecular_weights*t_l
2784# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2785 h_ir = h_ir*gas_constant/molecular_weights*t_r
2786# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2787 call get_species_specific_heats_r(t_l, cp_il)
2788# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2789 call get_species_specific_heats_r(t_r, cp_ir)
2790# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2792# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2793 h_avg_2 = (sqrt(rho_l)*h_il + sqrt(rho_r)*h_ir)/(sqrt(rho_l) + sqrt(rho_r))
2794# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2795 yi_avg = (sqrt(rho_l)*ys_l + sqrt(rho_r)*ys_r)/(sqrt(rho_l) + sqrt(rho_r))
2796# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2797 t_avg = (sqrt(rho_l)*t_l + sqrt(rho_r)*t_r)/(sqrt(rho_l) + sqrt(rho_r))
2798# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2799 if (abs(t_l - t_r) < eps)
then
2800# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2802# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2803 cp_avg = sum(yi_avg(:)*(0.5_wp*cp_il(:) + 0.5_wp*cp_ir(:))*gas_constant/molecular_weights(:))
2804# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2805 cv_avg = sum(yi_avg(:)*((0.5_wp*cp_il(:) + 0.5_wp*cp_ir(:))*gas_constant/molecular_weights(:) &
2806# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2807 & - gas_constant/molecular_weights(:)))
2808# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2810# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2812# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2813 cp_avg = sum(yi_avg(:)*(h_ir(:) - h_il(:))/(t_r - t_l))
2814# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2815 cv_avg = sum(yi_avg(:)*((h_ir(:) - h_il(:))/(t_r - t_l) - gas_constant/molecular_weights(:)))
2816# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2818# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2819 gamma_avg = cp_avg/cv_avg
2820# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2822# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2823 phi_avg(:) = (gamma_avg - 1._wp)*(vel_avg_rms/2.0_wp - h_avg_2(:)) + gamma_avg*gas_constant/molecular_weights(:)*t_avg
2824# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2825 c_sum_yi_phi = sum(yi_avg(:)*phi_avg(:))
2826# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2828# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2830# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2832# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2834# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2835 rho_avg = 5.e-1_wp*(rho_l + rho_r)
2836# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2838# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2840# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2841#if defined(MFC_OpenACC)
2842# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2844# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2845#elif defined(MFC_OpenMP)
2846# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2848# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2850# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2852# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2853 vel_avg_rms = vel_avg_rms + (5.e-1_wp*(vel_l(i) + vel_r(i)))**2._wp
2854# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2856# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2858# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2859 h_avg = 5.e-1_wp*(h_l + h_r)
2860# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2861 gamma_avg = 5.e-1_wp*(gamma_l + gamma_r)
2862# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2863 qv_avg = 5.e-1_wp*(qv_l + qv_r)
2864# 321 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2877 & c_sum_yi_phi, c_avg, qv_avg)
2889# 344 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2890#if defined(MFC_OpenACC)
2891# 344 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2893# 344 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2894#elif defined(MFC_OpenMP)
2895# 344 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2897# 344 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2900 re_avg_rsx_vf(j, k, l, i) = 2._wp/(1._wp/re_l(i) + 1._wp/re_r(i))
2908 s_l = min(vel_l(
dir_idx(1)) - c_fast%L, vel_r(
dir_idx(1)) - c_fast%R)
2909 s_r = max(vel_r(
dir_idx(1)) + c_fast%R, vel_l(
dir_idx(1)) + c_fast%L)
2910 else if (hypoelasticity)
then
2913# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2915# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2917# 358 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2924 if (hyper_cleaning)
then
2926 s_l = min(s_l, -hyper_cleaning_speed)
2927 s_r = max(s_r, hyper_cleaning_speed)
2930 s_s = (pres_r - pres_l + rho_l*vel_l(
dir_idx(1))*(s_l - vel_l(
dir_idx(1))) &
2932 & - rho_r*(s_r - vel_r(
dir_idx(1))))
2934 pres_sl = 5.e-1_wp*(pres_l + pres_r + rho_avg*c_avg*(vel_l(
dir_idx(1)) - vel_r(
dir_idx(1))))
2940 & sqrt(1._wp + ((5.e-1_wp + gamma_l)/(1._wp + gamma_l))*(pres_sl/pres_l - 1._wp) &
2941 & *pres_l/((pres_l + pi_inf_l/(1._wp + gamma_l)))))
2943 & sqrt(1._wp + ((5.e-1_wp + gamma_r)/(1._wp + gamma_r))*(pres_sr/pres_r - 1._wp) &
2944 & *pres_r/((pres_r + pi_inf_r/(1._wp + gamma_r)))))
2946 s_l = vel_l(
dir_idx(1)) - c_l*ms_l
2947 s_r = vel_r(
dir_idx(1)) + c_r*ms_r
2949 s_s = 5.e-1_wp*((vel_l(
dir_idx(1)) + vel_r(
dir_idx(1))) + (pres_l - pres_r)/(rho_avg*c_avg))
2952 s_m = min(0._wp, s_l); s_p = max(0._wp, s_r)
2954 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, &
2956 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, &
2960 if (low_mach == 1)
then
2962# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2963 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
2964# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2966# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2968# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2969 if (low_mach == 1)
then
2970# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2971 pcorr = -(s_p - s_m)*(rho_l + rho_r)/8._wp*(zcoef - 1._wp)
2972# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2974# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2976# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2977 zcoef = min(1._wp, max(vel_l_rms**5.e-1_wp/c_l, vel_r_rms**5.e-1_wp/c_r))
2978# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2980# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2982# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2983 if (low_mach == 1)
then
2984# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2986# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2987 & /(rho_r*(s_r - vel_r(
dir_idx(1))) - rho_l*(s_l - vel_l(
dir_idx(1))))*(zcoef - 1._wp)
2988# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2989 else if (low_mach == 2)
then
2990# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2992# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2994# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2996# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
2998# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3000# 401 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3007 if (.not. relativity)
then
3009# 408 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3010#if defined(MFC_OpenACC)
3011# 408 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3013# 408 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3014#elif defined(MFC_OpenMP)
3015# 408 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3017# 408 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3019 do i = 1, eqn_idx%cont%end
3021 & i) = (s_m*alpha_rho_r(i)*vel_r(norm_dir) - s_p*alpha_rho_l(i)*vel_l(norm_dir) &
3022 & + s_m*s_p*(alpha_rho_l(i) - alpha_rho_r(i)))/(s_m - s_p)
3024 else if (relativity)
then
3026# 415 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3027#if defined(MFC_OpenACC)
3028# 415 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3030# 415 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3031#elif defined(MFC_OpenMP)
3032# 415 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3034# 415 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3036 do i = 1, eqn_idx%cont%end
3038 & i) = (s_m*ga%R*alpha_rho_r(i)*vel_r(norm_dir) - s_p*ga%L*alpha_rho_l(i) &
3039 & *vel_l(norm_dir) + s_m*s_p*(ga%L*alpha_rho_l(i) - ga%R*alpha_rho_r(i)))/(s_m &
3045 if (mhd .and. (.not. relativity))
then
3047# 426 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3048#if defined(MFC_OpenACC)
3049# 426 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3051# 426 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3052#elif defined(MFC_OpenMP)
3053# 426 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3055# 426 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3061 & eqn_idx%cont%end + i) = (s_m*(rho_r*vel_r(i)*vel_r(norm_dir) - b%R(i) &
3062 & *b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(rho_l*vel_l(i) &
3063 & *vel_l(norm_dir) - b%L(i)*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L)) &
3064 & + s_m*s_p*(rho_l*vel_l(i) - rho_r*vel_r(i)))/(s_m - s_p)
3066 else if (mhd .and. relativity)
then
3068# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3069#if defined(MFC_OpenACC)
3070# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3072# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3073#elif defined(MFC_OpenMP)
3074# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3076# 437 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3082 & eqn_idx%cont%end + i) = (s_m*(cm%R(i)*vel_r(norm_dir) - b4%R(i) &
3083 & /ga%R*b%R(norm_dir) +
dir_flg(i)*(pres_r + pres_mag%R)) - s_p*(cm%L(i) &
3084 & *vel_l(norm_dir) - b4%L(i)/ga%L*b%L(norm_dir) +
dir_flg(i)*(pres_l + pres_mag%L) &
3085 & ) + s_m*s_p*(cm%L(i) - cm%R(i)))/(s_m - s_p)
3087 else if (bubbles_euler)
then
3089# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3090#if defined(MFC_OpenACC)
3091# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3093# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3094#elif defined(MFC_OpenMP)
3095# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3097# 448 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3104 & + s_m*s_p*(rho_l*vel_l(
dir_idx(i)) - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) &
3105 & + (s_m/s_l)*(s_p/s_r)*pcorr*(vel_r(
dir_idx(i)) - vel_l(
dir_idx(i)))
3107 else if (hypoelasticity)
then
3109# 458 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3110#if defined(MFC_OpenACC)
3111# 458 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3113# 458 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3114#elif defined(MFC_OpenMP)
3115# 458 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3117# 458 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3125 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p)
3129# 468 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3130#if defined(MFC_OpenACC)
3131# 468 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3133# 468 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3134#elif defined(MFC_OpenMP)
3135# 468 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3137# 468 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3144 & - rho_r*vel_r(
dir_idx(i))))/(s_m - s_p) + (s_m/s_l)*(s_p/s_r) &
3150 if (mhd .and. (.not. relativity))
then
3152# 483 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3154 & eqn_idx%E) = (s_m*(vel_r(norm_dir)*(e_r + pres_r + pres_mag%R) - b%R(norm_dir) &
3155 & *(vel_r(1)*b%R(1) + vel_r(2)*b%R(2) + vel_r(3)*b%R(3))) - s_p*(vel_l(norm_dir) &
3156 & *(e_l + pres_l + pres_mag%L) - b%L(norm_dir)*(vel_l(1)*b%L(1) + vel_l(2)*b%L(2) &
3157 & + vel_l(3)*b%L(3))) + s_m*s_p*(e_l - e_r))/(s_m - s_p)
3158# 489 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3159 else if (mhd .and. relativity)
then
3162 & eqn_idx%E) = (s_m*(cm%R(norm_dir) - ga%R*alpha_rho_r(1)*vel_r(norm_dir)) &
3163 & - s_p*(cm%L(norm_dir) - ga%L*alpha_rho_l(1)*vel_l(norm_dir)) + s_m*s_p*(e_l - e_r)) &
3165 else if (bubbles_euler)
then
3167 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r - ptilde_r) - s_p*vel_l(
dir_idx(1) &
3168 & )*(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) &
3169 & *pcorr*(vel_r_rms - vel_l_rms)/2._wp
3170 else if (hypoelasticity)
then
3171 flux_tau_l = 0._wp; flux_tau_r = 0._wp
3173# 502 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3174#if defined(MFC_OpenACC)
3175# 502 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3177# 502 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3178#elif defined(MFC_OpenMP)
3179# 502 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3181# 502 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3188 & eqn_idx%E) = (s_m*(vel_r(
dir_idx(1))*(e_r + pres_r) - flux_tau_r) &
3189 & - s_p*(vel_l(
dir_idx(1))*(e_l + pres_l) - flux_tau_l) + s_m*s_p*(e_l - e_r))/(s_m &
3193 & eqn_idx%E) = (s_m*vel_r(
dir_idx(1))*(e_r + pres_r) - s_p*vel_l(
dir_idx(1))*(e_l &
3194 & + 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 &
3195 & - vel_l_rms)/2._wp
3199 if (hypoelasticity)
then
3200 do i = 1, eqn_idx%stress%end - eqn_idx%stress%beg + 1
3202 & eqn_idx%stress%beg - 1 + i) = (s_m*(rho_r*vel_r(
dir_idx(1))*tau_e_r(i)) &
3203 & - s_p*(rho_l*vel_l(
dir_idx(1))*tau_e_l(i)) + s_m*s_p*(rho_l*tau_e_l(i) &
3204 & - rho_r*tau_e_r(i)))/(s_m - s_p)
3211# 530 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3212#if defined(MFC_OpenACC)
3213# 530 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3215# 530 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3216#elif defined(MFC_OpenMP)
3217# 530 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3219# 530 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3222 if (0._wp <= s_l)
then
3224 else if (s_r <= 0._wp)
then
3234 if (.not. hll_u_interface)
then
3238# 547 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3239#if defined(MFC_OpenACC)
3240# 547 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3242# 547 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3243#elif defined(MFC_OpenMP)
3244# 547 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3246# 547 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3248 do i = eqn_idx%adv%beg, eqn_idx%adv%end
3249 flux_rsx_vf(j, k, l, i) = (ql_prim_rsx_vf(j, k, l, i) - qr_prim_rsx_vf(j, k, l + 1, &
3250 & i))*s_m*s_p/(s_m - s_p)
3252 & i) - s_p*ql_prim_rsx_vf(j, k, l, i))/(s_m - s_p)
3256# 555 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3257#if defined(MFC_OpenACC)
3258# 555 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3260# 555 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3261#elif defined(MFC_OpenMP)
3262# 555 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3264# 555 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3266 do i = eqn_idx%adv%beg, eqn_idx%adv%end
3267 if (0._wp <= s_l)
then
3269 else if (s_r <= 0._wp)
then
3272 flux_rsx_vf(j, k, l, i) = (s_r*ql_prim_rsx_vf(j, k, l, &
3273 & i)*vel_l(
dir_idx(1)) - s_l*qr_prim_rsx_vf(j, k, l + 1, &
3274 & i)*vel_r(
dir_idx(1)) + s_l*s_r*(qr_prim_rsx_vf(j, k, l + 1, &
3275 & i) - ql_prim_rsx_vf(j, k, l, i)))/(s_r - s_l)
3278 if (0._wp <= s_l)
then
3280 else if (s_r <= 0._wp)
then
3284 & eqn_idx%adv%beg) = (s_r*vel_l(
dir_idx(1)) - s_l*vel_r(
dir_idx(1)))/(s_r - s_l)
3288 if (bubbles_euler)
then
3290 if (num_fluids > 1)
then
3297# 586 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3298#if defined(MFC_OpenACC)
3299# 586 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3301# 586 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3302#elif defined(MFC_OpenMP)
3303# 586 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3305# 586 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3307 do i = eqn_idx%species%beg, eqn_idx%species%end
3308 y_l = ql_prim_rsx_vf(j, k, l, i)
3309 y_r = qr_prim_rsx_vf(j, k, l + 1, i)
3312 & i) = (s_m*y_r*rho_r*vel_r(
dir_idx(1)) - s_p*y_l*rho_l*vel_l(
dir_idx(1)) &
3313 & + s_m*s_p*(y_l*rho_l - y_r*rho_r))/(s_m - s_p)
3323# 602 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3324#if defined(MFC_OpenACC)
3325# 602 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3327# 602 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3328#elif defined(MFC_OpenMP)
3329# 602 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3331# 602 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3335 & eqn_idx%B%beg + i) = (s_m*(vel_r(1)*b%R(2 + i) - vel_r(2 + i)*bx0) &
3336 & - s_p*(vel_l(1)*b%L(2 + i) - vel_l(2 + i)*bx0) + s_m*s_p*(b%L(2 + i) &
3337 & - b%R(2 + i)))/(s_m - s_p)
3344# 613 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3345#if defined(MFC_OpenACC)
3346# 613 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3348# 613 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3349#elif defined(MFC_OpenMP)
3350# 613 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3352# 613 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3356 & eqn_idx%B%beg + i) = (s_m*(vel_r(
dir_idx(1))*b%R(i + 1) - vel_r(i + 1) &
3357 & *b%R(norm_dir)) - s_p*(vel_l(
dir_idx(1))*b%L(i + 1) - vel_l(i + 1) &
3358 & *b%L(norm_dir)) + s_m*s_p*(b%L(i + 1) - b%R(i + 1)))/(s_m - s_p)
3361 if (hyper_cleaning)
then
3364 & eqn_idx%B%beg + norm_dir - 1) + (s_m*qr_prim_rsx_vf(j, k, l + 1, &
3365 & eqn_idx%psi) - s_p*ql_prim_rsx_vf(j, k, l, eqn_idx%psi))/(s_m - s_p)
3368 & eqn_idx%psi) = (hyper_cleaning_speed**2*(s_m*b%R(norm_dir) &
3369 & - s_p*b%L(norm_dir)) + s_m*s_p*(ql_prim_rsx_vf(j, k, l, &
3370 & eqn_idx%psi) - qr_prim_rsx_vf(j, k, l + 1, eqn_idx%psi)))/(s_m - s_p)
3373 flux_rsx_vf(j, k, l, eqn_idx%B%beg + norm_dir - 1) = 0._wp
3379# 671 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3384# 674 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3385#if defined(MFC_OpenACC)
3386# 674 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3388# 674 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3389#elif defined(MFC_OpenMP)
3390# 674 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3392# 674 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3394# 674 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3397# 677 "/home/runner/work/MFC/MFC/src/simulation/m_riemann_solver_hll.fpp"
3400 if (weno_re_flux)
then
3402 & dql_prim_dx_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3403 & dql_prim_dy_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3404 & dql_prim_dz_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3405 & qr_prim_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3406 & dqr_prim_dx_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3407 & dqr_prim_dy_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3408 & dqr_prim_dz_vf(eqn_idx%mom%beg:eqn_idx%mom%end), flux_src_vf, q_prim_vf, &
3409 & norm_dir, ix, iy, iz)
3412 & dql_prim_dx_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3413 & dql_prim_dy_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3414 & dql_prim_dz_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3415 & q_prim_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3416 & dqr_prim_dx_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3417 & dqr_prim_dy_vf(eqn_idx%mom%beg:eqn_idx%mom%end), &
3418 & dqr_prim_dz_vf(eqn_idx%mom%beg:eqn_idx%mom%end), flux_src_vf, q_prim_vf, &
3419 & norm_dir, ix, iy, iz)