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
 ************************************************************