@@ -1815,7 +1815,7 @@ contains
18151815 & rho_avg, H_avg, c_avg, gamma_avg, ptilde_L, ptilde_R, vel_L_rms, vel_R_rms, &
18161816 & vel_avg_rms, vel_L_tmp, vel_R_tmp, Ms_L, Ms_R, pres_SL, pres_SR, alpha_L_sum, &
18171817 & alpha_R_sum, rho_Star, E_Star, p_Star, p_K_Star, vel_K_star, s_L, s_R, s_M, s_P, s_S, &
1818- & xi_M, xi_P, xi_L, xi_R, xi_MP, xi_PP]' )
1818+ & xi_M, xi_P, xi_L, xi_R, xi_L_m1, xi_R_m1, xi_MP, xi_PP]' )
18191819 do l = is3%beg, is3%end
18201820 do k = is2%beg, is2%end
18211821 do j = is1%beg, is1%end
@@ -2043,6 +2043,8 @@ contains
20432043 ! goes with q_star_L/ R = xi_L/ R * (variable) xi_L/ R = ( ( s_L/ R - u_L/ R )/ (s_L/ R - s_star) )
20442044 xi_L = (s_L - vel_L(dir_idx(1 )))/ min (s_L - s_S, - sgm_eps)
20452045 xi_R = (s_R - vel_R(dir_idx(1 )))/ max (s_R - s_S, sgm_eps)
2046+ xi_L_m1 = (s_S - vel_L(dir_idx(1 )))/ min (s_L - s_S, - sgm_eps)
2047+ xi_R_m1 = (s_S - vel_R(dir_idx(1 )))/ max (s_R - s_S, sgm_eps)
20462048
20472049 ! goes with numerical star velocity in x/ y/ z directions xi_P/ M = 0.5 +/ m sgn(0.5 ,s_star)
20482050 xi_M = (5.e-1_wp + sign (0.5_wp , s_S))
@@ -2074,8 +2076,8 @@ contains
20742076 $:GPU_LOOP(parallelism= ' [seq]' )
20752077 do i = 1 , eqn_idx%cont%end
20762078 flux_rs${XYZ}$_vf(j, k, l, i) = xi_M* qL_prim_rs${XYZ}$_vf(j, k, l, &
2077- & i)* (vel_L(dir_idx(1 )) + s_M* (xi_L - 1._wp )) + xi_P* qR_prim_rs${XYZ}$_vf(j &
2078- & + 1 , k, l, i)* (vel_R(dir_idx(1 )) + s_P* (xi_R - 1._wp ) )
2079+ & i)* (vel_L(dir_idx(1 )) + s_M* xi_L_m1) + xi_P* qR_prim_rs${XYZ}$_vf(j + 1 , &
2080+ & k, l, i)* (vel_R(dir_idx(1 )) + s_P* xi_R_m1 )
20792081 end do
20802082
20812083 ! MOMENTUM FLUX. f = \rho u u - \sigma, q = \rho u, q_star = \xi * \rho* (s_star, v, w)
@@ -2122,8 +2124,8 @@ contains
21222124 do i = 1 , num_dims
21232125 vel_src_rs${XYZ}$_vf(j, k, l, &
21242126 & dir_idx(i)) = xi_M* (vel_L(dir_idx(i)) + dir_flg(dir_idx(i)) &
2125- & * (s_S* (xi_MP* (xi_L - 1 ) + 1 ) - vel_L(dir_idx(i)))) &
2126- & + xi_P* (vel_R(dir_idx(i)) + dir_flg(dir_idx(i))* (s_S* (xi_PP* (xi_R - 1 ) &
2127+ & * (s_S* (xi_MP* xi_L_m1 + 1 ) - vel_L(dir_idx(i)))) &
2128+ & + xi_P* (vel_R(dir_idx(i)) + dir_flg(dir_idx(i))* (s_S* (xi_PP* xi_R_m1 &
21272129 & + 1 ) - vel_R(dir_idx(i))))
21282130 end do
21292131
@@ -2230,8 +2232,8 @@ contains
22302232 & G_L, G_R, rho_avg, H_avg, c_avg, gamma_avg, ptilde_L, ptilde_R, vel_L_rms, vel_R_rms, &
22312233 & vel_avg_rms, vel_L_tmp, vel_R_tmp, Ms_L, Ms_R, pres_SL, pres_SR, alpha_L_sum, &
22322234 & alpha_R_sum, rho_Star, E_Star, p_Star, p_K_Star, vel_K_star, s_L, s_R, s_M, s_P, s_S, &
2233- & xi_M, xi_P, xi_L, xi_R, xi_MP, xi_PP, Ys_L, Ys_R, Cp_iL, Cp_iR, Xs_L, Xs_R, Gamma_iL , &
2234- & Gamma_iR, Yi_avg, Phi_avg, h_iL, h_iR, h_avg_2]' )
2235+ & xi_M, xi_P, xi_L, xi_R, xi_L_m1, xi_R_m1, xi_MP, xi_PP, Ys_L, Ys_R, Cp_iL, Cp_iR, Xs_L, &
2236+ & Xs_R, Gamma_iL, Gamma_iR, Yi_avg, Phi_avg, h_iL, h_iR, h_avg_2]' )
22352237 do l = is3%beg, is3%end
22362238 do k = is2%beg, is2%end
22372239 do j = is1%beg, is1%end
@@ -2334,6 +2336,8 @@ contains
23342336 ! goes with q_star_L/ R = xi_L/ R * (variable) xi_L/ R = ( ( s_L/ R - u_L/ R )/ (s_L/ R - s_star) )
23352337 xi_L = (s_L - vel_L(dir_idx(1 )))/ min (s_L - s_S, - sgm_eps)
23362338 xi_R = (s_R - vel_R(dir_idx(1 )))/ max (s_R - s_S, sgm_eps)
2339+ xi_L_m1 = (s_S - vel_L(dir_idx(1 )))/ min (s_L - s_S, - sgm_eps)
2340+ xi_R_m1 = (s_S - vel_R(dir_idx(1 )))/ max (s_R - s_S, sgm_eps)
23372341
23382342 ! goes with numerical velocity in x/ y/ z directions xi_P/ M = 0.5 +/ m sgn(0.5 ,s_star)
23392343 xi_M = (5.e-1_wp + sign (5.e-1_wp , s_S))
@@ -2342,8 +2346,8 @@ contains
23422346 $:GPU_LOOP(parallelism= ' [seq]' )
23432347 do i = 1 , eqn_idx%cont%end
23442348 flux_rs${XYZ}$_vf(j, k, l, &
2345- & i) = xi_M* alpha_rho_L(i)* (vel_L(dir_idx(1 )) + s_M* (xi_L - 1._wp ) ) &
2346- & + xi_P* alpha_rho_R(i)* (vel_R(dir_idx(1 )) + s_P* (xi_R - 1._wp ) )
2349+ & i) = xi_M* alpha_rho_L(i)* (vel_L(dir_idx(1 )) + s_M* xi_L_m1 ) &
2350+ & + xi_P* alpha_rho_R(i)* (vel_R(dir_idx(1 )) + s_P* xi_R_m1 )
23472351 end do
23482352
23492353 ! Momentum flux. f = \rho u u + p I, q = \rho u, q_star = \xi * \rho* (s_star, v, w)
@@ -2374,8 +2378,8 @@ contains
23742378 $:GPU_LOOP(parallelism= ' [seq]' )
23752379 do i = eqn_idx%alf, eqn_idx%alf ! only advect the void fraction
23762380 flux_rs${XYZ}$_vf(j, k, l, i) = xi_M* qL_prim_rs${XYZ}$_vf(j, k, l, &
2377- & i)* (vel_L(dir_idx(1 )) + s_M* (xi_L - 1._wp )) + xi_P* qR_prim_rs${XYZ}$_vf(j &
2378- & + 1 , k, l, i)* (vel_R(dir_idx(1 )) + s_P* (xi_R - 1._wp ) )
2381+ & i)* (vel_L(dir_idx(1 )) + s_M* xi_L_m1) + xi_P* qR_prim_rs${XYZ}$_vf(j + 1 , &
2382+ & k, l, i)* (vel_R(dir_idx(1 )) + s_P* xi_R_m1 )
23792383 end do
23802384
23812385 ! Advection velocity source: interface velocity for volume fraction transport
@@ -2392,9 +2396,9 @@ contains
23922396 $:GPU_LOOP(parallelism= ' [seq]' )
23932397 do i = eqn_idx%bub%beg, eqn_idx%bub%end
23942398 flux_rs${XYZ}$_vf(j, k, l, i) = xi_M* nbub_L* qL_prim_rs${XYZ}$_vf(j, k, l, &
2395- & i)* (vel_L(dir_idx(1 )) + s_M* (xi_L - 1._wp ) ) &
2399+ & i)* (vel_L(dir_idx(1 )) + s_M* xi_L_m1 ) &
23962400 & + xi_P* nbub_R* qR_prim_rs${XYZ}$_vf(j + 1 , k, l, &
2397- & i)* (vel_R(dir_idx(1 )) + s_P* (xi_R - 1._wp ) )
2401+ & i)* (vel_R(dir_idx(1 )) + s_P* xi_R_m1 )
23982402 end do
23992403 end if
24002404
@@ -2450,9 +2454,9 @@ contains
24502454 & rho_R, pres_L, pres_R, E_L, E_R, H_L, H_R, gamma_L, gamma_R, pi_inf_L, pi_inf_R, qv_L, &
24512455 & qv_R, qv_avg, c_L, c_R, c_avg, vel_L_rms, vel_R_rms, vel_avg_rms, vel_L_tmp, vel_R_tmp, &
24522456 & Ms_L, Ms_R, pres_SL, pres_SR, alpha_L_sum, alpha_R_sum, s_L, s_R, s_M, s_P, s_S, xi_M, &
2453- & xi_P, xi_L, xi_R, xi_MP, xi_PP, nbub_L, nbub_R, PbwR3Lbar, PbwR3Rbar, R3Lbar, R3Rbar , &
2454- & R3V2Lbar, R3V2Rbar, Ys_L, Ys_R, Cp_iL, Cp_iR, Xs_L, Xs_R, Gamma_iL, Gamma_iR, Yi_avg , &
2455- & Phi_avg, h_iL, h_iR, h_avg_2]' )
2457+ & xi_P, xi_L, xi_R, xi_L_m1, xi_R_m1, xi_MP, xi_PP, nbub_L, nbub_R, PbwR3Lbar, PbwR3Rbar, &
2458+ & R3Lbar, R3Rbar, R3V2Lbar, R3V2Rbar, Ys_L, Ys_R, Cp_iL, Cp_iR, Xs_L, Xs_R, Gamma_iL, &
2459+ & Gamma_iR, Yi_avg, Phi_avg, h_iL, h_iR, h_avg_2]' )
24562460 do l = is3%beg, is3%end
24572461 do k = is2%beg, is2%end
24582462 do j = is1%beg, is1%end
@@ -2691,6 +2695,8 @@ contains
26912695 ! goes with q_star_L/ R = xi_L/ R * (variable) xi_L/ R = ( ( s_L/ R - u_L/ R )/ (s_L/ R - s_star) )
26922696 xi_L = (s_L - vel_L(dir_idx(1 )))/ min (s_L - s_S, - sgm_eps)
26932697 xi_R = (s_R - vel_R(dir_idx(1 )))/ max (s_R - s_S, sgm_eps)
2698+ xi_L_m1 = (s_S - vel_L(dir_idx(1 )))/ min (s_L - s_S, - sgm_eps)
2699+ xi_R_m1 = (s_S - vel_R(dir_idx(1 )))/ max (s_R - s_S, sgm_eps)
26942700
26952701 ! goes with numerical velocity in x/ y/ z directions xi_P/ M = 0.5 +/ m sgn(0.5 ,s_star)
26962702 xi_M = (5.e-1_wp + sign (5.e-1_wp , s_S))
@@ -2706,8 +2712,8 @@ contains
27062712 $:GPU_LOOP(parallelism= ' [seq]' )
27072713 do i = 1 , eqn_idx%cont%end
27082714 flux_rs${XYZ}$_vf(j, k, l, i) = xi_M* qL_prim_rs${XYZ}$_vf(j, k, l, &
2709- & i)* (vel_L(dir_idx(1 )) + s_M* (xi_L - 1._wp )) + xi_P* qR_prim_rs${XYZ}$_vf(j &
2710- & + 1 , k, l, i)* (vel_R(dir_idx(1 )) + s_P* (xi_R - 1._wp ) )
2715+ & i)* (vel_L(dir_idx(1 )) + s_M* xi_L_m1) + xi_P* qR_prim_rs${XYZ}$_vf(j + 1 , &
2716+ & k, l, i)* (vel_R(dir_idx(1 )) + s_P* xi_R_m1 )
27112717 end do
27122718
27132719 if (bubbles_euler .and. (num_fluids > 1 )) then
@@ -2758,17 +2764,17 @@ contains
27582764 $:GPU_LOOP(parallelism= ' [seq]' )
27592765 do i = eqn_idx%adv%beg, eqn_idx%adv%end
27602766 flux_rs${XYZ}$_vf(j, k, l, i) = xi_M* qL_prim_rs${XYZ}$_vf(j, k, l, &
2761- & i)* (vel_L(dir_idx(1 )) + s_M* (xi_L - 1._wp )) + xi_P* qR_prim_rs${XYZ}$_vf(j &
2762- & + 1 , k, l, i)* (vel_R(dir_idx(1 )) + s_P* (xi_R - 1._wp ) )
2767+ & i)* (vel_L(dir_idx(1 )) + s_M* xi_L_m1) + xi_P* qR_prim_rs${XYZ}$_vf(j + 1 , &
2768+ & k, l, i)* (vel_R(dir_idx(1 )) + s_P* xi_R_m1 )
27632769 end do
27642770
27652771 ! Advection velocity source: interface velocity for volume fraction transport
27662772 $:GPU_LOOP(parallelism= ' [seq]' )
27672773 do i = 1 , num_dims
27682774 vel_src_rs${XYZ}$_vf(j, k, l, &
2769- & dir_idx(i)) = xi_M* (vel_L(dir_idx(i)) + dir_flg(dir_idx(i))* s_M * (xi_L &
2770- & - 1._wp )) + xi_P* (vel_R(dir_idx(i)) + dir_flg(dir_idx(i))* s_P * (xi_R &
2771- & - 1._wp ) )
2775+ & dir_idx(i)) = xi_M* (vel_L(dir_idx(i)) + dir_flg(dir_idx(i)) &
2776+ & * s_M * xi_L_m1) + xi_P* (vel_R(dir_idx(i)) + dir_flg(dir_idx(i)) &
2777+ & * s_P * xi_R_m1 )
27722778
27732779 ! IF ( (model_eqns == 4 ) .or. (num_fluids==1 ) ) vel_src_rs_vf(dir_idx(i))%sf(j,k,l) = 0._wp
27742780 end do
@@ -2779,21 +2785,20 @@ contains
27792785 $:GPU_LOOP(parallelism= ' [seq]' )
27802786 do i = eqn_idx%bub%beg, eqn_idx%bub%end
27812787 flux_rs${XYZ}$_vf(j, k, l, i) = xi_M* nbub_L* qL_prim_rs${XYZ}$_vf(j, k, l, &
2782- & i)* (vel_L(dir_idx(1 )) + s_M* (xi_L - 1._wp )) &
2783- & + xi_P* nbub_R* qR_prim_rs${XYZ}$_vf(j + 1 , k, l, &
2784- & i)* (vel_R(dir_idx(1 )) + s_P* (xi_R - 1._wp ))
2788+ & i)* (vel_L(dir_idx(1 )) + s_M* xi_L_m1) + xi_P* nbub_R* qR_prim_rs${XYZ}$_vf(j &
2789+ & + 1 , k, l, i)* (vel_R(dir_idx(1 )) + s_P* xi_R_m1)
27852790 end do
27862791
27872792 if (qbmm) then
27882793 flux_rs${XYZ}$_vf(j, k, l, &
2789- & eqn_idx%bub%beg) = xi_M* nbub_L* (vel_L(dir_idx(1 )) + s_M* (xi_L - 1._wp ) ) &
2790- & + xi_P* nbub_R* (vel_R(dir_idx(1 )) + s_P* (xi_R - 1._wp ) )
2794+ & eqn_idx%bub%beg) = xi_M* nbub_L* (vel_L(dir_idx(1 )) + s_M* xi_L_m1 ) &
2795+ & + xi_P* nbub_R* (vel_R(dir_idx(1 )) + s_P* xi_R_m1 )
27912796 end if
27922797
27932798 if (adv_n) then
27942799 flux_rs${XYZ}$_vf(j, k, l, &
2795- & eqn_idx%n) = xi_M* nbub_L* (vel_L(dir_idx(1 )) + s_M* (xi_L - 1._wp ) ) &
2796- & + xi_P* nbub_R* (vel_R(dir_idx(1 )) + s_P* (xi_R - 1._wp ) )
2800+ & eqn_idx%n) = xi_M* nbub_L* (vel_L(dir_idx(1 )) + s_M* xi_L_m1 ) &
2801+ & + xi_P* nbub_R* (vel_R(dir_idx(1 )) + s_P* xi_R_m1 )
27972802 end if
27982803
27992804 ! Geometrical source flux for cylindrical coordinates
0 commit comments