photon use p p1 msg the 40*40*625 computational grid msg the 625-cell direction is normal to the screen gr z 1; pause; gr off; red gr ou z 1 msg Upstream smoke injection region and smoke contours gr z 1 x 18 23 y 18 23 con h1 z 1 fi;0.1 pause p p2 msg Smoke contours 1/5 of distance along tunnel con h1 z 1 fi;0.1 pause p p3 msg Smoke contours 2/5 of distance along tunnel con h1 z 1 fi;0.1 pause p p4 msg Smoke contours 3/5 of distance along tunnel con h1 z 1 fi;0.1 pause p p5 msg Smoke contours 4/5 of distance along tunnel con h1 z 1 fi;0.1 pause p phi msg Smoke contours 5/5 of distance along tunnel con h1 z 1 fi;0.1 pause;con off;red msg contours of longitudinal velocity at tunnel exit con w1 z 1 fi;0.1 pause con off red msg velocity vectors at the tunnel exit set vec ref 0.1 vec z 1 sh enduse GROUP 1. Run title and other preliminaries TITLE DISPLAY This case shows how the parabolic option can be enployed with advantage for fine-grid calculations on machines of modest size. The problem concerns the way in which a smoke plume rises as it is carried within a wind-tunnel having an imposed shear-flow velocity profile at inlet. The cross-stream grid is 40 * 40, and there are 625 z-direction intervals, so that one million cells feature in the calculation. The calculation is rather lengthy, but a tolerably good answer can be obtained by halving the grid fineness in every direction and reducing the number of iterations. Also, since the flow is symmetrical, only one half needs to be simulated; but both halves are simulated so as to demonstrate that a truly symmetrical solution is indeed arrived at. ENDDIS NX=40;NY=40;NZ=625 nx ny nz mesg(nx*ny*nz=:nx*ny*nz: Use coarser grid? (Y/n) readvdu(ans,char,y) if(:ans:.eq.y) then nx=20;ny=20;nz=300 nx ny nz endif TEXT(Buoyant Plume in tunnel, :nx*ny*nz: Cells GROUP 3. X-direction grid specification GRDPWR(X,NX,1.5,1.0) GROUP 4. Y-direction grid specification ** Set a symmetrical grid as in GROUP 3 GRDPWR(Y,NY,1.0,1.0) GROUP 5. Z-direction grid specification PARAB=T;ZFRAC(1)=-NZ;ZFRAC(2)=1/NZ;ZWLAST=YVLAST*NZ/NY GROUP 7. Variables stored, solved & named SOLVE(P1,U1,V1,W1,H1) GROUP 8. Terms (in differential equations) & devices TERMS(H1,N,Y,Y,Y,Y,Y);OVRRLX=1.7 GROUP 9. Properties of the medium (or media) ** Set the temperature as TMP1A+TMP1B*H1 ENUL=1.E-5;TMP1=LINH;TMP1A=0.0;CP1=1.0 ** Set the density as RHO1A+RHO1B*Temperature RHO1=LINTEMP;RHO1A=1.0;RHO1B=-0.02;PRNDTL(H1)=0.7 GROUP 11. Initialization of variable or porosity fields FIINIT(P1)=0.0;FIINIT(U1)=0.0;FIINIT(V1)=0.0;fiinit(h1)=0.0 GROUP 13. Boundary conditions and special sources ** Upstream entrance REAL(WIN,TFL,TCL,TFA,TGR) WIN=1.0 TFL=ZWLAST/WIN;TCL=TFL/NZ;TGR=(YVLAST/9.81)**2 TFA=TCL*1.E-6 PATCH(INLET1,LOW,1,NX,1,NY/5,1,1,1,1) COVAL(INLET1,P1,FIXFLU,0.8*RHO1A*WIN) COVAL(INLET1,W1,ONLYMS,0.8*WIN) COVAL(INLET1,H1,ONLYMS,0.0) PATCH(INLET2,LOW,1,NX,NY/5+1,2*NY/5,1,1,1,1) COVAL(INLET2,P1,FIXFLU,0.9*RHO1A*WIN) COVAL(INLET2,W1,ONLYMS,0.9*WIN) PATCH(INLET3,LOW,1,NX,2*NY/5+1,3*NY/5,1,1,1,1) COVAL(INLET3,P1,FIXFLU,RHO1A*WIN) COVAL(INLET3,W1,ONLYMS,WIN) PATCH(INLET4,LOW,1,NX,3*NY/5+1,4*NY/5,1,1,1,1) COVAL(INLET4,P1,FIXFLU,1.1*RHO1A*WIN) COVAL(INLET4,W1,ONLYMS,1.1*WIN) PATCH(INLET5,LOW,1,NX,4*NY/5+1,NY,1,1,1,1) COVAL(INLET5,P1,FIXFLU,1.2*RHO1A*WIN) COVAL(INLET5,W1,ONLYMS,1.2*WIN) ** Smoke source PATCH(SMOKE,LOW,NX/2-2,NX/2+3,NY/2-NY/20,NY/2+NY/20+1,1,1,1,1) COVAL(SMOKE,P1,FIXFLU,RHO1A*WIN*0.01) COVAL(SMOKE,H1,ONLYMS,100.0) COVAL(SMOKE,W1,ONLYMS,0.01*WIN) ** Buoyancy PATCH(BUOYANCY,PHASEM,1,nx,1,ny,1,nz,1,1) COVAL(BUOYANCY,V1,FIXFLU,-9.81) ** Bottom wall PATCH(BOTTOM,SWALL,1,NX,1,1,1,NZ,1,1) COVAL(BOTTOM,W1,1.0,0.0);COVAL(BOTTOM,U1,1.0,0.0) ** Top wall PATCH(TOP,NWALL,1,NX,NY,NY,1,NZ,1,1) COVAL(TOP,W1,1.0,0.0);COVAL(TOP,U1,1.0,0.0) ** West wall PATCH(WEST,WWALL,1,1,1,NY,1,NZ,1,1) COVAL(WEST,W1,1.0,0.0);COVAL(WEST,V1,1.0,0.0) ** East wall PATCH(EAST,EWALL,NX,NX,1,NY,1,NZ,1,1) COVAL(EAST,W1,1.0,0.0);COVAL(EAST,V1,1.0,0.0) GROUP 15. Termination of sweeps RESREF(P1)=1.e-4;RESREF(U1)=1.e-4;RESREF(V1)=1.e-4 RESREF(W1)=1.e-4;RESREF(H1)=1.e-4 GROUP 16. Termination of iterations ENDIT(H1)=1.E-6;ENDIT(U1)=1.E-6;ENDIT(V1)=1.E-6 LITER(P1)=100;LITER(U1)=10;LITER(V1)=10;LITER(W1)=10;LITER(H1)=10 LITHYD=100 GROUP 17. Under-relaxation devices RELAX(U1,FALSDT,0.1);RELAX(V1,FALSDT,0.05) RELAX(W1,FALSDT,0.1);RELAX(H1,FALSDT,0.1) GROUP 21. Print-out of variables OUTPUT(P1,Y,Y,Y,Y,Y,Y);OUTPUT(U1,Y,Y,Y,Y,Y,Y) OUTPUT(V1,Y,Y,Y,Y,Y,Y);OUTPUT(H1,Y,Y,Y,Y,Y,Y) OUTPUT(W1,Y,Y,Y,Y,Y,Y) GROUP 22. Spot-value print-out IXMON=NX/2;IYMON=NY/2 GROUP 23. Field print-out and plot control NZPRIN=NZ;NXPRIN=NX/5;NYPRIN=NY/5;NPLT=LITHYD **Settings to secure PHOTON-plottable print-out IDISPD=NZ/5;IDISPB=1;IDISPC=NZ tstswp=-5