11-2-2ProgramreadingCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCMODULEUSERL*************************************************************水MODULEINTEGER*4METHOD.I.JUSERLREAL*8HTC.TF.GAMI.GY.RES.ARES*水******************水*****************************************ENDMODULECCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCSUBROUTINEUSER****************************************************************USESTARTLUSEUSER LIMPLICITNONEC*****************************************************************PROBLEMTWOCTwo-dimensional steady-stateheatconductioninahollowcylinderC-----Implementation ofASTMand comparison with updating methodC**************************************************************16/91
16/91 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC MODULE USER_L C*************************************************************** INTEGER*4 METHOD, I, J REAL*8 HTC, TF, GAM1, GY, RES, ARES C*************************************************************** END MODULE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC SUBROUTINE USER C**************************************************************** USE START_L USE USER_L IMPLICIT NONE C***************************************************************** C-PROBLEM TWO- C Two–dimensional steady-state heat conduction in a hollow cylinder C-Implementation of ASTM and comparison with updating method- C- C**************************************************************** 11-2-2 Program reading MODULE USER_L
ENTRYGRIDLAST-100!Arelativelylargevaluefornon-linearproblemsLSOLVE(4)=.TRUE.!Solvetheenergy equationTITLE(4)="TEMP.!!Titlefor temperaturefield print outLPRINT(4)=TRUETITLE(13)-°.COND. ! Title for variable conductivity print out! Regarding Fas the 13th variable.LPRINT(13)=.TRUEMODULE START LMODE=2PARAMETER(NI=100NJ=200,NIJ=NINFMAX=10NFX4=NFMAX+4)R(1)=1.REAL*8,DIMENSION(NI,NJ,NFX4)::F1214NF=34111213XL=2VArSVariable UP.ppYL=1L1=7SpecifylengthsandnodenumbersofdomainM1=7! Generate interface positionof CVCALLUGRIDRETURN17/91
17/91 ENTRY GRID LAST=100 LSOLVE(4)=.TRUE. TITLE(4)= ‘ .TEMP. ‘ LPRINT(4)=.TRUE. TITLE(13)=‘ .COND. ‘ LPRINT(13)=.TRUE. MODE=2 R(1)=1. XL=2. YL=1. L1=7 M1=7 CALL UGRID RETURN !Regarding as the 13th variable, !Title for variable conductivity print out !Title for temperature field print out Specify lengths and node numbers of domain !Solve the energy equation !A relatively large value for non-linear problems ! Generate interface position of CV NF = 1 2 3 4 . 11 12 13 14 Variable U V pc T . p Cp
ENTRYSTART!Boundarytemperatureupdatedmethod;METHOD=1WhileMETHOD=2isASTMmethodDO100J=1.M1DO 101 I-1,L1!Initial valuesT(I,J)=200IF(I==1)T(I,J)=100.*(1.+Y(J))!Specify left boundary temperature101ENDDO100ENDDOHTC=5.Specifyboundary conditionparametersQ=50.TF=100.!Setup conductivityvalueformainbodyGAM1=1.RETURNENTRYDENSE!Empty,butkeepitRETURN18/91
18/91 ENTRY START METHOD=1 DO 100 J=1,M1 DO 101 I=1,L1 T(I,J)=200. IF(I == 1) T(I,J)=100.*(1.+Y(J)) 101 ENDDO 100 ENDDO HTC=5. Q=50. TF=100. GAM1=1. RETURN * ENTRY DENSE RETURN !Specify left boundary temperature !Set up conductivity value for main body !Boundary temperature updated method; While METHOD= 2 is ASTM method !Empty, but keep it Specify boundary condition parameters !Initial values
Adiabatic元= 0.2(1+T/100)[-T=100(1+yh, T.h=5, T=100+↑f↑S-100-0.5TCylindricalq=50R(1)=coordinateFig.1Computational domain19/91
19/91 Fig.1 Computational domain 2 x 1 1 Adiabatic y q = 50 T=100(1+y) r h, Tf h=5, Tf =100 = + 0.2(1 /100) T =1 x R(1)= Cylindrical S=100-0.5T coordinate
ENTRYBOUNDDO 300 I=2.L2!updatedtemperature(topboundary)T(I,M1)=T(I,M2)T(I,1)=T(I,2)+Q*YDIF(2)/GAM1!updatedtemperature(bottomboundary)300ENDDO!TemporaryvariableforrightboundaryGY=GAM1/XDIF(L1)DO301 J=2.M2!right boundary,T(L1,J)=(HTC*TF+GY*T(L2,J))/(HTC+GY)updatedtemperature301ENDORETURNHeat transferringT(i,1)-T(,2)YDIF(2)intotheregionis9=T(i,1)=T(i,2) + q元YDIF(2)taken as positive!元h(T, -TL)=(T -T2)= GY(T -TL2)XDIF(LI)hT, +GYT2 =(h+GY)TL =(hT, +GYT2)/(h+GY)20/91
20/91 ENTRY BOUND DO 300 I=2,L2 T(I,M1)=T(I,M2) T(I,1)=T(I,2)+Q*YDIF(2)/GAM1 300 ENDDO GY=GAM1/XDIF(L1) DO 301 J=2,M2 T(L1,J)=(HTC*TF+GY*T(L2,J))/(HTC+GY) 301 ENDO RETURN 1 1 2 1 2 2 1 1 2 ( ) ( ) ( ) ( ) ( ) / ( 1) ) ( f L L L L L f L L L f L h T T T T T T h GY XDIF L T GYT T h GY T hT GYT h GY − = − = − + = + = + + !updated temperature (top boundary) !right boundary, updated temperature !Temporary variable for right boundary ( ,1) ( ,2) (2) T i T i q YDIF − = Heat transferring into the region is taken as positive! (2) ( ,1) ( ,2) YDIF T i T i q = + !updated temperature (bottom boundary)