{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Chapter 10 - LEACHING"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Page 506 Example 10.1"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" C = 1.400 kg/m**3\n",
"\n",
" t = 590 secs\n"
]
}
],
"source": [
"from __future__ import division\n",
"from math import log\n",
"#For the pilot scale vessel\n",
"c = (2.5*75)/100# #in kg/m**3\n",
"cs = 2.5# #in kg/m**3\n",
"V = 1.0# #V is in m**3\n",
"t = 10# #t is in secs\n",
" \n",
"#1.875 = 2.5(1-e**(-kA/b*100))\n",
"# x =kA/b\n",
"x = -log(1-1.875/2.5)/10\n",
" \n",
"#For the full scale vessel\n",
"c = (500*28/100)/100\n",
"print\"\\n C = %.3f kg/m**3\"%(c)\n",
"cs = 2.5# #cs is in kg/m**3\n",
"V = 100# #V is in m**3\n",
"t = -log(1-1.4/2.5)*(100/0.139)# #t is in secs\n",
"print\"\\n t = %d secs\"%(t)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Page 517 Example 10.2"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" x1 = -0.000002 x2 = 0.000000 x3 = 0.003000 Wf = 8569174263.405134 \n",
"\n",
" Thus the amount of water required for washing 100 kg CaCO3 is 8569174263.405 kg\n",
"\n",
" The solution fed to reactor contains 0.25 kg/s Na2CO3.This isequivalent to 0.236 kg/s CaCO3,and hence the actual water required is 20223251.26 kg/sec\n"
]
}
],
"source": [
"from __future__ import division\n",
"from scipy.optimize import fsolve\n",
"#If x1, x2, x3 are the solute: solvent ratios in thickeners 1, 2, and 3, respectively, the quantities of CaCO3. NaOH, and water in each of the streams can be calculated for every 100 kg of calcium carbonate\n",
"\n",
"#Since the final underflow must contain only 1 per cent of NaOH\n",
"def F(x):\n",
" f=[]\n",
" f.append((300*x[2])/100 - 0.01)\n",
" f.append(300*(x[1]-x[2])/x[3] - x[2]) #Wf = x(4)\n",
" f.append(300*(x[0]-x[2])/x[3] - x[1])#\n",
" f.append((80-300*x[2])/(600+x[3])-x[0])\n",
" return f\n",
"#An initial guess\n",
"x = [0.1, 0.1, 0.1, 0.1]#\n",
"y = fsolve(F,x)#\n",
"\n",
"print\"\\n x1 = %f x2 = %f x3 = %f Wf = %f \"%(y[0],y[1],y[2],y[3])#\n",
"\n",
"print\"\\n Thus the amount of water required for washing 100 kg CaCO3 is %.3f kg\"%(y[3])#\n",
"print\"\\n The solution fed to reactor contains 0.25 kg/s Na2CO3.This isequivalent to 0.236 kg/s CaCO3,and hence the actual water required is %.2f kg/sec\"%(y[3]*0.236/100)#\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Page 524 Example 10.3"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" the material fed to the washing thickeners consists of 100 kg TiO2, 50 kg solvent and 14 kg salt\n",
"\n",
" The required number of thickeners for washing are 4.359 \n",
"\n",
" concentration in the first thickener is 0.203 \n",
"\n",
" W1 = 0.341 \n",
"\n",
" S1 = 0.069 \n",
"\n",
" X2 = 0.033 \n",
"\n",
" W2 = 0.307 \n",
"\n",
" X3 = 0.005 \n",
"\n",
" W3 = 0.30089\n",
"\n",
" S3 = 0.001 \n",
"\n",
" W4 = 0.300 and S4 = 0.000 \n",
"\n",
" Thus S4 is less than Sn and therefore 4 thickeners are required.\n"
]
}
],
"source": [
"from __future__ import division\n",
"from math import log\n",
"\n",
"#part 1\n",
"#Solvent in underflow from final washing thickener = 50 kg/s.\n",
"#The solvent in the overflow will be the same as that supplied for washing (200 kg/s).\n",
"#\u0002Solvent discharged in overflow/Solvent discharged in underflow= forthe washing thickeners.\n",
"#Liquid product from plant contains 54.9 kg of salt in 195 kg of solvent.\n",
"#This ratio will be the same in the underflow from the first thickener.\n",
"print\"\\n the material fed to the washing thickeners consists of 100 kg TiO2, 50 kg solvent and %d kg salt\"%(50*(54.9/195))\n",
"\n",
"#m =n+1\n",
"m = log(421)/log(4)\n",
"print\"\\n The required number of thickeners for washing are %.3f \"%(m)\n",
"\n",
"#Part 2\n",
"#From an inspection of the data, it is seen that Wh = 0.30 + 0.2Xh.\n",
"#Thus: Sh = WhXh = 0.30Xh + 0.2X2h= 5Wh**2− 1.5Wh\n",
"#Considering the passage of unit quantity of TiO2 through the plant, then:\n",
"Ln = 0# wn = 2# Xn = 0\n",
"#since 200 kg/s of pure solvent is used.\n",
"Sn = 0.001\n",
"Wn = 0.3007\n",
"So = 0.55\n",
"Wo = 1.00\n",
"#X1 = (Ln+1 + S0 − Sn)/(wn+1 + W0 − Wn)\n",
"X1 = (0+0.55-0.001)/(2+1-0.3007)\n",
"print\"\\n concentration in the first thickener is %.3f \"%(X1)\n",
"\n",
"W1 = 0.30+0.2*0.203\n",
"print\"\\n W1 = %.3f \"%(W1)\n",
"S1 = (0.3406*0.203)\n",
"print\"\\n S1 = %.3f \"%(S1)\n",
"X2 = (0.0691 - 0.001)/(1.7 + 0.3406)\n",
"print\"\\n X2 = %.3f \"%(X2)\n",
"W2 = (0.30+0.2*0.0334)\n",
"print\"\\n W2 = %.3f \"%(W2)\n",
"X3 = (0.01025-0.001)/(1.7+0.3067)\n",
"print\"\\n X3 = %.3f \"%(X3)\n",
"print\"\\n W3 = 0.30089\"\n",
"print\"\\n S3 = %.3f \"%(0.0013)\n",
"print\"\\n W4 = %.3f and S4 = %.3f \"%(0.30003,0.000045)\n",
"print\"\\n Thus S4 is less than Sn and therefore 4 thickeners are required.\""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Page 536 Example 10.4"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" xAo = 0.2 and xBo = 0.8\n",
"\n",
" yA1 = 0.5 and yS1 = 0.5\n",
"\n",
" Thus 5 thickeners are adequate and for the required degree of extraction\n"
]
}
],
"source": [
"from __future__ import division\n",
"#Since the seeds contain 20 per cent of oil\n",
"xAo=0.2\n",
"xBo=0.8\n",
"print\"\\n xAo = %.1f and xBo = %.1f\"%(xAo,xBo)\n",
"#The final solution contains 50 per cent oil\n",
"yA1=0.5\n",
"yS1=0.5\n",
"print\"\\n yA1 = %.1f and yS1 = %.1f\"%(yA1,yS1)\n",
"#The solvent which is used for extraction is pure and hence \n",
"ySn1=1\n",
"#1 kg of insoluble solid in the washed product is associated with 0.5 kg of solution and 0.025 kg oil.\n",
"xAn = 0.0167\n",
"xBn = 0.6667\n",
"xSn = 0.3166\n",
"\n",
"#The mass fraction of insoluble material in the underflow is constant and equal to 0.667. The composition of the underflow is therefore represented, on the diagram Figure 10.22, by a straight line parallel to the hypotenuse of the triangle with an intercept of 0.333 on the two main axes.\n",
"\n",
"#The difference point is now found by drawing in the two lines connecting x0 and y1 and xn and yn+1.\n",
"\n",
"#The graphical construction described in the text is then used and it is seen from Figure 10.22 that xn lies in between x4 and x5.\n",
"print\"\\n Thus 5 thickeners are adequate and for the required degree of extraction\""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Page 536 Example 10.5"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" mass of livers fed=74 kg contaning 26 kg oil\n",
"\n",
" xA = 0.26\n",
"\n",
" Exhausted livers Oil Ether\n",
"\n",
" Underflow feed 74 26 -\n",
"\n",
" Overflow feed - - 50\n",
"\n",
" Underflow product 74 2 e(say)\n",
"\n",
" Overflow product - 23 50-e\n",
"\n",
" In the underflow product:\n",
"\n",
" the ratio(oil/exhausted livers) = 0.035 kg/kg\n",
"\n",
" Ratio(ether/exhausted livers) = 0.306 kg/kg\n",
"\n",
" e = 22.6 kg\n",
"\n",
" The mass of ether = 27.4 kg\n",
"\n",
" yA = 0.46\n",
"\n",
" ys = 0.54\n",
"\n",
" \n"
]
}
],
"source": [
"from __future__ import division\n",
"#On the basis of 100 kg untreated solids\n",
"#In the underflow feed:\n",
"#0.35 kg oil is associated with each kg of exhausted livers.\n",
"print\"\\n mass of livers fed=%d kg contaning %d kg oil\"%(100/(1+0.35),100-74)\n",
"xA = 0.26\n",
"print\"\\n xA = %.2f\"%(xA)\n",
"xs = 0\n",
"#In the overflow feed, pure ether is used\n",
"ys =1.0\n",
"xs = 0\n",
"#Recovery = 90 per cent\n",
"print\"\\n Exhausted livers Oil Ether\"\n",
"print\"\\n Underflow feed %d %d -\"%(74,26)\n",
"print\"\\n Overflow feed - - %d\"%(50)\n",
"print\"\\n Underflow product %d %d e(say)\"%(74,2.6)\n",
"print\"\\n Overflow product - %d 50-e\"%(23.4)\n",
"print\"\\n In the underflow product:\"\n",
"print\"\\n the ratio(oil/exhausted livers) = %.3f kg/kg\"%(2.6/74)\n",
"print\"\\n Ratio(ether/exhausted livers) = %.3f kg/kg\"%(0.306)\n",
"print\"\\n e = %.1f kg\"%(0.306*74)\n",
"#In the overflow product:\n",
"print\"\\n The mass of ether = %.1f kg\"%(50-22.6)\n",
"print\"\\n yA = %.2f\"%(23.4/(23.4+27.4))\n",
"print\"\\n ys = %.2f\"%(1-23.4/(23.4+27.4))\n",
"print\"\\n \""
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.9"
}
},
"nbformat": 4,
"nbformat_minor": 0
}