0% found this document useful (0 votes)
41 views7 pages

Real Common Dimension Dimension Dimension Dimension Dimension

This document contains code for a distillation column simulation. It defines variables and dimensions for the column, reads in input data on physical properties, feed streams, and operating conditions. It then initializes holdups and molar flows throughout the column and calculates an initial pressure profile. The main loop simulates each time step, calculating vapor-liquid equilibrium at each stage and updating compositions based on specified efficiency.

Uploaded by

Himanshu Singh
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views7 pages

Real Common Dimension Dimension Dimension Dimension Dimension

This document contains code for a distillation column simulation. It defines variables and dimensions for the column, reads in input data on physical properties, feed streams, and operating conditions. It then initializes holdups and molar flows throughout the column and calculates an initial pressure profile. The main loop simulates each time step, calculating vapor-liquid equilibrium at each stage and updating compositions based on specified efficiency.

Uploaded by

Himanshu Singh
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

PROJECT.

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

You might also like