```
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
************************************************************
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.
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
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)
SPEDAT(SET,GXMONI,PLOTALL,L,T)
************************************************************
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
```