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

  up 1 0 0;vi 0.5 1 0.75
  gr ou x 1;gr ou y 1;gr ou z 1
  gr ou x m;gr ou y m;gr ou z m
  gr ou x 1 y 1 2 z 2 2 col 2
  gr ou x 6 y 1 2 z 7 7 col 2
  gr ou z 4 x 1 4 y 1 3 col 6
  gr ou z 6 x 2 5 y 1 3 col 6
  ve y 2 sh

  msg                3D SHELL-AND-TUBE HEAT EXCHANGER
  msg                --------------------------------
  msg                    Velocity 1 phase:
  msg  Press Enter to continue
  pause;vi 0 1 0
  vec cl;red
  con TFAL y 2 fil;.001
  msg         False-time under-relaxation distribution
  msg Press e to END
  ENDUSE
  DISPLAY
     The 3D flow in a shell om imaginery heat exchanger is
     simulated. The heat exchanger considered has two baffles
     within the shell.

     The self-steering   local  false-time  under-relaxation
     for  the velocities is introduced by PLANTed codings for
     sources as follows:

     TYPE is PHASEM, VALue is SAME, CO, which is reciprocal
     of DTFALS, is set to the local velocity vector magnitude
     divided by smallest distance between walls of continuity
     cell in question plus local diffusivities, i.e. kinematic
     viscosities,  divided  by  the smallest distance squarred.

     Interesting variants include comparison of the rate of
     convergence for conventional once-for-all under-ralaxations
     and PLANTed ones for enul=0.0 and enul=1000 as for
     NX*NY*NZ=5*3*8, and for NY=3 and NY=10 as for enul=0.0.

     FLO1 = mass-flow rate of shell fluid

  ENDDIS
  PLANTBEGIN
PATCH(RELAX,PHASEM,1,NX,1,NY,1,NZ,1,1)
   CO=SQRT(U1**2+W1**2+V1**2)/              AMIN1(DXU2D*1,A$
MIN1(DYV2D*1,DZ*1))+              RG(1)/AMIN1(DXU2D*1,AMIN1(DYV2D*1$
,DZ*1))**2
COVAL(RELAX,U1,GRND,SAME)
   CO=SQRT(U1**2+W1**2+V1**2)/              AMIN1(DXU2D*1,A$
MIN1(DYV2D*1,DZ*1))+              RG(1)/AMIN1(DXU2D*1,AMIN1(DYV2D*1$
,DZ*1))**2
COVAL(RELAX,V1,GRND,SAME)
   CO=SQRT(U1**2+W1**2+V1**2)/              AMIN1(DXU2D*1,A$
MIN1(DYV2D*1,DZ*1))+              RG(1)/AMIN1(DXU2D*1,AMIN1(DYV2D*1$
,DZ*1))**2
COVAL(RELAX,W1,GRND,SAME)
STORE(TFAL);OUTPUT(TFAL,Y,Y,Y,Y,Y,Y)
   TFAL=1/(SQRT(U1**2+W1**2+V1**2)/               AMIN1(DXU2$
D*1,AMIN1(DYV2D*1,DZ*1))+               RG(1)/AMIN1(DXU2D*1,AMIN1(D$
YV2D*1,DZ*1))**2)
  PLANTEND
 ************************************************************
  Group 1. Run Title and Number
 ************************************************************
 ************************************************************
 
 TEXT( SELF-STEERING UNDER-RELAXATION         )
 
 ************************************************************
 ************************************************************
 
 IRUNN = 1 ;LIBREF = 115
 ************************************************************
  Group 2. Time dependence
 STEADY = T
 ************************************************************
  Group 3. X-Direction Grid Spacing
 CARTES = T
 NX = 5
 XULAST =1.
 XFRAC(1)=0.2 ;XFRAC(2)=0.4
 XFRAC(3)=0.6 ;XFRAC(4)=0.8
 XFRAC(5)=1.
 ************************************************************
  Group 4. Y-Direction Grid Spacing
 NY = 3
 YVLAST =0.5
 YFRAC(1)=0.333333 ;YFRAC(2)=0.666667
 YFRAC(3)=1.
 ************************************************************
  Group 5. Z-Direction Grid Spacing
 PARAB = F
 NZ = 8
 ZWLAST =4.
 ZFRAC(1)=0.125 ;ZFRAC(2)=0.25
 ZFRAC(3)=0.375 ;ZFRAC(4)=0.5
 ZFRAC(5)=0.625 ;ZFRAC(6)=0.75
 ZFRAC(7)=0.875 ;ZFRAC(8)=1.
 ************************************************************
  Group 6. Body-Fitted Coordinates
 ************************************************************
  Group 7. Variables: STOREd,SOLVEd,NAMEd
 ONEPHS = T
 NAME(1)=P1 ;NAME(3)=U1
 NAME(5)=V1 ;NAME(7)=W1
 NAME(147)=TFAL ;NAME(148)=HPOR
 NAME(149)=NPOR ;NAME(150)=EPOR
    * 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(W1,Y,Y,N,N,N,Y)
 SOLUTN(TFAL,Y,N,N,N,N,Y)
 SOLUTN(HPOR,Y,N,N,N,N,Y)
 SOLUTN(NPOR,Y,N,N,N,N,Y)
 SOLUTN(EPOR,Y,N,N,N,N,Y)
 EPOR = 150 ;HPOR = 148 ;NPOR = 149 ;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         
 TERMS(P1,Y,Y,Y,N,Y,Y)
 TERMS(U1,Y,Y,Y,Y,Y,Y)
 TERMS(V1,Y,Y,Y,Y,Y,Y)
 TERMS(W1,Y,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 =100. ;ENUT =0.
 PRNDTL(U1)=1. ;PRNDTL(V1)=1.
 PRNDTL(W1)=1.
 PRT(U1)=1. ;PRT(V1)=1.
 PRT(W1)=1.
 CP1 =1. ;CP2 =1.
 ************************************************************
  Group 10.Inter-Phase Transfer Processes
 ************************************************************
  Group 11.Initial field variables (PHIs)
 FIINIT(P1)=1.0E-10 ;FIINIT(U1)=0.
 FIINIT(V1)=0. ;FIINIT(W1)=0.1
 FIINIT(TFAL)=1.0E-10 ;FIINIT(HPOR)=0.5
 FIINIT(NPOR)=0.5 ;FIINIT(EPOR)=0.5
   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(INLET1 ,CELL , 1, 1, 2, 3, 2, 2, 1, 1000)
 COVAL(INLET1 ,P1 , FIXFLU ,0.05 )
 
 PATCH(OUTLET1 ,EAST , 5, 5, 2, 3, 7, 7, 1, 1000)
 COVAL(OUTLET1 ,P1 ,1. ,0. )
 
 PATCH(BAFFLE1 ,HIGH , 1, 4, 1, 3, 3, 3, 1, 1000)
 COVAL(BAFFLE1 ,W1 , FIXVAL ,0. )
 
 PATCH(BAFFLE2 ,HIGH , 2, 5, 1, 3, 5, 5, 1, 1000)
 COVAL(BAFFLE2 ,W1 , FIXVAL ,0. )
 
 PATCH(RELAX ,PHASEM, 1, 5, 1, 3, 1, 8, 1, 1)
 COVAL(RELAX ,U1 , GRND , SAME )
 COVAL(RELAX ,V1 , GRND , SAME )
 COVAL(RELAX ,W1 , GRND , SAME )
 XCYCLE = F
 EGWF = T
 WALLCO = GRND2
 ************************************************************
  Group 14. Downstream Pressure For PARAB
 ************************************************************
  Group 15. Terminate Sweeps
 LSWEEP = 100 ;ISWC1 = 1
 LITHYD = 1 ;LITFLX = 1 ;LITC = 1 ;ITHC1 = 1
 SELREF = T
 RESFAC =1.0E-04
 ************************************************************
  Group 16. Terminate Iterations
 LITER(P1)=100 ;LITER(U1)=10
 LITER(V1)=10 ;LITER(W1)=10
 ENDIT(P1)=1.0E-03 ;ENDIT(U1)=1.0E-03
 ENDIT(V1)=1.0E-03 ;ENDIT(W1)=1.0E-03
 ************************************************************
  Group 17. Relaxation
 RELAX(P1,LINRLX,1.)
 RELAX(U1,FALSDT,1.)
 RELAX(V1,FALSDT,1.)
 RELAX(W1,FALSDT,1.)
 RELAX(TFAL,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(W1)=1.0E+06 ;VARMIN(W1)=-1.0E+06
 VARMAX(TFAL)=1.0E+10 ;VARMIN(TFAL)=-1.0E+10
 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
 ************************************************************
  Group 19. Data transmitted to GROUND
 NAMSAT =MOSG
 PARSOL = F
 ISG62 = 1
 RG( 1) =100.
 ************************************************************
  Group 20. Preliminary Printout
 DISTIL = T ;NULLPR = F
 NDST = 0
 DSTTOL =1.0E-02
 EX(P1)=3704. ;EX(U1)=0.3
 EX(V1)=0.02755 ;EX(W1)=0.3252
 EX(TFAL)=2.776E-04 ;EX(HPOR)=0.
 EX(NPOR)=0. ;EX(EPOR)=0.
 ************************************************************
  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,Y,Y,Y)
 OUTPUT(V1,Y,N,Y,Y,Y,Y)
 OUTPUT(W1,Y,N,Y,Y,Y,Y)
 OUTPUT(TFAL,Y,Y,Y,Y,Y,Y)
 OUTPUT(HPOR,N,N,N,N,N,N)
 OUTPUT(NPOR,N,N,N,N,N,N)
 OUTPUT(EPOR,N,N,N,N,N,N)
 ************************************************************
  Group 22. Monitor Print-Out
 IXMON = 3 ;IYMON = 2 ;IZMON = 4
 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 = T ;YZPR = F
 IPLTF = 1 ;IPLTL = 100 ;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