11 real(kind=realtype),
dimension(:, :, :),
allocatable ::
qq
12 real(kind=realtype),
dimension(:, :, :),
pointer ::
ddw,
ww,
ddvt
13 real(kind=realtype),
dimension(:, :),
pointer ::
rrlv
14 real(kind=realtype),
dimension(:, :),
pointer ::
dd2wall
37 real(kind=realtype),
parameter :: f23=
two*
third
39 integer(kind=inttype) :: i, j, k, nn, ii
40 real(kind=realtype) :: fv1, fv2, ft2
41 real(kind=realtype) :: fv1d, fv2d, ft2d
42 real(kind=realtype) :: ss,
sst, nu, dist2inv, chi, chi2, chi3
43 real(kind=realtype) :: ssd, sstd, nud, chid, chi2d, chi3d
44 real(kind=realtype) :: rr, gg, gg6, termfw, fwsa, term1, term2
45 real(kind=realtype) :: rrd, ggd, gg6d, termfwd, fwsad, term1d, &
47 real(kind=realtype) :: dfv1, dfv2, dft2, drr, dgg, dfw
48 real(kind=realtype) :: uux, uuy, uuz, vvx, vvy, vvz, wwx, wwy, wwz
49 real(kind=realtype) :: uuxd, uuyd, uuzd, vvxd, vvyd, vvzd, wwxd, &
51 real(kind=realtype) :: div2, fact, sxx, syy, szz, sxy, sxz, syz
52 real(kind=realtype) :: div2d, sxxd, syyd, szzd, sxyd, sxzd, syzd
53 real(kind=realtype) :: vortx, vorty, vortz
54 real(kind=realtype) :: vortxd, vortyd, vortzd
55 real(kind=realtype) :: omegax, omegay, omegaz
56 real(kind=realtype) :: strainmag2, strainprod, vortprod
57 real(kind=realtype) :: strainmag2d, strainprodd, vortprodd
58 real(kind=realtype),
parameter :: xminn=1.e-10_realtype
64 real(kind=realtype) :: y1
65 real(kind=realtype) :: y1d
66 real(kind=realtype) :: min1
67 real(kind=realtype) :: min1d
68 real(kind=realtype) :: temp
69 real(kind=realtype) :: tempd
70 real(kind=realtype) :: temp0
71 real(kind=realtype) :: tempd0
91 j = mod(ii/
nx,
ny) + 2
97 uux =
w(i+1, j, k,
ivx)*
si(i, j, k, 1) -
w(i-1, j, k,
ivx)*
si(i-&
98 & 1, j, k, 1) +
w(i, j+1, k,
ivx)*
sj(i, j, k, 1) -
w(i, j-1, k, &
99 &
ivx)*
sj(i, j-1, k, 1) +
w(i, j, k+1,
ivx)*
sk(i, j, k, 1) -
w(i&
100 & , j, k-1,
ivx)*
sk(i, j, k-1, 1)
101 uuy =
w(i+1, j, k,
ivx)*
si(i, j, k, 2) -
w(i-1, j, k,
ivx)*
si(i-&
102 & 1, j, k, 2) +
w(i, j+1, k,
ivx)*
sj(i, j, k, 2) -
w(i, j-1, k, &
103 &
ivx)*
sj(i, j-1, k, 2) +
w(i, j, k+1,
ivx)*
sk(i, j, k, 2) -
w(i&
104 & , j, k-1,
ivx)*
sk(i, j, k-1, 2)
105 uuz =
w(i+1, j, k,
ivx)*
si(i, j, k, 3) -
w(i-1, j, k,
ivx)*
si(i-&
106 & 1, j, k, 3) +
w(i, j+1, k,
ivx)*
sj(i, j, k, 3) -
w(i, j-1, k, &
107 &
ivx)*
sj(i, j-1, k, 3) +
w(i, j, k+1,
ivx)*
sk(i, j, k, 3) -
w(i&
108 & , j, k-1,
ivx)*
sk(i, j, k-1, 3)
110 vvx =
w(i+1, j, k,
ivy)*
si(i, j, k, 1) -
w(i-1, j, k,
ivy)*
si(i-&
111 & 1, j, k, 1) +
w(i, j+1, k,
ivy)*
sj(i, j, k, 1) -
w(i, j-1, k, &
112 &
ivy)*
sj(i, j-1, k, 1) +
w(i, j, k+1,
ivy)*
sk(i, j, k, 1) -
w(i&
113 & , j, k-1,
ivy)*
sk(i, j, k-1, 1)
114 vvy =
w(i+1, j, k,
ivy)*
si(i, j, k, 2) -
w(i-1, j, k,
ivy)*
si(i-&
115 & 1, j, k, 2) +
w(i, j+1, k,
ivy)*
sj(i, j, k, 2) -
w(i, j-1, k, &
116 &
ivy)*
sj(i, j-1, k, 2) +
w(i, j, k+1,
ivy)*
sk(i, j, k, 2) -
w(i&
117 & , j, k-1,
ivy)*
sk(i, j, k-1, 2)
118 vvz =
w(i+1, j, k,
ivy)*
si(i, j, k, 3) -
w(i-1, j, k,
ivy)*
si(i-&
119 & 1, j, k, 3) +
w(i, j+1, k,
ivy)*
sj(i, j, k, 3) -
w(i, j-1, k, &
120 &
ivy)*
sj(i, j-1, k, 3) +
w(i, j, k+1,
ivy)*
sk(i, j, k, 3) -
w(i&
121 & , j, k-1,
ivy)*
sk(i, j, k-1, 3)
123 wwx =
w(i+1, j, k,
ivz)*
si(i, j, k, 1) -
w(i-1, j, k,
ivz)*
si(i-&
124 & 1, j, k, 1) +
w(i, j+1, k,
ivz)*
sj(i, j, k, 1) -
w(i, j-1, k, &
125 &
ivz)*
sj(i, j-1, k, 1) +
w(i, j, k+1,
ivz)*
sk(i, j, k, 1) -
w(i&
126 & , j, k-1,
ivz)*
sk(i, j, k-1, 1)
127 wwy =
w(i+1, j, k,
ivz)*
si(i, j, k, 2) -
w(i-1, j, k,
ivz)*
si(i-&
128 & 1, j, k, 2) +
w(i, j+1, k,
ivz)*
sj(i, j, k, 2) -
w(i, j-1, k, &
129 &
ivz)*
sj(i, j-1, k, 2) +
w(i, j, k+1,
ivz)*
sk(i, j, k, 2) -
w(i&
130 & , j, k-1,
ivz)*
sk(i, j, k-1, 2)
131 wwz =
w(i+1, j, k,
ivz)*
si(i, j, k, 3) -
w(i-1, j, k,
ivz)*
si(i-&
132 & 1, j, k, 3) +
w(i, j+1, k,
ivz)*
sj(i, j, k, 3) -
w(i, j-1, k, &
133 &
ivz)*
sj(i, j-1, k, 3) +
w(i, j, k+1,
ivz)*
sk(i, j, k, 3) -
w(i&
134 & , j, k-1,
ivz)*
sk(i, j, k-1, 3)
148 div2 = f23*(sxx+syy+szz)**2
150 strainmag2 =
two*(sxy**2+sxz**2+syz**2) + sxx**2 + syy**2 + &
152 strainprod =
two*strainmag2 - div2
153 ss = sqrt(strainprod)
154 call pushcontrol2b(0)
158 vortx =
two*fact*(wwy-vvz) -
two*omegax
159 vorty =
two*fact*(uuz-wwx) -
two*omegay
160 vortz =
two*fact*(vvx-uuy) -
two*omegaz
162 vortprod = vortx**2 + vorty**2 + vortz**2
167 call pushcontrol2b(1)
169 call pushcontrol2b(2)
177 chi =
w(i, j, k,
itu1)/nu
180 fv1 = chi3/(chi3+
cv13)
181 fv2 =
one - chi/(
one+chi*fv1)
199 y1 = sqrt(
two*strainmag2)
200 if (
zero .gt. y1)
then
216 if (
sst .lt. xminn)
then
229 if (rr .gt. 10.0_realtype)
then
238 gg = rr +
rsacw2*(rr**6-rr)
255 temp =
w(i, j, k,
itu1)
257 wd(i, j, k,
itu1) =
wd(i, j, k,
itu1) + (term1+term2*temp)*&
263 fwsad = -(
rsacw1*dist2inv*term2d)
264 ft2d = (1.0-fv2)*tempd0
265 fv2d = (
one-ft2)*tempd0
268 if (branch .ne. 0)
then
269 ft2d = ft2d - ss*
rsacb1*term1d
274 if (temp0 .le. 0.0_8 .and. (
sixth .eq. 0.0_8 .or.
sixth .ne. int&
280 ggd = termfw*fwsad + 6*gg**5*gg6d
284 if (branch .eq. 0) rrd = 0.0_8
287 sstd = -(
w(i, j, k,
itu1)*tempd0/
sst)
290 if (branch .eq. 0) sstd = 0.0_8
293 if (branch .ne. 0)
then
297 if (branch .eq. 0)
then
302 if (.not.
two*strainmag2 .eq. 0.0_8) strainmag2d = strainmag2d &
303 & +
two*y1d/(2.0*sqrt(
two*strainmag2))
308 fv2d = fv2d +
w(i, j, k,
itu1)*tempd0
311 if (branch .eq. 0)
then
316 tempd = -(fv2d/(
one+chi*fv1))
318 tempd0 = -(chi*tempd/(
one+chi*fv1))
320 tempd = fv1d/(
cv13+chi3)
321 chi3d = (1.0-chi3/(
cv13+chi3))*tempd
322 chi2d = chi2d + chi*chi3d
323 chid = chid + fv1*tempd0 + chi2*chi3d + 2*chi*chi2d
325 nud = -(
w(i, j, k,
itu1)*chid/nu**2)
326 temp =
w(i, j, k,
irho)
327 rlvd(i, j, k) =
rlvd(i, j, k) + nud/temp
329 call popcontrol2b(branch)
330 if (branch .eq. 0)
then
331 if (strainprod .eq. 0.0_8)
then
334 strainprodd = ssd/(2.0*sqrt(strainprod))
336 strainmag2d = strainmag2d +
two*strainprodd
338 tempd =
two*strainmag2d
342 tempd = 2*(sxx+syy+szz)*f23*div2d
343 sxxd = 2*sxx*strainmag2d + tempd
344 syyd = 2*syy*strainmag2d + tempd
345 szzd = 2*szz*strainmag2d + tempd
358 if (branch .eq. 1)
then
359 if (vortprod .eq. 0.0_8)
then
362 vortprodd = ssd/(2.0*sqrt(vortprod))
364 vortxd = 2*vortx*vortprodd
365 vortyd = 2*vorty*vortprodd
366 vortzd = 2*vortz*vortprodd
367 tempd =
two*fact*vortzd
370 tempd =
two*fact*vortyd
373 tempd =
two*fact*vortxd
389 wd(i, j, k-1,
ivz) =
wd(i, j, k-1,
ivz) -
sk(i, j, k-1, 3)*wwzd &
390 & -
sk(i, j, k-1, 2)*wwyd -
sk(i, j, k-1, 1)*wwxd
391 wd(i, j-1, k,
ivz) =
wd(i, j-1, k,
ivz) -
sj(i, j-1, k, 3)*wwzd &
392 & -
sj(i, j-1, k, 2)*wwyd -
sj(i, j-1, k, 1)*wwxd
393 wd(i, j, k+1,
ivz) =
wd(i, j, k+1,
ivz) +
sk(i, j, k, 3)*wwzd + &
394 &
sk(i, j, k, 2)*wwyd +
sk(i, j, k, 1)*wwxd
395 wd(i, j+1, k,
ivz) =
wd(i, j+1, k,
ivz) +
sj(i, j, k, 3)*wwzd + &
396 &
sj(i, j, k, 2)*wwyd +
sj(i, j, k, 1)*wwxd
397 wd(i-1, j, k,
ivz) =
wd(i-1, j, k,
ivz) -
si(i-1, j, k, 3)*wwzd &
398 & -
si(i-1, j, k, 2)*wwyd -
si(i-1, j, k, 1)*wwxd
399 wd(i+1, j, k,
ivz) =
wd(i+1, j, k,
ivz) +
si(i, j, k, 3)*wwzd + &
400 &
si(i, j, k, 2)*wwyd +
si(i, j, k, 1)*wwxd
401 wd(i, j, k-1,
ivy) =
wd(i, j, k-1,
ivy) -
sk(i, j, k-1, 3)*vvzd &
402 & -
sk(i, j, k-1, 2)*vvyd -
sk(i, j, k-1, 1)*vvxd
403 wd(i, j-1, k,
ivy) =
wd(i, j-1, k,
ivy) -
sj(i, j-1, k, 3)*vvzd &
404 & -
sj(i, j-1, k, 2)*vvyd -
sj(i, j-1, k, 1)*vvxd
405 wd(i, j, k+1,
ivy) =
wd(i, j, k+1,
ivy) +
sk(i, j, k, 3)*vvzd + &
406 &
sk(i, j, k, 2)*vvyd +
sk(i, j, k, 1)*vvxd
407 wd(i, j+1, k,
ivy) =
wd(i, j+1, k,
ivy) +
sj(i, j, k, 3)*vvzd + &
408 &
sj(i, j, k, 2)*vvyd +
sj(i, j, k, 1)*vvxd
409 wd(i-1, j, k,
ivy) =
wd(i-1, j, k,
ivy) -
si(i-1, j, k, 3)*vvzd &
410 & -
si(i-1, j, k, 2)*vvyd -
si(i-1, j, k, 1)*vvxd
411 wd(i+1, j, k,
ivy) =
wd(i+1, j, k,
ivy) +
si(i, j, k, 3)*vvzd + &
412 &
si(i, j, k, 2)*vvyd +
si(i, j, k, 1)*vvxd
413 wd(i, j, k-1,
ivx) =
wd(i, j, k-1,
ivx) -
sk(i, j, k-1, 3)*uuzd &
414 & -
sk(i, j, k-1, 2)*uuyd -
sk(i, j, k-1, 1)*uuxd
415 wd(i, j-1, k,
ivx) =
wd(i, j-1, k,
ivx) -
sj(i, j-1, k, 3)*uuzd &
416 & -
sj(i, j-1, k, 2)*uuyd -
sj(i, j-1, k, 1)*uuxd
417 wd(i, j, k+1,
ivx) =
wd(i, j, k+1,
ivx) +
sk(i, j, k, 3)*uuzd + &
418 &
sk(i, j, k, 2)*uuyd +
sk(i, j, k, 1)*uuxd
419 wd(i, j+1, k,
ivx) =
wd(i, j+1, k,
ivx) +
sj(i, j, k, 3)*uuzd + &
420 &
sj(i, j, k, 2)*uuyd +
sj(i, j, k, 1)*uuxd
421 wd(i-1, j, k,
ivx) =
wd(i-1, j, k,
ivx) -
si(i-1, j, k, 3)*uuzd &
422 & -
si(i-1, j, k, 2)*uuyd -
si(i-1, j, k, 1)*uuxd
423 wd(i+1, j, k,
ivx) =
wd(i+1, j, k,
ivx) +
si(i, j, k, 3)*uuzd + &
424 &
si(i, j, k, 2)*uuyd +
si(i, j, k, 1)*uuxd
444 real(kind=realtype),
parameter :: f23=
two*
third
446 integer(kind=inttype) :: i, j, k, nn, ii
447 real(kind=realtype) :: fv1, fv2, ft2
448 real(kind=realtype) :: ss,
sst, nu, dist2inv, chi, chi2, chi3
449 real(kind=realtype) :: rr, gg, gg6, termfw, fwsa, term1, term2
450 real(kind=realtype) :: dfv1, dfv2, dft2, drr, dgg, dfw
451 real(kind=realtype) :: uux, uuy, uuz, vvx, vvy, vvz, wwx, wwy, wwz
452 real(kind=realtype) :: div2, fact, sxx, syy, szz, sxy, sxz, syz
453 real(kind=realtype) :: vortx, vorty, vortz
454 real(kind=realtype) :: omegax, omegay, omegaz
455 real(kind=realtype) :: strainmag2, strainprod, vortprod
456 real(kind=realtype),
parameter :: xminn=1.e-10_realtype
462 real(kind=realtype) :: y1
463 real(kind=realtype) :: min1
476 print*,
'katolaunder production term not supported for sa'
482 j = mod(ii/
nx,
ny) + 2
488 uux =
w(i+1, j, k,
ivx)*
si(i, j, k, 1) -
w(i-1, j, k,
ivx)*
si(i-&
489 & 1, j, k, 1) +
w(i, j+1, k,
ivx)*
sj(i, j, k, 1) -
w(i, j-1, k, &
490 &
ivx)*
sj(i, j-1, k, 1) +
w(i, j, k+1,
ivx)*
sk(i, j, k, 1) -
w(i&
491 & , j, k-1,
ivx)*
sk(i, j, k-1, 1)
492 uuy =
w(i+1, j, k,
ivx)*
si(i, j, k, 2) -
w(i-1, j, k,
ivx)*
si(i-&
493 & 1, j, k, 2) +
w(i, j+1, k,
ivx)*
sj(i, j, k, 2) -
w(i, j-1, k, &
494 &
ivx)*
sj(i, j-1, k, 2) +
w(i, j, k+1,
ivx)*
sk(i, j, k, 2) -
w(i&
495 & , j, k-1,
ivx)*
sk(i, j, k-1, 2)
496 uuz =
w(i+1, j, k,
ivx)*
si(i, j, k, 3) -
w(i-1, j, k,
ivx)*
si(i-&
497 & 1, j, k, 3) +
w(i, j+1, k,
ivx)*
sj(i, j, k, 3) -
w(i, j-1, k, &
498 &
ivx)*
sj(i, j-1, k, 3) +
w(i, j, k+1,
ivx)*
sk(i, j, k, 3) -
w(i&
499 & , j, k-1,
ivx)*
sk(i, j, k-1, 3)
501 vvx =
w(i+1, j, k,
ivy)*
si(i, j, k, 1) -
w(i-1, j, k,
ivy)*
si(i-&
502 & 1, j, k, 1) +
w(i, j+1, k,
ivy)*
sj(i, j, k, 1) -
w(i, j-1, k, &
503 &
ivy)*
sj(i, j-1, k, 1) +
w(i, j, k+1,
ivy)*
sk(i, j, k, 1) -
w(i&
504 & , j, k-1,
ivy)*
sk(i, j, k-1, 1)
505 vvy =
w(i+1, j, k,
ivy)*
si(i, j, k, 2) -
w(i-1, j, k,
ivy)*
si(i-&
506 & 1, j, k, 2) +
w(i, j+1, k,
ivy)*
sj(i, j, k, 2) -
w(i, j-1, k, &
507 &
ivy)*
sj(i, j-1, k, 2) +
w(i, j, k+1,
ivy)*
sk(i, j, k, 2) -
w(i&
508 & , j, k-1,
ivy)*
sk(i, j, k-1, 2)
509 vvz =
w(i+1, j, k,
ivy)*
si(i, j, k, 3) -
w(i-1, j, k,
ivy)*
si(i-&
510 & 1, j, k, 3) +
w(i, j+1, k,
ivy)*
sj(i, j, k, 3) -
w(i, j-1, k, &
511 &
ivy)*
sj(i, j-1, k, 3) +
w(i, j, k+1,
ivy)*
sk(i, j, k, 3) -
w(i&
512 & , j, k-1,
ivy)*
sk(i, j, k-1, 3)
514 wwx =
w(i+1, j, k,
ivz)*
si(i, j, k, 1) -
w(i-1, j, k,
ivz)*
si(i-&
515 & 1, j, k, 1) +
w(i, j+1, k,
ivz)*
sj(i, j, k, 1) -
w(i, j-1, k, &
516 &
ivz)*
sj(i, j-1, k, 1) +
w(i, j, k+1,
ivz)*
sk(i, j, k, 1) -
w(i&
517 & , j, k-1,
ivz)*
sk(i, j, k-1, 1)
518 wwy =
w(i+1, j, k,
ivz)*
si(i, j, k, 2) -
w(i-1, j, k,
ivz)*
si(i-&
519 & 1, j, k, 2) +
w(i, j+1, k,
ivz)*
sj(i, j, k, 2) -
w(i, j-1, k, &
520 &
ivz)*
sj(i, j-1, k, 2) +
w(i, j, k+1,
ivz)*
sk(i, j, k, 2) -
w(i&
521 & , j, k-1,
ivz)*
sk(i, j, k-1, 2)
522 wwz =
w(i+1, j, k,
ivz)*
si(i, j, k, 3) -
w(i-1, j, k,
ivz)*
si(i-&
523 & 1, j, k, 3) +
w(i, j+1, k,
ivz)*
sj(i, j, k, 3) -
w(i, j-1, k, &
524 &
ivz)*
sj(i, j-1, k, 3) +
w(i, j, k+1,
ivz)*
sk(i, j, k, 3) -
w(i&
525 & , j, k-1,
ivz)*
sk(i, j, k-1, 3)
539 div2 = f23*(sxx+syy+szz)**2
541 strainmag2 =
two*(sxy**2+sxz**2+syz**2) + sxx**2 + syy**2 + &
543 strainprod =
two*strainmag2 - div2
544 ss = sqrt(strainprod)
548 vortx =
two*fact*(wwy-vvz) -
two*omegax
549 vorty =
two*fact*(uuz-wwx) -
two*omegay
550 vortz =
two*fact*(vvx-uuy) -
two*omegaz
552 vortprod = vortx**2 + vorty**2 + vortz**2
564 chi =
w(i, j, k,
itu1)/nu
567 fv1 = chi3/(chi3+
cv13)
568 fv2 =
one - chi/(
one+chi*fv1)
582 y1 = sqrt(
two*strainmag2)
583 if (
zero .gt. y1)
then
590 if (
sst .lt. xminn)
then
599 if (rr .gt. 10.0_realtype)
then
604 gg = rr +
rsacw2*(rr**6-rr)
637 integer(kind=inttype) :: i, j, k, nn, ii
638 real(kind=realtype) :: nu
639 real(kind=realtype) :: nud
640 real(kind=realtype) :: fv1, fv2, ft2
641 real(kind=realtype) :: voli, volmi, volpi, xm, ym, zm, xp, yp, zp
642 real(kind=realtype) :: xa, ya, za, ttm, ttp, cnud, cam, cap
643 real(kind=realtype) :: cnudd, camd, capd
644 real(kind=realtype) :: nutm, nutp, num, nup, cdm, cdp
645 real(kind=realtype) :: nutmd, nutpd, numd, nupd, cdmd, cdpd
646 real(kind=realtype) :: c1m, c1p, c10, b1, c1, d1, qs
647 real(kind=realtype) :: c1md, c1pd, c10d
650 real(kind=realtype) :: temp
651 real(kind=realtype) :: temp0
652 real(kind=realtype) :: tempd
653 real(kind=realtype) :: tempd0
660 j = mod(ii/
nx,
ny) + 2
665 volmi =
two/(
vol(i, j, k)+
vol(i-1, j, k))
666 volpi =
two/(
vol(i, j, k)+
vol(i+1, j, k))
667 xm =
si(i-1, j, k, 1)*volmi
668 ym =
si(i-1, j, k, 2)*volmi
669 zm =
si(i-1, j, k, 3)*volmi
670 xp =
si(i, j, k, 1)*volpi
671 yp =
si(i, j, k, 2)*volpi
672 zp =
si(i, j, k, 3)*volpi
673 xa =
half*(
si(i, j, k, 1)+
si(i-1, j, k, 1))*voli
674 ya =
half*(
si(i, j, k, 2)+
si(i-1, j, k, 2))*voli
675 za =
half*(
si(i, j, k, 3)+
si(i-1, j, k, 3))*voli
676 ttm = xm*xa + ym*ya + zm*za
677 ttp = xp*xa + yp*ya + zp*za
700 if (cdm + cam .lt.
zero)
then
709 if (cdp + cap .lt.
zero)
then
732 if (branch .eq. 0)
then
741 if (branch .eq. 0)
then
748 cnudd = ttp*capd + ttm*camd
755 temp0 =
w(i+1, j, k,
irho)
756 tempd0 =
half*nupd/temp0
758 rlvd(i+1, j, k) =
rlvd(i+1, j, k) + tempd0
761 temp0 =
w(i-1, j, k,
irho)
762 tempd0 =
half*numd/temp0
763 rlvd(i-1, j, k) =
rlvd(i-1, j, k) + tempd0
766 temp0 =
w(i, j, k,
irho)
767 rlvd(i, j, k) =
rlvd(i, j, k) + nud/temp0
777 j = mod(ii/
nx,
ny) + 2
782 volmi =
two/(
vol(i, j, k)+
vol(i, j-1, k))
783 volpi =
two/(
vol(i, j, k)+
vol(i, j+1, k))
784 xm =
sj(i, j-1, k, 1)*volmi
785 ym =
sj(i, j-1, k, 2)*volmi
786 zm =
sj(i, j-1, k, 3)*volmi
787 xp =
sj(i, j, k, 1)*volpi
788 yp =
sj(i, j, k, 2)*volpi
789 zp =
sj(i, j, k, 3)*volpi
790 xa =
half*(
sj(i, j, k, 1)+
sj(i, j-1, k, 1))*voli
791 ya =
half*(
sj(i, j, k, 2)+
sj(i, j-1, k, 2))*voli
792 za =
half*(
sj(i, j, k, 3)+
sj(i, j-1, k, 3))*voli
793 ttm = xm*xa + ym*ya + zm*za
794 ttp = xp*xa + yp*ya + zp*za
817 if (cdm + cam .lt.
zero)
then
826 if (cdp + cap .lt.
zero)
then
849 if (branch .eq. 0)
then
858 if (branch .eq. 0)
then
865 cnudd = ttp*capd + ttm*camd
872 temp0 =
w(i, j+1, k,
irho)
873 tempd0 =
half*nupd/temp0
875 rlvd(i, j+1, k) =
rlvd(i, j+1, k) + tempd0
878 temp0 =
w(i, j-1, k,
irho)
879 tempd0 =
half*numd/temp0
880 rlvd(i, j-1, k) =
rlvd(i, j-1, k) + tempd0
883 temp0 =
w(i, j, k,
irho)
884 rlvd(i, j, k) =
rlvd(i, j, k) + nud/temp0
894 j = mod(ii/
nx,
ny) + 2
899 volmi =
two/(
vol(i, j, k)+
vol(i, j, k-1))
900 volpi =
two/(
vol(i, j, k)+
vol(i, j, k+1))
901 xm =
sk(i, j, k-1, 1)*volmi
902 ym =
sk(i, j, k-1, 2)*volmi
903 zm =
sk(i, j, k-1, 3)*volmi
904 xp =
sk(i, j, k, 1)*volpi
905 yp =
sk(i, j, k, 2)*volpi
906 zp =
sk(i, j, k, 3)*volpi
907 xa =
half*(
sk(i, j, k, 1)+
sk(i, j, k-1, 1))*voli
908 ya =
half*(
sk(i, j, k, 2)+
sk(i, j, k-1, 2))*voli
909 za =
half*(
sk(i, j, k, 3)+
sk(i, j, k-1, 3))*voli
910 ttm = xm*xa + ym*ya + zm*za
911 ttp = xp*xa + yp*ya + zp*za
937 if (cdm + cam .lt.
zero)
then
946 if (cdp + cap .lt.
zero)
then
969 if (branch .eq. 0)
then
978 if (branch .eq. 0)
then
985 cnudd = ttp*capd + ttm*camd
992 temp0 =
w(i, j, k+1,
irho)
993 tempd0 =
half*nupd/temp0
995 rlvd(i, j, k+1) =
rlvd(i, j, k+1) + tempd0
998 temp =
w(i, j, k-1,
irho)
999 tempd =
half*numd/temp
1000 rlvd(i, j, k-1) =
rlvd(i, j, k-1) + tempd
1003 temp =
w(i, j, k,
irho)
1004 rlvd(i, j, k) =
rlvd(i, j, k) + nud/temp
1022 integer(kind=inttype) :: i, j, k, nn, ii
1023 real(kind=realtype) :: nu
1024 real(kind=realtype) :: fv1, fv2, ft2
1025 real(kind=realtype) :: voli, volmi, volpi, xm, ym, zm, xp, yp, zp
1026 real(kind=realtype) :: xa, ya, za, ttm, ttp, cnud, cam, cap
1027 real(kind=realtype) :: nutm, nutp, num, nup, cdm, cdp
1028 real(kind=realtype) :: c1m, c1p, c10, b1, c1, d1, qs
1042 j = mod(ii/
nx,
ny) + 2
1047 volmi =
two/(
vol(i, j, k)+
vol(i, j, k-1))
1048 volpi =
two/(
vol(i, j, k)+
vol(i, j, k+1))
1049 xm =
sk(i, j, k-1, 1)*volmi
1050 ym =
sk(i, j, k-1, 2)*volmi
1051 zm =
sk(i, j, k-1, 3)*volmi
1052 xp =
sk(i, j, k, 1)*volpi
1053 yp =
sk(i, j, k, 2)*volpi
1054 zp =
sk(i, j, k, 3)*volpi
1055 xa =
half*(
sk(i, j, k, 1)+
sk(i, j, k-1, 1))*voli
1056 ya =
half*(
sk(i, j, k, 2)+
sk(i, j, k-1, 2))*voli
1057 za =
half*(
sk(i, j, k, 3)+
sk(i, j, k-1, 3))*voli
1058 ttm = xm*xa + ym*ya + zm*za
1059 ttp = xp*xa + yp*ya + zp*za
1085 if (cdm + cam .lt.
zero)
then
1090 if (cdp + cap .lt.
zero)
then
1107 j = mod(ii/
nx,
ny) + 2
1112 volmi =
two/(
vol(i, j, k)+
vol(i, j-1, k))
1113 volpi =
two/(
vol(i, j, k)+
vol(i, j+1, k))
1114 xm =
sj(i, j-1, k, 1)*volmi
1115 ym =
sj(i, j-1, k, 2)*volmi
1116 zm =
sj(i, j-1, k, 3)*volmi
1117 xp =
sj(i, j, k, 1)*volpi
1118 yp =
sj(i, j, k, 2)*volpi
1119 zp =
sj(i, j, k, 3)*volpi
1120 xa =
half*(
sj(i, j, k, 1)+
sj(i, j-1, k, 1))*voli
1121 ya =
half*(
sj(i, j, k, 2)+
sj(i, j-1, k, 2))*voli
1122 za =
half*(
sj(i, j, k, 3)+
sj(i, j-1, k, 3))*voli
1123 ttm = xm*xa + ym*ya + zm*za
1124 ttp = xp*xa + yp*ya + zp*za
1147 if (cdm + cam .lt.
zero)
then
1152 if (cdp + cap .lt.
zero)
then
1169 j = mod(ii/
nx,
ny) + 2
1174 volmi =
two/(
vol(i, j, k)+
vol(i-1, j, k))
1175 volpi =
two/(
vol(i, j, k)+
vol(i+1, j, k))
1176 xm =
si(i-1, j, k, 1)*volmi
1177 ym =
si(i-1, j, k, 2)*volmi
1178 zm =
si(i-1, j, k, 3)*volmi
1179 xp =
si(i, j, k, 1)*volpi
1180 yp =
si(i, j, k, 2)*volpi
1181 zp =
si(i, j, k, 3)*volpi
1182 xa =
half*(
si(i, j, k, 1)+
si(i-1, j, k, 1))*voli
1183 ya =
half*(
si(i, j, k, 2)+
si(i-1, j, k, 2))*voli
1184 za =
half*(
si(i, j, k, 3)+
si(i-1, j, k, 3))*voli
1185 ttm = xm*xa + ym*ya + zm*za
1186 ttp = xp*xa + yp*ya + zp*za
1209 if (cdm + cam .lt.
zero)
then
1214 if (cdp + cap .lt.
zero)
then
1243 integer(kind=inttype) :: i, j, k, ii
1244 real(kind=realtype) :: rblank
1248 real(realtype) :: x1
1253 j = mod(ii/
nx,
ny) + 2
1255 x1 = real(
iblank(i, j, k), realtype)
1256 if (x1 .lt.
zero)
then
1278 integer(kind=inttype) :: i, j, k, ii
1279 real(kind=realtype) :: rblank
1283 real(realtype) :: x1
1287 j = mod(ii/
nx,
ny) + 2
1289 x1 = real(
iblank(i, j, k), realtype)
1290 if (x1 .lt.
zero)
then
real(kind=realtype), dimension(:, :, :, :), pointer wd
real(kind=realtype), dimension(:, :, :, :), pointer w
real(kind=realtype), dimension(:, :, :, :), pointer scratch
real(kind=realtype), dimension(:, :, :), pointer d2wall
integer(kind=inttype), dimension(:, :, :), pointer iblank
real(kind=realtype), dimension(:, :, :), pointer rlv
real(kind=realtype), dimension(:, :, :, :), pointer si
real(kind=realtype), dimension(:, :, :), pointer volref
real(kind=realtype), dimension(:, :, :, :), pointer sj
integer(kind=inttype) sectionid
real(kind=realtype), dimension(:, :, :, :), pointer scratchd
real(kind=realtype), dimension(:, :, :, :), pointer dw
real(kind=realtype), dimension(:, :, :, :), pointer sk
real(kind=realtype), dimension(:, :, :), pointer rlvd
real(kind=realtype), dimension(:, :, :), pointer vol
real(kind=realtype), dimension(:, :, :, :), pointer dwd
integer(kind=inttype), parameter strain
real(kind=realtype), parameter zero
real(kind=realtype), parameter third
integer(kind=inttype), parameter vorticity
integer(kind=inttype), dimension(32) myintstack
integer(kind=inttype) myintptr
real(kind=realtype), parameter one
real(kind=realtype), parameter half
integer(kind=inttype), parameter katolaunder
real(kind=realtype), parameter two
real(kind=realtype), parameter fourth
real(kind=realtype), parameter sixth
real(kind=realtype) timeref
real(kind=realtype), parameter rsacw1
real(kind=realtype), parameter rsak
real(kind=realtype), parameter rsact4
real(kind=realtype), parameter rsacrot
real(kind=realtype), parameter rsacb2
real(kind=realtype), parameter rsact3
real(kind=realtype), parameter rsacw3
real(kind=realtype), parameter rsacw2
real(kind=realtype), parameter rsacv1
real(kind=realtype), parameter rsacb3
real(kind=realtype), parameter rsacb1
real(kind=realtype) cb3inv
real(kind=realtype), dimension(:, :), pointer dd2wall
real(kind=realtype), dimension(:, :, :), allocatable qq
real(kind=realtype), dimension(:, :, :), pointer ww
real(kind=realtype), dimension(:, :, :), pointer ddvt
subroutine saresscale_fast_b()
real(kind=realtype) kar2inv
real(kind=realtype), dimension(:, :, :), pointer ddw
subroutine sasource_fast_b()
subroutine saviscous_fast_b()
real(kind=realtype), dimension(:, :), pointer rrlv
type(sectiontype), dimension(:), allocatable sections