Real Common Dimension Dimension Dimension Dimension Dimension
Real Common Dimension Dimension Dimension Dimension Dimension
1/7
04-May-12 6:07:51 PM
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
C
!
!
!1
300
13
C
301
!
!
!
!6
!
!
!7
REAL MW,LO,MVB,MVD,MWD,MWA,MV,LV,M,L,MB,MD
CHARACTER*6 NAME
COMMON NC,MW(5),DENS(5),C1(5),C2(5),C3(5),BPT(5),AVP(5),BVP(5)
DIMENSION LV(50),L(50),P(50),XF(5),YF(5),DXD(5),YAV(5),YY(5)
DIMENSION NAME(5),T(15),XB(5),X(15,5),Y(50,5),LO(15),XD(5)
DIMENSION HL(50),HV(50),V(50),DM(50),DXM(50,5),XM(50,5),DXB(5)
DIMENSION YB(5),YD(5),XX(5),MV(50),M(50)
DIMENSION VP1(5),VP2(5),T1(5),T2(5),HCAPV(5),HCAPL(5),HVAP(5)
READ COLUMN DATA
WRITE(*,*)'NT NF NC WHS WHR DS DR WLS WLR MVB MVD '
READ(5,1) NT,NF,NC,WHS,WHR,DS,DR,WLS,WLR,MVB,MVD
FORMAT(3I6,10F6.2)
NT=15
NF=5
NC=5
WHS=0.75
WHR=1.25
DS=72.00
DR=72.00
WLS=48.00
WLR=48.00
MVB=10.00
MVD=10.00
WRITE(6,300)
FORMAT('NT NF NC WHS WHR DS DR WLS WLR MVB MVD ')
WRITE(6,13)NT,NF,NC,WHS,WHR,DS,DR,WLS,WLR,MVB,MVD
FORMAT(1X,3I3,1X,8F6.2)
READ PHYSICAL PROPERTY DATA
WRITE(6,301)
MW
DENS
HVAP
BPT
HCAPV
HCAPL
VP1
FORMAT('NAME
+ T1
VP2
T2')
DATA NAME/LLK,LK,INTER,HK,HHK/
DATA MW/30.0,50.0,90.0,130.0,300.0/
DATA DENS/40.0,40.0,60.0,70.0,90.0/
DATA HVAP/100.0,90.0,70.0,80.0,80.0/
DATA BPT/10.0,90.0,150.0,210.0,360.0/
DATA HCAPV/.2,.4,.3,.3,.3/
DATA HCAPL/.6,.6,.5,.4,.4/
DATA VP1/14.7,14.7,14.7,14.7,14.7/
DATA T1/10.0,90.0,150.0,210.0,360.0/
DATA VP2/50.0,500.0,150.0,150.0,150.0/
DATA T2/30.0,200.0,200.0,300.0,420.0/
DO 5 J=1,NC
READ(5,6) NAME(J),MW(J),DENS(J),HVAP,BPT(J),HCAPV,HCAPL,
+ VP1,T1,VP2,T2
FORMAT (A6,10F6.2)
WRITE(6,7) NAME(J),MW(J),DENS(J),HVAP,BPT(J),HCAPV,
+ HCAPL,VP1,T1,VP2,T2
FORMAT(1X,A6,4F7.2,2F7.3,4F7.1)
AVP(J)=(T1(J)+460.0)*(T2(J)+460.0)*ALOG(VP2(J)/VP1(J))/
+ (T1(J)-T2(J))
BVP(J)=ALOG(VP2(J))-AVP(J)/(T2(J)+460.0)
C2(J)=HCAPV(J)*MW(J)
1/7
PROJECT.f
2/7
04-May-12 6:07:51 PM
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
+
131
5
C
!
!
!
!
10
306
308
307
8
C
!
304
9
C
305
X5')
98: !
99: 18
100:
101:
102:
103:
104: 11
105:
95.8,
106:
+
107:
108:
+
C3(J)=HCAPL(J)*MW(J)
C1(J)=HVAP(J)*MW(J)+(C3(J)-C2(J))*BPT(J)
WRITE(6,131)MW(J),DENS(J),HVAP(J),BPT(J),HCAPV(J),HCAPL(J),
VP1(J),T1(J),VP2(J),T2(J)
FORMAT(10F7.2)
CONTINUE
READ FEED------------------WRITE(*,*)'TFL,FL,XF1,XF2,XF3,XF4,XF5'
READ(5,10) TFL,FL,(XF(J),J=1,NC)
WRITE(*,*)'TFV,FV,YF1,YF2,YF3,YF4,YF5'
READ(5,10) TFV,FV,(YF(J),J=1,NC)
FORMAT(12F6.2)
FL=800.0
TFL=120.0
DATA XF/.05,.6,.01,.3,.04/
WRITE(6,306)
TFL
XF1
XF2
XF3
XF4
XF5')
FORMAT(4X,'FL
WRITE(6,308)FL,TFL,(XF(J),J=1,NC)
FORMAT(1X,2F10.2,5E10.2)
FV=200.0
TFV=120.0
DATA YF/.4,.53,.02,.05,0.0/
WRITE(6,307)
TFV
YF1
YF2
YF3
YF4
YF5')
FORMAT(4X,'FV
WRITE(6,308)FV,TFV,(YF(J),J=1,NC)
CALL ENTH(TFL,XF,YF,HLF,HVF)
FORMAT(1X,2F8.2,10E10.2)
READ CONDITIONS--------------READ(5,10)PD,PB,QR,R,DV,EFF
PD=19.7
PB=21.2
QR=5.00
R=400.0
DV=200.0
EFF=0.50
WRITE(6,304)
PB
QR
R
DV
EFF')
FORMAT(6X,'PD
WRITE(6,9)PD,PB,QR,R,DV,EFF
FORMAT(1X,10F8.2)
READ INITIAL CONDITIONS-------WRITE(6,305)
TEMP
L
X1
X2
X3
X4
FORMAT(4X,'N
READ(5,18)TB,(XB(J),J=1,NC)
FORMAT(F10.2,5E10.3)
BLANK=0
TB=201.58
DATA XB/.0,.725E-02,.488E-01,.836,.108/
WRITE(6,11)TB,BLANK,(XB(J),J=1,NC)
FORMAT(5X,2F8.2,5E10.3)
DATA T/154.9,132.6,120.2,114.0,108.4,101.2,98.2,96.9,96.2,
95.5,95.3,95.1,94.9,94.2/
DATA LO/740.1,814.4,892.0,960.1,986.0,320.0,381.9,409.6,423.7,
431.2,435.2,437.5,438.7,439.5,438.6/
2/7
PROJECT.f
3/7
04-May-12 6:07:51 PM
109:
110:
111:
+
+
DATA X/ 9.99E-12,1.56E-09,1.82E-07,1.33E-05,7.60E-04,1.12E-03,
1.29E-03,
1.36E-03,1.40E-03,1.42E-03,1.43E-03,1.44E-03,1.44E-03,1.45E-
+
+
+
1.75E-03,0.11,0.286,0.457,0.572,0.634,0.818,0.91,0.953,0.957,
0.986,0.992,0.995,0.997,0.998,0.998,0.24,0.202,0.131,8.03E-02,
4.96E-02,8.66E-02,4.46E-02,2.38E-02,1.28E-02,6.94E-03,3.74E-
+
+
+
1.99E-03,1.04E-03,5.19E-04,2.36E-04,0.607,0.473,0.376,0.314,
0.284,9.42E-02,4.40E-02,2.18E-02,1.10E-02,5.63E-03,2.86E-03,
1.45E-03,7.18E-04,3.42E-04,1.49E-04,4.33E-02,3.93E-02,3.59E-
3.33E-02,3.25E-02,1.74E-06,7.76E-07,3.17E-07,1.81E-07,8.93E-
4.40E-08,2.16E-08,1.04E-08,4.84E-09,2.05E-09/
DO 15 N=1,NT
READ(5,17)T(N),LO(N),(X(N,J),J=1,NC)
FORMAT(2F5.1,5E10.3)
WRITE(*,*)N,T(N),LO(N),(X(N,J),J=1,NC)
FORMAT(1X,I3,1X,2F8.2,5E10.3)
READ(5,18)TD,(XD(J),J=1,NC)
CONTINUE
TD=77.26
R=400.0
DATA XD/.174E-01,.982,.824E-04,.493E-04,.659E-09/
WRITE(6,11)TD,R,(XD(J),J=1,NC)
CALCULATE INITIAL HOLDUPS------CALL MWDENS(TB,XB,MWA,DENSA)
MB=MVB*DENSA/MWA
DO 20 N=1,NF
DO 21 J=1,NC
XX(J)=X(N,J)
CALL MWDENS(T(N),XX,MWA,DENSA)
LV(N)=LO(N)*MWA/DENSA
L(N)=LO(N)
HFOW=(LV(N)/(999.0*WLS))**.66667
MV(N)=(HFOW+WHS/12.0)*3.1416*DS*DS/(4.0*144.0)
M(N)=MV(N)*DENSA/MWA
DO 25 N=NF+1,NT
DO 26 J=1,NC
XX(J)=X(N,J)
CALL MWDENS(T(N),XX,MWA,DENSA)
LV(N)=LO(N)*MWA/DENSA
L(N)=LO(N)
HFOW=(LV(N)/(999.0*WLR))**0.6667
MV(N)=(HFOW+WHS/12.0)*3.1416*DS*DS/(4.0*144.0)
M(N)=MV(N)*DENSA/MWA
DO 30 N=1,NT
DO 31 J=1,NC
XM(N,J)=M(N)*X(N,J)
CONTINUE
CONTINUE
CALL MWDENS(TD,XD,MWA,DENSA)
MD=MVD*DENSA/MWA
CALCULATE PRESSURE PROFILE------
03,
112:
113:
114:
03,
115:
116:
117:
02,
118:
08,
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
!
!17
!12
!
15
21
20
26
25
31
30
C
3/7
PROJECT.f
4/7
04-May-12 6:07:51 PM
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
35
37
C
C
100
105
106
111
112
110
113
114
116
117
115
C
DO 35 N=1,NT
P(N)=(PB-(N*(PB-PD))/NT)
DELTA=.0001
WRITE(6,37)DELTA
FORMAT(1X,'DELTA =',F8.5)
TIME=0
TPRINT=0
INITIAL GUESS OF V(5) FOR FIRST EFFICIENCY CALC
V(5)=822.0
MAIN LOOP FOR EACH TIME STEP
CONTINUE
CALL BUBPT(TB,XB,YB,PB)
CALL ENTH(TB,XB,YB,HLB,HVB)
DO 105 J=1,NC
XX(J)=X(1,J)
CALL BUBPT(T(1),XX,YY,P(1))
DO 106 J=1,NC
Y(1,J)=YB(J)+EFF*(YY(J)-YB(J))
YY(J)=Y(1,J)
CALL ENTH(T(1),XX,YY,HL(1),HV(1))
DO 110 N=2,NF
DO 111 J=1,NC
XX(J)=X(N,J)
CALL BUBPT(T(N),XX,YY,P(N))
DO 112 J=1,NC
Y(N,J)=(YY(J)-Y(N-1,J))*EFF+Y(N-1,J)
YY(J)=Y(N,J)
CALL ENTH(T(N),XX,YY,HL(N),HV(N))
CONTINUE
DO 113 J=1,NC
XX(J)=X(NF+1,J)
CALL BUBPT(T(NF+1),XX,YY,P(NF+1))
DO 114 J=1,NC
YAV(J)=(YF(J)*FV+Y(NF,J)*V(NF))/(V(NF)+FV)
Y(NF+1,J)=(YY(J)-YAV(J))*EFF+YAV(J)
YY(J)=Y(NF+1,J)
CALL ENTH(T(NF+1),XX,YY,HL(NF+1),HV(NF+1))
DO 115 N=NF+2,NT
DO 116 J=1,NC
XX(J)=X(N,J)
CALL BUBPT(T(N),XX,YY,P(N))
DO 117 J=1,NC
Y(N,J)=(YY(J)-Y(N-1,J))*EFF+Y(N-1,J)
YY(J)=Y(N,J)
CALL ENTH(T(N),XX,YY,HL(N),HV(N))
CONTINUE
CALL BUBPT(TD,XD,YD,PD)
CALL ENTH(TD,XD,YD,HLD,HVD)
CALCULATE VAPOUR RATES---------VB=(QR*1000000.0-L(1)*(HLB-HL(1)))/(HVB-HLB)
B=L(1)-VB
IF(B.LT.0.0)STOP
V(1)=(HL(2)*L(2)+HVB*VB-HL(1)*L(1))/HV(1)
DO 120 N=2,NF-1
V(N)=(HL(N+1)*L(N+1)+HV(N-1)*V(N-1)-HL(N)*L(N))/HV(N)
4/7
PROJECT.f
5/7
04-May-12 6:07:51 PM
215: 120
CONTINUE
216:
V(NF)=(HL(NF+1)*L(NF+1)+HV(NF-1)*V(NF-1)-HL(NF)*L(NF)+HLF*FL)/
217:
+ HV(NF)
218:
V(NF+1)=(HL(NF+2)*L(NF+2)+HV(NF)*V(NF)+HVF*FVHL(NF+1)*L(NF+1))
219:
+ /HV(NF+1)
220:
DO 133 N=NF+2,NT-1
221:
V(N)=(HL(N+1)*L(N+1)+HV(N-1)*V(N-1)-HL(N)*L(N))/HV(N)
222: 133
CONTINUE
223:
V(NT)=(HLD*R+HV(NT-1)*V(NT-1)-HL(NT)*L(NT))/HV(NT)
224:
DL=V(NT)-DV-R
225: C
EVALUATE DERIVATIVES------------226:
DM(1)=L(2)+VB-V(1)-L(1)
227:
DO 140 N=2,NF-1
228: 140
DM(N)=L(N+1)+V(N-1)-L(N)-V(N)
229:
DM(NF)=L(NF+1)+FL+V(NF-1)-L(NF)-V(NF)
230:
DM(NF+1)=L(NF+2)+FV+V(NF)-L(NF+1)-V(NF+1)
231:
DO 150 N=NF+2,NT-1
232: 150
DM(N)=L(N+1)+V(N-1)-L(N)-V(N)
233:
DM(NT)=R+V(NT-1)-L(NT)-V(NT)
234:
DO 160 J=1,NC
235:
DXB(J)=(X(1,J)*L(1)-YB(J)*VB-XB(J)*B)/MB
236:
DXM(1,J)=X(2,J)*L(2)+YB(J)*VB-X(1,J)*L(1)-Y(1,J)*V(1)
237:
DO 165 N=2,NF-1
238: 165
DXM(1,J)=X(N+1,J)*L(N+1)+Y(N-1,J)*V(N-1)-X(N,J)*L(N)-V(N)*Y(N,
J)
239:
DXM(NF,J)=X(NF+1,J)*L(NF+1)+Y(NF-1,J)*V(NF-1)-X(NF,J)*L(NF)240:
+ V(NF)*Y(NF,J)+FL*XF(J)
241:
DXM(NF+1,J)=X(NF+2,J)*L(NF+2)+Y(NF,J)*V(NF)-X(NF+1,J)*L(NF+1)
242:
+ -V(NF+1)*Y(NF+1,J)+FV*YF(J)
243:
DO 170 N=NF+2,NT-1
244: 170
DXM(N,J)=X(N+1,J)*L(N+1)+Y(N-1,J)*V(N-1)-X(N,J)*L(N)-V(N)*Y(N,
J)
245:
DXM(NT,J)=XD(J)*R+Y(NT-1,J)*V(NT-1)-X(NT,J)*L(NT)-Y(NT,
J)*V(NT)
246:
DXD(J)=(V(NT)*Y(NT,J)-DV*YD(J)-(R+DL)*XD(J))/MD
247: 160
CONTINUE
248:
IF(TIME.GT..0022) GOTO 400
249:
IF(TIME.LT.TPRINT) GOTO 210
250:
WRITE(6,201)
251: 201
T
X1
X2
X3
X4
X5
FORMAT(5X,'TIME
L')
252:
WRITE(6,202) TIME,TB,(XB(J),J=1,NC),B
253: 202
FORMAT(1X,F5.4,3X,F7.2,5F10.6,F7.1)
254:
DO 203 N=1,NT
255: 203
WRITE(6,204)N,T(N),(X(N,J),J=1,NC),L(N)
256: 204
FORMAT(3X,I3,3X,F7.2,5F10.6,F7.1)
257:
WRITE(6,205)TD,(XD(J),J=1,NC),R
258: 205
FORMAT(9X,F7.2,5F10.6,F7.1)
259:
WRITE(6,206)(YD(J),J=1,NC),DL
260: 206
FORMAT(16X,5F10.6,F7.1)
261:
TPRINT=TPRINT+.0005
262: C
INTEGRATION VIA EULER-----------263: 210
TIME=TIME+DELTA
264:
DO 215 N=1,NT
5/7
PROJECT.f
6/7
04-May-12 6:07:51 PM
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
291:
292:
293:
294:
295:
296:
297:
298:
299:
300:
301:
302:
303:
304:
305:
306:
307:
308:
309:
310:
311:
312:
313:
314:
315:
316:
317:
318:
319:
215
M(N)=M(N)+DM(N)*DELTA
DO 220 J=1,NC
XB(J)=XB(J)+DXB(J)*DELTA
IF(XB(J).LT.0.0)XB(J)=0.0
IF(XB(J).GT.1.0)XB(J)=1.0
DO 225 N=1,NT
XM(N,J)=XM(N,J)+DXM(N,J)*DELTA
X(N,J)=XM(N,J)/M(N)
IF(X(N,J).GT.1.0)X(N,J)=1.0
IF(X(N,J).LT.0.0)X(N,J)=0.0
CONTINUE
XD(J)=XD(J)+DXD(J)*DELTA
IF(XD(J).LT.0.0)XD(J)=0.0
IF(XD(J).GT.1.0)XD(J)=1.0
CONTINUE
CALCULATE NEW LIQUID RATES-------DO 270 N=1,NF
DO 271 J=1,NC
XX(J)=X(N,J)
CALL HYDRAU(M(N),T(N),XX,L(N),WHS,WLS,DS)
CONTINUE
DO 273 N=NF+1,NT
DO 275 J=1,NC
XX(J)=X(N,J)
CALL HYDRAU(M(N),T(N),XX,L(N),WHR,WLR,DS)
CONTINUE
GOTO 100
STOP
END
225
220
C
271
270
275
273
400
+
10
SUBROUTINE HYDRAU(M,T,X,L,WH,WL,DCOL)
REAL M,L,MW,MWA
COMMON NC,MW(5),DENS(5),C1(5),C2(5),C3(5),BPT(5),AVP(5),BVP(5)
DIMENSION X(5)
CALL MWDENS(T,X,MWA,DENSA)
CONST=183.2*M*MWA/(DENSA*DCOL*DCOL)-WH/12.0
IF(CONST.LT.0.0)GOTO 10
L=DENSA*WL*999.0*((183.2*M*MWA/(DENSA*DCOL*DCOL)
-WH/12.0)**1.5)/MWA
RETURN
L=0.0
RETURN
END
SUBROUTINE ENTH(T,X,Y,HL,HV)
COMMON NC,MW(5),DENS(5),C1(5),C2(5),C3(5),BPT(5),AVP(5),BVP(5)
DIMENSION X(5),Y(5)
HL=0.0
HV=0.0
DO 1 J=1,NC
HL=HL+X(J)*C3(J)*T
HV=HV+Y(J)*(C1(J)+C2(J)*T)
CONTINUE
RETURN
6/7
PROJECT.f
7/7
04-May-12 6:07:51 PM
320:
321:
322:
323:
324:
325:
326:
327:
328:
329:
330:
331:
332:
333:
334:
335:
336:
337:
338:
339:
340:
341:
342:
343:
344:
345:
346:
347:
348:
349:
350:
351:
352:
353:
354:
355:
356:
357:
358:
359:
END
10
15
20
30
21
SUBROUTINE MWDENS(T,X,MWA,DENSA)
COMMON NC,MW(5),DENS(5),C1(5),C2(5),C3(5),BPT(5),AVP(5),BVP(5)
DIMENSION X(5)
REAL MW,MWA
DENSA=0.0
MWA=0.0
DO 1 J=1,NC
MWA=X(J)*MW(J)+MWA
DENSA=X(J)*DENS(J)+DENSA
RETURN
END
SUBROUTINE BUBPT(T,X,Y,P)
COMMON NC,MW(5),DENS(5),C1(5),C2(5),C3(5),BPT(5),AVP(5),BVP(5)
DIMENSION X(5),Y(5),PS(5)
LOOP=0
LOOP=LOOP+1
IF(LOOP.GT.50) GOTO 30
SUMY=0.0
DO 15 J=1,NC
PS(J)=EXP(BVP(J)+AVP(J)/(T+460.0))
Y(J)=PS(J)*X(J)/P
SUMY=SUMY+Y(J)
IF(ABS(SUMY-1.0).LT..00001) RETURN
F=SUMY*P-P
FSLOPE=0
TSQ=(T+460.0)**2
DO 20 J=1,NC
FSLOPE=FSLOPE-AVP(J)*X(J)*PS(J)/TSQ
T=T-F/FSLOPE
GOTO 10
WRITE(6,21)
FORMAT(1X,'TEMP LOOP')
STOP
END
7/7