diff --git a/.github/workflows/frontier/submit.sh b/.github/workflows/frontier/submit.sh index 61509b0e98..98ce9c4231 100644 --- a/.github/workflows/frontier/submit.sh +++ b/.github/workflows/frontier/submit.sh @@ -21,7 +21,7 @@ sbatch < Function that uses the interpolation coefficients and the current state !! at the cell centers in order to estimate the state at the image point - subroutine s_interpolate_image_point(q_prim_vf, gp, alpha_rho_IP, alpha_IP, pres_IP, vel_IP, r_IP, v_IP, pb_IP, mv_IP, nmom_IP, pb, mv, presb_IP, massv_IP) + subroutine s_interpolate_image_point(q_prim_vf, gp, alpha_rho_IP, alpha_IP, pres_IP, vel_IP, c_IP, r_IP, v_IP, pb_IP, mv_IP, nmom_IP, pb, mv, presb_IP, massv_IP) !$acc routine seq type(scalar_field), & dimension(sys_size), & intent(IN) :: q_prim_vf !< Primitive Variables + real(wp), optional, dimension(idwbuff(1)%beg:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:, 1:), intent(INOUT) :: pb, mv type(ghost_point), intent(IN) :: gp real(wp), intent(INOUT) :: pres_IP real(wp), dimension(3), intent(INOUT) :: vel_IP + real(wp), intent(INOUT) :: c_IP real(wp), dimension(num_fluids), intent(INOUT) :: alpha_IP, alpha_rho_IP real(wp), optional, dimension(:), intent(INOUT) :: r_IP, v_IP, pb_IP, mv_IP real(wp), optional, dimension(:), intent(INOUT) :: nmom_IP @@ -758,6 +774,8 @@ contains pres_IP = 0._wp vel_IP = 0._wp + if (surface_tension) c_IP = 0._wp + if (bubbles_euler) then r_IP = 0._wp v_IP = 0._wp @@ -801,6 +819,10 @@ contains q_prim_vf(advxb + l - 1)%sf(i, j, k) end do + if (surface_tension) then + c_IP = c_IP + coeff*q_prim_vf(c_idx)%sf(i, j, k) + end if + if (bubbles_euler .and. .not. qbmm) then !$acc loop seq do l = 1, nb diff --git a/src/simulation/m_riemann_solvers.fpp b/src/simulation/m_riemann_solvers.fpp index 69a8b4a61b..ab383fb090 100644 --- a/src/simulation/m_riemann_solvers.fpp +++ b/src/simulation/m_riemann_solvers.fpp @@ -1650,7 +1650,7 @@ contains end do end if - ! SURFACE TENSION FLUX. need to check + ! COLOR FUNCTION FLUX if (surface_tension) then flux_rs${XYZ}$_vf(j, k, l, c_idx) = & (xi_M*qL_prim_rs${XYZ}$_vf(j, k, l, c_idx) + & @@ -2831,6 +2831,15 @@ contains s_P*(xi_R - 1._wp)) end do + ! COLOR FUNCTION FLUX + if (surface_tension) then + flux_rs${XYZ}$_vf(j, k, l, c_idx) = & + xi_M*qL_prim_rs${XYZ}$_vf(j, k, l, c_idx) & + *(vel_L(idx1) + s_M*(xi_L - 1._wp)) & + + xi_P*qR_prim_rs${XYZ}$_vf(j + 1, k, l, c_idx) & + *(vel_R(idx1) + s_P*(xi_R - 1._wp)) + end if + ! REFERENCE MAP FLUX. if (hyperelasticity) then !$acc loop seq