TALK=T;RUN( 1, 1) DISPLAY This In-Form case illustrates how to create simple shapes by using the BOX function. The kind of shape can be selected by setting of CASENO. CASENOs from 1 to 3 are for the simple box. 1 used for cartesian grid, 2 for BFC and 3 for polar grid. CASENOs from 4 to 6 are for pyramids. CASENOs from 7 to 9 are for spirals. CASENOs from 10 to 11 are for curved channels. The Q1 contains PHOTON USE commands ENDDIS PHOTON USE p;;; up z gr ou x m; gr ou y m; gr ou z m set prop off *surf mark x .99 col 2 *surf mark y .99 col 6 surf mark z .99 col 6 ENDUSE ************************************************************ Group 1. Run Title TEXT(Simple shapes by box In-Form object) LIBREF=383 INTEGER(CASENO) CASENO=1 ! Simple BOX for cartesian grid CASENO=2 ! Simple BOX for BFC CASENO=3 ! Simple BOX for polar grid CASENO=4 ! Simple pyramid for cartesian grid CASENO=5 ! Simple pyramid for BFC CASENO=6 ! Simple pyramid for polar grid CASENO=7 ! Simple spiral for cartesian grid CASENO=8 ! Simple spiral for BFC CASENO=9 ! Simple spiral for polar grid CASENO=10 ! Simple curve channel for cartesian grid CASENO=11 ! Simple curve channel for BFC REAL(PI,PI2); PI=3.14159; PI2=2.*PI ! Pythagoras's constant ************************************************************ Group 2. Transience STEADY=T ************************************************************ Groups 3, 4, 5 Grid Information NX=50;NY=50;NZ=50 XULAST=1.0; YVLAST=1.0; ZWLAST=1.0 IF(CASENO.EQ.3.OR.CASENO.EQ.6.OR.CASENO.EQ.9) THEN CARTES=F XULAST=PI2 ENDIF TEXT(Uniform Grid #pause mesg(unigrid macro has been loaded grdpwr(t,lstep,tlast, 1.0) grdpwr(x,nx ,xulast,1.0) grdpwr(y,ny ,yvlast,1.0) IF(CASENO.EQ.2.OR.CASENO.EQ.5.OR.CASENO.EQ.8.OR.CASENO.EQ.11) THEN BFC=T ENDIF if(parab) then parab zfrac(1)= -nz;zfrac(2)=1/nz else grdpwr(z,nz ,zwlast,1.0) endif if(cartes) then mesg(uniform cartesian grid else mesg(uniform polar grid endif end of unigrid ** LOAD( 50) from the PHOENICS Input Library ** LOAD( 50) from the PHOENICS Input Library Group 7. Variables: STOREd,SOLVEd,NAMEd * Solved variables list SOLVE(TEM1) * Stored variables list STORE(PRPS,MARK) ************************************************************ Group 11.Initialise Var/Porosity Fields patch(patch1,volume,1,nx,1,ny,1,nz,1,1) FIINIT(PRPS) = 0.000000E+00 ! inform11begin (stored of mark at patch1 is 1.0 with infob_1) (initial of prps is 100 with infob_1) real(x0,y0,z0,xs,ys,zs,al,be,th) char(cx0,cy0,cz0,cxs,cys,czs,cth) IF(CASENO.EQ.1.OR.CASENO.EQ.2) THEN x0=xulast/4 y0=yvlast/4 z0=zwlast/4 xs=xulast/2 ys=yvlast/2 zs=zwlast/2 al=0.25 be=0.25 th=0.25 (infob at patch1 is box(x0,y0,z0,xs,ys,zs,al,be,th) with infob_1) ENDIF IF(CASENO.EQ.3) THEN x0=yvlast/2 y0=yvlast/2 z0=zwlast/2 xs=yvlast/2 ys=yvlast/2 zs=zwlast/2 al=0.25 be=0.25 th=0.25 (infob at patch1 is box(x0,y0,z0,xs,ys,zs,al,be,th) with infob_1) ENDIF IF(CASENO.EQ.4.OR.CASENO.EQ.5) THEN x0=xulast/4 y0=yvlast/4 z0=0 cx0=:x0:*(1+zg/:zwlast:) cy0=:y0:*(1+zg/:zwlast:) cz0=0. cxs=0.5*(:zwlast:-zg) cys=0.5*(:zwlast:-zg) czs=16.*(:zwlast:-zg) al=0.; be=0.; th=0. (infob at patch1 is box(cx0,cy0,cz0,cxs,cys,czs,al,be,th) with inf$ ob_1) ENDIF IF(CASENO.EQ.6) THEN x0=yvlast-yvlast/2 y0=yvlast-yvlast/2 z0=0 cx0=:x0:*(1+zg/:yvlast:) cy0=:y0:*(1+zg/:yvlast:) cz0=0. cxs=:zwlast:-zg cys=:zwlast:-zg czs=16.*(:zwlast:-zg) al=0.; be=0.; th=0. (infob at patch1 is box(cx0,cy0,cz0,cxs,cys,czs,al,be,th) with inf$ ob_1) ENDIF IF(CASENO.EQ.7.OR.CASENO.EQ.8) THEN x0=xulast/2 y0=yvlast/2 z0=0 cx0=:x0: cy0=:y0: cz0=:z0: cxs=xulast/2 cys=yvlast/4 czs=:zwlast: al=0.; be=0.; th=0. cth=zg*:pi2: (infob at patch1 is box(cx0,cy0,cz0,cxs,cys,czs,al,be,cth) with inf$ ob_1) ENDIF IF(CASENO.EQ.9) THEN x0=yvlast y0=yvlast z0=0 cx0=:x0: cy0=:y0: cz0=:z0: cxs=yvlast cys=yvlast/4 czs=:zwlast: al=0.; be=0.; th=0. cth=zg*:pi2: (infob at patch1 is box(cx0,cy0,cz0,cxs,cys,czs,al,be,cth) with $ infob_1) ENDIF IF(CASENO.EQ.10.OR.CASENO.EQ.11) THEN x0=0 y0=yvlast/2 z0=zwlast/2 cx0=:x0:+xg cy0=:y0: cz0=:z0:+0.25*sin(:pi2:*xg/xulast) cxs=xulast/5 cys=yvlast/5 czs=zwlast/5 al=0.; be=0.; th=0. (infob at patch1 is box(cx0,cy0,cz0,cxs,cys,czs,al,be,th) with inf$ ob_1) ENDIF inform11end ************************************************************ Group 13. Boundary & Special Sources patch(low,lwall,1,nx,1,ny,1,1,1,1) coval(low,tem1,1,-1) patch(high,hwall,1,nx,1,ny,nz,nz,1,1) coval(high,tem1,1,1) ************************************************************ Group 15. Terminate Sweeps LSWEEP = 10 RESFAC = 1.000000E-03 yzpr=t nxprin=1;ixprf=nx/2;ixprl=nx/2+1 spedat(set,material,100,l,t) tstswp=-1 isg50=1 ! endpause ** LOAD( 54) from the PHOENICS Input Library ** LOAD( 54) from the PHOENICS Input Library isg52=2 ! maxabs ** LOAD( 53) from the PHOENICS Input Library ** LOAD( 53) from the PHOENICS Input Library LITER(TEM1)=100 ************************************************************