```
TALK=F;RUN( 1, 1)

TEXT(2D HEAT CONDUCTION WITH SPACE DEPENDENT SOURCE
title
DISPLAY
This case solves a two-dimensional steady diffusion problem
with space-dependent source and boundary conditions.
It can be tested against exact solution fields.

Equation:
d(dT/dX)/dX + d(dT/dX)/dX +  S(X,Y)  =  0
S(X,Y)  =  2*sinX*sinY
Boundary conditions:
Y = 0 ;  T = 0
Y = 1 ;  T = sin(1)*sin(X)
X = 0 ;  T = 0
X = 1 ;  T = sin(1)*sin(Y)
Exact solution:
T(X,Y) = sin(X)*sin(Y)

ENDDIS
PHOTON USE
p

gr ou z 1
msg           Temperature contours
msg           (Numerical solution)
con tem1 z 1 fi;0.001
msg Press Enter to continue
pause
con off;red
con exac z 1 fi;0.001
msg           Temperature contours
msg             (Exact solution)
msg Press e to END
ENDUSE
GROUP 1. Run title and other preliminaries
REAL(XLENGTH,YLENGTH)
XLENGTH=1.0;YLENGTH=1.0
NX=25;NY=25
GROUP 3. X-direction grid specification
GRDPWR(X,NX,XLENGTH,1.0)
GROUP 4. Y-direction grid specification
GRDPWR(Y,NY,YLENGTH,1.0)
GROUP 7. Variables stored, solved & named
SOLVE(TEM1); STORE(EXAC)
GROUP 8. Terms (in differential equations) & devices
For pure conduction, cut out built-in source and convection terms
TERMS(TEM1,N,N,Y,N,Y,Y)
GROUP 9. Properties of the medium (or media)
PRNDTL(TEM1)=1;ENUL=1.
GROUP 11. Initial values
REAL(XCOR,YCOR,DXC,DYC)
DXC=XULAST/NX
DYC=YVLAST/NY

Following commands set the initial field as.. TEM1 = X + Y
DO II=1,NX
XCOR=0.5*DXC+(II-1)*DXC
DO JJ=1,NY
+ YCOR=0.5*DYC+(JJ-1)*DYC
+ PATCH(I:II:I:JJ:,INIVAL,:II:,:II:,:JJ:,:JJ:,1,NZ,1,1)
+ INIT(I:II:I:JJ:,EXAC,0.0,SIN(XCOR)*SIN(YCOR))
ENDDO
ENDDO
GROUP 13. Boundary conditions and special sources
TEM1=0 at IX=0
PATCH(XEQ0,WWALL,1,1,1,NY,1,1,1,1)
Fix temperature to zero
COVAL(XEQ0,TEM1,1./PRNDTL(TEM1),0.0)
H1=0 at IY=0
PATCH(YEQ0,SWALL,1,NX,1,1,1,1,1,1)
Fix temperature to zero
COVAL(YEQ0,TEM1,1./PRNDTL(TEM1),0.0)

H1=sin1*sinX at Y=1
DO II=1,NX
XCOR=0.5*DXC+(II-1)*DXC
PATCH(YEQ1:II:,NWALL,:II:,:II:,NY,NY,1,1,1,1)
COVAL(YEQ1:II:,TEM1,1./PRNDTL(TEM1),SIN(1.)*SIN(XCOR))
ENDDO
H1=sin1*sinY at X=1
DO II=1,NY
YCOR=0.5*DYC+(II-1)*DYC
PATCH(XEQ1:II:,EWALL,NX,NX,:II:,:II:,1,1,1,1)
COVAL(XEQ1:II:,TEM1,1./PRNDTL(TEM1),SIN(1.)*SIN(YCOR))
ENDDO

Space dependent source
DO II=1,NX
XCOR=0.5*DXC+(II-1)*DXC
DO JJ=1,NY
+ YCOR=0.5*DYC+(JJ-1)*DYC
+ PATCH(S:II:S:JJ:,VOLUME,:II:,:II:,:JJ:,:JJ:,1,1,1,1)
+ COVAL(S:II:S:JJ:,TEM1,FIXFLU,2.*SIN(XCOR)*SIN(YCOR))
ENDDO
ENDDO

GROUP 15. Termination of sweeps
LSWEEP=10
GROUP 21. Print-out of variables
OUTPUT(TEM1,Y,Y,Y,Y,Y,Y)
GROUP 22. Spot-value print-out
IXMON=NX/2+1;IYMON=NY/2+1;IZMON=NZ/2+1
GROUP 23. Field print-out and plot control
NXPRIN=NX/5;NYPRIN=NY/5;NZPRIN=NZ/5;nplt=1

SAVE5BEGIN
(STORED of EXT1 is SIN(XG)*SIN(YG))
(STORED of DTEM is EXT1-TEM1)
SAVE5END

Usp related variables
USP    = T
UAUTO  = F
USPDBG = F
UTCPLT = F
USPVTK = T
USPIMB = F
MXLEV  = 4
MYLEV  = 4
MZLEV  = 4
DOMAT  = -1
MINPRP = -1
MAXPRP = 250
CELLST = 10
FACEST = 10
PARSOL = F

mesg(Do you want to view results in the centres of cells? (y/n)