GROUP 1. Run identifiers and other preliminaries. *** For X,Z plane set CXYZ=X (default) *** For X,Y plane set CXYZ=Y *** For Y,Z plane set CXYZ=Z CHAR(CXYZ) REAL(VEL) INTEGER(IADD) MESG( MESG(Select 2d plane, for xz ...X default MESG( for yx ...Y MESG( for zy ...Z MESG( READVDU(CXYZ,CHAR,X) MESG( MESG(Negative direction (y/N) READVDU(ANS,CHAR,N) GROUP 3,4,5. x,y,z-direction grid specification. IF(:CXYZ:.EQ.X) THEN TEXT(SHOWER PLATE TEST- X :D209 TITLE + NX=10 ; NZ=10 ELSE + IF(:CXYZ:.EQ.Y) THEN TEXT(SHOWER PLATE TEST- Y :D209 TITLE + NX=10 ; NY=10 + ELSE TEXT(SHOWER PLATE TEST- Z :D209 TITLE + NY=10 ; NZ=10 + ENDIF ENDIF IF(:ANS:.EQ.Y) THEN + VEL=-1.0 ; IADD=3 ELSE + VEL=1.0 ; IADD=0 ENDIF XULAST=0.1 ; YVLAST=0.1 ; ZWLAST=0.1 l(unigrid GROUP 7. Variables (including porosities) named, stored & solved. SOLVE(P1,TEM1) IF(:CXYZ:.EQ.X) THEN + SOLVE(U1,W1) ELSE + IF(:CXYZ:.EQ.Y) THEN + SOLVE(U1,V1) + ELSE + SOLVE(V1,W1) + ENDIF ENDIF SOLUTN(P1,Y,Y,Y,N,N,N) ; SOLUTN(TEM1,Y,Y,Y,N,N,Y) NAME(C1)=S116 ; NAME(C2)=S140 STORE(S116) SOLVE(S140) SOLUTN(S140,Y,Y,Y,N,N,Y) STORE(RHO1,CNDT,SPHT,DEPO,PRPS,BLOK,ENUL) GROUP 8. Terms (in differential equations) and devices. IVARBK=-1 ; ISOLBK=1 ISOLX=0 ; ISOLY=0 ; ISOLZ=0 USOURC=T ; UDIFNE=T ; DIFCUT=0.0 GROUP 9. Properties of the medium (or media). PRNDTL(S116)=-GRND8 ; PRNDTL(S140)=-GRND8 PRESS0=133.0 ; ; CSG10='q1' MATFLG=T;IMAT=1 70 GRND8 GRND8 GRND8 GRND8 1.000 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 GROUP 11. Initialization of fields of variables, porosities, etc. INIADD=F FIINIT(P1)=0.0 ; FIINIT(TEM1)=290 ; FIINIT(S116)=0.887 FIINIT(S140)=0.113 ; FIINIT(PRPS)=70 ; FIINIT(BLOK)=1.0 IF(:CXYZ:.EQ.X) THEN + FIINIT(U1)=0.0 ; FIINIT(W1)=0.0 + CONPOR(SHOW1,-1,CELL,5,6,#1,#1,#1,#1) ELSE + IF(:CXYZ:.EQ.Y) THEN + FIINIT(U1)=0.0 ; FIINIT(V1)=0.0 + CONPOR(SHOW1,-1,CELL,#1,#1,5,6,#1,#1) + ELSE + FIINIT(V1)=0.0 ; FIINIT(W1)=0.0 + CONPOR(SHOW1,-1,CELL,#1,#1,#1,#1,5,6) + ENDIF ENDIF COVAL(SHOW1,PRPS,0.0,111) ; COVAL(SHOW1,BLOK,0.0,2) GROUP 13. Boundary conditions and special sources REAL(RHOIN,UAV) ; RHOIN=1.572E-3 ; UAV=1.345 IF(:CXYZ:.EQ.X) THEN + IF(:ANS:.EQ.Y) THEN + INLET(INLET,EAST,#1,#1,#1,#1,#1,#1,#1,#NREGT) + OUTLET(OUT,WEST,#1,#1,#1,#1,#1,#1,#1,#NREGT) + ELSE + INLET(INLET,WEST,#1,#1,#1,#1,#1,#1,#1,#NREGT) + OUTLET(OUT,EAST,#1,#1,#1,#1,#1,#1,#1,#NREGT) + ENDIF + VALUE(INLET,U1,VEL*UAV) ; VALUE(INLET,W1,0.0) + VALUE(OUT,U1,SAME) ; VALUE(OUT,W1,SAME) + PATCH(WAND3,LWALL,#1,#1,#1,#1,#1,#1,#1,#NREGT) + COVAL(WAND3,U1,1.0,0.0) + PATCH(WAND4,HWALL,#1,#1,#1,#1,#1,#1,#1,#NREGT) + COVAL(WAND4,U1,1.0,0.0) + PATCH(SHWR1,EAST,5,6,#1,#1,#1,#1,#1,#NREGT) + COVAL(SHWR1,U1,0.5,GRND7) ELSE + IF(:CXYZ:.EQ.Y) THEN + IF(:ANS:.EQ.Y) THEN + INLET(INLET,NORTH,#1,#1,#1,#1,#1,#1,#1,#NREGT) + OUTLET(OUT,SOUTH,#1,#1,#1,#1,#1,#1,#1,#NREGT) + ELSE + INLET(INLET,SOUTH,#1,#1,#1,#1,#1,#1,#1,#NREGT) + OUTLET(OUT,NORTH,#1,#1,#1,#1,#1,#1,#1,#NREGT) + ENDIF + VALUE(INLET,V1,VEL*UAV) ; VALUE(INLET,U1,0.0) + VALUE(OUT,U1,SAME) ; VALUE(OUT,V1,SAME) + PATCH(WAND3,WWALL,#1,#1,#1,#1,#1,#1,#1,#NREGT) + COVAL(WAND3,V1,1.0,0.0) + PATCH(WAND4,EWALL,#1,#1,#1,#1,#1,#1,#1,#NREGT) + COVAL(WAND4,V1,1.0,0.0) + PATCH(SHWR1,NORTH,#1,#1,5,6,#1,#1,#1,#NREGT) + COVAL(SHWR1,V1,0.5,GRND7) + ELSE + IF(:ANS:.EQ.Y) THEN + INLET(INLET,HIGH,#1,#1,#1,#1,#1,#1,#1,#NREGT) + OUTLET(OUT,LOW,#1,#1,#1,#1,#1,#1,#1,#NREGT) + ELSE + INLET(INLET,LOW,#1,#1,#1,#1,#1,#1,#1,#NREGT) + OUTLET(OUT,HIGH,#1,#1,#1,#1,#1,#1,#1,#NREGT) + ENDIF + VALUE(INLET,W1,VEL*UAV) ; VALUE(INLET,V1,0.0) + VALUE(OUT,V1,SAME) ; VALUE(OUT,W1,SAME) + PATCH(WAND3,SWALL,#1,#1,#1,#1,#1,#1,#1,#NREGT) + COVAL(WAND3,W1,1.0,0.0) + PATCH(WAND4,NWALL,#1,#1,#1,#1,#1,#1,#1,#NREGT) + COVAL(WAND4,W1,1.0,0.0) + PATCH(SHWR1,HIGH,#1,#1,#1,#1,5,6,#1,#NREGT) + COVAL(SHWR1,W1,0.5,GRND7) + ENDIF ENDIF VALUE(INLET,TEM1,290) ; VALUE(INLET,P1,UAV*RHOIN) VALUE(INLET,S116,0.887) ; VALUE(INLET,S140,0.113) VALUE(OUT,P1,0) ; VALUE(OUT,TEM1,SAME) VALUE(OUT,S116,SAME) ; VALUE(OUT,S140,SAME) COVAL(WAND3,TEM1,1.0,290.0) ; COVAL(WAND4,TEM1,1.0,290.0) COVAL(SHWR1,P1,32000,GRND7) ; COVAL(SHWR1,S140,ONLYMS,GRND7) COVAL(SHWR1,TEM1,ONLYMS,GRND7) GROUP 15. Termination criteria for sweeps and outer iterations. LSWEEP=100 GROUP 16. Termination criteria for inner iterations. SELREF=T; RESFAC=1.0000E-20 GROUP 17. Under-relaxation and related devices. REAL(MAXV,MINL,RELX) MAXV=1 ; MINL=1.0E-2 ; RELX=1.0E-1 RELAX(P1,LINRLX,0.8) ; RELAX(TEM1,LINRLX,0.3) IF(:CXYZ:.EQ.X) THEN + RELAX(U1,FALSDT,MINL/MAXV*RELX) + RELAX(W1,FALSDT,MINL/MAXV*RELX) + IXMON=4+IADD ; IZMON=5 ; NXPRIN=1 ELSE + IF(:CXYZ:.EQ.Y) THEN + RELAX(U1,FALSDT,MINL/MAXV*RELX) + RELAX(V1,FALSDT,MINL/MAXV*RELX) + IYMON=4+IADD ; IXMON=5 ; NYPRIN=1 + ELSE + RELAX(V1,FALSDT,MINL/MAXV*RELX) + RELAX(W1,FALSDT,MINL/MAXV*RELX) + IZMON=4+IADD ; IYMON=5 ; NZPRIN=1 + ENDIF ENDIF REAL(TREL) ; TREL=1.0 RELAX(S140,FALSDT,TREL) GROUP 18. Limits on variables values or increments to them. VARMIN(S116)=1.0E-20 ; VARMAX(S116)=1.0 VARMIN(S140)=1.0E-20 ; VARMAX(S140)=1.0 VARMIN(TEM1)=200.0 ; VARMAX(TEM1)=2000.0 GROUP 19. Data communicated by SATELLITE to GROUND NAMGRD=CVD GROUP 23. Variable-by-variable field printout and plot and/or tabulation of spot-values and residuals. YZPR=T tstswp=-1 GROUP 24. Preparation for continuation runs.