-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFEEDLOC.SIF
439 lines (368 loc) · 11.5 KB
/
FEEDLOC.SIF
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
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
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
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
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
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
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
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
***************************
* SET UP THE INITIAL DATA *
***************************
NAME FEEDLOC
* Problem :
* *********
* Feed tray location & determination of optimum number of trays
* in a distillation column
* SIF input: S. Leyffer, October 1997
* classification LOR2-AN-90-259
IE 1 1
IE 2 2
IE 3 3
IE M 2 $ number of components
IE NMAX 12 $ max. number of trays
IA NMAX-1 NMAX -1
RE F 100.0 $ Feed stream
AE AL1 1.0 $ relative volatility of component 1
AE AL2 5.13435 $ relative volatility of component 2
AE XF1 0.80 $ feed rate of component 1
AE XF2 0.20 $ feed rate of component 2
AE SPEC 0.001 $ purity specification
RE BIGM 1000.0 $ a large constant
VARIABLES
DO I 1 NMAX
X S(I) INTEGER $ = 1 if N = I
X W(I) INTEGER $ = 1 if tray I is feed tray
X Z(I) INTEGER $ = 1 if tray I exists
ND
N $ actual number of trays
* ... liquid(X) and vapour(Y) mole fractions
DO I 1 NMAX
DO J 1 M
X X(I,J)
X Y(I,J)
ND
L $ molar flow rate of liquid
V $ molar flow rate of vapour
R $ reflux ratio
P1 $ top product rate
P2 $ bottom product rate
GROUPS
* ... objective
N OBJ R 1.0
* ... logical constraints
DO I 1 NMAX
XE FENTR W(I) 1.0
XE NTRAY S(I) 1.0
XE NDEF1 Z(I) 1.0
AI RI I
ZE NDEF2 S(I) RI
ND
XE NDEF1 N -1.0
XE NDEF2 N -1.0
DO I 1 NMAX-1
IA I+1 I 1
XG NIL(I) Z(I) 1.0 Z(I+1) -1.0
ND
DO I 1 NMAX
AI RI I
ZL ENTX W(I) RI
AM RI RI -1.0
ZL ENTX S(I) RI
ND
DO I 1 NMAX
XL LASTX(I) S(I) 1.0 Z(I) -1.0
ND
DO I 1 NMAX
XL ZNOT(I) Z(I) 1.0
DO K I NMAX
XL ZNOT(I) S(K) -1.0
OD K
OD I
DO I 1 NMAX
XL FEEDX(I) W(I) 1.0 Z(I) -1.0
ND
DO I 2 NMAX
IA I-1 I -1
XL WNES1_(I) W(I) 1.0 S(I) 1.0
XL WNES2_(I) W(I-1) 1.0 S(I) 1.0
ND
* ... general linear constraints
DO I 1 NMAX
DO J 1 M
XG PE1(I) Y(I,J) 1.0
XG PE2(I) Y(I,J) 1.0
XG PE3(I) X(I,J) 1.0
XG PE4(I) X(I,J) 1.0
OD J
XG PE1(I) Z(I) 1.0
XG PE2(I) Z(I) -1.0
XG PE3(I) Z(I) 1.0
XG PE4(I) Z(I) -1.0
DO J 1 M
XL XNOT(I,J) X(I,J) 1.0 Z(I) -1.0
XL YNOT(I,J) Y(I,J) 1.0 Z(I) -1.0
OD J
OD I
* ... nonlinear constraints
DO I 1 NMAX
AM TEMP AL1 -1.0
ZE PHEE(I) X(I,1) TEMP
OD I
E DEFL L 1.0
DO J 1 M
AM TEMP F -1.0
ZE CMB1_(J) X(2,J) TEMP
ND
DO I 2 NMAX
DO J 1 M
AM TEMP BIGM -1.0
ZL CMBN1(I,J)S(I) BIGM
ZG CMBN2(I,J)S(I) TEMP
OD J
OD I
DO I 2 NMAX-1
A* TEMP1 F XF(J)
AM TEMP1 TEMP1 -1.0
ZL CMB1(I) S(I) TEMP
ZL CMB1(I) Z(I) BIGM
ZL CMB1(I) W(I) TEMP1
ZG CMB2(I) S(I) BIGM
ZG CMB2(I) Z(I) TEMP
ZG CMB2(I) W(I) TEMP1
OD I
DO I 3 NMAX
ZL RECR(I) S(I) BIGM
ND
CONSTANTS
FEEDLOC FENTR 1.0
FEEDLOC NTRAY 1.0
DO I 2 NMAX
X FEEDLOC WNES1_(I) 1.0
X FEEDLOC WNES2_(I) 1.0
ND
AM TEMP BIGM -1.0
DO I 2 NMAX
DO J 1 M
Z FEEDLOC CMBN1(I,J) BIGM
Z FEEDLOC CMBN2(I,J) TEMP
OD J
OD I
DO I 2 NMAX-1
Z FEEDLOC CMB1(I) BIGM
AM TEMP BIGM -1.0
Z FEEDLOC CMB2(I) TEMP
OD I
A* TEMP XF(1) SPEC
A* TEMP1 TEMP F
A+ RHS TEMP1 BIGM
DO I 3 NMAX
Z FEEDLOC RECR(I) RHS
ND
RANGES
DO I 1 NMAX
X FEEDLOC PE1(I) 2.0
X FEEDLOC PE2(I) 2.0
X FEEDLOC PE3(I) 2.0
X FEEDLOC PE4(I) 2.0
OD I
BOUNDS
DO I 1 NMAX
XU FEEDLOC Z(I) 1.0
XU FEEDLOC W(I) 1.0
XU FEEDLOC S(I) 1.0
DO J 1 M
XU FEEDLOC X(I,J) 1.0
XU FEEDLOC Y(I,J) 1.0
OD J
OD I
LO FEEDLOC N 3.0
AI TEMP NMAX
ZU FEEDLOC N TEMP
FX FEEDLOC P2 80.0
ZU FEEDLOC L F
ZU FEEDLOC V F
ZU FEEDLOC P1 F
UP FEEDLOC R 5.0
* ... feed may not enter bottom two trays
XX FEEDLOC W(1) 0.0
XX FEEDLOC W(2) 0.0
* ... temporary bounds to simulate B&B tree
*IE 8 8
*IE 4 4
*XX FEEDLOC S(8) 1.0
*XX FEEDLOC W(4) 1.0
*XU FEEDLOC S(1) 0.0
START POINT
FEEDLOC 'DEFAULT' 0.5
ELEMENT TYPE
EV A2PROD V1 V2
EP A2PROD A
ELEMENT USES
DO I 1 NMAX
DO K 1 M
XT PHE(I,K) A2PROD
ZV PHE(I,K) V1 X(I,K)
ZV PHE(I,K) V2 Y(I,1)
ZP PHE(I,K) A AL(K)
OD K
OD I
T DEFLE A2PROD
V DEFLE V1 R
V DEFLE V2 P1
P DEFLE A -1.0
DO J 1 M
XT CMB11_(J) A2PROD
ZV CMB11_(J) V1 P2
ZV CMB11_(J) V2 X(1,J)
XP CMB11_(J) A 1.0
XT CMB12_(J) A2PROD
ZV CMB12_(J) V1 V
ZV CMB12_(J) V2 Y(1,J)
XP CMB12_(J) A 1.0
XT CMB13_(J) A2PROD
ZV CMB13_(J) V1 L
ZV CMB13_(J) V2 X(2,J)
XP CMB13_(J) A -1.0
ND
DO I 2 NMAX
IA I-1 I -1
DO J 1 M
XT CM11(I,J) A2PROD
ZV CM11(I,J) V1 L
ZV CM11(I,J) V2 X(I,J)
XP CM11(I,J) A 1.0
XT CM12(I,J) A2PROD
ZV CM12(I,J) V1 P1
ZV CM12(I,J) V2 Y(I,J)
XP CM12(I,J) A 1.0
XT CM13(I,J) A2PROD
ZV CM13(I,J) V1 V
ZV CM13(I,J) V2 Y(I-1,J)
XP CM13(I,J) A -1.0
XT CM21(I,J) A2PROD
ZV CM21(I,J) V1 L
ZV CM21(I,J) V2 X(I,J)
XP CM21(I,J) A 1.0
XT CM22(I,J) A2PROD
ZV CM22(I,J) V1 P1
ZV CM22(I,J) V2 Y(I,J)
XP CM22(I,J) A 1.0
XT CM23(I,J) A2PROD
ZV CM23(I,J) V1 V
ZV CM23(I,J) V2 Y(I-1,J)
XP CM23(I,J) A -1.0
OD J
OD I
DO I 2 NMAX-1
IA I-1 I -1
IA I+1 I 1
XT C11(I) A2PROD
ZV C11(I) V1 L
ZV C11(I) V2 X(I,1)
XP C11(I) A 1.0
DO K I NMAX
XT C12(I,K) A2PROD
ZV C12(I,K) V1 X(I,1)
ZV C12(I,K) V2 W(K)
ZP C12(I,K) A F
OD K
XT C13(I) A2PROD
ZV C13(I) V1 V
ZV C13(I) V2 Y(I,1)
XP C13(I) A 1.0
XT C14(I) A2PROD
ZV C14(I) V1 L
ZV C14(I) V2 X(I+1,1)
XP C14(I) A -1.0
DO K I+1 NMAX
AM TEMP F -1.0
XT C15(I,K) A2PROD
ZV C15(I,K) V1 X(I+1,1)
ZV C15(I,K) V2 W(K)
ZP C15(I,K) A TEMP
OD K
XT C16(I) A2PROD
ZV C16(I) V1 V
ZV C16(I) V2 Y(I-1,1)
XP C16(I) A -1.0
XT C21(I) A2PROD
ZV C21(I) V1 L
ZV C21(I) V2 X(I,1)
XP C21(I) A 1.0
DO K 1 NMAX
XT C22(I,K) A2PROD
ZV C22(I,K) V1 X(I,1)
ZV C22(I,K) V2 W(K)
ZP C22(I,K) A F
OD K
XT C23(I) A2PROD
ZV C23(I) V1 V
ZV C23(I) V2 Y(I,1)
XP C23(I) A 1.0
XT C24(I) A2PROD
ZV C24(I) V1 L
ZV C24(I) V2 X(I+1,1)
XP C24(I) A -1.0
DO K I+1 NMAX
AM TEMP F -1.0
XT C25(I,K) A2PROD
ZV C25(I,K) V1 X(I+1,1)
ZV C25(I,K) V2 W(K)
ZP C25(I,K) A TEMP
OD K
XT C26(I) A2PROD
ZV C26(I) V1 V
ZV C26(I) V2 Y(I-1,1)
XP C26(I) A -1.0
OD I
DO I 3 NMAX
XT REC(I) A2PROD
ZV REC(I) V1 P1
ZV REC(I) V2 Y(I,1)
XP REC(I) A 1.0
OD I
GROUP USES
DO I 1 NMAX
DO K 1 M
XE PHEE(I) PHE(I,K)
OD K
OD I
E DEFL DEFLE
DO J 1 M
XE CMB1_(J) CMB11_(J) CMB12_(J)
XE CMB1_(J) CMB13_(J)
OD J
DO I 2 NMAX
DO J 1 M
XE CMBN1(I,J)CM11(I,J) CM12(I,J)
XE CMBN1(I,J)CM13(I,J)
XE CMBN2(I,J)CM21(I,J) CM22(I,J)
XE CMBN2(I,J)CM23(I,J)
OD J
OD I
DO I 2 NMAX-1
XE CMB1(I) C11(I) C13(I)
XE CMB1(I) C14(I) C16(I)
XE CMB2(I) C21(I) C23(I)
XE CMB2(I) C24(I) C26(I)
DO K I NMAX
XE CMB1(I) C12(I,K)
XE CMB2(I) C22(I,K)
OD K
IA I+1 I 1
DO K I+1 NMAX
XE CMB1(I) C15(I,K)
XE CMB2(I) C25(I,K)
OD K
OD I
DO I 3 NMAX
XE RECR(I) REC(I)
ND
ENDATA
***********************
* SET UP THE FUNCTION *
* AND RANGE ROUTINES *
***********************
ELEMENTS FEEDLOC
EV A2PROD V1 V2
EP A2PROD A
INDIVIDUALS
T A2PROD
F A * V1 * V2
G V1 A * V2
G V2 A * V1
H V1 V2 A
ENDATA