9 real(kind=realtype),
dimension(:, :, :),
allocatable ::
qq
10 real(kind=realtype),
dimension(:, :, :),
pointer ::
ddw,
ww,
ddvt
11 real(kind=realtype),
dimension(:, :),
pointer ::
rrlv
12 real(kind=realtype),
dimension(:, :),
pointer ::
dd2wall
37 logical,
intent(in) :: resOnly
41 integer(kind=intType) :: nn, sps
69 if (.not. resonly)
then
106 real(kind=realtype),
parameter :: f23 =
two *
third
109 integer(kind=intType) :: i, j, k, nn, ii
110 real(kind=realtype) :: fv1, fv2, ft2
111 real(kind=realtype) :: ss,
sst, nu, dist2inv, chi, chi2, chi3
112 real(kind=realtype) :: rr, gg, gg6, termfw, fwsa, term1, term2
113 real(kind=realtype) :: dfv1, dfv2, dft2, drr, dgg, dfw
114 real(kind=realtype) :: uux, uuy, uuz, vvx, vvy, vvz, wwx, wwy, wwz
115 real(kind=realtype) :: div2, fact, sxx, syy, szz, sxy, sxz, syz
116 real(kind=realtype) :: vortx, vorty, vortz
117 real(kind=realtype) :: omegax, omegay, omegaz
118 real(kind=realtype) :: strainmag2, strainprod, vortprod
119 real(kind=realtype),
parameter :: xminn = 1.e-10_realtype
137 print *,
'katoLaunder production term not supported for SA'
141 #ifdef TAPENADE_REVERSE
143 do ii = 0,
nx *
ny *
nz - 1
145 j = mod(ii /
nx,
ny) + 2
146 k = ii / (
nx *
ny) + 2
157 uux =
w(i + 1, j, k,
ivx) *
si(i, j, k, 1) -
w(i - 1, j, k,
ivx) *
si(i - 1, j, k, 1) &
158 +
w(i, j + 1, k,
ivx) *
sj(i, j, k, 1) -
w(i, j - 1, k,
ivx) *
sj(i, j - 1, k, 1) &
159 +
w(i, j, k + 1,
ivx) *
sk(i, j, k, 1) -
w(i, j, k - 1,
ivx) *
sk(i, j, k - 1, 1)
160 uuy =
w(i + 1, j, k,
ivx) *
si(i, j, k, 2) -
w(i - 1, j, k,
ivx) *
si(i - 1, j, k, 2) &
161 +
w(i, j + 1, k,
ivx) *
sj(i, j, k, 2) -
w(i, j - 1, k,
ivx) *
sj(i, j - 1, k, 2) &
162 +
w(i, j, k + 1,
ivx) *
sk(i, j, k, 2) -
w(i, j, k - 1,
ivx) *
sk(i, j, k - 1, 2)
163 uuz =
w(i + 1, j, k,
ivx) *
si(i, j, k, 3) -
w(i - 1, j, k,
ivx) *
si(i - 1, j, k, 3) &
164 +
w(i, j + 1, k,
ivx) *
sj(i, j, k, 3) -
w(i, j - 1, k,
ivx) *
sj(i, j - 1, k, 3) &
165 +
w(i, j, k + 1,
ivx) *
sk(i, j, k, 3) -
w(i, j, k - 1,
ivx) *
sk(i, j, k - 1, 3)
169 vvx =
w(i + 1, j, k,
ivy) *
si(i, j, k, 1) -
w(i - 1, j, k,
ivy) *
si(i - 1, j, k, 1) &
170 +
w(i, j + 1, k,
ivy) *
sj(i, j, k, 1) -
w(i, j - 1, k,
ivy) *
sj(i, j - 1, k, 1) &
171 +
w(i, j, k + 1,
ivy) *
sk(i, j, k, 1) -
w(i, j, k - 1,
ivy) *
sk(i, j, k - 1, 1)
172 vvy =
w(i + 1, j, k,
ivy) *
si(i, j, k, 2) -
w(i - 1, j, k,
ivy) *
si(i - 1, j, k, 2) &
173 +
w(i, j + 1, k,
ivy) *
sj(i, j, k, 2) -
w(i, j - 1, k,
ivy) *
sj(i, j - 1, k, 2) &
174 +
w(i, j, k + 1,
ivy) *
sk(i, j, k, 2) -
w(i, j, k - 1,
ivy) *
sk(i, j, k - 1, 2)
175 vvz =
w(i + 1, j, k,
ivy) *
si(i, j, k, 3) -
w(i - 1, j, k,
ivy) *
si(i - 1, j, k, 3) &
176 +
w(i, j + 1, k,
ivy) *
sj(i, j, k, 3) -
w(i, j - 1, k,
ivy) *
sj(i, j - 1, k, 3) &
177 +
w(i, j, k + 1,
ivy) *
sk(i, j, k, 3) -
w(i, j, k - 1,
ivy) *
sk(i, j, k - 1, 3)
181 wwx =
w(i + 1, j, k,
ivz) *
si(i, j, k, 1) -
w(i - 1, j, k,
ivz) *
si(i - 1, j, k, 1) &
182 +
w(i, j + 1, k,
ivz) *
sj(i, j, k, 1) -
w(i, j - 1, k,
ivz) *
sj(i, j - 1, k, 1) &
183 +
w(i, j, k + 1,
ivz) *
sk(i, j, k, 1) -
w(i, j, k - 1,
ivz) *
sk(i, j, k - 1, 1)
184 wwy =
w(i + 1, j, k,
ivz) *
si(i, j, k, 2) -
w(i - 1, j, k,
ivz) *
si(i - 1, j, k, 2) &
185 +
w(i, j + 1, k,
ivz) *
sj(i, j, k, 2) -
w(i, j - 1, k,
ivz) *
sj(i, j - 1, k, 2) &
186 +
w(i, j, k + 1,
ivz) *
sk(i, j, k, 2) -
w(i, j, k - 1,
ivz) *
sk(i, j, k - 1, 2)
187 wwz =
w(i + 1, j, k,
ivz) *
si(i, j, k, 3) -
w(i - 1, j, k,
ivz) *
si(i - 1, j, k, 3) &
188 +
w(i, j + 1, k,
ivz) *
sj(i, j, k, 3) -
w(i, j - 1, k,
ivz) *
sj(i, j - 1, k, 3) &
189 +
w(i, j, k + 1,
ivz) *
sk(i, j, k, 3) -
w(i, j, k - 1,
ivz) *
sk(i, j, k - 1, 3)
200 sxx =
two * fact * uux
201 syy =
two * fact * vvy
202 szz =
two * fact * wwz
204 sxy = fact * (uuy + vvx)
205 sxz = fact * (uuz + wwx)
206 syz = fact * (vvz + wwy)
210 div2 = f23 * (sxx + syy + szz)**2
214 strainmag2 =
two * (sxy**2 + sxz**2 + syz**2) &
215 + sxx**2 + syy**2 + szz**2
217 strainprod =
two * strainmag2 - div2
219 ss = sqrt(strainprod)
226 vortx =
two * fact * (wwy - vvz) -
two * omegax
227 vorty =
two * fact * (uuz - wwx) -
two * omegay
228 vortz =
two * fact * (vvx - uuy) -
two * omegaz
232 vortprod = vortx**2 + vorty**2 + vortz**2
247 nu =
rlv(i, j, k) /
w(i, j, k,
irho)
249 chi =
w(i, j, k,
itu1) / nu
252 fv1 = chi3 / (chi3 +
cv13)
253 fv2 =
one - chi / (
one + chi * fv1)
260 ft2 = rsact3 * exp(-rsact4 * chi2)
287 rr = min(rr, 10.0_realtype)
288 gg = rr + rsacw2 * (rr**6 - rr)
299 term1 = rsacb1 * (
one - ft2) * ss
301 term2 = dist2inv * (
kar2inv * rsacb1 * ((
one - ft2) * fv2 + ft2) &
312 dfv2 = (chi2 * dfv1 -
one) / (nu * ((
one + chi * fv1)**2))
313 dft2 = -
two * rsact4 * chi * ft2 / nu
315 drr = (
one - rr * (fv2 +
w(i, j, k,
itu1) * dfv2)) &
317 dgg = (
one - rsacw2 +
six * rsacw2 * (rr**5)) * drr
318 dfw = (
cw36 / (gg6 +
cw36)) * termfw * dgg
327 qq(i, j, k) = -
two * term2 *
w(i, j, k,
itu1) &
328 - dist2inv *
w(i, j, k,
itu1) *
w(i, j, k,
itu1) &
329 * (rsacb1 *
kar2inv * (dfv2 - ft2 * dfv2 - fv2 * dft2 + dft2) &
335 qq(i, j, k) = max(
qq(i, j, k),
zero)
337 #ifdef TAPENADE_REVERSE
356 integer(kind=intType) :: i, j, k, nn, ii
357 real(kind=realtype) :: nu
358 real(kind=realtype) :: fv1, fv2, ft2
359 real(kind=realtype) :: voli, volmi, volpi, xm, ym, zm, xp, yp, zp
360 real(kind=realtype) :: xa, ya, za, ttm, ttp, cnud, cam, cap
361 real(kind=realtype) :: nutm, nutp, num, nup, cdm, cdp
362 real(kind=realtype) :: c1m, c1p, c10, b1, c1, d1, qs
374 #ifdef TAPENADE_REVERSE
376 do ii = 0,
nx *
ny *
nz - 1
378 j = mod(ii /
nx,
ny) + 2
379 k = ii / (
nx *
ny) + 2
389 volmi =
two / (
vol(i, j, k) +
vol(i, j, k - 1))
390 volpi =
two / (
vol(i, j, k) +
vol(i, j, k + 1))
392 xm =
sk(i, j, k - 1, 1) * volmi
393 ym =
sk(i, j, k - 1, 2) * volmi
394 zm =
sk(i, j, k - 1, 3) * volmi
395 xp =
sk(i, j, k, 1) * volpi
396 yp =
sk(i, j, k, 2) * volpi
397 zp =
sk(i, j, k, 3) * volpi
399 xa =
half * (
sk(i, j, k, 1) +
sk(i, j, k - 1, 1)) * voli
400 ya =
half * (
sk(i, j, k, 2) +
sk(i, j, k - 1, 2)) * voli
401 za =
half * (
sk(i, j, k, 3) +
sk(i, j, k - 1, 3)) * voli
402 ttm = xm * xa + ym * ya + zm * za
403 ttp = xp * xa + yp * ya + zp * za
432 nu =
rlv(i, j, k) /
w(i, j, k,
irho)
433 num =
half * (
rlv(i, j, k - 1) /
w(i, j, k - 1,
irho) + nu)
434 nup =
half * (
rlv(i, j, k + 1) /
w(i, j, k + 1,
irho) + nu)
436 cdm = (num + (
one + rsacb2) * nutm) * ttm *
cb3inv
437 cdp = (nup + (
one + rsacb2) * nutp) * ttp *
cb3inv
439 c1m = max(cdm + cam,
zero)
440 c1p = max(cdp + cap,
zero)
447 - c10 *
w(i, j, k,
itu1) + c1p *
w(i, j, k + 1,
itu1)
462 qq(i, j, k) =
qq(i, j, k) + c1 &
464 else if (k ==
kl)
then
465 qq(i, j, k) =
qq(i, j, k) + c1 &
468 qq(i, j, k) =
qq(i, j, k) + c1
471 #ifdef TAPENADE_REVERSE
481 #ifdef TAPENADE_REVERSE
483 do ii = 0,
nx *
ny *
nz - 1
485 j = mod(ii /
nx,
ny) + 2
486 k = ii / (
nx *
ny) + 2
496 volmi =
two / (
vol(i, j, k) +
vol(i, j - 1, k))
497 volpi =
two / (
vol(i, j, k) +
vol(i, j + 1, k))
499 xm =
sj(i, j - 1, k, 1) * volmi
500 ym =
sj(i, j - 1, k, 2) * volmi
501 zm =
sj(i, j - 1, k, 3) * volmi
502 xp =
sj(i, j, k, 1) * volpi
503 yp =
sj(i, j, k, 2) * volpi
504 zp =
sj(i, j, k, 3) * volpi
506 xa =
half * (
sj(i, j, k, 1) +
sj(i, j - 1, k, 1)) * voli
507 ya =
half * (
sj(i, j, k, 2) +
sj(i, j - 1, k, 2)) * voli
508 za =
half * (
sj(i, j, k, 3) +
sj(i, j - 1, k, 3)) * voli
509 ttm = xm * xa + ym * ya + zm * za
510 ttp = xp * xa + yp * ya + zp * za
532 nu =
rlv(i, j, k) /
w(i, j, k,
irho)
533 num =
half * (
rlv(i, j - 1, k) /
w(i, j - 1, k,
irho) + nu)
534 nup =
half * (
rlv(i, j + 1, k) /
w(i, j + 1, k,
irho) + nu)
535 cdm = (num + (
one + rsacb2) * nutm) * ttm *
cb3inv
536 cdp = (nup + (
one + rsacb2) * nutp) * ttp *
cb3inv
538 c1m = max(cdm + cam,
zero)
539 c1p = max(cdp + cap,
zero)
546 - c10 *
w(i, j, k,
itu1) + c1p *
w(i, j + 1, k,
itu1)
561 qq(i, j, k) =
qq(i, j, k) + c1 &
563 else if (j ==
jl)
then
564 qq(i, j, k) =
qq(i, j, k) + c1 &
567 qq(i, j, k) =
qq(i, j, k) + c1
570 #ifdef TAPENADE_REVERSE
580 #ifdef TAPENADE_REVERSE
582 do ii = 0,
nx *
ny *
nz - 1
584 j = mod(ii /
nx,
ny) + 2
585 k = ii / (
nx *
ny) + 2
595 volmi =
two / (
vol(i, j, k) +
vol(i - 1, j, k))
596 volpi =
two / (
vol(i, j, k) +
vol(i + 1, j, k))
598 xm =
si(i - 1, j, k, 1) * volmi
599 ym =
si(i - 1, j, k, 2) * volmi
600 zm =
si(i - 1, j, k, 3) * volmi
601 xp =
si(i, j, k, 1) * volpi
602 yp =
si(i, j, k, 2) * volpi
603 zp =
si(i, j, k, 3) * volpi
605 xa =
half * (
si(i, j, k, 1) +
si(i - 1, j, k, 1)) * voli
606 ya =
half * (
si(i, j, k, 2) +
si(i - 1, j, k, 2)) * voli
607 za =
half * (
si(i, j, k, 3) +
si(i - 1, j, k, 3)) * voli
608 ttm = xm * xa + ym * ya + zm * za
609 ttp = xp * xa + yp * ya + zp * za
631 nu =
rlv(i, j, k) /
w(i, j, k,
irho)
632 num =
half * (
rlv(i - 1, j, k) /
w(i - 1, j, k,
irho) + nu)
633 nup =
half * (
rlv(i + 1, j, k) /
w(i + 1, j, k,
irho) + nu)
634 cdm = (num + (
one + rsacb2) * nutm) * ttm *
cb3inv
635 cdp = (nup + (
one + rsacb2) * nutp) * ttp *
cb3inv
637 c1m = max(cdm + cam,
zero)
638 c1p = max(cdp + cap,
zero)
645 - c10 *
w(i, j, k,
itu1) + c1p *
w(i + 1, j, k,
itu1)
660 qq(i, j, k) =
qq(i, j, k) + c1 &
662 else if (i ==
il)
then
663 qq(i, j, k) =
qq(i, j, k) + c1 &
666 qq(i, j, k) =
qq(i, j, k) + c1
669 #ifdef TAPENADE_REVERSE
691 integer(kind=intType) :: i, j, k, ii
692 real(kind=realtype) :: rblank
694 #ifdef TAPENADE_REVERSE
696 do ii = 0,
nx *
ny *
nz - 1
698 j = mod(ii /
nx,
ny) + 2
699 k = ii / (
nx *
ny) + 2
705 rblank = max(real(
iblank(i, j, k), realtype),
zero)
707 #ifdef TAPENADE_REVERSE
730 integer(kind=intType) :: i, j, k, nn, ii
731 real(kind=realtype),
dimension(2:max(kl, il, jl)) :: bb, cc, dd, ff
732 real(kind=realtype) :: voli, volmi, volpi, xm, ym, zm, xp, yp, zp
733 real(kind=realtype) :: xa, ya, za, ttm, ttp, cnud, cam, cap
734 real(kind=realtype) :: nutm, nutp, num, nup, cdm, cdp
735 real(kind=realtype) :: c1m, c1p, c10, b1, c1, d1, qs
736 real(kind=realtype) :: uu, um, up, factor, f, tu1p(1), nu, rblank
738 logical,
dimension(2:jl, 2:kl),
target :: flagI2, flagIl
739 logical,
dimension(2:il, 2:kl),
target :: flagJ2, flagJl
740 logical,
dimension(2:il, 2:jl),
target :: flagK2, flagKl
741 logical,
dimension(:, :),
pointer :: flag
769 ww =>
w(2, 1:, 1:, 1:);
rrlv =>
rlv(2, 1:, 1:)
781 ww =>
w(1:, 2, 1:, 1:);
rrlv =>
rlv(1:, 2, 1:)
793 ww =>
w(1:, 1:, 2, 1:);
rrlv =>
rlv(1:, 1:, 2)
837 end if testwallfunctions
857 qq(i, j, k) = factor *
qq(i, j, k)
862 if ((i == 2 .and. flagi2(j, k)) .or. &
863 (i ==
il .and. flagil(j, k)) .or. &
864 (j == 2 .and. flagj2(i, k)) .or. &
865 (j ==
jl .and. flagjl(i, k)) .or. &
866 (k == 2 .and. flagk2(i, j)) .or. &
867 (k ==
kl .and. flagkl(i, j)))
qq(i, j, k) =
one
895 volmi =
two / (
vol(i, j, k) +
vol(i, j - 1, k))
896 volpi =
two / (
vol(i, j, k) +
vol(i, j + 1, k))
898 xm =
sj(i, j - 1, k, 1) * volmi
899 ym =
sj(i, j - 1, k, 2) * volmi
900 zm =
sj(i, j - 1, k, 3) * volmi
901 xp =
sj(i, j, k, 1) * volpi
902 yp =
sj(i, j, k, 2) * volpi
903 zp =
sj(i, j, k, 3) * volpi
905 xa =
half * (
sj(i, j, k, 1) +
sj(i, j - 1, k, 1)) * voli
906 ya =
half * (
sj(i, j, k, 2) +
sj(i, j - 1, k, 2)) * voli
907 za =
half * (
sj(i, j, k, 3) +
sj(i, j - 1, k, 3)) * voli
908 ttm = xm * xa + ym * ya + zm * za
909 ttp = xp * xa + yp * ya + zp * za
920 nu =
rlv(i, j, k) /
w(i, j, k,
irho)
921 num =
half * (
rlv(i, j - 1, k) /
w(i, j - 1, k,
irho) + nu)
922 nup =
half * (
rlv(i, j + 1, k) /
w(i, j + 1, k,
irho) + nu)
923 cdm = (num + (
one + rsacb2) * nutm) * ttm *
cb3inv
924 cdp = (nup + (
one + rsacb2) * nutp) * ttp *
cb3inv
926 c1m = max(cdm + cam,
zero)
927 c1p = max(cdp + cap,
zero)
941 uu = xa *
w(i, j, k,
ivx) + ya *
w(i, j, k,
ivy) + za *
w(i, j, k,
ivz) - qs
944 if (uu <
zero) um = uu
945 if (uu >
zero) up = uu
954 rblank = max(real(
iblank(i, j, k), realtype),
zero)
959 bb(j) = bb(j) * rblank
960 dd(j) = dd(j) * rblank
964 if ((i == 2 .and. flagi2(j, k)) .or. &
965 (i ==
il .and. flagil(j, k)) .or. &
966 (j == 2 .and. flagj2(i, k)) .or. &
967 (j ==
jl .and. flagjl(i, k)) .or. &
968 (k == 2 .and. flagk2(i, j)) .or. &
969 (k ==
kl .and. flagkl(i, j)))
then
980 f = dd(j) / cc(j + 1)
981 cc(j) = cc(j) - f * bb(j + 1)
982 ff(j) = ff(j) - f * ff(j + 1)
988 ff(2) = ff(2) / cc(2)
990 ff(j) = ff(j) - bb(j) * ff(j - 1)
991 ff(j) = ff(j) / cc(j)
1018 voli =
one /
vol(i, j, k)
1019 volmi =
two / (
vol(i, j, k) +
vol(i - 1, j, k))
1020 volpi =
two / (
vol(i, j, k) +
vol(i + 1, j, k))
1022 xm =
si(i - 1, j, k, 1) * volmi
1023 ym =
si(i - 1, j, k, 2) * volmi
1024 zm =
si(i - 1, j, k, 3) * volmi
1025 xp =
si(i, j, k, 1) * volpi
1026 yp =
si(i, j, k, 2) * volpi
1027 zp =
si(i, j, k, 3) * volpi
1029 xa =
half * (
si(i, j, k, 1) +
si(i - 1, j, k, 1)) * voli
1030 ya =
half * (
si(i, j, k, 2) +
si(i - 1, j, k, 2)) * voli
1031 za =
half * (
si(i, j, k, 3) +
si(i - 1, j, k, 3)) * voli
1032 ttm = xm * xa + ym * ya + zm * za
1033 ttp = xp * xa + yp * ya + zp * za
1044 nu =
rlv(i, j, k) /
w(i, j, k,
irho)
1045 num =
half * (
rlv(i - 1, j, k) /
w(i - 1, j, k,
irho) + nu)
1046 nup =
half * (
rlv(i + 1, j, k) /
w(i + 1, j, k,
irho) + nu)
1047 cdm = (num + (
one + rsacb2) * nutm) * ttm *
cb3inv
1048 cdp = (nup + (
one + rsacb2) * nutp) * ttp *
cb3inv
1050 c1m = max(cdm + cam,
zero)
1051 c1p = max(cdp + cap,
zero)
1065 uu = xa *
w(i, j, k,
ivx) + ya *
w(i, j, k,
ivy) + za *
w(i, j, k,
ivz) - qs
1068 if (uu <
zero) um = uu
1069 if (uu >
zero) up = uu
1078 rblank = max(real(
iblank(i, j, k), realtype),
zero)
1083 bb(i) = bb(i) * rblank
1084 dd(i) = dd(i) * rblank
1088 if ((i == 2 .and. flagi2(j, k)) .or. &
1089 (i ==
il .and. flagil(j, k)) .or. &
1090 (j == 2 .and. flagj2(i, k)) .or. &
1091 (j ==
jl .and. flagjl(i, k)) .or. &
1092 (k == 2 .and. flagk2(i, j)) .or. &
1093 (k ==
kl .and. flagkl(i, j)))
then
1104 f = dd(i) / cc(i + 1)
1105 cc(i) = cc(i) - f * bb(i + 1)
1106 ff(i) = ff(i) - f * ff(i + 1)
1112 ff(2) = ff(2) / cc(2)
1114 ff(i) = ff(i) - bb(i) * ff(i - 1)
1115 ff(i) = ff(i) / cc(i)
1142 voli =
one /
vol(i, j, k)
1143 volmi =
two / (
vol(i, j, k) +
vol(i, j, k - 1))
1144 volpi =
two / (
vol(i, j, k) +
vol(i, j, k + 1))
1146 xm =
sk(i, j, k - 1, 1) * volmi
1147 ym =
sk(i, j, k - 1, 2) * volmi
1148 zm =
sk(i, j, k - 1, 3) * volmi
1149 xp =
sk(i, j, k, 1) * volpi
1150 yp =
sk(i, j, k, 2) * volpi
1151 zp =
sk(i, j, k, 3) * volpi
1153 xa =
half * (
sk(i, j, k, 1) +
sk(i, j, k - 1, 1)) * voli
1154 ya =
half * (
sk(i, j, k, 2) +
sk(i, j, k - 1, 2)) * voli
1155 za =
half * (
sk(i, j, k, 3) +
sk(i, j, k - 1, 3)) * voli
1156 ttm = xm * xa + ym * ya + zm * za
1157 ttp = xp * xa + yp * ya + zp * za
1168 nu =
rlv(i, j, k) /
w(i, j, k,
irho)
1169 num =
half * (
rlv(i, j, k - 1) /
w(i, j, k - 1,
irho) + nu)
1170 nup =
half * (
rlv(i, j, k + 1) /
w(i, j, k + 1,
irho) + nu)
1171 cdm = (num + (
one + rsacb2) * nutm) * ttm *
cb3inv
1172 cdp = (nup + (
one + rsacb2) * nutp) * ttp *
cb3inv
1174 c1m = max(cdm + cam,
zero)
1175 c1p = max(cdp + cap,
zero)
1189 uu = xa *
w(i, j, k,
ivx) + ya *
w(i, j, k,
ivy) + za *
w(i, j, k,
ivz) - qs
1192 if (uu <
zero) um = uu
1193 if (uu >
zero) up = uu
1202 rblank = max(real(
iblank(i, j, k), realtype),
zero)
1207 bb(k) = bb(k) * rblank
1208 dd(k) = dd(k) * rblank
1212 if ((i == 2 .and. flagi2(j, k)) .or. &
1213 (i ==
il .and. flagil(j, k)) .or. &
1214 (j == 2 .and. flagj2(i, k)) .or. &
1215 (j ==
jl .and. flagjl(i, k)) .or. &
1216 (k == 2 .and. flagk2(i, j)) .or. &
1217 (k ==
kl .and. flagkl(i, j)))
then
1228 f = dd(k) / cc(k + 1)
1229 cc(k) = cc(k) - f * bb(k + 1)
1230 ff(k) = ff(k) - f * ff(k + 1)
1236 ff(2) = ff(2) / cc(2)
1238 ff(k) = ff(k) - bb(k) * ff(k - 1)
1239 ff(k) = ff(k) / cc(k)
real(kind=realtype), dimension(:, :, :, :), pointer bmtk2
real(kind=realtype), dimension(:, :, :), pointer sfacek
logical addgridvelocities
real(kind=realtype), dimension(:, :, :, :), pointer bmti1
integer(kind=inttype) nviscbocos
real(kind=realtype), dimension(:, :, :, :), pointer bmtj1
real(kind=realtype), dimension(:, :, :, :), pointer bmti2
real(kind=realtype), dimension(:, :, :, :), pointer w
real(kind=realtype), dimension(:, :, :, :), pointer scratch
real(kind=realtype), dimension(:, :, :), pointer sfacei
type(viscsubfacetype), dimension(:), pointer viscsubface
real(kind=realtype), dimension(:, :, :), pointer d2wall
integer(kind=inttype), dimension(:, :, :), pointer iblank
real(kind=realtype), dimension(:, :, :), pointer rlv
integer(kind=inttype), dimension(:), pointer bcfaceid
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 bmtj2
real(kind=realtype), dimension(:, :, :, :), pointer dw
real(kind=realtype), dimension(:, :, :, :), pointer sk
real(kind=realtype), dimension(:, :, :), pointer vol
real(kind=realtype), dimension(:, :, :), pointer sfacej
real(kind=realtype), dimension(:, :, :, :), pointer bmtk1
integer(kind=inttype), parameter strain
real(kind=realtype), parameter zero
real(kind=realtype), parameter three
integer(kind=inttype), parameter imax
integer(kind=inttype), parameter kmin
real(kind=realtype), parameter third
integer(kind=inttype), parameter jmax
real(kind=realtype), parameter six
integer(kind=inttype), parameter vorticity
real(kind=realtype), parameter one
real(kind=realtype), parameter half
integer(kind=inttype), parameter turbrelaximplicit
integer(kind=inttype), parameter turbrelaxexplicit
integer(kind=inttype), parameter katolaunder
integer(kind=inttype), parameter imin
real(kind=realtype), parameter two
real(kind=realtype), parameter fourth
integer(kind=inttype), parameter kmax
integer(kind=inttype), parameter jmin
real(kind=realtype), parameter sixth
real(kind=realtype) timeref
integer(kind=inttype) currentlevel
real(kind=realtype) rsacw1
real(kind=realtype) kar2inv
real(kind=realtype), dimension(:, :), pointer rrlv
real(kind=realtype) cb3inv
real(kind=realtype), dimension(:, :, :), pointer ddvt
real(kind=realtype), dimension(:, :), pointer dd2wall
real(kind=realtype), dimension(:, :, :), pointer ddw
subroutine sa_block(resOnly)
real(kind=realtype), dimension(:, :, :), allocatable qq
real(kind=realtype), dimension(:, :, :), pointer ww
type(sectiontype), dimension(:), allocatable sections
subroutine bcturbtreatment
subroutine applyallturbbcthisblock(secondHalo)
subroutine curvetupyp(tup, yp, ntu1, ntu2)
subroutine unsteadyturbterm(mAdv, nAdv, offset, qq)
subroutine saeddyviscosity(iBeg, iEnd, jBeg, jEnd, kBeg, kEnd)
subroutine turbadvection(mAdv, nAdv, offset, qq)