@@ -9,7 +9,7 @@ module mod_mom
99 use mod_types
1010 implicit none
1111 private
12- public mom_xyz_ad,mom_xyz_oth
12+ public mom_xyz_ad,mom_xyz_oth,cmpt_wallshear
1313 contains
1414 !
1515 subroutine momx_a (nx ,ny ,nz ,dxi ,dyi ,dzfi ,u ,v ,w ,dudt )
@@ -249,11 +249,11 @@ subroutine momz_d(nx,ny,nz,dxi,dyi,dzci,dzfi,mu12,psi,u,v,w,dwdt)
249249 end do
250250 end subroutine momz_d
251251 !
252- subroutine momx_p (nx ,ny ,nz ,dxi ,dt_r ,bforce ,gacc ,rho0 ,rho_av ,rho12 ,psi ,p ,pp ,dudt )
252+ subroutine momx_p (nx ,ny ,nz ,dxi ,dt_r ,bforce ,gacc ,rho0 ,rhox_av ,rho12 ,psi ,p ,pp ,dudt )
253253 implicit none
254254 integer , intent (in ) :: nx,ny,nz
255255 real (rp), intent (in ) :: dxi,dt_r
256- real (rp), intent (in ) :: bforce,gacc,rho0,rho_av ,rho12(2 )
256+ real (rp), intent (in ) :: bforce,gacc,rho0,rhox_av ,rho12(2 )
257257 real (rp), dimension (0 :,0 :,0 :), intent (in ) :: psi,p,pp
258258 real (rp), dimension ( :, :, :), intent (inout ) :: dudt
259259 real (rp) :: rhop,dpdl
@@ -269,7 +269,7 @@ subroutine momx_p(nx,ny,nz,dxi,dt_r,bforce,gacc,rho0,rho_av,rho12,psi,p,pp,dudt)
269269 rhop = rho + drho* 0.5 * (psi(i+1 ,j,k)+ psi(i,j,k))
270270 dpdl = (p(i+1 ,j,k)- p(i,j,k))* dxi
271271 !
272- dudt(i,j,k) = dudt(i,j,k) + bforce + gacc* (rhop- rho_av ) &
272+ dudt(i,j,k) = dudt(i,j,k) + bforce + gacc* (rhop- rhox_av ) &
273273#if defined(_CONSTANT_COEFFS_POISSON)
274274 - dpdl* rhop/ rho0 - (1 .- rhop/ rho0)* ( ((1 .+ dt_r)* p(i+1 ,j,k)- dt_r* (pp(i+1 ,j,k))) - &
275275 ((1 .+ dt_r)* p(i ,j,k)- dt_r* (pp(i ,j,k))) &
@@ -282,11 +282,11 @@ subroutine momx_p(nx,ny,nz,dxi,dt_r,bforce,gacc,rho0,rho_av,rho12,psi,p,pp,dudt)
282282 end do
283283 end subroutine momx_p
284284 !
285- subroutine momy_p (nx ,ny ,nz ,dyi ,dt_r ,bforce ,gacc ,rho0 ,rho_av ,rho12 ,psi ,p ,pp ,dvdt )
285+ subroutine momy_p (nx ,ny ,nz ,dyi ,dt_r ,bforce ,gacc ,rho0 ,rhoy_av ,rho12 ,psi ,p ,pp ,dvdt )
286286 implicit none
287287 integer , intent (in ) :: nx,ny,nz
288288 real (rp), intent (in ) :: dyi,dt_r
289- real (rp), intent (in ) :: bforce,gacc,rho0,rho_av ,rho12(2 )
289+ real (rp), intent (in ) :: bforce,gacc,rho0,rhoy_av ,rho12(2 )
290290 real (rp), dimension (0 :,0 :,0 :), intent (in ) :: psi,p,pp
291291 real (rp), dimension ( :, :, :), intent (inout ) :: dvdt
292292 integer :: i,j,k
@@ -302,7 +302,7 @@ subroutine momy_p(nx,ny,nz,dyi,dt_r,bforce,gacc,rho0,rho_av,rho12,psi,p,pp,dvdt)
302302 rhop = rho + drho* 0.5 * (psi(i,j+1 ,k)+ psi(i,j,k))
303303 dpdl = (p(i,j+1 ,k)- p(i,j,k))* dyi
304304 !
305- dvdt(i,j,k) = dvdt(i,j,k) + bforce + gacc* (rhop- rho_av ) &
305+ dvdt(i,j,k) = dvdt(i,j,k) + bforce + gacc* (rhop- rhoy_av ) &
306306#if defined(_CONSTANT_COEFFS_POISSON)
307307 - dpdl* rhop/ rho0 - (1 .- 1 .* rhop/ rho0)* ( ((1 .+ dt_r)* p(i,j+1 ,k)- dt_r* (pp(i,j+1 ,k))) - &
308308 ((1 .+ dt_r)* p(i,j ,k)- dt_r* (pp(i,j ,k))) &
@@ -315,12 +315,12 @@ subroutine momy_p(nx,ny,nz,dyi,dt_r,bforce,gacc,rho0,rho_av,rho12,psi,p,pp,dvdt)
315315 end do
316316 end subroutine momy_p
317317 !
318- subroutine momz_p (nx ,ny ,nz ,dzci ,dt_r ,bforce ,gacc ,rho0 ,rho_av ,rho12 ,psi ,p ,pp ,dwdt )
318+ subroutine momz_p (nx ,ny ,nz ,dzci ,dt_r ,bforce ,gacc ,rho0 ,rhoz_av ,rho12 ,psi ,p ,pp ,dwdt )
319319 implicit none
320320 integer , intent (in ) :: nx,ny,nz
321321 real (rp), intent (in ), dimension (0 :) :: dzci
322322 real (rp), intent (in ) :: dt_r
323- real (rp), intent (in ) :: bforce,gacc,rho0,rho_av ,rho12(2 )
323+ real (rp), intent (in ) :: bforce,gacc,rho0,rhoz_av ,rho12(2 )
324324 real (rp), dimension (0 :,0 :,0 :), intent (in ) :: psi,p,pp
325325 real (rp), dimension ( :, :, :), intent (inout ) :: dwdt
326326 real (rp) :: rhop,dpdl
@@ -336,7 +336,7 @@ subroutine momz_p(nx,ny,nz,dzci,dt_r,bforce,gacc,rho0,rho_av,rho12,psi,p,pp,dwdt
336336 rhop = rho + drho* 0.5 * (psi(i,j,k+1 )+ psi(i,j,k))
337337 dpdl = (p(i,j,k+1 )- p(i,j,k))* dzci(k)
338338 !
339- dwdt(i,j,k) = dwdt(i,j,k) + bforce + gacc* (rhop- rho_av ) &
339+ dwdt(i,j,k) = dwdt(i,j,k) + bforce + gacc* (rhop- rhoz_av ) &
340340#if defined(_CONSTANT_COEFFS_POISSON)
341341 - dpdl* rhop/ rho0 - (1 .- 1 .* rhop/ rho0)* ( ((1 .+ dt_r)* p(i,j,k+1 )- dt_r* (pp(i,j,k+1 ))) - &
342342 ((1 .+ dt_r)* p(i,j,k )- dt_r* (pp(i,j,k ))) &
@@ -860,7 +860,7 @@ subroutine mom_xyz_oth(n,dli,dzci,dzfi,dt_r,rho12,beta12,bforce,gacc,sigma,rho0,
860860 real (rp), intent (in ), dimension (2 ) :: rho12,beta12
861861 real (rp), intent (in ), dimension (3 ) :: bforce,gacc
862862 real (rp), intent (in ) :: sigma
863- real (rp), intent (in ) :: rho0,rho_av
863+ real (rp), intent (in ) :: rho0,rho_av( 3 )
864864 real (rp), intent (in ), dimension (0 :,0 :,0 :) :: p,psi,kappa
865865 real (rp), intent (in ), dimension (0 :,0 :,0 :), optional :: s,pn,po
866866 real (rp), intent (inout ), dimension ( :, :, :) :: dudt,dvdt,dwdt
@@ -872,7 +872,7 @@ subroutine mom_xyz_oth(n,dli,dzci,dzfi,dt_r,rho12,beta12,bforce,gacc,sigma,rho0,
872872 q_ccc,q_pcc,q_cpc,q_ccp, &
873873 s_ccc,s_pcc,s_cpc,s_ccp, &
874874 k_ccc,k_pcc,k_cpc,k_ccp, &
875- bforcex,bforcey,bforcez,gaccx,gaccy,gaccz, &
875+ bforcex,bforcey,bforcez,gaccx,gaccy,gaccz,rhox_av,rhoy_av,rhoz_av, &
876876 dzci_c,dzci_m,dzfi_c,dzfi_p, &
877877 psixp,psiyp,psizp
878878 real (rp) :: rhoxp,rhoyp,rhozp, &
@@ -889,6 +889,7 @@ subroutine mom_xyz_oth(n,dli,dzci,dzfi,dt_r,rho12,beta12,bforce,gacc,sigma,rho0,
889889 dxi = dli(1 )
890890 dyi = dli(2 )
891891 surf_factor = sigma* 2 ./ (rho12(1 )+ rho12(2 ))
892+ rhox_av = rho_av(1 ); rhoy_av = rho_av(2 ); rhoz_av = rho_av(3 )
892893 !
893894 ! making an exception for this kernel -- private variables not explicitly mentioned for the sake of conciseness
894895 ! all scalars should be firstprivate/private
@@ -948,9 +949,9 @@ subroutine mom_xyz_oth(n,dli,dzci,dzfi,dt_r,rho12,beta12,bforce,gacc,sigma,rho0,
948949 dpdx = (p_pcc- p_ccc)* dxi
949950 dpdy = (p_cpc- p_ccc)* dyi
950951 dpdz = (p_ccp- p_ccc)* dzci_c
951- dudt_aux = bforcex + (rhoxp- rho_av )* gaccx
952- dvdt_aux = bforcey + (rhoyp- rho_av )* gaccy
953- dwdt_aux = bforcez + (rhozp- rho_av )* gaccz
952+ dudt_aux = bforcex + (rhoxp- rhox_av )* gaccx
953+ dvdt_aux = bforcey + (rhoyp- rhoy_av )* gaccy
954+ dwdt_aux = bforcez + (rhozp- rhoz_av )* gaccz
954955 !
955956 skappaxp = 0.5 * (k_pcc+ k_ccc)* surf_factor
956957 skappayp = 0.5 * (k_cpc+ k_ccc)* surf_factor
0 commit comments