TALK=T;RUN(1,1)
  PHOTON USE
  p;p1;

  con MARK z 1 fil;.001
  gr ou z 1;set vec ref 35;vec z 1
  msg  Velocity vectors field at 1 sec
  msg Hit Enter to continue
  pause
  p;p2;

  con MARK z 1 fil;.001
  gr ou z 1;set vec ref 35;vec z 1
  msg  Velocity vectors field at 2 sec
  msg Hit Enter to continue
  pause
  p;p3;

  con MARK z 1 fil;.001
  gr ou z 1;set vec ref 35;vec z 1
  msg  Velocity vectors field at 3 sec
  msg Hit Enter to continue
  pause
  p;p4;

  con MARK z 1 fil;.001
  gr ou z 1;set vec ref 35;vec z 1
  msg  Velocity vectors field at 4 sec
  msg Hit Enter to continue
  pause
  p;p5;

  con MARK z 1 fil;.001
  gr ou z 1;set vec ref 35;vec z 1
  msg  Velocity vectors field at 5 sec
  msg Hit Enter to continue
  pause
  p;p6;

  con MARK z 1 fil;.001
  gr ou z 1;set vec ref 35;vec z 1
  msg  Velocity vectors field at 6 sec
  msg Hit Enter to continue
  pause
  p;p7;

  con MARK z 1 fil;.001
  gr ou z 1;set vec ref 35;vec z 1
  msg  Velocity vectors field at 7 sec
  msg Hit Enter to continue
  pause
  p;p8;

  con MARK z 1 fil;.001
  gr ou z 1;set vec ref 35;vec z 1
  msg  Velocity vectors field at 8 sec
  msg Hit Enter to continue
  pause
  p;p9;

  con MARK z 1 fil;.001
  gr ou z 1;set vec ref 35;vec z 1
  msg  Velocity vectors field at 9 sec
  msg Hit Enter to continue
  pause
  p;p10;

  con MARK z 1 fil;.001
  gr ou z 1;set vec ref 35;vec z 1
  msg  Velocity vectors field at 10 sec
  msg Hit Enter to continue
  pause
  p;p11;

  con MARK z 1 fil;.001
  gr ou z 1;set vec ref 35;vec z 1
  msg  Velocity vectors field at 11 sec
  msg Hit Enter to continue
  pause
  p;p12;

  con MARK z 1 fil;.001
  gr ou z 1;set vec ref 35;vec z 1
  msg  Velocity vectors field at 12 sec
  msg Type E to end
  ENDUSE
  DISPLAY
  This run shows  what  happens  around  rectangular  object
  suddenly  sent  in  motion.  It  calculates  the  unsteady
  velocity distribution,  generated by moving object,  in  a
  channel with orifice.

  The PLANT  settings  are  virtually grid-free for they are
  introduced in terms of physical distances rather than cell
  extents
  ENDDIS.
    PLANTBEGIN
     * Set domain viscosity
   VISL=10.0
      * Set large viscosity in object
   VISL=1.E5
   REGION() 1
      * Set large viscosity in orifice blocks
   VISL=1.E5
   REGION() 2
    The above settings introduce the  viscous  domain  fluid
    and  large artificial viscosities for solid blocks.  The
    latter is essential for non-slip boundary conditions.

    By way of  dummy  REGION  command  with  MARK  value  as
    parameter, PLANT is told to make the coding in grid-free
    manner,   looking   for   the   corresponding    marker.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
    ** Orifice initialization
     * Orifice LOWER block locations
PATCH(LOWBLOK,INIVAL,1,NX,1,NY,1,NZ,1,LSTEP)
   VAL=2.
INIT(LOWBLOK,MARK,0.0,GRND)
  PLACE(120.,240.,0.,48.)
     * Orifice UPPER block locations
PATCH(UPBLOK,INIVAL,1,NX,1,NY,1,NZ,1,LSTEP)
   VAL=2.
INIT(UPBLOK,MARK,0.0,GRND)
  PLACE(120.,240.,78.,126.)
    All orifice cells are marked by  MARK=2.  PLACE  command
    overwrites  the  whole-domain  extants  of  the PATCH by
    physical extents of the blocks.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
    ** Set the object velocities
RG(1)=30.0; RG(2)=0.0
PATCH(OBJVEL,CELL,1,NX,1,NY,1,NZ,1,LSTEP)
   CO = VELBC(1.,FIXVAL)
   VAL= VELBC(1.,RG(1))
COVAL(OBJVEL,U1,GRND,GRND)
   CO = VELBC(1.,FIXVAL)
   VAL= VELBC(1.,RG(2))
COVAL(OBJVEL,V1,GRND,GRND)
    Function VELBC  is  used  to  set  the  COefficients and
    VALues for all object  cells  .  It  fixes  all  lateral
    velocity  components  to  zero  and longitudinal ones to
    RG(1), which is the object velocity magnitude. The first
    function  argument  is  set to object marker value.  The
    second arguments are set  equal  to  either  FIXVAL  for
    COefficients or object velocity components for VALues of
    momentum sources.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
    ** Nulify velocities in orifice blocks
PATCH(ORIVEL,CELL,1,NX,1,NY,1,NZ,1,LSTEP)
   CO = VELBC(2.,FIXVAL)
   VAL= VELBC(2.,0.0)
COVAL(ORIVEL,U1,GRND,GRND)
   CO = VELBC(2.,FIXVAL)
   VAL= VELBC(2.,0.0)
COVAL(ORIVEL,V1,GRND,GRND)
    Function VELBC  fixes  velocities normal to the faces of
    all orifice (1st argument is 2) cells to zero.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
    ** Set the block positions at each time steps
     1. Nulify MARK field first
   MARK =0.
  IF(ISWEEP.EQ.1)
     2. Set lower orifice block
   MARK =2.
   PLACE(120.,240.,0.,48.) /ISWEEP.EQ.1
     3. Set upper orifice block
   MARK =2.
   PLACE(120.,240.,78.,126.) /ISWEEP.EQ.1
     4. Set the current object position
   MARK =XYBOX(1.0,RG(1)*(TIM-1.),48.,30.,30.,0.0,0.0)
  IF(ISWEEP.EQ.1)
    Above set  of  PLANT  blocks is responsible for planting
    codings to distribute the markers for each time step  at
    the start of the first sweep.  It is done in four stages
    indicated.

    First three reproduce the location of stationary orifice
    and  clean  the domain space.  At the fourth stage,  the
    function  XYBOX  is  used  to  calculate  time   varying
    re-location  of unity object marker ( 1st argument) as a
    linear function of current time and  object  velocity  (
    2nd  argument expression).  The next three arguments set
    the cartesian coordinate of south-west  box  corner  and
    the sizes of its sides. The sixth and seventh arguments,
    representing rotation angles, are zeros here.

  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
    PLANTEND
 ************************************************************
  Group 1. Run Title and Number
 ************************************************************
 ************************************************************
 
 TEXT( Block passing through orifice          )
 
 ************************************************************
 ************************************************************
 
 IRUNN = 1 ;LIBREF = 618
 ************************************************************
  Group 2. Time dependence
 STEADY = F
    * Set overall time and no. of steps
 TFIRST =0. ;TLAST =12.
 FSTEP = 1 ;LSTEP = 12
 TFRAC(1)=0.083333 ;TFRAC(2)=0.166667
 TFRAC(3)=0.25 ;TFRAC(4)=0.333333
 TFRAC(5)=0.416667 ;TFRAC(6)=0.5
 TFRAC(7)=0.583333 ;TFRAC(8)=0.666667
 TFRAC(9)=0.75 ;TFRAC(10)=0.833333
 TFRAC(11)=0.916667 ;TFRAC(12)=1.
 ************************************************************
  Group 3. X-Direction Grid Spacing
 CARTES = T
 NX = 60
 XULAST =360.
 XFRAC(1)=0.016667 ;XFRAC(2)=0.033333
 XFRAC(3)=0.05 ;XFRAC(4)=0.066667
 XFRAC(5)=0.083333 ;XFRAC(6)=0.1
 XFRAC(7)=0.116667 ;XFRAC(8)=0.133333
 XFRAC(9)=0.15 ;XFRAC(10)=0.166667
 XFRAC(11)=0.183333 ;XFRAC(12)=0.2
 XFRAC(13)=0.216667 ;XFRAC(14)=0.233333
 XFRAC(15)=0.25 ;XFRAC(16)=0.266667
 XFRAC(17)=0.283333 ;XFRAC(18)=0.3
 XFRAC(19)=0.316667 ;XFRAC(20)=0.333333
 XFRAC(21)=0.35 ;XFRAC(22)=0.366667
 XFRAC(23)=0.383333 ;XFRAC(24)=0.4
 XFRAC(25)=0.416667 ;XFRAC(26)=0.433333
 XFRAC(27)=0.45 ;XFRAC(28)=0.466667
 XFRAC(29)=0.483333 ;XFRAC(30)=0.5
 XFRAC(31)=0.516667 ;XFRAC(32)=0.533333
 XFRAC(33)=0.55 ;XFRAC(34)=0.566667
 XFRAC(35)=0.583333 ;XFRAC(36)=0.6
 XFRAC(37)=0.616667 ;XFRAC(38)=0.633333
 XFRAC(39)=0.65 ;XFRAC(40)=0.666667
 XFRAC(41)=0.683333 ;XFRAC(42)=0.7
 XFRAC(43)=0.716667 ;XFRAC(44)=0.733333
 XFRAC(45)=0.75 ;XFRAC(46)=0.766667
 XFRAC(47)=0.783333 ;XFRAC(48)=0.8
 XFRAC(49)=0.816667 ;XFRAC(50)=0.833333
 XFRAC(51)=0.85 ;XFRAC(52)=0.866667
 XFRAC(53)=0.883333 ;XFRAC(54)=0.9
 XFRAC(55)=0.916667 ;XFRAC(56)=0.933333
 XFRAC(57)=0.95 ;XFRAC(58)=0.966667
 XFRAC(59)=0.983333 ;XFRAC(60)=1.
 ************************************************************
  Group 4. Y-Direction Grid Spacing
 NY = 21
 YVLAST =126.
 YFRAC(1)=0.047619 ;YFRAC(2)=0.095238
 YFRAC(3)=0.142857 ;YFRAC(4)=0.190476
 YFRAC(5)=0.238095 ;YFRAC(6)=0.285714
 YFRAC(7)=0.333333 ;YFRAC(8)=0.380952
 YFRAC(9)=0.428571 ;YFRAC(10)=0.476191
 YFRAC(11)=0.52381 ;YFRAC(12)=0.571429
 YFRAC(13)=0.619048 ;YFRAC(14)=0.666667
 YFRAC(15)=0.714286 ;YFRAC(16)=0.761905
 YFRAC(17)=0.809524 ;YFRAC(18)=0.857143
 YFRAC(19)=0.904762 ;YFRAC(20)=0.952381
 YFRAC(21)=1.
 ************************************************************
  Group 5. Z-Direction Grid Spacing
 PARAB = F
 NZ = 1
 ZWLAST =1.
 ZFRAC(1)=1.
 ************************************************************
  Group 6. Body-Fitted Coordinates
 ************************************************************
  Group 7. Variables: STOREd,SOLVEd,NAMEd
 ONEPHS = T
 NAME(1)=P1 ;NAME(3)=U1
 NAME(5)=V1 ;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(P1,Y,Y,N,N,N,Y)
 SOLUTN(U1,Y,Y,N,N,N,Y)
 SOLUTN(V1,Y,Y,N,N,N,Y)
 SOLUTN(MARK,Y,N,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(P1,Y,Y,Y,N,Y,Y)
 TERMS(U1,Y,Y,Y,Y,Y,Y)
 TERMS(V1,Y,Y,Y,Y,Y,Y)
 DIFCUT =0.5 ;ZDIFAC =1.
 GALA = F ;ADDDIF = F
 NEWENL = T
 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 = GRND ;ENUT =0.
 ENULA =0. ;ENULB =0.
 ENULC =0.
 PRNDTL(U1)=1. ;PRNDTL(V1)=1.
 PRT(U1)=1. ;PRT(V1)=1.
 CP1 =1. ;CP2 =1.
 ************************************************************
  Group 10.Inter-Phase Transfer Processes
 ************************************************************
  Group 11.Initial field variables (PHIs)
 FIINIT(P1)=0. ;FIINIT(U1)=0.
 FIINIT(V1)=0. ;FIINIT(MARK)=0.
 
 PATCH(LOWBLOK ,INIVAL, 21, 40, 1, 8, 1, 1, 1, 12)
 INIT(LOWBLOK ,MARK,0. , GRND )
 
 PATCH(UPBLOK ,INIVAL, 21, 40, 14, 21, 1, 1, 1, 12)
 INIT(UPBLOK ,MARK,0. , GRND )
 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(INLW ,WEST , 1, 1, 1, 21, 1, 1, 1, 12)
 COVAL(INLW ,P1 ,1000. ,0. )
 
 PATCH(OUTLE ,EAST , 60, 60, 1, 21, 1, 1, 1, 12)
 COVAL(OUTLE ,P1 ,1000. ,0. )
 
 PATCH(OBJVEL ,CELL , 1, 60, 1, 21, 1, 1, 1, 12)
 COVAL(OBJVEL ,U1 , GRND , GRND )
 COVAL(OBJVEL ,V1 , GRND , GRND )
 
 PATCH(ORIVEL ,CELL , 1, 60, 1, 21, 1, 1, 1, 12)
 COVAL(ORIVEL ,U1 , GRND , GRND )
 COVAL(ORIVEL ,V1 , GRND , GRND )
 XCYCLE = F
 EGWF = T
 WALLCO = GRND2
 ************************************************************
  Group 14. Downstream Pressure For PARAB
 ************************************************************
  Group 15. Terminate Sweeps
 LSWEEP = 50 ;ISWC1 = 1
 LITHYD = 1 ;LITFLX = 1 ;LITC = 1 ;ITHC1 = 1
 SELREF = T
 RESFAC =1.0E-02
 ************************************************************
  Group 16. Terminate Iterations
 LITER(P1)=20 ;LITER(U1)=10
 LITER(V1)=10
 ENDIT(P1)=1.0E-03 ;ENDIT(U1)=1.0E-03
 ENDIT(V1)=1.0E-03
 ************************************************************
  Group 17. Relaxation
 RELAX(P1,LINRLX,0.25)
 RELAX(U1,FALSDT,0.1)
 RELAX(V1,FALSDT,0.1)
 RELAX(MARK,LINRLX,1.)
 OVRRLX =0.
 EXPERT = F ;NNORSL = F
 ************************************************************
  Group 18. Limits
 VARMAX(P1)=1.0E+10 ;VARMIN(P1)=-1.0E+10
 VARMAX(U1)=1.0E+06 ;VARMIN(U1)=-1.0E+06
 VARMAX(V1)=1.0E+06 ;VARMIN(V1)=-1.0E+06
 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)
 RG( 1) =30.
 ************************************************************
  Group 20. Preliminary Printout
 DISTIL = T ;NULLPR = F
 NDST = 0
 DSTTOL =1.0E-02
 EX(P1)=82.709999 ;EX(U1)=6.576
 EX(V1)=0.8536 ;EX(MARK)=0.5278
 ************************************************************
  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(P1,Y,N,Y,Y,Y,Y)
 OUTPUT(U1,Y,N,Y,N,N,N)
 OUTPUT(V1,Y,N,Y,N,N,N)
 OUTPUT(MARK,Y,N,Y,N,N,N)
 ************************************************************
  Group 22. Monitor Print-Out
 IXMON = 5 ;IYMON = 12 ;IZMON = 1
 NPRMON = 50 ;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    ='P'
STOP