```
TALK=T;RUN(1,1)
DISPLAY
Numerical Schemes validation example:
2-d x-y, Cartesian, steady, elliptic simulation
This problem concerns the pure convection of a step profile of
a scalar by a unidirectional and uniform flow field, which forms
an angle 45 degrees with the horizontal axis. Since physical
diffusion is absent, no mixing layer should form and the scalar
discontinuity should persist in the streamwise direction. The
example compares the solution for 6 different linear schemes and
9 non-linear schemes for the discretisation of convection.

--> / / / / /                     y  ^
inflow of  --> / / / / / flow at 45 deg         |
'fluid 1' --> / / / / /                        +----->
--> / / / / /                              x
^  ^  ^  ^
|  |  |  |  inflow of
'fluid 2'
ENDDIS
PHOTON USE
P;;;

msg the grid and the velocity vectors
vec z 1;gr z 1;pause;gr off;vec off;red
cl;con USOL z 1 fi;.1
msg usol: Upwind Differencing Scheme, the PHOENICS default

pause; cl
msg poorly performing schemes (omitted for case n122)
pause;cl;con qSOL z 1 fi;.1
msg qsol: QUICK Scheme

pause;cl;con vSOL z 1 fi;.1
msg vsol: Van Aldbda Scheme

pause; cl; con 3SOL z 1 fi;.1
msg 3sol: Cubic Upwind Scheme

pause;cl;con oSOL z 1 fi;.1
msg osol: Ospre Scheme

pause ;cl;con fSOL z 1 fi;.1
msg fsol: Fromm Scheme

pause;cl;con lSOL z 1 fi;.1
msg lsol: Linear upwind Scheme

pause;  cl;con CSOL z 1 fi;.1
msg csol: Cds Scheme
pause; cl
msg better-performing schemes

pause ;  cl;con SSOL z 1 fi;.1
msg ssol: Smart Scheme
pause; cl;con bSOL z 1 fi;.1
msg bsol: Superbee Scheme
pause;cl;con hSOL z 1 fi;.1
msg hsol: Hquick Scheme
pause;cl;con iSOL z 1 fi;.1
msg isol: UMIST Scheme
pause;cl;con kSOL z 1 fi;.1
msg ksol: Koren Scheme
pause;cl;con mSOL z 1 fi;.1
msg msol: Minmod Scheme
pause;cl;con nSOL z 1 fi;.1
msg nsol: Van Leer 1 Scheme
pause;cl;con zSOL z 1 fi;.1
msg zsol: Van Leer 2 Scheme
ENDUSE
************************************************************
Group 1. Run Title and Number
************************************************************
************************************************************

TEXT(point source, various schemes           )

************************************************************
************************************************************

IRUNN = 1 ;LIBREF = 101
************************************************************
Group 2. Time dependence
************************************************************
Group 3. X-Direction Grid Spacing
CARTES = T
NX = 20
XULAST =1.
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.
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(135)=ZSOL
NAME(136)=VSOL ;NAME(137)=USOL
NAME(138)=SSOL ;NAME(139)=QSOL
NAME(140)=OSOL ;NAME(141)=NSOL
NAME(142)=MSOL ;NAME(143)=LSOL
NAME(144)=KSOL ;NAME(145)=ISOL
NAME(146)=HSOL ;NAME(147)=FSOL
NAME(148)=CSOL ;NAME(149)=BSOL
NAME(150)=3SOL
* 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,N,N,N,N,Y)
SOLUTN(U1,Y,N,N,N,N,Y)
SOLUTN(V1,Y,N,N,N,N,Y)
SOLUTN(ZSOL,Y,Y,N,N,N,Y)
SOLUTN(VSOL,Y,Y,N,N,N,Y)
SOLUTN(USOL,Y,Y,N,N,N,Y)
SOLUTN(SSOL,Y,Y,N,N,N,Y)
SOLUTN(QSOL,Y,Y,N,N,N,Y)
SOLUTN(OSOL,Y,Y,N,N,N,Y)
SOLUTN(NSOL,Y,Y,N,N,N,Y)
SOLUTN(MSOL,Y,Y,N,N,N,Y)
SOLUTN(LSOL,Y,Y,N,N,N,Y)
SOLUTN(KSOL,Y,Y,N,N,N,Y)
SOLUTN(ISOL,Y,Y,N,N,N,Y)
SOLUTN(HSOL,Y,Y,N,N,N,Y)
SOLUTN(FSOL,Y,Y,N,N,N,Y)
SOLUTN(CSOL,Y,Y,N,N,N,Y)
SOLUTN(BSOL,Y,Y,N,N,N,Y)
SOLUTN(3SOL,Y,Y,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(ZSOL,N,Y,N,Y,N,Y)
TERMS(VSOL,N,Y,N,Y,Y,Y)
TERMS(USOL,N,Y,N,Y,N,Y)
TERMS(SSOL,N,Y,N,Y,Y,Y)
TERMS(QSOL,N,Y,N,Y,N,Y)
TERMS(OSOL,N,Y,N,Y,Y,Y)
TERMS(NSOL,N,Y,N,Y,N,Y)
TERMS(MSOL,N,Y,N,Y,Y,Y)
TERMS(LSOL,N,Y,N,Y,N,Y)
TERMS(KSOL,N,Y,N,Y,Y,Y)
TERMS(ISOL,N,Y,N,Y,N,Y)
TERMS(HSOL,N,Y,N,Y,Y,Y)
TERMS(FSOL,N,Y,N,Y,N,Y)
TERMS(CSOL,N,Y,N,Y,Y,Y)
TERMS(BSOL,N,Y,N,Y,N,Y)
TERMS(3SOL,N,Y,N,Y,Y,Y)
DIFCUT =0. ;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 =0.
CP1 =1. ;CP2 =1.
************************************************************
Group 10.Inter-Phase Transfer Processes
************************************************************
Group 11.Initial field variables (PHIs)
FIINIT(P1)=1.0E-10 ;FIINIT(U1)=1.
FIINIT(V1)=1. ;FIINIT(ZSOL)=1.0E-10
FIINIT(VSOL)=1.0E-10 ;FIINIT(USOL)=1.0E-10
FIINIT(SSOL)=1.0E-10 ;FIINIT(QSOL)=1.0E-10
FIINIT(OSOL)=1.0E-10 ;FIINIT(NSOL)=1.0E-10
FIINIT(MSOL)=1.0E-10 ;FIINIT(LSOL)=1.0E-10
FIINIT(KSOL)=1.0E-10 ;FIINIT(ISOL)=1.0E-10
FIINIT(HSOL)=1.0E-10 ;FIINIT(FSOL)=1.0E-10
FIINIT(CSOL)=1.0E-10 ;FIINIT(BSOL)=1.0E-10
FIINIT(3SOL)=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(HOCS ,CELL , 0, 0, 0, 0, 0, 0, 1, 1)
COVAL(HOCS ,ZSOL, FIXFLU , GRND2 )
COVAL(HOCS ,VSOL, FIXFLU , GRND2 )
COVAL(HOCS ,SSOL, FIXFLU , GRND2 )
COVAL(HOCS ,QSOL, FIXFLU , GRND1 )
COVAL(HOCS ,OSOL, FIXFLU , GRND2 )
COVAL(HOCS ,NSOL, FIXFLU , GRND2 )
COVAL(HOCS ,MSOL, FIXFLU , GRND2 )
COVAL(HOCS ,LSOL, FIXFLU , GRND1 )
COVAL(HOCS ,KSOL, FIXFLU , GRND2 )
COVAL(HOCS ,ISOL, FIXFLU , GRND2 )
COVAL(HOCS ,HSOL, FIXFLU , GRND2 )
COVAL(HOCS ,FSOL, FIXFLU , GRND1 )
COVAL(HOCS ,CSOL, FIXFLU , GRND1 )
COVAL(HOCS ,BSOL, FIXFLU , GRND2 )
COVAL(HOCS ,3SOL, FIXFLU , GRND1 )

PATCH(INL1 ,WEST , 1, 1, 1, 20, 1, 1, 1, 1)
COVAL(INL1 ,ZSOL,1. ,0. )
COVAL(INL1 ,VSOL,1. ,0. )
COVAL(INL1 ,USOL,1. ,0. )
COVAL(INL1 ,SSOL,1. ,0. )
COVAL(INL1 ,QSOL,1. ,0. )
COVAL(INL1 ,OSOL,1. ,0. )
COVAL(INL1 ,NSOL,1. ,0. )
COVAL(INL1 ,MSOL,1. ,0. )
COVAL(INL1 ,LSOL,1. ,0. )
COVAL(INL1 ,KSOL,1. ,0. )
COVAL(INL1 ,ISOL,1. ,0. )
COVAL(INL1 ,HSOL,1. ,0. )
COVAL(INL1 ,FSOL,1. ,0. )
COVAL(INL1 ,CSOL,1. ,0. )
COVAL(INL1 ,BSOL,1. ,0. )
COVAL(INL1 ,3SOL,1. ,0. )

PATCH(INL2 ,SOUTH , 1, 20, 1, 1, 1, 1, 1, 1)
COVAL(INL2 ,ZSOL,1. ,0. )
COVAL(INL2 ,VSOL,1. ,0. )
COVAL(INL2 ,USOL,1. ,0. )
COVAL(INL2 ,SSOL,1. ,0. )
COVAL(INL2 ,QSOL,1. ,0. )
COVAL(INL2 ,OSOL,1. ,0. )
COVAL(INL2 ,NSOL,1. ,0. )
COVAL(INL2 ,MSOL,1. ,0. )
COVAL(INL2 ,LSOL,1. ,0. )
COVAL(INL2 ,KSOL,1. ,0. )
COVAL(INL2 ,ISOL,1. ,0. )
COVAL(INL2 ,HSOL,1. ,0. )
COVAL(INL2 ,FSOL,1. ,0. )
COVAL(INL2 ,CSOL,1. ,0. )
COVAL(INL2 ,BSOL,1. ,0. )
COVAL(INL2 ,3SOL,1. ,0. )

PATCH(SOURCE ,VOLUME, 3, 3, 3, 3, 1, 1, 1, 1)
COVAL(SOURCE ,ZSOL, FIXFLU ,4. )
COVAL(SOURCE ,VSOL, FIXFLU ,4. )
COVAL(SOURCE ,USOL, FIXFLU ,4. )
COVAL(SOURCE ,SSOL, FIXFLU ,4. )
COVAL(SOURCE ,QSOL, FIXFLU ,4. )
COVAL(SOURCE ,OSOL, FIXFLU ,4. )
COVAL(SOURCE ,NSOL, FIXFLU ,4. )
COVAL(SOURCE ,MSOL, FIXFLU ,4. )
COVAL(SOURCE ,LSOL, FIXFLU ,4. )
COVAL(SOURCE ,KSOL, FIXFLU ,4. )
COVAL(SOURCE ,ISOL, FIXFLU ,4. )
COVAL(SOURCE ,HSOL, FIXFLU ,4. )
COVAL(SOURCE ,FSOL, FIXFLU ,4. )
COVAL(SOURCE ,CSOL, FIXFLU ,4. )
COVAL(SOURCE ,BSOL, FIXFLU ,4. )
COVAL(SOURCE ,3SOL, FIXFLU ,4. )
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(ZSOL)=20 ;LITER(VSOL)=20
LITER(USOL)=20 ;LITER(SSOL)=20
LITER(QSOL)=20 ;LITER(OSOL)=20
LITER(NSOL)=20 ;LITER(MSOL)=20
LITER(LSOL)=20 ;LITER(KSOL)=20
LITER(ISOL)=20 ;LITER(HSOL)=20
LITER(FSOL)=20 ;LITER(CSOL)=20
LITER(BSOL)=20 ;LITER(3SOL)=20
ENDIT(ZSOL)=1.0E-03 ;ENDIT(VSOL)=1.0E-03
ENDIT(USOL)=1.0E-03 ;ENDIT(SSOL)=1.0E-03
ENDIT(QSOL)=1.0E-03 ;ENDIT(OSOL)=1.0E-03
ENDIT(NSOL)=1.0E-03 ;ENDIT(MSOL)=1.0E-03
ENDIT(LSOL)=1.0E-03 ;ENDIT(KSOL)=1.0E-03
ENDIT(ISOL)=1.0E-03 ;ENDIT(HSOL)=1.0E-03
ENDIT(FSOL)=1.0E-03 ;ENDIT(CSOL)=1.0E-03
ENDIT(BSOL)=1.0E-03 ;ENDIT(3SOL)=1.0E-03
************************************************************
Group 17. Relaxation
RELAX(P1,LINRLX,1.)
RELAX(U1,LINRLX,1.)
RELAX(V1,LINRLX,1.)
RELAX(ZSOL,FALSDT,1.0E+09)
RELAX(VSOL,FALSDT,1.0E+09)
RELAX(USOL,FALSDT,1.0E+09)
RELAX(SSOL,FALSDT,0.1)
RELAX(QSOL,FALSDT,1.0E+09)
RELAX(OSOL,FALSDT,1.0E+09)
RELAX(NSOL,FALSDT,1.0E+09)
RELAX(MSOL,FALSDT,1.0E+09)
RELAX(LSOL,FALSDT,1.0E+09)
RELAX(KSOL,FALSDT,0.1)
RELAX(ISOL,FALSDT,1.0E+09)
RELAX(HSOL,FALSDT,1.0E+09)
RELAX(FSOL,FALSDT,1.0E+09)
RELAX(CSOL,FALSDT,1.0E+09)
RELAX(BSOL,FALSDT,1.0E+09)
RELAX(3SOL,FALSDT,1.0E+09)
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(ZSOL)=1.0E+10 ;VARMIN(ZSOL)=-1.0E+10
VARMAX(VSOL)=1.0E+10 ;VARMIN(VSOL)=-1.0E+10
VARMAX(USOL)=1.0E+10 ;VARMIN(USOL)=-1.0E+10
VARMAX(SSOL)=1.0E+10 ;VARMIN(SSOL)=-1.0E+10
VARMAX(QSOL)=1.0E+10 ;VARMIN(QSOL)=-1.0E+10
VARMAX(OSOL)=1.0E+10 ;VARMIN(OSOL)=-1.0E+10
VARMAX(NSOL)=1.0E+10 ;VARMIN(NSOL)=-1.0E+10
VARMAX(MSOL)=1.0E+10 ;VARMIN(MSOL)=-1.0E+10
VARMAX(LSOL)=1.0E+10 ;VARMIN(LSOL)=-1.0E+10
VARMAX(KSOL)=1.0E+10 ;VARMIN(KSOL)=-1.0E+10
VARMAX(ISOL)=1.0E+10 ;VARMIN(ISOL)=-1.0E+10
VARMAX(HSOL)=1.0E+10 ;VARMIN(HSOL)=-1.0E+10
VARMAX(FSOL)=1.0E+10 ;VARMIN(FSOL)=-1.0E+10
VARMAX(CSOL)=1.0E+10 ;VARMIN(CSOL)=-1.0E+10
VARMAX(BSOL)=1.0E+10 ;VARMIN(BSOL)=-1.0E+10
VARMAX(3SOL)=1.0E+10 ;VARMIN(3SOL)=-1.0E+10
************************************************************
Group 19. Data transmitted to GROUND
PARSOL = F
ISG62 = 1
SPEDAT(SET,SCHEME,INLCS139,I,4)
SPEDAT(SET,SCHEME,INLCS148,I,5)
SPEDAT(SET,SCHEME,INLCS143,I,1)
SPEDAT(SET,SCHEME,INLCS150,I,3)
SPEDAT(SET,SCHEME,INLCS147,I,2)
SPEDAT(SET,SCHEME,INLCS138,I,6)
SPEDAT(SET,SCHEME,INLCS144,I,7)
SPEDAT(SET,SCHEME,INLCS142,I,13)
SPEDAT(SET,SCHEME,INLCS136,I,12)
SPEDAT(SET,SCHEME,INLCS149,I,14)
SPEDAT(SET,SCHEME,INLCS146,I,9)
SPEDAT(SET,SCHEME,INLCS141,I,8)
SPEDAT(SET,SCHEME,INLCS135,I,11)
SPEDAT(SET,SCHEME,INLCS140,I,10)
SPEDAT(SET,SCHEME,INLCS145,I,15)
SPEDAT(SET,LONGNAME,USOL,C,Upwind)
SPEDAT(SET,LONGNAME,CSOL,C,Cds)
SPEDAT(SET,LONGNAME,QSOL,C,Quick)
SPEDAT(SET,LONGNAME,LSOL,C,Linear_upwind)
SPEDAT(SET,LONGNAME,3SOL,C,Cubic_upwind)
SPEDAT(SET,LONGNAME,FSOL,C,Fromm's_scheme)
SPEDAT(SET,LONGNAME,SSOL,C,Smart)
SPEDAT(SET,LONGNAME,KSOL,C,Koren)
SPEDAT(SET,LONGNAME,MSOL,C,Minmod)
SPEDAT(SET,LONGNAME,VSOL,C,Van_Aldbda)
SPEDAT(SET,LONGNAME,BSOL,C,Superbee)
SPEDAT(SET,LONGNAME,HSOL,C,Hquick)
SPEDAT(SET,LONGNAME,NSOL,C,Van_Leer_1_(Noll))
SPEDAT(SET,LONGNAME,ZSOL,C,Van_Leer_2_(Zhu))
SPEDAT(SET,LONGNAME,OSOL,C,Ospre)
SPEDAT(SET,LONGNAME,ISOL,C,UMIST)
SPEDAT(SET,GXMONI,PLOTALL,L,T)
************************************************************
Group 20. Preliminary Printout
************************************************************
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,N,N,N)
OUTPUT(U1,N,N,N,N,N,N)
OUTPUT(V1,N,N,N,N,N,N)
OUTPUT(ZSOL,Y,N,Y,Y,Y,Y)
OUTPUT(VSOL,Y,N,Y,Y,Y,Y)
OUTPUT(USOL,Y,N,Y,Y,Y,Y)
OUTPUT(SSOL,Y,N,Y,Y,Y,Y)
OUTPUT(QSOL,Y,N,Y,Y,Y,Y)
OUTPUT(OSOL,Y,N,Y,Y,Y,Y)
OUTPUT(NSOL,Y,N,Y,Y,Y,Y)
OUTPUT(MSOL,Y,N,Y,Y,Y,Y)
OUTPUT(LSOL,Y,N,Y,Y,Y,Y)
OUTPUT(KSOL,Y,N,Y,Y,Y,Y)
OUTPUT(ISOL,Y,N,Y,Y,Y,Y)
OUTPUT(HSOL,Y,N,Y,Y,Y,Y)
OUTPUT(FSOL,Y,N,Y,Y,Y,Y)
OUTPUT(CSOL,Y,N,Y,Y,Y,Y)
OUTPUT(BSOL,Y,N,Y,Y,Y,Y)
OUTPUT(3SOL,Y,N,Y,Y,Y,Y)
************************************************************
Group 22. Monitor Print-Out
IXMON = 10 ;IYMON = 10 ;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 = 10
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
```