{ "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 }