24 integer(kind=intType),
dimension(:),
allocatable ::
ndomperproc
51 character(len=maxStringLen),
dimension(:),
allocatable :: &
54 integer,
dimension(:),
allocatable ::
fileids
81 integer(kind=intType),
intent(out) :: nIsoSolVar
91 if (
isowritep) nisosolvar = nisosolvar + 1
139 integer(kind=intType),
intent(out) :: nSolVar
192 integer(kind=intType),
intent(out) :: nVolSolvar, nVolDiscrVar
243 iEnd, jEnd, kEnd, subRange)
253 integer(kind=intType),
intent(in) :: iBeg, jBeg, kBeg
254 integer(kind=intType),
intent(in) :: iEnd, jEnd, kEnd
255 integer(kind=intType),
dimension(3, 2),
intent(in) :: subRange
257 real(kind=
realtype),
dimension(*),
intent(in) :: buffer
258 real(kind=4), dimension(ibeg:iend, jbeg:jend, kbeg:kend), &
263 integer(kind=intType) :: i, j, k, ll
268 do k = subrange(3, 1), subrange(3, 2)
269 do j = subrange(2, 1), subrange(2, 2)
270 do i = subrange(1, 1), subrange(1, 2)
283 iEnd, jEnd, kEnd, subRange)
293 integer(kind=intType),
intent(in) :: iBeg, jBeg, kBeg
294 integer(kind=intType),
intent(in) :: iEnd, jEnd, kEnd
295 integer(kind=intType),
dimension(3, 2),
intent(in) :: subRange
297 real(kind=
realtype),
dimension(*),
intent(in) :: buffer
298 real(kind=8), dimension(ibeg:iend, jbeg:jend, kbeg:kend), &
303 integer(kind=intType) :: i, j, k, ll
308 do k = subrange(3, 1), subrange(3, 2)
309 do j = subrange(2, 1), subrange(2, 2)
310 do i = subrange(1, 1), subrange(1, 2)
334 character(len=*),
dimension(*),
intent(out) :: solNames
338 integer(kind=intType) :: nn
588 character(len=*),
dimension(*),
intent(out) :: solNames
592 integer(kind=intType) :: nn
744 iBeg, iEnd, jBeg, jEnd, kBeg, kEnd)
766 integer(kind=intType),
intent(in) :: iBeg, iEnd, jBeg, jEnd
767 integer(kind=intType),
intent(in) :: kBeg, kEnd
769 real(kind=realtype),
dimension(*),
intent(out) :: buffer
770 character(len=*),
intent(in) :: solName
772 logical,
intent(in) :: copyInBuffer
776 real(kind=realtype),
parameter :: plim = 0.001_realtype
777 real(kind=realtype),
parameter :: rholim = 0.001_realtype
781 integer(kind=intType) :: i, j, k, ii, jj, kk, nn
783 real(kind=realtype) :: uuy, uuz, vvx, vvz, wwx, wwy, tmp
784 real(kind=realtype) :: vortx, vorty, vortz, a2, ptotinf, ptot
785 real(kind=realtype) :: a, uova(3), gradp(3)
787 real(kind=realtype),
dimension(:, :, :, :),
pointer :: wio
798 select case (solname)
804 wio(i, j, k, 1) =
w(i, j, k,
irho)
813 wio(i, j, k, 1) =
w(i, j, k,
irho) *
w(i, j, k,
ivx)
822 wio(i, j, k, 1) =
w(i, j, k,
irho) *
w(i, j, k,
ivy)
831 wio(i, j, k, 1) =
w(i, j, k,
irho) *
w(i, j, k,
ivz)
840 wio(i, j, k, 1) =
w(i, j, k,
irhoe)
849 wio(i, j, k, 1) =
w(i, j, k,
itu1)
858 wio(i, j, k, 1) =
w(i, j, k,
itu2)
867 wio(i, j, k, 1) =
w(i, j, k,
itu3)
876 wio(i, j, k, 1) =
w(i, j, k,
itu4)
885 wio(i, j, k, 1) =
w(i, j, k,
ivx)
894 wio(i, j, k, 1) =
w(i, j, k,
ivy)
903 wio(i, j, k, 1) =
w(i, j, k,
ivz)
912 wio(i, j, k, 1) =
w(i, j, k,
ivx) -
s(i, j, k, 1)
921 wio(i, j, k, 1) =
w(i, j, k,
ivy) -
s(i, j, k, 2)
930 wio(i, j, k, 1) =
w(i, j, k,
ivz) -
s(i, j, k, 3)
939 wio(i, j, k, 1) =
p(i, j, k)
948 wio(i, j, k, 1) =
p(i, j, k) / (
rgas *
w(i, j, k,
irho))
958 wio(i, j, k, 1) = tmp * (
p(i, j, k) -
pinf)
967 a2 =
gamma(i, j, k) * max(
p(i, j, k), plim) &
968 / max(
w(i, j, k,
irho), rholim)
969 tmp = (
w(i, j, k,
ivx)**2 +
w(i, j, k,
ivy)**2 &
970 +
w(i, j, k,
ivz)**2) / a2
971 wio(i, j, k, 1) = sqrt(max(
zero, tmp))
980 a2 =
gamma(i, j, k) * max(
p(i, j, k), plim) &
981 / max(
w(i, j, k,
irho), rholim)
982 tmp = ((
w(i, j, k,
ivx) -
s(i, j, k, 1))**2 + &
983 (
w(i, j, k,
ivy) -
s(i, j, k, 2))**2 &
984 + (
w(i, j, k,
ivz) -
s(i, j, k, 3))**2) / a2
985 wio(i, j, k, 1) = sqrt(max(
zero, tmp))
995 / (
gamma(i, j, k) * max(
p(i, j, k), plim))
996 wio(i, j, k, 1) = sqrt(max(
zero, tmp))
1005 wio(i, j, k, 1) =
rev(i, j, k)
1014 wio(i, j, k, 1) =
rev(i, j, k) /
rlv(i, j, k)
1021 kk = max(2_inttype, k); kk = min(
kl, kk)
1023 jj = max(2_inttype, j); jj = min(
jl, jj)
1025 ii = max(2_inttype, i); ii = min(
il, ii)
1026 wio(i, j, k, 1) =
d2wall(ii, jj, kk)
1037 uuy =
si(i, j, k, 2) *
w(i + 1, j, k,
ivx) &
1038 -
si(i - 1, j, k, 2) *
w(i - 1, j, k,
ivx) &
1039 +
sj(i, j, k, 2) *
w(i, j + 1, k,
ivx) &
1040 -
sj(i, j - 1, k, 2) *
w(i, j - 1, k,
ivx) &
1041 +
sk(i, j, k, 2) *
w(i, j, k + 1,
ivx) &
1042 -
sk(i, j, k - 1, 2) *
w(i, j, k - 1,
ivx)
1044 uuz =
si(i, j, k, 3) *
w(i + 1, j, k,
ivx) &
1045 -
si(i - 1, j, k, 3) *
w(i - 1, j, k,
ivx) &
1046 +
sj(i, j, k, 3) *
w(i, j + 1, k,
ivx) &
1047 -
sj(i, j - 1, k, 3) *
w(i, j - 1, k,
ivx) &
1048 +
sk(i, j, k, 3) *
w(i, j, k + 1,
ivx) &
1049 -
sk(i, j, k - 1, 3) *
w(i, j, k - 1,
ivx)
1051 vvx =
si(i, j, k, 1) *
w(i + 1, j, k,
ivy) &
1052 -
si(i - 1, j, k, 1) *
w(i - 1, j, k,
ivy) &
1053 +
sj(i, j, k, 1) *
w(i, j + 1, k,
ivy) &
1054 -
sj(i, j - 1, k, 1) *
w(i, j - 1, k,
ivy) &
1055 +
sk(i, j, k, 1) *
w(i, j, k + 1,
ivy) &
1056 -
sk(i, j, k - 1, 1) *
w(i, j, k - 1,
ivy)
1058 vvz =
si(i, j, k, 3) *
w(i + 1, j, k,
ivy) &
1059 -
si(i - 1, j, k, 3) *
w(i - 1, j, k,
ivy) &
1060 +
sj(i, j, k, 3) *
w(i, j + 1, k,
ivy) &
1061 -
sj(i, j - 1, k, 3) *
w(i, j - 1, k,
ivy) &
1062 +
sk(i, j, k, 3) *
w(i, j, k + 1,
ivy) &
1063 -
sk(i, j, k - 1, 3) *
w(i, j, k - 1,
ivy)
1065 wwx =
si(i, j, k, 1) *
w(i + 1, j, k,
ivz) &
1066 -
si(i - 1, j, k, 1) *
w(i - 1, j, k,
ivz) &
1067 +
sj(i, j, k, 1) *
w(i, j + 1, k,
ivz) &
1068 -
sj(i, j - 1, k, 1) *
w(i, j - 1, k,
ivz) &
1069 +
sk(i, j, k, 1) *
w(i, j, k + 1,
ivz) &
1070 -
sk(i, j, k - 1, 1) *
w(i, j, k - 1,
ivz)
1072 wwy =
si(i, j, k, 2) *
w(i + 1, j, k,
ivz) &
1073 -
si(i - 1, j, k, 2) *
w(i - 1, j, k,
ivz) &
1074 +
sj(i, j, k, 2) *
w(i, j + 1, k,
ivz) &
1075 -
sj(i, j - 1, k, 2) *
w(i, j - 1, k,
ivz) &
1076 +
sk(i, j, k, 2) *
w(i, j, k + 1,
ivz) &
1077 -
sk(i, j, k - 1, 2) *
w(i, j, k - 1,
ivz)
1079 vortx = wwy - vvz; vorty = uuz - wwx; vortz = vvx - uuy
1081 wio(i, j, k, 1) = tmp * sqrt(vortx**2 + vorty**2 + vortz**2)
1092 vvz =
si(i, j, k, 3) *
w(i + 1, j, k,
ivy) &
1093 -
si(i - 1, j, k, 3) *
w(i - 1, j, k,
ivy) &
1094 +
sj(i, j, k, 3) *
w(i, j + 1, k,
ivy) &
1095 -
sj(i, j - 1, k, 3) *
w(i, j - 1, k,
ivy) &
1096 +
sk(i, j, k, 3) *
w(i, j, k + 1,
ivy) &
1097 -
sk(i, j, k - 1, 3) *
w(i, j, k - 1,
ivy)
1099 wwy =
si(i, j, k, 2) *
w(i + 1, j, k,
ivz) &
1100 -
si(i - 1, j, k, 2) *
w(i - 1, j, k,
ivz) &
1101 +
sj(i, j, k, 2) *
w(i, j + 1, k,
ivz) &
1102 -
sj(i, j - 1, k, 2) *
w(i, j - 1, k,
ivz) &
1103 +
sk(i, j, k, 2) *
w(i, j, k + 1,
ivz) &
1104 -
sk(i, j, k - 1, 2) *
w(i, j, k - 1,
ivz)
1106 wio(i, j, k, 1) = tmp * (wwy - vvz)
1117 uuz =
si(i, j, k, 3) *
w(i + 1, j, k,
ivx) &
1118 -
si(i - 1, j, k, 3) *
w(i - 1, j, k,
ivx) &
1119 +
sj(i, j, k, 3) *
w(i, j + 1, k,
ivx) &
1120 -
sj(i, j - 1, k, 3) *
w(i, j - 1, k,
ivx) &
1121 +
sk(i, j, k, 3) *
w(i, j, k + 1,
ivx) &
1122 -
sk(i, j, k - 1, 3) *
w(i, j, k - 1,
ivx)
1124 wwx =
si(i, j, k, 1) *
w(i + 1, j, k,
ivz) &
1125 -
si(i - 1, j, k, 1) *
w(i - 1, j, k,
ivz) &
1126 +
sj(i, j, k, 1) *
w(i, j + 1, k,
ivz) &
1127 -
sj(i, j - 1, k, 1) *
w(i, j - 1, k,
ivz) &
1128 +
sk(i, j, k, 1) *
w(i, j, k + 1,
ivz) &
1129 -
sk(i, j, k - 1, 1) *
w(i, j, k - 1,
ivz)
1131 wio(i, j, k, 1) = tmp * (uuz - wwx)
1142 uuy =
si(i, j, k, 2) *
w(i + 1, j, k,
ivx) &
1143 -
si(i - 1, j, k, 2) *
w(i - 1, j, k,
ivx) &
1144 +
sj(i, j, k, 2) *
w(i, j + 1, k,
ivx) &
1145 -
sj(i, j - 1, k, 2) *
w(i, j - 1, k,
ivx) &
1146 +
sk(i, j, k, 2) *
w(i, j, k + 1,
ivx) &
1147 -
sk(i, j, k - 1, 2) *
w(i, j, k - 1,
ivx)
1149 vvx =
si(i, j, k, 1) *
w(i + 1, j, k,
ivy) &
1150 -
si(i - 1, j, k, 1) *
w(i - 1, j, k,
ivy) &
1151 +
sj(i, j, k, 1) *
w(i, j + 1, k,
ivy) &
1152 -
sj(i, j - 1, k, 1) *
w(i, j - 1, k,
ivy) &
1153 +
sk(i, j, k, 1) *
w(i, j, k + 1,
ivy) &
1154 -
sk(i, j, k - 1, 1) *
w(i, j, k - 1,
ivy)
1156 wio(i, j, k, 1) = tmp * (vvx - uuy)
1167 ptotinf =
one / ptotinf
1176 w(i, j, k,
ivy),
w(i, j, k,
ivz), &
1179 wio(i, j, k, 1) =
one - ptot * ptotinf
1190 wio(i, j, k, 1) =
dw(i, j, k,
irho) /
vol(i, j, k)
1201 wio(i, j, k, 1) =
dw(i, j, k,
imx) /
vol(i, j, k)
1212 wio(i, j, k, 1) =
dw(i, j, k,
imy) /
vol(i, j, k)
1223 wio(i, j, k, 1) =
dw(i, j, k,
imz) /
vol(i, j, k)
1234 wio(i, j, k, 1) =
dw(i, j, k,
irhoe) /
vol(i, j, k)
1245 wio(i, j, k, 1) =
dw(i, j, k,
itu1) /
vol(i, j, k)
1256 wio(i, j, k, 1) =
dw(i, j, k,
itu2) /
vol(i, j, k)
1267 wio(i, j, k, 1) =
dw(i, j, k,
itu3) /
vol(i, j, k)
1278 wio(i, j, k, 1) =
dw(i, j, k,
itu4) /
vol(i, j, k)
1287 wio(i, j, k, 1) = real(
iblank(i, j, k), realtype)
1296 wio(i, j, k, 1) = real(
globalcell(i, j, k), realtype)
1306 wio(i, j, k, 1) = real(
status(i, j, k))
1317 kk = max(2_inttype, k); kk = min(
kl, kk)
1319 jj = max(2_inttype, j); jj = min(
jl, jj)
1321 ii = max(2_inttype, i); ii = min(
il, ii)
1339 a = sqrt(
gamma(i, j, k) * max(
p(i, j, k), plim) &
1340 / max(
w(i, j, k,
irho), rholim))
1341 uova = (/
w(i, j, k,
ivx),
w(i, j, k,
ivy),
w(i, j, k,
ivz)/) / a
1345 gradp(1) =
si(i, j, k, 1) *
p(i + 1, j, k) &
1346 -
si(i - 1, j, k, 1) *
p(i - 1, j, k) &
1347 +
sj(i, j, k, 1) *
p(i, j + 1, k) &
1348 -
sj(i, j - 1, k, 1) *
p(i, j - 1, k) &
1349 +
sk(i, j, k, 1) *
p(i, j, k + 1) &
1350 -
sk(i, j, k - 1, 1) *
p(i, j, k - 1)
1352 gradp(2) =
si(i, j, k, 2) *
p(i + 1, j, k) &
1353 -
si(i - 1, j, k, 2) *
p(i - 1, j, k) &
1354 +
sj(i, j, k, 2) *
p(i, j + 1, k) &
1355 -
sj(i, j - 1, k, 2) *
p(i, j - 1, k) &
1356 +
sk(i, j, k, 2) *
p(i, j, k + 1) &
1357 -
sk(i, j, k - 1, 2) *
p(i, j, k - 1)
1359 gradp(3) =
si(i, j, k, 3) *
p(i + 1, j, k) &
1360 -
si(i - 1, j, k, 3) *
p(i - 1, j, k) &
1361 +
sj(i, j, k, 3) *
p(i, j + 1, k) &
1362 -
sj(i, j - 1, k, 3) *
p(i, j - 1, k) &
1363 +
sk(i, j, k, 3) *
p(i, j, k + 1) &
1364 -
sk(i, j, k - 1, 3) *
p(i, j, k - 1)
1366 gradp = gradp / sqrt(gradp(1)**2 + gradp(2)**2 + gradp(3)**2)
1368 wio(i, j, k, 1) = uova(1) * gradp(1) + uova(2) * gradp(2) + uova(3) * gradp(3)
1375 "This should not happen")
1381 if (copyinbuffer)
then
1387 buffer(nn) = wio(i, j, k, 1)
1396 faceID, cellRange, solName, &
1397 viscousSubface, useRindLayer, &
1398 iBeg, iEnd, jBeg, jEnd)
1423 integer(kind=intType),
intent(in) :: sps, blockID, faceID
1424 integer(kind=intType),
intent(inout) :: nn
1425 integer(kind=intType),
dimension(3, 2),
intent(in) :: cellRange
1426 real(kind=realtype),
dimension(*),
intent(out) :: buffer
1427 character(len=*),
intent(in) :: solName
1428 logical,
intent(in) :: viscousSubface, useRindLayer
1432 integer(kind=intType),
optional,
intent(in) :: iBeg, iEnd, jBeg, jEnd
1436 integer(kind=intType) :: i, j, k, ior, jor
1437 integer(kind=intType) :: ii, jj, mm, iiMax, jjMax
1439 integer(kind=intType),
dimension(2, 2) :: rangeFace
1440 integer(kind=intType),
dimension(3, 2) :: rangeCell
1442 integer(kind=intType),
dimension(:, :),
pointer :: viscPointer
1443 integer(kind=intType),
dimension(:, :),
pointer :: iblank2
1445 real(kind=realtype) :: fact, gm1, ptotinf, ptot, psurf, rsurf
1446 real(kind=realtype) :: usurf, vsurf, wsurf, m2surf, musurf
1447 real(kind=realtype) :: fx, fy, fz, fn, a2tot, a2, qw
1448 real(kind=realtype) :: tauxx, tauyy, tauzz
1449 real(kind=realtype) :: tauxy, tauxz, tauyz
1450 real(kind=realtype) :: pm1, a, sensor, plocal, sensor1
1451 real(kind=realtype) :: vecttangential(3)
1452 real(kind=realtype) :: vectdotproductfsnormal
1453 real(kind=realtype),
dimension(3) :: norm, v
1454 real(kind=realtype) :: coeffpressure
1456 real(kind=realtype),
dimension(:, :, :),
pointer :: ww1, ww2
1457 real(kind=realtype),
dimension(:, :, :),
pointer :: ss1, ss2, ss
1458 real(kind=realtype),
dimension(:, :),
pointer :: pp1, pp2
1460 real(kind=realtype),
dimension(:, :),
pointer :: gamma1, gamma2
1461 real(kind=realtype),
dimension(:, :),
pointer :: rlv1, rlv2
1462 real(kind=realtype),
dimension(:, :),
pointer :: dd2wall
1464 real(kind=realtype) :: uinfdim2
1465 real(kind=realtype) :: rot_speed2
1466 real(kind=realtype),
Dimension(3) :: r_
1467 real(kind=realtype),
Dimension(3) :: rrate_
1468 real(kind=realtype),
Dimension(3) :: wcrossr
1469 real(kind=realtype),
dimension(:, :, :),
pointer :: xx1, xx2
1471 real(kind=realtype) :: subface_jbegor, subface_jendor, subface_ibegor, subface_iendor
1485 rangecell(1, 1) = cellrange(1, 1) -
ibegor + 1
1486 rangecell(1, 2) = cellrange(1, 2) -
ibegor + 1
1488 rangecell(2, 1) = cellrange(2, 1) -
jbegor + 1
1489 rangecell(2, 2) = cellrange(2, 2) -
jbegor + 1
1491 rangecell(3, 1) = cellrange(3, 1) -
kbegor + 1
1492 rangecell(3, 2) = cellrange(3, 2) -
kbegor + 1
1497 if (.not. viscoussubface)
then
1499 select case (solname)
1507 do k = rangecell(3, 1), rangecell(3, 2)
1508 do j = rangecell(2, 1), rangecell(2, 2)
1509 do i = rangecell(1, 1), rangecell(1, 2)
1524 select case (solname)
1544 select case (faceid)
1547 rangeface(1, 1:2) = rangecell(2, 1:2)
1548 rangeface(2, 1:2) = rangecell(3, 1:2)
1549 iimax =
jl; jjmax =
kl
1566 xx1 =>
x(0, :, :, :); xx2 =>
x(1, :, :, :)
1568 ww1 =>
w(1, 1:, 1:, :); ww2 =>
w(2, 1:, 1:, :)
1569 pp1 =>
p(1, 1:, 1:); pp2 =>
p(2, 1:, 1:)
1570 ss =>
si(1, :, :, :); fact = -
one
1572 pp1 =>
p(1, 1:, 1:); pp2 =>
p(2, 1:, 1:)
1573 gamma1 =>
gamma(1, 1:, 1:); gamma2 =>
gamma(2, 1:, 1:)
1576 ss1 =>
s(1, 1:, 1:, :); ss2 =>
s(2, 1:, 1:, :)
1579 iblank2 =>
iblank(2, 1:, 1:)
1583 rlv1 =>
rlv(1, 1:, 1:); rlv2 =>
rlv(2, 1:, 1:)
1596 rangeface(1, 1:2) = rangecell(2, 1:2)
1597 rangeface(2, 1:2) = rangecell(3, 1:2)
1598 iimax =
jl; jjmax =
kl
1600 xx1 =>
x(
ie - 1, :, :, :); xx2 =>
x(
il - 1, :, :, :)
1602 ww1 =>
w(
ie, 1:, 1:, :); ww2 =>
w(
il, 1:, 1:, :)
1603 ss =>
si(
il, :, :, :); fact =
one
1605 pp1 =>
p(
ie, 1:, 1:); pp2 =>
p(
il, 1:, 1:)
1609 ss1 =>
s(
ie - 1, 1:, 1:, :); ss2 =>
s(
ie, 1:, 1:, :)
1616 rlv1 =>
rlv(
ie, 1:, 1:); rlv2 =>
rlv(
il, 1:, 1:)
1630 rangeface(1, 1:2) = rangecell(1, 1:2)
1631 rangeface(2, 1:2) = rangecell(3, 1:2)
1632 iimax =
il; jjmax =
kl
1634 xx1 =>
x(:, 0, :, :); xx2 =>
x(:, 1, :, :)
1636 ww1 =>
w(1:, 1, 1:, :); ww2 =>
w(1:, 2, 1:, :)
1637 ss =>
sj(:, 1, :, :); fact = -
one
1639 pp1 =>
p(1:, 1, 1:); pp2 =>
p(1:, 2, 1:)
1640 gamma1 =>
gamma(1:, 1, 1:); gamma2 =>
gamma(1:, 2, 1:)
1643 ss1 =>
s(1:, 1, 1:, :); ss2 =>
s(1:, 2, 1:, :)
1646 iblank2 =>
iblank(1:, 2, 1:)
1650 rlv1 =>
rlv(1:, 1, 1:); rlv2 =>
rlv(1:, 2, 1:)
1664 rangeface(1, 1:2) = rangecell(1, 1:2)
1665 rangeface(2, 1:2) = rangecell(3, 1:2)
1666 iimax =
il; jjmax =
kl
1668 xx1 =>
x(:,
je - 1, :, :); xx2 =>
x(:,
jl - 1, :, :)
1670 ww1 =>
w(1:,
je, 1:, :); ww2 =>
w(1:,
jl, 1:, :)
1671 ss =>
sj(:,
jl, :, :); fact =
one
1673 pp1 =>
p(1:,
je, 1:); pp2 =>
p(1:,
jl, 1:)
1677 ss1 =>
s(1:,
je - 1, 1:, :); ss2 =>
s(1:,
je, 1:, :)
1684 rlv1 =>
rlv(1:,
je, 1:); rlv2 =>
rlv(1:,
jl, 1:)
1698 rangeface(1, 1:2) = rangecell(1, 1:2)
1699 rangeface(2, 1:2) = rangecell(2, 1:2)
1700 iimax =
il; jjmax =
jl
1702 xx1 =>
x(:, :, 0, :); xx2 =>
x(:, :, 1, :)
1704 ww1 =>
w(1:, 1:, 1, :); ww2 =>
w(1:, 1:, 2, :)
1705 ss =>
sk(:, :, 1, :); fact = -
one
1707 pp1 =>
p(1:, 1:, 1); pp2 =>
p(1:, 1:, 2)
1708 gamma1 =>
gamma(1:, 1:, 1); gamma2 =>
gamma(1:, 1:, 2)
1711 ss1 =>
s(1:, 1:, 1, :); ss2 =>
s(1:, 1:, 2, :)
1714 iblank2 =>
iblank(1:, 1:, 2)
1718 rlv1 =>
rlv(1:, 1:, 1); rlv2 =>
rlv(1:, 1:, 2)
1732 rangeface(1, 1:2) = rangecell(1, 1:2)
1733 rangeface(2, 1:2) = rangecell(2, 1:2)
1734 iimax =
il; jjmax =
jl
1736 xx1 =>
x(:, :,
ke - 1, :); xx2 =>
x(:, :,
kl - 1, :)
1738 ww1 =>
w(1:, 1:,
ke, :); ww2 =>
w(1:, 1:,
kl, :)
1739 ss =>
sk(:, :,
kl, :); fact =
one
1741 pp1 =>
p(1:, 1:,
ke); pp2 =>
p(1:, 1:,
kl)
1745 ss1 =>
s(1:, 1:,
ke - 1, :); ss2 =>
s(1:, 1:,
ke, :)
1752 rlv1 =>
rlv(1:, 1:,
ke); rlv2 =>
rlv(1:, 1:,
kl)
1770 varname:
select case(solname)
1774 do j = rangeface(2, 1), rangeface(2, 2)
1775 do i = rangeface(1, 1), rangeface(1, 2)
1777 buffer(nn) =
half * (ww1(i, j,
irho) + ww2(i, j,
irho))
1785 do j = rangeface(2, 1), rangeface(2, 2)
1786 do i = rangeface(1, 1), rangeface(1, 2)
1788 buffer(nn) =
half * (pp1(i, j) + pp2(i, j))
1796 do j = rangeface(2, 1), rangeface(2, 2)
1797 do i = rangeface(1, 1), rangeface(1, 2)
1799 buffer(nn) = (pp1(i, j) + pp2(i, j)) &
1808 do j = rangeface(2, 1), rangeface(2, 2)
1809 do i = rangeface(1, 1), rangeface(1, 2)
1812 buffer(nn) = ww2(i, j,
ivx)
1814 buffer(nn) =
half * (ww1(i, j,
ivx) + ww2(i, j,
ivx))
1823 do j = rangeface(2, 1), rangeface(2, 2)
1824 do i = rangeface(1, 1), rangeface(1, 2)
1827 buffer(nn) = ww2(i, j,
ivy)
1829 buffer(nn) =
half * (ww1(i, j,
ivy) + ww2(i, j,
ivy))
1838 do j = rangeface(2, 1), rangeface(2, 2)
1839 do i = rangeface(1, 1), rangeface(1, 2)
1842 buffer(nn) = ww2(i, j,
ivz)
1844 buffer(nn) =
half * (ww1(i, j,
ivz) + ww2(i, j,
ivz))
1853 do j = rangeface(2, 1), rangeface(2, 2)
1854 do i = rangeface(1, 1), rangeface(1, 2)
1857 buffer(nn) = ww2(i, j,
ivx) - ss2(i, j, 1)
1859 buffer(nn) =
half * (ww1(i, j,
ivx) + ww2(i, j,
ivx)) -
half * (ss1(i, j, 1) + ss2(i, j, 1))
1867 do j = rangeface(2, 1), rangeface(2, 2)
1868 do i = rangeface(1, 1), rangeface(1, 2)
1871 buffer(nn) = ww2(i, j,
ivy) - ss2(i, j, 2)
1873 buffer(nn) =
half * (ww1(i, j,
ivy) + ww2(i, j,
ivy)) -
half * (ss1(i, j, 2) + ss2(i, j, 2))
1881 do j = rangeface(2, 1), rangeface(2, 2)
1882 do i = rangeface(1, 1), rangeface(1, 2)
1885 buffer(nn) = ww2(i, j,
ivz) - ss2(i, j, 3)
1887 buffer(nn) =
half * (ww1(i, j,
ivz) + ww2(i, j,
ivz)) -
half * (ss1(i, j, 3) + ss2(i, j, 3))
1896 do j = rangeface(2, 1), rangeface(2, 2)
1897 do i = rangeface(1, 1), rangeface(1, 2)
1901 buffer(nn) = coeffpressure
1912 ptotinf =
one / ptotinf
1916 do j = rangeface(2, 1), rangeface(2, 2)
1917 do i = rangeface(1, 1), rangeface(1, 2)
1919 psurf =
half * (pp1(i, j) + pp2(i, j))
1921 usurf =
half * (ww1(i, j,
ivx) + ww2(i, j,
ivx))
1922 vsurf =
half * (ww1(i, j,
ivy) + ww2(i, j,
ivy))
1923 wsurf =
half * (ww1(i, j,
ivz) + ww2(i, j,
ivz))
1929 buffer(nn) =
one - ptot * ptotinf
1937 do j = rangeface(2, 1), rangeface(2, 2)
1938 do i = rangeface(1, 1), rangeface(1, 2)
1940 psurf =
half * (pp1(i, j) + pp2(i, j))
1942 usurf =
half * (ww1(i, j,
ivx) + ww2(i, j,
ivx))
1943 vsurf =
half * (ww1(i, j,
ivy) + ww2(i, j,
ivy))
1944 wsurf =
half * (ww1(i, j,
ivz) + ww2(i, j,
ivz))
1945 m2surf = rsurf * (usurf**2 + vsurf**2 + wsurf**2) &
1946 / (
half * (gamma1(i, j) + gamma2(i, j)) * psurf)
1949 buffer(nn) = sqrt(m2surf)
1957 do j = rangeface(2, 1), rangeface(2, 2)
1958 do i = rangeface(1, 1), rangeface(1, 2)
1960 psurf =
half * (pp1(i, j) + pp2(i, j))
1962 usurf =
half * (ww1(i, j,
ivx) + ww2(i, j,
ivx)) -
half * (ss1(i, j, 1) + ss2(i, j, 1))
1963 vsurf =
half * (ww1(i, j,
ivy) + ww2(i, j,
ivy)) -
half * (ss1(i, j, 2) + ss2(i, j, 2))
1964 wsurf =
half * (ww1(i, j,
ivz) + ww2(i, j,
ivz)) -
half * (ss1(i, j, 3) + ss2(i, j, 3))
1965 m2surf = rsurf * (usurf**2 + vsurf**2 + wsurf**2) &
1966 / (
half * (gamma1(i, j) + gamma2(i, j)) * psurf)
1969 buffer(nn) = sqrt(m2surf)
1990 do j = rangeface(2, 1), rangeface(2, 2)
1995 if (
present(jbeg) .and.
present(jend) .and. (userindlayer))
then
1996 jor = j + subface_jbegor - 1
1997 if (jor == jbeg)
then
1999 else if (jor == jend + 1)
then
2009 do i = rangeface(1, 1), rangeface(1, 2)
2010 if (
present(ibeg) .and.
present(iend) .and. (userindlayer))
then
2011 ior = i + subface_ibegor - 1
2012 if (ior == ibeg)
then
2014 else if (ior == iend + 1)
then
2026 mm = viscpointer(ii, jj)
2044 norm(1) =
bcdata(mm)%norm(ii, jj, 1)
2045 norm(2) =
bcdata(mm)%norm(ii, jj, 2)
2046 norm(3) =
bcdata(mm)%norm(ii, jj, 3)
2048 fx = -(tauxx * norm(1) + tauxy * norm(2) + tauxz * norm(3))
2049 fy = -(tauxy * norm(1) + tauyy * norm(2) + tauyz * norm(3))
2050 fz = -(tauxz * norm(1) + tauyz * norm(2) + tauzz * norm(3))
2052 fn = fx * norm(1) + fy * norm(2) + fz * norm(3)
2054 fx = fx - fn * norm(1)
2055 fy = fy - fn * norm(2)
2056 fz = fz - fn * norm(3)
2065 select case (solname)
2067 buffer(nn) = fact * sqrt(fx * fx + fy * fy + fz * fz)
2070 buffer(nn) = fact * fx
2073 buffer(nn) = fact * fy
2076 buffer(nn) = fact * fz
2082 buffer(nn) = coeffpressure * dot_product(norm,
dragdirection)
2085 buffer(nn) = buffer(nn) + fact * dot_product((/fx, fy, fz/),
dragdirection)
2091 buffer(nn) = coeffpressure * dot_product(norm,
liftdirection)
2094 buffer(nn) = buffer(nn) + fact * dot_product((/fx, fy, fz/),
liftdirection)
2098 musurf =
half * (rlv1(ii, jj) + rlv2(ii, jj))
2099 buffer(nn) = sqrt(rsurf * sqrt(fx * fx + fy * fy + fz * fz)) &
2100 * dd2wall(ii - 1, jj - 1) / musurf
2121 do j = rangeface(2, 1), rangeface(2, 2)
2126 if (
present(jbeg) .and.
present(jend) .and. (userindlayer))
then
2128 if (jor == jbeg)
then
2130 else if (jor == jend + 1)
then
2140 do i = rangeface(1, 1), rangeface(1, 2)
2141 if (
present(ibeg) .and.
present(iend) .and. (userindlayer))
then
2143 if (ior == ibeg)
then
2145 else if (ior == iend + 1)
then
2156 mm = viscpointer(ii, jj)
2168 a2 =
half * (gamma1(ii, jj) + gamma2(ii, jj)) &
2169 * (pp1(ii, jj) + pp2(ii, jj)) &
2170 / (ww1(ii, jj,
irho) + ww2(ii, jj,
irho))
2173 buffer(nn) = qw / (fact * (a2tot - a2))
2187 do j = rangeface(2, 1), rangeface(2, 2)
2188 do i = rangeface(1, 1), rangeface(1, 2)
2190 buffer(nn) = real(min(iblank2(i, j), 1_inttype), realtype)
2196 do j = rangeface(2, 1), rangeface(2, 2)
2197 if (
present(jbeg) .and.
present(jend) .and. (userindlayer))
then
2199 if (jor == jbeg)
then
2201 else if (jor == jend + 1)
then
2211 do i = rangeface(1, 1), rangeface(1, 2)
2213 if (
present(ibeg) .and.
present(iend) .and. (userindlayer))
then
2215 if (ior == ibeg)
then
2217 else if (ior == iend + 1)
then
2229 v(1) = ww2(ii, jj,
ivx)
2230 v(2) = ww2(ii, jj,
ivy)
2231 v(3) = ww2(ii, jj,
ivz)
2234 v = v / (sqrt(v(1)**2 + v(2)**2 + v(3)**2) + 1e-16)
2235 mm = viscpointer(ii, jj)
2237 norm(1) =
bcdata(mm)%norm(ii, jj, 1)
2238 norm(2) =
bcdata(mm)%norm(ii, jj, 2)
2239 norm(3) =
bcdata(mm)%norm(ii, jj, 3)
2249 vecttangential = vecttangential / (sqrt(vecttangential(1)**2 + vecttangential(2)**2 + &
2250 vecttangential(3)**2) + 1e-16)
2254 sensor = (v(1) * vecttangential(1) + v(2) * vecttangential(2) + &
2255 v(3) * vecttangential(3))
2267 do j = rangeface(2, 1), rangeface(2, 2)
2268 if (
present(jbeg) .and.
present(jend) .and. (userindlayer))
then
2270 if (jor == jbeg)
then
2272 else if (jor == jend + 1)
then
2282 do i = rangeface(1, 1), rangeface(1, 2)
2284 if (
present(ibeg) .and.
present(iend) .and. (userindlayer))
then
2286 if (ior == ibeg)
then
2288 else if (ior == iend + 1)
then
2300 v(1) = ww2(ii, jj,
ivx)
2301 v(2) = ww2(ii, jj,
ivy)
2302 v(3) = ww2(ii, jj,
ivz)
2305 v = v / (sqrt(v(1)**2 + v(2)**2 + v(3)**2) + 1e-16)
2306 mm = viscpointer(ii, jj)
2308 norm(1) =
bcdata(mm)%norm(ii, jj, 1)
2309 norm(2) =
bcdata(mm)%norm(ii, jj, 2)
2310 norm(3) =
bcdata(mm)%norm(ii, jj, 3)
2320 vecttangential = vecttangential / (sqrt(vecttangential(1)**2 + vecttangential(2)**2 + &
2321 vecttangential(3)**2) + 1e-16)
2325 sensor = (v(1) * vecttangential(1) + v(2) * vecttangential(2) + &
2326 v(3) * vecttangential(3))
2339 do j = rangeface(2, 1), rangeface(2, 2)
2340 do i = rangeface(1, 1), rangeface(1, 2)
2343 v(1) = ww2(i, j,
ivx)
2344 v(2) = ww2(i, j,
ivy)
2345 v(3) = ww2(i, j,
ivz)
2348 v = v / (sqrt(v(1)**2 + v(2)**2 + v(3)**2) + 1e-16)
2361 do j = rangeface(2, 1), rangeface(2, 2)
2362 do i = rangeface(1, 1), rangeface(1, 2)
2366 plocal =
half * (pp1(i, j) + pp2(i, j))
2370 buffer(nn) = sensor1
2385 r_(1) = (
half * (xx1(i, j, 1) + xx2(i, j, 1)))
2386 r_(2) = (
half * (xx1(i, j, 2) + xx2(i, j, 2)))
2387 r_(3) = (
half * (xx1(i, j, 3) + xx2(i, j, 3)))
2390 wcrossr(1) = rrate_(2) * r_(3) - rrate_(3) * r_(2)
2391 wcrossr(2) = rrate_(3) * r_(1) - rrate_(1) * r_(3)
2392 wcrossr(3) = rrate_(1) * r_(2) - rrate_(2) * r_(1)
2393 rot_speed2 = wcrossr(1)**2 + wcrossr(2)**2 + wcrossr(3)**2
2394 coeffpressure = ((
half * (pp1(i, j) + pp2(i, j)) -
pinf) *
pref) &
2414 iBeg, iEnd, jBeg, jEnd, kBeg, kEnd)
2427 integer(kind=intType),
intent(in) :: ind, wID
2428 integer(kind=intType),
intent(in) :: iBeg, iEnd, jBeg, jEnd
2429 integer(kind=intType),
intent(in) :: kBeg, kEnd
2431 real(kind=realtype),
dimension(*),
intent(out) :: buffer
2435 integer(kind=intType) :: i, j, k, nOld, nn
2449 nn = nn + 1; buffer(nn) =
wold(nold, i, j, k, wid)
2471 character(len=*),
intent(out) :: string
2473 character(len=maxStringLen) :: upwindFormat =
"(A, F7.3, A)"
2479 write (string,
stringsci5)
"Scalar dissipation scheme, k2 = ",
vis2,
", k4 = ",
vis4,
"."
2481 write (string,
stringsci5)
"Matrix dissipation scheme, k2 = ",
vis2,
", k4 = ",
vis4,
"."
2483 write (string,
stringsci5)
"CUSP dissipation scheme, k2 = ",
vis2,
", k4 = ",
vis4,
"."
2487 write (string,
stringspace)
"First order upwind scheme."
2489 write (string, upwindformat)
"Second order upwind scheme using linear reconstruction, &
2490 &i.e. no limiter, kappa = ",
kappacoef,
"."
2492 write (string, upwindformat)
"Second order upwind scheme with Van Albada limiter, &
2495 write (string, upwindformat)
"Second order upwind scheme with Minmod limiter, &
2501 write (string,
stringspace) trim(string),
"Roe's approximate Riemann Solver."
2503 write (string,
stringspace) trim(string),
"Van Leer flux vector splitting."
2505 write (string,
stringspace) trim(string),
"ausmdv flux vector splitting."
2515 write (string,
"(2(A, 1X), ES12.5, A)") trim(string), &
2516 "Directional scaling of dissipation with exponent",
adis,
"."
2518 write (string,
stringspace) trim(string),
"No directional scaling of dissipation."
2528 write (string,
stringspace) trim(string),
"Zero normal pressure gradient", &
2529 "for inviscid wall boundary conditions."
2531 write (string,
stringspace) trim(string),
"Linear extrapolation of normal pressure gradient", &
2532 "for inviscid wall boundary conditions."
2534 write (string,
stringspace) trim(string),
"Quadratic extrapolation of normal pressure gradIent", &
2535 "for inviscid wall boundary conditions."
2538 "Normal momentum equation used to determine pressure gradient", &
2539 "for inviscid wall boundary conditions."
2547 write (string,
stringspace) trim(string),
"Turkel preconditioner for inviscid fluxes."
2549 write (string,
stringspace) trim(string),
"Choi Merkle preconditioner for inviscid fluxes."
2556 write (string,
stringspace) trim(string),
"Central discretization for viscous fluxes."
2576 character(len=*),
dimension(*),
intent(out) :: solNames
2580 integer(kind=intType) :: nn
2835 integer :: ierr, nSend
2836 integer,
dimension(nProc) :: recvCounts, displs
2838 integer(kind=intType) :: i, nn
2840 integer(kind=intType),
dimension(cgnsNDom) :: tmp
2841 integer(kind=intType),
dimension(4, nDom) :: buffer
2850 call terminate(
"setHelpVariablesWriting", &
2851 "Memory allocation failure for &
2852 &nBlocksCGNSblock and blocksCGNSblock.")
2897 call terminate(
"releaseHelpVariablesWriting", &
2898 "Deallocation failure for nBlocksCGNSblock, &
2922 integer,
intent(in) :: cgnsInd, base
2926 integer :: ierr, realTypeCGNS
2928 real(kind=cgnsrealtype) :: val
2930 character(len=2048) :: message
2931 character(len=7) :: integerString
2932 character(len=12) :: realString
2940 call cg_goto_f(cgnsind, base, ierr,
"end")
2941 if (ierr /= cg_ok) &
2943 "Something wrong when calling cg_goto_f")
2949 call cg_dataclass_write_f(normalizedbydimensional, ierr)
2950 if (ierr /= cg_ok) &
2952 "Something wrong when calling &
2953 &cg_dataclass_write_f")
2957 call cg_descriptor_write_f(
"SolverInfo", &
2958 "ADflow multiblock code", ierr)
2959 if (ierr /= cg_ok) &
2961 "Something wrong when calling &
2962 &cg_descriptor_write_f")
2968 call cg_descriptor_write_f(
"DiscretizationScheme", message, ierr)
2969 if (ierr /= cg_ok) &
2971 "Something wrong when calling &
2972 &cg_descriptor_write_f")
2982 call cg_simulation_type_write_f(cgnsind, base, &
2983 nontimeaccurate, ierr)
2984 if (ierr /= cg_ok) &
2986 "Something wrong when calling &
2987 &cg_simulation_type_write_f")
2995 call cg_simulation_type_write_f(cgnsind, base, &
2997 if (ierr /= cg_ok) &
2999 "Something wrong when calling &
3000 &cg_simulation_type_write_f")
3010 integerstring = adjustl(integerstring)
3011 realstring = adjustl(realstring)
3013 write (message,
strings)
"Unsteady time step ", trim(integerstring),
", physical time ", &
3014 trim(realstring),
" seconds"
3018 call cg_descriptor_write_f(
"UnsteadyInfo", message, ierr)
3019 if (ierr /= cg_ok) &
3021 "Something wrong when calling &
3022 &cg_descriptor_write_f")
3031 call cg_simulation_type_write_f(cgnsind, base, &
3032 cg_userdefined, ierr)
3033 if (ierr /= cg_ok) &
3035 "Something wrong when calling &
3036 &cg_simulation_type_write_f")
3041 integerstring = adjustl(integerstring)
3043 write (message,
strings)
"Time spectral mode for periodic problems; ", &
3044 trim(integerstring),
" spectral solutions have been used to model the problem."
3048 call cg_descriptor_write_f(
"PeriodicInfo", message, ierr)
3049 if (ierr /= cg_ok) &
3051 "Something wrong when calling &
3052 &cg_descriptor_write_f")
3057 call cg_goto_f(cgnsind, base, ierr,
"end")
3058 if (ierr /= cg_ok) &
3060 "Something wrong when calling cg_goto_f")
3065 if (ierr /= cg_ok) &
3067 "Something wrong when calling &
3068 &cg_equationset_write_f")
3073 call cg_goto_f(cgnsind, base, ierr, &
3074 "FlowEquationSet_t", 1,
"end")
3075 if (ierr /= cg_ok) &
3077 "Something wrong when calling cg_goto_f")
3083 call cg_governing_write_f(euler, ierr)
3086 call cg_governing_write_f(nslaminar, ierr)
3089 call cg_governing_write_f(nsturbulent, ierr)
3092 if (ierr /= cg_ok) &
3094 "Something wrong when calling &
3095 &cg_governing_write_f")
3106 call cg_model_write_f(
"GasModel_t", ideal, ierr)
3107 if (ierr /= cg_ok) &
3109 "Something wrong when calling &
3115 call cg_goto_f(cgnsind, base, ierr,
"FlowEquationSet_t", &
3116 1,
"GasModel_t", 1,
"end")
3117 if (ierr /= cg_ok) &
3119 "Something wrong when calling cg_goto_f")
3123 1, int(1, cgsize_t), val, ierr)
3124 if (ierr /= cg_ok) &
3126 "Something wrong when calling &
3132 call cg_goto_f(cgnsind, base, ierr, &
3133 "FlowEquationSet_t", 1, &
3134 "GasModel_t", 1,
"DataArray_t", 1,
"end")
3135 if (ierr /= cg_ok) &
3137 "Something wrong when calling cg_goto_f")
3139 call cg_dataclass_write_f(nondimensionalparameter, ierr)
3140 if (ierr /= cg_ok) &
3142 "Something wrong when calling &
3143 &cg_dataclass_write_f")
3151 call cg_model_write_f(
"GasModel_t", thermallyperfect, ierr)
3152 if (ierr /= cg_ok) &
3154 "Something wrong when calling &
3162 viscoustest:
if (
viscous)
then
3167 call cg_goto_f(cgnsind, base, ierr, &
3168 "FlowEquationSet_t", 1,
"end")
3169 if (ierr /= cg_ok) &
3171 "Something wrong when calling cg_goto_f")
3173 call cg_model_write_f(
"ViscosityModel_t", sutherlandlaw, ierr)
3174 if (ierr /= cg_ok) &
3176 "Something wrong when calling &
3182 call cg_model_write_f(
"ThermalConductivityModel_t", &
3183 constantprandtl, ierr)
3184 if (ierr /= cg_ok) &
3186 "Something wrong when calling &
3189 call cg_goto_f(cgnsind, base, ierr,
"FlowEquationSet_t", 1, &
3190 "ThermalConductivityModel_t", 1,
"end")
3191 if (ierr /= cg_ok) &
3193 "Something wrong when calling cg_goto_f")
3196 call cg_array_write_f(
cgnsprandtl, realtypecgns, 1, int(1, cgsize_t), &
3198 if (ierr /= cg_ok) &
3200 "Something wrong when calling &
3206 call cg_goto_f(cgnsind, base, ierr,
"FlowEquationSet_t", &
3207 1,
"ThermalConductivityModel_t", 1, &
3208 "DataArray_t", 1,
"end")
3209 if (ierr /= cg_ok) &
3211 "Something wrong when calling cg_goto_f")
3213 call cg_dataclass_write_f(nondimensionalparameter, ierr)
3214 if (ierr /= cg_ok) &
3216 "Something wrong when calling &
3217 &cg_dataclass_write_f")
3248 end if turbulenttest
3270 integer,
intent(in) :: cgnsInd, cgnsBase
3274 integer :: realTypeCGNS, ierr
3276 real(kind=cgnsrealtype) :: val
3285 call cg_goto_f(cgnsind, cgnsbase, ierr, &
3286 "FlowEquationSet_t", 1,
"end")
3287 if (ierr /= cg_ok) &
3288 call terminate(
"writeCGNSKomegaModifiedInfo", &
3289 "Something wrong when calling cg_goto_f")
3293 call cg_model_write_f(
"TurbulenceModel_t", &
3294 twoequation_wilcox, ierr)
3295 if (ierr /= cg_ok) &
3296 call terminate(
"writeCGNSKomegaModifiedInfo", &
3297 "Something wrong when calling cg_model_write_f")
3301 call cg_model_write_f(
"TurbulenceClosure_t", eddyviscosity, ierr)
3302 if (ierr /= cg_ok) &
3303 call terminate(
"writeCGNSKomegaModifiedInfo", &
3304 "Something wrong when calling cg_model_write_f")
3309 call cg_goto_f(cgnsind, cgnsbase, ierr,
"FlowEquationSet_t", 1, &
3310 "TurbulenceClosure_t", 1,
"end")
3311 if (ierr /= cg_ok) &
3312 call terminate(
"writeCGNSKomegaModifiedInfo", &
3313 "Something wrong when calling cg_goto_f")
3319 1, int(1, cgsize_t), val, ierr)
3320 if (ierr /= cg_ok) &
3321 call terminate(
"writeCGNSKomegaModifiedInfo", &
3322 "Something wrong when calling cg_array_write_f")
3326 call cg_goto_f(cgnsind, cgnsbase, ierr,
"FlowEquationSet_t", 1, &
3327 "TurbulenceClosure_t", 1,
"DataArray_t", 1,
"end")
3328 if (ierr /= cg_ok) &
3329 call terminate(
"writeCGNSKomegaModifiedInfo", &
3330 "Something wrong when calling cg_goto_f")
3332 call cg_dataclass_write_f(nondimensionalparameter, ierr)
3333 if (ierr /= cg_ok) &
3334 call terminate(
"writeCGNSKomegaModifiedInfo", &
3335 "Something wrong when calling &
3336 &cg_dataclass_write_f")
3352 integer,
intent(in) :: cgnsInd, cgnsBase
3356 integer :: realTypeCGNS, ierr
3358 real(kind=cgnsrealtype) :: val
3367 call cg_goto_f(cgnsind, cgnsbase, ierr, &
3368 "FlowEquationSet_t", 1,
"end")
3369 if (ierr /= cg_ok) &
3370 call terminate(
"writeCGNSKomegaWilcoxInfo", &
3371 "Something wrong when calling cg_goto_f")
3375 call cg_model_write_f(
"TurbulenceModel_t", &
3376 twoequation_wilcox, ierr)
3377 if (ierr /= cg_ok) &
3378 call terminate(
"writeCGNSKomegaWilcoxInfo", &
3379 "Something wrong when calling cg_model_write_f")
3383 call cg_model_write_f(
"TurbulenceClosure_t", eddyviscosity, ierr)
3384 if (ierr /= cg_ok) &
3385 call terminate(
"writeCGNSKomegaWilcoxInfo", &
3386 "Something wrong when calling cg_model_write_f")
3391 call cg_goto_f(cgnsind, cgnsbase, ierr,
"FlowEquationSet_t", 1, &
3392 "TurbulenceClosure_t", 1,
"end")
3393 if (ierr /= cg_ok) &
3394 call terminate(
"writeCGNSKomegaWilcoxInfo", &
3395 "Something wrong when calling cg_goto_f")
3401 1, int(1, cgsize_t), val, ierr)
3402 if (ierr /= cg_ok) &
3403 call terminate(
"writeCGNSKomegaWilcoxInfo", &
3404 "Something wrong when calling cg_array_write_f")
3408 call cg_goto_f(cgnsind, cgnsbase, ierr,
"FlowEquationSet_t", 1, &
3409 "TurbulenceClosure_t", 1,
"DataArray_t", 1,
"end")
3410 if (ierr /= cg_ok) &
3411 call terminate(
"writeCGNSKomegaWilcoxInfo", &
3412 "Something wrong when calling cg_goto_f")
3414 call cg_dataclass_write_f(nondimensionalparameter, ierr)
3415 if (ierr /= cg_ok) &
3416 call terminate(
"writeCGNSKomegaWilcoxInfo", &
3417 "Something wrong when calling &
3418 &cg_dataclass_write_f")
3434 integer,
intent(in) :: cgnsInd, cgnsBase
3438 integer :: realTypeCGNS, ierr
3440 real(kind=cgnsrealtype) :: val
3449 call cg_goto_f(cgnsind, cgnsbase, ierr, &
3450 "FlowEquationSet_t", 1,
"end")
3451 if (ierr /= cg_ok) &
3453 "Something wrong when calling cg_goto_f")
3458 call cg_model_write_f(
"TurbulenceModel_t", &
3459 cg_userdefined, ierr)
3460 if (ierr /= cg_ok) &
3462 "Something wrong when calling cg_model_write_f")
3466 call cg_model_write_f(
"TurbulenceClosure_t", eddyviscosity, ierr)
3467 if (ierr /= cg_ok) &
3469 "Something wrong when calling cg_model_write_f")
3474 call cg_goto_f(cgnsind, cgnsbase, ierr,
"FlowEquationSet_t", 1, &
3475 "TurbulenceClosure_t", 1,
"end")
3476 if (ierr /= cg_ok) &
3478 "Something wrong when calling cg_goto_f")
3484 1, int(1, cgsize_t), val, ierr)
3485 if (ierr /= cg_ok) &
3487 "Something wrong when calling cg_array_write_f")
3491 call cg_goto_f(cgnsind, cgnsbase, ierr,
"FlowEquationSet_t", 1, &
3492 "TurbulenceClosure_t", 1,
"DataArray_t", 1,
"end")
3493 if (ierr /= cg_ok) &
3495 "Something wrong when calling cg_goto_f")
3497 call cg_dataclass_write_f(nondimensionalparameter, ierr)
3498 if (ierr /= cg_ok) &
3500 "Something wrong when calling &
3501 &cg_dataclass_write_f")
3517 integer,
intent(in) :: cgnsInd, cgnsBase
3521 integer :: realTypeCGNS, ierr
3523 real(kind=cgnsrealtype) :: val
3533 call cg_goto_f(cgnsind, cgnsbase, ierr, &
3534 "FlowEquationSet_t", 1,
"end")
3535 if (ierr /= cg_ok) &
3536 call terminate(
"writeCGNSMenterSSTInfo", &
3537 "Something wrong when calling cg_goto_f")
3541 call cg_model_write_f(
"TurbulenceModel_t", &
3542 twoequation_mentersst, ierr)
3543 if (ierr /= cg_ok) &
3544 call terminate(
"writeCGNSMenterSSTInfo", &
3545 "Something wrong when calling cg_model_write_f")
3549 call cg_model_write_f(
"TurbulenceClosure_t", eddyviscosity, ierr)
3550 if (ierr /= cg_ok) &
3551 call terminate(
"writeCGNSMenterSSTInfo", &
3552 "Something wrong when calling cg_model_write_f")
3557 call cg_goto_f(cgnsind, cgnsbase, ierr,
"FlowEquationSet_t", 1, &
3558 "TurbulenceClosure_t", 1,
"end")
3559 if (ierr /= cg_ok) &
3560 call terminate(
"writeCGNSMenterSSTInfo", &
3561 "Something wrong when calling cg_goto_f")
3567 1, int(1, cgsize_t), val, ierr)
3568 if (ierr /= cg_ok) &
3569 call terminate(
"writeCGNSMenterSSTInfo", &
3570 "Something wrong when calling cg_array_write_f")
3574 call cg_goto_f(cgnsind, cgnsbase, ierr,
"FlowEquationSet_t", 1, &
3575 "TurbulenceClosure_t", 1,
"DataArray_t", 1,
"end")
3576 if (ierr /= cg_ok) &
3577 call terminate(
"writeCGNSMenterSSTInfo", &
3578 "Something wrong when calling cg_goto_f")
3580 call cg_dataclass_write_f(nondimensionalparameter, ierr)
3581 if (ierr /= cg_ok) &
3582 call terminate(
"writeCGNSMenterSSTInfo", &
3583 "Something wrong when calling &
3584 &cg_dataclass_write_f")
3604 integer,
intent(in) :: cgnsInd, cgnsBase
3608 integer :: ierr, realTypeCGNS, ii
3610 integer(kind=intType) :: i
3612 real(kind=cgnsrealtype) :: val
3620 call cg_goto_f(cgnsind, cgnsbase, ierr,
"end")
3621 if (ierr /= cg_ok) &
3623 "Something wrong when calling cg_goto_f")
3627 call cg_state_write_f(
"Reference state variables for &
3628 &nonDimensional data. Variables are &
3629 &nonDimensionalized using the reference &
3630 &density, pressure and temperature.", ierr)
3631 if (ierr /= cg_ok) &
3633 "Something wrong when calling cg_state_write_f")
3638 call cg_goto_f(cgnsind, cgnsbase, ierr, &
3639 "ReferenceState_t", 1,
"end")
3640 if (ierr /= cg_ok) &
3642 "Something wrong when calling cg_goto_f")
3648 call cg_array_write_f(
cgnsmach, realtypecgns, 1, int(1, cgsize_t), val, ierr)
3649 if (ierr /= cg_ok) &
3651 "Something wrong when calling cg_array_write_f")
3654 call cg_goto_f(cgnsind, cgnsbase, ierr,
"ReferenceState_t", 1, &
3655 "DataArray_t", ii,
"end")
3656 if (ierr /= cg_ok) &
3658 "Something wrong when calling cg_goto_f")
3660 call cg_dataclass_write_f(nondimensionalparameter, ierr)
3661 if (ierr /= cg_ok) &
3663 "Something wrong when calling &
3664 &cg_dataclass_write_f")
3668 velocitydir:
do i = 1, 3
3672 call cg_goto_f(cgnsind, cgnsbase, ierr, &
3673 "ReferenceState_t", 1,
"end")
3674 if (ierr /= cg_ok) &
3676 "Something wrong when calling cg_goto_f")
3685 call cg_array_write_f(
cgnsvelvecx, realtypecgns, &
3686 1, int(1, cgsize_t), val, ierr)
3689 call cg_array_write_f(
cgnsvelvecy, realtypecgns, &
3690 1, int(1, cgsize_t), val, ierr)
3693 call cg_array_write_f(
cgnsvelvecz, realtypecgns, &
3694 1, int(1, cgsize_t), val, ierr)
3697 if (ierr /= cg_ok) &
3699 "Something wrong when calling &
3705 call cg_goto_f(cgnsind, cgnsbase, ierr,
"ReferenceState_t", 1, &
3706 "DataArray_t", ii,
"end")
3707 if (ierr /= cg_ok) &
3709 "Something wrong when calling cg_goto_f")
3711 call cg_dataclass_write_f(nondimensionalparameter, ierr)
3712 if (ierr /= cg_ok) &
3714 "Something wrong when calling &
3715 &cg_dataclass_write_f")
3722 refloop:
do i = 1, 5
3726 call cg_goto_f(cgnsind, cgnsbase, ierr, &
3727 "ReferenceState_t", 1,
"end")
3728 if (ierr /= cg_ok) &
3730 "Something wrong when calling cg_goto_f")
3737 call cg_array_write_f(
cgnsdensity, realtypecgns, &
3738 1, int(1, cgsize_t), val, ierr)
3742 1, int(1, cgsize_t), val, ierr)
3746 call cg_array_write_f(
cgnstemp, realtypecgns, &
3747 1, int(1, cgsize_t), val, ierr)
3752 1, int(1, cgsize_t), val, ierr)
3756 call cg_array_write_f(
cgnslength, realtypecgns, &
3757 1, int(1, cgsize_t), val, ierr)
3760 if (ierr /= cg_ok) &
3762 "Something wrong when calling &
3769 call cg_goto_f(cgnsind, cgnsbase, ierr,
"ReferenceState_t", 1, &
3770 "DataArray_t", ii,
"end")
3771 if (ierr /= cg_ok) &
3773 "Something wrong when calling cg_goto_f")
3775 call cg_dataclass_write_f(dimensional, ierr)
3776 if (ierr /= cg_ok) &
3778 "Something wrong when calling &
3779 &cg_dataclass_write_f")
3781 call cg_units_write_f(kilogram, meter, second, kelvin, &
3783 if (ierr /= cg_ok) &
3785 "Something wrong when calling &
3804 integer,
intent(in) :: cgnsInd, cgnsBase
3808 integer :: realTypeCGNS, ierr
3810 real(kind=cgnsrealtype) :: val
3819 call cg_goto_f(cgnsind, cgnsbase, ierr, &
3820 "FlowEquationSet_t", 1,
"end")
3821 if (ierr /= cg_ok) &
3823 "Something wrong when calling cg_goto_f")
3827 call cg_model_write_f(
"TurbulenceModel_t", &
3828 oneequation_spalartallmaras, ierr)
3829 if (ierr /= cg_ok) &
3831 "Something wrong when calling cg_model_write_f")
3835 call cg_model_write_f(
"TurbulenceClosure_t", eddyviscosity, ierr)
3836 if (ierr /= cg_ok) &
3838 "Something wrong when calling cg_model_write_f")
3843 call cg_goto_f(cgnsind, cgnsbase, ierr,
"FlowEquationSet_t", 1, &
3844 "TurbulenceClosure_t", 1,
"end")
3845 if (ierr /= cg_ok) &
3847 "Something wrong when calling cg_goto_f")
3853 1, int(1, cgsize_t), val, ierr)
3854 if (ierr /= cg_ok) &
3856 "Something wrong when calling cg_array_write_f")
3860 call cg_goto_f(cgnsind, cgnsbase, ierr,
"FlowEquationSet_t", 1, &
3861 "TurbulenceClosure_t", 1,
"DataArray_t", 1,
"end")
3862 if (ierr /= cg_ok) &
3864 "Something wrong when calling cg_goto_f")
3866 call cg_dataclass_write_f(nondimensionalparameter, ierr)
3867 if (ierr /= cg_ok) &
3869 "Something wrong when calling &
3870 &cg_dataclass_write_f")
3887 integer,
intent(in) :: cgnsInd, cgnsBase
3891 integer :: realTypeCGNS, ierr
3893 real(kind=cgnsrealtype) :: val
3902 call cg_goto_f(cgnsind, cgnsbase, ierr, &
3903 "FlowEquationSet_t", 1,
"end")
3904 if (ierr /= cg_ok) &
3906 "Something wrong when calling cg_goto_f")
3910 call cg_model_write_f(
"TurbulenceModel_t", &
3911 oneequation_spalartallmaras, ierr)
3912 if (ierr /= cg_ok) &
3914 "Something wrong when calling cg_model_write_f")
3918 call cg_model_write_f(
"TurbulenceClosure_t", eddyviscosity, ierr)
3919 if (ierr /= cg_ok) &
3921 "Something wrong when calling cg_model_write_f")
3926 call cg_goto_f(cgnsind, cgnsbase, ierr,
"FlowEquationSet_t", 1, &
3927 "TurbulenceClosure_t", 1,
"end")
3928 if (ierr /= cg_ok) &
3930 "Something wrong when calling cg_goto_f")
3936 1, int(1, cgsize_t), val, ierr)
3937 if (ierr /= cg_ok) &
3939 "Something wrong when calling cg_array_write_f")
3943 call cg_goto_f(cgnsind, cgnsbase, ierr,
"FlowEquationSet_t", 1, &
3944 "TurbulenceClosure_t", 1,
"DataArray_t", 1,
"end")
3945 if (ierr /= cg_ok) &
3947 "Something wrong when calling cg_goto_f")
3949 call cg_dataclass_write_f(nondimensionalparameter, ierr)
3950 if (ierr /= cg_ok) &
3952 "Something wrong when calling &
3953 &cg_dataclass_write_f")
3969 integer,
intent(in) :: cgnsInd, cgnsBase
3973 integer :: realTypeCGNS, ierr
3975 real(kind=cgnsrealtype) :: val
3984 call cg_goto_f(cgnsind, cgnsbase, ierr, &
3985 "FlowEquationSet_t", 1,
"end")
3986 if (ierr /= cg_ok) &
3988 "Something wrong when calling cg_goto_f")
3993 call cg_model_write_f(
"TurbulenceModel_t", cg_userdefined, ierr)
3995 if (ierr /= cg_ok) &
3997 "Something wrong when calling cg_model_write_f")
4001 call cg_model_write_f(
"TurbulenceClosure_t", eddyviscosity, ierr)
4002 if (ierr /= cg_ok) &
4004 "Something wrong when calling cg_model_write_f")
4009 call cg_goto_f(cgnsind, cgnsbase, ierr,
"FlowEquationSet_t", 1, &
4010 "TurbulenceClosure_t", 1,
"end")
4011 if (ierr /= cg_ok) &
4013 "Something wrong when calling cg_goto_f")
4019 1, int(1, cgsize_t), val, ierr)
4020 if (ierr /= cg_ok) &
4022 "Something wrong when calling cg_array_write_f")
4026 call cg_goto_f(cgnsind, cgnsbase, ierr,
"FlowEquationSet_t", 1, &
4027 "TurbulenceClosure_t", 1,
"DataArray_t", 1,
"end")
4028 if (ierr /= cg_ok) &
4030 "Something wrong when calling cg_goto_f")
4032 call cg_dataclass_write_f(nondimensionalparameter, ierr)
4033 if (ierr /= cg_ok) &
4035 "Something wrong when calling &
4036 &cg_dataclass_write_f")
integer(kind=inttype) ndom
type(blocktype), dimension(:, :, :), allocatable, target flowdoms
integer(kind=inttype), dimension(:, :), pointer viscjminpointer
real(kind=realtype), dimension(:, :, :), pointer gamma
integer(kind=inttype) kendor
integer(kind=inttype) iendor
integer(kind=inttype), dimension(:, :), pointer viscjmaxpointer
integer(kind=inttype) jendor
integer(kind=inttype) kbegor
real(kind=realtype), dimension(:, :, :), pointer p
real(kind=realtype), dimension(:, :, :), pointer intermittency
real(kind=realtype), dimension(:, :, :, :), pointer w
type(viscsubfacetype), dimension(:), pointer viscsubface
integer(kind=inttype) nbklocal
real(kind=realtype), dimension(:, :, :), pointer d2wall
integer(kind=inttype), dimension(:, :, :), pointer iblank
integer(kind=inttype), dimension(:, :, :), pointer globalcell
integer(kind=inttype), dimension(:, :), pointer viscimaxpointer
real(kind=realtype), dimension(:, :, :), pointer rlv
real(kind=realtype), dimension(:, :, :, :), pointer si
integer(kind=inttype) ibegor
integer(kind=inttype), dimension(:, :, :), pointer status
real(kind=realtype), dimension(:, :, :, :), pointer sj
integer(kind=inttype), dimension(:, :), pointer visckminpointer
real(kind=realtype), dimension(:, :, :, :), pointer s
integer(kind=inttype) jbegor
real(kind=realtype), dimension(:, :, :), pointer rev
real(kind=realtype), dimension(:, :, :, :), pointer dw
real(kind=realtype), dimension(:, :, :, :), pointer sk
real(kind=realtype), dimension(:, :, :), pointer vol
real(kind=realtype), dimension(:, :, :, :), pointer x
integer(kind=inttype), dimension(:, :), pointer visckmaxpointer
integer(kind=inttype), dimension(:, :), pointer visciminpointer
real(kind=realtype), dimension(:, :, :, :, :), pointer wold
type(cgnsblockinfotype), dimension(:), allocatable cgnsdoms
integer(kind=inttype) cgnsndom
character(len=maxcgnsnamelen), parameter cgnsrelvely
character(len=maxcgnsnamelen), parameter cgnsresv2
character(len=maxcgnsnamelen), parameter cgnsmomz
character(len=maxcgnsnamelen), parameter cgnsresrhoe
character(len=maxcgnsnamelen), parameter cgnsresrho
character(len=maxcgnsnamelen), parameter cgnssepsensorksarea
character(len=maxcgnsnamelen), parameter cgnsrelmach
character(len=maxcgnsnamelen), parameter cgnsturbomega
character(len=maxcgnsnamelen), parameter cgnsdensity
character(len=maxcgnsnamelen), parameter cgnsskinfx
character(len=maxcgnsnamelen), parameter cgnsturbtau
character(len=maxcgnsnamelen), parameter cgnsvelocity
character(len=maxcgnsnamelen), parameter cgnsshock
character(len=maxcgnsnamelen), parameter cgnsresmomy
character(len=maxcgnsnamelen), parameter cgnsaxismoment
character(len=maxcgnsnamelen), parameter cgnsvelz
character(len=maxcgnsnamelen), parameter cgnsvortmagn
character(len=maxcgnsnamelen), parameter cgnsvelvecy
character(len=maxcgnsnamelen), parameter cgnsfilteredshock
character(len=maxcgnsnamelen), parameter cgnseddyratio
character(len=maxcgnsnamelen), parameter cgnsresomega
character(len=maxcgnsnamelen), parameter cgnstemp
character(len=maxcgnsnamelen), parameter cgnsmomy
character(len=maxcgnsnamelen), parameter cgnsvely
character(len=maxcgnsnamelen), parameter cgnsmachturb
character(len=maxcgnsnamelen), parameter cgnseddy
character(len=maxcgnsnamelen), parameter cgnsresnu
character(len=maxcgnsnamelen), parameter cgnsvelvecx
character(len=maxcgnsnamelen), parameter cgnsintermittency
character(len=maxcgnsnamelen), parameter cgnsresmomz
character(len=maxcgnsnamelen), parameter cgnssepsensor
character(len=maxcgnsnamelen), parameter cgnsvorty
character(len=maxcgnsnamelen), parameter cgnslength
character(len=maxcgnsnamelen), parameter cgnsptotloss
character(len=maxcgnsnamelen), parameter cgnscavitation
character(len=maxcgnsnamelen), parameter cgnsskinfz
character(len=maxcgnsnamelen), parameter cgnsvortx
character(len=maxcgnsnamelen), parameter cgnsvelx
character(len=maxcgnsnamelen), parameter cgnsrelvelx
character(len=maxcgnsnamelen), parameter cgnsresf
character(len=maxcgnsnamelen), parameter cgnsrestau
character(len=maxcgnsnamelen), parameter cgnsprandtl
character(len=maxcgnsnamelen), parameter cgnsgc
character(len=maxcgnsnamelen), parameter cgnsprandtlturb
character(len=maxcgnsnamelen), parameter cgnsskinfmag
character(len=maxcgnsnamelen), parameter cgnsrelvelz
character(len=maxcgnsnamelen), parameter cgnscp
character(len=maxcgnsnamelen), parameter cgnsskinfy
character(len=maxcgnsnamelen), parameter cgnsyplus
character(len=maxcgnsnamelen), parameter cgnsturbepsilon
character(len=maxcgnsnamelen), parameter cgnsresmomx
character(len=maxcgnsnamelen), parameter cgnsmomx
character(len=maxcgnsnamelen), parameter cgnsheatratio
character(len=maxcgnsnamelen), parameter cgnsstanton
character(len=maxcgnsnamelen), parameter cgnsstatus
character(len=maxcgnsnamelen), parameter cgnssepsensorks
character(len=maxcgnsnamelen), parameter cgnsforceindragdir
character(len=maxcgnsnamelen), parameter cgnsresepsilon
character(len=maxcgnsnamelen), parameter cgnsturbk
character(len=maxcgnsnamelen), parameter cgnsvelvecz
character(len=maxcgnsnamelen), parameter cgnsenergy
character(len=maxcgnsnamelen), parameter cgnsturbsanu
character(len=maxcgnsnamelen), parameter cgnsturbf
character(len=maxcgnsnamelen), parameter cgnspressure
character(len=maxcgnsnamelen), parameter cgnsresk
character(len=maxcgnsnamelen), parameter cgnsturbv2
character(len=maxcgnsnamelen), parameter cgnsblank
character(len=maxcgnsnamelen), parameter cgnsvortz
character(len=maxcgnsnamelen), parameter cgnsmach
character(len=maxcgnsnamelen), parameter cgnswalldist
character(len=maxcgnsnamelen), parameter cgnsforceinliftdir
integer(kind=inttype), parameter spalartallmarasedwards
integer(kind=inttype), parameter spalartallmaras
integer(kind=inttype), parameter roe
integer(kind=inttype), parameter vanleer
integer(kind=inttype), parameter disscusp
integer(kind=inttype), parameter firstorder
integer(kind=inttype), parameter cptempcurvefits
real(kind=realtype), parameter degtorad
real(kind=realtype), parameter zero
integer(kind=inttype), parameter imax
integer(kind=inttype), parameter kmin
integer(kind=inttype), parameter jmax
integer(kind=inttype), parameter constantpressure
integer(kind=inttype), parameter ausmdv
integer(kind=inttype), parameter turkel
integer(kind=inttype), parameter ktau
integer(kind=inttype), parameter choimerkle
integer(kind=inttype), parameter vanalbeda
integer(kind=inttype), parameter upwind
integer(kind=inttype), parameter komegawilcox
integer(kind=inttype), parameter eulerequations
integer(kind=inttype), parameter timespectral
integer(kind=inttype), parameter komegamodified
integer(kind=inttype), parameter unsteady
integer(kind=inttype), parameter quadextrapolpressure
real(kind=realtype), parameter one
integer, parameter maxstringlen
real(kind=realtype), parameter half
integer(kind=inttype), parameter dissmatrix
integer(kind=inttype), parameter imin
integer(kind=inttype), parameter steady
real(kind=realtype), parameter two
integer(kind=inttype), parameter minmod
integer(kind=inttype), parameter cpconstant
integer(kind=inttype), parameter linextrapolpressure
integer(kind=inttype), parameter nolimiter
integer(kind=inttype), parameter mentersst
integer(kind=inttype), parameter nsequations
integer(kind=inttype), parameter kmax
integer(kind=inttype), parameter dissscalar
integer(kind=inttype), parameter ransequations
integer(kind=inttype), parameter jmin
integer(kind=inttype), parameter normalmomentum
integer(kind=inttype), parameter v2f
subroutine computeptot(rho, u, v, w, p, ptot)
real(kind=realtype) rhoinfdim
real(kind=realtype) gammainf
real(kind=realtype) rhoref
integer(kind=inttype) nwf
real(kind=realtype) rhoinf
type(iotype), dimension(:, :), allocatable iovar
integer(kind=inttype) timestepunsteady
real(kind=realtype) timeunsteady
real(kind=realtype) timeunsteadyrestart
integer(kind=inttype) ntimestepsrestart
subroutine writecgnskomegawilcoxinfo(cgnsInd, cgnsBase)
subroutine describescheme(string)
subroutine surfsolnames(solNames)
integer(kind=inttype) nsurfsoltowrite
character(len=maxstringlen), dimension(:), allocatable volsolfilenames
subroutine storesolinbuffer(buffer, copyInBuffer, solName, iBeg, iEnd, jBeg, jEnd, kBeg, kEnd)
integer(kind=inttype), dimension(:), allocatable blockscgnsblock
integer(kind=inttype) ngridstowrite
integer, dimension(:), allocatable fileids
integer(kind=inttype), dimension(:), allocatable ndomperproc
subroutine writecgnsheader(cgnsInd, base)
character(len=maxstringlen), dimension(:), allocatable gridfilenames
integer(kind=inttype), dimension(:, :), allocatable idsbegoralldoms
subroutine writecgnsv2finfo(cgnsInd, cgnsBase)
integer(kind=inttype) nvolsoltowrite
subroutine storeoldsolinbuffer(buffer, ind, wID, iBeg, iEnd, jBeg, jEnd, kBeg, kEnd)
subroutine numberofisosurfvariables(nIsoSolVar)
subroutine writecgnssaeinfo(cgnsInd, cgnsBase)
subroutine numberofsurfsolvariables(nSolVar)
subroutine writecgnssainfo(cgnsInd, cgnsBase)
subroutine releasehelpvariableswriting
integer(kind=inttype), dimension(:), allocatable nblockscgnsblock
subroutine copydatabufsingleprecision(val, buffer, iBeg, jBeg, kBeg, iEnd, jEnd, kEnd, subRange)
subroutine storesurfsolinbuffer(sps, buffer, nn, blockID, faceID, cellRange, solName, viscousSubface, useRindLayer, iBeg, iEnd, jBeg, jEnd)
integer, dimension(:), allocatable cgnsliftdistbases
subroutine copydatabufdoubleprecision(val, buffer, iBeg, jBeg, kBeg, iEnd, jEnd, kEnd, subRange)
subroutine isosurfnames(solNames)
subroutine writecgnskomegamodifiedinfo(cgnsInd, cgnsBase)
character(len=maxstringlen), dimension(:), allocatable surfsolfilenames
subroutine numberofvolsolvariables(nVolSolvar, nVolDiscrVar)
integer, dimension(:), allocatable cgnsisosurfbases
subroutine writecgnsmentersstinfo(cgnsInd, cgnsBase)
subroutine sethelpvariableswriting
subroutine writecgnsreferencestate(cgnsInd, cgnsBase)
subroutine writecgnsktauinfo(cgnsInd, cgnsBase)
subroutine volsolnames(solNames)
integer, dimension(:), allocatable cgnsbases
integer, parameter singletype
integer, parameter doubletype
integer, parameter realtype
integer function setcgnsrealtype()
subroutine setpointers(nn, mm, ll)
subroutine terminate(routineName, errorMessage)
subroutine computecoeffpressure()