PHOTON USE
     p



     set prop off
     gr ou z 1 x 12 25 y 19 21
     gr ou z 1 x 12 25 y 4 18
     gr ou z 1 x 14 23 y 7 18
     gr ou z 1 x 12 25 y 22 31
     gr ou z 1 x 14 23 y 22 29
     *gr ou z 1 x 11 11 y 25 28
     *gr ou z 1 x 26 26 y 25 28
     gr z 1 x 11 11 y 20 21
     gr z 1 x 26 26 y 20 21
     *gr ou z 1 x 26 26 y 7 10
     *gr ou z 1 x 11 11 y 15 18
     gr ou z 1 x 14 16 y 1 3
     gr ou z 1 x 21 23 y 1 3
     gr ou z 1 x 11 11 y 16 17
     gr ou x 11 11 y 15 18
     gr ou z 1 x 26 26 y 8 9
     gr ou x 27 y 7 10
     gr ou z 1 x 11 11 y 26 27
     gr ou x 11 11 y 25 28
     gr ou z 1 x 26 26 y 26 27
     gr ou x 27 y 25 28
     gr ou x 15 15 y 19 21
     gr ou x 16 16 y 19 21
     gr ou x 17 17 y 19 21
     gr ou x 18 18 y 19 21
     gr ou x 19 19 y 19 21
     gr ou x 20 20 y 19 21
     gr ou x 21 21 y 19 21
     gr ou x 22 22 y 19 21
     gr ou x 23 23 y 19 21
     gr ou z 1 x 15 22 y 8 18
     gr ou z 1 x 16 21 y 9 18
     gr ou z 1 x 17 20 y 10 18
     gr ou z 1 x 18 19 y 11 18
     gr ou y 11 11 x 17 23
     gr ou y 15 15 x 14 20
     gr ou x 19 19 y 12 29
     set vec comp uu1 vv1 -
     vec z 1 sh
     set vec comp u2 v2 -
     vec z 1
     msg( Shell and tube fluid velocity vectors
     pause
     vec cl
     red
     set vec comp u1 v1 -
     vec z 1 x 11 m sh
     msg( Thermal displacement vectors in shell and tube bundle
  ENDUSE
  >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>

  DISPLAY
    A 2D shell-and-tube heat-exchanger is used to  exemplify
    essential ideas of HEXAGON model,  which is probably the
    first  to  show  how  the   thermo-hydraulics   of   the
    shell-side  and tube-side fluids could be simultaneously
    computed with the displacements and thermal stresses  in
    tubes   and   shell   to   be   included   in   a   SFT,
    Solid-Fluid-Thermal, heat-exchanger analysis.

    The case illustrates the use a single  computer  program
    to  calculate  from  the  partial-differential equations
    governing relevant fluid processes the distributions of:
    *  shell-side fluid velocity components;
    *  the corresponding temperatures and pressures;
    *  the tube-side fluid velocity components;
    *  the corresponding temperatures and pressures;
    *  the tube metal temperatures; and
    *  the displacements and stresses in the tubes and the shell.

    The heat  exchanger  considered  is  an  imaginary  one,
    having  two  baffles  within the shell,  with the U-bend
    tubes arranged in  array  and  header  distributing  the
    in-fluid between the tubes and collecting out-fluid.

    No attempt  has  been  made to pick-up and implement the
    actual resistance formulae  which  are  widely  used  in
    thermal  engineering.  But  because  PLANT  is  used  to
    represent them,  the artificial formulae can  be  easily
    replaced by required ones.

    The heat exchanger is a rectangular box,  2.0m high,  1m
    wide and 1m long.  It consists of the header,  the hight
    of which is 0.8m and shell closed at the bottom and open
    at the top.  The header is divided into two halfes by  a
    vertical plate.

    The shell  is uniformly filled with the tubes.  The tube
    fluid (water) enters the header through the inlet at its
    west  wall,  flows  downwards in west half of the shell,
    turns through the U bend at the bottom and rises  upward
    in  the  other  shell half to enter the east half of the
    header going out through the outlet at header east side.

    The shell fluid ( air ) entering the shell  through  the
    inlet  at  the  east  wall  is  made to pass between two
    baffles in a zig-zag manner,  until it goes out  through
    the outlet at the top of the west wall of shell.

    Only X-Y  plane  of  the  exchanger  is  included in the
    calculation domain, because of 2D-nature of analysis.

    A uniform 26*32*1 grid is used, to cover computational
    space.

    PLANT is used to:
     * set and/or compute the fluid properties in sub-domains;
     * introduce the non-linear flow resistances ;
     * calculate the distribution of overall heat transfer
       coefficient;
     * calculate the distribution of the tube metal
       temperatures;
     * link the sub-domains for data transfer and
       manipulations and
     * output data processing.
   ENDDIS

    PLANT information :
     * Data input groups used: 9, 13, 19
     * Ground groups planted : 9, 13, 19-6
     * Headings used  : PRPT??,
     * Functions used : None
     * Commands used  : REGION

  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<

TEXT(  HEXAGON 2D : SFT ANALYSIS  FOR A MODEL HEAT EXCHANGER

    ===========================================================
            Whole domain settings
    ===========================================================
REAL(U1IN,LENGTH,HIGHT);U1IN=1.0;LENGTH=2.6;HIGHT=3.2
GRDPWR(X,26,LENGTH,1.);GRDPWR(Y,32,HIGHT,1.)
STORE(EPOR,NPOR)
STORE(PRPS,DEN1,VISL,MARK)
SOLVE(P1,U1,V1,H1)
STORE(U2,V2)
NAME(H1)=TEMP
TERMS(TEMP,N,Y,Y,N,Y,N)
+  SOLVE(TEM1)
+  SOLUTN(TEM1,Y,Y,Y,N,N,Y)
+  TERMS(TEM1,N,Y,Y,Y,Y,Y)
+  FIINIT(TEM1)=0.
INIADD=F
PRNDTL(TEMP)=.702
FIINIT(U1)=U1IN
LSWEEP=400
RESFAC=1.E-8
RELAX(P1,LINRLX,0.25)
RELAX(U1,FALSDT,.075);RELAX(V1,FALSDT,.075)
RELAX(TEMP,FALSDT,3.)
RELAX(TEM1,FALSDT,1.E4)
IXMON=18;IYMON=5;NXPRIN=1;NYPRIN=1
TSTSWP=-1
NAMSAT=MOSG

    ===========================================================
       Sub-domain organization
    ===========================================================
    **  Provide the MARK distribution as a marker to
        distingish:
          header-flow domain        : MARK=1,
          tube-side-flow domain     : MARK=2
          shell-side-flow domain    : MARK=3
          header thermal domain     : MARK=4
          shell-side-thermal domain : MARK=5 and
          tube-wall-thermal domain  : MARK=100
    **  Provide the PRPS distribution for :
                shell material      : PRPS=111,
                tubesheet material  : PRPS=103  and
                tube wall material  : PRPS=100
FIINIT(PRPS)=111.
INTEGER(NNN); NNN=12; IG(1)=NNN

PATCH(BACGRND,INIVAL,12,25,1,31,1,NZ,1,1)
INIT( BACGRND,PRPS, 0.000E+00, 111.)

PATCH(HEADSIDE,INIVAL,1,10,2.*NNN+1,NY,1,NZ,1,1)
INIT( HEADSIDE,MARK, 0.000E+00, 1.)
+     INIT( HEADSIDE,PRPS, 0.000E+00, 0.)

PATCH(TUBESIDE,INIVAL,1,10,NNN+1,24,1,NZ,1,1)
INIT( TUBESIDE,MARK, 0.000E+00, 2.)
+     INIT( TUBESIDE,PRPS, 0.000E+00, 0.)

PATCH(SHELSIDE,INIVAL,1,10,1,NNN,1,NZ,1,1)
INIT( SHELSIDE,MARK, 0.000E+00, 3.)
+     INIT( SHELSIDE,PRPS, 0.000E+00, 0.)

PATCH(TUBSHEET,INIVAL,11,26,19,21,1,NZ,1,1)
INIT( TUBSHEET,PRPS, 0.000E+00, 103.)

PATCH(ADDHEAD,INIVAL,14,23,22,29,1,NZ,1,1)
INIT( ADDHEAD,PRPS, 0.000E+00, 0.)
INIT( ADDHEAD,MARK, 0.000E+00, 4.)

PATCH(ADDSHELL,INIVAL,14,23,7,18,1,NZ,1,1)
INIT( ADDSHELL,PRPS, 0.000E+00, 0.)
INIT( ADDSHELL,MARK, 0.000E+00, 5.)

PATCH(TUBEWALL,INIVAL,16,21,9,18,1,NZ,1,1)
INIT( TUBEWALL,PRPS, 0.000E+00, 100.)
INIT( TUBEWALL,MARK, 0.000E+00, 100.)

PATCH(SUPOR1,INIVAL,11,13,1,3,1,NZ,1,1)
INIT( SUPOR1,PRPS, 0.000E+00, 0.)

PATCH(SUPOR2,INIVAL,17,20,1,3,1,NZ,1,1)
INIT( SUPOR2,PRPS, 0.000E+00, 0.)

PATCH(SUPOR3,INIVAL,24,26,1,3,1,NZ,1,1)
INIT( SUPOR3,PRPS, 0.000E+00, 0.)

PATCH(WESLAYER,INIVAL,11,11,1,32,1,NZ,1,1)
INIT( WESLAYER,PRPS, 0.000E+00, 0.0)

PATCH(EASLAYER,INIVAL,26,26,1,32,1,NZ,1,1)
INIT( EASLAYER,PRPS, 0.000E+00, 0.0)

PATCH(NORLAYER,INIVAL,11,26,32,32,1,NZ,1,1)
INIT( NORLAYER,PRPS, 0.000E+00, 0.0)

    ** Separate tube-fluid and shel-fluid sub-domains.
CONPOR(0.0,NORTH,1,10,NNN,NNN,1,NZ)
    ** Separate thermal-fluid and stress analysis sub-domains.
CONPOR(0.0,EAST,10,10,1,NY,1,NZ)
    ** Provide tube bank porosities.
CONPOR(0.0,EAST,5,5,18,NY,1,NZ)
CONPOR(0.0,NORTH,1,7,8,8,1,NZ)
CONPOR(0.0,NORTH,4,10,4,4,1,NZ)
+  CONPOR(0.5,NORTH,2,9,NNN+1,24,1,NZ)
+  CONPOR(0.5,EAST, 2,9,NNN+2,24,1,NZ)
    ** Provide inserts by way of blockages to
       simulate header dividing plate, U-turnes,
       and baffles.
CONPOR(0.0,NORTH,5,6,16,16,1,NZ)
CONPOR(0.0,NORTH,4,7,15,15,1,NZ)
CONPOR(0.0,NORTH,3,8,14,14,1,NZ)
CONPOR(0.0,NORTH,2,9,NNN+1,NNN+1,1,NZ)
+  CONPOR(0.0,EAST,1,1,14,24,1,NZ)
+  CONPOR(0.0,EAST,2,2,15,24,1,NZ)
+  CONPOR(0.0,EAST,3,3,16,24,1,NZ)
+  CONPOR(0.0,EAST,4,4,17,24,1,NZ)
+  CONPOR(0.0,EAST,5,5,18,24,1,NZ)
+  CONPOR(0.0,EAST,6,6,17,24,1,NZ)
+  CONPOR(0.0,EAST,7,7,16,24,1,NZ)
+  CONPOR(0.0,EAST,8,8,15,24,1,NZ)
+  CONPOR(0.0,EAST,9,9,14,24,1,NZ)

    ===========================================================
       Property settings
    ===========================================================
    ** Settings for the calculation of wall
       distances in the header and in baffled
       shell side.
DISWAL
+  WALL(NL1N,NORTH,1,7,8,8,1,NZ,1,1)
+  COVAL(NL1N,LTLS,1.,0.0)
+  WALL(NL1S,SOUTH,1,7,9,9,1,NZ,1,1)
+  COVAL(NL1S,LTLS,1.,0.0)
WALL(NL2N,NORTH,4,10,4,4,1,NZ,1,1)
COVAL(NL2N,LTLS,1.,0.0)
WALL(NL2S,SOUTH,4,10,5,5,1,NZ,1,1)
COVAL(NL2S,LTLS,1.,0.0)
+  WALL(NL3N,NORTH,1,10,12,12,1,NZ,1,1)
+  COVAL(NL3N,LTLS,1.,0.0)
WALL(NL3S,SOUTH,1,10,1,1,1,NZ,1,1)
COVAL(NL3S,LTLS,1.,0.0)
+  WALL(NL4W1,WEST,1,1,1,9,1,NZ,1,1)
+  COVAL(NL4W1,LTLS,1.,0.0)
WALL(NL4W2,WEST,1,1,12,12,1,NZ,1,1)
COVAL(NL4W2,LTLS,1.,0.0)
+  WALL(NL4E1,EAST,10,10,1,1,1,NZ,1,1)
+  COVAL(NL4E1,LTLS,1.,0.0)
WALL(NL4E1,EAST,10,10,4,12,1,NZ,1,1)
COVAL(NL4E1,LTLS,1.,0.0)
+  WALL(NL5N1,NORTH,1,10,NY,NY,1,NZ,1,1)
+  COVAL(NL5N1,LTLS,1.,0.0)
WALL(NL5W1,WEST,1,1,25,28,1,NZ,1,1)
COVAL(NL5W1,LTLS,1.,0.0)
+  WALL(NL5W2,WEST,1,1,31,32,1,NZ,1,1)
+  COVAL(NL5W2,LTLS,1.,0.0)
WALL(NL5W3,WEST,6,6,25,ny,1,NZ,1,1)
COVAL(NL5W3,LTLS,1.,0.0)
+  WALL(NL5E1,EAST,10,10,25,28,1,NZ,1,1)
+  COVAL(NL5E1,LTLS,1.,0.0)
WALL(NL5E2,EAST,10,10,31,32,1,NZ,1,1)
COVAL(NL5E2,LTLS,1.,0.0)
+  WALL(NL5E3,EAST,5,5,25,ny,1,NZ,1,1)
+  COVAL(NL5E3,LTLS,1.,0.0)
PATCH(FIXL,CELL,1,10,13,24,1,NZ,1,1)
COVAL(FIXL,LTLS,FIXVAL,0.)

RHO1=GRND
ENUL=GRND

    ===========================================================
       Thermal-fluid conditions settings
    ===========================================================
   ** Set the inflow and outflow conditions
    * West boundary; tube-fluid inlet ;
                   2 cells in header west wall
PATCH(INTUBE,WEST,1,1,29,30,1,NZ,1,1)
COVAL(INTUBE,P1,FIXFLU,1000.*U1IN)
COVAL(INTUBE,U1,ONLYMS,U1IN)
COVAL(INTUBE,TEMP,ONLYMS,0.0)
    * East boundary; tube-fluid outlet ;
                   2 cells in header east wall
PATCH(OUTUBE,EAST,10,10,29,30,1,NZ,1,1)
COVAL(OUTUBE,P1,1000.,0.)
    * East boundary; shell-fluid inlet ;
                   2 cells in bottom of shell west wall
PATCH(INSHEL,EAST,10,10,2,3,1,NZ,1,1)
COVAL(INSHEL,P1,FIXFLU,1.2*U1IN)
COVAL(INSHEL,U1,ONLYMS,-U1IN)
COVAL(INSHEL,TEMP,ONLYMS,1.0)
    * West boundary; shell-fluid outlet ;
                   2 cells in header east wall
PATCH(OUSHEL,WEST,1,1,10,11,1,NZ,1,1)
COVAL(OUSHEL,P1,1000.,0.)
    ===========================================================
       Stress analysis
    ===========================================================
  ** General settings
BOOLEAN(CALSTR)
REAL(EXCOLI,EXCOC1,EXCOC2,STIFFN,STIFC1,STIFC2,DSTRSW,DSTRSE,DSTRSS)
REAL(POISSN)
STRA=T;CALSTR=T
STIFFN=2.e11
STIFC1=0.0;STIFC2=0.0
EXCOLI=1.e-03
EXCOC1=0.0;EXCOC2=0.0
POISSN=.3333
ISOLX=0;ISOLY=0;ISOLZ=0
  ** Zero direct-stress condition on bottom shell side
   * West part
PATCH(BASEW,NORTH,12,13,3,3,1,NZ,1,LSTEP)
COVAL(BASEW,V1,FIXFLU,0.0)
   * Middle part
PATCH(BASEM,NORTH,17,20,3,3,1,NZ,1,LSTEP)
COVAL(BASEM,V1,FIXFLU,0.0)
   * East part
PATCH(BASEE,NORTH,24,25,3,3,1,NZ,1,LSTEP)
COVAL(BASEE,V1,FIXFLU,0.0)
  ** Zero direct-stress condition on the supports sides
   *  1st support west side
PATCH(SUP1W,EAST,13,13,1,3,1,NZ,1,LSTEP)
COVAL(SUP1W,U1,FIXFLU,0.0)
   *  1st support east side
PATCH(SUP1E,EAST,16,16,1,3,1,NZ,1,LSTEP)
COVAL(SUP1E,U1,FIXFLU,0.0)
   *  2nd support east side
PATCH(SUP2W,EAST,20,20,1,3,1,NZ,1,LSTEP)
COVAL(SUP2W,U1,FIXFLU,0.0)
   *  2nd support west side
PATCH(SUP2E,EAST,23,23,1,3,1,NZ,1,LSTEP)
COVAL(SUP2E,U1,FIXFLU,0.0)
  ** Zero direct-stresses on outer shell sides
   * West side
PATCH(OUWW,EAST,11,11,4,31,1,NZ,1,LSTEP)
COVAL(OUWW,U1,FIXFLU,0.0)
   * East side
PATCH(OUWE,EAST,25,25,4,31,1,NZ,1,LSTEP)
COVAL(OUWE,U1,FIXFLU,0.0)
   * North side
PATCH(OUWN,NORTH,12,25,31,31,1,NZ,1,LSTEP)
COVAL(OUWN,V1,FIXFLU,0.0)
  ** Zero direct-stresses on inner header sides
   * North side
PATCH(HEDWN,NORTH,14,23,29,29,1,NZ,1,LSTEP)
COVAL(HEDWN,V1,FIXFLU,0.0)
   * South side
PATCH(HEDWS,NORTH,14,23,21,21,1,NZ,1,LSTEP)
COVAL(HEDWS,V1,FIXFLU,0.0)
   * West side
PATCH(HEDWW,EAST,13,13,22,29,1,NZ,1,LSTEP)
COVAL(HEDWW,U1,FIXFLU,0.0)
   * East side
PATCH(HEDWE,EAST,23,23,22,29,1,NZ,1,LSTEP)
COVAL(HEDWE,U1,FIXFLU,0.0)
  ** Zero direct-stresses inner shell sides
   * North-west side
PATCH(SHWNW,NORTH,14,15,18,18,1,NZ,1,LSTEP)
COVAL(SHWNW,V1,FIXFLU,0.0)
   * North-east side
PATCH(SHWNE,NORTH,22,23,18,18,1,NZ,1,LSTEP)
COVAL(SHWNE,V1,FIXFLU,0.0)
   * South side
PATCH(SHWS,NORTH,14,23,6,6,1,NZ,1,LSTEP)
COVAL(SHWS,V1,FIXFLU,0.0)
   * East side
PATCH(SHWW,EAST,13,13,7,18,1,NZ,1,LSTEP)
COVAL(SHWW,U1,FIXFLU,0.0)
   * West side
PATCH(SHWE,EAST,23,23,7,18,1,NZ,1,LSTEP)
COVAL(SHWE,U1,FIXFLU,0.0)
  ** Zero direct-stresses on tube bundle
   * South side
PATCH(TUBS,NORTH,16,21,8,8,1,NZ,1,LSTEP)
COVAL(TUBS,V1,FIXFLU,0.0)
   * West side
PATCH(TUBW,EAST,15,15,9,18,1,NZ,1,LSTEP)
COVAL(TUBW,U1,FIXFLU,0.0)
   * East side
PATCH(TUBE,EAST,21,21,9,18,1,NZ,1,LSTEP)
COVAL(TUBE,U1,FIXFLU,0.0)
  ** Fix displacement at tubesheet west side
PATCH(FIXW,EAST,11,11,19,21,1,NZ,1,LSTEP)
COVAL(FIXW,U1,FIXVAL,0.0)
  ** Fix displacement at the tubesheet east side
PATCH(FIXE,EAST,25,25,19,21,1,NZ,1,LSTEP)
COVAL(FIXE,U1,FIXVAL,0.0)
  PIL fragment providing settings for stress and strain
  post-processing
+    STORE(EPSY,STRY)
+    OUTPUT(EPSY,Y,N,N,N,N,N) ; OUTPUT(STRY,Y,N,N,N,N,N)
+    FIINIT(EPSY)=0.0;FIINIT(STRY)=0.0
+    STORE(EPSX,STRX)
+    OUTPUT(EPSX,Y,N,N,N,N,N) ; OUTPUT(STRX,Y,N,N,N,N,N)
+    FIINIT(EPSX)=0.0;FIINIT(STRX)=0.0
+    STORE(EPST) ; OUTPUT(EPST,Y,N,N,N,N,N);FIINIT(EPST)=0.0

SPEDAT(SET,STRAIN,CALSTR,L,:CALSTR:)
SPEDAT(SET,STRAIN,POISSN,R,:POISSN:)
SPEDAT(SET,STRAIN,EXCOLI,R,:EXCOLI:)
SPEDAT(SET,STRAIN,EXCOC1,R,:EXCOC1:)
SPEDAT(SET,STRAIN,EXCOC2,R,:EXCOC2:)
SPEDAT(SET,STRAIN,STIFFN,R,:STIFFN:)
SPEDAT(SET,STRAIN,STIFC1,R,:STIFC1:)
SPEDAT(SET,STRAIN,STIFC2,R,:STIFC2:)

    PLANTBEGIN
  **  Set the fluid densities:
               Header    : water
               Tube side : water
               Shell side: air
    DEN1=1000.
   REGION() 1
    DEN1=1000.
   REGION() 2
    DEN1=1.2
   REGION() 3
  >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
     The above three statements,  followed  by  the  pointer
     RHO1=GRND  and parameterized REGION commands,  instruct
     PLANT  to  make  the  density  distributions   as   the
     distribition of in-cell marker values dictates.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
   ** Set fluid viscosities
        Header    : effective viscosity proprtional to
                    local velocity magnitude and distance to
                    nearest wall.
        Tube side : Constant=0.01
        Shell side: as for header
    VISL=1.*SQRT(U1**2+V1**2)*WDIS
   REGION() 1
    VISL=0.01
   REGION() 2
    VISL=1.*SQRT(U1**2+V1**2)*WDIS
   REGION() 3
  >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
     The above  three statements do the same for viscosities
     as previous three has done  for  densities.  Note  that
     viscosities  in  the  domains  marked  1 and 3 are made
     proprtional  to  the   products   of   local   velocity
     magnitudes and distances to the nearest wall.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
   **  Non-linear resistance to tube-fluid flow exerted
       by tubes, throughout the U-tube array.
PATCH(SS002U,PHASEM,1,10,1,NY,1,NZ,1,1)
   CO=.2*(U1**2+V1**2)**0.15
COVAL(SS002U,U1,GRND,0.0)
   CO=.2*(U1**2+V1**2)**0.15
COVAL(SS002U,V1,GRND,0.0)
  >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
    Momentum sinks are introduced by above formulae over all
    cells  having  marker  value  appearing in the number of
    PATCH name, 002.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
   **  Non-linear resistance to shell-fluid flow exerted
       by tubes, throughout the shell-side.
PATCH(SS003H,PHASEM,1,10,1,NY,1,NZ,1,1)
   CO=2.2*(U1**2+V1**2)**0.25
COVAL(SS003H,U1,GRND,0.0)
   CO=2.2*(U1**2+V1**2)**0.25
COVAL(SS003H,V1,GRND,0.0)
  >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
    Momentum sinks are introduced by above formulae over all
    cells  having  marker  value  appearing in the number of
    PATCH name, 003.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
    **  Tube fluid heat transfer coefficient
STORE(ALF2);FIINIT(ALF2)=0.0
    ALF2=1.+1.*SQRT(U1**2+V1**2+TINY)
   REGION() 2
    **  Shell fluid heat transfer coefficient
STORE(ALF3);FIINIT(ALF3)=0.0
    ALF3=1.+3.*SQRT(U1**2+V1**2+TINY)
   REGION() 3
  >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
    Tube and  shell  fluid heat transfer coefficients,  ALF2
    and  ALF3,  are  made  dependent   on   local   velocity
    magnitudes   over   the   REGIONs   marked   2   and   3
    correspondingly.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
    **  Overall heat transfer coefficient
STORE(HTC);FIINIT(HTC)=0.0
    HTC=1./(1/ALF2+1/ALF3[,-IG(1),])
   REGION() 2
    HTC=1./(1/ALF3 +1/ALF2[,+IG(1),])
   REGION() 3
  >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
    Overall heat transfer coefficient, HTC, distribution are
    calculated  by  reference  to  appropriate  local   heat
    transfer coefficients in REGIONs 2 and 3.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
    **  Heat-exchange with shell-fluid, throughout the shell.
PATCH(SS002T,PHASEM,1,NX,1,NY,1,NZ,1,1)
   CO =HTC
   VAL=TEMP[,-IG(1),]
COVAL(SS002T,TEMP,GRND,GRND)
    **  Heat-exchange with tube-fluid, throughout the shell.
PATCH(SS003S,PHASEM,1,NX,1,NY,1,NZ,1,1)
   CO =HTC
   VAL=TEMP[,+IG(1),]
COVAL(SS003S,TEMP,GRND,GRND)
  >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
    The PATCH names indicate the sub-domain cell markers , 2
    and 3, over which the heat-exchange sources are applied.
    The  indicial  operations  for  TEMP  are  arranged   in
    appropriate manner.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<

    ===========================================================
       Data preparation for conjugate and stress analysis
    ===========================================================
    ** Transfer shell fluid temperatures
PATCH(SS005T,CELL,1,NX,1,NY,1,NZ,1,1)
   CO=1.e10
   VAL=TEMP[-13,-6,]
COVAL(SS005T,TEM1,GRND,GRND)
  >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
    The temperatures   of   the   shell   fluid,  TEMP,  are
    transfered into the stress analysis sub-domain,  MARK=5,
    to be used as TEM1.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
    **  Tube-wall temperature
PATCH(SS100T,CELL,1,NX,1,NY,1,NZ,1,1)
   CO=1.e10
   VAL=(ALF2[-13,+6,]*TEMP[-13,+6,]+$
                ALF3[-13,-6,]*TEMP[-13,-6,])$
          /(ALF2[-13,+6,]+ALF3[-13,-6,]+TINY)
COVAL(SS100T,TEM1,GRND,GRND)
  >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
    Here the tube wall temperatures, TEM1, are calculated in
    the sub-domain  indicated  by  MARK=100  as  PATCH  name
    number specifies.  TEM1s are computed via shell and tube
    fluid  temperatures  and  heat   transfer   coefficients
    transfered  from  cooresponding  sub-domains as indicial
    numbers show.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
    ** Transfer the header temperatures
PATCH(SS004T,CELL,1,NX,1,NY,1,NZ,1,1)
   CO=1.e10
   VAL=TEMP[-13,+3,]
COVAL(SS004T,TEM1,GRND,GRND)
  >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
    The temperatures of the header  tube  fluid,  TEMP,  are
    transfered into the stress analysis sub-domain,  MARK=4,
    to be used as TEM1.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<


    ===========================================================
       Output data processing
    ===========================================================
     ** Tube fluid velocities transfer
STORE(UU1,VV1)
    UU1=U1[-13,+3,]
   REGION(14,23,22,29,1,NZ)
    VV1=V1[-13,+3,]
   REGION(14,23,22,29,1,NZ)
    UU1=U1[-13,+6,]
   REGION(14,23,7,18,1,NZ)
    VV1=V1[-13,+6,]
   REGION(14,23,7,18,1,NZ)
  >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
    Tube fluid velocities are  transfered  from  where  they
    have been calculated for easy visualisation.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
     ** Shell fluid velocities transfer
    U2=U1[-13,-6,]
   REGION(14,23,7,18,1,NZ)
    V2=V1[-13,-6,]
   REGION(14,23,7,18,1,NZ)
  >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
    Shell fluid velocities are transfered  from  where  they
    have been calculated for easy visualisation.
  <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
    PLANTEND

dvo1dt=excoli
dmpstk=t
DISTIL=T
EX(P1)=7.325E+02; EX(U1)=9.487E-02; EX(U2)=5.730E-02
EX(V1)=1.371E-01; EX(V2)=2.435E-02; EX(TEMP)=1.982E-01
EX(VV1)=1.086E-01; EX(UU1)=3.593E-02; EX(HTC)=2.839E-01
EX(ALF3)=3.517E-01; EX(ALF2)=2.440E-01; EX(EPST)=1.679E-06
EX(STRX)=1.088E+05; EX(EPSX)=2.146E-06; EX(STRY)=2.937E+05
EX(EPSY)=3.295E-06; EX(LTLS)=1.575E-02; EX(WDIS)=5.966E-02
EX(TEM1)=2.956E-01; EX(MARK)=8.774E+00; EX(VISL)=1.851E-02
EX(DEN1)=2.406E+02; EX(PRPS)=3.482E+01; EX(NPOR)=9.014E-01
EX(EPOR)=8.425E-01
 LIBREF=604
STOP