GROUP 1. Run title and other preliminaries
TEXT(Wall-functions By In-Form.
TITLE
  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

INTEGER(ICASE)
MESG( Enter the kind of coefficient for the WALL-functions;
MESG( the default is 1 for BLASIUS.
MESG( The options are:
MESG(  1 is BLASIUS,
MESG(  2 is LOGLAW.
MESG(
READVDU(ICASE,INT,1)

  Problem data
REAL(UINL,VINL,HINL,AINL,BINL,UWAL,HWAL,AWAL,BWAL,POUT)
UINL=10.    ! Inlet X velocity
VINL=0.0    ! Inlet Y velocity
HINL=0.0    ! Inlet enthalpy
AINL=0.0    ! Inlet A
BINL=0.0    ! Inlet B
UWAL=0.0    ! Wall velocity
HWAL=1.0    ! Wall enthalpy
AWAL=1.0    ! Wall A
BWAL=1.0    ! Wall B
POUT=0.0    ! Outlet pressure

  GROUP 3. X-direction grid specification
GRDPWR(X,20,0.2,1.0)
 
    GROUP 4. Y-direction grid specification
GRDPWR(Y,20,0.01,1.0)
 
    GROUP 7. Variables stored, solved & named
  ** Solve three extra variables as temperatures with
     different Prandtl numbers.
SOLVE(P1,V1,U1,H1,C1,C2)
NAME(C1)=A; NAME(C2)=B
   *** Store variables to contain the SKIN-friction factor,
   *** STANton number, and shear-STReSs
STORE(SKIN,STAN,STRS)
 
    GROUP 8. Terms (in differential equations) & devices
  ** De-activate the built-in source term
TERMS(H1,N,Y,Y,Y,Y,Y)
 
    GROUP 9. Properties of the medium (or media)
ENUT=1.E-4; ENUL=1.E-5; PRNDTL(H1)=0.7
PRNDTL(A)=0.1; PRNDTL(B)=10.0

    GROUP 11. Initialization of variable or porosity fields
FIINIT(U1)=0.1
 
    GROUP 13. Boundary conditions and special sources
  South Wall !
PATCH(SW,SWALL,1,NX,1,1,1,NZ,1,1)
IF(ICASE.EQ.1) THEN
 COVAL(SW,U1,BLASIUS,UWAL)
 COVAL(SW,H1,BLASIUS,HWAL)
 COVAL(SW, A,BLASIUS,AWAL)
 COVAL(SW, B,BLASIUS,BWAL)
ELSE
 COVAL(SW,U1,LOGLAW,UWAL)
 COVAL(SW,H1,LOGLAW,HWAL)
 COVAL(SW, A,LOGLAW,AWAL)
 COVAL(SW, B,LOGLAW,BWAL)
ENDIF
  North Wall
PATCH(NW,NWALL,1,NX,NY,NY,1,NZ,1,1)
IF(ICASE.EQ.1) THEN
 (SOURCE of U1 at NW is UWAL with BLASIUS)
 (SOURCE of H1 at NW is HWAL with BLASIUS)
 (SOURCE of A  at NW is AWAL with BLASIUS)
 (SOURCE of B  at NW is BWAL with BLASIUS)
ELSE
 (SOURCE of U1 at NW is UWAL with LOGLAW)
 (SOURCE of H1 at NW is HWAL with LOGLAW)
 (SOURCE of A  at NW is AWAL with LOGLAW)
 (SOURCE of B  at NW is BWAL with LOGLAW)
ENDIF
  Inlet
PATCH(IN,WEST,1,1,1,NY,1,1,1,1)
(SOURCE of P1 at IN is RHO1*UINL)
(SOURCE of U1 at IN is UINL with ONLYMS)
(SOURCE of V1 at IN is VINL with ONLYMS)
(SOURCE of H1 at IN is HINL with ONLYMS)
(SOURCE of A  at IN is AINL with ONLYMS)
(SOURCE of B  at IN is BINL with ONLYMS)
  Outlet 
PATCH(OUTLET,EAST,NX,NX,1,NY,1,NZ,1,1)
COVAL(OUTLET,P1,FIXVAL,POUT)
 
    GROUP 15. Termination of sweeps
LSWEEP=50; SELREF=T; RESFAC=0.1

    GROUP 17. Under-relaxation devices
RELAX(U1,FALSDT,0.1); RELAX(V1,FALSDT,0.1)

    GROUP 22. Spot-value print-out
NYPRIN=1; IYMON=19; IXMON=10; TSTSWP=-1

DISTIL=T
EX(P1)=9.890E+00; EX(U1)=1.000E+01; EX(V1)=1.378E-02
EX(H1)=1.434E-01; EX(A )=2.788E-01; EX(B )=3.832E-02
EX(STRS)=4.938E-02; EX(STAN)=1.398E-03; EX(SKIN)=1.102E-03
STOP