TALK=T;RUN(1,1)
  DISPLAY
   This example illustrates a use of then In-Form SOURCE statement
   for the introduction of inlet and wall boundary conditions for
   fluid flow and heat transfer in a plane channel.

             //////////////////// North Wall ///////////////////////
  Constant   -------------------------------------------------------
  specified --->                                                ->
  mass-flux --->                                                -->
  velocity  --->                                                ->
  and           ----------------------------------------------------
  temperature//////////////////// South Wall ///////////////////////
              ^ y
              |-------> x-direction

  North wall boundary condition is set by In-Form.
  South wall is set by PHOENICS standard way.

  If the boundary conditions on north and south walls are
  identical the results of calculation should be symmetric.
  The Q1 contains PHOTON USE commands
  ENDDIS
  PHOTON USE
  p
  phi
  1 8 1

  msg picture is enlarged 8 times in y direction
  gr ou z 1
  msg contours of B with Pr = 10.0
  con b z 1 fi;0.001;upause 2;con off; red
  msg contours of A with Pr = 0.1
  con a z 1 fi;0.001;upause 2;con off; red
  msg contours of H1 with Pr = 0.7
  con h1 z 1 fi;0.001;upause 2
  msg velocity vectors
  vec z 1
  enduse
 ************************************************************
  Group 1. Run Title and Number
 ************************************************************
 ************************************************************
 
 TEXT(Wall-functions By In-Form.              )
 
 ************************************************************
 ************************************************************
 
 IRUNN = 1 ;LIBREF = 14
 ************************************************************
  Group 2. Time dependence
 STEADY = T
 ************************************************************
  Group 3. X-Direction Grid Spacing
 CARTES = T
 NX = 20
 XULAST =0.2
 XFRAC(1)=0.05 ;XFRAC(2)=0.1
 XFRAC(3)=0.15 ;XFRAC(4)=0.2
 XFRAC(5)=0.25 ;XFRAC(6)=0.3
 XFRAC(7)=0.35 ;XFRAC(8)=0.4
 XFRAC(9)=0.45 ;XFRAC(10)=0.5
 XFRAC(11)=0.55 ;XFRAC(12)=0.6
 XFRAC(13)=0.65 ;XFRAC(14)=0.7
 XFRAC(15)=0.75 ;XFRAC(16)=0.8
 XFRAC(17)=0.85 ;XFRAC(18)=0.9
 XFRAC(19)=0.95 ;XFRAC(20)=1.
 ************************************************************
  Group 4. Y-Direction Grid Spacing
 NY = 20
 YVLAST =1.0E-02
 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 =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(14)=H1
 NAME(16)=A ;NAME(17)=B
 NAME(148)=STRS ;NAME(149)=STAN
 NAME(150)=SKIN
    * 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(H1,Y,Y,N,N,N,Y)
 SOLUTN(A,Y,Y,N,N,N,Y)
 SOLUTN(B,Y,Y,N,N,N,Y)
 SOLUTN(STRS,Y,N,N,N,N,Y)
 SOLUTN(STAN,Y,N,N,N,N,Y)
 SOLUTN(SKIN,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)
 TERMS(H1,N,Y,Y,Y,Y,Y)
 TERMS(A,N,Y,Y,Y,Y,Y)
 TERMS(B,N,Y,Y,Y,N,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 =1.0E-05 ;ENUT =1.0E-04
 PRNDTL(U1)=1. ;PRNDTL(V1)=1.
 PRNDTL(H1)=0.7 ;PRNDTL(A)=0.1
 PRNDTL(B)=10.
 PRT(U1)=1. ;PRT(V1)=1.
 PRT(H1)=1. ;PRT(A)=1.
 PRT(B)=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.1
 FIINIT(V1)=1.0E-10 ;FIINIT(H1)=1.0E-10
 FIINIT(A)=1.0E-10 ;FIINIT(B)=1.0E-10
 FIINIT(STRS)=1.0E-10 ;FIINIT(STAN)=1.0E-10
 FIINIT(SKIN)=1.0E-10
   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(SW ,SWALL , 1, 20, 1, 1, 1, 1, 1, 1)
 COVAL(SW ,U1 , GRND1 ,0. )
 COVAL(SW ,H1 , GRND1 ,1. )
 COVAL(SW ,A , GRND1 ,1. )
 COVAL(SW ,B , GRND1 ,1. )
 
 PATCH(NW ,NWALL , 1, 20, 20, 20, 1, 1, 1, 1)
 COVAL(NW ,U1 , GRND1 ,-0.123456 )
 COVAL(NW ,H1 , GRND1 ,-0.123456 )
 COVAL(NW ,A , GRND1 ,-0.123456 )
 COVAL(NW ,B , GRND1 ,-0.123456 )
 
 PATCH(IN ,WEST , 1, 1, 1, 20, 1, 1, 1, 1)
 COVAL(IN ,P1 ,In-Form:source - see Grp 19)
 COVAL(IN ,U1 ,In-Form:source - see Grp 19)
 COVAL(IN ,V1 ,In-Form:source - see Grp 19)
 COVAL(IN ,H1 ,In-Form:source - see Grp 19)
 COVAL(IN ,A ,In-Form:source - see Grp 19)
 COVAL(IN ,B ,In-Form:source - see Grp 19)
 
 PATCH(OUTLET ,EAST , 20, 20, 1, 20, 1, 1, 1, 1)
 COVAL(OUTLET ,P1 , FIXVAL ,0. )
 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 =0.1
 ************************************************************
  Group 16. Terminate Iterations
 LITER(P1)=20 ;LITER(U1)=10
 LITER(V1)=10 ;LITER(H1)=20
 LITER(A)=20 ;LITER(B)=20
 ENDIT(P1)=1.0E-03 ;ENDIT(U1)=1.0E-03
 ENDIT(V1)=1.0E-03 ;ENDIT(H1)=1.0E-03
 ENDIT(A)=1.0E-03 ;ENDIT(B)=1.0E-03
 ************************************************************
  Group 17. Relaxation
 RELAX(P1,LINRLX,1.)
 RELAX(U1,FALSDT,0.1)
 RELAX(V1,FALSDT,0.1)
 RELAX(H1,FALSDT,1.0E+09)
 RELAX(A,FALSDT,1.0E+09)
 RELAX(B,FALSDT,1.0E+09)
 RELAX(STRS,LINRLX,1.)
 RELAX(STAN,LINRLX,1.)
 RELAX(SKIN,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(H1)=1.0E+10 ;VARMIN(H1)=-1.0E+10
 VARMAX(A)=1.0E+10 ;VARMIN(A)=-1.0E+10
 VARMAX(B)=1.0E+10 ;VARMIN(B)=-1.0E+10
 VARMAX(STRS)=1.0E+10 ;VARMIN(STRS)=-1.0E+10
 VARMAX(STAN)=1.0E+10 ;VARMIN(STAN)=-1.0E+10
 VARMAX(SKIN)=1.0E+10 ;VARMIN(SKIN)=-1.0E+10
 ************************************************************
  Group 19. Data transmitted to GROUND
 PARSOL = F
 ISG62 = 1
 SPEDAT(SET,SOURCE,U1!NW,C,=0.!BLASIUS)
 SPEDAT(SET,SOURCE,H1!NW,C,=1.!BLASIUS)
 SPEDAT(SET,SOURCE,A!NW,C,=1.!BLASIUS)
 SPEDAT(SET,SOURCE,B!NW,C,=1.!BLASIUS)
 SPEDAT(SET,SOURCE,R1!IN,C,=RHO1*10.)
 SPEDAT(SET,SOURCE,U1!IN,C,=10.!ONLYMS)
 SPEDAT(SET,SOURCE,V1!IN,C,=0.!ONLYMS)
 SPEDAT(SET,SOURCE,H1!IN,C,=0.!ONLYMS)
 SPEDAT(SET,SOURCE,A!IN,C,=0.!ONLYMS)
 SPEDAT(SET,SOURCE,B!IN,C,=0.!ONLYMS)
 ************************************************************
  Group 20. Preliminary Printout
 DISTIL = T ;NULLPR = F
 NDST = 0
 DSTTOL =1.0E-02
 EX(P1)=9.89 ;EX(U1)=10.
 EX(V1)=0.01378 ;EX(H1)=0.1434
 EX(A)=0.2788 ;EX(B)=0.03832
 EX(STRS)=0.04938 ;EX(STAN)=1.398E-03
 EX(SKIN)=1.102E-03
 ************************************************************
  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(H1,Y,N,Y,Y,Y,Y)
 OUTPUT(A,Y,N,Y,Y,Y,Y)
 OUTPUT(B,Y,N,Y,Y,Y,Y)
 OUTPUT(STRS,Y,N,Y,N,N,N)
 OUTPUT(STAN,Y,N,Y,N,N,N)
 OUTPUT(SKIN,Y,N,Y,N,N,N)
 ************************************************************
  Group 22. Monitor Print-Out
 IXMON = 10 ;IYMON = 19 ;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
 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
STOP