```
GROUP 1. Run title and other preliminaries
TITLE
DISPLAY
The system simulated is a horizontal cylindrical heat
exchanger. Water enters the heat exchanger at the side,
and is directed tangentially. It leaves through a vent
at the top of the cylinder. Because of symmetry, only a
180 degree sector is considered as the domain of
integration in cylindrical-polar coordinates.

In its passage through the heat exchanger, the water is
heated by a tube bank which supplies a constant heat flux
in to the water. The blockage to flow caused by the
presence of the tube bank is represented by means of
porosity factors set by the command CONPOR. Momentum sinks
representing the resistive effect of the tubes have not
been included.

The flow pattern is governed chiefly by buoyancy effects,
with the result that for some heating rates, unexpected
flow patterns are produced which cause hot spots to appear.
The flow is laminar throughout.
ENDDIS

REAL(TINLET,POWER,GRAVTY);TINLET=28.7;POWER=10.0
DVO1DT=5.12E-4*CP1;GRAVTY=9.81

GROUP 3. X-direction grid specification
CARTES=F;GRDPWR(X,28,3.1416,1.0)
GROUP 4. Y-direction grid specification
GRDPWR(Y,28,0.37,1.0)
GROUP 7. Variables stored, solved & named
**The enthalpy variable, H1, is used for the temperature of
the water. This is effected by the prescription of a
temperature rather than an enthalpy value at inlet, and
by the de-activation of the built-in sources of H1. The
variable is not re-named as TEMP because H1 is recognized
in GXBUOY as the field that drives the buoyancy force.
SOLVE(P1,U1,V1,H1)
GROUP 8. Terms (in differential equations) and devices.
** Cut out the built-in source term
TERMS(H1,N,P,P,P,P,P)
GROUP 9. Properties of the medium (or media)
RHO1=1.0E3;ENUL=1.E-6;PRNDTL(H1)=6.0
GROUP 11. Initialization of variable or porosity fields
FIINIT(H1)=TINLET
**The tube banks which extend to 4/5ths of the radius are
represented by a porosity factor of 0.8 .
CONPOR(0.8,VOLUME,1,NX,1,4*NY/5,1,1)
CONPOR(0.8,EAST,1,NX,1,4*NY/5,1,1)
CONPOR(0.8,NORTH,1,NX,1,4*NY/5,1,1)

GROUP 13. Boundary conditions and special sources
** Water inlet at the side of the cylinder...
INLET(INLET,EAST,NX/2-1,NX/2-1,NY-1,NY-1,1,1,1,1)
VALUE(INLET,P1,130.0);VALUE(INLET,U1,-0.13)
VALUE(INLET,H1,TINLET)
** Water outlet at the top of the cylinder...
PATCH(OUTLET,CELL,NX,NX,NY,NY,1,1,1,1)
COVAL(OUTLET,P1,1.E3,0.0)
COVAL(OUTLET,U1,ONLYMS,0.0);COVAL(OUTLET,V1,ONLYMS,0.0)
COVAL(OUTLET,H1,ONLYMS,SAME)
** Friction exerted by outer cylinder wall...
WALL (OUTER,NORTH,1,NX,NY,NY,1,1,1,1);COVAL(OUTER,U1,1.0,0.0)
** Buoyancy force represented by the Boussinesq approximation.
PATCH(BUOYANT,PHASEM,1,NX,1,NY,1,1,1,1)
COVAL(BUOYANT,U1,FIXFLU,BOUSS);COVAL(BUOYANT,V1,FIXFLU,BOUSS)
BUOYB=GRAVTY;BUOYE=TINLET
** Heat source to water from the tube bank...
PATCH(HEAT,VOLUME,1,NX,1,4*NY/5,1,1,1,1)
COVAL(HEAT,H1,FIXFLU,3.18*POWER)

GROUP 15. Termination of sweeps
LSWEEP=250

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

GROUP 18. Limits on variables or increments to them
VARMIN(U1)=-1.0;VARMAX(U1)=1.0
VARMIN(V1)=-1.0;VARMAX(V1)=1.0
VARMIN(H1)=TINLET

GROUP 22. Spot-value print-out
IXMON=3;IYMON=5

GROUP 23. Print-out & plot control
NXPRIN=NX/5;NYPRIN=NY/5;ITABL=3;NPLT=LSWEEP/20
PATCH(DOMAIN,CONTUR,1,NX,1,NY,1,1,1,1)
PLOT(DOMAIN,H1,1.0,20.)
```