In [10]:

```
# Illustration 6.1
# Page: 145
print'Illustration 6.1 - Page: 145\n\n'
import math
from scipy.optimize import fsolve
# solution
#****Data****#
# w = Gas flow rate per orifice
w = 0.055/50;# [kg/s]
L = 8*10**(-4);# [liquid flow rate, cubic m/s]
d = 0.003;# [diameter of the orifice,m]
viscocity_gas = 1.8*10**(-5);# [kg/m.s]
#******#
Re = 4*w/(math.pi*d*viscocity_gas);
Dp = 0.0071*Re**(-0.05);# [m]
h = 3.0;# [height of vessel,m]
P_atm = 101.3;# [kN/square m]
Density_water = 1000.0;# [kg/cubic m]
g = 9.81;# [m/s^2]
Temp = 273+25;# [K]
P_orifice = P_atm+(h*Density_water*g/1000);# [kN/square m]
P_avg = P_atm+((h/2.0)*Density_water*g/1000);# [kN/square m]
Density_gas = (29/22.41)*(273.0/Temp)*(P_avg/P_atm);# [kg/cubic m]
D = 1.0;# [dia of vessel,m]
Area = (math.pi*D**2)/4;# [square m]
Vg = 0.055/(Area*Density_gas);# [m/s]
Vl = L/Area;# [m/s]
sigma = 0.072;# [N/m]
# From fig. 6.2 (Pg 143)
abscissa = 0.0516;# [m/s]
Vg_by_Vs = 0.11;
Vs = Vg/Vg_by_Vs;# [m/s]
def f6(shi_g):
return Vs-(Vg/shi_g)+(Vl/(1-shi_g))
shi_g = fsolve(f6,0.5);
dp = ((Dp**3)*(P_orifice/P_avg))**(1.0/3);# [bubble diameter,m]
# From eqn. 6.9
a = 6.0*shi_g/dp;# [specific interfacial area,square m]
print"The Specific Interfacial Area is ",round(a,2)," square m/cubic m\n"
# For diffsion of Cl2 in H20
Dl = 1.44*10**(-9);# [square m/s]
viscocity_water = 8.937*10**(-4);# [kg/m.s]
Reg = dp*Vs*Density_water/viscocity_water;
Scl = viscocity_water/(Density_water*Dl);
# From Eqn.6.11
Shl = 2+(0.0187*(Reg**0.779)*(Scl**0.546)*(dp*(g**(1.0/3))/(Dl**(2.0/3)))**0.116);
# For dilute soln. of Cl2 in H20
c = 1000/18.02;# [kmol/cubic m]
Fl = (c*Dl*Shl)/dp;# [kmol/square m.s]
print"Mass Transfer coeffecient is ",round(Fl,5)," kmol/square m.s\n",
#the answers are slightly different in textbook due to approximation while here answers are precise
```

In [20]:

```
# Illustration 6.2
# Page: 157
print'Illustration 6.2 - Page: 157\n\n'
import math
from scipy.optimize import fsolve
# solution
#****Data****#
# a = N2 b = H2O
L = 9.5*10**(-4);# [cubic m/s]
G = 0.061;# [kg/s]
Temp = 273.0+25;# [K]
#*****#
print"Construction Arrangement\n"
print"Use 4 vertical wall baffles, 100 mm wide at 90 degree intervals.\n"
print"Use a 305 mm dameter, a six bladed disk flat blade turbine impeller, arranged axially, 300 mm from the bottom of vessel\n"
print"The sparger underneath the impeller will be in the form of a 240 mm dameter ring made of 12.7 mm tubing drilled in the top with 3.18 mm dia holes\n"
Di = 0.305;# [m]
Do = 0.00316;# [m]
viscocity_a = 1.8*10**(-5);# [kg/m.s]
Re_g = 35000;
Ma = 28.02;# [kg/kmol]
Mb = 18.02;# [kg/kmol]
# w = Gas flow rate per orifice
w = Re_g*math.pi*Do*viscocity_a/4.0;# [kg/s]
N_holes = G/w;
Interval = math.pi*240/round(N_holes);
print"The number of holes is ",round(N_holes)," at approx ",round(Interval)," mm interval around the sparger ring\n"
viscocity_b = 8.9*10**(-4);# [kg/m.s]
Sigma = 0.072;# [N/m]
Density_b = 1000.0;# [kg/cubic m]
D = 1.0;# [dia of vessel,m]
g = 9.81;# [m/s**2]
# From Eqn. 6.18
def f7(N):
return (N*Di/(Sigma*g/Density_b)**0.25)-1.22-(1.25*D/Di)
N_min = fsolve(f7,2);# [r/s]
N = 5.0;# [r/s]
Re_l = ((Di**2)*N*Density_b/viscocity_b);
# From fig 6.5 (Pg 152)
Po = 5.0;
P = Po*Density_b*(N**3)*(Di**5);
h = 0.7;# [m]
P_atm = 101.33;# [kN/square m]
P_gas = P_atm+(h*Density_b*g/1000.0);# [kN/square m]
Qg = (G/Ma)*22.41*(Temp/273.0)*(P_atm/P_gas);# [cubic m/s]
# From Fig.6.7 (Pg 155)
abcissa = Qg/(N*(Di**3));
# abcissa is off scale
Pg_by_P = 0.43;
Pg = 0.43*P;# [W]
Vg = Qg/(math.pi*(D**2)/4);# [superficial gas velocity,m/s]
check_value = (Re_l**0.7)*((N*Di/Vg)**0.3);
vl = math.pi*(D**2)/4;# [cubic m]
# Since value<30000
# From Eqn. 6.21, Eqn.6.23 & Eqn. 6.24
K = 2.25;
m = 0.4;
Vt = 0.250;# [m/s]
shi = 1.0;
err = 1.0;
while (err>10**(-3)):
a = 1.44*((Pg/vl)**0.4)*((Density_b/(Sigma**3))**0.2)*((Vg/Vt)**0.5);# [square m/cubic m]
shin = (0.24*K*((viscocity_a/viscocity_b)**0.25)*((Vg/Vt)**0.5))**(1.0/(1-m));
Dp = K*((vl/Pg)**0.4)*((Sigma**3/Density_b)**0.2)*(shin**m)*((viscocity_a/viscocity_b)**0.25);# [m]
err = abs(shi-shin);
Vt = Vt-0.002;# [m/s]
shi = shin;
# For N2 in H2
Dl = 1.9*10**(-9);# [square m/s]
Ra = 1.514*10**(6);
# By Eqn. 6.25
Shl = 2.0+(0.31*(Ra**(1.0/3)));
# For dilute soln.
c = 1000.0/Mb;# [kmol/cubic m]
Fl = Shl*c*Dl*1.0/Dp;# [kmol/square m.s]
print"The average gas-bubble diameter is ",("{:.2e}".format(Dp))," m\n",
print"Gas Holdup:\n",round(shi,5)
print"Interfacial area:",round(a,4)," square m/cubic m \n"
print"Mass transfer coffecient:",("{:.2e}".format(Fl)),"kmol/square m.s\n"
#the answers are slightly different in textbook due to approximation while here answers are precise
```

In [24]:

```
# Illustration 6.3
# Page: 174
print'Illustration 6.3 - Page: 174\n\n'
import math
from scipy.optimize import fsolve
# solution
#****Data****#
# a = methanol b = water
G = 0.100;# [kmol/s]
L = 0.25;# [kmol/s]
Temp = 273+95;# [K]
XaG = 0.18;# [mol % in gas phase]
MaL = 0.15;# [mass % in liquid phase]
#*****#
Ma = 32;# [kg/kmol]
Mb = 18;# [kg/kmol]
Mavg_G = XaG*Ma+((1-XaG)*Mb);# [kg/kmol]
Density_G = (Mavg_G/22.41)*(273.0/Temp);# [kg/cubic cm]
Q = G*22.41*(Temp/273.0);# [cubic cm/s]
Density_L = 961.0;# [kg/cubic cm]
Mavg_L = 1.0/((MaL/Ma)+(1-MaL)/Mb);# [kg/kmol]
q = L*Mavg_L/Density_L;
# Perforations
print"Perforations\n"
print"Do = 4.5mm on an equilateral triangle pitch 12 mm between the hole centres, punched in sheet metal 2 mm thick\n"
Do = 0.0045;# [m]
pitch = 0.012;# [m]
# By Eqn.6.31
Ao_by_Aa = 0.907*(Do/pitch)**2;
print"The ratio of Hole Area By Active Area is:",round(Ao_by_Aa,4),"\n"
print"\n"
# Tower Diameter
print"Tower Diameter\n"
t = 0.50;# [tray spacing,m]
print"Tower Spacing:",t," m\n"
# abcissa = (L/G)*(Density_G/Density_L)^0.5 = (q/Q)*(Density_L/Density_G)**0.5
abcissa = (q/Q)*(Density_L/Density_G)**0.5;
# From Table 6.2 (Pg 169)
alpha = (0.0744*t)+0.01173;
beeta = (0.0304*t)+0.015;
if (abcissa<0.1):
abcissa = 0.1;
sigma = 0.040;# [N/m]
# From Eqn.6.30
Cf = ((alpha*math.log10(1.0/abcissa))+beeta)*(sigma/0.02)**0.2;
# From Eqn. 6.29
Vf = Cf*((Density_L-Density_G)/Density_G)**(1/2);# [m/s]
# Using 80% of flooding velocity
V = 0.8*Vf;# [m/s]
An = Q/V;# [square m]
# The tray area used by one downspout = 8.8%
At = An/(1-0.088);# [square m]
D = (4*At/math.pi)**(1.0/2);# [m]
# Take D = 1.25 m
D = 1.25; #[m]
At = math.pi*(D**2)/4;# [corrected At, square m]
W = 0.7*D;# [weir length,m]
Ad = 0.088*At;# [square m]
# For a design similar to Fig 6.14 (Pg 168)
# A 40 mm wide supporting ring, beams between downspouts and a 50 mm wide disengaging & distributing zones these areas total 0.222 square m
Aa = At-(2.0*Ad)-0.222;
print"Weir Length:",round(W,4),"\n"
print"Area for perforated sheet: ",round(Aa,4)," square m\n"
print"\n"
# Weir crest h1 & Weir height hw
print"Weir crest h1 & Weir height hw\n"
h1 = 0.025;# [m]
h1_by_D = h1/D;
D_by_W = D/W;
# From Eqn. 6.34
Weff_by_W = math.sqrt(((D_by_W)**2)-((((D_by_W)**2-1)**0.5)+(2*h1_by_D*D_by_W))**2);
# Set hw to 50 mm
hw = 0.05;# [m]
print"Weir crest: ",h1," m\n"
print"Weir height: ",hw," m\n"
print"\n"
# Dry Pressure Drop
print"Dry Pressure Drop\n"
l = 0.002;# [m]
# From Eqn. 6.37
Co = 1.09*(Do/l)**0.25;
Ao = 0.1275*Aa;# [square m]
Vo = Q/Ao;# [m/sec]
viscocity_G = 1.25*10**(-5);# [kg/m.s]
Re = Do*Vo*Density_G/viscocity_G;
# From "The Chemical Engineers Handbook," 5th Edition fig 5.26
fr = 0.008;
g = 9.81;# [m/s**2]
# From Eqn. 6.36
def f(hd):
return (2*hd*g*Density_L/(Vo**2*Density_G))-(Co*(0.40*(1.25-(Ao/An))+(4*l*fr/Do)+(1-(Ao/An))**2))
hd = fsolve(f,1);
print"Dry Pressure Drop:",round(hd,4)," m\n"
print"\n"
# Hydraulic head hl
print"Hydraulic head hl"
Va = Q/Aa;# [m/s]
z = (D+W)/2.0;# [m]
# From Eqn. 6.38
hl = 6.10*10**(-3)+(0.725*hw)-(0.238*hw*Va*(Density_G)**0.5)+(1.225*q/z);# [m]
print"Hydraulic head: ",round(hl,4)," m\n"
print"\n"
#Residual Pressure drop hr
print"Residual Pressure drop hr\n"
# From Eqn. 6.42
hr = 6*sigma/(Density_L*Do*g);# m
print"Residual Pressure Drop:",round(hr,4),"m\n"
print"\n"
# Total Gas pressure Drop hg
print"Total Gas pressure Drop hg\n"
# From Eqn. 6.35
hg = hd+hl+hr;# [m]
print"Total gas pressure Drop: ",round(hg,4)," m\n"
print"\n"
# Pressure loss at liquid entrance h2
print"Pressure loss at liquid entrance h2\n"
# Al: Area for the liquid flow under the apron
Al = 0.025*W;# [square m]
Ada = min(Al,Ad);
# From Eqn. 6.43
h2 = (3.0/(2*g))*(q/Ada)**2;
print"Pressure loss at liquid entrance:",round(h2,4),"m\n"
print"\n"
# Backup in Downspout h3
print"Backup in Downspout h3\n"
# From Eqn.6.44
h3 = hg+h2;
print"Backup in Downspout:",round(h3,4)," m\n"
print"\n"
# Check on Flooding
print"Check on Flooding\n"
if((hw+h1+h3)<(t/2.0)):
print"Choosen Tower spacing is satisfactory\n"
else:
print"Choosen Tower spacing is not satisfactory\n"
print"\n"
# Weeping Velocity
print"Weeping Velocity\n"
print"For W/D ratio ",W/D," weir is set at ",0.3296*D," m from the center from the tower\n",
Z = 2*(0.3296*D);# [m]
# From Eqn.6.46
def f8(Vow):
return (Vow*viscocity_G/(sigma))-(0.0229*((viscocity_G**2/(sigma*Density_G*Do))*(Density_L/Density_G))**0.379)*((l/Do)**0.293)*(2*Aa*Do/(math.sqrt(3.0)*(pitch**3)))**(2.8/((Z/Do)**0.724))
Vow = fsolve(f8,0.1);# [m/s]
print"The minimum gas velocity through the holes below which excessive weeping is likely:",round(Vow,3)," m/s\n"
print"\n"
# Entrainment
print"Entrainment\n"
V_by_Vf = V/Vf;
# From Fig.6.17 (Pg 173), V/Vf = 0.8 & abcissa = 0.0622
E = 0.05;
print"Entrainment:\n",E
#the answers are slightly different in textbook due to approximation while here answers are precise
```

In [28]:

```
# Illustration 6.4
# Page: 183
print'Illustration 6.4 - Page: 183\n\n'
# solution
import math
#****Data****#
#From Illustrtion 6.3:
G = 0.100;# [kmol/s]
Density_G = 0.679;# [kg/cubic m]
q = 5*10**(-3);# [cubic m/s]
Va = 3.827;# [m/s]
z = 1.063;# [m]
L = 0.25;# [kmol/s]
hL = 0.0106;# [m]
hW = 0.05;# [m]
Z = 0.824;# [m]
E = 0.05;
ya = 0.18;# [mole fraction methanol]
# a:CH3OH b:H2O
Ma = 32;# [kg/kmol]
Mb = 18;# [kg/kmol]
# From Chapter 2:
ScG = 0.865;
Dl = 5.94*10**(-9);# [square m/s]
# From Eqn. 6.61:
NtG = (0.776+(4.57*hW)-(0.238*Va*Density_G**0.5)+(104.6*q/Z))/ScG**0.5;
DE = ((3.93*10**(-3))+(0.0171*Va)+(3.67*q/Z)+(0.1800*hW))**2;# [square m/s]
thethaL = hL*z*Z/q;# [s]
NtL = 40000*Dl**0.5*((0.213*Va*Density_G**0.5)+0.15)*thethaL;
# For 15 mass% methanol:
xa = (15.0/Ma)/((15.0/Ma)+(85.0/Mb));
# From Fig 6.23 (Pg 184)
mAC = -(NtL*L)/(NtG*G);# [Slope of AC line]
meqb = 2.50;# [slope of equilibrium line]
# From Eqn. 6.52:
NtoG = 1.0/((1/NtG)+(meqb*G/L)*(1.0/NtL));
# From Eqn. 6.51:
EOG = 1-math.exp(-NtoG);
# From Eqn. 6.59:
Pe = Z**2/(DE*thethaL);
# From Eqn. 6.58:
eta = (Pe/2.0)*((1+(4*meqb*G*EOG/(L*Pe)))**0.5-1);
# From Eqn. 6.57:
EMG = EOG*(((1-math.exp(-(eta+Pe)))/((eta+Pe)*(1+(eta+Pe)/eta)))+(math.exp(eta)-1)/(eta*(1+eta/(eta+Pe))));
# From Eqn. 6.60:
EMGE = EMG/(1+(EMG*E/(1-E)));
print"Efficiency of Sieve trays: ",round(EMGE,1)
```

In [33]:

```
# Illustration 6.5
# Page: 200
print'Illustration 6.5 - Page: 200\n\n'
# solution
import math
# ****Data****#
G = 0.80;# [cubic m/s]
P = 10**2;# [kN/square m]
XaG = 0.07;
Temp = 273+30.0;# [K]
L = 3.8;# [kg/s]
Density_L = 1235.0;# [kg/cubic m]
viscocity_L = 2.5*10**(-3);# [kg/m.s]
#******#
# a = SO2 b = air
# Solution (a)
# Since the larger flow quantities are at the bottom for an absorber, the diameter will be choosen to accomodate the bottom condition
Mavg_G = XaG*64+((1-XaG)*29);# [kg/kmol]
G1 = G*(273/Temp)*(P/101.33)*(1/22.41);# [kmol/s]
G2 = G1*Mavg_G;# [kg/s]
Density_G = G2/G;# [kg/cubic m]
# Assuming Complete absorption of SO2
sulphur_removed = G1*XaG*64;# [kg/s]
abcissa = (L/G)*((Density_G/Density_L)**0.5);
#From Fig. 6.24, using gas pressure drop of 400 (N/square m)/m
ordinate = 0.061;
# For 25 mm ceramic Intalox Saddle:
Cf = 98.0;# [Table 6.3 Pg 196]
J = 1;
G_prime = (ordinate*Density_G*(Density_L-Density_G)/(Cf*viscocity_L**0.1*J))**0.5;# [kg/square m.s]
A = G2/G_prime;# [square m]
D = (4*A/math.pi)**0.5;# [m]
print"The Tower Diameter is ",round(D,4)," m\n"
# Solution (b)
# Let
D = 1.0;# [m]
A = math.pi*D**2.0/4;# [square m]
# The pressure drop for 8 m of irrigated packing
delta_p = 400*8.0;# [N/square m]
# For dry packing
G_prime = (G2-sulphur_removed)/A;# [kg/square m.s]
P = P-(delta_p/1000.0);# [kN/square m]
Density_G = (29/22.41)*(273.0/Temp)*(P/101.33);# [kg/cubic m]
# From Table 6.3 (Pg 196)
Cd = 241.5;
# From Eqn. 6.68
delta_p_by_z = Cd*G_prime**2/Density_G;# [N/square m for 1m of packing]
pressure_drop = delta_p+delta_p_by_z;# [N/square m]
V = 7.5;# [m/s]
head_loss = 1.5*V**2.0/2;# [N.m/kg]
head_loss = head_loss*Density_G;# [N/square m]
Power = (pressure_drop+head_loss)*(G2-sulphur_removed)/(Density_G*1000.0);# [kW]
eta = 0.6;
Power = Power/eta;# [kW]
print"The Power for the fan motor is ",round(Power,2)," kW\n"
```

In [36]:

```
# Illustration 6.6
# Page: 204
print'Illustration 6.6 - Page: 204\n\n'
# solution
import math
from scipy.optimize import fsolve
#****Data****#
# Gas
Mavg_G = 11.0;# [kg/kmol]
viscocity_G = 10**(-5);# [kg/m.s]
Pt = 107.0;# [kN/square m]
Dg = 1.30*10**(-5);# [square m/s]
Temp = 273.0+27;# [K]
G_prime = 0.716;# [kg/square m.s]
# Liquid:
Mavg_L = 260.0;
viscocity_L = 2*10**(-3);# [kg/m.s]
Density_L = 840.0;# [kg/cubic m]
sigma = 3*10.0**(-2);# [N/m]
Dl = 4.71*10**(-10);# [square m/s]
#******#
#Gas:
Density_G = (Mavg_G/22.41)*(Pt/101.33)*(273/Temp);# [kg/cubic m]
ScG = viscocity_G/(Density_G*Dg);
G = G_prime/Mavg_G;# [kmol/square m.s]
# Liquid:
L_prime = 2.71;# [kg/square m.s]
ScL = viscocity_L/(Density_L*Dl);
# Holdup:
# From Table 6.5 (Pg 206), L_prime = 2.71 kg/square m.s
Ds = 0.0472;# [m]
beeta = 1.508*Ds**0.376;
shiLsW = 5.014*10**(-5)/Ds**1.56;# [square m/cubic m]
shiLtW = (2.32*10**(-6))*(737.5*L_prime)**beeta/(Ds**2);# [square m/cubic m]
shiLoW = shiLtW-shiLsW;# [square m/cubic m]
H = (1404*(L_prime**0.57)*(viscocity_L**0.13)/((Density_L**0.84)*((3.24*L_prime**0.413)-1)))*(sigma/0.073)**(0.2817-0.262*math.log10(L_prime));
shiLo = shiLoW*H;# [square m/cubic m]
shiLs = 4.23*10**(-3)*(viscocity_L**0.04)*(sigma**0.55)/((Ds**1.56)*(Density_L**0.37));# [square m/cubic m]
shiLt = shiLo+shiLs;# [square m/cubic m]
# Interfacial Area:
# From Table 6.4 (Pg 205)
m = 62.4;
n = (0.0240*L_prime)-0.0996;
p = -0.1355;
aAW = m*((808*G_prime/(Density_G**0.5))**n)*(L_prime**p);# [square m/cubic m]
# From Eqn. 6.73
aA = aAW*shiLo/shiLoW;# [square m/cubic m]
# From Table 6.3 (Pg 196)
e = 0.75;
# From Eqn. 6.71
eLo = e-shiLt;
# From Eqn. 6.70
def f9(Fg):
return ((Fg*ScG**(2.0/3))/G)-1.195*((Ds*G_prime)/(viscocity_G*(1-eLo)))**(-0.36)
Fg = fsolve(f9,1);# [kmol/square m.s]
# From Eqn. 6.72:
def f10(Kl):
return (Kl*Ds/Dl)-(25.1*(Ds*L_prime/viscocity_L)**0.45)*ScL**0.5
Kl = fsolve(f10,1);# [(kmol/square m.s).(kmol/cubic m)]
# Since the value of Kl is taken at low conc., it can be converted into Fl
c = (Density_L/Mavg_L);# [kmol/cubic m]
Fl = Kl*c;# [kmol/cubic m]
print"The volumetric coeffecients are\n"
print"Based on Gas Phase ",round(Fg*aA,3)," kmol/cubic m.s\n"
print"based on Liquid Phase",round(Fl*aA,3)," kmol/cubic m.s\n"
```

In [45]:

```
# Illustration 6.7
# Page: 207
print'Illustration 6.7 - Page: 207\n\n'
# solution
from scipy.optimize import fsolve
#****Data****#
# Air
G_prime = 1.10;# [kg/square m.s]
viscocity_G = 1.8*10**(-5);# [kg/m.s]
ScG = 0.6;# [for air water mixture]
Temp1 = 273+20.0;# [K]
# Water
L_prime = 5.5;# [kg/square m.s]
#*****#
# Air:
Ma = 29.0;# [kg/kmol]
G = G_prime/Ma;# [kmol/square m.s]
Density_G = (Ma/22.41)*(273.0/Temp1);
Cpa = 1005.0;# [N.m/kg.K]
PrG = 0.74;
# Liquid:
kth = 0.587;# [W/m.K]
Cpb = 4187.0;# [N.m/kg.K]
viscocity_L = 1.14*10**(-3);# [kg/m.s]
# From Table 6.5 (Pg 206)
Ds = 0.0725;# [m]
beeta = 1.508*(Ds**0.376);
shiLtW = (2.09*10**(-6))*(737.5*L_prime)**beeta/(Ds**2);# [square m/cubic m]
shiLsW = 2.47*10**(-4)/(Ds**1.21);# [square m/cubic m]
shiLoW = shiLtW-shiLsW;# [square m/cubic m]
# From Table 6.4 (Pg 205)
m = 34.03;
n = 0.0;
p = 0.362;
aAW = m*(808.0*G_prime/Density_G**0.5)**(n)*L_prime**p;# [square m/cubic m]
# From Eqn. 6.75
aVW = 0.85*aAW*shiLtW/shiLoW;# [square m/cubic m]
# From Table 6.3
e = 0.74;
eLo = e-shiLtW;
# From Eqn. 6.70
def f11(Fg):
return ((Fg*ScG**(2.0/3))/G)-1.195*((Ds*G_prime)/(viscocity_G*(1-eLo)))**(-0.36)
Fg = fsolve(f11,1);# [kmol/square m.s]
# Since the liquid is pure water. It has no mass trnsfer coeffecient.
# For such process we need convective heat transfer coeffecient for both liquid & gas.
# Asuming Jd = Jh
# From Eqn. 6.70
Jh = 1.195*((Ds*G_prime)/(viscocity_G*(1-eLo)))**(-0.36);
Hg = Jh*Cpa*G_prime/(PrG**(2.0/3));# [W/square m.K]
PrL = Cpb*viscocity_L/kth;
# Heat transfer analog of Eqn. 6.72
Hl = 25.1*(kth/Ds)*(Ds*L_prime/viscocity_L)**0.45*PrL**0.5;# [W/square m.K]
print"The volumetric coeffecients are\n"
print"Based on Gas Phase ",round(Hg*aVW), "W/cubic m.K\n"
print"based on Liquid Phase",round(Hl*aVW,2)," W/cubic m.K\n"
#the answers are slightly different in textbook due to approximation while here answers are precise
```

In [3]:

```
# Illustration 10.1
# Page: 494
print'Illustration 10.1 - Page: 494\n\n'
# solution
import matplotlib.pyplot as plt
import pylab
%matplotlib inline
#****Data****#
# a:water b:isopropyl ether c:acetic acid
xF = 0.30;# [mol fraction]
yS = 0;# [mol fraction]
S1 = 40.0;# [kg]
B1 = 40.0;# [kg]
#*******#
# Equilibrium data at 20 OC:
# Wa: Wt. percent of a
# Wb: Wt. percent of b
# Wc: Wt. percent of c
# Data1 = [Wc Wa Wb]
# Data1: water layer
Data1 = numpy.array([(0.69 ,98.1, 1.2),(1.41, 97.1 ,1.5),(2.89 ,95.5 ,1.6),(6.42 ,91.7 ,1.9),(13.30, 84.4, 2.3),(25.50 ,71.1 ,3.4),(36.70 ,58.9 ,4.4),(44.30 ,45.1 ,10.6),(46.40 ,37.1 ,16.5)])
# Data2: isopropyl ether layer
Data2 = numpy.array([(0.18 ,0.5 ,99.3),(0.37, 0.7 ,98.9),(0.79, 0.8, 98.4),(1.93 ,1, 97.1),(4.82, 1.9, 93.3),(11.40, 3.9, 84.7),(21.60, 6.9, 71.5),(31.10, 10.8, 58.1),(36.20 ,15.1 ,48.7)])
plt.plot((Data1[:,2])/100,(Data1[:,0])/100,label="x Vs fraction ether")
plt.plot((Data2[:,2])/100,(Data2[:,0])/100,label="y Vs fraction ether")
plt.grid('on');
plt.legend(loc='lower center');
ax=pylab.gca()
ax.set_xlabel("Wt fraction of isopropyl ether");
ax.set_ylabel("Wt fraction of acetic acid");
plt.ylim((0,0.3))
plt.xlim((0,1))
plt.show();
# x: Wt fraction of acetic acid in water layer.
# y: Wt fraction of acetic acid in isopropyl layer.
# The rectangular coordinates of Fig 10.9(a) will be used but only upto x = 0.30
# Stage 1:
F = 100;# [kg]
# From Eqn. 10.4:
M1 = F+S1;# [kg]
# From Eqn. 10.5:
xM1 = ((F*xF)+(S1*yS))/M1;
# From Fig. 10.15 (Pg 495):
# Point M1 is located on the line FB and with the help of tie line passing through M1:
x1 = 0.258;# [mol fraction]
y1 = 0.117;# [mol fraction]
# From Eqn. 10.8:
E1 = (M1*(xM1-x1)/(y1-x1));# [kg]
# From Eqn. 10.4:
R1 = M1-E1;# [kg]
# Stage 2:
S2 = 40;# [kg]
B2 = 40;# [kg]
# From Eqn. 10.15:
M2 = R1+B2;# [kg]
# From Eqn. 10.16:
xM2 = ((R1*x1)+(S2*yS))/M2;
# Point M2 is located on the line R1B and the tie line passing through R2E2 through M2:
x2 = 0.227;
y2 = 0.095;
# From Eqn. 10.8:
E2 = (M2*(xM2-x2)/(y2-x2));# [kg]
# From Eqn. 10.4:
R2 = M2-E2;# [kg]
# Stage 3:
S3 = 40;# [kg]
B3 = 40;# [kg]
# From Eqn. 10.15:
M3 = R2+B3;# [kg]
# From Eqn. 10.16:
xM3 = ((R2*x2)+(S3*yS))/M3;
# Point M3 is located on the line R2B and the tie line passing through R3E3 through M3:
x3 = 0.20;# [mol fraction]
y3 = 0.078;# [mol fraction]
# From Eqn. 10.8:
E3 = (M3*(xM3-x3)/(y3-x3));# [kg]
# From Eqn. 10.4:
R3 = M3-E3;# [kg]
Ac = x3*R3;
print"The composited extract is",round((E1+E2+E3),2)," kg\n"
print"The acid content is ",round(((E1*y1)+(E2*y2)+(E3*y3)),2)," kg\n"
print"\n"
# If an extraction to give the same final raffinate concentration were to be done in single stage, the point M would be at the intersection of tie line R3E3 and the line BF.
x = 0.20;# [mol fraction]
xM = 0.12;# [mol fraction]
# From Eqn. 10.6:
S = F*(xF-xM)/(xM-yS);# [kg]
print round(S,2),"kg of solvent would be recquired if the same final raffinate concentration were to be obtained with one stage.\n"
```

In [ ]:

```
```