TALK=f;RUN(1,1)
DISPLAY
Heat exchanger with stress
ENDDIS
PHOTON USE
extrapolate nolim
phi
10 1
set prop off
vi 1 1 1
gr x 1 y 1 40
gr ou y 40
msg radial dimension enlarged *10
msg pressure contours
msg flow directions
msg inner:
msg right to left
msg outer:
msg left to right
con p1 z 1 y 1 10 fi;0.001
con p1 z 1 y 21 30 fi;0.001
con p1 z m y 1 10 fi;0.001
con p1 z m y 21 30 fi;0.001
*dump tubep1
pause;con off; red
msg temperature contours
con tem1 z 1 y 1 40 fi;0.001
con tem1 z m y 1 40 fi;0.001
*dump tubetem1
pause;con off; red
msg radial strain contours
con epsy z 1 y 11 20 fi;0.001
con epsy z 1 y 31 40 fi;0.001
con epsy z m y 11 20 fi;0.001
con epsy z m y 31 40 fi;0.001
*dump tubeepsy
pause;con off;red
msg radial stress contours
con stry z 1 y 11 20 fi;0.001
con stry z 1 y 31 40 fi;0.001
con stry z m y 11 20 fi;0.001
con stry z m y 31 40 fi;0.001
*dump tubestry
pause;con off;red
msg circumferential strain contours
con epsx z 1 y 11 20 fi;0.001
con epsx z 1 y 31 40 fi;0.001
con epsx z m y 11 20 fi;0.001
con epsx z m y 31 40 fi;0.001
*dump tubeepsx
* pause;con off;red
* msg circumferential stress contours
* con strx z 1 fi;0.001
* pause
* axial strain contours
* con epsz z 1 fi;0.001
pause;con off;red
msg axial stress contours
con strz z 1 y 11 20 fi;0.001
con strz z 1 y 31 40 fi;0.001
con strz z m y 11 20 fi;0.001
con strz z m y 31 40 fi;0.001
*dump tubestrz
ENDUSE
Text(heat exchanger with stress
TITLE
integer(caseNO)
label ask
mesg(:title:
mesg( Variant of calculation:
mesg( caseno=1 : Staggered DM model
mesg( caseno=2 : Collocated DM model
mesg(Enter 1, 2 or blank (default = 1)
readvdu(caseno,int,1)
if(caseno.lt.1) then
goto ask
endif
if(caseno.gt.2) then
goto ask
endif
caseno
******************************
***** Logical Flags **********
******************************
cartes=f
boolean(axisym)
stra=t
axisym=t
******************************
grid settings
******************************
nx=12;nz=12
integer(nytu,nyin,nysh,nyou) ! in denotes inner solid, ou outer solid
nytu=10;nysh=10;nyin=10;nyou=10
integer(iy1,iy2) ! integers and reals
real(rad1,rad2,rad3,rad4,rhotu,rhosh,inveltu,invelsh,prpstu,prpssh)
rad1=0.03 ;rad2=0.04 ;rad3=0.06 ;rad4=0.08 ;yvlast=0.09
inveltu = 1.e0
invelsh = 1.e0
prpssh=66; rhosh=1.353e4
prpstu=67; rhotu=998.23
****************************************************
<66 > Mercury at 27. deg C
66 1.353E4 1.125E-7 139.3 8.54 1.8E-4
<65 > Glycerin at 27. deg C ! these lines as reminder of what is in props
65 1259.0 6.34E-4 2427.0 0.286 4.7E-4
<67 > WATER at 20. deg C
67 998.23 1.006E-6 4181.8 0.597 1.18E-4
****************************************************
******************************
Boundary values
******************************
real(intemtu,intemsh,pretuou,preshou,presurr,gravfac)
intemtu=20 ! tube inlet temperature
intemsh=80 ! shell inlet temperature
preshou=1.e6
pretuou=1.e7
preshou=0.0
pretuou=0.0
presurr=1.e0
gravfac=100.0
if(axisym) then
gravfac=0.0001
endif
***********************************************
GROUP 3. X-direction grid specification
***********************************************
xulast=3.1415
grdpwr(x,nx,xulast,1.0)
***********************************************
GROUP 4. Y-direction grid specification
***********************************************
ny=nytu + nyin + nysh + nyou + 1
NREGY=5 ! 5 regions
IREGY=1;GRDPWR(Y,nytu,rad1,1.0) ! inner pipe
IREGY=2;GRDPWR(Y,nyin,Rad2-Rad1,1.0) ! inner-pipe wall
IREGY=3;GRDPWR(Y,nysh,rad3-rad2,1.0) ! outer annulus
IREGY=4;GRDPWR(Y,nyou,rad4-rad3,1.0) ! outer annulus wall
IREGY=5;GRDPWR(Y,1,0.001,1.0) ! surrounding air
integer(iyinf,iyouf,iyinl,iyoul) ! iyoul
integer(iyshf,iyshl) ! nyou
iyouf
iyinf=nytu+1; iyinl=nytu+nyin ! iyshl
iyshf=iyinl+1 ! nysh
iyshl=iyinl+nysh ! iyshf
iyouf=iyshl+1; iyoul=iyshl+nyou ! iyinl
nytu ! nyin
iyinf ! iyinf
iyinl ! nytu
iyshf ! nytu
iyshl
iyouf
iyoul
***********************************************
GROUP 5. Z-direction grid specification
***********************************************
zwlast=1.0
grdpwr(z,nz,zwlast,yvlast*20)
***********************************************
GROUP 7. Variables stored, solved & named
***********************************************
solve(p1,u1,v1,w1,tem1)
solutn(p1,y,y,y,p,p,p)
solutn(u1,y,y,y,p,p,p)
solutn(v1,y,y,y,p,p,p)
solutn(w1,y,y,y,p,p,p)
solutn(tem1,y,y,y,p,p,p)
if(caseNO.EQ.2.AND.STRA) then
SOLVE(DISX,DISY,DISZ)
SOLUTN(DISZ,Y,Y,N,N,N,N) ! Slab
SOLUTN(DISY,Y,Y,N,N,N,N)
SOLUTN(DISX,Y,Y,N,N,N,N)
TERMS (DISX ,N,N,Y,N,Y,N)
TERMS (DISY ,N,N,Y,N,Y,N)
TERMS (DISZ ,N,N,Y,N,Y,N)
endif
store(prps,rho1,drh1,dvo1,enut,kond)
! for stress analysis
store(epsx,epsy,epsz,strx,stry,strz)
store(enul,drh1,dvo1,epst)
! end of stress analysis
***********************************************
GROUP 9. Properties of the medium (or media)
***********************************************
turmod(lvel)
***********************************************
Group 11 initial conditions
***********************************************
fiinit(drh1)=0.0
fiinit(p1)=0.0
fiinit(u1)=0.0
fiinit(v1)=0.0
fiinit(w1)=0.0
if(caseNO.EQ.2.AND.STRA) then
fiinit(DISX)=0.0
fiinit(DISY)=0.0
fiinit(DISZ)=0.0
endif
! initial values, which define the geometry via prps
patch(outerair,inival,1,nx,iyoul+1,ny,1,nz,1,1)
coval(outerair,prps,0.0,0.0)
coval(outerair,p1,0.0,presurr)
coval(outerair,u1,0.0,0.0)
coval(outerair,v1,0.0,0.0)
coval(outerair,w1,0.0,0.0)
patch(outersur,inival,1,nx,iyoul,iyoul,1,nz,1,1)
coval(outersur,tem1,1.e6,20.0)
patch(tube,inival,1,nx,1,nytu,1,nz,1,1)
coval(tube,prps,0.0,prpstu)
coval(tube,u1,0.0,0.0)
coval(tube,v1,0.0,0.0)
coval(tube,w1,0.0,inveltu)
coval(tube,rho1,0.0,rhotu)
coval(tube,p1,0.0,pretuou)
coval(tube,tem1,0.0,intemtu)
patch(innersol,inival,1,nx,iyinf,iyinl,1,nz,1,1)
coval(innersol,prps,0.0,100)
coval(innersol,rho1,0.0,2700)
coval(innersol,tem1,0.0,20)
patch(shell,inival,1,nx,iyshf,iyshl,1,nz,1,1)
coval(shell,prps,0.0,prpssh)
coval(shell,u1,0.0,0.0)
coval(shell,v1,0.0,0.0)
coval(shell,w1,0.0,-invelsh)
coval(shell,rho1,0.0,rhosh)
coval(shell,p1,0.0,preshou)
coval(shell,tem1,0.0,intemsh)
patch(outersol,inival,1,nx,iyouf,iyoul,1,nz,1,1)
coval(outersol,prps,0.0,100)
coval(outersol,rho1,0.0,2700)
coval(outersol,tem1,0.0,20)
patch(outerair,inival,1,nx,iyoul+1,ny,1,nz,1,1)
coval(outerair,prps,0.0,0.0)
***********************************************
Group 13 Boundary conditions
***********************************************
! **** Surrounding air ****
patch(outside,north,1,nx,ny,ny,1,nz,1,1)
coval(outside,p1,fixval,presurr)
coval(outside,u1,fixval,0.0)
coval(outside,v1,fixval,0.0)
coval(outside,w1,fixval,0.0)
coval(outside,tem1,fixval,intemtu)
patch(outsurf,north,1,nx,ny-1,ny-1,1,nz,1,1)
if(axisym) then
(source of tem1 at outsurf is coval(fixval,40))
else
(source of tem1 at outsurf is coval(fixval,50-30*ix/nx)) ! a source of asymmetry
endif
! **** inlet and outlet boundary conditions ***
patch(tubein,low,1,nx,1,nytu,1,1,1,1)
coval(tubein,p1,fixflu,rhotu*inveltu)
coval(tubein,w1,onlyms,inveltu)
coval(tubein,tem1,onlyms,intemtu)
patch(shellin,high,1,nx,iyshf,iyshl,nz,nz,1,1)
coval(shellin,p1,fixflu,rhosh*invelsh)
coval(shellin,w1,onlyms,-invelsh)
coval(shellin,tem1,onlyms,intemsh)
patch(shellou,low,1,nx,iyshf,iyshl,1,1,1,1)
coval(shellou,p1,1.0,preshou)
coval(shellou,p1,1.0e3,preshou)
! **** Symmetry plane ***
patch(BegTube,WWALL,1,1,1,nytu,1,nz,1,1)
coval(BegTube,U1,1.0,0.0)
patch(EndTube,NWALL,nx-1,nx-1,1,nytu,1,nz,1,1)
coval(EndTube,U1,1.0,0.0)
patch(BegShell,WWALL,1,1,iyshf,iyshl,1,nz,1,1)
coval(BegShell,U1,1.0,0.0)
patch(EndShell,NWALL,nx-1,nx-1,iyshf,iyshl,1,nz,1,1)
coval(EndShell,U1,1.0,0.0)
! for stress analysis
if(stra.and.caseno.eq.2) then
patch(lozendin,LWALL,1,nx,iyinf,iyinl,1,1,1,1) ! low z end of inner tube
coval(lozendin,DISX,1.0,0.0)
coval(lozendin,DISZ,1.0,0.0)
patch(hizendin,HWALL,1,nx,iyinf,iyinl,nz,nz,1,1) ! high z end of inner tube
coval(hizendin,DISX,1.0,0.0)
coval(hizendin,DISZ,1.0,0.0)
patch(XBegIn,WWALL,1,1,iyinf,iyinl,1,nz,1,1)
coval(XBegIn,DISX,1.0,0.0)
patch(XEndIn,EWALL,nx,nx,iyinf,iyinl,1,nz,1,1)
coval(XEndIn,DISX,1.0,0.0)
patch(lozendou,LWALL,1,nx,iyouf,iyoul,1,1,1,1) ! low z end of outer tube
coval(lozendou,DISX,1.0,0.0)
coval(lozendou,DISZ,1.0,0.0)
patch(hizendou,HWALL,1,nx,iyouf,iyoul,nz-1,nz-1,1,1) ! high z end of outer tube
coval(hizendou,DISX,1.0,0.0)
coval(hizendou,DISZ,1.0,0.0)
patch(XBegOu,WWALL,1,1,iyouf,iyoul,1,nz,1,1)
coval(XBegOu,DISX,1.0,0.0)
patch(XEndOu,EWALL,nx,nx,iyouf,iyoul,1,nz,1,1)
coval(XEndOu,DISX,1.0,0.0)
endif
if(stra.and.caseno.eq.1) then
patch(lozendin,cell,1,nx,iyinf,iyinl,1,1,1,1) ! low z end of inner tube
coval(lozendin,u1,1.e6,0.0)
coval(lozendin,w1,1.e6,0.0)
patch(hizendin,cell,1,nx,iyinf,iyinl,nz-1,nz-1,1,1) ! high z end of inner tube
coval(hizendin,u1,1.e6,0.0)
coval(hizendin,w1,1.e6,0.0)
patch(XBegIn,cell,1,1,iyinf,iyinl,1,nz,1,1)
coval(XBegIn,u1,1.e6,0.0)
patch(XEndIn,cell,nx-1,nx-1,iyinf,iyinl,1,nz,1,1)
coval(XEndIn,u1,1.e6,0.0)
patch(lozendou,cell,1,nx,iyouf,iyoul,1,1,1,1) ! low z end of outer tube
coval(lozendou,u1,1.e6,0.0)
coval(lozendou,w1,1.e6,0.0)
patch(hizendou,cell,1,nx,iyouf,iyoul,nz-1,nz-1,1,1) ! high z end of outer tube
coval(hizendou,u1,1.e6,0.0)
coval(hizendou,w1,1.e6,0.0)
patch(XBegOu,cell,1,1,iyouf,iyoul,1,nz,1,1)
coval(XBegOu,u1,1.e6,0.0)
patch(XEndOu,cell,nx-1,nx-1,iyouf,iyoul,1,nz,1,1)
coval(XEndOu,u1,1.e6,0.0)
endif
PATCH(BUOYtu,PHASEM, 1,NX, 1,Nytu, 1,NZ,1,LSTEP)
COVAL (BUOYtu,U1 , FIXFLU , GRND3 ) ! boussinesq
COVAL (BUOYtu,V1 , FIXFLU , GRND3 )
BUOYA = 0.000000E+00 ;
BUOYB = - 9.810000E+00 *gravfac
iy1=nytu+nyin+1
iy2=nytu+nyin+nysh
PATCH(BUOYsh,PHASEM, 1,NX, iy1,iy2, 1,NZ,1,LSTEP)
COVAL (BUOYsh,U1 , FIXFLU , GRND3 ) ! boussinesq
COVAL (BUOYsh,V1 , FIXFLU , GRND3 )
BUOYA = 0.000000E+00 ;
BUOYB = - 9.810000E+00 *gravfac
***********************************************
GROUP 19 Data communicated by satellite to GROUND
***********************************************
***********************************************
GROUP 15. Termination of sweeps
GROUP 16. Termination of iterations
***********************************************
liter(p1)=100
resref(tem1)=0.0
liter(tem1)=100
lsweep=200
isg21=lsweep
***********************************************
GROUP 17. Under-relaxation devices
GROUP 18. Limits on variables or increments to them
***********************************************
varmax(tem1)=123
varmin(tem1)=-.123
relax(u1,falsdt,1.e-2)
relax(v1,falsdt,1.e-2)
relax(w1,falsdt,1.e-2)
resfac=0
resref(p1)=0.0
resref(u1)=0.0
resref(v1)=0.0
resref(w1)=0.0
conwiz=f ! conwiz=t leads to an inferior fluid-flow field. I particular,
! u1s are not as close to zero as they sgould be for the axisym
! case with stra=f
#maxabs
#endpause
adddif=t ! important for convergence at low RE
diswal ! important for convergence at low RE
tstswp=-1
***********************************************
GROUP 23. Field print-out and plot control
GROUP 24. Dumps for restarts STOP
***********************************************
yzpr=t
nyprin=1
NXPRIN=3
NZPRIN=3
restrt(all)
stop