TALK=T;RUN(1,1)
   PHOTON USE
   AUTOPLOT
   file
   phi 5

   cl
   msg Bingham-fluid pipe flow; Re = 10; Yield No = 2.5
   msg
   msg W1 profile: Blue line from PHOENICS; crosses from analysis
   da 1 w1;da 1 w1a
   col3 1;blb4 2
   pause
   END_USE
  DISPLAY

    GROUP 1. Run title and other preliminaries


  The problem concerns the steady fully-developed laminar flow of
  a Bingham-plastic non-Newtonian fluid in a pipe. This type of
  fluid remains rigid when the shearing stress is less than the
  yield stress tauy and flows somewhat like a Newtonian fluid when
  the shearing stress exceeds tauy.

  The apparent viscosity of such a fluid is given by the following
  two-paramter formula:

    enul = [n + tauy/(dw/dy)]/rho    for tau >  tauy

    enul = infinity                  for tau << tauy

  where n is the rigidity coefficient, and tau is the shear stress.
  Examples of fluids which behave as, or nearly as, Bingham
  plastics include water suspensions of clay, sewage sludge, some
  emulsions and thickened hydrocarbon greases.
  For fully-developed flow the approximate analytical solution for
  the pressure drop is given by:

    dp/dz = 32.*rho*win**2*[1+Y/6]/Re/D

  where D is the pipe diameter, win the mean velocity, Re the
  Bingham Reynolds number, defined by:

    Re = rho*win*D/n

  and Y the yield number, defined by:

    Y = D*tauy/(win*n)

  The approximate analytical solution for the velocity profile
  is coded below in PIL and provided on the RESULT and PHI/PHIDA
  for comparison with the PHOENICS solution.

  The problem is solved by use of the single-slab solver.

  ** GXPRPS=T activates ENUL coding via the file GXPRPS
     for which
  enddis
 ************************************************************
  Group 1. Run Title and Number
 ************************************************************
 ************************************************************
 
 TEXT(Bingham-Fluid FD Lam Pipe Flow          )
 
 ************************************************************
 ************************************************************
 
 IRUNN = 1 ;LIBREF = 14
 ************************************************************
  Group 2. Time dependence
 STEADY = T
 ************************************************************
  Group 3. X-Direction Grid Spacing
 CARTES = F
 NX = 1
 XULAST =1.
 XFRAC(1)=1.
 ************************************************************
  Group 4. Y-Direction Grid Spacing
 NY = 20
 YVLAST =0.1
 YFRAC(1)=0.05 ;YFRAC(2)=0.1
 YFRAC(3)=0.15 ;YFRAC(4)=0.2
 YFRAC(5)=0.25 ;YFRAC(6)=0.3
 YFRAC(7)=0.35 ;YFRAC(8)=0.4
 YFRAC(9)=0.45 ;YFRAC(10)=0.5
 YFRAC(11)=0.55 ;YFRAC(12)=0.6
 YFRAC(13)=0.65 ;YFRAC(14)=0.7
 YFRAC(15)=0.75 ;YFRAC(16)=0.8
 YFRAC(17)=0.85 ;YFRAC(18)=0.9
 YFRAC(19)=0.95 ;YFRAC(20)=1.
 ************************************************************
  Group 5. Z-Direction Grid Spacing
 PARAB = F
 NZ = 1
 ZWLAST =0.1
 ZFRAC(1)=1.
 ************************************************************
  Group 6. Body-Fitted Coordinates
 ************************************************************
  Group 7. Variables: STOREd,SOLVEd,NAMEd
 ONEPHS = T
 NAME(7)=W1 ;NAME(147)=GEN1
 NAME(148)=BTAU ;NAME(149)=VISL
 NAME(150)=W1A
    * Y in SOLUTN argument list denotes:
    * 1-stored 2-solved 3-whole-field
    * 4-point-by-point 5-explicit 6-harmonic averaging 
 SOLUTN(W1,Y,Y,N,N,N,Y)
 SOLUTN(GEN1,Y,N,N,N,N,Y)
 SOLUTN(BTAU,Y,N,N,N,N,Y)
 SOLUTN(VISL,Y,N,N,N,N,Y)
 SOLUTN(W1A,Y,N,N,N,N,Y)
 VISL = 149
 ************************************************************
  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(W1,N,N,Y,Y,Y,Y)
 DIFCUT =0.5 ;ZDIFAC =1.
 GALA = F ;ADDDIF = F
 NEWENL = T
 USOURC = 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 = GRND5 ;ENUT =0.
 ENULA =0.02 ;ENULB =0.25 ;ENULC =0. ;ENULD =0.
 ENULE =0. ;ENULF =0. ;ENULG =0.
 IENULA = 0 ;IENULB = 0
 PRNDTL(W1)=1.
 PRT(W1)=1.
 CP1 =1. ;CP2 =1.
   *  List of user-defined materials to be read by EARTH
    MATFLG=T;IMAT=1   
   *  Name
   *Ind. Dens.  Viscos.  Spec.heat  Conduct.  Expans.  Compr.
   *  
    33 1. GRND5 1. 1. 0
   *       constants for GRND option no 1
    0.02 0.25
 ************************************************************
  Group 10.Inter-Phase Transfer Processes
 ************************************************************
  Group 11.Initial field variables (PHIs)
 FIINIT(W1)=1. ;FIINIT(GEN1)=1.0E-10
 FIINIT(BTAU)=1.0E-10 ;FIINIT(VISL)=1.0E-10
 FIINIT(W1A)=1.0E-10
 
 PATCH(IN1 ,INIVAL, 1, 1, 1, 1, 1, 1, 1, 1)
 INIT(IN1 ,W1A ,0. ,1.721201 )
 
 PATCH(IN2 ,INIVAL, 1, 1, 2, 2, 1, 1, 1, 1)
 INIT(IN2 ,W1A ,0. ,1.721201 )
 
 PATCH(IN3 ,INIVAL, 1, 1, 3, 3, 1, 1, 1, 1)
 INIT(IN3 ,W1A ,0. ,1.721201 )
 
 PATCH(IN4 ,INIVAL, 1, 1, 4, 4, 1, 1, 1, 1)
 INIT(IN4 ,W1A ,0. ,1.721201 )
 
 PATCH(IN5 ,INIVAL, 1, 1, 5, 5, 1, 1, 1, 1)
 INIT(IN5 ,W1A ,0. ,1.721146 )
 
 PATCH(IN6 ,INIVAL, 1, 1, 6, 6, 1, 1, 1, 1)
 INIT(IN6 ,W1A ,0. ,1.712812 )
 
 PATCH(IN7 ,INIVAL, 1, 1, 7, 7, 1, 1, 1, 1)
 INIT(IN7 ,W1A ,0. ,1.690312 )
 
 PATCH(IN8 ,INIVAL, 1, 1, 8, 8, 1, 1, 1, 1)
 INIT(IN8 ,W1A ,0. ,1.653646 )
 
 PATCH(IN9 ,INIVAL, 1, 1, 9, 9, 1, 1, 1, 1)
 INIT(IN9 ,W1A ,0. ,1.602812 )
 
 PATCH(IN10 ,INIVAL, 1, 1, 10, 10, 1, 1, 1, 1)
 INIT(IN10 ,W1A ,0. ,1.537812 )
 
 PATCH(IN11 ,INIVAL, 1, 1, 11, 11, 1, 1, 1, 1)
 INIT(IN11 ,W1A ,0. ,1.458646 )
 
 PATCH(IN12 ,INIVAL, 1, 1, 12, 12, 1, 1, 1, 1)
 INIT(IN12 ,W1A ,0. ,1.365312 )
 
 PATCH(IN13 ,INIVAL, 1, 1, 13, 13, 1, 1, 1, 1)
 INIT(IN13 ,W1A ,0. ,1.257812 )
 
 PATCH(IN14 ,INIVAL, 1, 1, 14, 14, 1, 1, 1, 1)
 INIT(IN14 ,W1A ,0. ,1.136146 )
 
 PATCH(IN15 ,INIVAL, 1, 1, 15, 15, 1, 1, 1, 1)
 INIT(IN15 ,W1A ,0. ,1.000312 )
 
 PATCH(IN16 ,INIVAL, 1, 1, 16, 16, 1, 1, 1, 1)
 INIT(IN16 ,W1A ,0. ,0.850312 )
 
 PATCH(IN17 ,INIVAL, 1, 1, 17, 17, 1, 1, 1, 1)
 INIT(IN17 ,W1A ,0. ,0.686146 )
 
 PATCH(IN18 ,INIVAL, 1, 1, 18, 18, 1, 1, 1, 1)
 INIT(IN18 ,W1A ,0. ,0.507812 )
 
 PATCH(IN19 ,INIVAL, 1, 1, 19, 19, 1, 1, 1, 1)
 INIT(IN19 ,W1A ,0. ,0.315313 )
 
 PATCH(IN20 ,INIVAL, 1, 1, 20, 20, 1, 1, 1, 1)
 INIT(IN20 ,W1A ,0. ,0.108646 )
 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(WALL ,NWALL , 1, 1, 20, 20, 1, 1, 1, 1)
 COVAL(WALL ,W1 ,1. ,0. )
 
 PATCH(FDFW1DP ,VOLUME, 1, 1, 1, 20, 1, 1, 1, 1)
 COVAL(FDFW1DP ,W1 ,5.0E-03 , GRND1 )
 XCYCLE = F
 EGWF = T
 WALLCO = GRND2
 ************************************************************
  Group 14. Downstream Pressure For PARAB
 ************************************************************
  Group 15. Terminate Sweeps
 LSWEEP = 10 ;ISWC1 = 1
 LITHYD = 30 ;LITFLX = 1 ;LITC = 1 ;ITHC1 = 1
 SELREF = T
 RESFAC =1.0E-05
 ************************************************************
  Group 16. Terminate Iterations
 LITER(W1)=10
 ENDIT(W1)=1.0E-03
 ************************************************************
  Group 17. Relaxation
 RELAX(W1,FALSDT,0.125)
 RELAX(GEN1,LINRLX,1.)
 RELAX(BTAU,LINRLX,1.)
 RELAX(VISL,LINRLX,1.)
 RELAX(W1A,LINRLX,1.)
 OVRRLX =0.
 EXPERT = F ;NNORSL = F
 ************************************************************
  Group 18. Limits
 VARMAX(W1)=1.0E+06 ;VARMIN(W1)=-1.0E+06
 VARMAX(GEN1)=1.0E+10 ;VARMIN(GEN1)=-1.0E+10
 VARMAX(BTAU)=1.0E+10 ;VARMIN(BTAU)=-1.0E+10
 VARMAX(VISL)=1.0E+10 ;VARMIN(VISL)=-1.0E+10
 VARMAX(W1A)=1.0E+10 ;VARMIN(W1A)=-1.0E+10
 ************************************************************
  Group 19. Data transmitted to GROUND
 DWDY = T
 FDFSOL = T
 PARSOL = F
 ISG62 = 1
 SPEDAT(SET,GXMONI,PLOTALL,L,T)
 ************************************************************
  Group 20. Preliminary Printout
 DISTIL = T ;NULLPR = F
 NDST = 0
 DSTTOL =1.0E-02
 EX(W1)=0. ;EX(GEN1)=0.
 EX(BTAU)=0. ;EX(VISL)=0.
 EX(W1A)=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(W1,Y,N,Y,Y,Y,Y)
 OUTPUT(GEN1,Y,N,Y,N,N,N)
 OUTPUT(BTAU,Y,N,Y,N,N,N)
 OUTPUT(VISL,Y,N,N,Y,Y,Y)
 OUTPUT(W1A,Y,N,Y,N,N,N)
 ************************************************************
  Group 22. Monitor Print-Out
 IXMON = 1 ;IYMON = 20 ;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
 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
STOP