TALK=T;RUN(1,1)
  DISPLAY

  This In-Form case illustrates how to create a pyramid
  by use of the BOX function.

  '(INFOB' statement zeroise porosity in cells
  inside In-Form object by means 'POROS' special flag.

  The keywords INFOB and STORED are used.

  The Q1 contains PHOTON USE commands
  ENDDIS
  PHOTON USE
  p



  up z
  vi 1 1 1
  gr ou x m;gr ou y m;gr ou z m
  rot ax z ang 30
  surf MARK z .99 col 4
  surf MARK y .99 col 6
  surf MARK x .99 col 8
  msg mark contours
  msg Press  to continue
  pause
  surf cl;red
  surf vpor x .99 col 4
  surf vpor y .99 col 6
  surf vpor z .99 col 8
  msg vpor contours
  msg Press  to continue
  pause
  surf cl
  up z; vi x
  con mark x 20 y 1 20 z 1 40 fi;.0001
  con vpor x 20 y 21 40 z 1 40 fi;.0001
  gr x 20
  msg compare mark and vpor contours
  msg mark at the left and vpor at the right
  ENDUSE
 ************************************************************
  Group 1. Run Title and Number
 ************************************************************
 ************************************************************
 
 TEXT( In-Form makes pyramid: 3D              )
 
 ************************************************************
 ************************************************************
 
 IRUNN = 1 ;LIBREF = 769
 ************************************************************
  Group 2. Time dependence
 STEADY = T
 ************************************************************
  Group 3. X-Direction Grid Spacing
 CARTES = T
 NX = 40
 XULAST =20.
 XFRAC(1)=0.025 ;XFRAC(2)=0.05
 XFRAC(3)=0.075 ;XFRAC(4)=0.1
 XFRAC(5)=0.125 ;XFRAC(6)=0.15
 XFRAC(7)=0.175 ;XFRAC(8)=0.2
 XFRAC(9)=0.225 ;XFRAC(10)=0.25
 XFRAC(11)=0.275 ;XFRAC(12)=0.3
 XFRAC(13)=0.325 ;XFRAC(14)=0.35
 XFRAC(15)=0.375 ;XFRAC(16)=0.4
 XFRAC(17)=0.425 ;XFRAC(18)=0.45
 XFRAC(19)=0.475 ;XFRAC(20)=0.5
 XFRAC(21)=0.525 ;XFRAC(22)=0.55
 XFRAC(23)=0.575 ;XFRAC(24)=0.6
 XFRAC(25)=0.625 ;XFRAC(26)=0.65
 XFRAC(27)=0.675 ;XFRAC(28)=0.7
 XFRAC(29)=0.725 ;XFRAC(30)=0.75
 XFRAC(31)=0.775 ;XFRAC(32)=0.8
 XFRAC(33)=0.825 ;XFRAC(34)=0.85
 XFRAC(35)=0.875 ;XFRAC(36)=0.9
 XFRAC(37)=0.925 ;XFRAC(38)=0.95
 XFRAC(39)=0.975 ;XFRAC(40)=1.
 ************************************************************
  Group 4. Y-Direction Grid Spacing
 NY = 40
 YVLAST =20.
 YFRAC(1)=0.025 ;YFRAC(2)=0.05
 YFRAC(3)=0.075 ;YFRAC(4)=0.1
 YFRAC(5)=0.125 ;YFRAC(6)=0.15
 YFRAC(7)=0.175 ;YFRAC(8)=0.2
 YFRAC(9)=0.225 ;YFRAC(10)=0.25
 YFRAC(11)=0.275 ;YFRAC(12)=0.3
 YFRAC(13)=0.325 ;YFRAC(14)=0.35
 YFRAC(15)=0.375 ;YFRAC(16)=0.4
 YFRAC(17)=0.425 ;YFRAC(18)=0.45
 YFRAC(19)=0.475 ;YFRAC(20)=0.5
 YFRAC(21)=0.525 ;YFRAC(22)=0.55
 YFRAC(23)=0.575 ;YFRAC(24)=0.6
 YFRAC(25)=0.625 ;YFRAC(26)=0.65
 YFRAC(27)=0.675 ;YFRAC(28)=0.7
 YFRAC(29)=0.725 ;YFRAC(30)=0.75
 YFRAC(31)=0.775 ;YFRAC(32)=0.8
 YFRAC(33)=0.825 ;YFRAC(34)=0.85
 YFRAC(35)=0.875 ;YFRAC(36)=0.9
 YFRAC(37)=0.925 ;YFRAC(38)=0.95
 YFRAC(39)=0.975 ;YFRAC(40)=1.
 ************************************************************
  Group 5. Z-Direction Grid Spacing
 PARAB = F
 NZ = 40
 ZWLAST =20.
 ZFRAC(1)=0.025 ;ZFRAC(2)=0.05
 ZFRAC(3)=0.075 ;ZFRAC(4)=0.1
 ZFRAC(5)=0.125 ;ZFRAC(6)=0.15
 ZFRAC(7)=0.175 ;ZFRAC(8)=0.2
 ZFRAC(9)=0.225 ;ZFRAC(10)=0.25
 ZFRAC(11)=0.275 ;ZFRAC(12)=0.3
 ZFRAC(13)=0.325 ;ZFRAC(14)=0.35
 ZFRAC(15)=0.375 ;ZFRAC(16)=0.4
 ZFRAC(17)=0.425 ;ZFRAC(18)=0.45
 ZFRAC(19)=0.475 ;ZFRAC(20)=0.5
 ZFRAC(21)=0.525 ;ZFRAC(22)=0.55
 ZFRAC(23)=0.575 ;ZFRAC(24)=0.6
 ZFRAC(25)=0.625 ;ZFRAC(26)=0.65
 ZFRAC(27)=0.675 ;ZFRAC(28)=0.7
 ZFRAC(29)=0.725 ;ZFRAC(30)=0.75
 ZFRAC(31)=0.775 ;ZFRAC(32)=0.8
 ZFRAC(33)=0.825 ;ZFRAC(34)=0.85
 ZFRAC(35)=0.875 ;ZFRAC(36)=0.9
 ZFRAC(37)=0.925 ;ZFRAC(38)=0.95
 ZFRAC(39)=0.975 ;ZFRAC(40)=1.
 ************************************************************
  Group 6. Body-Fitted Coordinates
 ************************************************************
  Group 7. Variables: STOREd,SOLVEd,NAMEd
 ONEPHS = T
 NAME(146)=HPOR ;NAME(147)=NPOR
 NAME(148)=EPOR ;NAME(150)=MARK
    * Y in SOLUTN argument list denotes:
    * 1-stored 2-solved 3-whole-field
    * 4-point-by-point 5-explicit 6-harmonic averaging 
 SOLUTN(HPOR,Y,N,N,N,N,Y)
 SOLUTN(NPOR,Y,N,N,N,N,Y)
 SOLUTN(EPOR,Y,N,N,N,N,Y)
 SOLUTN(MARK,Y,N,N,N,N,Y)
 EPOR = 148 ;HPOR = 146 ;NPOR = 147 ;VPOR = 0
 ************************************************************
  Group 8. Terms & Devices
    * Y in TERMS argument list denotes:
    * 1-built-in source 2-convection 3-diffusion 4-transient
    * 5-first phase variable 6-interphase transport         
 DIFCUT =0.5 ;ZDIFAC =1.
 GALA = F ;ADDDIF = F
 ISOLX = -1 ;ISOLY = -1 ;ISOLZ = -1
 ************************************************************
  Group 9. Properties used if PRPS is not
  stored, and where PRPS = -1.0 if it is!
 RHO1 =1. ;TMP1 =0.
 EL1 =0.
 TSURR =0. ;TEMP0 =0.
 PRESS0 =0.
 DVO1DT =0. ;DRH1DP =0.
 EMISS =0. ;SCATT =0.
 RADIA =0. ;RADIB =0.
 ENUL =1.0E-05 ;ENUT =0.
 CP1 =1. ;CP2 =1.
 ************************************************************
  Group 10.Inter-Phase Transfer Processes
 ************************************************************
  Group 11.Initial field variables (PHIs)
 FIINIT(HPOR)=1. ;FIINIT(NPOR)=1.
 FIINIT(EPOR)=1. ;FIINIT(MARK)=1.
   No PATCHes yet used for this Group
 INIADD = F
 FSWEEP = 1
 NAMFI =CHAM
 ************************************************************
  Group 12. Patchwise adjustment of terms
  Patches for this group are printed with those
  for Group 13.
  Their names begin either with GP12 or &
 ************************************************************
  Group 13. Boundary & Special Sources
 
 PATCH(PATCH1 ,CELL , 1, 40, 1, 40, 1, 40, 1, 1)
 XCYCLE = F
 EGWF = T
 WALLCO = GRND2
 ************************************************************
  Group 14. Downstream Pressure For PARAB
 ************************************************************
  Group 15. Terminate Sweeps
 LSWEEP = 1 ;ISWC1 = 1
 LITHYD = 1 ;LITFLX = 1 ;LITC = 1 ;ITHC1 = 1
 SELREF = T
 RESFAC =1.0E-04
 ************************************************************
  Group 16. Terminate Iterations
 ************************************************************
  Group 17. Relaxation
 RELAX(MARK,LINRLX,1.)
 OVRRLX =0.
 EXPERT = F ;NNORSL = F
 ************************************************************
  Group 18. Limits
 VARMAX(HPOR)=1.0E+10 ;VARMIN(HPOR)=-1.0E+10
 VARMAX(NPOR)=1.0E+10 ;VARMIN(NPOR)=-1.0E+10
 VARMAX(EPOR)=1.0E+10 ;VARMIN(EPOR)=-1.0E+10
 VARMAX(MARK)=1.0E+10 ;VARMIN(MARK)=-1.0E+10
 ************************************************************
  Group 19. Data transmitted to GROUND
 PARSOL = F
 ISG62 = 1
 SPEDAT(SET,INFOB,*!PATCH1,C,=BOX(10&10&0&.5*(-ZG+20)&.5*(-ZG+20)&$)
 SPEDAT(SET,INFOB,*!PATCH1,C,16*(-ZG+20.)&0&0&0)!INFOB_1!POROS)
 SPEDAT(SET,INFOB,*!PATCH1,C,=BOX(10&10&0&.5*(-ZG+20)&.5*(-ZG+20)&$)
 SPEDAT(SET,INFOB,*!PATCH1,C,16*(-ZG+20.)&0&0&.5*3.141593)!INFOB_1$)
 SPEDAT(SET,INFOB,*!PATCH1,C,!POROS)
 SPEDAT(SET,INFOB,*!PATCH1,C,=BOX(10&10&0&.5*(-ZG+20)&.5*(-ZG+20)&$)
 SPEDAT(SET,INFOB,*!PATCH1,C,16*(-ZG+20.)&0&0&3.141593)!INFOB_1!PO$)
 SPEDAT(SET,INFOB,*!PATCH1,C,ROS)
 SPEDAT(SET,INFOB,*!PATCH1,C,=BOX(10&10&0&.5*(-ZG+20)&.5*(-ZG+20)&$)
 SPEDAT(SET,INFOB,*!PATCH1,C,16*(-ZG+20.)&0&0&1.5*3.141593)!INFOB_$)
 SPEDAT(SET,INFOB,*!PATCH1,C,1!POROS)
 SPEDAT(SET,STORED,MARK!PATCH1,C,=0.0!INFOB_1!ZSLFIN)
 ************************************************************
  Group 20. Preliminary Printout
 DISTIL = T ;NULLPR = F
 NDST = 0
 DSTTOL =1.0E-02
 EX(HPOR)=0.675 ;EX(NPOR)=0.6667
 EX(EPOR)=0.6667 ;EX(MARK)=0.6663
 ************************************************************
  Group 21. Print-out of Variables
 INIFLD = F ;SUBWGR = F
    * Y in OUTPUT argument list denotes:
    * 1-field 2-correction-eq. monitor 3-selective dumping      
    * 4-whole-field residual 5-spot-value table 6-residual table
 OUTPUT(HPOR,Y,N,Y,N,N,N)
 OUTPUT(NPOR,Y,N,Y,N,N,N)
 OUTPUT(EPOR,Y,N,Y,N,N,N)
 OUTPUT(MARK,Y,N,Y,N,N,N)
 ************************************************************
  Group 22. Monitor Print-Out
 IXMON = 1 ;IYMON = 1 ;IZMON = 1
 NPRMON = 100000 ;NPRMNT = 1 ;TSTSWP = 1
 UWATCH = T ;USTEER = T
 HIGHLO = F
 ************************************************************
  Group 23.Field Print-Out & Plot Control
 NPRINT = 100000 ;NUMCLS = 5
 NXPRIN = -1 ;IXPRF = 1 ;IXPRL = 10000
 NYPRIN = -1 ;IYPRF = 1 ;IYPRL = 10000
 NZPRIN = -1 ;IZPRF = 1 ;IZPRL = 10000
 XZPR = F ;YZPR = F
 IPLTF = 1 ;IPLTL = -1 ;NPLT = -1
 ISWPRF = 1 ;ISWPRL = 100000
 ITABL = 3 ;IPROF = 1
 ABSIZ =0.5 ;ORSIZ =0.4
 NTZPRF = 1 ;NCOLPF = 50
 ICHR = 2 ;NCOLCO = 45 ;NROWCO = 20
   No PATCHes yet used for this Group
 ************************************************************
  Group 24. Dumps For Restarts
 SAVE = T ;NOWIPE = F
 NSAVE =CHAM
STOP