85 DOUBLE PRECISION,
INTENT(OUT) :: lTAU_w_g(
dimension_3)
87 DOUBLE PRECISION,
INTENT(OUT) :: lcTAU_w_g(
dimension_3)
92 INTEGER :: I, J, K, IM, JM, KP
93 INTEGER :: IJK, IJKE, IJKW, IJKN, IJKS, IJKT
94 INTEGER :: IJKNT, IJKST, IJKTE, IJKTW
95 INTEGER :: IJKP, IMJK, IJMK, IJKM
96 INTEGER :: IMJKP, IJMKP
98 DOUBLE PRECISION :: EPGA
100 DOUBLE PRECISION :: duodz
102 DOUBLE PRECISION :: Sbv, Ssx, Ssy, Ssz
104 DOUBLE PRECISION :: Vxz
123 epga = avg_z(
ep_g(ijk),
ep_g(ijkt),k)
124 IF ( .NOT.ip_at_t(ijk) .AND. epga>
dil_ep_s)
THEN 144 ijkte = east_of(ijkt)
145 ijktw = west_of(ijkt)
218 ltau_w_g(ijk) = sbv + ssx + ssy + ssz + vxz*
vol_w(ijk)
225 lctau_w_g(ijk) =
zero 242 include
'fun_avg.inc' 284 DOUBLE PRECISION,
INTENT(OUT) :: lTAU_w_g(
dimension_3)
286 DOUBLE PRECISION,
INTENT(OUT) :: lcTAU_w_g(
dimension_3)
291 INTEGER :: I, J, K, IM, JM, KP
292 INTEGER :: IJK, IJKE, IJKW, IJKN, IJKS, IJKT
293 INTEGER :: IJKNT, IJKST, IJKTE, IJKTW
294 INTEGER :: IJKP, IMJK, IJMK, IJKM
295 INTEGER :: IMJKP, IJMKP
297 DOUBLE PRECISION :: EPGA
299 DOUBLE PRECISION :: Sbv, Ssx, Ssy, Ssz
301 DOUBLE PRECISION :: DEL_H, Nx, Ny, Nz
302 LOGICAL :: U_NODE_AT_ET, U_NODE_AT_EB, U_NODE_AT_WT, U_NODE_AT_WB
303 LOGICAL :: V_NODE_AT_NT, V_NODE_AT_NB, V_NODE_AT_ST, V_NODE_AT_SB
304 DOUBLE PRECISION :: dudz_at_E, dudz_at_W
305 DOUBLE PRECISION :: dvdz_at_N, dvdz_at_S
306 DOUBLE PRECISION :: Xi, Yi, Zi, Ui, Vi, Sx, Sy, Sz
307 DOUBLE PRECISION :: MU_GT_CUT, SSX_CUT, SSY_CUT
308 DOUBLE PRECISION :: UW_g, VW_g, WW_g
338 epga = avg_z(
ep_g(ijk),
ep_g(ijkt),k)
339 IF ( .NOT.ip_at_t(ijk) .AND. epga>
dil_ep_s)
THEN 359 ijkte = east_of(ijkt)
360 ijktw = west_of(ijkt)
450 IF(u_node_at_et.AND.u_node_at_eb)
THEN 458 CALL get_del_h(ijk,
'W_MOMENTUM', xi, yi, zi, &
461 dudz_at_e = (
u_g(ijkp) -
u_g(ijk)) * &
463 IF(
noc_wg) dudz_at_e = dudz_at_e - ((ui-uw_g) * &
469 IF(u_node_at_wt.AND.u_node_at_wb)
THEN 474 sx =
x_u(imjkp) -
x_u(imjk)
475 sy =
y_u(imjkp) -
y_u(imjk)
476 sz =
z_u(imjkp) -
z_u(imjk)
477 CALL get_del_h(ijk,
'W_MOMENTUM', xi, yi, zi, &
480 dudz_at_w = (
u_g(imjkp) -
u_g(imjk)) * &
482 IF(
noc_wg) dudz_at_w = dudz_at_w - ((ui-uw_g) * &
488 IF(u_node_at_eb)
THEN 490 y_u(ijk),
z_u(ijk), del_h, nx, ny, nz)
491 ssx_cut = - mu_gt_cut * (
u_g(ijk) - uw_g) / &
513 IF(v_node_at_nt.AND.v_node_at_nb)
THEN 521 CALL get_del_h(ijk,
'W_MOMENTUM', xi, yi, zi, &
524 dvdz_at_n = (
v_g(ijkp) -
v_g(ijk)) * &
526 IF(
noc_wg) dvdz_at_n = dvdz_at_n - ((vi-vw_g) * &
532 IF(v_node_at_st.AND.v_node_at_sb)
THEN 537 sx =
x_v(ijmkp) -
x_v(ijmk)
538 sy =
y_v(ijmkp) -
y_v(ijmk)
539 sz =
z_v(ijmkp) -
z_v(ijmk)
540 CALL get_del_h(ijk,
'W_MOMENTUM', xi, yi, zi, &
543 dvdz_at_s = (
v_g(ijmkp) -
v_g(ijmk)) * &
545 IF(
noc_wg) dvdz_at_s = dvdz_at_s - ((vi-vw_g) * &
551 IF(v_node_at_nb)
THEN 553 y_v(ijk),
z_v(ijk), del_h, nx, ny, nz)
554 ssy_cut = - mu_gt_cut * (
v_g(ijk) - vw_g) / &
569 y_w(ijk),
z_w(ijk), del_h, nx, ny, nz)
575 mu_gt_cut * (
w_g(ijk) - ww_g) / del_h * &
581 ltau_w_g(ijk) = sbv + ssx + ssy + ssz
588 lctau_w_g(ijk) =
zero 611 USE functions, only: east_of, west_of, top_of, flow_at_t
615 USE fun_avg, only: avg_x_h, avg_z_h, avg_z
629 INTEGER,
INTENT(IN) :: IJK
631 DOUBLE PRECISION,
INTENT(IN) :: lTAU_W_g(
dimension_3)
633 DOUBLE PRECISION,
INTENT(INOUT) :: lcTAU_W_g(
dimension_3)
638 INTEGER :: I, J, K, IM
639 INTEGER :: IJKT, IJKE, IJKW, IJKTE, IJKTW
640 INTEGER :: IPJK, IJPK, IJKP, IMJK, IJMK, IJKM
642 DOUBLE PRECISION :: MUOX
644 DOUBLE PRECISION :: SSX, SSY, SSZ
646 DOUBLE PRECISION :: vxza
647 DOUBLE PRECISION :: cte, ctw, vx14
648 DOUBLE PRECISION :: cpe, cpw, vx15
662 IF (cylindrical)
THEN 684 vx14 = -cte*(
w_g(ipjk)+
w_g(ijk))+ctw*(
w_g(ijk)+
w_g(imjk))
693 vx15 = cpe*(
w_g(ipjk)-
w_g(ijk))+cpw*(
w_g(ijk)-
w_g(imjk))
699 vxza = -muox*ox(i)*
w_g(ijk)*
vol_w(ijk)
707 IF (flow_at_t(ijk))
THEN 730 lctau_w_g(ijk) = (ltau_w_g(ijk) + ssx + ssy + ssz + vxza + &
double precision, dimension(:), allocatable y_v
double precision, dimension(:), allocatable vol_w
double precision, dimension(:), allocatable z_u
integer, dimension(:), allocatable i_of
logical, dimension(:), allocatable wall_u_at
double precision, dimension(dimension_bc) bc_uw_g
double precision, dimension(:), allocatable ep_g
double precision, dimension(:,:), allocatable df_gw
double precision, dimension(:), allocatable ox_e
double precision, dimension(:), allocatable mu_gt
double precision, dimension(:), allocatable axy
double precision, dimension(:), allocatable oneodz_t_w
double precision, dimension(:), allocatable x_u
integer, dimension(:), allocatable im1
integer, dimension(10) cg_safe_mode
logical, dimension(:), allocatable wall_v_at
double precision, dimension(0:dim_j) dy
integer, dimension(dimension_bc) bc_type_enum
double precision, parameter undefined
double precision, dimension(:), allocatable y_w
double precision, dimension(0:dim_k) dz
double precision, dimension(:), allocatable z_v
subroutine calc_cg_tau_w_g(lTAu_w_G, lctau_w_g)
integer, dimension(:), allocatable k_of
double precision, dimension(:), allocatable x_w
integer, dimension(:), allocatable j_of
double precision, dimension(:), allocatable odx_e
integer, dimension(:), allocatable jm1
double precision, dimension(:), allocatable trd_g
integer, dimension(:), allocatable bc_w_id
double precision, dimension(:), allocatable ox
double precision, dimension(:), allocatable epmu_gt
logical, dimension(:), allocatable blocked_u_cell_at
double precision, dimension(dimension_bc) bc_hw_g
double precision, dimension(:), allocatable v_g
logical, dimension(:), allocatable cut_w_cell_at
integer, dimension(:), allocatable kp1
double precision, dimension(:), allocatable w_g
double precision, dimension(:), allocatable x_v
double precision, parameter half
double precision, dimension(:), allocatable ayz_w
double precision, dimension(:), allocatable oneodz_t_u
double precision, parameter dil_ep_s
double precision, dimension(:), allocatable eplambda_gt
double precision, dimension(:), allocatable axz_w
double precision, dimension(:), allocatable odz
double precision, dimension(dimension_bc) bc_vw_g
double precision, dimension(:), allocatable axy_w
subroutine get_full_tau_w_g(IJK, ltau_w_g, lctau_w_g)
double precision, dimension(:), allocatable u_g
double precision, dimension(:), allocatable area_w_cut
logical, dimension(:), allocatable blocked_v_cell_at
double precision, dimension(:), allocatable oneodz_t_v
subroutine get_del_h(IJK, TYPE_OF_CELL, X0, Y0, Z0, Del_H, Nx, Ny, Nz)
double precision, dimension(:), allocatable z_w
double precision, dimension(:), allocatable vol
double precision, dimension(:), allocatable odz_t
double precision, dimension(dimension_bc) bc_ww_g
double precision, dimension(:), allocatable y_u
double precision, parameter zero
subroutine calc_tau_w_g(lTAU_W_G, lctau_w_g)