summaryrefslogtreecommitdiff
path: root/Mass_Transfer_Operations_by_R_E_Treybal/10-Liquid_Extraction.ipynb
diff options
context:
space:
mode:
authorPrashant S2020-04-14 10:25:32 +0530
committerGitHub2020-04-14 10:25:32 +0530
commit06b09e7d29d252fb2f5a056eeb8bd1264ff6a333 (patch)
tree2b1df110e24ff0174830d7f825f43ff1c134d1af /Mass_Transfer_Operations_by_R_E_Treybal/10-Liquid_Extraction.ipynb
parentabb52650288b08a680335531742a7126ad0fb846 (diff)
parent476705d693c7122d34f9b049fa79b935405c9b49 (diff)
downloadall-scilab-tbc-books-ipynb-master.tar.gz
all-scilab-tbc-books-ipynb-master.tar.bz2
all-scilab-tbc-books-ipynb-master.zip
Merge pull request #1 from prashantsinalkar/masterHEADmaster
Initial commit
Diffstat (limited to 'Mass_Transfer_Operations_by_R_E_Treybal/10-Liquid_Extraction.ipynb')
-rw-r--r--Mass_Transfer_Operations_by_R_E_Treybal/10-Liquid_Extraction.ipynb1013
1 files changed, 1013 insertions, 0 deletions
diff --git a/Mass_Transfer_Operations_by_R_E_Treybal/10-Liquid_Extraction.ipynb b/Mass_Transfer_Operations_by_R_E_Treybal/10-Liquid_Extraction.ipynb
new file mode 100644
index 0000000..5e1d9ef
--- /dev/null
+++ b/Mass_Transfer_Operations_by_R_E_Treybal/10-Liquid_Extraction.ipynb
@@ -0,0 +1,1013 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 10: Liquid Extraction"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.10: Number_Of_Transfer_Unit_Dilute_Solutions.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"clear;\n",
+"clc;\n",
+"\n",
+"// Illustration 10.10\n",
+"// Page: 552\n",
+"\n",
+"printf('Illustration 10.10 - Page: 552\n\n');\n",
+"\n",
+"// Solution\n",
+"\n",
+"//****Data****//\n",
+"B = 1150;// [kg/h]\n",
+"//*******//\n",
+"\n",
+"// x and y are taken in weight ratio.\n",
+"x1_prime = 0.0101;// [Wt. fraction]\n",
+"xF_prime = 0.0101;// [Wt. fraction]\n",
+"y2_prime = 0;// [Wt. fraction]\n",
+"x2_prime = 0.001001;// [Wt. fraction]\n",
+"y1_prime = 0.0782;// [Wt. fraction]\n",
+"// From Illustration 10.4:\n",
+"A = 990;// [kg/h]\n",
+"// At the dilute end:\n",
+"m1_prime = 0.798;\n",
+"Value1 = m1_prime*B/A;\n",
+"// At the concentrated end:\n",
+"m2_prime = 0.953;\n",
+"Value2 = m2_prime*B/A;\n",
+"ValueAv = (Value1*Value2)^0.5;\n",
+"// From Eqn. 10.116:\n",
+"// Since y2_prime = 0\n",
+"Value3 = x2_prime/x1_prime;\n",
+"NtoR = (log((1/Value3)*(1-(1/ValueAv))+(1/ValueAv)))/(1-(1/ValueAv));\n",
+"printf('Number of theoretical Unit : %f\n',NtoR);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.1: Single_Stage_Extraction.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"clear;\n",
+"clc;\n",
+"\n",
+"// Illustration 10.1\n",
+"// Page: 494\n",
+"\n",
+"printf('Illustration 10.1 - Page: 494\n\n');\n",
+"\n",
+"// solution\n",
+"\n",
+"//****Data****//\n",
+"// a:water b:isopropyl ether c:acetic acid\n",
+"xF = 0.30;// [mol fraction]\n",
+"yS = 0;// [mol fraction]\n",
+"S1 = 40;// [kg]\n",
+"B1 = 40;// [kg]\n",
+"//*******//\n",
+"\n",
+"// Equilibrium data at 20 OC:\n",
+"// Wa: Wt. percent of a\n",
+"// Wb: Wt. percent of b\n",
+"// Wc: Wt. percent of c\n",
+"// Data1 = [Wc Wa Wb]\n",
+"// Data1: water layer\n",
+"Data1 = [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];\n",
+"// Data2: isopropyl ether layer\n",
+"Data2 = [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];\n",
+"scf(20);\n",
+"plot(Data1(:,3)/100,Data1(:,1)/100,Data2(:,3)/100,Data2(:,1)/100);\n",
+"xgrid();\n",
+"xlabel('Wt fraction of isopropyl ether');\n",
+"ylabel('Wt fraction of acetic acid');\n",
+"// x: Wt fraction of acetic acid in water layer.\n",
+"// y: Wt fraction of acetic acid in isopropyl layer.\n",
+"legend('x Vs fraction ether','y Vs fraction ether');\n",
+"// The rectangular coordinates of Fig 10.9(a) will be used but only upto x = 0.30\n",
+"a = gca();\n",
+"a.data_bounds = [0 0;1 0.3];\n",
+"// Stage 1:\n",
+"F = 100;// [kg]\n",
+"// From Eqn. 10.4:\n",
+"M1 = F+S1;// [kg]\n",
+"// From Eqn. 10.5:\n",
+"xM1 = ((F*xF)+(S1*yS))/M1;\n",
+"// From Fig. 10.15 (Pg 495):\n",
+"// Point M1 is located on the line FB and with the help of tie line passing through M1:\n",
+"x1 = 0.258;// [mol fraction]\n",
+"y1 = 0.117;// [mol fraction]\n",
+"// From Eqn. 10.8:\n",
+"E1 = (M1*(xM1-x1)/(y1-x1));// [kg]\n",
+"// From Eqn. 10.4:\n",
+"R1 = M1-E1;// [kg]\n",
+"\n",
+"// Stage 2:\n",
+"S2 = 40;// [kg]\n",
+"B2 = 40;// [kg]\n",
+"// From Eqn. 10.15:\n",
+"M2 = R1+B2;// [kg]\n",
+"// From Eqn. 10.16:\n",
+"xM2 = ((R1*x1)+(S2*yS))/M2;\n",
+"// Point M2 is located on the line R1B and the tie line passing through R2E2 through M2:\n",
+"x2 = 0.227;\n",
+"y2 = 0.095;\n",
+"// From Eqn. 10.8:\n",
+"E2 = (M2*(xM2-x2)/(y2-x2));// [kg]\n",
+"// From Eqn. 10.4:\n",
+"R2 = M2-E2;// [kg]\n",
+"\n",
+"// Stage 3:\n",
+"S3 = 40;// [kg]\n",
+"B3 = 40;// [kg]\n",
+"// From Eqn. 10.15:\n",
+"M3 = R2+B3;// [kg]\n",
+"// From Eqn. 10.16:\n",
+"xM3 = ((R2*x2)+(S3*yS))/M3;\n",
+"// Point M3 is located on the line R2B and the tie line passing through R3E3 through M3:\n",
+"x3 = 0.20;// [mol fraction]\n",
+"y3 = 0.078;// [mol fraction]\n",
+"// From Eqn. 10.8:\n",
+"E3 = (M3*(xM3-x3)/(y3-x3));// [kg]\n",
+"// From Eqn. 10.4:\n",
+"R3 = M3-E3;// [kg]\n",
+"Ac = x3*R3;\n",
+"printf('The composited extract is %f kg\n',(E1+E2+E3));\n",
+"printf('The acid content is %f kg\n',((E1*y1)+(E2*y2)+(E3*y3)));\n",
+"printf('\n');\n",
+"\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.\n",
+"x = 0.20;// [mol fraction]\n",
+"xM = 0.12;// [mol fraction]\n",
+"// From Eqn. 10.6:\n",
+"S = F*(xF-xM)/(xM-yS);// [kg]\n",
+"printf('%f kg of solvent would be recquired if the same final raffinate concentration were to be obtained with one stage.\n',S);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.2: Insoluble_Liquids.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"clear;\n",
+"clc;\n",
+"\n",
+"// Illustration 10.2\n",
+"// Page: 497\n",
+"\n",
+"printf('Illustration 10.2 - Page: 497\n\n');\n",
+"\n",
+"printf('Illustration 10.2 (a)\n\n');\n",
+"\n",
+"// solution (a)\n",
+"\n",
+"//****Data****//\n",
+"// a:water b:kerosene c:Nicotine\n",
+"xF = 0.01;// [wt fraction nicotine]\n",
+"F = 100;// [kg]\n",
+"B = 150;// [kg]\n",
+"//******//\n",
+"\n",
+"// Equilibrium data:\n",
+"// x_prime = kg nicotine/kg water\n",
+"// y_prime = kg nicotine/kg kerosene\n",
+"// Data = [x_prime y_prme]\n",
+"Data = [0 0;0.001011 0.000807;0.00246 0.001961;0.00502 0.00456;0.00751 0.00686;0.00998 0.00913;0.0204 0.01870];\n",
+"xF_prime = xF/(1-xF);// kg nicotine/kg water\n",
+"A = F*(1-xF);// [kg]\n",
+"AbyB = A/B;\n",
+"scf(21);\n",
+"deff('[y] = f64(x)','y = -AbyB*(x-xF)');\n",
+"x = 0:0.001:0.01;\n",
+"plot(Data(:,1),Data(:,2),x,f64);\n",
+"xgrid();\n",
+"legend('Equilibrium line','Operating Line');\n",
+"xlabel('kg nicotine / kg water');\n",
+"ylabel('kg nicotine / kg kerosene');\n",
+"title('Solution 10.2(a)')\n",
+"// The operating line and equilibrium line intersect at:\n",
+"x1_prime = 0.00425;// [kg nicotine/kg water]\n",
+"y1_prime = 0.00380;// [kg nicotine/kg water]\n",
+"extract = A*(0.01011-x1_prime);\n",
+"printf('%f %% of nicotine is extracted.\n\n',extract*100);\n",
+"\n",
+"printf('Illustration 10.2 (b)\n\n');\n",
+"\n",
+"// Solution (b)\n",
+"B = 50;// [kg]\n",
+"// For each stage:\n",
+"AbyB = A/B;\n",
+"deff('[y] = f65(x1)','y = -AbyB*(x1-xF)');\n",
+"x1 = 0:0.001:0.01;\n",
+"deff('[y] = f66(x2)','y = -AbyB*(x2-0.007)');\n",
+"x2 = 0:0.001:0.01;\n",
+"deff('[y] = f67(x3)','y = -AbyB*(x3-0.005)');\n",
+"x3 = 0:0.001:0.01;\n",
+"scf(22);\n",
+"plot(Data(:,1),Data(:,2),x1,f65,x2,f66,x3,f67);\n",
+"xgrid();\n",
+"a=gca();\n",
+"a.data_bounds=[0 0;0.012 0.010];\n",
+"legend('Equilibrium line','Operating Line from xF','Operating Line from 0.007','Operating Line from 0.005');\n",
+"xlabel('kg nicotine / kg water');\n",
+"ylabel('kg nicotine / kg kerosene');\n",
+"title('Solution 10.2(b)')\n",
+"// The final raffinate composition:\n",
+"x3_prime = 0.0034;// [kg nicotine/kg water]\n",
+"extract = A*(0.01011-x3_prime);\n",
+"printf('%f %% of nicotine is extracted.\n',extract*100);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.3: Continuous_Countercurrent_Multistage_Extraction.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"clear;\n",
+"clc;\n",
+"\n",
+"// Illustration 10.3\n",
+"// Page: 502\n",
+"\n",
+"printf('Illustration 10.3 - Page: 502\n\n');\n",
+"\n",
+"// Solution\n",
+"\n",
+"//****Data****//\n",
+"// a:water b:isopropyl ether c:acetic acid\n",
+"F = 8000;// [kg/h]\n",
+"xF = 0.30;// [wt. fraction acetic acid]\n",
+"//*******//\n",
+"\n",
+"// From Illustration 10.1 (Pg 494)\n",
+"// Equilibrium Data:\n",
+"// Eqb = [y_star*100 x*100]\n",
+"Eqb = [0.18 0.69;0.37 1.41;0.79 2.89;1.93 6.42;4.82 13.30;11.40 25.50;21.60 36.70;31.10 44.30;36.20 46.40];\n",
+"\n",
+"// Solution(a)\n",
+"\n",
+"// From Figure 10.23 (Pg 503):\n",
+"// For minimum solvent rate:\n",
+"y1 = 0.143;// [Wt fraction of acetic acid in isopropyl ether layer]\n",
+"xM = 0.114;// [Wt fraction of acetic acid in water layer]\n",
+"// From Eqn. 10.24:\n",
+"Bm = (F*xF/xM)-F;// [kg/h]\n",
+"printf('Minimm solvent rate: %f kg/h\n',Bm);\n",
+"printf('\n');\n",
+"\n",
+"// Solution (b)\n",
+"\n",
+"B = 20000;// [kg solvent/h]\n",
+"yS = 0;\n",
+"S = B;\n",
+"// From Eqn 10.24:\n",
+"xM = ((F*xF)+(S*yS))/(F+S);\n",
+"// From Fig. 10.23 (Pg 503):\n",
+"y1 = 0.10;\n",
+"// Operating curve data:\n",
+"// Operat = [YsPlus1 Xs]\n",
+"Operat = [0 0.02;0.01 0.055;0.02 0.09;0.04 0.150;0.06 0.205;0.08 0.250;0.1 0.3];\n",
+"scf(23);\n",
+"plot(Eqb(:,2)/100,Eqb(:,1)/100,Operat(:,2),Operat(:,1));\n",
+"xgrid();\n",
+"a = gca();\n",
+"a.data_bounds = [0 0;xF y1];\n",
+"legend('Operating Line','Equilibrium Line');\n",
+"xlabel('Wt. fraction acetic acid in water solution');\n",
+"ylabel('Wt. fraction acetic acid in isopropyl ether solution');\n",
+"title('Solution 10.3')\n",
+"// From Figure scf(22):\n",
+"xNp = 0.02;\n",
+"Np = 7.6;\n",
+"// By acid balance:\n",
+"M = B+F;\n",
+"E1 = M*(xM-xNp)/(y1-xNp);// [kg/h]\n",
+"RNp = M-E1;// [kg/h]\n",
+"printf('Number of theoretical Stages: %f\n',Np);\n",
+"printf('Weight of the extract: %d kg/h\n',E1);\n",
+"printf('Weight of the raffinate %d kg/h\n',RNp);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.4: Continuous_Countercurrent_Multistage_Extraction_Insoluble_Liquids.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"clear;\n",
+"clc;\n",
+"\n",
+"// Illustration 10.4\n",
+"// Page: 506\n",
+"\n",
+"printf('Illustration 10.4 - Page: 506\n\n');\n",
+"\n",
+"// Solution\n",
+"\n",
+"//****Data****//\n",
+"// a:water b:kerosene c:Nicotine\n",
+"F = 1000;// [kg/h]\n",
+"xF = 0.01;// [wt. fraction acetic acid]\n",
+"//*******//\n",
+"\n",
+"// Equilibrium data:\n",
+"// x_prime = kg nicotine/kg water\n",
+"// y_prime = kg nicotine/kg kerosene\n",
+"// Eqb = [x_prime y_prme]\n",
+"Eqb = [0 0;0.001011 0.000807;0.00246 0.001961;0.00502 0.00456;0.00751 0.00686;0.00998 0.00913;0.0204 0.01870];\n",
+"\n",
+"// Solution (a)\n",
+"\n",
+"A = 1000*(1-xF);// [kg water/h]\n",
+"yS = 0;\n",
+"yS_prime = 0;\n",
+"y1_prime = 0;\n",
+"xF_prime = xF/(1-xF);// [kg nicotine/kg water]\n",
+"// For xF_prime = 0.0101:\n",
+"yk = 0.0093;\n",
+"xNp = 0.001;// [wt. fraction acetic acid]\n",
+"xNp_prime = xNp/(1-xNp);// [kg nicotine/kg water]\n",
+"// For infinite stages:\n",
+"// Operating Line should pass through (xNp_prime,y1_prime) & (xF_prime,yk)\n",
+"Operat = [xNp_prime y1_prime;xF_prime yk];\n",
+"scf(24);\n",
+"plot(Eqb(:,1),Eqb(:,2),Operat(:,1),Operat(:,2));\n",
+"xgrid();\n",
+"legend('equilibrium Line','Operating Line');\n",
+"xlabel('kg nicotine / kg water');\n",
+"ylabel('kg nicotine / kg kerosene');\n",
+"title('Solution 10.4(a)')\n",
+"a = gca();\n",
+"a.data_bounds = [0 0;0.012 0.01];\n",
+"AbyBm = (yk-y1_prime)/(xF_prime-xNp_prime);\n",
+"Bm = A/AbyBm;// [kg kerosene/h];\n",
+"printf('Mininmum kerosene rate: %f kg kerosene/h \n',Bm);\n",
+"\n",
+"// Solution (b)\n",
+"\n",
+"B = 1150;// [kg/h]\n",
+"AbyB = A/B;\n",
+"// From Eqn. 10.36:\n",
+"y2_prime = ((xF_prime-xNp_prime)*AbyB)+yS_prime;// [kg nicotine/kg kerosene]\n",
+"// Operating Line should pass through (xNp_prime,y1_prime) & (xF_prime,y2_prime)\n",
+"Operat = [xNp_prime y1_prime;xF_prime y2_prime];\n",
+"scf(25);\n",
+"plot(Eqb(:,1),Eqb(:,2),Operat(:,1),Operat(:,2));\n",
+"xgrid();\n",
+"legend('equilibrium Line','Operating Line');\n",
+"xlabel('kg nicotine/kg water');\n",
+"ylabel('kg nicotine/kg kerosene');\n",
+"title('Solution 10.4(b)')\n",
+"a = gca();\n",
+"a.data_bounds = [0 0;0.012 0.01];\n",
+"// From Figure:\n",
+"Np = 8.3;\n",
+"printf('Number of theoretical stages:%f \n',Np);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.5: Continuous_Countercurrent_Extraction_with_Reflux.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"clear;\n",
+"clc;\n",
+"\n",
+"// Illustration 10.5\n",
+"// Page: 510\n",
+"\n",
+"printf('Illustration 10.5 - Page: 510\n\n');\n",
+"\n",
+"// solution\n",
+"\n",
+"//****Data****//\n",
+"// a:ethylbenzne b:diethylene glycol c:styrene\n",
+"F = 1000;// [kg/h]\n",
+"xF = 0.5;// [Wt. fraction styrene]\n",
+"xPE = 0.9;// [kg styrene/kg hydrocarbon]\n",
+"xRNp = 0.1;// [kg styrene/kg hydrocarbon]\n",
+"//******//\n",
+"\n",
+"// X: kg styrene/kg hydrocarbon\n",
+"// Y: kg styrene/kg hydrocarbon\n",
+"// N:kg glycol/kg hydrocarbon\n",
+"// Equilibrium data:\n",
+"// Hydrocarbon rich solutions:\n",
+"// Eqb1 = [X N]\n",
+"Eqb1 = [0 0.00675;0.0870 0.00817;0.1833 0.00938;0.288 0.01010;0.384 0.01101;0.458 0.01215;0.464 0.01215;0.561 0.01410;0.573 0.01405;0.781 0.01833;1 0.0256];\n",
+"// Solvent rich solutions:\n",
+"// Eqb2 = [Y_star N]\n",
+"Eqb2 = [0 8.62;0.1429 7.71;0.273 6.81;0.386 6.04;0.480 5.44;0.557 5.02;0.565 4.95;0.655 4.46;0.674 4.37;0.833 3.47;1 2.69];\n",
+"scf(26);\n",
+"plot(Eqb1(:,1),Eqb1(:,2),Eqb2(:,1),Eqb2(:,2));\n",
+"xgrid();\n",
+"legend('X Vs N','Y Vs N');\n",
+"xlabel('kg styrene / kg hydrocarbon');\n",
+"ylabel('kg diethylene glycol / kg hydrocarbon');\n",
+"title('Equilibrium Data')\n",
+"// In Fig. 10.31 (Pg 512):\n",
+"// Point E1 is located.\n",
+"NE1 = 3.10;\n",
+"\n",
+"// solution (a)\n",
+"\n",
+"// From Fig. 10.30 (Pg 511):\n",
+"Np = 9.5;\n",
+"printf('Minimum number of theoretical stages: %f\n',Np);\n",
+"printf('\n');\n",
+"\n",
+"// Solution (b)\n",
+"\n",
+"// The tie line when extended passes through F provides the minimum reflux ratio.\n",
+"// From the plot:\n",
+"N_deltaEm = 20.76;\n",
+"// From Eqn. 10.48:\n",
+"Ratiom = (N_deltaEm-NE1)/NE1;// [kg reflux/kg extract product]\n",
+"printf('Minimum extract reflux ratio: %f kg reflux/kg extract product\n',Ratiom);\n",
+"printf('\n');\n",
+"\n",
+"// Solution (c)\n",
+"\n",
+"Ratio = 1.5*Ratiom;// [kg reflux/kg extract product]\n",
+"// From Eqn. 10.48;\n",
+"N_deltaE = (Ratio*NE1)+NE1;\n",
+"// Point deltaE is plotted.\n",
+"// A straight line from deltaE through F intersects line X = 0.10 at deltaR.\n",
+"N_deltaR = -29.6;\n",
+"// In Fig. 10.31 (Pg 512):\n",
+"// Random lines are drawn from deltaE for the concentrations to the right of F, and from deltaR for those to the left,and intersection of these with the solubility curves provide the coordinates of the opeating curve.\n",
+"// The tie line data are plotted directly to provide the equilibrium curve.\n",
+"// From Fig. 10.32 (Pg 513):\n",
+"Np = 15.5;\n",
+"// Feed is to be introduced in the seventh from the extract product end of cascade.\n",
+"// From Fig. 10.31 (Pg 512):\n",
+"XRNp = 0.10;\n",
+"NRNp = 0.0082;\n",
+"// Basis:1 hour.\n",
+"// Overall plant balance:\n",
+"// (1): PE_prime+RNp_prime = F\n",
+"// C Balance\n",
+"// (2): PE_prime*(1-XRNp)+RNp_prime*XRNp = F*xF\n",
+"// Solving (1) & (2) simultaneously:\n",
+"a = [1 1;(1-XRNp) XRNp];\n",
+"b = [F;F*xF];\n",
+"soln = a\b;\n",
+"PE_prime = soln(1);// [kg/h]\n",
+"RNp_prime = soln(2);// [kg/h]\n",
+"RO_prime = Ratio*PE_prime;// [kg/h]\n",
+"// From Eqn 10.39:\n",
+"E1_prime = RO_prime+PE_prime;// [kg/h]\n",
+"BE = E1_prime*NE1;// [kg/h]\n",
+"E1 = BE+E1_prime;// [kg/h]\n",
+"RNp = RNp_prime*(1+NRNp);// [kg/h]\n",
+"S = BE+(RNp_prime*NRNp);// [kg/h]\n",
+"printf('Number of theoretical stages: %f\n',Np);\n",
+"printf('Extract Flow Rate: %f kg/h\n',E1);\n",
+"printf('solvent Flow Rate: %f kg/h\n',S);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.6: Fractional_Extraction.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"clear;\n",
+"clc;\n",
+"\n",
+"// Illustration 10.6\n",
+"// Page: 516\n",
+"\n",
+"printf('Illustration 10.6 - Page: 516\n\n');\n",
+"\n",
+"// solution\n",
+"\n",
+"//****Data****//\n",
+"// a:heptane b:p-chloronitrobenzene c:o-chloronitrobenzene d:aq. methanol\n",
+"xb = 0.4;// [Wt fraction]\n",
+"xC = 0.60;// [Wt fraction]\n",
+"F = 100;// [kg]\n",
+"// The para isomer(b) favours the heptane(a) and the ortho isomer(c) favours the methanol(d).\n",
+"// Basis: 1 hour.\n",
+"A = 2400;// [kg/h]\n",
+"D = 2760;// [kg/h]\n",
+"xbW = 0.8;// [Wt fraction]\n",
+"xbZ = 0.15;// [Wt fraction]\n",
+"kb=1.35;\n",
+"kc=0.835;\n",
+"//*******//\n",
+"\n",
+"B = xb*F;// [kg]\n",
+"C = F-B;// [kg]\n",
+"// W = kg A rich product, after solvent removal\n",
+"// Z = kg D rich product, after solvent removal\n",
+"// B balance:\n",
+"// (1): (0.80*W)+(0.15*Z) = B\n",
+"// C balance:\n",
+"// (2): (0.20*W)+(0.85*Z) = C\n",
+"// Solving (1) & (2) simultaneously:\n",
+"a = [0.80 0.15;0.20 0.85];\n",
+"b = [B;C];\n",
+"soln = a\b;\n",
+"W = soln(1);\n",
+"Z = soln(2);\n",
+"Wb = xbW*W;// [kg]\n",
+"Wc = W-Wb;// [kg]\n",
+"Zb = xbZ*Z;// [kg]\n",
+"Zc = Z-Zb;// [kg]\n",
+"xB1_prime = Zb/D;\n",
+"xC1_prime = Zc/D;\n",
+"yB1_prime = Wb/D;\n",
+"yC1_prime = Wc/D;\n",
+"DbyA = D/A;\n",
+"// Equilibrium curve:\n",
+"// First distribution coeffecient: yB_star/xB_prime = 1.35\n",
+"deff('[y] = f68(x1)','y = kb*x1');\n",
+"x1 = 0:0.01:0.06;\n",
+"// Second distribution coeffecient: yC_star/xC_prime = 0.835\n",
+"deff('[y] = f69(x2)','y = kc*x2');\n",
+"x2 = 0:0.01:0.06;\n",
+"// Operating Line, corresponding to First distribution coeffecient:\n",
+"deff('[y] = f70(x3)','y = (DbyA*x3)+yB1_prime');\n",
+"x3 = 0:0.01:0.06;\n",
+"deff('[y] = f71(x4)','y = DbyA*(x4-xB1_prime)');\n",
+"x4 = 0:0.01:0.06;\n",
+"// Operating Line, corresponding to Second distribution coeffecient:\n",
+"deff('[y] = f72(x5)','y = (DbyA*x5)+yC1_prime');\n",
+"x5 = 0:0.01:0.06;\n",
+"deff('[y] = f73(x6)','y = (DbyA)*(x6-xC1_prime)');\n",
+"x6 = 0:0.01:0.06;\n",
+"scf(27);\n",
+"plot(x1,f68,x3,f70,x4,f71);\n",
+"xgrid();\n",
+"legend('Equilibrium curve','Operating curve','Operating curve');\n",
+"xlabel('xB_prime');\n",
+"ylabel('yB_prime');\n",
+"title('yB_star/xB_prime = 1.35');\n",
+"a1 = gca();\n",
+"a1.data_bounds = [0 0;0.05 0.07];\n",
+"scf(28);\n",
+"plot(x2,f69,x5,f72,x6,f73);\n",
+"xgrid();\n",
+"legend('Equilibrium curve','Operating curve','Operating curve');\n",
+"xlabel('xC_prime');\n",
+"ylabel('yC_prime');\n",
+"title('yC_star/xC_prime = 0.835');\n",
+"a2 = gca();\n",
+"a2.data_bounds = [0 0;0.06 0.07];\n",
+"// The stages are constructed.\n",
+"// The feed matching is shown on Fig. 10.37 (Pg 518):\n",
+"f_prime = 6.6;\n",
+"fstage = 4.6;\n",
+"printf('Number of ideal stage is %f\n',fstage+f_prime-1);\n",
+"printf('The feed stage is %fth from the solvent-D inlet\n',fstage);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.7: Stage_Type_Extractors.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"clear;\n",
+"clc;\n",
+"\n",
+"// Illustration 10.7\n",
+"// Page: 525\n",
+"\n",
+"printf('Illustration 10.7 - Page: 525\n\n');\n",
+"// solution\n",
+"\n",
+"//****Data****//\n",
+"// c:Water d:Toulene \n",
+"Density_c = 998;// [kg/cubic m]\n",
+"viscosity_c = 0.95*10^(-3);// [kg/m.s]\n",
+"Dc = 2.2*10^(-9);// [square m/s]\n",
+"Density_d = 865;// [kg/cubic m]\n",
+"viscosity_d = 0.59*10^(-3);// [kg/m.s]\n",
+"Dd = 1.5*10^(-9);// [square m/s]\n",
+"sigma = 0.022;// [N/m]\n",
+"Dist = 20.8;// [Distribution Coeffecient]\n",
+"d = 0.5;// [m]\n",
+"h = 0.5;// [m]\n",
+"di = 0.15;// [m]\n",
+"N = 13.3;// [r/s]\n",
+"g = 9.81;// [m/s^2]\n",
+"qC = 3*10^(-3);// [cubic m/s]\n",
+"qD = 3*10^(-4);// [cubic m/s]\n",
+"//********//\n",
+"\n",
+"V = %pi*h*d^2/4;// [Vessel volume,cubic m]\n",
+"phi_DF = qD/(qD+qC);// [Volume fraction toulene]\n",
+"// Assume:\n",
+"phi_Dbyphi_DF = 0.9;\n",
+"phi_D = phi_Dbyphi_DF*phi_DF;\n",
+"phi_W = 1-phi_D;\n",
+"// From Eqn. 10.56:\n",
+"Density_M = (Density_c*phi_W)+(Density_d*phi_D);// [kg/cubic m]\n",
+"if phi_W>0.4\n",
+" viscosity_M = (viscosity_c/phi_W)*(1+(6*viscosity_d*phi_D/(viscosity_d+viscosity_c)));// [kg/m s]\n",
+"else\n",
+" viscosity_M = (viscosity_c/phi_D)*(1-(1.5*viscosity_c*phi_W/(viscosity_d+viscosity_c)));// [kg/m s]\n",
+"end\n",
+"// Impeller Reynold's Number:\n",
+"IRe = (di^2*N*Density_M/viscosity_M);\n",
+"// From Fig 6.5 (Pg 152), curve g:\n",
+"Po = 0.72;\n",
+"P = Po*Density_M*N^3*di^5;// [W]\n",
+"// From Eqn. 10.61:\n",
+"Value1 = P*qD*viscosity_c^2/(V*sigma^3);\n",
+"Value2 = viscosity_c^3/(qD*Density_c^2*sigma);\n",
+"Value3 = Density_c/(Density_c-Density_d);\n",
+"Value4 = sigma^3*Density_c/(viscosity_c^4*g);\n",
+"Value5 = viscosity_d/viscosity_c;\n",
+"phi_Dbyphi_DF = 3.39*Value1^0.247*Value2^0.427*Value3^0.430*Value4^0.401*Value5^0.0987;\n",
+"// The value of phi_Dbyphi_DF is sufficiently close to the value 0.90 assumed earlier.\n",
+"phi_D = phi_Dbyphi_DF*phi_DF;\n",
+"// From Eqn. 10.6:\n",
+"Value6 = viscosity_c/Density_c;// [square m/s]\n",
+"Value7 = P/(V*Density_M);\n",
+"Value8 = sigma/Density_c;\n",
+"dp = 10^(-2.066+(0.732*phi_D))*Value6^0.0473*Value7^(-0.204)*Value8^(0.274);// [m]\n",
+"a = 6*phi_D/dp;// [square m/cubic m]\n",
+"Sca = viscosity_c/(Density_c*Dc);\n",
+"// From Eqn. 10.65:\n",
+"Shc = 65.3;\n",
+"kLc = Shc*Dc/dp;// [kmol/square m s (kmol/cubic m)]\n",
+"thetha = V/(qD+qC);// [s]\n",
+"// From Table 10.1 (Pg 524):\n",
+"// lambda = [lambda1 lambda2 lambda3]\n",
+"lambda = [1.359 7.23 17.9];\n",
+"// B = [B1 B2 B3]\n",
+"B = [1.42 0.603 0.317];\n",
+"Val = zeros(1,3);\n",
+"Sum = 0;\n",
+"for n = 1:3\n",
+" Val(n) = (B(n)^2)*exp((-lambda(n))*64*Dd*thetha/dp^2);\n",
+" Sum = Sum+Val(n);\n",
+"end\n",
+"// From Eqn. 10.66:\n",
+"kLd = -(dp/(6*thetha))*log((3/8)*Sum);\n",
+"mCD = 1/Dist;\n",
+"// From Eqn. 10.67:\n",
+"KLd = 1/((1/kLd)+(1/(mCD*kLc)));// [kmol/square m s (kmol/cubic m)]\n",
+"Z = 0.5;// [m]\n",
+"Vd = qD/(%pi*Z^2/4);// [m/s]\n",
+"// From Eqn.10.70:\n",
+"NtoD = Z/(Vd/(KLd*a));\n",
+"// From Eqn. 10.71:\n",
+"EMD = NtoD/(NtoD+1);\n",
+"printf('Expected stage efficiency: %f\n',EMD);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.8: Sieve_Tray_Tower.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"clear;\n",
+"clc;\n",
+"\n",
+"// Illustration 10.8\n",
+"// Page: 539\n",
+"\n",
+"printf('Illustration 10.8 - Page: 539\n\n');\n",
+"\n",
+"// solution\n",
+"\n",
+"//****Data****//\n",
+"// a:acetic acid c:Water d:Isopropylether layer\n",
+"// Water solution (continuous):\n",
+"C = 8000;// [kg/h]\n",
+"xCn = 0.175;// [mass fraction]\n",
+"Density_c = 1009;// [kg/cubic m]\n",
+"viscosity_c = 3.1*10^(-3);// [kg/m.s]\n",
+"Dc = 1.24*10^(-9);// [square m/s]\n",
+"\n",
+"// Isopropyl Ethr Layer:\n",
+"D = 20000;// [kg/h]\n",
+"xDnPlus1 = 0.05;// [mass fraction]\n",
+"Density_d = 730;// [kg/cubic m]\n",
+"viscosity_d = 0.9*10^(-3);// [kg/m.s]\n",
+"Dd = 1.96*10^(-9);// [square m/s]\n",
+"\n",
+"sigma = 0.013;// [/N/m]\n",
+"m = 2.68;// [Distributon coeffecient]\n",
+"//*******//\n",
+"\n",
+"Ma = 60.1;\n",
+"g = 9.81;// [m/square s]\n",
+"cCn = xCn*Density_c/Ma;// [kmol/cubic m]\n",
+"cDnPlus1 = xDnPlus1*Density_d/Ma;// [kmol/cubic m]\n",
+"mCD = m*(Density_c/Density_d);// [(kmol/cubic min ether)/(kmol/cubic m in water)]\n",
+"\n",
+"// Perforations:\n",
+"Do = 0.006;// [m]\n",
+"pitch = 0.015;// [m]\n",
+"qD = D/(3600*Density_d);// [cubic m/s]\n",
+"delta_Density = Density_c-Density_d;// [kg/cubic m]\n",
+"Value1 = Do/(sigma/(delta_Density*g))^0.5;\n",
+"if Value1<0.1785\n",
+" // From Eqn. 10.74(a):\n",
+" doBydj = (0.485*Value1^2)+1;\n",
+"else\n",
+" // From Eqn. 10.74(b)\n",
+" doBydj = (1.51*Value1)+0.12;\n",
+"end\n",
+"dj = Do/doBydj;// [m]\n",
+"Vomax = 2.69*((dj/Do)^2)*(sigma/(dj*((0.5137*Density_d)+(0.4719*Density_c))))^0.5;// [m/s]\n",
+"// Since Vomax is less than 0.1:\n",
+"Vo = 0.1;// [m/s]\n",
+"Ao = qD/Vo;// [square m]\n",
+"No = Ao/(%pi*Do^2/4);// [square m]\n",
+"// From Eqn. 6.30:\n",
+"// Plate area for perforation:\n",
+"Aa = Ao/(0.907*(Do/pitch)^2);// [square m]\n",
+"\n",
+"// Downspout:\n",
+"dp = 0.0007;// [m]\n",
+"// From Eqn. 10.75:\n",
+"U = Density_c^2*sigma^3/(g*viscosity_c^4*delta_Density);\n",
+"// From Fig. 10.47 (Pg 534):\n",
+"ordinate = 1.515;\n",
+"abcissa = 0.62;\n",
+"deff('[y] = f74(Vt)','y = abcissa-(dp*Vt*Density_c/(viscosity_c*U^0.15))');\n",
+"Vt = fsolve(7,f74);// [m/s]\n",
+"Vd = Vt;// [m/s]\n",
+"qC = C/(Density_c*3600);// [cubic m/s]\n",
+"Ad = qC/Vd;// [square m]\n",
+"// From Table 6.2 (Pg 169):\n",
+"// Allowing for supports and unperforated area:\n",
+"At = Aa/0.65;// [square m]\n",
+"T = (At*4/%pi)^0.5;// [m]\n",
+"An = At-Ad;// [square m]\n",
+"\n",
+"\n",
+"// Drop Size:\n",
+"alpha1 = 10.76;\n",
+"alpha2 = 52560;\n",
+"alpha3 = 1.24*10^6;\n",
+"alpha4 = 3.281;\n",
+"abcissa = (alpha2*sigma*Do/delta_Density)+(alpha3*Do^1.12*Vo^0.547*viscosity_c^0.279/delta_Density^1.5);\n",
+"Parameter = alpha1*Density_d*Vo^2/(delta_Density);\n",
+"ordinate = 0.024;\n",
+"dp = ordinate/alpha4;\n",
+"\n",
+"// Coalesced layer:\n",
+"Vn = qD/An;// [m/s]\n",
+"// From Eqn. 10.80:\n",
+"ho = (Vo^2-Vn^2)*Density_d/(2*g*0.67^2*delta_Density);// [m]\n",
+"hD = ho;\n",
+"// From Eqn. 10.82:\n",
+"hC = 4.5*Vd^2*Density_c/(2*g*delta_Density);// [m]\n",
+"// From Eqn. 10.78:\n",
+"h = hC+hD;\n",
+"// Since this is very shallow, increase it by placing an orifice at the bottom of the downspout.\n",
+"// VR: Velocity through the restriction.\n",
+"// hR: Corresponding depth of the coalesced layer.\n",
+"// Assume:\n",
+"Vr = 0.332;// [m/s]\n",
+"hr = (Vr^2-Vd^2)*Density_c/(2*0.67^2*delta_Density);\n",
+"Ar = qC/Vr;// [square m]\n",
+"dr = (4*Ar/%pi)^0.5;// [m]\n",
+"h = h+hr;// [m]\n",
+"// The above results are satisfacyory.\n",
+"Z = 0.35;// [m]\n",
+"// Lead the downspout apron to within 0.1 m of the tray below.\n",
+"\n",
+"// Dispersed-phase holdup:\n",
+"// From Eqn. 10.48:\n",
+"Vsphi_D = Vn;\n",
+"// From Fig. 10.47 (Pg 534):\n",
+"ordinate = 165.2;\n",
+"abcissa = 30;\n",
+"deff('[y] = f75(Vt)','y = abcissa-(dp*Vt*Density_c/(viscosity_c*U^0.15))');\n",
+"Vtl = fsolve(7,f75);// [m/s]\n",
+"// For solids:\n",
+"// From Fig. 10.48 (Pg 536):\n",
+"abcissa = dp/(3*viscosity_c^2/(4*Density_c*delta_Density*g))^(1/3);\n",
+"phi_D = [0 0.1 0.2 0.3];\n",
+"// Corresponding ordinates, from Fig. 10.48 (Pg 536):\n",
+"ordinate1 = [8.8 5.9 4.3 3.0];\n",
+"Value1 = 1/(4*viscosity_c*delta_Density*g/(3*Density_c^2))^(1/3);\n",
+"Val = zeros(4,6);\n",
+"// Val = [phi_D ordinate Vs(1-phi_D) (Vs for solids) Vs/Vt (Vs for liquids) (Vs*phi_D (for liquids))]\n",
+"for i = 1:4\n",
+" Val(i,1) = phi_D(i);\n",
+" Val(i,2) = ordinate1(i);\n",
+" Val(i,3) = Val(i,2)/Value1;\n",
+" Val(i,4) = Val(i,3)/(1-Val(i,1));\n",
+" Val(i,5) = Val(i,4)/Val(1,4);\n",
+" Val(i,6) = Vtl*Val(i,5);\n",
+" Val(i,7) = Val(i,6)*Val(i,1);\n",
+"end\n",
+"\n",
+"// By Interpolation:\n",
+"Phi_D = 0.1;\n",
+"// Mass transfer:\n",
+"thetha_f = (%pi*(dp^3)/6)/(qD/No);// [s]\n",
+"// From Eqn. 10.87:\n",
+"const = 1.5;\n",
+"kLDf = const*(Dd/(%pi*thetha_f))^0.5;// [m/s]\n",
+"// From Eqn. 10.86\n",
+"KLDf = 1/((1/kLDf)*(1+((1/mCD)*(Dd/Dc)^0.5)));// [m/s]\n",
+"// The ordinate of Fig. 10.47 for the drops larger than 70. Hence mass transfer coeffecient during drop rise is given by Eqn. 10.89:\n",
+"// From Eqn. 10.91:\n",
+"b = 1.052*dp^0.225;\n",
+"// From Eqn. 10.90:\n",
+"omega = (1/(2*%pi))*sqrt(192*sigma*b/(dp^3*((3*Density_d)+(2*Density_c))));// [1/s]\n",
+"del = 0.2;\n",
+"kLDr = sqrt((4*Dd*omega/%pi)*(1+del+(1/2)*del^2));\n",
+"KLDr = 1/1/((1/kLDr)*(1+((1/mCD)*(Dd/Dc)^0.5)));// [m/s]\n",
+"// From Eqn. 10.98:\n",
+"EMD = ((4.4*KLDf/Vo)*(dp/Do)^2)+(6*KLDr*Phi_D*(Z-h)/(dp*Vn))/(1+((0.4*KLDf/Vo)*(dp/Do)^2)+(3*KLDr*Phi_D*(Z-h)/(dp*Vn)));\n",
+"printf('Stage Efficiency: %f',EMD);"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.9: Number_Of_Transfer_Unit_Dilute_Solutions.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"clear;\n",
+"clc;\n",
+"\n",
+"// Illustration 10.9\n",
+"// Page: 551\n",
+"\n",
+"printf('Illustration 10.9 - Page: 551\n\n');\n",
+"\n",
+"// solution\n",
+"\n",
+"//****Data****//\n",
+"B = 20000;// [kg/h]\n",
+"//******//\n",
+"\n",
+"// x and y are taken in weight fraction acetic acid.\n",
+"x1 = 0.30;// [Wt fraction]\n",
+"xF = 0.30;// [Wt fraction]\n",
+"y2 = 0;// [Wt fraction]\n",
+"x2 = 0.02;// [Wt fraction]\n",
+"y1 = 0.10;// [Wt fraction]\n",
+"// The operating diagram is plotted in Fig. 10.23:\n",
+"// Data = [x x_star]\n",
+"// From Fig. 10.23 (Pg 503):\n",
+"Data = [0.30 0.230;0.25 0.192;0.20 0.154;0.15 0.114;0.10 0.075;0.05 0.030;0.02 0];\n",
+"Val = zeros(7);\n",
+"for i = 1:7\n",
+" Val(i) = 1/(Data(i,1)-Data(i,2));\n",
+"end\n",
+"scf(29);\n",
+"plot(Data(:,1),Val);\n",
+"xgrid();\n",
+"a = gca();\n",
+"a.Data_bounds = [0.02 0;0.30 50];\n",
+"xlabel('x');\n",
+"ylabel('1/(x-x*)');\n",
+"title('Graphical Integration');\n",
+"// From Area Under the curve:\n",
+"Area = 8.40;\n",
+"// The mutual solubility of water and isopropyl ether is very small.\n",
+"Ma = 18;// [kg/kmol water]\n",
+"Mb = 60;// [kg/kmol isopropyl ether]\n",
+"r = Ma/Mb;\n",
+"// From Eqn. 10.110:\n",
+"NtoR = Area+(1/2)*log(1-x2/(1-x1))+(1/2)*log(x2*(r-1)+1/(x1*(r-1)+1));\n",
+"// Since the operating line and equilibrium line are parallel:\n",
+"Np = NtoR;\n",
+"printf('Number of theoretical Units: %f\n',NtoR);"
+ ]
+ }
+],
+"metadata": {
+ "kernelspec": {
+ "display_name": "Scilab",
+ "language": "scilab",
+ "name": "scilab"
+ },
+ "language_info": {
+ "file_extension": ".sce",
+ "help_links": [
+ {
+ "text": "MetaKernel Magics",
+ "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md"
+ }
+ ],
+ "mimetype": "text/x-octave",
+ "name": "scilab",
+ "version": "0.7.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}