In [18]:

```
# Variables
ro = 1020. # kg/m**3, density of feed
sf = 4.1 #kj/kg C,specific heat of the feed
sp = 3.9 #kj/kg C,specific heat of the product
ci = 5. #initial concentration
cw = 100.-ci #conc. of water
cf = 40. #final conc.
rate = 100. #m**3/day, rate of conc. of aq. solution
ft = 25. # C, feed temp.
#calculation and results
#materiel balance
Wf = rate*ro #Kg. feed entering
Ms = ro*ci #Kg mass of solute
Mw = ro*cw #kg,mass of water
fc = cw/ci #kg,feed concentration
pc = (100-cf)/cf # kg,product concentration
wlwp = Ms*pc #Kg, water leaving with the product
Ws = Mw-wlwp #kg,water evaporated
Wp = wlwp+Ms # kg, product
#energy balance
rt = 0. #C reference temp.
ef = sf*(ft-rt) #kj/kg,enthlpy of the feed
#case i
Tp = 100. #temp. of the product (because the solute has a 'high molecular wt' the boiling pt elevation is neglected)
ip = sp*(Tp-rt) #kj/kg, enthalpy of the product
iv = 2680. #kj/kg, enthalpy of the vapour generated at 100 C and 1 atm pr. from the steam table
#refer to fig. 9.23
#from energy balance eq. (Wf*if+qs = Wv*iv+Wp*ip)
qs = Ws*iv+Wp*ip-Wf-ef #Wv = Ws
print "The rate at which heat must be supplied at 1 atm pressure is %1.3e kj/ day"%(qs)
#case ii
#650 mm Hg vaccum = 110 mmHg pressure
bp = 53.5 #C, boiling point of water
ip2 = sp*(bp-rt) #kj/kg, enthalpy of the product
es = 2604. #kj/kg, enthalpy of the saturated steam (from steam table)
#from energy balnce eq.
qs2 = Wp*ip+Ws*es-Wf-ef
print "The rate at which heat must be supplied at a pressure of 600 mm Hg is %1.3e kj/day "%(qs2)
# note : rounding off error.
```

In [17]:

```
import math
# Variables
ci = 10. #%,initial concentration
cf = 40. #%, final conc
Wf = 2000. #kg/h, feed rate
ft = 30. #C feed temp.
rp = 0.33 #kg/cm**2, reduced pressure
bt1 = 75. #C,boiling point temp.
sst = 115. #C, saturated steam temp.
l = 1.5 # m,height of calandria
sh = 0.946 #kcal/kg C, specific heat of liquir
lh = 556.5 #kcal/kg latent heat of steam
bt2 = 345. #K, boiling point of water
h = 2150. #kcal/h m**2 C, overall heat transfer coefficient
si = 2000.*(ci/100) #kg/h, solids in
wi = 1800. #kg/h,wate in
# Calculations
Wp = si/(cf/100) #kg/h, product out
Wv = Wf-Wp #evaporation rate
ef = sh*(ft-bt1)
ip = 0
lamda_s = 529.5 #kcal/kg, lamda_s = is-il
bpe = (273+bt1)-345 #boiling point elevation.
#from eergy balance eq.
Ws = (Wp*ip+Wv*lh-Wf*ef)/lamda_s
q = Ws*lamda_s #kcal/h,rate of heat transfer
A = q/(h*(sst-bt1)) # m**2
di = 0.0221 #m,inside diameter
At = math.pi*l*di #m**2, area of a math.single tube
N = A/At #no. of tubes
# Results
print "The steam required is %.0f kg/h"%(Ws)
print "No. of tube are %d"%(N)
```

In [16]:

```
# Variables
Wf = 2000. #kg/h, feed rate
ci = 8. #% initial conc.
cf = 40. #% final conc.
ft = 30. #C, feed temp.
vp = 660. #mm Hg, vaccum pressure
ssp = 8. # bar absolute, saturated steam pr.
#calculation
sr = Wf*(ci/100) #kg/h, solid rate
Wp = sr/(cf/100) #kg/h,concentrated product rate
ap = 760-vp #mm Hg, absolute pressure in the evaporator
bt = 325. #K,boiling temp. of water
l_s = 2380. #kj/kg, latent heat
R = 8.303 #gas consmath.tant
w = 40. #g,mass of solute
M = 18. #g,molecular wt of solvent
W = 60. #g,mass of the solvent
m = 2000. #g,molecular wt of solute
dtb = (R*bt**2*w*M)/(l_s*W*m) #C, boiling point elevation
bp = bt+dtb #k,boiling point of 40% solution
dt = 70. #C, from given data flux becomes maximum at a temp. drop = 70 C
st = bp+dt #K,saturation temp. of steam in the steam chest
Sp = 2.15 # bar, from steam table, saturation lr. of steam at this temp.
sh = 4.2 #kj/kg C, specific heat of product
rt = 0. #C reference teml.
ef = sh*(ft-rt) # kj/kg, enthalpy of the feed
ip = sh*(54-rt) #kj/kg, enthalpy of the product
iv = 2607. #kj/kg, enthalpy of vapour produced
#from eq 9.6
Wv = 1600. #enthalpy of evaporation
q = Wp*ip+Wv*iv-Wf*ef #kj/h, heat transfe rate required
hvp = 2188. #kj/kg, heat of vaporization of saturated steam at 397 K
rs = q/hvp #kg/h, rate of steam supply
# Results
print "The steam pressure to be used in the calandria is %.2f barabs)"%(Sp);
print "The heat transfer rate required is %.2e Kj/h"%(q);
print "Rate of steam supply is %.0f kg/h"%(rs);
```

In [15]:

```
import math
from numpy import array, linalg
# Variables
Wf = 6000. #kg/h, feed rate
ci = 2. #%, initial concentration
cf = 35. #%, final conc.
ft = 50. #C,feed temp.
ssp = 2. #bar abs, saturated steaam pr.
sep = 0.0139 #bar abs, maintained temp. in second effect
h1 = 2000. #W/m**2 K,overall heat transfer coeffcient in 1st effect
h2 = 1500. #W/m**2 K, overall heat transfer coefficient in 2nd effect
cp = 4.1 #kj/kg k,specific heat
#calculation
si = Wf*(ci/100) #kg/h, solid in
wi = 5880. #kg/h, water in
Wp = si/(cf/100) #kg/h product out
wo = Wp*(1-cf/100) #kg/h, water out with the product
ter = wi-wo #kg/h, total evaporation rate
#boiling temp. in the first effect
T1 = 120. #C,Temprature
l_s1 = 2200. #kj/kg, latent heat
T2 = 12. #C,boiling point in second effect
l_s2 = 2470. # kj/kg in second effect
tatd = T1-T2 # C,tatd = dt1+dt2 = T1-T2 , total available temp. drop
#from eq. 9.20
#h1*dt1 = h2*dt2
#solving above two equations by matrix
A = array([[1,1],[2000,-1500]])
C = array([108,0])
X = linalg.solve(A,C)
#X = inv(A)*C
dt1 = X[0]
dt2 = X[1]
t1 = T1-dt1 #temp. of steam leaving the first effect
t2 = T2-dt2 #temp. of steam leaving second effect
#energy balance over the 1st effect, from eq.9.14
rt1 = t1
ef = cp*(ft-t1) #kj/kg,enthalpy of feed
i1 = 0
lam_s1 = 2330. #kj/kg
is1 = lam_s1
#Wf*ef+Ws*l_s = (Wf-Ws1)*i1+Ws1*is1
#substituting we get,
#Ws1 = 0.9442*Ws-253.4..........(1)
#energy balance over second effect
#from eq 9.15
#(Wf-Ws1)*i1+Ws1*lam_s1 = (Wf-Ws1-Ws2)*i2+Ws2*is2
rt2 = t2
lam_s2 = 2470.
is2 = lam_s2
i2 = 0
# substituting we get
#Ws2 = 0.8404*Ws1+617.5............(2)
#ter,Ws1+Ws2 = 5657...............(3)
#solving by matrix method
A = array([[0.9442,-1,0],[0,0.8404,-1],[0,1,1]])
B = array([253.4,-617.5,5657])
X = linalg.solve(A,B)
#X = inv(A)*B
Ws = X[0]
Ws1 = X[1]
Ws2 = X[2]
#evaporator area
A1 = Ws*l_s1/(h1*dt1) #for 1st effect
A2 = Ws1*lam_s1/(h2*dt2) #for second effect
#revised calculation
#taking
dt1_ = 48.
dt2_ = 60.
T1_ = T1-dt1_
T2_ = T2-dt2_
ls1_ = 2335.
ls2_ = 2470.
# energy balance over first effect gives
#Ws1 = 0.9422Ws-231.8.........(4)
#energy balance over second effect gives
#Ws2 = 0.8457Ws1+579.5......(5)
#solving eq 3,4,5
P = array([[0.9422,-1,0],[0,0.8457,-1],[0,1,1]])
Q = array([231.8,-579.5,5657])
Y = linalg.solve(P,Q)
#Y = inv(P)*Q
Ws_ = Y[0]
Ws1_ = Y[1]
Ws2_ = Y[2]
#eveporator area for 1st & 2nd effect in m**2
A1_ = Ws_*l_s1/(h1*dt1_)
A2_ = Ws1_*ls1_/(h2*dt2_)
EA = (A1_+A2_)/2
SE = (Ws1_+Ws2_)/Ws_
# Results
print "The evaporator area is %.0f square metre "%(EA);
print "Steam economy is %.2f"%(SE);
```

In [6]:

```
# Variables
ssp = 3.32 #bar abs, saturated steam pr.
rp = 0.195 # bar abs, residual pr. in the condenser
tl = 41. #K, sun of temp. losses because of BPE
mt = 8. #k,minimum available temp. driving force
#calculation
sst = 410. #K,saturated steam temp.
st = 333. #K,corresponding saturation temp. when pressure in the last effect is 0.195 bar
ttd = sst-st #K,total temp. difference
atd = ttd-tl # K,available temp. drop across the unit
n = atd/mt #maximum no. of effect
# Results
print "Maximum no. of effects are %.0f"%(n);
```

In [14]:

```
# Variables
fc = 9.5 #%,feed concentration
pc = 50. #%, product conc.
ft = 40. # C,feed temp.
er = 2000. #kg NaOH/h, evaporation rate
vp = 714. #mm Hg, vaccum pr. in last effect
#heat transfer coefficients, W/m**2 C
h1 = 6000. #for first effect
h2 = 3500. #for second effect
h3 = 2500. #for third effect
#calculatiin
Wf = er/(fc/100) #kg/h, 2 tons NaOH per hour, feed rate
Wp = er/(pc/100) #kg/h, product rate
ter = Wf-Wp #kg/h, total evaporation rate
#steam
p = 3.3 #bar,assumed saturated
#from steam table
Ts = 137. #C,temp.
l_s = 2153. #kj/kg, latent heat
pl = 760.-vp #mm Hg,pressure in the last effect
bp = 37. #C,boiling point of water
#refer to fig. 9.24
attd = Ts-bp #C,apparent total temp. drop
#let assume the following evaporation rate for three effects in kg/h
ev1 = 5600.
ev2 = 5680.
ev3 = 5773.
#conc. in three effects
c1 = er/(Wf-ev1)
c2 = er/(Wf-ev1-ev2)
c3 = 0.5 # Variables
#boiling point elevations in three effects in C
bpe1 = 3.5
bpe2 = 8.
bpe3 = 39.
attda = attd-(bpe1+bpe2+bpe3) #actual total temp. drop available
#temp. drop in three effects
#from eq. 9.23
dt1 = attda*((1/h1)/((1/h1)+(1/h2)+(1/h3)))
dt2 = attda*((1/h2)/((1/h1)+(1/h2)+(1/h3)))
dt3 = attda*((1/h3)/((1/h1)+(1/h2)+(1/h3)))
#from table 9.4
#enthalpy of solution in three effects in kj/kg
i1 = 486.
i2 = 385.
i3 = 460.
#enthalpy of vapour generated for three effects in kj/kg
is1 = 2729.
is2 = 2691.
is3 = 2646.
#Enthalpy of condensate over effect 1,2,3 in kj/kg
il1 = 0.
il2 = 519.
il3 = 418.
#Enthalpy balance over effect 1
ef = 145. #kj/kg,enthalpy of feed
#from energy balance eq.
#Ws1 = 0.96Ws-3200......(1)
#enthalpy balanc over effect 2
#Ws2 = 0.9146Ws1+922...........(2)
#enthalpy balanc over effet 3
#Ws3 = 1.073Ws2+0.0343Ws1-722........(3)
#ter = Ws1+Ws2+Ws3 = 17053..........(4)
#Solving above four eqns by matrix
A = array([[0.96,-1,0,0],[0,0.9146,-1,0],[0,0.0343,1.073,-1],[0,1,1,1]])
B = array([3200,-922,722,17053])
X = linalg.solve(A,B)
#X = inv(A)*B
Ws = X[0]
Ws1 = X[1]
Ws2 = X[2]
Ws3 = X[3]
#calculation of heat transfer areas iver effect 1, 2 ,3
A1 = Ws*l_s*10**3/(h1*dt1*3600)
A2 = Ws1*(is1-il2)*10**3/(h2*dt2*3600)
A3 = Ws2*(is2-il3)*10**3/(h3*dt3*3600)
#Revised dt
avar = (A1+A2+A3)/3
dt1_ = (A1/avar)*dt1
dt2_ = (A2/avar)*dt2
dt3_ = attda-dt1_-dt2_
#from table 9.5
#enthalpy of vapour generated over effect 1,2,3 in kj/kg
is1_ = 2720.
is2_ = 2685.
is3_ = 2646.
#enthalpy of soln on 1,2,3 in kj/kg
i1_ = 470.
i2_ = 380.
i3_ = 460.
#enthalpy of condensate over effect 1 ,2,3 in kj/kg
il1_ = 0.
il2_ = 513.
il3_ = 412.
#enthalpy balance ove effect 1,2,3 gives
Ws_ = 8854.
Ws1_ = 5432.
Ws2_ = 5812.
Ws3_ = 5809.
#revised heat transfer areas for effect 1 ,2,3 in m**2
A1_ = Ws_*l_s*1000/(h1*dt1_*3600)
A2_ = Ws1_*(is1_-il2_)*10**3/(h2*dt2_*3600)
A3_ = Ws2_*(is2_-il3_)*10**3/(h3*22.5*3600)
avar_ = (A1_+A2_+A3_)/3
SE = ter/Ws_
# Results
print "The areas are now reasonably close "
print "Steam Rate is %.0f Kg/h "%(Ws_)
print "Steam economy is %.2f"%(SE)
```

In [8]:

```
from numpy import array, linalg
# Variables
Wf = 3000. #kg/h,feed
fc = 8. #%, feed concentration
pc = 40. #% product concentration
si = Wf*(fc/100) #kg,solid in
pr = si/(40./100) #g/h, product rate
ft = 60. #C,feed temp.
er = Wf-pr #kg/h, evaporation rate
math.cost = 120000. #total math.cost per year
p1 = 4.5 #bar, low pressure steam
scpt = 700. #per ton. math.cost of steam
cp = 0.764 # kcal/kg, specific heat
#from table 9.6
eep = 1. #atm existing evaporator pressure
oop = 400000. # peryear ,other operatingmath.cost
oop_ = 600000. #per yr, for proposed condition
wd = 300. #days per year.working days
wh = wd*24. #working hr
# Calculations
#EXISTING OPERATING CONDITION
rt = 0 #C,reference temp.
ef = eep*(ft-rt) #kcal/kg, enthalpy of feed
pt = 100. #C,product temp.
i1 = cp*(pt-rt) #kcal/kg, enthalpy of soln
is1 = 639. #kcal/kg,enthalpy of vapour generated at 1 atm (from steam table)
l_s = 496. #kcal/kg,latent heat of steam at 4.5 bar
T = 425. #K
#heat balance
Ws = (er*is1+pr*i1-Wf*ef)/l_s #kg/h, steam required
q = Ws*l_s #ton/ hr,heat supplied
x = q/(T-(pt+273)) #x = Ud*A
#hourly math.cost
sc = Ws/1000*(scpt) # /perh, steam math.cost
lc = 100. #per h,labour math.cost
oc = oop/(wh) # per h,othe math.cost
tc = sc+lc+oc #total math.cost
C = tc/(Wf/1000) # per ton,math.cost per ton of feed
#PROPOSED OPERATING CONDITION
bpl = 320. #K,boiling point of liquid
dt = T-bpl
q_ = x*dt #kcal/h,rate of heat supply
sr = q_/l_s #steam rate ton per hr
pt_ = 47. #C,product temp .
ep = cp*(pt_-rt) #kcal/kg. enthalpy of product
ev = 618. #kcal/kg, enthalpy of vapour generated
#heat balance
#24Wf_-582Ws1_ = 2825000 ..........(1)
#material balance
# 4Wf_-5Ws1_ = 0 .............(2)
#solving by matrix method
a = array([[24,-582],[4,-5]])
b = array([-2825000,0])
x_ = linalg.solve(a,b)
#x_ = inv(a)*b
Wf_ = x_[0]
Ws1_ = x_[1]
ic = (Wf_-Wf)/Wf
print "The increase in evaporation capacity ic %d percentage "%(ic*100)
sr_ = Ws1_/1000 #ton per hr ,steam rate
#hourly math.cost
sc_ = Ws1_*scpt #steam math.cost
lc_ = 200. #labour math.cost rs.200/ h
oc_ = oop_/wh # other math.cost
tc_ = sc_/1000+lc_+oc_
C_ = tc_/(Wf_/1000) #math.cost per ton of feed
ps = (C-C_)/C
print " The percentage change in the math.cost of concentrating a ton of feed is %.0f percentage"%(ps*100)
# rounding off error.
```

In [9]:

```
# Variables
q = 2200. #kj/kg heat of condensation of steam
#from example 9.1
Qr = 2.337*10**8 #kj/day rate of heat supply
#calculation
Rate = Qr/q #kg/day steam supply rate
Rate_ = 1.062*10**5 #approximate value
E = 2800. #kj/kg enthalpy of compressed vapour
T = 175.7 #C, temprature
Ts = 121. #C Saturation temprature
E1 = 2700. #enthalpy at saturation temprature
q1 = T-Ts #Superheat of vapour
T1 = 100. #C hot water temprature
E2 = 419. #Enthalpy at hot water temp.
x = (E-E1)/(E1-E2) #water supplied per kg of superheated steam
S = 1.044 #steam obtained after desuperheating
R1 = 8.925*10**4 #kg/day rate of vapour generation
R2 = S*R1 #Rate of recompressed sat. steam
R2_ = 9.318*10**4 #approximate value
SR = Rate_-R2_
# Results
print "Make up steam required is %.3e kg/day"%(SR)
```