FORTRAN77 Code - Thermal-Hydraulics of Single Phase Flow in a Heated Channel
-
Upload
syeilendra-pramuditya -
Category
Documents
-
view
3.407 -
download
1
Transcript of FORTRAN77 Code - Thermal-Hydraulics of Single Phase Flow in a Heated Channel
![Page 1: FORTRAN77 Code - Thermal-Hydraulics of Single Phase Flow in a Heated Channel](https://reader035.fdocuments.us/reader035/viewer/2022081908/552094734a795976718b4825/html5/thumbnails/1.jpg)
E:\MAIN.F Wednesday, January 05, 2011 2:26 PM
C This code solves a single phase, single heated channel problemC Complete explanation and source code are available on http://wp.me/p61TQ-w8C Last modified: August 2010
PROGRAM MAINIMPLICIT REAL*8 (A-H,O-Z)
PARAMETER(LMAXX=1000)DIMENSION T(LMAXX),P(LMAXX),QLIN(LMAXX),Z(LMAXX),XMU(LMAXX)& ,RE(LMAXX),FRICF(LMAXX),ITERT(LMAXX),ITERP(LMAXX)
PHI = 3.14159265D0ITERMAX=20IRED=11IPRN=12
C INPUT ************************************************************C ZPIPE=1.0D0 !PIPE LENGTH [M]C DH=0.05D0 !PIPE DIAM [M]C XMFLUX=100.0D0 !MASS FLUX [KG/M2.S]C T(1)=628.0D0 !INLET TEMPEARTURE [K]C P(1)=1.0D+5 !INLET PRESSURE [P]C LMAX=100C QLINAV=2.5D+5 ! AVERAGE LINEAR HEAT RATE [W/M]C IQSHAPE=2 !POWER PROFILE, 1=LINEAR, 2=COSINE
READ(IRED,*) ZPIPEREAD(IRED,*) DHREAD(IRED,*) XMFLUXREAD(IRED,*) T(1)READ(IRED,*) P(1)READ(IRED,*) LMAXREAD(IRED,*) QLINAVREAD(IRED,*) IQSHAPE
AFLOW=0.25D0*PHI*DH*DH !FLOW AREA [M2]XMU(1)=VISCOS(T(1))RE(1)=XMFLUX*DH/XMU(1)XMDOT=XMFLUX*AFLOW
IF (RE(1)<2100.0D0) THENFRICF(1)=64.0D0/RE(1)ELSEFRICF(1)=0.316D0*RE(1)**(-0.25D0)END IF
DZ=ZPIPE/LMAX !MESH SIZEZ(1)=DZ/2.0D0DO J=2,LMAXZ(J)=Z(J-1)+DZEND DO
IF (IQSHAPE.EQ.1) THENC LINEAR POWER PROFILE
DO J=1,LMAXQLIN(J)=QLINAVEND DO
-1-
![Page 2: FORTRAN77 Code - Thermal-Hydraulics of Single Phase Flow in a Heated Channel](https://reader035.fdocuments.us/reader035/viewer/2022081908/552094734a795976718b4825/html5/thumbnails/2.jpg)
E:\MAIN.F Wednesday, January 05, 2011 2:26 PM
ELSEC COSINE POWER PROFILE
DO J=1,LMAXQLIN(J)=0.5D0*PHI*QLINAV*DSIN(Z(J)*PHI/ZPIPE)END DOEND IF
C CALCULATE TOTAL POWERQTOT=0.0D0DO J=1,LMAXQTOT=QTOT+QLIN(J)*DZEND DO
EPS1=1.0D-5 !CONVERGENCE CRITERION FOR ENERGYEPS2=1.0D-5 !CONVERGENCE CRITERION FOR MOMENTUM
BOILS=0JBOIL=LMAXITERT(1)=0ITERP(1)=0
C MARCHING FROM BOTTOM TO TOPDO J=1,LMAX-1
C NEWTON-RAPHSON ITERATION FOR TEMPERATURETOLD=T(J)TNEW=TOLDEPS=1.0D0ITER=0
DO WHILE ((EPS.GT.EPS1).AND.(ITER.LE.ITERMAX))TNEW=TOLD-FE(T(J),T(J+1),QLIN(J),QLIN(J+1),Z(J),Z(J+1),XMDOT)
& /DFEDT(T(J),T(J+1),QLIN(J),QLIN(J+1),Z(J),Z(J+1),XMDOT)EPS=DABS((TNEW-TOLD)/TNEW)TOLD=TNEW !UPDATET(J+1)=TNEWITER=ITER+1END DO
T(J+1)=TNEWITERT(J+1)=ITER
C WRITE(*,*) 'ENERGY :',ITER
C VISCOSITYXMU(J+1)=VISCOS(T(J+1))
C REYNOLDS NUMBERRE(J+1)=XMFLUX*DH/XMU(J+1)
C FRICTION FACTORIF (RE(J+1)<2100.0D0) THENFRICF(J+1)=64.0D0/RE(J+1)ELSEFRICF(J+1)=0.316D0*RE(J+1)**(-0.25D0)END IF
C NEWTON-RAPHSON ITERATION FOR PRESSUREPOLD=P(J)PNEW=POLDEPS=1.0D0ITER=0
DO WHILE ((EPS.GT.EPS2).AND.(ITER.LE.ITERMAX))
-2-
![Page 3: FORTRAN77 Code - Thermal-Hydraulics of Single Phase Flow in a Heated Channel](https://reader035.fdocuments.us/reader035/viewer/2022081908/552094734a795976718b4825/html5/thumbnails/3.jpg)
E:\MAIN.F Wednesday, January 05, 2011 2:26 PM
PNEW=POLD-FK(T(J),T(J+1),P(J),P(J+1),FRICF(J),FRICF(J+1),Z(J)& ,Z(J+1),XMFLUX,DH)/DFKDP(T(J),T(J+1),P(J),P(J+1),FRICF(J)& ,FRICF(J+1),Z(J),Z(J+1),XMFLUX,DH)
EPS=DABS((PNEW-POLD)/PNEW)POLD=PNEW !UPDATEP(J+1)=PNEWITER=ITER+1END DO
P(J+1)=PNEWITERP(J+1)=ITER
C WRITE(*,*) 'MOMENTUM :',ITER
C CHECK FOR BOILINGIF (T(J+1).GE.TSAT(P(J+1))) THENBOILS=1JBOIL=JGOTO 50END IF
END DO !MARCHING UPWARD
50 CONTINUE
C AVERAGE NUMBER OF ITERATIONXITERT=0.0D0XITERP=0.0D0DO J=2,JBOILXITERT=XITERT+ITERT(J)XITERP=XITERP+ITERP(J)END DOXITERT=XITERT/(JBOIL-1)XITERP=XITERP/(JBOIL-1)
WRITE(IPRN,100)WRITE(IPRN,200) T(1)WRITE(IPRN,300) P(1)WRITE(IPRN,400) XMFLUXWRITE(IPRN,500) DHWRITE(IPRN,600) ZPIPEWRITE(IPRN,700) LMAXWRITE(IPRN,800) QLINAVIF (IQSHAPE.EQ.1) THENWRITE(IPRN,900)ELSEWRITE(IPRN,1000)END IFWRITE(IPRN,1100) AFLOWWRITE(IPRN,1200) QTOTWRITE(IPRN,1300) XMDOTWRITE(IPRN,1400)WRITE(IPRN,1410) (T(JBOIL)-T(1))WRITE(IPRN,1420) (P(JBOIL)-P(1))WRITE(IPRN,1430) 100.0D0*(RHO(T(JBOIL),P(JBOIL))-RHO(T(1),P(1)))& /RHO(T(1),P(1))
IF (BOILS.EQ.0) THENWRITE(IPRN,1440)ELSE
-3-
![Page 4: FORTRAN77 Code - Thermal-Hydraulics of Single Phase Flow in a Heated Channel](https://reader035.fdocuments.us/reader035/viewer/2022081908/552094734a795976718b4825/html5/thumbnails/4.jpg)
E:\MAIN.F Wednesday, January 05, 2011 2:26 PM
WRITE(IPRN,1450) Z(JBOIL+1)END IFWRITE(IPRN,1460) XITERTWRITE(IPRN,1470) XITERPWRITE(IPRN,1475)WRITE(IPRN,1500)DO J=1,JBOILWRITE(IPRN,1600) J,Z(J),QLIN(J),P(J),T(J),TSAT(P(J)),RE(J),XMU(J)& ,HEATCAP(T(J)),FRICF(J),ITERT(J),ITERP(J)
END DOWRITE(IPRN,1550)IF (BOILS.EQ.1) WRITE(IPRN,1700)WRITE(IPRN,2000)
100 FORMAT('0',10X,'INPUT DATA')200 FORMAT(/'Inlet temperature [K] = ',F12.3)300 FORMAT( 'Inlet pressure [Pa] = ',F12.3)400 FORMAT( 'Mass flux [kg/m2.s] = ',F12.3)500 FORMAT( 'Pipe diameter [m] = ',F12.3)600 FORMAT( 'Pipe length [m] = ',F12.3)700 FORMAT( 'Axial mesh = ',I12)800 FORMAT( 'Average linear heat rate [W/m] = ',E12.4)900 FORMAT( 'Power profile = LINEAR')
1000 FORMAT( 'Power profile = COSINE')1100 FORMAT(/'Flow area [m2] = ',E12.4)1200 FORMAT( 'Total power [W] = ',E12.4)1300 FORMAT( 'Mass flow rate [kg/s] = ',F12.3)1400 FORMAT(//'0',10X,'RESULTS')1410 FORMAT(/'TEMPERATURE CHANGE [K] = ',F12.3)1420 FORMAT( 'PRESSURE CHANGE [Pa] = ',F12.3)1430 FORMAT( 'DENSITY CHANGE [%] = ',F12.3)1440 FORMAT(/'SATURATED : NO')1450 FORMAT(/'SATURATED : YES, STARTS FROM Z[m] = ',F12.3)1460 FORMAT( 'AVERAGE ITERATION FOR ENERGY EQ. = ',F12.3)1470 FORMAT( 'AVERAGE ITERATION FOR MOMENTUM EQ. = ',F12.3)1475 FORMAT(//'0',10X,'OUTPUT DATA')1500 FORMAT(/' J Z[m] QLIN[W/m] P[Pa] T[K] & TSAT[K] RE MU[kg/m.s] CP[J/kg.K] FRICF ITER_T&ITER_P')
1550 FORMAT( ' J Z[m] QLIN[W/m] P[Pa] T[K] & TSAT[K] RE MU[kg/m.s] CP[J/kg.K] FRICF ITER_T&ITER_P')
1600 FORMAT(I5,9E12.4,2I8)1700 FORMAT(/'0',10X,'*** SATURATION TEMPERATURE IS REACHED ***')2000 FORMAT(/'0',10X,'*** END ***')
STOPEND
C ******************************************************************REAL*8 FUNCTION FE(TI,TIP1,QI,QIP1,ZI,ZIP1,XMDOT)
C THE ENERGY FUNCTIONC ******************************************************************
IMPLICIT REAL*8 (A-H,O-Z)
DATA A0, A1, A2/ 1630.22D0,-0.83354D0,4.62838D-04/
-4-
![Page 5: FORTRAN77 Code - Thermal-Hydraulics of Single Phase Flow in a Heated Channel](https://reader035.fdocuments.us/reader035/viewer/2022081908/552094734a795976718b4825/html5/thumbnails/5.jpg)
E:\MAIN.F Wednesday, January 05, 2011 2:26 PM
B0=-2.0D0*A0*TI-A1*TI*TI-A2*TI*TI*TI-(QI+QIP1)*(ZIP1-ZI)/XMDOTB1=2.0D0*A0+A2*TI*TIB2=A1-A2*TIB3=A2
FE=B0+B1*TIP1+B2*TIP1*TIP1+B3*TIP1*TIP1*TIP1
RETURNEND
C ******************************************************************REAL*8 FUNCTION DFEDT(TI,TIP1,QI,QIP1,ZI,ZIP1,XMDOT)
C DERIVATIVE OF THE ENERGY FUNCTIONC ******************************************************************
IMPLICIT REAL*8 (A-H,O-Z)
DATA A0, A1, A2/ 1630.22D0,-0.83354D0,4.62838D-04/
B0=-2.0D0*A0*TI-A1*TI*TI-A2*TI*TI*TI-(QI+QIP1)*(ZIP1-ZI)/XMDOTB1=2.0D0*A0+A2*TI*TIB2=A1-A2*TIB3=A2
DFEDT=B1+2.0D0*B2*TIP1+3.0D0*B3*TIP1*TIP1
RETURNEND
C ******************************************************************REAL*8 FUNCTION FK(TI,TIP1,PI,PIP1,FRICI,FRICIP1,ZI,ZIP1,XMFLUX& ,DH)
C THE MOMENTUM FUNCTIONC ******************************************************************
IMPLICIT REAL*8 (A-H,O-Z)DATA A0,A1,A2,A3,A4/ 1011.597D0,-0.22051D0,-1.92243D-5,5.63769D-9,& 2.26D-7/GRAV=9.8D0 !GRAVITATIONAL ACCELERATIONDZ=ZIP1-ZI
ALPHA1=A0+A1*TIP1+A2*TIP1*TIP1+A3*TIP1*TIP1*TIP1ALPHA2=A4
B0=XMFLUX*DABS(XMFLUX)*DZ*FRICI/(4.0D0*DH*RHO(TI,PI))+0.5D0*GRAV& *DZ*(RHO(TI,PI)+ALPHA1)-XMFLUX*XMFLUX/RHO(TI,PI)-PIB1=0.5D0*GRAV*DZ*ALPHA2+1.0D0B2=0.25D0*XMFLUX*DABS(XMFLUX)*DZ*FRICIP1/DH+XMFLUX*XMFLUX
FK=B0+B1*PIP1+B2*(ALPHA1+ALPHA2*PIP1)**(-1.0D0)
RETURNEND
C ******************************************************************REAL*8 FUNCTION DFKDP(TI,TIP1,PI,PIP1,FRICI,FRICIP1,ZI,ZIP1,XMFLUX& ,DH)
C DERIVATIVE OF THE MOMENTUM FUNCTIONC ******************************************************************
-5-
![Page 6: FORTRAN77 Code - Thermal-Hydraulics of Single Phase Flow in a Heated Channel](https://reader035.fdocuments.us/reader035/viewer/2022081908/552094734a795976718b4825/html5/thumbnails/6.jpg)
E:\MAIN.F Wednesday, January 05, 2011 2:26 PM
IMPLICIT REAL*8 (A-H,O-Z)DATA A0,A1,A2,A3,A4/ 1011.597D0,-0.22051D0,-1.92243D-5,5.63769D-9,& 2.26D-7/GRAV=9.8D0 !GRAVITATIONAL ACCELERATIONDZ=ZIP1-ZI
ALPHA1=A0+A1*TIP1+A2*TIP1*TIP1+A3*TIP1*TIP1*TIP1ALPHA2=A4
B0=XMFLUX*DABS(XMFLUX)*DZ*FRICI/(4.0D0*DH*RHO(TI,PI))+0.5D0*GRAV& *DZ*(RHO(TI,PI)+ALPHA1)-XMFLUX*XMFLUX/RHO(TI,PI)-PIB1=0.5D0*GRAV*DZ*ALPHA2+1.0D0B2=0.25D0*XMFLUX*DABS(XMFLUX)*DZ*FRICIP1/DH+XMFLUX*XMFLUX
DFKDP=B1+B2*ALPHA2*(ALPHA1+ALPHA2*PIP1)**(-2.0D0)
RETURNEND
C ******************************************************************REAL*8 FUNCTION RHO(T,P)
C EQ OF STATE: DENSITYC ******************************************************************
IMPLICIT REAL*8 (A-H,O-Z)DATA A0,A1,A2,A3,A4/ 1011.597D0,-0.22051D0,-1.92243D-5,5.63769D-9,& 2.26D-7/RHO=A0+A1*T+A2*T*T+A3*T*T*T+A4*PRETURNEND
C ******************************************************************REAL*8 FUNCTION HEATCAP(T)
C EQ OF STATE: SPECIFIC HEAT CAPACITYC ******************************************************************
IMPLICIT REAL*8 (A-H,O-Z)DATA A0,A1,A2/ 1630.22D0,-0.83354D0,4.62838D-4/HEATCAP=A0+A1*T+A2*T*TRETURNEND
C ******************************************************************REAL*8 FUNCTION VISCOS(T)
C EQ OF STATE: DYNAMIC VISCOSITYC ******************************************************************
IMPLICIT REAL*8 (A-H,O-Z)ALPHA=-2.4892D0+220.65D0/T-0.4925D0*DLOG10(T)VISCOS=10.0D0**ALPHARETURNEND
C ******************************************************************REAL*8 FUNCTION TSAT(P)
C EQ OF STATE: SATURATION TEMPERATUREC ******************************************************************
IMPLICIT REAL*8 (A-H,O-Z)ALPHA=DLOG(P*9.869D-6)-10.51D0
-6-
![Page 7: FORTRAN77 Code - Thermal-Hydraulics of Single Phase Flow in a Heated Channel](https://reader035.fdocuments.us/reader035/viewer/2022081908/552094734a795976718b4825/html5/thumbnails/7.jpg)
E:\MAIN.F Wednesday, January 05, 2011 2:26 PM
TSAT=-12130.0D0/ALPHARETURNEND
-7-