DISPLAY
This case is based on a 3D calculation of the turbulent
flow over a car geometry, as defined for WUA-95.
Here, the flow on a 2D cross-section on the symmetry plane
is considered.
The flow can be solved with the GCV solver, or with the
standard staggered solver.
The Q1 contains PHOTON instructions.
ENDDIS
PHOTON USE
p
up z
vi -y
GR OU X 1; GR OU X M; GR OU Y 1; GR OU Y M
* CAR
GR OU X 39 Y 1 1 Z 9 20 COL 2
GR OU X 19 Y 1 1 Z 9 20 COL 2
GR OU Y 2 X 19 38 Z 9 20 COL 2
GR OU Y 1 X 19 38 Z 9 20 COL 2
* WH
GR OU Z 9 X 19 38 Y 1 1 COL 3
* WL
GR OU Z 21 X 19 38 Y 1 1 COL 4
* WW
GR OU X 39 Y 1 1 Z 9 20 COL 5
* WE
GR OU X 19 Y 1 1 Z 9 20 COL 6
* INL
GR OU X 1 Y 1 1 Z 1 40 COL 7
* OUT1
GR OU X 69 Y 1 1 Z 1 40 COL 8
* OUT2
GR OU Z 41 X 1 68 Y 1 1 COL 9
* WG
GR OU Z 1 X 1 68 Y 1 1 COL 10
msg The geometry
msg Press RETURN for the velocity vectors
pause
vec y 1 sh
msg Press RETURN for the Pressure Contours
pause
con p1 y 1 fi
.001
msg Press RETURN for a close up of the car
pause
mag gr 4
0.12881E+04 0.14134E+04 CR
gr y 1
msg Press RETURN for contours of turbulent viscosity
pause
con cl;red
con enut y 1 fi
.001
msg Press E then RETURN to finish
ENDUSE
GROUP 1. Run title and other preliminaries
2d,BFC,Steady. Flow around car body.
BOOLEAN(LTURB); LTURB = T
REAL(UIN,DTHYD,REYNO)
REAL(LCAR,HCAR,ZBOT,ZTOP,RWL,DXWL,DZWL,XW1,XW2,SX,SZ1,SZ2,SZ3)
REAL(X0,X00,X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13)
REAL(Z00,Z3T,Z4T,Z5T,Z6T,Z7T,Z8T,Z10T,Z11B,Z11T,Z12B,Z12T)
INTEGER(NZ1,NZ2,NZ3,NX1,NX2,NX3,NX4,NX5,NX6,NX7,NX8,IS,NXT)
REAL(TKEIN,EPSIN,FRIC,TU,LMIX,KTDKP,COEF)
UIN = 50.0; REYNO = 2.64E6
IF(LTURB) THEN
+ COEF= GRND2
ELSE
+ COEF= 1.0
ENDIF
SX = 1.0; SZ3=1.0
NZ1 = 8; NZ2 = 12; NZ3 = 20
NZ = NZ1+NZ2+NZ3
NX1=10; NX2=8; NX3=2; NX4=3; NX5=8; NX6=4; NX7=3; NX8=30
NX = NX1+NX2+NX3+NX4+NX5+NX6+NX7+NX8
NY = 1
LCAR = 0.810; HCAR = 0.27; ZBOT = -0.0335; ZTOP = ZBOT+6*HCAR
RWL=0.130/2.0; DXWL=RWL/SQRT(2.0); DZWL=RWL-DXWL-0.004205
X0 = 0.002
RWL =0.130/2.0; DXWL=RWL/SQRT(2.0)
DZWL=RWL+ZBOT-0.004205; DZWL = -DXWL+DZWL
XW1=X0+0.150; XW2 = XW1+0.540
X00= 0.069999; Z00 = 0.09548
X1 = X0-0.44
X2 = X1-1.5*LCAR
X3 = 0.09301; Z3T = 0.107799
X4 = 0.129; Z4T = 0.124925
X5 = 0.175; Z5T = 0.14466
X6 = 0.21099; Z6T = 0.16021
X7 = 0.62901; Z7T = 0.22544
X8 = 0.665; Z8T = 0.22106
X9 = 0.621997
X10= 0.711; Z10T=0.021443
X11= 0.74699; Z11B=0.013841; Z11T =0.20772
X12= 0.81; Z12B=0.023221; Z12T =0.19222
X13= X0+5.0*LCAR
TU = 0.05
LMIX = 0.09*10*LCAR/SQRT(REYNO)
TKEIN= UIN**2*TU**2; EPSIN= 0.1643*TKEIN**1.5/LMIX
GROUP 6. Body-fitted coordinates or grid distortion
BFC= T; NONORT= T
SZ1= 1.2; SZ2 = 1.2; SZ3 = 1.2
** 1st region in X-direction.
IS = 1; NXT = NX1; SX = 0.9
GSET(P,P1,X2,0.0,ZBOT); GSET(P,P2,X1,0.0,ZBOT)
GSET(P,P4,X2,0.0, 0.0); GSET(P,P3,X1,0.0, 0.0)
GSET(P,P6,X2,0.0, Z00); GSET(P,P5,X1,0.0, Z00)
GSET(P,P8,X2,0.0,ZTOP); GSET(P,P7,X1,0.0,ZTOP)
CALL STLN
CALL STFM
GSET(I)
** 2d region in X-direction.
IS = NX1+1; NXT = NX2; SX= 0.7
GSET(P,P1,X1,0.0,ZBOT); GSET(P,P2,X00,0.0,ZBOT)
GSET(P,P4,X1,0.0, 0.0); GSET(P,P3,0.2199998E-01,0.0, 0.0)
GSET(P,P6,X1,0.0, Z00); GSET(P,P5,X00,0.0, Z00)
GSET(P,P8,X1,0.0,ZTOP); GSET(P,P7,X00,0.0,ZTOP)
CALL STLN
GSET(V,CV1,S,P3)
+ GSET(V,0.1399999E-01,0.0,0.5099997E-02)
+ GSET(V,0.9999998E-02,0.0,0.6831996E-02)
+ GSET(V,0.5999997E-02,0.0,0.9135995E-02)
+ GSET(V,0.1999999E-02,0.0,0.1273900E-01)
+ GSET(V,0.1999999E-02,0.0,0.2516499E-01)
+ GSET(V,0.5999997E-02,0.0,0.3625299E-01)
+ GSET(V,0.9999998E-02,0.0,0.4646098E-01)
+ GSET(V,0.1399999E-01,0.0,0.5440098E-01)
+ GSET(V,0.1799998E-01,0.0,0.6019798E-01)
GSET(V,CV1,E,P5)
GSET(L,L35,P3,P5,NZ2,1.0CRVCV1)
CALL STFM
GSET(I)
** 3d region in X-direction.
IS = NX1+NX2+1; NXT = NX3; SX= 1.0
GSET(P,P1,X00,0.0,ZBOT); GSET(P,P2,X4,0.0,ZBOT)
GSET(P,P4,0.2199998E-01,0.0, 0.0); GSET(P,P3,X3,0.0, 0.0)
GSET(P,P6,X00,0.0, Z00); GSET(P,P5,X3,0.0, Z3T)
GSET(P,P8,X00,0.0,ZTOP); GSET(P,P7,X3,0.0,ZTOP)
CALL STLN
GSET(V,CV1,S,P4)
+ GSET(V,0.1399999E-01,0.0,0.5099997E-02)
+ GSET(V,0.9999998E-02,0.0,0.6831996E-02)
+ GSET(V,0.5999997E-02,0.0,0.9135995E-02)
+ GSET(V,0.1999999E-02,0.0,0.1273900E-01)
+ GSET(V,0.1999999E-02,0.0,0.2516499E-01)
+ GSET(V,0.5999997E-02,0.0,0.3625299E-01)
+ GSET(V,0.9999998E-02,0.0,0.4646098E-01)
+ GSET(V,0.1399999E-01,0.0,0.5440098E-01)
+ GSET(V,0.1799998E-01,0.0,0.6019798E-01)
GSET(V,CV1,E,P6)
GSET(L,L46,P4,P6,NZ2,1.0CRVCV1)
GSET(P,PA,XW1-DXWL,0.0,DZWL)
GSET(L,L23,P2,P3,NZ1,1,ARC,PA)
CALL STFM
GSET(I)
** 4th region in X-direction.
IS = NX1+NX2+NX3+1; NXT = NX4
GSET(P,P1,X4,0.0,ZBOT); GSET(P,P2,X5,0.0,ZBOT)
GSET(P,P4,X3,0.0, 0.0); GSET(P,P3,X6,0.0, 0.0)
GSET(P,P6,X3,0.0, Z3T); GSET(P,P5,X6,0.0, Z6T)
GSET(P,P8,X3,0.0,ZTOP); GSET(P,P7,X6,0.0,ZTOP)
CALL STLN
GSET(P,PA,XW1-DXWL,0.0,DZWL)
GSET(P,PB,XW1+DXWL,0.0,DZWL)
GSET(L,L14,P1,P4,NZ1,1,ARC,PA)
GSET(L,L23,P2,P3,NZ1,1,ARC,PB)
CALL STFM
GSET(I)
** 5th region in X-direction.
IS = NX1+NX2+NX3+NX4+1; NXT = NX5
GSET(P,P1,X5,0.0,ZBOT); GSET(P,P2,X8,0.0,ZBOT)
GSET(P,P4,X6,0.0, 0.0); GSET(P,P3,X7,0.0, 0.0)
GSET(P,P6,X6,0.0, Z6T); GSET(P,P5,X7,0.0, Z7T)
GSET(P,P8,X6,0.0,ZTOP); GSET(P,P7,X7,0.0,ZTOP)
CALL STLN
GSET(V,CV1,S,P6)
GSET(V,0.2339999E+00,0.0,0.1702759E+00)
GSET(V,0.2579997E+00,0.0,0.1800749E+00)
GSET(V,0.2859997E+00,0.0,0.1911719E+00)
GSET(V,0.3099997E+00,0.0,0.2003919E+00)
GSET(V,0.3379997E+00,0.0,0.2108069E+00)
GSET(V,0.3659997E+00,0.0,0.2203969E+00)
GSET(V,0.4059997E+00,0.0,0.2303329E+00)
GSET(V,0.4299997E+00,0.0,0.2333709E+00)
GSET(V,0.4499997E+00,0.0,0.2345899E+00)
GSET(V,0.4699997E+00,0.0,0.2350219E+00)
GSET(V,0.4739997E+00,0.0,0.2350419E+00)
GSET(V,0.4779997E+00,0.0,0.2350439E+00)
GSET(V,0.5059997E+00,0.0,0.2345739E+00)
GSET(V,0.5219997E+00,0.0,0.2339699E+00)
GSET(V,0.5259997E+00,0.0,0.2337849E+00)
GSET(V,0.5379997E+00,0.0,0.2331569E+00)
GSET(V,0.5459997E+00,0.0,0.2326799E+00)
GSET(V,0.5619997E+00,0.0,0.2315999E+00)
GSET(V,0.5739997E+00,0.0,0.2306910E+00)
GSET(V,0.5859997E+00,0.0,0.2297069E+00)
GSET(V,0.6099997E+00,0.0,0.2275169E+00)
GSET(V,CV1,E,P5)
GSET(L,L65,P6,P5,NXT,1.0CRVCV1)
GSET(P,PA,XW1+DXWL,0.0,DZWL)
GSET(P,PB,XW2-DXWL,0.0,DZWL)
GSET(L,L14,P1,P4,NZ1,1,ARC,PA)
GSET(L,L23,P2,P3,NZ1,1,ARC,PB)
CALL STFM
GSET(I)
** 6th region in X-direction.
IS = NX1+NX2+NX3+NX4+NX5+1; NXT = NX6
GSET(P,P1,X8,0.0,ZBOT); GSET(P,P2,X10,0.0,ZBOT)
GSET(P,P4,X7,0.0, 0.0); GSET(P,P3,X11,0.0,Z11B)
GSET(P,P6,X7,0.0, Z7T); GSET(P,P5,X11,0.0,Z11T)
GSET(P,P8,X7,0.0,ZTOP); GSET(P,P7,X11,0.0,ZTOP)
CALL STLN
GSET(V,CV1,S,P4)
GSET(V,0.6579997E+00,0.0,0.1077000E-02)
GSET(V,0.6699997E+00,0.0,0.2268999E-02)
GSET(V,0.6739997E+00,0.0,0.2780999E-02)
GSET(V,0.6779997E+00,0.0,0.3337999E-02)
GSET(V,0.6819997E+00,0.0,0.3930997E-02)
GSET(V,0.6859997E+00,0.0,0.4549999E-02)
GSET(V,0.6899997E+00,0.0,0.5186997E-02)
GSET(V,0.6939997E+00,0.0,0.5832996E-02)
GSET(V,0.6979997E+00,0.0,0.6479997E-02)
GSET(V,0.7019997E+00,0.0,0.7120997E-02)
GSET(V,0.7059997E+00,0.0,0.7755995E-02)
GSET(V,0.7099997E+00,0.0,0.8384995E-02)
GSET(V,0.7139997E+00,0.0,0.9008996E-02)
GSET(V,0.7179997E+00,0.0,0.9626996E-02)
GSET(V,0.7219997E+00,0.0,0.1024100E-01)
GSET(V,0.7299997E+00,0.0,0.1145500E-01)
GSET(V,0.7339997E+00,0.0,0.1205600E-01)
GSET(V,0.7419997E+00,0.0,0.1324899E-01)
GSET(V,CV1,E,P3)
GSET(L,L43,P4,P3,NXT,1.0CRVCV1)
GSET(P,PA,XW2-DXWL,0.0,DZWL)
GSET(P,PB,XW2+DXWL,0.0,DZWL)
GSET(L,L14,P1,P4,NZ1,1,ARC,PA)
GSET(L,L23,P2,P3,NZ1,1,ARC,PB)
CALL STFM
GSET(I)
** 7th region in X-direction.
IS = NX1+NX2+NX3+NX4+NX5+NX6+1; NXT = NX7; SX=1.0
GSET(P,P1,X10,0.0,ZBOT); GSET(P,P2,X12,0.0,ZBOT)
GSET(P,P4,X11,0.0,Z11B); GSET(P,P3,X12,0.0,Z12B)
GSET(P,P6,X11,0.0,Z11T); GSET(P,P5,X12,0.0,Z12T)
GSET(P,P8,X11,0.0,ZTOP); GSET(P,P7,X12,0.0,ZTOP)
CALL STLN
GSET(P,PA,XW2+DXWL,0.0,DZWL)
GSET(L,L14,P1,P4,NZ1,1,ARC,PA)
CALL STFM
GSET(I)
** 8th region in X-direction.
IS = NX1+NX2+NX3+NX4+NX5+NX6+NX7+1; NXT = NX8; SX = 1.5
GSET(P,P1,X12,0.0,ZBOT); GSET(P,P2,X13,0.0,ZBOT)
GSET(P,P4,X12,0.0,Z12B); GSET(P,P3,X13,0.0,Z12B)
GSET(P,P6,X12,0.0,Z12T); GSET(P,P5,X13,0.0,Z12T)
GSET(P,P8,X12,0.0,ZTOP); GSET(P,P7,X13,0.0,ZTOP)
CALL STLN
CALL STFM
GSET(C,J2,F,J1,1,NX,1,NZ,+,0.0,1.0,0.0)
GROUP 7. Variables stored, solved & named
SOLVE(P1,U1,W1)
STORE(UCRT,WCRT)
SOLUTN(P1,Y,Y,Y,N,N,N)
IF(LTURB) THEN
+ TURMOD(KEMODL); STORE(ENUT,GENK)
+ FIINIT(KE)= TKEIN; FIINIT(EP)= EPSIN
ENDIF
GROUP 9. Properties of the medium (or media)
ENUL = UIN*LCAR/REYNO
RHO1 = 1.189
GROUP 11. Initialization of variable or porosity fields
INIADD = F
** CAR body.
CONPOR(CAR,0,CELL,NX1+NX2+1,NX-NX8,1,NY,NZ1+1,NZ1+NZ2)
FIINIT(U1) = 0.0; FIINIT(W1)=0.0
GROUP 13. Boundary conditions and special sources
** CAR.
WALL(WG,LOW, 1, NX ,1,NY, 1, 1,1,1)
WALL(WH,HIGH,NX1+NX2+1,NX-NX8 ,1,NY,NZ1 ,NZ1 ,1,1)
WALL(WL,LOW, NX1+NX2+1,NX-NX8 ,1,NY,NZ1+NZ2+1,NZ1+NZ2+1,1,1)
WALL(WW,WEST, NX-NX8+1,NX-NX8+1,1,NY,NZ1+1 ,NZ1+NZ2 ,1,1)
WALL(WE,EAST,NX1+NX2 ,NX1+NX2 ,1,NY,NZ1+1 ,NZ1+NZ2 ,1,1)
** Inlet.
INLET(INL,WEST,1,1,1,NY,1,NZ,1,1)
VALUE(INL,P1,RHO1*UIN)
IF(LTURB) THEN
+ VALUE(INL,KE,TKEIN); VALUE(INL,EP,EPSIN)
ENDIF
VALUE(INL,U1,UIN); VALUE(INL,W1,0.0)
** Outlet.
PATCH(OUT1,EAST,NX,NX,1,NY,1,NZ,1,1)
COVAL(OUT1,P1,1.E3,0.0)
PATCH(OUT2,HIGH,1,NX,1,NY,NZ,NZ,1,1)
COVAL(OUT2,P1,1.E3,0.0)
IF(LTURB) THEN
+ COVAL(OUT1,KE,ONLYMS,TKEIN); COVAL(OUT1,EP,ONLYMS,EPSIN)
+ COVAL(OUT2,KE,ONLYMS,TKEIN); COVAL(OUT2,EP,ONLYMS,EPSIN)
ENDIF
GROUP 15. Termination of sweeps
LSWEEP = 300; TSTSWP = -1
GROUP 16. Termination of iterations
SELREF = T; RESFAC = 1.E-3
GROUP 17. Under-relaxation devices
MESG(Use GCV Solver? (Y/n)
READVDU(ANS,CHAR,Y)
GCV=:ANS:.EQ.Y
IF(GCV) THEN
DTHYD = 1000.0*HCAR/UIN; LSG9=T
TEXT( CAR body - GCV Solver
ELSE
SYMBFC=T
TEXT( CAR body - Staggered Solver
DTHYD = 100.0*HCAR/(NZ*UIN)/10
RELAX(P1,LINRLX,0.2)
ENDIF
RELAX(U1,FALSDT,DTHYD); RELAX(W1,FALSDT,DTHYD)
IF(LTURB) THEN
+ RELAX(KE,LINRLX,0.5); RELAX(EP,LINRLX,0.5)
+ KELIN = 3
ENDIF
GROUP 20. Preliminary print-out
ECHO=T
GROUP 22. Spot-value print-out
IXMON=NX-2; IYMON=1; IZMON=10
GROUP 23. Field print-out and plot control
TSTSWP = -1
IF(DISTIL) THEN
+ CALL TEST:IRUNN:
ENDIF
ENDMAIN !
SUBROUTINE STLN
+ GSET(L,L21,P1,P2,NXT, :SX:); GSET(L,L43,P4,P3,NXT, :SX:)
+ GSET(L,L65,P6,P5,NXT, :SX:); GSET(L,L78,P8,P7,NXT, :SX:)
+ GSET(L,L14,P1,P4,NZ1,S:SZ1:); GSET(L,L23,P2,P3,NZ1,S:SZ1:)
+ GSET(L,L46,P4,P6,NZ2,S:SZ2:); GSET(L,L35,P3,P5,NZ2,S:SZ2:)
+ GSET(L,L68,P6,P8,NZ3, :SZ3:); GSET(L,L57,P5,P7,NZ3, :SZ3:)
ENDSUB
SUBROUTINE STFM
+ GSET(F,F1,P1,-,P2,-,P3,-,P4,-); GSET(M,F1,+I+K,IS,1, 1)
+ GSET(F,F2,P4,-,P3,-,P5,-,P6,-); GSET(M,F2,+I+K,IS,1, NZ1+1)
+ GSET(F,F3,P6,-,P5,-,P7,-,P8,-); GSET(M,F3,+I+K,IS,1,NZ1+NZ2+1)
ENDSUB
SUBROUTINE TEST1
ENDSUB