TALK=T;RUN(1,1)
  PHOTON USE
  x;x1;;
  msg(  2D zigzag channel
  gr z 1
  pause
  x;x2;;
  msg(  2D periodically broken channel
  gr z 1
  pause
  x;x3;;
  msg(  2D corrugated channel
  gr z 1
  ENDUSE
  DISPLAY
    This input file is  the  one  of  the  series  of  three
    "sample-kits".  It concerns the use of Fourier series to
    generate the 2D BFC  grids.  It  is  wholly  focused  on
    calculation  of grid corner coordinates.  Therefore,  no
    other actions are supported by input data.

    It also differs from  the  previous  examples  in  being
    arranged  as  unsteady problem:  at each time moment the
    new BFC grid is PLANTed and dumped into  specified  file
    to be viewed by PHOTON.
  ENDDIS
  PLANTBEGIN
       1.   2D zigzag channel
            -----------------
REAL(PI,LENGTH,WIDTH)
   ** Pi number
PI=3.14159
   ** Channel length
LENGTH=6.*PI
   ** Channel width
WIDTH=2.*ZWLAST

    XC=:LENGTH:/FLOAT(NX)*FLOAT(I-1)
    YC=:PI:/2.-4/:PI:*(COS(XC)+COS(3*XC)/9+$
                      COS(5*XC)/25+                         COS(7*X$
C)/49+COS(9*XC)/81+                    COS(11*XC)/121+COS(13*XC)/16$
9)+                    :WIDTH:*FLOAT(J-1)/FLOAT(NY)
    ZC=ZWLAST*FLOAT(K-1)/FLOAT(NZ)
  IF(ISTEP.EQ.1.AND.ISWEEP.EQ.1)
    The above   three   statements  contain  rather  lengthy
    algebraic  formulae.  All  together  they  provide   the
    calculation of cartesian coordinates for cell corners of
    the grid fitted the zig-zag channel of 2m width and  6pi
    length, as can be seen by PHOTON. The grid is uniform in
    both direction.  The generation is  made  at  the  first
    sweep of the first time step.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<

       2. 2D periodically broken channel
          -------------------------------
REAL(AA,ALFA,TWOPI)
TWOPI=2.*PI
  ** Shape factors
AA=0.75;ALFA=TWOPI/12

  XC=:LENGTH:/FLOAT(NX)*FLOAT(I-1)
  YC=8/:TWOPI:*:AA:/:ALFA:*(SIN(0.75)*SIN(XC)+$
       SIN(3*2.*3.14159/12)* SIN(3*XC)/9+                    SIN(5*$
2.*3.14159/12)*SIN(5*XC)/25+                    SIN(7*2.*3.14159/12$
)*SIN(7*XC)/49+                    SIN(9*2.*3.14159/12)*SIN(9*XC)/8$
1+                 SIN(11*2.*3.14159/12)*SIN(11*XC)/121+$
      SIN(13*2.*3.14159/12)*SIN(13*XC)/169+                 SIN(15*$
2.*3.14159/12)*SIN(15*XC)/225+                 SIN(17*2.*3.14159/12$
)*SIN(17*XC)/289+                SIN(19*2.*3.14159/12)*SIN(19*XC)/3$
61)+                2.*ZWLAST*FLOAT(J-1)/FLOAT(NY)
    ZC=ZWLAST*FLOAT(K-1)/FLOAT(NZ)
  IF(ISTEP.EQ.2.AND.ISWEEP.EQ.1)
    The above three  statements  perform  the  corresponding
    functions  for the generation of the uniform grid fitted
    the periodically broken channel. It is made at the first
    sweep of the second time step.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<

       3. 2D corrugated channel
       ------------------------

    XC=:LENGTH:/FLOAT(NX)*FLOAT(I-1)
    YC=FLOAT(J-1)/FLOAT(NY)*(1/3.14159+$
     0.5*SIN(XC-3.14159/2)-            2/3.14159*(COS(2*(XC-3.14159$
/2))/3+                      COS(4*(XC-3.14159/2))/15+$
         COS(6*(XC-3.14159/2))/35+                      COS(8*(XC-3$
.14159/2))/63+                     COS(10*(XC-3.14159/2))/99+$
            COS(12*(XC-3.14159/2))/143))+                  2.*ZWLAS$
T*FLOAT(J-1)/FLOAT(NY)
    ZC=ZWLAST*FLOAT(K-1)/FLOAT(NZ)
  IF(ISTEP.EQ.3.AND.ISWEEP.EQ.1)
    At the first sweep of the third time step the generation
    of the last grid of the series is made governed by above
    formulae.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
   PLANTEND
 ************************************************************
  Group 1. Run Title and Number
 ************************************************************
 ************************************************************
 
 TEXT( Analytical BFC grids : 2D sample-kit.  )
 
 ************************************************************
 ************************************************************
 
 IRUNN = 1 ;LIBREF = 607
 ************************************************************
  Group 2. Time dependence
 STEADY = F
    * Set overall time and no. of steps
 TFIRST =0. ;TLAST =3.
 FSTEP = 1 ;LSTEP = 3
 TFRAC(1)=0.333333 ;TFRAC(2)=0.666667
 TFRAC(3)=1.
 ************************************************************
  Group 3. X-Direction Grid Spacing
 CARTES = T
 NX = 150
 XULAST =1.
 ************************************************************
  Group 4. Y-Direction Grid Spacing
 NY = 20
 YVLAST =1.
 ************************************************************
  Group 5. Z-Direction Grid Spacing
 PARAB = F
 NZ = 1
 ZWLAST =1.
 ************************************************************
  Group 6. Body-Fitted Coordinates
 BFC = T ;NONORT = F
 NCRT = -1
 RSTGEO = F ;SAVGEO = F
 UUP = F ;VUP = F ;WUP = F
 NGEOM =CHAM
 NAMXYZ =CHAM
 ANGMIN =20.
 DOMAIN(   1, 151,   1,  21,   1,   2)
    * Set fixed sub-domain
 FIXDOM(   1,   0,   0,   0,   0,   0,   0)
 FIXDOM(   2,   0,   0,   0,   0,   0,   0)
 FIXDOM(   3,   0,   0,   0,   0,   0,   0)
 FIXDOM(   4,   0,   0,   0,   0,   0,   0)
 FIXDOM(   5,   0,   0,   0,   0,   0,   0)
 FIXDOM(   6,   0,   0,   0,   0,   0,   0)
 FIXDOM(   7,   0,   0,   0,   0,   0,   0)
 FIXDOM(   8,   0,   0,   0,   0,   0,   0)
 FIXDOM(   9,   0,   0,   0,   0,   0,   0)
 FIXDOM(  10,   0,   0,   0,   0,   0,   0)
 LIJ = F ;LJK = T ;LIK = F
 ************************************************************
  Group 7. Variables: STOREd,SOLVEd,NAMEd
 ONEPHS = T
 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(MARK,Y,Y,N,N,N,Y)
 ************************************************************
  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         
 TERMS(MARK,N,Y,Y,Y,Y,Y)
 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.
 PRNDTL(MARK)=1.
 PRT(MARK)=1.
 CP1 =1. ;CP2 =1.
 ************************************************************
  Group 10.Inter-Phase Transfer Processes
 ************************************************************
  Group 11.Initial field variables (PHIs)
 FIINIT(MARK)=1.0E-10
   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
   No PATCHes yet used for this Group
 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
 LITER(MARK)=20
 ENDIT(MARK)=1.0E-03
 ************************************************************
  Group 17. Relaxation
 RELAX(MARK,FALSDT,1.0E+09)
 OVRRLX =0.
 EXPERT = F ;NNORSL = F
 ************************************************************
  Group 18. Limits
 VARMAX(MARK)=1.0E+10 ;VARMIN(MARK)=-1.0E+10
 ************************************************************
  Group 19. Data transmitted to GROUND
 NAMSAT =MOSG
 PARSOL = F
 ISG62 = 1
 SPEDAT(SET,GXMONI,TRANSIENT,L,F)
 ************************************************************
  Group 20. Preliminary Printout
 DISTIL = T ;NULLPR = F
 NDST = 0
 DSTTOL =1.0E-02
 EX(MARK)=1.0E-10
 ************************************************************
  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(MARK,Y,N,Y,Y,Y,Y)
 ************************************************************
  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
 NTPRIN = 100000 ;ISTPRF = 1 ;ISTPRL = 100000
 NXPRIN = -1 ;IXPRF = 1 ;IXPRL = 10000
 NYPRIN = -1 ;IYPRF = 1 ;IYPRL = 10000
 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
 IDISPA = 1 ;IDISPB = 0 ;IDISPC = 0
 CSG1    ='PHI'
 CSG2    ='XYZ'
STOP