PHOTON USE p;;;;; msg Numerical solution contours con c1 z 1 fi;0.1 msg Press Enter to continue pause;clear;con errr z 1 fi;0.1 msg Error contours. Press e to END ENDUSE DISPLAY A two-dimensional transient diffusion problem with time-dependen boundary conditions and space-dependent initial fields is used a an illustration of how PLANT statements can be used to:- * set initial fields; * set boundary conditions and other sources; * make comparisons with exact solutions. The analytical solution is: C1 = X + Y + T , where X and Y are cartesian coordinates and T is time. The C1 computed by PHOENICS, the exact solution (EXAC) and the difference between them (ERRR) are all printed out. The GROUND coding which the PLANT statements generate is appended to the Q1 file. This case enables the influences on accuracy to be investigated of numerical settings such as LITER(C1), RESFAC, ISOLX, ISOLY & CSG3. The latter, when set = CNGR, activates the conjugate- gradient solver. ENDDIS GROUP 1. Run title and other preliminaries TEXT( 2D UNSTEADY DIFFUSION PROBLEM:Z104 title NX=100;NY=100;LSTEP=5 GROUP 2. Transience; time-step specification STEADY=F;GRDPWR(T,LSTEP,1.,1.0) GROUP 3. X-direction grid specification GRDPWR(X,NX,1,1.0) GROUP 4. Y-direction grid specification GRDPWR(Y,NY,1,1.0) GROUP 7. Variables stored, solved & named SOLVE(C1,ERRR);STORE(EXAC) GROUP 8. Terms (in differential equations) & devices TERMS(C1,N,N,Y,P,P,P);TERMS(ERRR,N,N,N,P,P,P) ISOLX=1;ISOLY=1 CSG3=CNGR GROUP 9. Properties of the medium (or media) PRNDTL(C1)=1.0;ENUL=1.0 GROUP 11. Initial values PLANTBEGIN solve(errr);store(exac) PLANT.. Following commands set the initial field as.. C1 = X + Y PATCH(INIT,INIVAL,1,NX,1,NY,1,NZ,1,1)VAL=XG2D+YG2D INIT(INIT,C1,0.0,GRND) VAL=XG2D+YG2D+TLAST INIT(INIT,EXAC,0.0,GRND) GROUP 13. Boundary conditions and special sources PLANT.. Following commands set the west values as.. C1 = T + Y PATCH(WEST,WWALL,1,1,1,NY,1,NZ,1,LSTEP) VAL=TIM+YG2D COVAL(WEST,C1,1.,GRND) PLANT.. Following commands set the east values as.. C1 = T + 1 + Y PATCH(EAST,EWALL,NX,NX,1,NY,1,NZ,1,LSTEP) VAL=TIM+1.0+YG2D COVAL(EAST,C1,1.,GRND) PLANT.. Following commands set south values as.. C1 = T + X PATCH(SOUTH,SWALL,1,NX,1,1,1,NZ,1,LSTEP) VAL=TIM+XG2D COVAL(SOUTH,C1,1.,GRND) PLANT.. Following commands set north values as.. C1 = T + 1 + X PATCH(NORTH,NWALL,1,NX,NY,NY,1,NZ,1,LSTEP) VAL=TIM+1.0+XG2D COVAL(NORTH,C1,1.,GRND) PLANT.. Following commands set field values of EXAC as.. T + 1 + Y PATCH(ERROR,CELL,1,NX,1,NY,1,NZ,1,LSTEP) VAL=TIM+XG2D+YG2D-C1 COVAL(ERROR,ERRR,FIXVAL,GRND) PLANTEND PLANT.. Following commands set the volumetric source as.. 1 PATCH(SOURC,VOLUME,1,NX,1,NY,1,NZ,1,LSTEP) COVAL(SOURC,C1,FIXFLU,1.0) GROUP 15. Termination of sweeps LITER(C1)=10 RESFAC=1.E-6 LSWEEP=2 GROUP 19. NAMSAT=MOSG SPEDAT(SET,GXMONI,TRANSIENT,L,F) GROUP 21. Print-out of variables IXMON=NX/2;IYMON=NY/2 OUTPUT(C1,Y,Y,Y,Y,Y,Y) OUTPUT(ERRR,Y,N,Y,N,N,N) GROUP 24. Dumps for restarts dmpstk=t DISTIL=T EX(C1)=1.999E+00; EX(EXAC)=2.000E+00; EX(ERRR)=1.181E-03 LIBREF=104 STOP