summaryrefslogtreecommitdiff
path: root/Chemical_Engineering_Thermodynamics_by_Y_V_C_Rao/ch12.ipynb
blob: fe626468f353cb8ff60159747ffd392558182e3f (plain)
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
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
{
 "metadata": {
  "name": ""
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": [
      "Chapter 12 : Vapor liquid Equilibrium"
     ]
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 12.1  Page No : 423"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "%matplotlib inline\n",
      "import math \n",
      "from numpy import *\n",
      "from matplotlib.pyplot import *\n",
      "\n",
      "# Variables\n",
      "T = 60.\t\t\t #temperature of the system in degree celsius\n",
      "P = [237.60,265.20,317.50,333.00,368.70,387.20];\t\t\t #Pressure data in Torr (from Danneil et al.)\n",
      "x1 = [0.0870,0.1800,0.4040,0.4790,0.7130,0.9070];\t\t\t #mole fraction of benzene in the liquid phase corresponding to the given pressure (no unit) (from Danneil et al.)\n",
      "y1 = [0.1870,0.3400,0.5780,0.6420,0.7960,0.9220];\t\t\t #mole fraction of benzene in the vapour phase corresponding to the given pressure (no unit) (from Danneil et al.)\n",
      "antoine_const_benzene = [6.87987,1196.760,219.161];\t\t\t #Antoine's constants for Benzene from Table A.7\n",
      "antoine_const_heptane = [6.89386,1264.370,216.640];\t\t\t #Antoine's constants for heptane from Table A.7\n",
      "\n",
      "# Calculations\n",
      "P1_s = 10**(antoine_const_benzene[0]-(antoine_const_benzene[1]/(T+antoine_const_benzene[2])));\n",
      "P2_s = 10**(antoine_const_heptane[0]-(antoine_const_heptane[1]/(T+antoine_const_heptane[2])));\n",
      "l = len(P);\t\t\t #iteration parameter\n",
      "i = 0;\t\t\t #iteration parameter\n",
      "gaamma1 = zeros(l)\n",
      "gaamma2 = zeros(l)\n",
      "ln_gaamma1_expt = zeros(l)\n",
      "ln_gaamma2_expt = zeros(l)\n",
      "gE_RTx1x2 = zeros(l)\n",
      "while i<l:\n",
      "    gaamma1[i] = (y1[i]*P[i])/(x1[i]*P1_s);\t\t\n",
      "    gaamma2[i] = ((1-y1[i])*P[i])/((1-x1[i])*P2_s);\n",
      "    ln_gaamma1_expt[i] = math.log(gaamma1[i]);\n",
      "    ln_gaamma2_expt[i] = math.log(gaamma2[i]);\n",
      "    gE_RTx1x2[i] = ((x1[i]*ln_gaamma1_expt[i])+((1-x1[i])*ln_gaamma2_expt[i]))/(x1[i]*(1-x1[i]));\t\t\t # Calculations of gE/RT using Eq.(11.36) (no unit)\n",
      "    i = i+1;\n",
      "\n",
      "plot(x1,gE_RTx1x2,'o');\t\t\n",
      "suptitle('Plot of gE/RTx1x2 vs x1')\n",
      "xlabel('x1')\n",
      "ylabel('gE/RTx1x2');\n",
      "A21 = 0.555\n",
      "A12 = 0.315\n",
      "j = 0\n",
      "ln_gaamma1 = zeros(l)\n",
      "ln_gaamma2 = zeros(l)\n",
      "P_calc = zeros(l)\n",
      "y1_calc = zeros(l)\n",
      "gaamma1 = zeros(l)\n",
      "gaamma2 = zeros(l)\n",
      "while j<l:\n",
      "    ln_gaamma1[j] = ((1-x1[j])**2)*(A12+(2*(A21-A12)*x1[j]));\n",
      "    ln_gaamma2[j] = (x1[j]**2)*(A21+(2*(A12-A21)*(1-x1[j])));\n",
      "    gaamma1[j] = math.exp(ln_gaamma1[j])\n",
      "    gaamma2[j] = math.exp(ln_gaamma2[j])\n",
      "    P_calc[j] = (gaamma1[j]*x1[j]*P1_s)+(gaamma2[j]*(1-x1[j])*P2_s)\n",
      "    y1_calc[j] = (gaamma1[j]*x1[j]*P1_s)/P[j];\t\t\t \n",
      "    j = j+1;\n",
      "\n",
      "# Results\n",
      "print 'Data for the plot of gE/RTx1x2 vs x1: ';\n",
      "\n",
      "for i in range(l):\n",
      "    print 'P = %f Torr\\t x1 = %f\\t y1 = %f \\t lngamma1) = %f\\t\\t lngamma2) =\\\n",
      "     %f\\t\\t gE/RTx1x2 = %f'%(P[i],x1[i],y1[i],ln_gaamma1_expt[i],ln_gaamma2_expt[i],gE_RTx1x2[i]);\n",
      "\n",
      "print 'Results: ';\n",
      "for i in range(l):\n",
      "    print 'x1 = %f \\t gamma1 = %f \\t gamma2 = %f \\t P_Exptl. = %f \\\n",
      "    Torr\\t P_Calc = %f Torr\\t y1_Exptl = %f \\t y1_calc = %f '%(x1[i],gaamma1[i],gaamma2[i],P[i],P_calc[i],y1[i],y1_calc[i]);\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Populating the interactive namespace from numpy and matplotlib\n",
        "Data for the plot of gE/RTx1x2 vs x1: "
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "P = 237.600000 Torr\t x1 = 0.087000\t y1 = 0.187000 \t lngamma1) = 0.265459\t\t lngamma2) =     0.004741\t\t gE/RTx1x2 = 0.345243\n",
        "P = 265.200000 Torr\t x1 = 0.180000\t y1 = 0.340000 \t lngamma1) = 0.246143\t\t lngamma2) =     0.013576\t\t gE/RTx1x2 = 0.375599\n",
        "P = 317.500000 Torr\t x1 = 0.404000\t y1 = 0.578000 \t lngamma1) = 0.148307\t\t lngamma2) =     0.065399\t\t gE/RTx1x2 = 0.410716\n",
        "P = 333.000000 Torr\t x1 = 0.479000\t y1 = 0.642000 \t lngamma1) = 0.130700\t\t lngamma2) =     0.083082\t\t gE/RTx1x2 = 0.424313\n",
        "P = 368.700000 Torr\t x1 = 0.713000\t y1 = 0.796000 \t lngamma1) = 0.049771\t\t lngamma2) =     0.218778\t\t gE/RTx1x2 = 0.480259\n",
        "P = 387.200000 Torr\t x1 = 0.907000\t y1 = 0.922000 \t lngamma1) = 0.005014\t\t lngamma2) =     0.433207\t\t gE/RTx1x2 = 0.531539\n",
        "Results: \n",
        "x1 = 0.087000 \t gamma1 = 1.346332 \t gamma2 = 1.000884 \t P_Exptl. = 237.600000     Torr\t P_Calc = 238.297793 Torr\t y1_Exptl = 0.187000 \t y1_calc = 0.193066 \n",
        "x1 = 0.180000 \t gamma1 = 1.309835 \t gamma2 = 1.005243 \t P_Exptl. = 265.200000     Torr\t P_Calc = 265.912990 Torr\t y1_Exptl = 0.340000 \t y1_calc = 0.348175 \n",
        "x1 = 0.404000 \t gamma1 = 1.198147 \t gamma2 = 1.044870 \t P_Exptl. = 317.500000     Torr\t P_Calc = 320.705660 Torr\t y1_Exptl = 0.578000 \t y1_calc = 0.597076 \n",
        "x1 = 0.479000 \t gamma1 = 1.159413 \t gamma2 = 1.072467 \t P_Exptl. = 333.000000     Torr\t P_Calc = 335.157916 Torr\t y1_Exptl = 0.642000 \t y1_calc = 0.653147 \n",
        "x1 = 0.713000 \t gamma1 = 1.055628 \t gamma2 = 1.236286 \t P_Exptl. = 368.700000     Torr\t P_Calc = 369.484272 Torr\t y1_Exptl = 0.796000 \t y1_calc = 0.799482 \n",
        "x1 = 0.907000 \t gamma1 = 1.006511 \t gamma2 = 1.521729 \t P_Exptl. = 387.200000     Torr\t P_Calc = 387.326500 Torr\t y1_Exptl = 0.922000 \t y1_calc = 0.923362 \n"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n",
       "text": [
        "<matplotlib.figure.Figure at 0x2dcf110>"
       ]
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 12.3  Page No : 430"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "from numpy import *\n",
      "# Variables\n",
      "T = 25.     \t\t\t #temperature of the system in degree celsius\n",
      "A12 = 2.0522;\t\t\t #three suffix Margules parameters for the system (no unit)\n",
      "A21 = 1.7201;\t\t\t #three suffix Margules parameters for the system (no unit)\n",
      "P = [118.05,207.70,246.35,259.40,261.50,262.00,261.90,258.70,252.00];\t\t\t #Pressure data in Torr (from Tasic et al.)\n",
      "x1 = [0.0115,0.1125,0.3090,0.5760,0.6920,0.7390,0.7575,0.8605,0.9250];\n",
      "y1 = [0.1810,0.5670,0.6550,0.7050,0.7250,0.7390,0.7460,0.8030,0.8580];\n",
      "antoine_const_acetone = [7.11714,1210.595,229.664];\t\t\t #Antoine's constants for acetone from Table A.7\n",
      "antoine_const_chexane = [6.85146,1206.470,223.136];\t\t\t #Antoine's constants for cyclohexane from Table A.7\n",
      "\n",
      "# Calculations\n",
      "P1_s = 10**(antoine_const_acetone[0]-(antoine_const_acetone[1]/(T+antoine_const_acetone[2])));\n",
      "P2_s = 10**(antoine_const_chexane[0]-(antoine_const_chexane[1]/(T+antoine_const_chexane[2])));\n",
      "\n",
      "l = len(P)\n",
      "ln_gaamma1 = zeros(l)\n",
      "ln_gaamma2 = zeros(l)\n",
      "gaamma1 = zeros(l)\n",
      "gaamma2 = zeros(l)\n",
      "P = zeros(l)\n",
      "y1_calc = zeros(l)\n",
      "j = 0;\t\n",
      "\n",
      "while j<l:\n",
      "    ln_gaamma1[j] = ((1-x1[j])**2)*(A12+(2*(A21-A12)*x1[j]));\t\n",
      "    ln_gaamma2[j] = (x1[j]**2)*(A21+(2*(A12-A21)*(1-x1[j])));\t\n",
      "    gaamma1[j] = math.exp(ln_gaamma1[j]);\t\t\t \n",
      "    gaamma2[j] = math.exp(ln_gaamma2[j]);\t\t\t \n",
      "    P[j] = (gaamma1[j]*x1[j]*P1_s)+(gaamma2[j]*(1-x1[j])*P2_s)\n",
      "    y1_calc[j] = (gaamma1[j]*x1[j]*P1_s)/P[j];\t\t\t \n",
      "    j = j+1;\n",
      "\n",
      "# Results\n",
      "print 'P-x-y data: ';\n",
      "print 'x1 \\t  gamma1\\t  gamma2 \\t P Torr \\t y1  ';\n",
      "for i in range(l):\n",
      "    print '%0.4f \\t %f \\t %f \\t %f  \\t %f '%(x1[i],gaamma1[i],gaamma2[i],P[i],y1_calc[i])\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "P-x-y data: \n",
        "x1 \t  gamma1\t  gamma2 \t P Torr \t y1  \n",
        "0.0115 \t 7.372871 \t 1.000314 \t 116.059350  \t 0.168694 \n",
        "0.1125 \t 4.747283 \t 1.029662 \t 212.486878  \t 0.580377 \n",
        "0.3090 \t 2.415459 \t 1.231286 \t 255.363338  \t 0.674908 \n",
        "0.5760 \t 1.350072 \t 1.942786 \t 259.940648  \t 0.690796 \n",
        "0.6920 \t 1.163087 \t 2.513451 \t 261.385489  \t 0.711020 \n",
        "0.7390 \t 1.112223 \t 2.812451 \t 261.416681  \t 0.726019 \n",
        "0.7575 \t 1.095373 \t 2.942991 \t 261.232545  \t 0.733436 \n",
        "0.8605 \t 1.029233 \t 3.827737 \t 256.608420  \t 0.796964 \n",
        "0.9250 \t 1.008121 \t 4.546617 \t 248.599211  \t 0.866162 \n"
       ]
      }
     ],
     "prompt_number": 2
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 12.4  Page No : 432"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "# Variables\n",
      "T = 25. \t\t\t #temperature of the system in degree celsius\n",
      "A = 2.0684;\t\t\t #the van Laar parameters for the system (no unit)\n",
      "B = 1.7174;\t\t\t #the van Laar parameters for the system (no unit)\n",
      "P = [118.05,207.70,246.35,259.40,261.50,262.00,261.90,258.70,252.00];\t\t\t #Pressure data in Torr (from Tasic et al.)\n",
      "x1 = [0.0115,0.1125,0.3090,0.5760,0.6920,0.7390,0.7575,0.8605,0.9250];\n",
      "y1 = [0.1810,0.5670,0.6550,0.7050,0.7250,0.7390,0.7460,0.8030,0.8580];\n",
      "antoine_const_acetone = [7.11714,1210.595,229.664];\t\t\t #Antoine's constants for acetone from Table A.7\n",
      "antoine_const_chexane = [6.85146,1206.470,223.136];\t\t\t #Antoine's constants for cyclohexane from Table A.7\n",
      "\n",
      "# Calculations\n",
      "P1_s = 10**(antoine_const_acetone[0]-(antoine_const_acetone[1]/(T+antoine_const_acetone[2])))\n",
      "P2_s = 10**(antoine_const_chexane[0]-(antoine_const_chexane[1]/(T+antoine_const_chexane[2])));\n",
      "l = len(P)\n",
      "j = 0\n",
      "while j<l:\n",
      "    ln_gaamma1[j] = A/(1+((A*x1[j])/(B*(1-x1[j]))))**2\n",
      "    ln_gaamma2[j] = B/(1+((B*(1-x1[j]))/(A*x1[j])))**2\n",
      "    gaamma1[j] = math.exp(ln_gaamma1[j]);\t\t\t\n",
      "    gaamma2[j] = math.exp(ln_gaamma2[j]);\t\t\t\n",
      "    P[j] = (gaamma1[j]*x1[j]*P1_s)+(gaamma2[j]*(1-x1[j])*P2_s)\n",
      "    y1_calc[j] = (gaamma1[j]*x1[j]*P1_s)/P[j];\t\t\t \n",
      "    j = j+1;\n",
      "\n",
      "# Results\n",
      "print 'P-x-y data: ';\n",
      "i = 0;\n",
      "print 'x1 \\t  gamma1 \\t gamma2 \\t PTorr \\t y1 ';\n",
      "for i in range(l):\n",
      "    print '%0.4f \\t %f \\t %f \\t %f  \\t %f '%(x1[i],gaamma1[i],gaamma2[i],P[i],y1_calc[i]);\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "P-x-y data: \n",
        "x1 \t  gamma1 \t gamma2 \t PTorr \t y1 \n",
        "0.0115 \t 7.475516 \t 1.000328 \t 116.333233  \t 0.170640 \n",
        "0.1125 \t 4.743506 \t 1.030586 \t 212.468724  \t 0.579965 \n",
        "0.3090 \t 2.395936 \t 1.234218 \t 254.168007  \t 0.672601 \n",
        "0.5760 \t 1.346684 \t 1.937830 \t 259.284960  \t 0.690805 \n",
        "0.6920 \t 1.162537 \t 2.498302 \t 260.842215  \t 0.712164 \n",
        "0.7390 \t 1.112211 \t 2.792268 \t 260.900602  \t 0.727447 \n",
        "0.7575 \t 1.095497 \t 2.920797 \t 260.729035  \t 0.734935 \n",
        "0.8605 \t 1.029539 \t 3.796506 \t 256.244215  \t 0.798334 \n",
        "0.9250 \t 1.008263 \t 4.515793 \t 248.404105  \t 0.866965 \n"
       ]
      }
     ],
     "prompt_number": 10
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 12.5  Page No : 435"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "from numpy import *\n",
      "from matplotlib.pyplot import *\n",
      "\n",
      "# Variables\n",
      "P = 760.\t\t\t #pressure in Torr at which chloroform and methanol form an azeotrope\n",
      "T = 53.5\t\t\t #temperature in degree celsius at which chloroform and methanol form an azeotrope\n",
      "x1 = 0.65\t\t\t #mole fraction of chloroform in the liquid phase (no unit) (corresponding to azeotropic composition)\n",
      "antoine_const_chloroform = [6.95465,1170.966,226.232];\t\t\t #Antoine's constants for acetone from Table A.7\n",
      "antoine_const_methanol = [8.08097,1582.271,239.726];\t\t\t #Antoine's constants for acetone from Table A.7\n",
      "\n",
      "# Calculations\n",
      "x2 = 1-x1\n",
      "P1_s = 10**(antoine_const_chloroform[0]-(antoine_const_chloroform[1]/(T+antoine_const_chloroform[2])));\n",
      "P2_s = 10**(antoine_const_methanol[0]-(antoine_const_methanol[1]/(T+antoine_const_methanol[2])));\n",
      "gaamma1 = P/P1_s\n",
      "gaamma2 = P/P2_s\n",
      "A = math.log(gaamma1)*(1+((x2*math.log(gaamma2))/(x1*math.log(gaamma1))))**2\n",
      "B = math.log(gaamma2)*(1+((x1*math.log(gaamma1))/(x2*math.log(gaamma2))))**2\n",
      "x1 = linspace(0.1,0.9,9)\n",
      "l = len(x1)\n",
      "gaamma1 = zeros(l)\n",
      "gaamma2 = zeros(l)\n",
      "P  = zeros(l) \n",
      "y1 = zeros(l)\n",
      "j = 0\n",
      "while j<l:\n",
      "    ln_gaamma1[j] = A/(1+((A*x1[j])/(B*(1-x1[j]))))**2\n",
      "    ln_gaamma2[j] = B/(1+((B*(1-x1[j]))/(A*x1[j])))**2\n",
      "    gaamma1[j] = math.exp(ln_gaamma1[j]);\t\t\t \n",
      "    gaamma2[j] = math.exp(ln_gaamma2[j]);\t\t\t \n",
      "    P[j] = (gaamma1[j]*x1[j]*P1_s)+(gaamma2[j]*(1-x1[j])*P2_s)\n",
      "    y1[j] = (gaamma1[j]*x1[j]*P1_s)/P[j];\t\t\t \n",
      "    j = j+1;\n",
      "\n",
      "# Results\n",
      "print 'VLE data: ';\n",
      "print 'x1 \\tgamma1 \\t\\t gamma2  \\t P Torr \\t y1 ';\n",
      "for i in range(l):\n",
      "    print '%0.1f \\t %f \\t %f \\t %f \\t %f '%(x1[i],gaamma1[i],gaamma2[i],P[i],y1[i]);\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "VLE data: \n",
        "x1 \tgamma1 \t\t gamma2  \t P Torr \t y1 \n",
        "0.1 \t 2.391069 \t 1.005464 \t 578.375597 \t 0.242663 \n",
        "0.2 \t 2.151801 \t 1.024547 \t 649.357212 \t 0.389019 \n",
        "0.3 \t 1.928361 \t 1.062974 \t 699.744047 \t 0.485280 \n",
        "0.4 \t 1.722251 \t 1.130135 \t 732.594248 \t 0.551969 \n",
        "0.5 \t 1.535159 \t 1.242383 \t 751.239893 \t 0.599745 \n",
        "0.6 \t 1.369108 \t 1.430331 \t 759.122391 \t 0.635183 \n",
        "0.7 \t 1.226766 \t 1.756665 \t 759.153131 \t 0.663976 \n",
        "0.8 \t 1.112114 \t 2.365222 \t 751.206494 \t 0.695188 \n",
        "0.9 \t 1.031997 \t 3.639052 \t 721.331744 \t 0.755801 \n"
       ]
      }
     ],
     "prompt_number": 14
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 12.6  Page No : 443"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "# Variables\n",
      "y1 = 0.3;\t\t\t #mole fraction of ethane in the vapour phase (no unit)\n",
      "T = 30. \t\t\t #temperature in degree celsius\n",
      "\n",
      "# Calculations\n",
      "y2 = 1-y1\n",
      "P_guess = 1\n",
      "K1 = 3.4\n",
      "K2 = 1.1\n",
      "x1_calc = y1/K1\n",
      "x2_calc = y2/K2;\n",
      "tot = x1_calc+x2_calc\n",
      "if tot == 1:\n",
      "    P = P_guess\n",
      "    x1 = x1_calc\n",
      "    x2 = x2_calc\n",
      "else:\n",
      "    P = 1.5\n",
      "    K1 = 2.4\n",
      "    K2 = 0.8\n",
      "    x1 = y1/K1\n",
      "    x2 = y2/K2\n",
      "\n",
      "# Results\n",
      "print 'The Dew pressure and the liquid composition of a binary vapour mixture of\\\n",
      " ethane and propane was found to be P = %0.2f MPa\\t x1 = %0.3f\\t x2 = %0.3f \\t'%(P,x1,x2);\n",
      "\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The Dew pressure and the liquid composition of a binary vapour mixture of ethane and propane was found to be P = 1.50 MPa\t x1 = 0.125\t x2 = 0.875 \t\n"
       ]
      }
     ],
     "prompt_number": 17
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 12.7  Page No : 443"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "# Variables\n",
      "x1 = 0.4;\t\t\t #mole fraction of ethane in the liquid phase (no unit)\n",
      "P = 1.5;\t\t\t #pressure in MPa\n",
      "\n",
      "# Calculations\n",
      "x2 = 1-x1\n",
      "t_guess = 10.\n",
      "K1 = 1.8;\t\n",
      "K2 = 0.5;\t\n",
      "y1_calc = K1*x1\n",
      "y2_calc = K2*x2\n",
      "tot = y1_calc+y2_calc\n",
      "if tot == 1:\n",
      "   t = t_guess\n",
      "   y1 = y1_calc\n",
      "   y2 = y2_calc\n",
      "else:\n",
      "    t = 9.\n",
      "    K1 = 1.75\n",
      "    K2 = 0.5;\n",
      "    y1 = K1*x1\n",
      "    y2 = K2*x2\n",
      "\n",
      "# Results\n",
      "print 'The bubble temperature and the vapour composition of a binary vapour mixture\\\n",
      " of ethane and propane was found to be t = %d degree celsius y1 = %f\\t y2 = %f\\t'%(t,y1,y2);\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The bubble temperature and the vapour composition of a binary vapour mixture of ethane and propane was found to be t = 9 degree celsius y1 = 0.700000\t y2 = 0.300000\t\n"
       ]
      }
     ],
     "prompt_number": 19
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 12.8  Page No : 449"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "from numpy import *\n",
      "from matplotlib.pyplot import *\n",
      "%matplotlib inline\n",
      "# Variables\n",
      "P = [350.00,446.00,518.00,574.50,609.00,632.50,665.00,681.50,691.50]\n",
      "x1 = [0.0550,0.1290,0.2120,0.3130,0.4300,0.5200,0.6380,0.7490,0.8720]\n",
      "y1 = [0.3500,0.5110,0.5990,0.6500,0.6970,0.7260,0.7590,0.8130,0.8830]\n",
      "antoine_const_propanol = [8.37895,1788.020,227.438];\t\t\t \n",
      "antoine_const_cbenzene = [7.17294,1549.200,229.260];\t\t\t \n",
      "T = 95.\t\t\t #temperature of the system in degree celsius\n",
      "\n",
      "# Calculations\n",
      "P1_s = 10**(antoine_const_propanol[0]-(antoine_const_propanol[1]/(T+antoine_const_propanol[2])));\n",
      "P2_s = 10**(antoine_const_cbenzene[0]-(antoine_const_cbenzene[1]/(T+antoine_const_cbenzene[2])));\n",
      "l = len(P)\n",
      "lngamma1_gamma2 = zeros(l)\n",
      "gaamma1 = zeros(l)\n",
      "gaamma2 = zeros(l)\n",
      "i = 0\n",
      "while i<l:\n",
      "    gaamma1[i] = (y1[i]*P[i])/(x1[i]*P1_s)\n",
      "    gaamma2[i] = ((1-y1[i])*P[i])/((1-x1[i])*P2_s)\n",
      "    lngamma1_gamma2[i] = math.log(gaamma1[i]/gaamma2[i])\n",
      "    i = i+1;\n",
      "\n",
      "plot(x1,lngamma1_gamma2);\n",
      "suptitle('Plot of ln(gamma1/gamma2) vs x1')\n",
      "xlabel('x1')\n",
      "ylabel('ln(gamma1/gamma2)');\n",
      "area_above = 1515.\n",
      "area_below = 1540.\n",
      "consistency_parameter = abs((area_above-area_below)/(area_above+area_below));\t\t\t\n",
      "\n",
      "# Results\n",
      "print 'Values of lngamma1./gamma2: ';\n",
      "print 'x1 \\t gamma1 \\t gamma2 \\t lngamma1./gamma2';\n",
      "\n",
      "for i in range(l):\n",
      "    print '%0.4f \\t %f \\t %f \\t %f '%(x1[i],gaamma1[i],gaamma2[i],lngamma1_gamma2[i]);\n",
      "\n",
      "print 'The value of the consistency parameter = %f'%(consistency_parameter);\n",
      "if consistency_parameter<0.02 or consistency_parameter == 0.02:\n",
      "    print 'The VLE data is thermodynamically consistent';\n",
      "else:\n",
      "    print 'The VLE data is not thermodynamically consistent';\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Populating the interactive namespace from numpy and matplotlib\n",
        "Values of lngamma1./gamma2: "
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "x1 \t gamma1 \t gamma2 \t lngamma1./gamma2\n",
        "0.0550 \t 3.266913 \t 0.968851 \t 1.215489 \n",
        "0.1290 \t 2.591375 \t 1.007704 \t 0.944514 \n",
        "0.2120 \t 2.146767 \t 1.060854 \t 0.704889 \n",
        "0.3130 \t 1.749940 \t 1.177901 \t 0.395847 \n",
        "0.4300 \t 1.447924 \t 1.302845 \t 0.105581 \n",
        "0.5200 \t 1.295263 \t 1.453040 \t -0.114944 \n",
        "0.6380 \t 1.160398 \t 1.781713 \t -0.428812 \n",
        "0.7490 \t 1.085022 \t 2.043343 \t -0.632987 \n",
        "0.8720 \t 1.027071 \t 2.543757 \t -0.906931 \n",
        "The value of the consistency parameter = 0.008183\n",
        "The VLE data is thermodynamically consistent\n"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stderr",
       "text": [
        "WARNING: pylab import has clobbered these variables: ['f', 'draw_if_interactive', 'new_figure_manager', 'test']\n",
        "`%pylab --no-import-all` prevents importing * from pylab and numpy\n"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n",
       "text": [
        "<matplotlib.figure.Figure at 0x39ce190>"
       ]
      }
     ],
     "prompt_number": 6
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 12.9  Page No : 464"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "from numpy import *\n",
      "from matplotlib.pyplot import *\n",
      "%matplotlib inline\n",
      "# Variables\n",
      "\n",
      "P = 760.\t\t\t                            #pressure of the system in Torr\n",
      "antoine_const_benzene = [6.87987,1196.760,219.161];\t\t\t #Antoine's constants for Benzene from Table A.7\n",
      "t = linspace(60,100,9);\t\t\t #temperature range in degree celsius\n",
      "\n",
      "P2_s = [149.40,187.58,233.71,289.13,355.21,433.51,525.84,634.00,760.00];\n",
      "x1 = linspace(0,1,6)\n",
      "\n",
      "# Calculations\n",
      "l = len(t)\n",
      "i = 0\n",
      "P1_s = zeros(l)\n",
      "P_tot =  zeros(l)\n",
      "\n",
      "while i<l:\n",
      "    P1_s[i] = 10**(antoine_const_benzene[0]-(antoine_const_benzene[1]/(t[i]+antoine_const_benzene[2])));\n",
      "    P_tot[i] = P1_s[i]+P2_s[i];\n",
      "    i = i+1;\n",
      "\n",
      "T = (((t[2]-t[1])*(760-P_tot[1]))/(P_tot[2]-P_tot[1]))+t[1]\n",
      "\n",
      "P1_s_three_phase = 10**(antoine_const_benzene[0]-(antoine_const_benzene[1]/(T+antoine_const_benzene[2])));\n",
      "P2_s_three_phase = 760-P1_s_three_phase;\n",
      "y1_three_phase = P1_s_three_phase/760\n",
      "\n",
      "trange1 = linspace(T,T+11,11)\n",
      "n = len(trange1)\n",
      "i = 0\n",
      "y1 = zeros(n)\n",
      "P1_s_calc = zeros(n)\n",
      "while i<n:\n",
      "    if i == 1:\n",
      "        y1[i] = y1_three_phase\n",
      "    else:\n",
      "         P1_s_calc[i] = 10**(antoine_const_benzene[0]-(antoine_const_benzene[1]/(trange1[i]+antoine_const_benzene[2])));\n",
      "         y1[i] = (P1_s_calc[i])/P\n",
      "    i = i+1;\n",
      "\n",
      "trange2 = [70,75,80,85,90,95,100]\n",
      "P2_s_range = [233.71,289.13,355.21,433.51,525.84,634.00,760.00]\n",
      "p = len(trange2);\t\t\t\n",
      "i = 0\n",
      "y_one = zeros(p)\n",
      "# Calculations of the vapour composition of benzene in the two phase region (L2+V) using Eq.(12.61) (no unit)\n",
      "y_one[i] = y1_three_phase;\n",
      "trange2[i] = T;\n",
      "i = i+1;\n",
      "\n",
      "while i<p:\n",
      "    y_one[i] = (P-P2_s_range[i])/P;\n",
      "    i = i+1;\n",
      "k=len(x1)    \n",
      "t_3phase = zeros(k)\n",
      "i = 0\n",
      "k = len(x1)\n",
      "while i<k:\n",
      "    t_3phase[i] = T\n",
      "    i = i+1;\n",
      "\n",
      "# Results\n",
      "plot(y1,trange1);\n",
      "plot(y_one,trange2);\n",
      "plot(x1,t_3phase);\n",
      "suptitle('t-x-y diagram for benzene-water sytem at 760 Torr')\n",
      "xlabel('x1,y1')\n",
      "ylabel('t (degree celsius)');\n",
      "q = len(t)\n",
      "i = 1;\t\t\n",
      "print ' Calculationss performed for determining the three phase equilibrium temperature';\n",
      "print 'tdegree celsius \\t P1_s Torr \\t P2_s Torr \\t P1_s+P2_s Torr ';\n",
      "for i in range(q):\n",
      "    print '%d \\t \\t \\t %.2f \\t %0.2f \\t %.2f '%(t[i],P1_s[i],P2_s[i],P_tot[i]);\n",
      "\n",
      "print 'The three phase equilibrium temperature = %0.2f degree celsius '%(T);\n",
      "print 'The vapour phase composition of benzene at the three phase equilibrium point = %0.4f '%(y1_three_phase);\n",
      "\n",
      "# Note: answer are slightly different because of rounding off error."
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Populating the interactive namespace from numpy and matplotlib\n",
        " Calculationss performed for determining the three phase equilibrium temperature"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "tdegree celsius \t P1_s Torr \t P2_s Torr \t P1_s+P2_s Torr \n",
        "60 \t \t \t 391.63 \t 149.40 \t 541.03 \n",
        "65 \t \t \t 465.92 \t 187.58 \t 653.50 \n",
        "70 \t \t \t 550.98 \t 233.71 \t 784.69 \n",
        "75 \t \t \t 647.87 \t 289.13 \t 937.00 \n",
        "80 \t \t \t 757.67 \t 355.21 \t 1112.88 \n",
        "85 \t \t \t 881.54 \t 433.51 \t 1315.05 \n",
        "90 \t \t \t 1020.65 \t 525.84 \t 1546.49 \n",
        "95 \t \t \t 1176.21 \t 634.00 \t 1810.21 \n",
        "100 \t \t \t 1349.47 \t 760.00 \t 2109.47 \n",
        "The three phase equilibrium temperature = 69.06 degree celsius \n",
        "The vapour phase composition of benzene at the three phase equilibrium point = 0.7028 \n"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stderr",
       "text": [
        "WARNING: pylab import has clobbered these variables: ['draw_if_interactive']\n",
        "`%pylab --no-import-all` prevents importing * from pylab and numpy\n"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEhCAYAAABlUDcAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlcVNX/x/HXgBvuC7ghYqIossgIboWKqeCemoYL5pJa\nLmnZ17Llm2hatllaRu4VlLnglgtfxcRccgOVzMQNUzQVREMFReD8/phfk8QY68xl+TwfDx4PZrn3\nvufAzGfOPfeeq1NKKYQQQoh/sNI6gBBCiKJJCoQQQgiTpEAIIYQwSQqEEEIIk6RACCGEMEkKhBBC\nCJOkQBTAn3/+SXBwsMW3O3LkSMLCwgAYO3Ysv/32m8Uz5CQtLQ1fX19atmzJmjVr8rWOh19nafD7\n77+zcuVKi27z008/JTU11aLbfPfdd03ef/v2bfR6vfHHzs6Ol19+2fj46tWr0ev1eHh4MHToUOP9\nX3/9Na6urri6uvLNN99kW++kSZPQ6/W4urpSsWJF4/rXrVtX+C+upFEi3+Li4pSbm5vFtzty5EgV\nFhZWqOtMT08v1PX9/PPPqmvXrnlaJiMjI8vtkSNHqrVr1xZmrCJt165dqnfv3nlapqB/t0aNGqnE\nxMQCrSOvKleunKvneXl5qT179iillDp27Jhq06aNunPnjlJKqRs3biillLpy5YpycnJSt2/fVrdv\n31ZOTk7q6tWrJtd34cKFPL1f/9m2hf0eKQ6kB1EA06dP59y5c+j1el577bVsj/fr14+QkBAAFi1a\nRGBgYLbnjBgxgo0bNxpvDxs2jE2bNmV5TmZmJmPHjqVZs2Z0796d69evGx/z9fUlOjoagBdeeIHW\nrVvj7OzM9OnTjc9Zv349TZs2pW3btkyePJk+ffoAEBQUxPDhw/H19WXkyJH8/vvvdOjQAb1ej5ub\nG7t37wYgMjKSTp068fTTT9OkSROmT59OSEgI7du3p1mzZpw5cyZL3uvXrzN8+HAOHz6MXq/n/Pnz\nbN26FXd3d1xdXRk2bBj3798HoFGjRkyfPp22bdua7C1ERETQrl07nJycWL9+PQDp6elMmjSJli1b\n4uLiwoIFC4w5fX19GTx4MM7OzgwaNAilFEeOHDF+a3R3d8fKyvBvHxsbS+fOnWnZsiVt27bl119/\nBQw9lylTptCxY0caNmzId999Z8wza9YsPDw8cHFx4fXXX8+WF8DDw4Pk5GSUUtSqVcv4P/Dss88S\nERHxyHaePn06e/bsQa/XM3/+fDIyMh75Ojt06ED//v1xd3fPsu309HSGDx+Ou7s7Hh4ezJs3j/Pn\nz+Pl5WV8zpkzZ/Dy8uKzzz7jypUrdO7cmS5dugCwadMmvLy8cHd356mnnuL27dvGv9Obb76Jt7c3\n3t7eREdH06NHDxo1asRnn31msh369u2Lt7c3zs7OxuzTp08nNTUVvV7P8OHDTS4HcPr0aa5fv46P\njw8AK1asYNKkSVSqVAmAmjVrArBjxw569OhB5cqVqVy5Mt27d2fHjh0m16keOic4MTERf39/3N3d\n8fLyMr6HHn5PjBgxgpkzZ2Z5j5Q6GheoYi2nbyTXrl1TTZo0UT/99JNydnZWN2/ezPac3bt3q379\n+imllLp165Z67LHHsn2T/u6771T37t2N66xevbqxB+Hr66uioqKUUkr9+eefSinDNx1fX1915MgR\ndffuXVW3bl116dIlpZRSw4YNU3369FFKKTVjxgzl7e2tHjx4oJRSKjU1VaWlpSmllDp9+rRyd3dX\nShm+2VavXl0lJCSo+/fvq/r166tZs2YppZSaP3++mjhxYrbXFRkZafw2fPfuXVWnTh0VFxenlFJq\n1KhRau7cuUopwzfYefPmmWy/ESNGqF69eimlDL212rVrq5SUFDV//nw1e/ZspZRS9+7dU61atVKn\nT59Wu3btUtWqVVNXr15VmZmZqn379mrXrl1Z1jlt2jT16quvKqWUevzxx9WZM2eUUkodOHBAPfHE\nE8btDh48WCml1MmTJ5Wjo6NSSqmNGzeqcePGKaUMvZ3evXurHTt2ZMv9wgsvqC1btqhffvlFtW7d\n2rhM06ZNVUpKyiPb+eE2+6ttH/U6K1WqpOLj47Nt++DBg6pHjx7G23994+7cubM6duyYUkqp119/\nXX3++efG9v/r2/jVq1dV+/btVUpKilJKqblz56o333zT+LzFixcrpZR6+eWXlbu7u0pNTVUJCQnK\n1tY2Ww6l/v5/TElJUS4uLur69etKqdz1IGbOnKmmTZtmvN29e3c1depU5eXlpVq1aqU2btyolFLq\n3XffNf4vKaXUe++9p9577z2T63y4xz927Fj17rvvKqUM70EXFxelVPb3xD9vlzZltC5QxZnKYZaS\n2rVrM2vWLJ588kk2bNhA9erVsz2nY8eOTJgwgcTERNauXcvAgQON33D/snfvXgICAozrfPLJJ01u\n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\n",
       "text": [
        "<matplotlib.figure.Figure at 0x39910d0>"
       ]
      }
     ],
     "prompt_number": 8
    }
   ],
   "metadata": {}
  }
 ]
}