PHOTON USE
  p
 
 
 
  msg
  msg
  msg   All examples which follow are assembled as different slabs
  msg   and number of slabs of one 3D domain called
  msg
  msg                INITBOX.
  msg
  msg   The series of PHOTON plots will follow.
  msg
  msg   They illustrate some of the existing initialisation
  msg   techniques available in PLANT.
  msg
  msg   The presentation covers:
  msg
  msg   * Flow field initialistions by parametric analytics
  msg   * Manipulating with initial fields
  msg   * MARKing sub-domains to create arbitrary initial fields
  msg   * Geometry initialisations
  msg
  msg   Hit enter to proceed to 1st slab.
  msg
  pause
  clear
  vi z
  set vec ref 25
  vec z 1 sh
  msg
  msg
  msg   The 1st slab of the box is initialised by stagnation
  msg   point flow
  msg   Hit enter to proceed to 2nd slab.
  pause
  vec off;red
  vec z 2 sh
  msg
  msg
  msg   The 2nd slab is initialised by solid body rotation flow
  msg
  msg   Hit enter to proceed to 3rd slab.
  pause
  vec off;red
  vec z 3 sh
  msg
  msg   The flow in the 3rd slab is constructed by adding the
  msg   velocity distributions of 1st and 2nd slabs.
  msg
  msg   Hit enter to proceed to 4th slab.
  pause
  vec off;red
  con mark z 4 fil;.001
  set vec aver off
  vec z 4
  msg
  msg
  msg
  msg
  msg
  msg
  msg
  msg
  msg
  msg
  msg
  msg
  msg
  msg
  msg
  msg
  msg
  msg
  msg   The flow in the 4th slab is constructed by making use
  msg   the different distributions across specifically MARKed
  msg   regions so as to have better accord with imposed geometry.
  msg
  msg   The latter is generated by PLANTed geometry functions.
  msg
  msg   Hit enter to proceed to 5th section of the box.
  pause
  * gr z 4
  gr off;vec off;con off;red
  vi 1 1 1
  con prps z 24 x 21 40 y 1 m fil;.01
  con prps x 20 y 1 m z 25 44 fil;.01
  msg
  msg   The 5th section of the box occupies 40 slabs.
  msg
  msg   It illustrates the construction of 3d geometry visualised
  msg   by PRPS surface.
  msg
  msg   The PRPS values are initialised to follow the distribution
  msg   of MARK values.
  msg
  msg   PRPS surface is being generated.
  msg   Please, wait ....
  surf mark x 5.99
  msg
  msg   Hit E to finish.
  ENDUSE
  >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>

  DISPLAY
    This file  exemplifies  some  of  the  basic  techniques
    available in PLANT for field initialisations.
 
    Five examples are assembled in a  single  3D  box.  Each
    example  occupies  one  or  more  slabs  and  is  wholly
    focussed  on   initialization   procedures.   No   field
    distribution are calculated.
 
    The examples include:
     * Flow field initializations by parametric analytics;
     * Manipulating with initial fields;
     * MARKing sub-domains to create arbitrary initial fields
       and
     * Make complex 2D/3D geometry initialisations.
  ENDDIS
 
    PLANT information :
     * Data input groups used: 8, 11, 19
     * Ground groups planted : 1, 8, 11, 19-3
     * Headings used  : SCUF??, INIT??, SC03??
     * Functions used : XYELLP,ELLPSD,SPHERE
     * Commands used  : REGION
 
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
 
    GROUP 1. Run title and other preliminaries
TEXT( Five examples initialization box
    GROUP 3. X-direction grid specification
GRDPWR(X,40,20.,1.0)
    GROUP 4. Y-direction grid specification
GRDPWR(Y,40,20.,1.0)
    GROUP 5. Z-direction grid specification
GRDPWR(Z,44,22.,1.0)
    GROUP 7. Variables stored, solved & named
STORE(U1,V1)
STORE(PRPS,MARK)
    GROUP 11. Initialization of variable or porosity fields
INIADD=F
 
NAMSAT=MOSG
 
      PLANTBEGIN
    Example 1: Initialization of stagnation point flow
               =======================================
PATCH(INI1,INIVAL,1,NX,1,NY,1,1,1,1)
   VAL=XU2D-10.
COVAL(INI1,U1,zero,GRND)
   VAL=-(YV2D-10.)
COVAL(INI1,V1,zero,GRND)
  >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
   The 1st  slab  of  the  box  is initialized by stagnation
   point flow with the cartesian components as follows:
     U1 = X - 10 and
     V1 = 10- Y.
   In above settings:
     XU2D stands for the distances of the east faces of
          continuity cells from the x=0.0 plane and
     YV2D means the distances of the north faces of
          continuity cells from the y=0.0 plane.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
 
    Example 2: Solid-body rotation flow
               ========================
PATCH(INI2,INIVAL,1,NX,1,NY,2,2,1,1)
   VAL=YG2D-10.
COVAL(INI2,U1,zero,GRND)
   VAL=-(XG2D-10.)
COVAL(INI2,V1,zero,GRND)
  >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
   The 2nd slab is initialized by solid body  rotation  flow
   about domain centre with cartesian components as follows:
     U1 = Y - 10 and
     V1 = 10- X.
   In above settings:
     XG2D stands for the distances of the centres of
          continuity cells from the x=0.0 plane and
     YG2D means the distances of centres of continuity
          cells from the y=0.0 plane.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
 
    Example 3:  Flow superposition
                ==================
PATCH(INI3,INIVAL,1,NX,1,NY,3,3,1,1)
   VAL=-U1[,,-1]+U1[,,1]
COVAL(INI3,U1,zero,GRND)
   VAL=-V1[,,2]+V1[,,-2]
COVAL(INI3,V1,zero,GRND)
  >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
   The flow  in  the  3rd  slab is initialized by adding the
   velocity distributions of 1st and 2nd slabs.
   In above settings:
     a) Indeces [,,-1] and [,,2] refer to the cell velocities
        at 2nd slab and
     b) [,,1] and [,,-2] refer to the 1st slab.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
 
    Example 4: : 2D geometry and velocities initializations
                 ==========================================
  >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
     The flow in the 4th slab is initialized by  making  use
     the  different  distributions  over specifically MARKed
     regions so  as  to  have  better  accord  with  imposed
     geometry.  The  latter  is  the circle chamber with two
     tangentiall passages.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
     ** 2D geometry, X-Y plane
       * Half-circle marked by 2.
FIINIT(MARK)=1.0
PATCH(INIT70,INIVAL,1,NX/2,1,NY,4,4,1,1)
   VAL=XYELLP(2.,10.,10.,8.,8.,0.,0.)
INIT (INIT70,MARK,0.,GRND)
  >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
   In above  statement,  XYELLP function is used to make the
   half-circle of 16 m diameter as follows:
   a) In the west half of 4th slab,
   b) place the ellipse marked by 2 (1st argument), with the
      centre  at  XC=10  m  (2nd  argument) and YC=10 m (3rd
      argument) and both half-axes equal to 8 m  (  4th  and
      5th arguments).
   c) The 6th and 7th function arguments are insignificant
      for the circle shape and CARTES=T.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
       * Half-circle marked by 3.
PATCH(INIT71,INIVAL,NX/2+1,NX,1,NY,4,4,1,1)
   VAL=XYELLP(3.,10.,10.,8.,8.,0.,0.)
INIT (INIT71,MARK,0.,GRND)
  >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
   In above statement,  XYELLP function is used to make  the
   half-circle  of  16  m  diameter  in the east half of the
   domain. The cells inside ellipse are marked by 3.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
       * Rectangular marked by 4.
PATCH(INIT08,INIVAL,1,NX/2,1,NY,4,4,1,1)
   VAL=XYELLP(4.,10.,17.,100.,1.,0.,0.)
INIT (INIT08,MARK,0.,GRND)
  >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
   In above  statement,  XYELLP function is used to make the
   rectangular of 2 m width and 10 m length,  tangential  to
   the circle, as follows:
   a) In the west half of 4th slab,
   b) place the ellipse marked by 4 (1st argument), with the
      centre at XC=10 m (2nd  argument)  and  YC=17  m  (3rd
      argument),  large  (100.m)  X-direction half-axis (4th
      argument) and Y-direction half axis equals to 1.m (5th
      argument).
   c) The 6th and 7th function arguments  are  insignificant
      for the circle shape and CARTES=T.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
       * Rectangular marked by 5.
PATCH(INIT09,INIVAL,NX/2+1,NX,1,NY,4,4,1,1)
   VAL=XYELLP(5.,10.,3.,100.,1.,0.,0.)
INIT (INIT09,MARK,0.,GRND)
  >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
   In above statement,  XYELLP function is used to make  the
   rectangular  of 2 m width and 10 m length,  tangential to
   the circle,  in the east half of the  domain.  The  cells
   inside ellipse are marked by 5.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
       **  Velocities
  >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
    The MARKed  region can not be used be used to initialize
    the velocities in Group 11. Two altenatives are usefull:
    1) Make the initializations at the start of IZ slab for
       the first sweep as shown below:
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
        * Uniform negative velocity of 10 m/s
          in sub-domain MARked by 4
   U1=-10.
   REGION() 4 /ISWEEP.EQ.1
   V1=0.
   REGION() 4 /ISWEEP.EQ.1
        * Uniform negative velocity of 10 m/s
          in sub-domain MARked by 5
   U1=-10.
   REGION() 5 /ISWEEP.EQ.1
   V1=0.
   REGION() 5 /ISWEEP.EQ.1
        * Upward velocity field of second slab
          in sub-domain MARked by 2
   U1=U1[,,2]
   REGION() 2 /ISWEEP.EQ.1
   V1=V1[,,2]
   REGION() 2 /ISWEEP.EQ.1
        * Downward velocity field of second slab
          in sub-domain MARked by 3
   U1=-U1[,,2]
   REGION() 3 /ISWEEP.EQ.1
   V1=-V1[,,2]
   REGION() 3 /ISWEEP.EQ.1
  >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
    The crucial features of the above settings are:
    1 Using dummy REGION  command  with  MARK  as  parameter
       which  ensures that the velocities are initialized in
       accord with the statement relationship for all  cells
       marked by parameter value;
    2  The setting of the switch to first sweep and
    3  Using indicial expressions to refer to the values
       required.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
         U1AD=GRND
            VELAD=-10.
           REGION() 4 /ISWEEP.EQ.1
  >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
    2) Add initial velocities to the default ( zeros) values
       by  means  of  VELAD  option in Group 8 for the first
       sweep as exemplified for region marked 4 above.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
 
    Example 5: 3D geometry and PRPS initializations
               ====================================
  >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
    Unlike for previous examples, the section of 40 IZ-slabs
    is used here to represent the generation of 3D geometry.
    The geometry in question is a spherical chamber of 16  m
    diameter  with  two  cylindrical  passages  tangentially
    joined the sphere.
 
    The generation procedure is to set the MARK values equal
    to   6.0  inside  the  surface  of  two-cylinders-sphere
    assembly.
 
    Then the PRPS are initialized to follow the distribution
    of MARK values.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
     ** 3D geometry, X-Y-Z space
       * Provide the 90 degree angle as a parameter
REAL(ANG)
ANG=3.14159/2.    ; RG(2)=ANG
       * Sphere marked by 6.
PATCH(INIT10,INIVAL,1,NX,1,NY,5,NZ,1,1)
   VAL=SPHERE(6.,10.,10.,12.,8.)
INIT (INIT10,MARK,0.,GRND)
  >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
   In above statement,  SPHERE function is used to make  the
   sphere of 16 m diameter as follows:
   a) In the section of 40 IZ-slabs,
   b) place the sphere marked by 6 (1st argument),  with the
      centre  at  XC=10  m  (2nd  argument),  YC=10  m  (3rd
      argument) and ZC=12 m (4th argument). The 5th argument
      is the sphere radius, 8 m.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
       * Cylinder marked by 6.
PATCH(INIT11,INIVAL,1,NX/2,1,NY,5,NZ,1,1)
   VAL=ELLPSD(6.,10.,16.,12.,100.,2.,2.,$
            0.,RG(2),RG(2),RG(2),0.,RG(2),RG(2),RG(2),0.,0.)
INIT (INIT11,MARK,0.,GRND)
  >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
   In above statement,  ELLPSD function is used to make  the
   cylinder of 2 m radius,  tangentially joining the sphere,
   as follows:
   a) In the east half of the section,
   b) place the ellipsoid marked by 6 (1st  argument),  with
      the  centre  at  XC=10 m (2nd argument),  YC=16 m (3rd
      argument) and ZC=12 m (4th argument).
   c) X-direction  ellipsoid half-axis (5th argument) is set
      to large (100.m) value to ensure  that  the  shape  of
      ellipsoid is virtually cylindrical.
   d) The Y- (6th argument) and Z- (7th argument) directions
      half-axis are set to be cylinder radia, 2 m.
   e) The arguments  8.9  and  10  set  zero  angle  between
      ellipsoid  X-axis  and  corresponding  cartesian frame
      direction,  while the angles between  the  former  and
      other frame directions are kept 90 degrees.
   f) The arguments 11.12 and 13 set 90 degree angle between
      ellipsoid Y-axis and X-cartesian frame direction,  the
      angle between the former  and  the  Y-cartesian  frame
      direction  is  nulified  and  angle  between ellipsoid
      Y-axis and Z-frame direction is kept 90 degree.
   g) The  arguments  14.15  and  16  set  90  degree angles
      between ellipsoid Z-axis  and  X-,  Y-cartesian  frame
      directions, while the angle between the former and the
      Z-cartesian frame direction is nulified.
   h) The 17th argument,  set to zero,  is insignificant for
      CARTES=T.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
       * Cylinder marked by 6.
PATCH(INIT12,INIVAL,NX/2+1,NX,1,NY,5,NZ,1,1)
   VAL=ELLPSD(6.,10.,4.,12.,100.,2.,2.,$
            0.,RG(2),RG(2),RG(2),0.,RG(2),RG(2),RG(2),0.,0.)
INIT (INIT12,MARK,0.,GRND)
  >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
   In above statement,  ELLPSD function is used to make  the
   cylinder  of 2 m radius,  tangentially joining the sphere
   for the west half of the section as explained earlier.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
     ** Properties
PATCH(SS001EXT,INIVAL,1,NX,1,NY,5,NZ,1,1)
   VAL=40.
INIT(SS001EXT,PRPS,0.,GRND)
  >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
   Initialization of  PRPS field by 40 over all cells having
   MARK value equal unity.  The  crucial  feature  of  above
   settings is that special PATCH name,  SS001???,  is to be
   used,  in  which  first  two   characters   specify   the
   particular  action,  Set Space source,  and number 001 is
   the MARK value required.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
  PATCH(SS006INT,INIVAL,1,NX,1,NY,5,NZ,1,1)
  INIT16 VAL=1.
  INIT(SS006INT,PRPS,0.,GRND)
  >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
   Initialization of PRPS field  by  unity  over  all  cells
   having MARK value equal six.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
   PLANTEND
 
  SPEDAT(SET,MATERIAL, 40,L,T)
  SPEDAT(SET,MATERIAL, 1,L,T)
 
    GROUP 15. Termination of sweeps
LSWEEP=1
dmpstk=t
DISTIL=T
EX(U1)=4.311E-01; EX(V1)=4.126E-01
EX(MARK)=2.324E+00; EX(PRPS)=2.761E+01
 LIBREF=605
STOP