summaryrefslogtreecommitdiff
path: root/389/CH8/EX8.2/Example8_2.sce
blob: 95e54575f8b6805101f2f3d0bdc4005159d11c02 (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
clear;
clc;

// Illustration 8.2
// Page: 286

printf('Illustration 8.2 - Page: 286\n\n');

// solution

//****Data****//
// Absorber:
G = 0.250;// [cubic m/s]
Temp1 = 273+26;// [K]
Pt = 1.07*10^(5);// [N/square m]
y1 = 0.02;
x2 = 0.005;
//******//

G1 = G*(273/Temp1)*(Pt/(1.0133*10^(5)))*(1/22.41);// [kmol/s]
Y1 = y1/(1-y1);// [kmol benzene/kmol dry gas]
Gs = G1*(1-y1);// [kmol dry gas/s]
// For 95% removal of benzene:
Y2 = Y1*0.05;
X2 = x2/(1-x2);// [kmol benzene/kmol oil]
// Vapour pressure of benzene:

P_star = 13330;// [N/square m]
X_star = zeros(20);
Y_star = zeros(20);
j = 0;
for i = 0.01:0.01:0.20
    j = j+1;
    x = i;
    X_star(j) = i;
    deff('[Y] = f27(y)','Y = (y/(1+y))-(P_star/Pt)*(x/(1+x))');
    Y_star(j) = fsolve(0,f27);
end
// For min flow rate:
X1 = 0.176;// [kmolbenzene/kmol oil]
DataMinFlow = [X2 Y2;X1 Y1];
scf(6);
plot(X_star,Y_star,DataMinFlow(:,1),DataMinFlow(:,2));
minLs = (Gs*(Y1-Y2)/(X1-X2));// [kmol/s]
// For 1.5 times the minimum:
Ls = 1.5*minLs;// [kmol/s]
X1_prime = (Gs*(Y1-Y2)/Ls)+X2;// [kmol benzene/kmol oil]
DataOperLine = [X2 Y2;X1_prime Y1];
plot(X_star,Y_star,DataMinFlow(:,1),DataMinFlow(:,2),DataOperLine(:,1),DataOperLine(:,2));
xgrid();
xlabel("moles of benzene / mole wash oil");
ylabel("moles benzene / mole dry gas");
legend("Equlibrium Line","Min Flow Rate Line","Operating Line");
title("Absorption")
printf("The Oil circulation rate is %e kmol/s\n",Ls);

// Stripping
Temp2 = 122+273;// [K]
// Vapour pressure at 122 OC
P_star = 319.9;// [kN/square m]
Pt = 101.33;// [kN/square m]
X_star = zeros(7);
Y_star = zeros(7);
j = 0;
for i = 0:0.1:0.6
    j = j+1;
    x = i;
    X_star(j) = i;
    deff('[Y] = f28(y)','Y = (y/(1+y))-(P_star/Pt)*(x/(1+x))');
    Y_star(j) = fsolve(0,f28);
end
X1 = X2;// [kmol benzene/kmol oil]
X2 = X1_prime;// [kmol benzene/kmol oil]
Y1 = 0;// [kmol benzene/kmol steam]
// For min. steam rate:
Y2 = 0.45;
DataMinFlow = [X2 Y2;X1 Y1];
minGs = Ls*(X2-X1)/(Y2-Y1);// [kmol steam/s]
slopeOperat = 1.5*(Y2-Y1)/(X2-X1);
deff('[y] = f29(x)','y = slopeOperat*(x-X1)+Y1');
x = 0:0.01:0.14;
scf(7);
plot(Y_star,X_star,DataMinFlow(:,1),DataMinFlow(:,2),x,f29);
xgrid();
xlabel("moles of benzene / mole wash oil");
ylabel("moles benzene / mole dry gas");
legend("Equlibrium Line","Min Flow Rate Line","Operating Line");
title("Stripping");
printf("The Steam circulation rate is %e kmol/s\n",1.5*minGs);