{ "metadata": { "name": "", "signature": "sha256:bf40b679afe76f70c4240c30eab7a27a1947dac701038fe19ff02bcbe2341496" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Chapter 7: Principles of Unsteady-State and Convective Mass Transfer" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 7.1-1, Page number 431 " ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Unsteady State Diffusion in a Slab of Agar\n", "\n", "#Variable declaration\n", "c0 = 0.1 #Concentration of Urea in slab (kg.mol/m3)\n", "c1 = 0. #Concentration of Urea in water (kg.mol/m3)fficient bution \n", "tk = 10.16 #thickness of slab in mm\n", "DAB = 4.72e-10 #Diffusivity of urea in m2/s\n", "t = 10 #Time in hr\n", "kc = inf\n", "xa = 0.0 #Location at centre\n", "xb = 2.54 #Distance from surface in mm\n", "\n", "#Calculation\n", "K = 1. #Equilibrium distribution coefficient since aqueous solution and ouside solution have very simillar properties\n", "x1 = tk/(1000*2)\n", "X = DAB*(t*3600)/x1**2\n", "n = xa/x1\n", "m = DAB/(K*kc*x1)\n", "#from fig 5.3-5\n", "X = 0.658\n", "Y =0.275\n", "#Calculation for part (a)\n", "ca1 = (c1/K) - Y*(c1/K - c0)\n", "\n", "x = (tk/2 - xb)/1000\n", "n = xb/x1\n", "#from fig 5.3-5\n", "Y = 0.172\n", "ca2 = (c1/K) - Y*(c1/K - c0) \n", "#Calculation for part (b)\n", "\n", "X = X/(0.5**2)\n", "#from fig 5.3-5\n", "Y = 0.0020\n", "cb = (c1/K) - Y*(c1/K - c0)\n", "#Result\n", "print 'Part a'\n", "print \"The concentration at x=0 \",ca1,\"kmol/m3\"\n", "print \"The concentration at 2.54 mm \",ca2,\"kmol/m3\"\n", "print 'Part b'\n", "print 'The concentration at the mid-point of the slab %4.1e'%(cb),\"kmol/m3\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Part a\n", "The concentration at x=0 0.0275 kmol/m3\n", "The concentration at 2.54 mm 0.0172 kmol/m3\n", "Part b\n", "The concentration at the mid-point of the slab 2.0e-04 kmol/m3\n" ] } ], "prompt_number": 1 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 7.1-2, Page Number 431 " ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Unsteady-State Diffusion in Semi-Infinite Slab \n", "from math import sqrt\n", "\n", "#Variable declaration\n", "\n", "c0 = 1.e-2 #Concentration of solute A in slab (kg.mol A/m3)\n", "c1 = 0.1 #Concentration of solute A in moving fluid (kg.mol A/m3)\n", "Kc = 2.e-7 #Convective coeffcient (m/s)\n", "K = 2. #Equilibrium distribution coefficient \n", "x1 = 0.0 #Location where cetre lies\n", "x2 = 0.01 #LOcation from the centre, m\n", "t = 3.e4 #Given time (s)\n", "DAB = 4.e-9 #Diffusivity in the solid (m2/s)\n", "cb = 3.48e-2 #Value taken from the Fig. 7.1-3b\n", "\n", "\n", "#Calculation\n", "\n", "absc = x2/sqrt(DAB*t)\n", "param = K*Kc*sqrt(DAB*t)/DAB\n", "# from fig 5.3-3 1-Y = 0.26\n", "ord = 0.26\n", "Y = 1.-ord\n", "cs = (1 - Y)*(c1/K - c0) + c0\n", "# At surface \n", "absc = x1/2*sqrt(DAB*t)\n", "#from fig 5.3-3 1-Y = 0.62 at x=0 and absc\n", "ord =0.62\n", "Y = 1 - ord\n", "ca = (1 - Y)*(c1/K - c0) + c0\n", "CLi = K*cb\n", "\n", "#Result\n", "\n", "print \"The concentration of solid at surface (x=0) is \",cs,\"kmol/m3\"\n", "print 'The concentration of solid at (x=0.01m) is %5.2e'%(ca),\"kmol/m3\"\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The concentration of solid at surface (x=0) is 0.0204 kmol/m3\n", "The concentration of solid at (x=0.01m) is 3.48e-02 kmol/m3\n" ] } ], "prompt_number": 6 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 7.2-1, Page number 436" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Vaporizing A and Convective Mass Trasfer\n", "from math import log\n", "\n", "# Variable declaration\n", "\n", "P = 2. #Total Pressure over the nevaporating surface (atm)\n", "Pa1 = 0.2 #Partial vapour pressure of A over the surface (atm) \n", "Pa2 = 0. #Partial vapour pressure of B over the surface (atm) \n", "Kydash = 6.78e-5 \n", "\n", "# Calculation\n", "Ya1 = Pa1/P\n", "Ya2 = Pa2/P\n", "Yb1 = 1. - Ya1\n", "Yb2 = 1. - Ya2\n", "Ybm = (Yb2 - Yb1)/log(Yb2/Yb1)\n", "ky = Kydash/Ybm #eqn A\n", "\n", "kg1 = ky/(P*101325) #eqn B\n", "kg2 = ky/P #eqn C\n", "Na = ky*(Ya1 - Ya2) #eqn 1\n", "pa1 = Pa1*101325.\n", "pa2 = Pa2*101325.\n", "\n", "Na1 = kg1*(pa1-pa2) #eqn 2\n", "Na2 = kg2*(Pa1-Pa2) #eqn 3\n", "\n", "#Result\n", "print 'The calculated value of ky is %5.3e kgmol/s.m2.molfrac from #eqn A'%(ky)\n", "print 'The calculated value of kg is %5.3e kgmol/s.m2.Pa #eqn B'%(kg1)\n", "print 'The calculated value of kg is %5.3e kgmol/s.m2.atm #eqn C'%(kg2) \n", "print 'The calculated value of the Flux is %5.3e kgmol/s.m2 #eqn 1'%(Na) \n", "print 'The calculated value of the Flux is %5.3e kgmol/s.m2 from #eqn 2'%(Na1) \n", "print 'The calculated value of the Flux is %5.3e kgmol/s.m2 from #eqn 3'%(Na2) " ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The calculated value of ky is 7.143e-05 kgmol/s.m2.molfrac from #eqn A\n", "The calculated value of kg is 3.525e-10 kgmol/s.m2.Pa #eqn B\n", "The calculated value of kg is 3.572e-05 kgmol/s.m2.atm #eqn C\n", "The calculated value of the Flux is 7.143e-06 kgmol/s.m2 #eqn 1\n", "The calculated value of the Flux is 7.143e-06 kgmol/s.m2 from #eqn 2\n", "The calculated value of the Flux is 7.143e-06 kgmol/s.m2 from #eqn 3\n" ] } ], "prompt_number": 17 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 7.3-1, Page number 443" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Mass Transfer Inside a Tube \n", "\n", "# Variable declaration\n", "Dab = 6.92e-6 #Diffusivity of solid (m2/s)\n", "Pai = 74. #Vapor pressure of A (Pa)\n", "R = 8314.3 #Gas constant in (Pa.m3/(K.Kmol))\n", "T = 318. #Temperature in (K)\n", "Cao = 0.0 #Inlet concentration (kg.mol A/m3)\n", "mu = 1.932e-5 #Viscosity of air (Pa.s)\n", "Rho = 1.114 #Density of air (kg/m3)\n", "D = 0.02 #Diameter of the tube (m)\n", "L = 1.1 #Length of the tube (m)\n", "V = 0.8 #Velocity of fluid (m/s)\n", " \n", "# Calculation\n", "Cai = Pai/(R*T)\n", "Nsc = mu/(Rho*Dab)\n", "Nre = D*V*Rho/mu\n", " #Hence the flow is laminar \n", "abscisa = Nre*Nsc*D*pi/(4*L) #From fig 7.3-2\n", "ordinate = 0.55\n", "Ca = Cao + ordinate*(Cai-Cao)\n", "\n", "#Result\n", "print 'Schmidt Number %4.3f'%Nsc\n", "print 'Reynolds Number %4.1f'%Nre\n", "print 'Concentration of Napthalene in exit Air: %5.3e' %(Ca),\"kmol/m3\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Schmidt Number 2.506\n", "Reynolds Number 922.6\n", "Concentration of Napthalene in exit Air: 1.539e-05 kmol/m3\n" ] } ], "prompt_number": 17 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 7.3-2, Page number 444" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Mass Transfer from a Flat Plate \n", "\n", "# Variable declaration\n", "L = 0.244 #Length of the flat plate (m)\n", "V = 0.061 #Velocity of water (m/s)\n", "mu = 8.71e-4 #Viscosity of water (Pa.s)\n", "Rho = 996. #Density of water (kg/m3)\n", "Dab = 1.245e-9 #Diffusivity of benzoic acid (m2/s)\n", "Ca1 = 2.948e-2 #Initial concentration (kg.mol A/m3)\n", "Ca2 = 0. #Final concentration (kg.mol A/m3)\n", "\n", "# Calculation\n", "Nsc = mu/(Rho*Dab)\n", "Nre = L*V*Rho/mu\n", "Jd = 0.99*Nre**-0.5\n", "Kcd = Jd*V/Nsc**(2./3.)\n", " #Since the solution is very dilute \n", "Xbm = 1.\n", "Kc = Kcd \n", "Na = Kc*(Ca1 - Ca2)/Xbm\n", "\n", "#Result\n", "print 'Schmidt Number %4.3f'%Nsc\n", "print 'Reynolds Number %4.3e'%Nre\n", "print 'Mass Transfer Coefficient %5.2e m/s'%(Kc)\n", "print 'Flux of A through liquid:%5.3e kmol/(s.m2)'%(Na)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Schmidt Number 702.408\n", "Reynolds Number 1.702e+04\n", "Mass Transfer Coefficient 5.86e-06 m/s\n", "Flux of A through liquid:1.727e-07 kmol/(s.m2)\n" ] } ], "prompt_number": 18 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 7.3-3, Page number 446" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Mass Transfer from a Sphere \n", "from math import pi\n", "\n", "#Variable declaration SI units\n", "Tdeg = 45 #Temperature in deg C\n", "v = 0.305 #Velocity of air m/s\n", "dp = 0.0254 #Diameter of the sphere m\n", "Dab = 6.92e-6 #Diffusivity of napthalene in air (m2/s)\n", "pa0 = 0.555 #Vapor pressure of solid napthalene mm Hg\n", "mu = 1.93e-5 #Viscosity of air (Pa.s)\n", "rho = 1.113 #Density of air (kg/m3)\n", "R = 8314 #Gas constant (Pa.m3/K.Kmol)\n", "P = 760 #Atmospheric pressure in mm Hg\n", "\n", "#Calculation\n", "Tk = Tdeg+ 273\n", "Nsc = mu/(Dab*rho)\n", "Nre = dp*v*rho/mu\n", "Nsh = 2 + 0.552*Nre**0.53*Nsc**(1./3)\n", "kcd = Nsh*Dab/dp\n", "kGd = kcd/(R*Tk)\n", " # For dilute solutions kgd = kg, ybm = 1\n", "kG = kGd\n", "pa1 = pa0/P\n", "pa1 = pa1*101325\n", "pa2 = 0.0 #for pure air\n", "Na = kG*(pa1-pa2)\n", "A = pi*dp**2 \n", "Ae = Na*A\n", "\n", "#Result\n", "print \"Results in SI units\"\n", "print 'Schmidt Number %4.3f'%Nsc\n", "print 'Reynolds Number %4.0f'%Nre\n", "print 'Mass transfer coefficient kcd= %5.3e' %(kcd),\"m/s\"\n", "print 'Mass transfer coefficient KGd= %5.3e' %(kGd),\"kmol/(s.m2)\"\n", "print \"Flux of Napthalene evaporation\", round(Na,10),\"kmol/(s.m2)\"\n", "print 'Total amount evaporated: %5.3e kmol/s'%Ae\n", "\n", "print \n", "\n", "#Calculation\n", "R = 0.73\n", " #Unit conversion to English units\n", "mu = mu*2.4191e3 #Viscosity of air (lbm/(ft.h))\n", "Dab = Dab*3.875e4 #Diffusivity of napthalene in air (ft2/h)\n", "dp = dp*3.2808 #Diameter of the sphere ft\n", "rho = rho/16.0185 #Density of air (lbm/ft3)\n", "v = v*3600*3.2808 #Velocity of air ft/h\n", "T = Tk*1.8 #Temperature in Rankine\n", "\n", "Nsc = mu/(Dab*rho)\n", "Nre = dp*v*rho/mu\n", "Nsh = 2 + 0.552*Nre**0.53*Nsc**(1./3)\n", "#print Nsc, Nre, Nsh\n", "kcd = Nsh*Dab/dp\n", "kGd = kcd/(R*T)\n", "\n", " # For dilute solutions kgd = kg, ybm = 1\n", "kG = kGd\n", "pa1 = pa0/P\n", "pa2 = pa2/P #for pure air\n", "Na = kG*(pa1-pa2)\n", "A = pi*dp**2 \n", "Ae = Na*A\n", "\n", "#Result\n", "print \"Results in English units\" \n", "print 'Schmidt Number %4.3f'%Nsc\n", "print 'Reynolds Number %4.0f'%Nre\n", "print 'Mass transfer coefficient kcd=%5.1f' %(kcd),\"ft/h\"\n", "print 'Mass transfer coefficient KGd= %6.5f' %(kGd),\"lbmol/(h.ft2)\"\n", "print 'Flux of Napthalene evaporation %5.2e'%(Na),\"lbmol/(h.ft2)\"\n", "print 'Total amount evaporated: %5.3e lbmol/h'%Ae\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Results in SI units\n", "Schmidt Number 2.506\n", "Reynolds Number 447\n", "Mass transfer coefficient kcd= 5.730e-03 m/s\n", "Mass transfer coefficient KGd= 2.167e-09 kmol/(s.m2)\n", "Flux of Napthalene evaporation 1.604e-07 kmol/(s.m2)\n", "Total amount evaporated: 3.250e-10 kmol/s\n", "\n", "Results in English units\n", "Schmidt Number 2.506\n", "Reynolds Number 447\n", "Mass transfer coefficient kcd= 67.7 ft/h\n", "Mass transfer coefficient KGd= 0.16196 lbmol/(h.ft2)\n", "Flux of Napthalene evaporation 1.18e-04 lbmol/(h.ft2)\n", "Total amount evaporated: 2.580e-06 lbmol/h\n" ] } ], "prompt_number": 23 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 7.3-4, Page number 449" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Mass Transfer of a Liquid in a Packed Bed\n", "from scipy.optimize import root\n", "from math import pi,log\n", "\n", "#Variable declaration\n", "Tdeg = 26.1 #Temperature in deg C\n", "Q = 5.514e-7 #Flowrate of benzoic acid (m3/s)\n", "d = 0.006375 #Diameter of sphere (m)\n", "As = 0.01198 #Total surface area of the sphere m2\n", "epsilon = 0.436 #Void fraction \n", "Dt = 0.0667 #Diameter of the tower in m\n", "Cai = 2.948e-2 #Inlet concentration (kg.mol A/m3)\n", "Ca1 = 0.0\n", "kce = 4.665e-6 #Experimental value of the mass transfer coefficient in m2/s\n", "mu261 = 0.8718e-3 #Viscosity of solution at 26.1 deg C (Pa.s)\n", "rho261 = 996.7 #Density of the solution in (kg/m3)\n", "mu250 = 0.8940e-3 #Viscosity of solution at 25 deg C (Pa.s)\n", "Dab = 1.21e-9 #DIffusivity of benzoic acid (m2/s)\n", "\n", "#Calculation\n", "Tk = Tdeg + 273\n", " #Dab ~ T/mu\n", "Dab261 = Dab*(Tk/298)*(mu250/mu261) \n", "At = pi*Dt**2/4\n", "v = Q/At\n", "Nsc = mu261/(rho261*Dab261) \n", "Nre = d*v*rho261/mu261\n", "Jd = (1.09/epsilon)*Nre**(-2./3) \n", "kcd = Jd*v/Nsc**(2./3) \n", "\n", "f = lambda x:Q*(x-Ca1)-As*kcd*(((Cai-Ca1)-(Cai-x))/log((Cai-Ca1)/(Cai-x)))\n", "sol = root(f,1e-3)\n", "Ca2 = sol.x[0]\n", "\n", "#Result\n", "print 'Schmidt Number %4.1f'%Nsc\n", "print 'Reynolds Number %4.3f'%Nre\n", "print 'Mass Transfer Coefficient:%5.2e m/s This compares with expt. value of %5.3e m/s'%(kcd,kce)\n", "print 'Concentration of Benzoic acid in Water:%5.3e'%(Ca2),\"kgmol/m3\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Schmidt Number 702.3\n", "Reynolds Number 1.150\n", "Mass Transfer Coefficient:4.55e-06 m/s This compares with expt. value of 4.665e-06 m/s\n", "Concentration of Benzoic acid in Water:2.774e-03 kgmol/m3\n" ] } ], "prompt_number": 29 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 7.4-1, Page number 451" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Mass Transfer from Air Bubbles in Fermentation\n", "\n", "# Variable declaration\n", "P = 1.0 #Absolute pressure of bubbles, atm\n", "d = 100e-6 #Diameter of bubbles, m\n", "Ca1 = 2.26e-4 #Solubility of O2 in water, kmol O2/m3\n", "D = 3.25e-9 #Diffusivity of O2 in water, m2/s\n", "mu37 = 6.947e-4 #Viscosity of water at 37 \u00b0C, Pa.s\n", "rhow = 994 #density of water at 37 \u00b0C, kg/m3\n", "rhoa = 1.13 #Density of air at 37 \u00b0C, kg/m3\n", "g = 9.806 #Gravitational acceleration (m/s2)\n", "Ca2 = 0.0\n", "#Calculations\n", "Nsc = mu37/(rhow*D)\n", "delP = rhow-rhoa\n", "kld = 2*D/d + 0.31*Nsc**(-2./3)*(delP*mu37*g/rhow**2)**(1./3)\n", "kl = kld\n", "Na = kl*(Ca1-Ca2)\n", "\n", "#Result\n", "print 'Schmidt Number %4.1f'%Nsc\n", "print 'Maximum rate of absorption per unit area is %3.2e kmol O2/m2' %Na " ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Schmidt Number 215.0\n", "Maximum rate of absorption per unit area is 5.18e-08 kmol O2/m2\n" ] } ], "prompt_number": 32 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 7.5-2, Page number 458 " ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Diffusion of Chemical Reaction at Boundary\n", "from scipy.optimize import root\n", "from math import log\n", "\n", "#Variable Declaration\n", "Pa1 = 101.32 #Partial pressure of gas A (kPA)\n", "d = 2.e-3 #Distance between point A and B (m)\n", "Pt = 101.32 #Total pressure (kPa)\n", "T = 300. #Temperature in K\n", "Dab = 0.15e-4 #Diffusivity of gas A (m2/s)\n", "K1 = 5.63e-3\n", "R =8314.\n", "#Calculation\n", " #Calculation for part (a)\n", "c = Pt*1000./(R*T)\n", "xa1 = Pa1*1000./(Pt*1000.)\n", "xa2 = 0./ Pt\n", "Na = c*Dab*log((1+xa1)/(1+xa2))/d\n", "\n", "#Calculation for part (b)\n", "f = lambda z: z - c*Dab/d*log((1+xa1)/(1+z/(c*K1)))\n", "sol = root(f,0.00005)\n", "Nb = sol.x[0]\n", "xa2b = Nb/(c*K1)\n", "#Result\n", "\n", "print 'a) The calculated value of flux for instantaneous rate of reaction is %4.3e kgmol A/s.m2'%(Na)\n", "print 'b) The calculated value of flux for slow reaction is %5.3e kgmol A/s.m2'%(Nb)\n", "print 'c) The fraction of A in liquid for slow reaction is %4.3f'%(xa2b)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "a) The calculated value of flux for instantaneous rate of reaction is 2.112e-04 kgmol A/s.m2\n", "b) The calculated value of flux for slow reaction is 1.003e-04 kgmol A/s.m2\n", "c) The fraction of A in liquid for slow reaction is 0.439\n" ] } ], "prompt_number": 33 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 7.5-3, Page number 460" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Reaction and Unsteady State Diffusion\n", "from math import erf, sqrt,pi,e\n", "\n", "#Variable Declaration\n", "P = 101.32 #Pressure in (kPa)\n", "k = 35. #First order reaction (1/s)\n", "Dab = 1.5e-9 #Diffusivity of CO2 in (m2/s)\n", "s = 2.961e-7 #Solubility of CO2 (kg mol/m3.Pa)\n", "t = 0.01 #Time for which surface is exposed to gas (s) \n", "\n", "#Calculations\n", "Ca0 = s*P*1000.\n", "Q = Ca0*sqrt(Dab/k)*((k*t+0.5)*erf(sqrt(k*t)) + sqrt(k*t/pi)*e**(-k*t))\n", "#Results\n", "print 'CO2 absorbed on the surface %5.3e kgmolCO2/m2'%(Q)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "CO2 absorbed on the surface 1.459e-07 kgmolCO2/m2\n" ] } ], "prompt_number": 34 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 7.5-4, Page number 461" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Diffusion of A Through Nondiffusing B and C\n", "from math import log\n", "\n", "#Variable Declaration\n", "P = 1. #Total presure in (atm)\n", "P_SI = 1.01325e5 #Total pressure in (Pa)\n", "T = 298. #Temperature in (K)\n", "z1 = 0. #Starting point (m)\n", "z2 = 0.005 #End point (m)\n", "pa1 = 0.4 #Initial Partial pressure of methane (atm)\n", "pb1 = 0.4 #Initial Partial pressure of argon (atm)\n", "pc1 = 0.2 #Initial Partial pressure of helium (atm)\n", "pa2 = 0.1 #Final Partial pressure of methane (atm)\n", "pb2 = 0.6 #Final Partial pressure of argon (atm)\n", "pc2 = 0.3 #Final Partial pressure of helium (atm)\n", "Dab = 2.02e-5 #Binary Diffusivities (m2/s)\n", "Dac = 6.75e-5 #Binary Diffusivities (m2/s)\n", "Dbc = 7.29e-5 #Binary Diffusivities (m2/s)\n", "R = 82.06e-3 #Gas constant (atm.m3/Kmol.K)\n", "R_SI = 8314 #Gas constant (Pa.m3/Kmol.K)\n", "\n", "#Calculations\n", "xb_1 = pb1/(1-pa1)\n", "xb_2 = pb2/(1 - pb1)\n", "xc_ = pc1/(1 - pa1)\n", "Dam = 1/((xb_1/Dab)+(xc_/Dac))\n", "pi1 = P - pa1\n", "pi2 = P - pa2\n", "pim = (pi2-pi1)/log(pi2/pi1)\n", "pim_SI = pim*(1.01325e5)\n", "pa1_SI = pa1*(1.01325e5)\n", "pa2_SI = pa2*(1.01325e5)\n", "Na_SI = Dam*P_SI*(pa1_SI - pa2_SI)/(R_SI*T*(z2-z1)*pim_SI)\n", "Na = Dam*P*(pa1 - pa2)/(R*T*(z2-z1)*pim)\n", "\n", "#Results\n", "print 'The flux calculated is NA= %5.2e kgmol A/(s.m2) using Pa pressure units'%Na_SI\n", "print 'The flux calculated is NA= %5.2e kgmol A/(s.m2) using atm pressure units'%Na" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The flux calculated is NA= 8.74e-05 kgmol A/(s.m2) using Pa pressure units\n", "The flux calculated is NA= 8.74e-05 kgmol A/(s.m2) using atm pressure units\n" ] } ], "prompt_number": 38 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 7.6-1, Page number 463" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Knudsen Diffusion of Hydrogen\n", "\n", "#Variable Declaration\n", "P = 1.01325e4 #Total pressure in (Pa)\n", "T = 373. #Temperature in (K)\n", "r = 60. #Radius of the pore in (angstorm)\n", "Ma = 2.016 \n", "#Calculations \n", "r_SI = r*1.e-10 #Radius in(m)\n", "Dka = 97.*r_SI*(T/Ma)**0.5\n", "\n", "#Results\n", "print 'The calculated Knudsen Diffusivity is %4.2e m2/s'%(Dka)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The calculated Knudsen Diffusivity is 7.92e-06 m2/s\n" ] } ], "prompt_number": 69 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 7.6-2, Page Number 466" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Transition-Region Diffusion of He and N2\n", "from math import sqrt\n", "\n", "#Variable Declaration\n", "T = 298. #Temperature of gas (K)\n", "r = 2.5e-6 #Radius of the capillary (m)\n", "L = 0.01 #Length of the capillary (m)\n", "P = 1.013e4 #Total Pressure of the gas mixture (Pa)\n", "xa1 = 0.8 #Mole fraction of N2 at one end\n", "xa2 = 0.2 #Mole fraction of N2 at another end \n", "Dab = 6.98e-5 #Molecular Diffusivty at one atmosphere (m2/s)\n", "Ma = 28.02 #Molecular weight of nitrogen \n", "Mb = 4.003 \n", "R = 8314.\n", "\n", "#Calculations\n", "Dabc = Dab/0.1 #Molecular Diffusivity at 0.1 (m2/s)\n", "Dka = 97.0*r*(T/Ma)**.5\n", "NbbyNa = -sqrt(Ma/Mb)\n", "alpha = 1. + NbbyNa\n", "\n", "Na = Dabc*P/(alpha*R*T*L)*log( (1. - alpha*xa2 + Dabc/Dka)/(1. - alpha*xa1 + Dabc/Dka))\n", "Dnad = 1./(1./Dabc + 1./Dka)\n", "Naf = Dnad*P*(xa1 - xa2)/(R*T*L) #Eqn A\n", "\n", "xAav = (xa1 + xa2)/2.\n", "Dacc = 1./( 1./Dka + (1. - alpha*xAav)/Dabc)\n", "Nacc = Dacc*P*(xa1 - xa2)/(R*T*L) #Eqn B\n", "#Results\n", "print 'The flux at steady state is NA= %5.2e kg mol/s.m2'%(Na)\n", "print 'The approximate flux at steady state using two different equations\\nA) %5.2e kgmol/(s.m2) by Eqn A and'%(Naf)\n", "print 'B) %5.2e kgmol/(s.m2) by eqn B' %(Nacc)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The flux at steady state is NA= 6.40e-05 kg mol/s.m2\n", "The approximate flux at steady state using two different equations\n", "A) 9.10e-05 kgmol/(s.m2) by Eqn A and\n", "B) 6.33e-05 kgmol/(s.m2) by eqn B\n" ] } ], "prompt_number": 44 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 7.7-1, Page Number 471" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Numerical Solution for Unsteady-State Diffusion with a Distribution Coefficient\n", "import numpy as np\n", "import copy \n", "import matplotlib.pyplot as plt\n", "\n", "#Variable Declaration\n", "t = 0.004 #Thickness of the material (m)\n", "Dab = 1.e-9 #Diffusivity of material (m2/s)\n", "ca = 6.e-3 #Concentration of fluid (kg mol A/m3)\n", "K = 1.5 #Distribution coefficient\n", "delx = 0.001\n", "M = 2.\n", "tmax = 2500\n", "xm = np.arange(1,5,1)\n", "c = np.array([1.e-3,1.25e-3,1.5e-3,1.75e-3,2.e-3])\n", "n = np.array([1,2,3,4,5])\n", "#Calculations\n", "plt.plot(n,c, 'bo-')\n", "plt.xlabel('Node number, n')\n", "plt.ylabel('concentration c, kgmol/m3')\n", "delt = delx**2/(2*Dab)\n", "\n", "m = tmax/int(delt)\n", "Ccal = [0,0,0,0,0]\n", "t = 0\n", "print \"After\",t,\"s\"\n", "for i in range(len(n)):\n", " print \"At \",i+1,'th node, the value of concentration is %6.3e kgmol/m3'%c[i]\n", "for i in range(1,6,1):\n", " t = delt*i\n", " #print c\n", " for j in range(len(c)):\n", " if j==0:\n", " if i == 1:\n", " Ccal[j]= (ca/K+c[j])/2\n", " else:\n", " Ccal[j]= ca/K \n", " elif j>=1 and j<(len(c)-1):\n", " Ccal[j]=(c[j-1]+c[j+1])/2.\n", " #print c[j-1], c[j+1], Ccal[j]\n", " else:\n", " Ccal[j]=c[j-1]\n", " c = copy.copy(Ccal)\n", " print \"After\",t,\"s\"\n", " for i in range(len(n)):\n", " print \"At \",i+1,'th node, the value of concentration is %6.3e kgmol/m3'%c[i]\n", "\n", "#Results\n", "plt.plot(n,c,'ro-')\n", "print 'The results are different than book because for first iteration at second node\\nThe value of c(0,1)= 1e-3 is taken as 2.5e-3, which is wrong substitution' " ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "After 0 s\n", "At 1 th node, the value of concentration is 1.000e-03 kgmol/m3\n", "At 2 th node, the value of concentration is 1.250e-03 kgmol/m3\n", "At 3 th node, the value of concentration is 1.500e-03 kgmol/m3\n", "At 4 th node, the value of concentration is 1.750e-03 kgmol/m3\n", "At 5 th node, the value of concentration is 2.000e-03 kgmol/m3\n", "After 500.0 s\n", "At 1 th node, the value of concentration is 2.500e-03 kgmol/m3\n", "At 2 th node, the value of concentration is 1.250e-03 kgmol/m3\n", "At 3 th node, the value of concentration is 1.500e-03 kgmol/m3\n", "At 4 th node, the value of concentration is 1.750e-03 kgmol/m3\n", "At 5 th node, the value of concentration is 1.750e-03 kgmol/m3\n", "After 1000.0 s\n", "At 1 th node, the value of concentration is 4.000e-03 kgmol/m3\n", "At 2 th node, the value of concentration is 2.000e-03 kgmol/m3\n", "At 3 th node, the value of concentration is 1.500e-03 kgmol/m3\n", "At 4 th node, the value of concentration is 1.625e-03 kgmol/m3\n", "At 5 th node, the value of concentration is 1.750e-03 kgmol/m3\n", "After 1500.0 s\n", "At 1 th node, the value of concentration is 4.000e-03 kgmol/m3\n", "At 2 th node, the value of concentration is 2.750e-03 kgmol/m3\n", "At 3 th node, the value of concentration is 1.813e-03 kgmol/m3\n", "At 4 th node, the value of concentration is 1.625e-03 kgmol/m3\n", "At 5 th node, the value of concentration is 1.625e-03 kgmol/m3\n", "After 2000.0 s\n", "At 1 th node, the value of concentration is 4.000e-03 kgmol/m3\n", "At 2 th node, the value of concentration is 2.906e-03 kgmol/m3\n", "At 3 th node, the value of concentration is 2.188e-03 kgmol/m3\n", "At 4 th node, the value of concentration is 1.719e-03 kgmol/m3\n", "At 5 th node, the value of concentration is 1.625e-03 kgmol/m3\n", "After 2500.0 s\n", "At 1 th node, the value of concentration is 4.000e-03 kgmol/m3\n", "At 2 th node, the value of concentration is 3.094e-03 kgmol/m3\n", "At 3 th node, the value of concentration is 2.313e-03 kgmol/m3\n", "At 4 th node, the value of concentration is 1.906e-03 kgmol/m3\n", "At 5 th node, the value of concentration is 1.719e-03 kgmol/m3\n", "The results are different than book because for first iteration at second node\n", "The value of c(0,1)= 1e-3 is taken as 2.5e-3, which is wrong substitution\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nLCsr4+LFi7Ru3dq+SJ1Mkoyw+P13eOop2LxZ2+q5gW3AJ0R90u122ahRo/j9998tjy9cuEB4eHid\nX0gIl9OyJfz73/DOO/DXv8Kjj8KFC86OSohGxWqSKSoqok2bNpbHbdu25YL8QxSNyahR2jTn06eh\nf3/48ktnRyREo2E1ybRu3Zp9+/ZZHn/11Ve0bNlS16CEqHft22v71Dz/PNxxh/bf0lJnRyVEg2d1\nTObLL78kJiaGzp07A3Ds2DE2bdrEwIED6yVAR5MxGWFVQYFWJeD0aVi3Dnr1cnZEQjidrmVliouL\nyc7OBqB37954NuDyHJJkhE2UghUrtHI0L7yglacxGJwdlRBOo+s6GU9PT/r27Uvfvn3rlGCSk5Px\n9/fHz8+PJUuWVHtMbGwsfn5+mEwmMjMzrbZ94oknCAgIwGQycffdd3PmzBlAK+jZsmVLQkJCCAkJ\nYcaMGTbHKUQVBgPMnAlffKFtiDZmDBw75uyohGh4lE5KS0uV0WhUZrNZFRcXK5PJpLKysiodk5SU\npCIjI5VSSqWnp6vQ0FCrbVNSUlRZWZlSSqm5c+equXPnKqWUMpvNqk+fPlbj0vEti8aquFipZ55R\nqmNHpTZvdnY0QjiFvZ+dutUuy8jIwNfXFx8fHzw8PIiJiSEhIaHSMYmJiUyePBmA0NBQTp8+zfHj\nx2ttGx4ejpubm6VNfn6+Xm9BCI2HBzz3nFYD7amntNI0l3rQQoja2ZRkCgoK2L17N2lpaezcuZO0\ntDSb2nS9rDaUt7c3BQUFNh1TWFhotS3AqlWriIqKsjw2m82EhIQQFhbGF198YctbE8J2oaGQmQlt\n2kC/ftp+NUKIWrlbO2Du3Lls2rSJwMBAy6p/gOHDh9fazmDjIKmycxB+0aJFeHp6MmHCBAC6dOlC\nXl4e1157Lfv372fs2LEcPHiQttXsjLhw4ULL92FhYYSFhdkVg2iCWrfWJgRs3w4TJ0JMDCxapBXd\nFKIRSU1NJdUBf0hZTTIffvgh2dnZNG/evE4n9vLyIi8vz/I4Ly8Pb2/vWo/Jz8/H29ubkpKSWtuu\nWbOGbdu28dlnn1me8/T0tExK6N+/P0ajkSNHjtC/f/8qsV2eZISwS2QkfPONNuts4EBtjU1wsLOj\nEsJhrvwD/LnnnrPrPFZvlxmNRoqLi+t84oEDB3LkyBFyc3MpLi5m06ZNREdHVzomOjqatWvXApCe\n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\nrkJggg==\n", "text": [ "" ] } ], "prompt_number": 86 } ], "metadata": {} } ] }