```
TALK=T;RUN(1,1)
PHOTON USE
p

4. 1. 1.

gr ou z 1
vec z 1 sh
msg                    Velocity distribution:
msg
msg Press Enter to continue
pause;cl
msg                  Concentration distribution :
msg                     Numerical solution
con c1 z 1 fil;0.01
msg Press Enter to continue
pause;con off;red
msg                  Concentration distribution :
msg                     Exact solution
con exac z 1 fil;0.01
msg Press e to END
ENDUSE
DISPLAY
PLANT is activated  to  introduce  the  complex  source  and  to
calculate  the exact solution for output purposes to be compared
against  numerical  one.  Two  alternatives  are  used  for  it:
FIXVALing  of SOLVEd variable EXCT and re-calculation at the end
of solution procedure.  The latter is performed in Group 21.
===================================================
Convection-diffusion problem:
dF/dx=1/Pe*d(dF/dx)/dx+S, where
S= 1-2/Pe+2x+pi*cos(pi*x)+pi^2*sin(pi*x)/Pe
Boundary conditions:
x=0, F=1+exp(-Pe)
x=1, F=4
Exact solution:
F=1+x+x^2+exp(-Pe(1-x))+sin(pi*x)
===================================================
ENDDIS
PLANTBEGIN
* Composite source specification
S= 1-2/Pe+2x+pi*cos(pi*x)+pi^2*sin(pi*x)/Pe

PATCH(SORC1,VOLUME,1,NX,1,NY,1,NZ,1,1)
VAL=1.-2./RG(1)+2.*XG2D
COVAL(SORC1,C1,FIXFLU,GRND)

PATCH(SORC2,VOLUME,1,NX,1,NY,1,NZ,1,1)
VAL=RG(2)*COS(RG(2)*XG2D)
COVAL(SORC2,C1,FIXFLU,GRND)

PATCH(SORC3,VOLUME,1,NX,1,NY,1,NZ,1,1)
VAL=RG(2)**2*SIN(RG(2)*XG2D)/RG(1)
COVAL(SORC3,C1,FIXFLU,GRND)

* Exact solution for output
PATCH(EXACT,CELL,1,NX,1,NY,1,NZ,1,1)
VAL=1.+XG2D+(XG2D)**2
COVAL(EXACT,AUX1,FIXVAL,GRND)
VAL=EXP(-RG(1)*(1.-XG2D))
COVAL(EXACT,AUX2,FIXVAL,GRND)
VAL=SIN(RG(2)*XG2D)
COVAL(EXACT,AUX3,FIXVAL,GRND)
VAL=AUX1+AUX2+AUX3
COVAL(EXACT,EXCT,FIXVAL,GRND)
* Exact solution for output
STORE(EXAC)
EXAC=1.+XG2D+(XG2D)**2+EXP(-RG(1)*(1.-XG2D))+    SIN(RG(\$
2)*XG2D)
PLANTEND
************************************************************
Group 1. Run Title and Number
************************************************************
************************************************************

TEXT(COMPLEX CONVECTION DEPENDENT SOURCE:112 )

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

IRUNN = 1 ;LIBREF = 112
************************************************************
Group 2. Time dependence
************************************************************
Group 3. X-Direction Grid Spacing
CARTES = T
NX = 10
XULAST =1.
XFRAC(1)=0.1 ;XFRAC(2)=0.2
XFRAC(3)=0.3 ;XFRAC(4)=0.4
XFRAC(5)=0.5 ;XFRAC(6)=0.6
XFRAC(7)=0.7 ;XFRAC(8)=0.8
XFRAC(9)=0.9 ;XFRAC(10)=1.
************************************************************
Group 4. Y-Direction Grid Spacing
NY = 2
YVLAST =1.
YFRAC(1)=0.5 ;YFRAC(2)=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(3)=U1 ;NAME(5)=V1
NAME(16)=C1 ;NAME(146)=EXAC
NAME(147)=AUX3 ;NAME(148)=AUX2
NAME(149)=AUX1 ;NAME(150)=EXCT
* Y in SOLUTN argument list denotes:
* 1-stored 2-solved 3-whole-field
* 4-point-by-point 5-explicit 6-harmonic averaging
SOLUTN(U1,Y,N,N,N,N,Y)
SOLUTN(V1,Y,N,N,N,N,Y)
SOLUTN(C1,Y,Y,N,N,N,Y)
SOLUTN(EXAC,Y,N,N,N,N,Y)
SOLUTN(AUX3,Y,Y,N,N,N,Y)
SOLUTN(AUX2,Y,Y,N,N,N,Y)
SOLUTN(AUX1,Y,Y,N,N,N,Y)
SOLUTN(EXCT,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(C1,N,Y,Y,Y,Y,N)
TERMS(AUX3,N,N,N,Y,N,N)
TERMS(AUX2,N,N,N,Y,Y,N)
TERMS(AUX1,N,N,N,Y,N,N)
TERMS(EXCT,N,N,N,Y,Y,N)
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. ;ENUT =0.
PRNDTL(C1)=1.
PRT(C1)=1.
CP1 =1. ;CP2 =1.
************************************************************
Group 10.Inter-Phase Transfer Processes
************************************************************
Group 11.Initial field variables (PHIs)
FIINIT(U1)=1. ;FIINIT(V1)=0.
FIINIT(C1)=1.367879 ;FIINIT(EXAC)=1.0E-10
FIINIT(AUX3)=1.0E-10 ;FIINIT(AUX2)=1.0E-10
FIINIT(AUX1)=1.0E-10 ;FIINIT(EXCT)=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(ICON ,WEST , 1, 1, 1, 2, 1, 1, 1, 1)
COVAL(ICON ,C1 ,1. ,1.367879 )

PATCH(IDIF ,WWALL , 1, 1, 1, 2, 1, 1, 1, 1)
COVAL(IDIF ,C1 ,1. ,1.367879 )

PATCH(ODIF ,EWALL , 10, 10, 1, 2, 1, 1, 1, 1)
COVAL(ODIF ,C1 ,1. ,4. )

PATCH(SORC1 ,VOLUME, 1, 10, 1, 2, 1, 1, 1, 1)
COVAL(SORC1 ,C1 , FIXFLU , GRND )

PATCH(SORC2 ,VOLUME, 1, 10, 1, 2, 1, 1, 1, 1)
COVAL(SORC2 ,C1 , FIXFLU , GRND )

PATCH(SORC3 ,VOLUME, 1, 10, 1, 2, 1, 1, 1, 1)
COVAL(SORC3 ,C1 , FIXFLU , GRND )

PATCH(EXACT ,CELL , 1, 10, 1, 2, 1, 1, 1, 1)
COVAL(EXACT ,AUX3, FIXVAL , GRND )
COVAL(EXACT ,AUX2, FIXVAL , GRND )
COVAL(EXACT ,AUX1, FIXVAL , GRND )
COVAL(EXACT ,EXCT, FIXVAL , GRND )
XCYCLE = F
EGWF = T
WALLCO = GRND2
************************************************************
Group 14. Downstream Pressure For PARAB
************************************************************
Group 15. Terminate Sweeps
LSWEEP = 10 ;ISWC1 = 1
LITHYD = 1 ;LITFLX = 1 ;LITC = 1 ;ITHC1 = 1
SELREF = T
RESFAC =1.0E-04
************************************************************
Group 16. Terminate Iterations
LITER(C1)=20 ;LITER(AUX3)=20
LITER(AUX2)=20 ;LITER(AUX1)=20
LITER(EXCT)=20
ENDIT(C1)=1.0E-03 ;ENDIT(AUX3)=1.0E-03
ENDIT(AUX2)=1.0E-03 ;ENDIT(AUX1)=1.0E-03
ENDIT(EXCT)=1.0E-03
************************************************************
Group 17. Relaxation
RELAX(U1,LINRLX,1.)
RELAX(V1,LINRLX,1.)
RELAX(C1,FALSDT,1.0E+09)
RELAX(EXAC,LINRLX,1.)
RELAX(AUX3,FALSDT,1.0E+09)
RELAX(AUX2,FALSDT,1.0E+09)
RELAX(AUX1,FALSDT,1.0E+09)
RELAX(EXCT,FALSDT,1.0E+09)
OVRRLX =0.
EXPERT = F ;NNORSL = F
************************************************************
Group 18. Limits
VARMAX(U1)=1.0E+06 ;VARMIN(U1)=-1.0E+06
VARMAX(V1)=1.0E+06 ;VARMIN(V1)=-1.0E+06
VARMAX(C1)=1.0E+10 ;VARMIN(C1)=-1.0E+10
VARMAX(EXAC)=1.0E+10 ;VARMIN(EXAC)=-1.0E+10
VARMAX(AUX3)=1.0E+10 ;VARMIN(AUX3)=-1.0E+10
VARMAX(AUX2)=1.0E+10 ;VARMIN(AUX2)=-1.0E+10
VARMAX(AUX1)=1.0E+10 ;VARMIN(AUX1)=-1.0E+10
VARMAX(EXCT)=1.0E+10 ;VARMIN(EXCT)=-1.0E+10
************************************************************
Group 19. Data transmitted to GROUND
NAMSAT =MOSG
PARSOL = F
ISG62 = 1
RG( 1) =1.
RG( 2) =3.14159
************************************************************
Group 20. Preliminary Printout
DISTIL = T ;NULLPR = F
NDST = 0
DSTTOL =1.0E-02
EX(U1)=1. ;EX(V1)=0.
EX(C1)=3.107 ;EX(EXAC)=3.104
EX(AUX3)=0. ;EX(AUX2)=0.
EX(AUX1)=0. ;EX(EXCT)=3.104
************************************************************
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(U1,Y,N,Y,N,N,N)
OUTPUT(V1,Y,N,Y,N,N,N)
OUTPUT(C1,Y,N,Y,Y,Y,Y)
OUTPUT(EXAC,Y,N,Y,N,N,N)
OUTPUT(AUX3,N,N,N,N,N,N)
OUTPUT(AUX2,N,N,N,N,N,N)
OUTPUT(AUX1,N,N,N,N,N,N)
OUTPUT(EXCT,Y,N,N,N,N,N)
************************************************************
Group 22. Monitor Print-Out
IXMON = 12 ;IYMON = 1 ;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
```