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
146 spk =
rev(i, j, k) * ss * rhoi
148 spk = min(spk,
pklim * sdk)
150 dvt(i, j, k, 1) = spk - sdk
160 qq(i, j, k, 1, 2) =
zero
161 qq(i, j, k, 2, 1) =
zero
184 dvt(i, j, k, 2) =
dvt(i, j, k, 2) &
209 volmi =
two / (
vol(i, j, k) +
vol(i, j, k - 1))
210 volpi =
two / (
vol(i, j, k) +
vol(i, j, k + 1))
212 xm =
sk(i, j, k - 1, 1) * volmi
213 ym =
sk(i, j, k - 1, 2) * volmi
214 zm =
sk(i, j, k - 1, 3) * volmi
215 xp =
sk(i, j, k, 1) * volpi
216 yp =
sk(i, j, k, 2) * volpi
217 zp =
sk(i, j, k, 3) * volpi
219 xa =
half * (
sk(i, j, k, 1) +
sk(i, j, k - 1, 1)) * voli
220 ya =
half * (
sk(i, j, k, 2) +
sk(i, j, k - 1, 2)) * voli
221 za =
half * (
sk(i, j, k, 3) +
sk(i, j, k - 1, 3)) * voli
222 ttm = xm * xa + ym * ya + zm * za
223 ttp = xp * xa + yp * ya + zp * za
237 mulm =
half * (
rlv(i, j, k - 1) +
rlv(i, j, k))
238 mulp =
half * (
rlv(i, j, k + 1) +
rlv(i, j, k))
239 muem =
half * (
rev(i, j, k - 1) +
rev(i, j, k))
240 muep =
half * (
rev(i, j, k + 1) +
rev(i, j, k))
242 c1m = ttm * (mulm +
sig1 * muem) * rhoi
243 c1p = ttp * (mulp +
sig1 * muep) * rhoi
246 c2m = ttm * (mulm +
sig2 * muem) * rhoi
247 c2p = ttp * (mulp +
sig2 * muep) * rhoi
253 dvt(i, j, k, 1) =
dvt(i, j, k, 1) + c1m *
w(i, j, k - 1,
itu1) &
254 - c10 *
w(i, j, k,
itu1) + c1p *
w(i, j, k + 1,
itu1)
255 dvt(i, j, k, 2) =
dvt(i, j, k, 2) + c2m *
w(i, j, k - 1,
itu2) &
256 - c20 *
w(i, j, k,
itu2) + c2p *
w(i, j, k + 1,
itu2)
275 qq(i, j, k, 1, 1) = qq(i, j, k, 1, 1) + c1 &
277 qq(i, j, k, 1, 2) = qq(i, j, k, 1, 2) - b1 *
bmtk1(i, j,
itu1,
itu2)
278 qq(i, j, k, 2, 1) = qq(i, j, k, 2, 1) - b2 *
bmtk1(i, j,
itu2,
itu1)
279 qq(i, j, k, 2, 2) = qq(i, j, k, 2, 2) + c2 &
281 else if (k ==
kl)
then
282 qq(i, j, k, 1, 1) = qq(i, j, k, 1, 1) + c1 &
284 qq(i, j, k, 1, 2) = qq(i, j, k, 1, 2) - d1 *
bmtk2(i, j,
itu1,
itu2)
285 qq(i, j, k, 2, 1) = qq(i, j, k, 2, 1) - d2 *
bmtk2(i, j,
itu2,
itu1)
286 qq(i, j, k, 2, 2) = qq(i, j, k, 2, 2) + c2 &
289 qq(i, j, k, 1, 1) = qq(i, j, k, 1, 1) + c1
290 qq(i, j, k, 2, 2) = qq(i, j, k, 2, 2) + c2
307 volmi =
two / (
vol(i, j, k) +
vol(i, j - 1, k))
308 volpi =
two / (
vol(i, j, k) +
vol(i, j + 1, k))
310 xm =
sj(i, j - 1, k, 1) * volmi
311 ym =
sj(i, j - 1, k, 2) * volmi
312 zm =
sj(i, j - 1, k, 3) * volmi
313 xp =
sj(i, j, k, 1) * volpi
314 yp =
sj(i, j, k, 2) * volpi
315 zp =
sj(i, j, k, 3) * volpi
317 xa =
half * (
sj(i, j, k, 1) +
sj(i, j - 1, k, 1)) * voli
318 ya =
half * (
sj(i, j, k, 2) +
sj(i, j - 1, k, 2)) * voli
319 za =
half * (
sj(i, j, k, 3) +
sj(i, j - 1, k, 3)) * voli
320 ttm = xm * xa + ym * ya + zm * za
321 ttp = xp * xa + yp * ya + zp * za
335 mulm =
half * (
rlv(i, j - 1, k) +
rlv(i, j, k))
336 mulp =
half * (
rlv(i, j + 1, k) +
rlv(i, j, k))
337 muem =
half * (
rev(i, j - 1, k) +
rev(i, j, k))
338 muep =
half * (
rev(i, j + 1, k) +
rev(i, j, k))
340 c1m = ttm * (mulm +
sig1 * muem) * rhoi
341 c1p = ttp * (mulp +
sig1 * muep) * rhoi
344 c2m = ttm * (mulm +
sig2 * muem) * rhoi
345 c2p = ttp * (mulp +
sig2 * muep) * rhoi
351 dvt(i, j, k, 1) =
dvt(i, j, k, 1) + c1m *
w(i, j - 1, k,
itu1) &
352 - c10 *
w(i, j, k,
itu1) + c1p *
w(i, j + 1, k,
itu1)
353 dvt(i, j, k, 2) =
dvt(i, j, k, 2) + c2m *
w(i, j - 1, k,
itu2) &
354 - c20 *
w(i, j, k,
itu2) + c2p *
w(i, j + 1, k,
itu2)
373 qq(i, j, k, 1, 1) = qq(i, j, k, 1, 1) + c1 &
375 qq(i, j, k, 1, 2) = qq(i, j, k, 1, 2) - b1 *
bmtj1(i, k,
itu1,
itu2)
376 qq(i, j, k, 2, 1) = qq(i, j, k, 2, 1) - b2 *
bmtj1(i, k,
itu2,
itu1)
377 qq(i, j, k, 2, 2) = qq(i, j, k, 2, 2) + c2 &
379 else if (j ==
jl)
then
380 qq(i, j, k, 1, 1) = qq(i, j, k, 1, 1) + c1 &
382 qq(i, j, k, 1, 2) = qq(i, j, k, 1, 2) - d1 *
bmtj2(i, k,
itu1,
itu2)
383 qq(i, j, k, 2, 1) = qq(i, j, k, 2, 1) - d2 *
bmtj2(i, k,
itu2,
itu1)
384 qq(i, j, k, 2, 2) = qq(i, j, k, 2, 2) + c2 &
387 qq(i, j, k, 1, 1) = qq(i, j, k, 1, 1) + c1
388 qq(i, j, k, 2, 2) = qq(i, j, k, 2, 2) + c2
405 volmi =
two / (
vol(i, j, k) +
vol(i - 1, j, k))
406 volpi =
two / (
vol(i, j, k) +
vol(i + 1, j, k))
408 xm =
si(i - 1, j, k, 1) * volmi
409 ym =
si(i - 1, j, k, 2) * volmi
410 zm =
si(i - 1, j, k, 3) * volmi
411 xp =
si(i, j, k, 1) * volpi
412 yp =
si(i, j, k, 2) * volpi
413 zp =
si(i, j, k, 3) * volpi
415 xa =
half * (
si(i, j, k, 1) +
si(i - 1, j, k, 1)) * voli
416 ya =
half * (
si(i, j, k, 2) +
si(i - 1, j, k, 2)) * voli
417 za =
half * (
si(i, j, k, 3) +
si(i - 1, j, k, 3)) * voli
418 ttm = xm * xa + ym * ya + zm * za
419 ttp = xp * xa + yp * ya + zp * za
433 mulm =
half * (
rlv(i - 1, j, k) +
rlv(i, j, k))
434 mulp =
half * (
rlv(i + 1, j, k) +
rlv(i, j, k))
435 muem =
half * (
rev(i - 1, j, k) +
rev(i, j, k))
436 muep =
half * (
rev(i + 1, j, k) +
rev(i, j, k))
438 c1m = ttm * (mulm +
sig1 * muem) * rhoi
439 c1p = ttp * (mulp +
sig1 * muep) * rhoi
442 c2m = ttm * (mulm +
sig2 * muem) * rhoi
443 c2p = ttp * (mulp +
sig2 * muep) * rhoi
449 dvt(i, j, k, 1) =
dvt(i, j, k, 1) + c1m *
w(i - 1, j, k,
itu1) &
450 - c10 *
w(i, j, k,
itu1) + c1p *
w(i + 1, j, k,
itu1)
451 dvt(i, j, k, 2) =
dvt(i, j, k, 2) + c2m *
w(i - 1, j, k,
itu2) &
452 - c20 *
w(i, j, k,
itu2) + c2p *
w(i + 1, j, k,
itu2)
471 qq(i, j, k, 1, 1) = qq(i, j, k, 1, 1) + c1 &
473 qq(i, j, k, 1, 2) = qq(i, j, k, 1, 2) - b1 *
bmti1(j, k,
itu1,
itu2)
474 qq(i, j, k, 2, 1) = qq(i, j, k, 2, 1) - b2 *
bmti1(j, k,
itu2,
itu1)
475 qq(i, j, k, 2, 2) = qq(i, j, k, 2, 2) + c2 &
477 else if (i ==
il)
then
478 qq(i, j, k, 1, 1) = qq(i, j, k, 1, 1) + c1 &
480 qq(i, j, k, 1, 2) = qq(i, j, k, 1, 2) - d1 *
bmti2(j, k,
itu1,
itu2)
481 qq(i, j, k, 2, 1) = qq(i, j, k, 2, 1) - d2 *
bmti2(j, k,
itu2,
itu1)
482 qq(i, j, k, 2, 2) = qq(i, j, k, 2, 2) + c2 &
485 qq(i, j, k, 1, 1) = qq(i, j, k, 1, 1) + c1
486 qq(i, j, k, 2, 2) = qq(i, j, k, 2, 2) + c2
503 rblank = real(
iblank(i, j, k), realtype)
534 ddw =>
dw(2, 1:, 1:, 1:); ddvt =>
dvt(2, 1:, 1:, 1:)
535 ww =>
w(2, 1:, 1:, 1:); rrlv =>
rlv(2, 1:, 1:)
536 dd2wall =>
d2wall(2, :, :)
540 ddw =>
dw(
il, 1:, 1:, 1:); ddvt =>
dvt(
il, 1:, 1:, 1:)
541 ww =>
w(
il, 1:, 1:, 1:); rrlv =>
rlv(
il, 1:, 1:)
546 ddw =>
dw(1:, 2, 1:, 1:); ddvt =>
dvt(1:, 2, 1:, 1:)
547 ww =>
w(1:, 2, 1:, 1:); rrlv =>
rlv(1:, 2, 1:)
548 dd2wall =>
d2wall(:, 2, :)
552 ddw =>
dw(1:,
jl, 1:, 1:); ddvt =>
dvt(1:,
jl, 1:, 1:)
553 ww =>
w(1:,
jl, 1:, 1:); rrlv =>
rlv(1:,
jl, 1:)
558 ddw =>
dw(1:, 1:, 2, 1:); ddvt =>
dvt(1:, 1:, 2, 1:)
559 ww =>
w(1:, 1:, 2, 1:); rrlv =>
rlv(1:, 1:, 2)
560 dd2wall =>
d2wall(:, :, 2)
564 ddw =>
dw(1:, 1:,
kl, 1:); ddvt =>
dvt(1:, 1:,
kl, 1:)
565 ww =>
w(1:, 1:,
kl, 1:); rrlv =>
rlv(1:, 1:,
kl)
591 yp = ww(i, j,
irho) * dd2wall(i - 1, j - 1) * utau / rrlv(i, j)
596 tup(
itu2) = tup(
itu2) * utau**2 / rrlv(i, j) * ww(i, j,
irho)
598 ddvt(i, j, 1) = tup(
itu1) - ww(i, j,
itu1)
599 ddvt(i, j, 2) = tup(
itu2) - ww(i, j,
itu2)
609 end if testwallfunctions
632 qq(i, j, k, 1, 1) = factor * qq(i, j, k, 1, 1)
633 qq(i, j, k, 1, 2) = factor * qq(i, j, k, 1, 2)
634 qq(i, j, k, 2, 1) = factor * qq(i, j, k, 2, 1)
635 qq(i, j, k, 2, 2) = factor * qq(i, j, k, 2, 2)
639 if ((i == 2 .and. flagi2(j, k)) .or. &
640 (i ==
il .and. flagil(j, k)) .or. &
641 (j == 2 .and. flagj2(i, k)) .or. &
642 (j ==
jl .and. flagjl(i, k)) .or. &
643 (k == 2 .and. flagk2(i, j)) .or. &
644 (k ==
kl .and. flagkl(i, j)))
then
645 qq(i, j, k, 1, 1) =
one
646 qq(i, j, k, 1, 2) =
zero
647 qq(i, j, k, 2, 1) =
zero
648 qq(i, j, k, 2, 2) =
one
676 volmi =
two / (
vol(i, j, k) +
vol(i, j - 1, k))
677 volpi =
two / (
vol(i, j, k) +
vol(i, j + 1, k))
679 xm =
sj(i, j - 1, k, 1) * volmi
680 ym =
sj(i, j - 1, k, 2) * volmi
681 zm =
sj(i, j - 1, k, 3) * volmi
682 xp =
sj(i, j, k, 1) * volpi
683 yp =
sj(i, j, k, 2) * volpi
684 zp =
sj(i, j, k, 3) * volpi
686 xa =
half * (
sj(i, j, k, 1) +
sj(i, j - 1, k, 1)) * voli
687 ya =
half * (
sj(i, j, k, 2) +
sj(i, j - 1, k, 2)) * voli
688 za =
half * (
sj(i, j, k, 3) +
sj(i, j - 1, k, 3)) * voli
689 ttm = xm * xa + ym * ya + zm * za
690 ttp = xp * xa + yp * ya + zp * za
696 mulm =
half * (
rlv(i, j - 1, k) +
rlv(i, j, k))
697 mulp =
half * (
rlv(i, j + 1, k) +
rlv(i, j, k))
698 muem =
half * (
rev(i, j - 1, k) +
rev(i, j, k))
699 muep =
half * (
rev(i, j + 1, k) +
rev(i, j, k))
701 c1m = ttm * (mulm +
sig1 * muem) * rhoi
702 c1p = ttp * (mulp +
sig1 * muep) * rhoi
704 c2m = ttm * (mulm +
sig2 * muem) * rhoi
705 c2p = ttp * (mulp +
sig2 * muep) * rhoi
721 uu = xa *
w(i, j, k,
ivx) + ya *
w(i, j, k,
ivy) + za *
w(i, j, k,
ivz) - qs
724 if (uu <
zero) um = uu
725 if (uu >
zero) up = uu
727 bb(1, j) = bb(1, j) - up
728 dd(1, j) = dd(1, j) + um
729 bb(2, j) = bb(2, j) - up
730 dd(2, j) = dd(2, j) + um
736 rblank = real(
iblank(i, j, k), realtype)
738 cc(1, 1, j) = qq(i, j, k, 1, 1)
739 cc(1, 2, j) = qq(i, j, k, 1, 2) * rblank
740 cc(2, 1, j) = qq(i, j, k, 2, 1) * rblank
741 cc(2, 2, j) = qq(i, j, k, 2, 2)
743 ff(1, j) =
dvt(i, j, k, 1) * rblank
744 ff(2, j) =
dvt(i, j, k, 2) * rblank
746 bb(:, j) = bb(:, j) * rblank
747 dd(:, j) = dd(:, j) * rblank
751 if ((i == 2 .and. flagi2(j, k)) .or. &
752 (i ==
il .and. flagil(j, k)) .or. &
753 (j == 2 .and. flagj2(i, k)) .or. &
754 (j ==
jl .and. flagjl(i, k)) .or. &
755 (k == 2 .and. flagk2(i, j)) .or. &
756 (k ==
kl .and. flagkl(i, j)))
then
767 call tdia3(2_inttype,
jl, bb, cc, dd, ff)
772 dvt(i, j, k, 1) = qq(i, j, k, 1, 1) * ff(1, j) + qq(i, j, k, 1, 2) * ff(2, j)
773 dvt(i, j, k, 2) = qq(i, j, k, 2, 1) * ff(1, j) + qq(i, j, k, 2, 2) * ff(2, j)
795 volmi =
two / (
vol(i, j, k) +
vol(i - 1, j, k))
796 volpi =
two / (
vol(i, j, k) +
vol(i + 1, j, k))
798 xm =
si(i - 1, j, k, 1) * volmi
799 ym =
si(i - 1, j, k, 2) * volmi
800 zm =
si(i - 1, j, k, 3) * volmi
801 xp =
si(i, j, k, 1) * volpi
802 yp =
si(i, j, k, 2) * volpi
803 zp =
si(i, j, k, 3) * volpi
805 xa =
half * (
si(i, j, k, 1) +
si(i - 1, j, k, 1)) * voli
806 ya =
half * (
si(i, j, k, 2) +
si(i - 1, j, k, 2)) * voli
807 za =
half * (
si(i, j, k, 3) +
si(i - 1, j, k, 3)) * voli
808 ttm = xm * xa + ym * ya + zm * za
809 ttp = xp * xa + yp * ya + zp * za
815 mulm =
half * (
rlv(i - 1, j, k) +
rlv(i, j, k))
816 mulp =
half * (
rlv(i + 1, j, k) +
rlv(i, j, k))
817 muem =
half * (
rev(i - 1, j, k) +
rev(i, j, k))
818 muep =
half * (
rev(i + 1, j, k) +
rev(i, j, k))
820 c1m = ttm * (mulm +
sig1 * muem) * rhoi
821 c1p = ttp * (mulp +
sig1 * muep) * rhoi
823 c2m = ttm * (mulm +
sig2 * muem) * rhoi
824 c2p = ttp * (mulp +
sig2 * muep) * rhoi
840 uu = xa *
w(i, j, k,
ivx) + ya *
w(i, j, k,
ivy) + za *
w(i, j, k,
ivz) - qs
843 if (uu <
zero) um = uu
844 if (uu >
zero) up = uu
846 bb(1, i) = bb(1, i) - up
847 dd(1, i) = dd(1, i) + um
848 bb(2, i) = bb(2, i) - up
849 dd(2, i) = dd(2, i) + um
855 rblank = real(
iblank(i, j, k), realtype)
857 cc(1, 1, i) = qq(i, j, k, 1, 1)
858 cc(1, 2, i) = qq(i, j, k, 1, 2) * rblank
859 cc(2, 1, i) = qq(i, j, k, 2, 1) * rblank
860 cc(2, 2, i) = qq(i, j, k, 2, 2)
862 ff(1, i) =
dvt(i, j, k, 1) * rblank
863 ff(2, i) =
dvt(i, j, k, 2) * rblank
865 bb(:, i) = bb(:, i) * rblank
866 dd(:, i) = dd(:, i) * rblank
870 if ((i == 2 .and. flagi2(j, k)) .or. &
871 (i ==
il .and. flagil(j, k)) .or. &
872 (j == 2 .and. flagj2(i, k)) .or. &
873 (j ==
jl .and. flagjl(i, k)) .or. &
874 (k == 2 .and. flagk2(i, j)) .or. &
875 (k ==
kl .and. flagkl(i, j)))
then
886 call tdia3(2_inttype,
il, bb, cc, dd, ff)
891 dvt(i, j, k, 1) = qq(i, j, k, 1, 1) * ff(1, i) + qq(i, j, k, 1, 2) * ff(2, i)
892 dvt(i, j, k, 2) = qq(i, j, k, 2, 1) * ff(1, i) + qq(i, j, k, 2, 2) * ff(2, i)
914 volmi =
two / (
vol(i, j, k) +
vol(i, j, k - 1))
915 volpi =
two / (
vol(i, j, k) +
vol(i, j, k + 1))
917 xm =
sk(i, j, k - 1, 1) * volmi
918 ym =
sk(i, j, k - 1, 2) * volmi
919 zm =
sk(i, j, k - 1, 3) * volmi
920 xp =
sk(i, j, k, 1) * volpi
921 yp =
sk(i, j, k, 2) * volpi
922 zp =
sk(i, j, k, 3) * volpi
924 xa =
half * (
sk(i, j, k, 1) +
sk(i, j, k - 1, 1)) * voli
925 ya =
half * (
sk(i, j, k, 2) +
sk(i, j, k - 1, 2)) * voli
926 za =
half * (
sk(i, j, k, 3) +
sk(i, j, k - 1, 3)) * voli
927 ttm = xm * xa + ym * ya + zm * za
928 ttp = xp * xa + yp * ya + zp * za
934 mulm =
half * (
rlv(i, j, k - 1) +
rlv(i, j, k))
935 mulp =
half * (
rlv(i, j, k + 1) +
rlv(i, j, k))
936 muem =
half * (
rev(i, j, k - 1) +
rev(i, j, k))
937 muep =
half * (
rev(i, j, k + 1) +
rev(i, j, k))
939 c1m = ttm * (mulm +
sig1 * muem) * rhoi
940 c1p = ttp * (mulp +
sig1 * muep) * rhoi
942 c2m = ttm * (mulm +
sig2 * muem) * rhoi
943 c2p = ttp * (mulp +
sig2 * muep) * rhoi
959 uu = xa *
w(i, j, k,
ivx) + ya *
w(i, j, k,
ivy) + za *
w(i, j, k,
ivz) - qs
962 if (uu <
zero) um = uu
963 if (uu >
zero) up = uu
965 bb(1, k) = bb(1, k) - up
966 dd(1, k) = dd(1, k) + um
967 bb(2, k) = bb(2, k) - up
968 dd(2, k) = dd(2, k) + um
974 rblank = real(
iblank(i, j, k), realtype)
976 cc(1, 1, k) = qq(i, j, k, 1, 1)
977 cc(1, 2, k) = qq(i, j, k, 1, 2) * rblank
978 cc(2, 1, k) = qq(i, j, k, 2, 1) * rblank
979 cc(2, 2, k) = qq(i, j, k, 2, 2)
981 ff(1, k) =
dvt(i, j, k, 1) * rblank
982 ff(2, k) =
dvt(i, j, k, 2) * rblank
984 bb(:, k) = bb(:, k) * rblank
985 dd(:, k) = dd(:, k) * rblank
989 if ((i == 2 .and. flagi2(j, k)) .or. &
990 (i ==
il .and. flagil(j, k)) .or. &
991 (j == 2 .and. flagj2(i, k)) .or. &
992 (j ==
jl .and. flagjl(i, k)) .or. &
993 (k == 2 .and. flagk2(i, j)) .or. &
994 (k ==
kl .and. flagkl(i, j)))
then
1005 call tdia3(2_inttype,
kl, bb, cc, dd, ff)
1010 dvt(i, j, k, 1) = ff(1, k)
1011 dvt(i, j, k, 2) = ff(2, k)
1027 w(i, j, k,
itu1) =
w(i, j, k,
itu1) + factor *
dvt(i, j, k, 1)
1030 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)