22 logical,
intent(in) :: resOnly
35 if (.not. resonly)
then
71 logical,
intent(in) :: resOnly
75 integer(kind=intType) :: i, j, k, nn
77 real(kind=realtype) :: rkwgam1
78 real(kind=realtype) :: rhoi, ss, spk, sdk
79 real(kind=realtype) :: voli, volmi, volpi
80 real(kind=realtype) :: xm, ym, zm, xp, yp, zp, xa, ya, za
81 real(kind=realtype) :: ttm, ttp, mulm, mulp, muem, muep
82 real(kind=realtype) :: c1m, c1p, c10, c2m, c2p, c20
83 real(kind=realtype) :: b1, b2, c1, c2, d1, d2
84 real(kind=realtype) :: qs, uu, um, up, factor, utau, rblank
86 real(kind=realtype),
dimension(itu1:itu2) :: tup
88 real(kind=realtype),
dimension(2:il, 2:jl, 2:kl, 2, 2) :: qq
89 real(kind=realtype),
dimension(2, 2:max(il, jl, kl)) :: bb, dd, ff
90 real(kind=realtype),
dimension(2, 2, 2:max(il, jl, kl)) :: cc
92 real(kind=realtype),
dimension(:, :, :),
pointer :: ddw, ww, ddvt
93 real(kind=realtype),
dimension(:, :),
pointer :: rrlv
94 real(kind=realtype),
dimension(:, :),
pointer :: dd2wall
96 logical,
dimension(2:jl, 2:kl),
target :: flagI2, flagIl
97 logical,
dimension(2:il, 2:kl),
target :: flagJ2, flagJl
98 logical,
dimension(2:il, 2:jl),
target :: flagK2, flagKl
100 logical,
dimension(:, :),
pointer :: flag
147 spk =
rev(i, j, k) * ss * rhoi
149 spk = min(spk,
pklim * sdk)
151 dvt(i, j, k, 1) = spk - sdk
161 qq(i, j, k, 1, 2) =
zero
162 qq(i, j, k, 2, 1) =
zero
185 dvt(i, j, k, 2) =
dvt(i, j, k, 2) &
210 volmi =
two / (
vol(i, j, k) +
vol(i, j, k - 1))
211 volpi =
two / (
vol(i, j, k) +
vol(i, j, k + 1))
213 xm =
sk(i, j, k - 1, 1) * volmi
214 ym =
sk(i, j, k - 1, 2) * volmi
215 zm =
sk(i, j, k - 1, 3) * volmi
216 xp =
sk(i, j, k, 1) * volpi
217 yp =
sk(i, j, k, 2) * volpi
218 zp =
sk(i, j, k, 3) * volpi
220 xa =
half * (
sk(i, j, k, 1) +
sk(i, j, k - 1, 1)) * voli
221 ya =
half * (
sk(i, j, k, 2) +
sk(i, j, k - 1, 2)) * voli
222 za =
half * (
sk(i, j, k, 3) +
sk(i, j, k - 1, 3)) * voli
223 ttm = xm * xa + ym * ya + zm * za
224 ttp = xp * xa + yp * ya + zp * za
238 mulm =
half * (
rlv(i, j, k - 1) +
rlv(i, j, k))
239 mulp =
half * (
rlv(i, j, k + 1) +
rlv(i, j, k))
240 muem =
half * (
rev(i, j, k - 1) +
rev(i, j, k))
241 muep =
half * (
rev(i, j, k + 1) +
rev(i, j, k))
243 c1m = ttm * (mulm +
sig1 * muem) * rhoi
244 c1p = ttp * (mulp +
sig1 * muep) * rhoi
247 c2m = ttm * (mulm +
sig2 * muem) * rhoi
248 c2p = ttp * (mulp +
sig2 * muep) * rhoi
254 dvt(i, j, k, 1) =
dvt(i, j, k, 1) + c1m *
w(i, j, k - 1,
itu1) &
255 - c10 *
w(i, j, k,
itu1) + c1p *
w(i, j, k + 1,
itu1)
256 dvt(i, j, k, 2) =
dvt(i, j, k, 2) + c2m *
w(i, j, k - 1,
itu2) &
257 - c20 *
w(i, j, k,
itu2) + c2p *
w(i, j, k + 1,
itu2)
276 qq(i, j, k, 1, 1) = qq(i, j, k, 1, 1) + c1 &
278 qq(i, j, k, 1, 2) = qq(i, j, k, 1, 2) - b1 *
bmtk1(i, j,
itu1,
itu2)
279 qq(i, j, k, 2, 1) = qq(i, j, k, 2, 1) - b2 *
bmtk1(i, j,
itu2,
itu1)
280 qq(i, j, k, 2, 2) = qq(i, j, k, 2, 2) + c2 &
282 else if (k ==
kl)
then
283 qq(i, j, k, 1, 1) = qq(i, j, k, 1, 1) + c1 &
285 qq(i, j, k, 1, 2) = qq(i, j, k, 1, 2) - d1 *
bmtk2(i, j,
itu1,
itu2)
286 qq(i, j, k, 2, 1) = qq(i, j, k, 2, 1) - d2 *
bmtk2(i, j,
itu2,
itu1)
287 qq(i, j, k, 2, 2) = qq(i, j, k, 2, 2) + c2 &
290 qq(i, j, k, 1, 1) = qq(i, j, k, 1, 1) + c1
291 qq(i, j, k, 2, 2) = qq(i, j, k, 2, 2) + c2
308 volmi =
two / (
vol(i, j, k) +
vol(i, j - 1, k))
309 volpi =
two / (
vol(i, j, k) +
vol(i, j + 1, k))
311 xm =
sj(i, j - 1, k, 1) * volmi
312 ym =
sj(i, j - 1, k, 2) * volmi
313 zm =
sj(i, j - 1, k, 3) * volmi
314 xp =
sj(i, j, k, 1) * volpi
315 yp =
sj(i, j, k, 2) * volpi
316 zp =
sj(i, j, k, 3) * volpi
318 xa =
half * (
sj(i, j, k, 1) +
sj(i, j - 1, k, 1)) * voli
319 ya =
half * (
sj(i, j, k, 2) +
sj(i, j - 1, k, 2)) * voli
320 za =
half * (
sj(i, j, k, 3) +
sj(i, j - 1, k, 3)) * voli
321 ttm = xm * xa + ym * ya + zm * za
322 ttp = xp * xa + yp * ya + zp * za
336 mulm =
half * (
rlv(i, j - 1, k) +
rlv(i, j, k))
337 mulp =
half * (
rlv(i, j + 1, k) +
rlv(i, j, k))
338 muem =
half * (
rev(i, j - 1, k) +
rev(i, j, k))
339 muep =
half * (
rev(i, j + 1, k) +
rev(i, j, k))
341 c1m = ttm * (mulm +
sig1 * muem) * rhoi
342 c1p = ttp * (mulp +
sig1 * muep) * rhoi
345 c2m = ttm * (mulm +
sig2 * muem) * rhoi
346 c2p = ttp * (mulp +
sig2 * muep) * rhoi
352 dvt(i, j, k, 1) =
dvt(i, j, k, 1) + c1m *
w(i, j - 1, k,
itu1) &
353 - c10 *
w(i, j, k,
itu1) + c1p *
w(i, j + 1, k,
itu1)
354 dvt(i, j, k, 2) =
dvt(i, j, k, 2) + c2m *
w(i, j - 1, k,
itu2) &
355 - c20 *
w(i, j, k,
itu2) + c2p *
w(i, j + 1, k,
itu2)
374 qq(i, j, k, 1, 1) = qq(i, j, k, 1, 1) + c1 &
376 qq(i, j, k, 1, 2) = qq(i, j, k, 1, 2) - b1 *
bmtj1(i, k,
itu1,
itu2)
377 qq(i, j, k, 2, 1) = qq(i, j, k, 2, 1) - b2 *
bmtj1(i, k,
itu2,
itu1)
378 qq(i, j, k, 2, 2) = qq(i, j, k, 2, 2) + c2 &
380 else if (j ==
jl)
then
381 qq(i, j, k, 1, 1) = qq(i, j, k, 1, 1) + c1 &
383 qq(i, j, k, 1, 2) = qq(i, j, k, 1, 2) - d1 *
bmtj2(i, k,
itu1,
itu2)
384 qq(i, j, k, 2, 1) = qq(i, j, k, 2, 1) - d2 *
bmtj2(i, k,
itu2,
itu1)
385 qq(i, j, k, 2, 2) = qq(i, j, k, 2, 2) + c2 &
388 qq(i, j, k, 1, 1) = qq(i, j, k, 1, 1) + c1
389 qq(i, j, k, 2, 2) = qq(i, j, k, 2, 2) + c2
406 volmi =
two / (
vol(i, j, k) +
vol(i - 1, j, k))
407 volpi =
two / (
vol(i, j, k) +
vol(i + 1, j, k))
409 xm =
si(i - 1, j, k, 1) * volmi
410 ym =
si(i - 1, j, k, 2) * volmi
411 zm =
si(i - 1, j, k, 3) * volmi
412 xp =
si(i, j, k, 1) * volpi
413 yp =
si(i, j, k, 2) * volpi
414 zp =
si(i, j, k, 3) * volpi
416 xa =
half * (
si(i, j, k, 1) +
si(i - 1, j, k, 1)) * voli
417 ya =
half * (
si(i, j, k, 2) +
si(i - 1, j, k, 2)) * voli
418 za =
half * (
si(i, j, k, 3) +
si(i - 1, j, k, 3)) * voli
419 ttm = xm * xa + ym * ya + zm * za
420 ttp = xp * xa + yp * ya + zp * za
434 mulm =
half * (
rlv(i - 1, j, k) +
rlv(i, j, k))
435 mulp =
half * (
rlv(i + 1, j, k) +
rlv(i, j, k))
436 muem =
half * (
rev(i - 1, j, k) +
rev(i, j, k))
437 muep =
half * (
rev(i + 1, j, k) +
rev(i, j, k))
439 c1m = ttm * (mulm +
sig1 * muem) * rhoi
440 c1p = ttp * (mulp +
sig1 * muep) * rhoi
443 c2m = ttm * (mulm +
sig2 * muem) * rhoi
444 c2p = ttp * (mulp +
sig2 * muep) * rhoi
450 dvt(i, j, k, 1) =
dvt(i, j, k, 1) + c1m *
w(i - 1, j, k,
itu1) &
451 - c10 *
w(i, j, k,
itu1) + c1p *
w(i + 1, j, k,
itu1)
452 dvt(i, j, k, 2) =
dvt(i, j, k, 2) + c2m *
w(i - 1, j, k,
itu2) &
453 - c20 *
w(i, j, k,
itu2) + c2p *
w(i + 1, j, k,
itu2)
472 qq(i, j, k, 1, 1) = qq(i, j, k, 1, 1) + c1 &
474 qq(i, j, k, 1, 2) = qq(i, j, k, 1, 2) - b1 *
bmti1(j, k,
itu1,
itu2)
475 qq(i, j, k, 2, 1) = qq(i, j, k, 2, 1) - b2 *
bmti1(j, k,
itu2,
itu1)
476 qq(i, j, k, 2, 2) = qq(i, j, k, 2, 2) + c2 &
478 else if (i ==
il)
then
479 qq(i, j, k, 1, 1) = qq(i, j, k, 1, 1) + c1 &
481 qq(i, j, k, 1, 2) = qq(i, j, k, 1, 2) - d1 *
bmti2(j, k,
itu1,
itu2)
482 qq(i, j, k, 2, 1) = qq(i, j, k, 2, 1) - d2 *
bmti2(j, k,
itu2,
itu1)
483 qq(i, j, k, 2, 2) = qq(i, j, k, 2, 2) + c2 &
486 qq(i, j, k, 1, 1) = qq(i, j, k, 1, 1) + c1
487 qq(i, j, k, 2, 2) = qq(i, j, k, 2, 2) + c2
504 rblank = real(
iblank(i, j, k), realtype)
535 ddw =>
dw(2, 1:, 1:, 1:); ddvt =>
dvt(2, 1:, 1:, 1:)
536 ww =>
w(2, 1:, 1:, 1:); rrlv =>
rlv(2, 1:, 1:)
537 dd2wall =>
d2wall(2, :, :)
541 ddw =>
dw(
il, 1:, 1:, 1:); ddvt =>
dvt(
il, 1:, 1:, 1:)
542 ww =>
w(
il, 1:, 1:, 1:); rrlv =>
rlv(
il, 1:, 1:)
547 ddw =>
dw(1:, 2, 1:, 1:); ddvt =>
dvt(1:, 2, 1:, 1:)
548 ww =>
w(1:, 2, 1:, 1:); rrlv =>
rlv(1:, 2, 1:)
549 dd2wall =>
d2wall(:, 2, :)
553 ddw =>
dw(1:,
jl, 1:, 1:); ddvt =>
dvt(1:,
jl, 1:, 1:)
554 ww =>
w(1:,
jl, 1:, 1:); rrlv =>
rlv(1:,
jl, 1:)
559 ddw =>
dw(1:, 1:, 2, 1:); ddvt =>
dvt(1:, 1:, 2, 1:)
560 ww =>
w(1:, 1:, 2, 1:); rrlv =>
rlv(1:, 1:, 2)
561 dd2wall =>
d2wall(:, :, 2)
565 ddw =>
dw(1:, 1:,
kl, 1:); ddvt =>
dvt(1:, 1:,
kl, 1:)
566 ww =>
w(1:, 1:,
kl, 1:); rrlv =>
rlv(1:, 1:,
kl)
592 yp = ww(i, j,
irho) * dd2wall(i - 1, j - 1) * utau / rrlv(i, j)
597 tup(
itu2) = tup(
itu2) * utau**2 / rrlv(i, j) * ww(i, j,
irho)
599 ddvt(i, j, 1) = tup(
itu1) - ww(i, j,
itu1)
600 ddvt(i, j, 2) = tup(
itu2) - ww(i, j,
itu2)
610 end if testwallfunctions
633 qq(i, j, k, 1, 1) = factor * qq(i, j, k, 1, 1)
634 qq(i, j, k, 1, 2) = factor * qq(i, j, k, 1, 2)
635 qq(i, j, k, 2, 1) = factor * qq(i, j, k, 2, 1)
636 qq(i, j, k, 2, 2) = factor * qq(i, j, k, 2, 2)
640 if ((i == 2 .and. flagi2(j, k)) .or. &
641 (i ==
il .and. flagil(j, k)) .or. &
642 (j == 2 .and. flagj2(i, k)) .or. &
643 (j ==
jl .and. flagjl(i, k)) .or. &
644 (k == 2 .and. flagk2(i, j)) .or. &
645 (k ==
kl .and. flagkl(i, j)))
then
646 qq(i, j, k, 1, 1) =
one
647 qq(i, j, k, 1, 2) =
zero
648 qq(i, j, k, 2, 1) =
zero
649 qq(i, j, k, 2, 2) =
one
677 volmi =
two / (
vol(i, j, k) +
vol(i, j - 1, k))
678 volpi =
two / (
vol(i, j, k) +
vol(i, j + 1, k))
680 xm =
sj(i, j - 1, k, 1) * volmi
681 ym =
sj(i, j - 1, k, 2) * volmi
682 zm =
sj(i, j - 1, k, 3) * volmi
683 xp =
sj(i, j, k, 1) * volpi
684 yp =
sj(i, j, k, 2) * volpi
685 zp =
sj(i, j, k, 3) * volpi
687 xa =
half * (
sj(i, j, k, 1) +
sj(i, j - 1, k, 1)) * voli
688 ya =
half * (
sj(i, j, k, 2) +
sj(i, j - 1, k, 2)) * voli
689 za =
half * (
sj(i, j, k, 3) +
sj(i, j - 1, k, 3)) * voli
690 ttm = xm * xa + ym * ya + zm * za
691 ttp = xp * xa + yp * ya + zp * za
697 mulm =
half * (
rlv(i, j - 1, k) +
rlv(i, j, k))
698 mulp =
half * (
rlv(i, j + 1, k) +
rlv(i, j, k))
699 muem =
half * (
rev(i, j - 1, k) +
rev(i, j, k))
700 muep =
half * (
rev(i, j + 1, k) +
rev(i, j, k))
702 c1m = ttm * (mulm +
sig1 * muem) * rhoi
703 c1p = ttp * (mulp +
sig1 * muep) * rhoi
705 c2m = ttm * (mulm +
sig2 * muem) * rhoi
706 c2p = ttp * (mulp +
sig2 * muep) * rhoi
722 uu = xa *
w(i, j, k,
ivx) + ya *
w(i, j, k,
ivy) + za *
w(i, j, k,
ivz) - qs
725 if (uu <
zero) um = uu
726 if (uu >
zero) up = uu
728 bb(1, j) = bb(1, j) - up
729 dd(1, j) = dd(1, j) + um
730 bb(2, j) = bb(2, j) - up
731 dd(2, j) = dd(2, j) + um
737 rblank = real(
iblank(i, j, k), realtype)
739 cc(1, 1, j) = qq(i, j, k, 1, 1)
740 cc(1, 2, j) = qq(i, j, k, 1, 2) * rblank
741 cc(2, 1, j) = qq(i, j, k, 2, 1) * rblank
742 cc(2, 2, j) = qq(i, j, k, 2, 2)
744 ff(1, j) =
dvt(i, j, k, 1) * rblank
745 ff(2, j) =
dvt(i, j, k, 2) * rblank
747 bb(:, j) = bb(:, j) * rblank
748 dd(:, j) = dd(:, j) * rblank
752 if ((i == 2 .and. flagi2(j, k)) .or. &
753 (i ==
il .and. flagil(j, k)) .or. &
754 (j == 2 .and. flagj2(i, k)) .or. &
755 (j ==
jl .and. flagjl(i, k)) .or. &
756 (k == 2 .and. flagk2(i, j)) .or. &
757 (k ==
kl .and. flagkl(i, j)))
then
768 call tdia3(2_inttype,
jl, bb, cc, dd, ff)
773 dvt(i, j, k, 1) = qq(i, j, k, 1, 1) * ff(1, j) + qq(i, j, k, 1, 2) * ff(2, j)
774 dvt(i, j, k, 2) = qq(i, j, k, 2, 1) * ff(1, j) + qq(i, j, k, 2, 2) * ff(2, j)
796 volmi =
two / (
vol(i, j, k) +
vol(i - 1, j, k))
797 volpi =
two / (
vol(i, j, k) +
vol(i + 1, j, k))
799 xm =
si(i - 1, j, k, 1) * volmi
800 ym =
si(i - 1, j, k, 2) * volmi
801 zm =
si(i - 1, j, k, 3) * volmi
802 xp =
si(i, j, k, 1) * volpi
803 yp =
si(i, j, k, 2) * volpi
804 zp =
si(i, j, k, 3) * volpi
806 xa =
half * (
si(i, j, k, 1) +
si(i - 1, j, k, 1)) * voli
807 ya =
half * (
si(i, j, k, 2) +
si(i - 1, j, k, 2)) * voli
808 za =
half * (
si(i, j, k, 3) +
si(i - 1, j, k, 3)) * voli
809 ttm = xm * xa + ym * ya + zm * za
810 ttp = xp * xa + yp * ya + zp * za
816 mulm =
half * (
rlv(i - 1, j, k) +
rlv(i, j, k))
817 mulp =
half * (
rlv(i + 1, j, k) +
rlv(i, j, k))
818 muem =
half * (
rev(i - 1, j, k) +
rev(i, j, k))
819 muep =
half * (
rev(i + 1, j, k) +
rev(i, j, k))
821 c1m = ttm * (mulm +
sig1 * muem) * rhoi
822 c1p = ttp * (mulp +
sig1 * muep) * rhoi
824 c2m = ttm * (mulm +
sig2 * muem) * rhoi
825 c2p = ttp * (mulp +
sig2 * muep) * rhoi
841 uu = xa *
w(i, j, k,
ivx) + ya *
w(i, j, k,
ivy) + za *
w(i, j, k,
ivz) - qs
844 if (uu <
zero) um = uu
845 if (uu >
zero) up = uu
847 bb(1, i) = bb(1, i) - up
848 dd(1, i) = dd(1, i) + um
849 bb(2, i) = bb(2, i) - up
850 dd(2, i) = dd(2, i) + um
856 rblank = real(
iblank(i, j, k), realtype)
858 cc(1, 1, i) = qq(i, j, k, 1, 1)
859 cc(1, 2, i) = qq(i, j, k, 1, 2) * rblank
860 cc(2, 1, i) = qq(i, j, k, 2, 1) * rblank
861 cc(2, 2, i) = qq(i, j, k, 2, 2)
863 ff(1, i) =
dvt(i, j, k, 1) * rblank
864 ff(2, i) =
dvt(i, j, k, 2) * rblank
866 bb(:, i) = bb(:, i) * rblank
867 dd(:, i) = dd(:, i) * rblank
871 if ((i == 2 .and. flagi2(j, k)) .or. &
872 (i ==
il .and. flagil(j, k)) .or. &
873 (j == 2 .and. flagj2(i, k)) .or. &
874 (j ==
jl .and. flagjl(i, k)) .or. &
875 (k == 2 .and. flagk2(i, j)) .or. &
876 (k ==
kl .and. flagkl(i, j)))
then
887 call tdia3(2_inttype,
il, bb, cc, dd, ff)
892 dvt(i, j, k, 1) = qq(i, j, k, 1, 1) * ff(1, i) + qq(i, j, k, 1, 2) * ff(2, i)
893 dvt(i, j, k, 2) = qq(i, j, k, 2, 1) * ff(1, i) + qq(i, j, k, 2, 2) * ff(2, i)
915 volmi =
two / (
vol(i, j, k) +
vol(i, j, k - 1))
916 volpi =
two / (
vol(i, j, k) +
vol(i, j, k + 1))
918 xm =
sk(i, j, k - 1, 1) * volmi
919 ym =
sk(i, j, k - 1, 2) * volmi
920 zm =
sk(i, j, k - 1, 3) * volmi
921 xp =
sk(i, j, k, 1) * volpi
922 yp =
sk(i, j, k, 2) * volpi
923 zp =
sk(i, j, k, 3) * volpi
925 xa =
half * (
sk(i, j, k, 1) +
sk(i, j, k - 1, 1)) * voli
926 ya =
half * (
sk(i, j, k, 2) +
sk(i, j, k - 1, 2)) * voli
927 za =
half * (
sk(i, j, k, 3) +
sk(i, j, k - 1, 3)) * voli
928 ttm = xm * xa + ym * ya + zm * za
929 ttp = xp * xa + yp * ya + zp * za
935 mulm =
half * (
rlv(i, j, k - 1) +
rlv(i, j, k))
936 mulp =
half * (
rlv(i, j, k + 1) +
rlv(i, j, k))
937 muem =
half * (
rev(i, j, k - 1) +
rev(i, j, k))
938 muep =
half * (
rev(i, j, k + 1) +
rev(i, j, k))
940 c1m = ttm * (mulm +
sig1 * muem) * rhoi
941 c1p = ttp * (mulp +
sig1 * muep) * rhoi
943 c2m = ttm * (mulm +
sig2 * muem) * rhoi
944 c2p = ttp * (mulp +
sig2 * muep) * rhoi
960 uu = xa *
w(i, j, k,
ivx) + ya *
w(i, j, k,
ivy) + za *
w(i, j, k,
ivz) - qs
963 if (uu <
zero) um = uu
964 if (uu >
zero) up = uu
966 bb(1, k) = bb(1, k) - up
967 dd(1, k) = dd(1, k) + um
968 bb(2, k) = bb(2, k) - up
969 dd(2, k) = dd(2, k) + um
975 rblank = real(
iblank(i, j, k), realtype)
977 cc(1, 1, k) = qq(i, j, k, 1, 1)
978 cc(1, 2, k) = qq(i, j, k, 1, 2) * rblank
979 cc(2, 1, k) = qq(i, j, k, 2, 1) * rblank
980 cc(2, 2, k) = qq(i, j, k, 2, 2)
982 ff(1, k) =
dvt(i, j, k, 1) * rblank
983 ff(2, k) =
dvt(i, j, k, 2) * rblank
985 bb(:, k) = bb(:, k) * rblank
986 dd(:, k) = dd(:, k) * rblank
990 if ((i == 2 .and. flagi2(j, k)) .or. &
991 (i ==
il .and. flagil(j, k)) .or. &
992 (j == 2 .and. flagj2(i, k)) .or. &
993 (j ==
jl .and. flagjl(i, k)) .or. &
994 (k == 2 .and. flagk2(i, j)) .or. &
995 (k ==
kl .and. flagkl(i, j)))
then
1006 call tdia3(2_inttype,
kl, bb, cc, dd, ff)
1011 dvt(i, j, k, 1) = ff(1, k)
1012 dvt(i, j, k, 2) = ff(2, k)
1028 w(i, j, k,
itu1) =
w(i, j, k,
itu1) + factor *
dvt(i, j, k, 1)
1031 w(i, j, k,
itu2) =
w(i, j, k,
itu2) + factor *
dvt(i, j, k, 2)
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
real(kind=realtype), dimension(:, :, :), pointer rev
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
integer(kind=inttype), parameter imax
integer(kind=inttype), parameter kmin
integer(kind=inttype), parameter jmax
integer(kind=inttype), parameter vorticity
integer(kind=inttype), parameter komegamodified
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
integer(kind=inttype), parameter kmax
integer(kind=inttype), parameter jmin
real(kind=realtype), dimension(:), allocatable winf
subroutine kw_block(resOnly)
subroutine kwsolve(resOnly)
real(kind=realtype), parameter rkwsigd1
real(kind=realtype), parameter rkwbetas
real(kind=realtype), parameter rkwsigk1
real(kind=realtype), parameter rkwk
real(kind=realtype), parameter rkwsigw1
real(kind=realtype), parameter rkwbeta1
subroutine bcturbtreatment
subroutine applyallturbbcthisblock(secondHalo)
subroutine curvetupyp(tup, yp, ntu1, ntu2)
real(kind=realtype), dimension(:, :, :), pointer vort
real(kind=realtype), dimension(:, :, :), pointer kwcd
real(kind=realtype), dimension(:, :, :), pointer prod
real(kind=realtype), dimension(:, :, :, :), pointer dvt
real(kind=realtype), dimension(:, :, :), pointer sct
subroutine unsteadyturbterm(mAdv, nAdv, offset, qq)
subroutine tdia3(nb, ne, l, c, u, r)
subroutine turbadvection(mAdv, nAdv, offset, qq)
subroutine prodkatolaunder
subroutine kweddyviscosity(iBeg, iEnd, jBeg, jEnd, kBeg, kEnd)
subroutine setpointers(nn, mm, ll)