diff options
author | Prashant S | 2020-04-14 10:25:32 +0530 |
---|---|---|
committer | GitHub | 2020-04-14 10:25:32 +0530 |
commit | 06b09e7d29d252fb2f5a056eeb8bd1264ff6a333 (patch) | |
tree | 2b1df110e24ff0174830d7f825f43ff1c134d1af /Mass_Transfer_Operations_by_R_E_Treybal/5-Interphase_Mass_Transfer.ipynb | |
parent | abb52650288b08a680335531742a7126ad0fb846 (diff) | |
parent | 476705d693c7122d34f9b049fa79b935405c9b49 (diff) | |
download | all-scilab-tbc-books-ipynb-master.tar.gz all-scilab-tbc-books-ipynb-master.tar.bz2 all-scilab-tbc-books-ipynb-master.zip |
Initial commit
Diffstat (limited to 'Mass_Transfer_Operations_by_R_E_Treybal/5-Interphase_Mass_Transfer.ipynb')
-rw-r--r-- | Mass_Transfer_Operations_by_R_E_Treybal/5-Interphase_Mass_Transfer.ipynb | 264 |
1 files changed, 264 insertions, 0 deletions
diff --git a/Mass_Transfer_Operations_by_R_E_Treybal/5-Interphase_Mass_Transfer.ipynb b/Mass_Transfer_Operations_by_R_E_Treybal/5-Interphase_Mass_Transfer.ipynb new file mode 100644 index 0000000..03ca1da --- /dev/null +++ b/Mass_Transfer_Operations_by_R_E_Treybal/5-Interphase_Mass_Transfer.ipynb @@ -0,0 +1,264 @@ +{ +"cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 5: Interphase Mass Transfer" + ] + }, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.1: Local_overall_mass_transfer_coeffecient.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"clear;\n", +"clc;\n", +"\n", +"// Illustration 5.1\n", +"// Page: 114\n", +"\n", +"printf('Illustration 5.1 - Page: 114\n\n');\n", +"\n", +"// solution\n", +"\n", +"//***Data***//\n", +"// a = NH3, b = H2O\n", +"d = 2.54*10^(-2);// [m]\n", +"Yag = 0.80;\n", +"Xal = 0.05;\n", +"T = 273+26.7;// [K]\n", +"Kl = 2.87*10^(-5);// [kmol/square m.s.(kmol/cubic m)]\n", +"Sh = 40;\n", +"Da = 2.297*10^(-5);// [square m.s]\n", +"P = 1.0133*10^(5);// [N/square m]\n", +"Xbm = 1.0;\n", +"//*********//\n", +"\n", +"Ma = 18;// [kg/kmol]\n", +"// Liquid:\n", +"// Because of large conc. of ammonia in gas F's rather than k's are used.\n", +"// Molecular weight of water and ammonia are nearly same.\n", +"// The density of the solution is practically that of water.\n", +"MolarDensity1 = 1000/Ma;// [kmol/cubic m]\n", +"// Kl is determined for dilute soln. where Xbm is practically 1.0\n", +"Fl = Kl*Xbm*MolarDensity1;// [kmol/square m.s]\n", +"Ma = 18;// [kg-/kmol]\n", +"// Gas:\n", +"MolarDensity2 = (1/22.41)*(273/(273+26.7));// [kmol/cubic m]\n", +"Fg = Sh*MolarDensity2*Da/d;// [kmol/square m.s]\n", +"\n", +"// Mass Transfer Flux\n", +"// Th eqb. distribuion data for NH3 from 'The Chemical Engineers Handbook' 5th Edt. p3-68:\n", +"// Data = [Xa,pa]\n", +"// Xa = NH3 mole fraction in gas phas\n", +"// pa = NH3 partial pressure in N/square m\n", +"Data = [0 0;0.05 7171;0.10 13652;0.25 59917;0.30 93220];\n", +"// Ya_star = mole fraction of NH3 in gas phase at eqb.\n", +"Ya_star = zeros(5);\n", +"for i = 1:5\n", +" Ya_star(i) = (Data(i,2)/P);\n", +"end\n", +"// For transfer of only one component\n", +"Na_by_SummationN = 1.0;\n", +"Ya = zeros(5);\n", +"for i = 1:5\n", +" Ya(i) = 1-((1-Yag)*(1-Xal)/(1-Data(i)));\n", +"end\n", +"scf(0);\n", +"plot(Data(:,1),Ya_star,Data(:,1),Ya);\n", +"xgrid();\n", +"xlabel('Xa = mole fraction of NH3 in liquid phase');\n", +"ylabel('Ya = mole fraction of NH3 in gas phase');\n", +"legend('equilibrium line','operating line');\n", +"title('Ya Vs Xa');\n", +"\n", +"// From intersection of operating line & Eqb. line\n", +"Xai = 0.274;\n", +"Yai = 0.732;\n", +"\n", +"// From Eqn.5.20\n", +"Na = Na_by_SummationN*Fg*log((Na_by_SummationN-Yai)/(Na_by_SummationN-Yag));// [kmol NH3 absorbed/square m.s]\n", +"printf('Local mass transfer flux for ammonia is %e kmol/square m.s',Na);" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.2: Stages_and_Mass_Transfer_Rates.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"clear;\n", +"clc;\n", +"\n", +"// Illustration 5.2\n", +"// Page: 130\n", +"\n", +"printf('Illustration 5.2 - Page: 130\n\n');\n", +"\n", +"// solution\n", +"\n", +"//****Data***//\n", +"// Eqb. data\n", +"// Data = [Wt% of moisture in the soap,Partial pressure of water in air(mm Hg)]\n", +"Data = [0 0;2.40 9.66;3.76 19.20;4.76 28.4;6.10 37.2;7.83 46.4;9.90 55.0; 12.63 63.2;15.40 71.9;19.02 79.5];\n", +"P = 760;// [mm Hg]\n", +"// Initial air\n", +"p1 = 12;// [mm Hg]\n", +"T = 273+75;// [K]\n", +"//******//\n", +"\n", +"// Y = kg water/kg dry air\n", +"// X = kg water/kg dry soap\n", +"// E = Air water phase\n", +"// R = Soap water phase\n", +"Y = zeros(10);\n", +"X = zeros(10);\n", +"for i = 1:10\n", +" Y(i) = Data(i,2)/(P-Data(i,2))*(18.02/29);\n", +" X(i) = Data(i,1)/(100-Data(i,1));\n", +"end\n", +"\n", +"printf('Illustration 5.2 (a)\n\n');\n", +"\n", +"// Soln. (a)\n", +"// First operation\n", +"Y1 = p1/(P-p1);// [kg water/kg dry soap]\n", +"// Initial Soap\n", +"S1 = 16.7/(100-16.7);// [kg water/kg dry soap]\n", +"// Final soap\n", +"S2 = 13/(100-13);// [kg water/kg dry soap]\n", +"Rs = 10*(1-0.167);// [kg dry soap]\n", +"// Using ideal gas law\n", +"Es = 10*((760-p1)/760)*(273/T)*(29/22.41);// [kg dry air]\n", +"slopeOperat = -Rs/Es;\n", +"\n", +"deff('[y] = f2(x)','y = slopeOperat*(x-S1)+Y1')\n", +"x = S1:-0.01:S2;\n", +"\n", +"// Second Operation\n", +"X1 = S2;\n", +"scf(1);\n", +"deff('[y] = f3(S)','y = slopeOperat*(S-X1)+Y1');\n", +"S = 0:0.01:S1;\n", +"plot(X,Y,x,f2,S,f3);\n", +"xlabel('kg water / kg dry soap');\n", +"ylabel('kg water / kg dry air');\n", +"legend('Equilibrium line','First Process','Second Process');\n", +"a = get('current_axes');\n", +"tight_limits = 'on';\n", +"a.data_bounds = [0 0;0.24 0.08];\n", +"xgrid();\n", +"title('Illustration 5.2(a)')\n", +"// Results for First Process\n", +"// The condition at abcissa S2 correspond to the end of first operation\n", +"printf('Conditions corresponding to First Operation \n')\n", +"printf('X = %f kg water/kg dry soap\n',S2);\n", +"printf('Y = %f kg water/kg dry air\n',f2(S2));\n", +"\n", +"// Results for Second Process\n", +"// The point at which the line meets the equilibrium line corresponds to the final value\n", +"X2 = 0.103;\n", +"Y2 = (X2/(1+X2));\n", +"printf('Final moisture content of soap is %f %%\n\n',Y2*100);\n", +"\n", +"printf('Illustration 5.2 (b)\n\n');\n", +"\n", +"// Solution (b)\n", +"\n", +"Rs = 1*(1-0.167);// [kg dry soap/h]\n", +"// Entering soap\n", +"X1 = 0.20;// [kg water/kg dry soap]\n", +"// Leaving soap\n", +"x = 0.04;\n", +"X2 = x/(1-x);// [kg water/kg dry soap]\n", +"// Entering air\n", +"Y2 = 0.00996;// [from Illustration 5.2(a), kg water/kg dry air]\n", +"// The operating line of least slope giving rise to eqb. condition will indicate least amount of air usable.\n", +"// At X1 = 0.20; the eqb. condition:\n", +"Y1 = 0.0675;// [kg water/kg dry air]\n", +"scf(2);\n", +"deff('[y] = f4(x)','y = ((Y1-Y2)/(X1-X2))*(x-X1)+Y1');\n", +"x = X2:0.01:0.24;\n", +"plot(X,Y,x,f4);\n", +"xlabel('kg water / kg dry soap');\n", +"ylabel('kg water / kg dry air');\n", +"a = get('current_axes');\n", +"tight_limits = 'on';\n", +"a.data_bounds = [0 0;0.24 0.08];\n", +"xgrid();\n", +"title('Illustration 5.2(b)')\n", +"legend('Equilibrium line','Operating Line');\n", +"// By Eqn. 5.35\n", +"Es = Rs*(X1-X2)/(Y1-Y2);// [kg dry air/h]\n", +"Esv = (Es/29)*22.41*(P/(P-p1))*(T/273);// [cubic m/kg dry soap]\n", +"printf('Minimum amount of air required is %f cubic m/kg dry soap\n\n',Esv);\n", +"\n", +"printf('Illustration 5.2 (c)\n\n');\n", +"\n", +"// solution (c)\n", +"\n", +"Esnew = 1.30*Es;// [kg dry air/h]\n", +"Y1 = Rs*((X1-X2)/Esnew)+Y2;\n", +"scf(3);\n", +"deff('[y] = f5(x)','y = ((Y1-Y2)/(X1-X2))*(x-X1)+Y1');\n", +"x = X2:0.01:0.24;\n", +"plot(X,Y,x,f5);\n", +"xlabel('kg water / kg dry soap');\n", +"ylabel('kg water / kg dry air');\n", +"a = get('current_axes');\n", +"tight_limits = 'on';\n", +"a.data_bounds = [0 0;0.24 0.08];\n", +"xgrid();\n", +"title('Illustration 5.2(c)')\n", +"legend('Equilibrium line','Operating Line');\n", +"// with final coordinates X = X1 & y = Y1\n", +"// From figure, Total number of eqb . stages = 3\n", +"N = 3;\n", +"printf('Moisture content of air leaving the drier is %f kg water/kg dry air\n',Y1);\n", +"printf('Total number of eqb. stages = %d\n',N);" + ] + } +], +"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 +} |