diff options
author | Thomas Stephen Lee | 2015-09-04 22:04:10 +0530 |
---|---|---|
committer | Thomas Stephen Lee | 2015-09-04 22:04:10 +0530 |
commit | 41f1f72e9502f5c3de6ca16b303803dfcf1df594 (patch) | |
tree | f4bf726a3e3ce5d7d9ee3781cbacfe3116115a2c /Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel | |
parent | 9c9779ba21b9bedde88e1e8216f9e3b4f8650b0e (diff) | |
download | Python-Textbook-Companions-41f1f72e9502f5c3de6ca16b303803dfcf1df594.tar.gz Python-Textbook-Companions-41f1f72e9502f5c3de6ca16b303803dfcf1df594.tar.bz2 Python-Textbook-Companions-41f1f72e9502f5c3de6ca16b303803dfcf1df594.zip |
add/remove/update books
Diffstat (limited to 'Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel')
20 files changed, 5619 insertions, 0 deletions
diff --git a/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/README.txt b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/README.txt new file mode 100755 index 00000000..a043f776 --- /dev/null +++ b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/README.txt @@ -0,0 +1,10 @@ +Contributed By: Dolar Khachariya +Course: mtech +College/Institute/Organization: Indian Institute of Engineering Bombay +Department/Designation: Electrical engineering +Book Title: Fluidization Engineering +Author: K. Daizo And O. Levenspiel +Publisher: Butterworth-Heinemann, Massachusetts +Year of publication: 1991 +Isbn: 8131200353 +Edition: 2nd
\ No newline at end of file diff --git a/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch10.ipynb b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch10.ipynb new file mode 100755 index 00000000..e44d1ebe --- /dev/null +++ b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch10.ipynb @@ -0,0 +1,304 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:89c91579d721ed0f833b399593203d4eb19421ab1695bc830f1be612e46bd826" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 10 : Gas Dispersion and Gas Interchange in Bubbling Beds" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "%matplotlib inline" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].\n", + "For more information, type 'help(pylab)'.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 1, Page 253\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "from numpy import *\n", + "%matplotlib inline\n", + "#Variable declaration\n", + "umf=[0.01,0.045]; #Velocity at minimum fluidization condition in m/s\n", + "ephsilonmf=[0.5,0.5]; #Void fraction at minimum fluidization condition\n", + "D=[2E-5,7E-5]; #Diffusion coefficient of gas in m**2/s\n", + "g=9.81; #Acceleration due to gravity in m/s**2\n", + "\n", + "#CALCULATION\n", + "db=[5.,10.,15.,20.];\n", + "n=len(umf);\n", + "m=len(db)\n", + "Kbc = zeros((n,m))\n", + "Kce = zeros((n,m))\n", + "Kbe = zeros((n,m))\n", + " \n", + "for i in range(n):\n", + " for j in range(m):\n", + " Kbc[i][j]=4.5*(umf[i]/db[j])+5.85*((D[i]**0.5*g**0.25)/db[j]**(5.0/4));#Gas interchange coefficient between bubble and cloud from Eqn.(27)\n", + " Kce[i][j]=6.77*((D[i]*ephsilonmf[i]*0.711*(g*db[j])**0.5)/db[j]**3)**0.5;#Gas interchange coefficient between emulsion and cloud from Eqn.(34)\n", + " Kbe[i][j]=(Kbc[i][j]*Kce[i][j])/(Kbc[i][j]+Kce[i][j]);#Gas interchange coefficient between bubble and emulsion from Eqn.(14)\n", + "\n", + "#OUTPUT\n", + "i=0;\n", + "j=0;\n", + "k=0;\n", + "while k<m*n:\n", + " print '\\t\\tKbc for fine particles and He',\n", + " print '\\tKbc for coarse particles and ozone',\n", + " print '\\tKbe for fine particles and He',\n", + " print '\\tKbe for coarse particles and ozone'\n", + " j = 0\n", + " while j<m:\n", + " print 'db=%fm'%(db[j]*10**-2);\n", + " while i<n:\n", + " print '\\t%f'%Kbc[i][j],\n", + " print '\\t\\t\\t%f'%Kbe[i][j],\n", + " i=i+1; \n", + " k=k+1;\n", + " print '\\t\\t\\t',\n", + " i=0;\n", + " j=j+1;\n", + "import numpy\n", + "import matplotlib.pyplot as plt\n", + "a = numpy.matrix(Kbe)\n", + "b = numpy.matrix(Kbc)\n", + "db = array(db).T\n", + "Kbe=a.T\n", + "Kbc=b.T\n", + "\n", + "plt.plot(db,Kbc,db,Kbe)\n", + "#plt.plot(db,Kbe);\n", + "#Note : Python does not have plot2d function. so we can plot it \n", + "#plt.title('Plot of Kbc,Kbe vs db','db');\n", + "plt.show()\n", + "print 'Comparing the points with the plot of Kbc,Kbe vs db in Fig.(12), we can conlcude the following:'\n", + "print 'Kbc for fine particles and helium: line 2 in Fig.(12)'\n", + "print 'Kbc for coarser particles and ozone: line 3 in Fig.(12)'\n", + "print 'Kbe for fine particles and helium: line 4 in Fig.(12)'\n", + "print 'Kbe for coarser particles and ozone: line 5 in Fig.(12)'\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].\n", + "For more information, type 'help(pylab)'.\n" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\t\tKbc for fine particles and He \tKbc for coarse particles and ozone \tKbe for fine particles and He \tKbe for coarse particles and ozone\n", + "db=0.050000m\n", + "\t0.015193 \t\t\t0.003335 \t\t\t\t0.052085 \t\t\t0.006930 \t\t\tdb=0.100000m\n", + "\t0.007104 \t\t\t0.001434 \t\t\t\t0.025121 \t\t\t0.002964 \t\t\tdb=0.150000m\n", + "\t0.004568 \t\t\t0.000875 \t\t\t\t0.016434 \t\t\t0.001803 \t\t\tdb=0.200000m\n", + "\t0.003345 \t\t\t0.000616 \t\t\t\t0.012173 \t\t\t0.001266 \t\t\t" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "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\nRU5ErkJggg==\n" + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Comparing the points with the plot of Kbc,Kbe vs db in Fig.(12), we can conlcude the following:\n", + "Kbc for fine particles and helium: line 2 in Fig.(12)\n", + "Kbc for coarser particles and ozone: line 3 in Fig.(12)\n", + "Kbe for fine particles and helium: line 4 in Fig.(12)\n", + "Kbe for coarser particles and ozone: line 5 in Fig.(12)\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2, Page 254\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "D=0.69; #Diffusion coefficient of gas in cm**2/s\n", + "umf=1.0; #Velocity at minimum fluidization condition in cm/s\n", + "ephsilonmf=0.5; #Void fraction at minimum fluidization condition\n", + "db=[5,15]; #Equilibrium bubble size in cm\n", + "g=980; #Acceleration due to gravity in cm/s**2\n", + "\n", + "#CALCULATION\n", + "n=len(db);\n", + "i=0;\n", + "Kbc = [0.,0.]\n", + "Kce = [0.,0.]\n", + "Kbe = [0.,0.]\n", + "e = [0.,0.]\n", + "while i<n:\n", + " Kbc[i]=4.5*(umf/db[i])+5.85*((D**0.5*g**0.25)/db[i]**(5/4));#Gas interchange coefficient between bubble and cloud from Eqn.(27)\n", + " Kce[i]=6.77*((D*ephsilonmf*0.711*(g*db[i])**0.5)/db[i]**3)**0.5;#Gas interchange coefficient between emulsion and cloud from Eqn.(34)\n", + " Kbe[i]=(Kbc[i]*Kce[i])/(Kbc[i]+Kce[i]);#Gas interchange coefficient between bubble and emulsion from Eqn.(14)\n", + " e[i]=(Kce[i]-Kbe[i])/Kbe[i];#Error when minor resistance is ignored\n", + " i=i+1;\n", + "\n", + "#OUTPUT\n", + "print 'db(cm)',\n", + "print '\\t\\tCalculated Kbc',\n", + "print '\\tCalculated Kce',\n", + "print '\\t\\tKbe from Eqn.(14)',\n", + "print '\\tErron when minor resistance is ignored (in percentage)'\n", + "i=0;\n", + "while i<n:\n", + " print '%f'%db[i],\n", + " print '\\t%f'%Kbc[i],\n", + " print '\\t%f'%Kce[i],\n", + " print '\\t\\t%f'%Kbe[i],\n", + " print '\\t\\t%f'%(e[i]*100);\n", + " i=i+1; \n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "db(cm) \t\tCalculated Kbc \tCalculated Kce \t\tKbe from Eqn.(14) \tErron when minor resistance is ignored (in percentage)\n", + "5.000000 \t6.337721 \t2.509152 \t\t1.797506 \t\t39.590766\n", + "15.000000 \t2.112574 \t0.635514 \t\t0.488547 \t\t30.082477\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3, Page 255\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "Kbe=[0.028,0.05]; #Reported range for gas interchange coefficient between bubble and emulsion\n", + "uo=0.30; #Superficial gas velocity in m/s\n", + "db=0.13; #Equilibrium bubble size in m\n", + "m=7;\n", + "ephsilonmf=0.5; #Void fraction at minimum fluidization condition\n", + "umf=0.0018; #Velocity at minimum fluidization condition in m/s\n", + "D=[9E-6,22E-6]; #Diffusion coefficient of gas in m**2/s\n", + "g=9.81; #Acceleration due to gravity in m/s**2\n", + "\n", + "#CALCULATION\n", + "n=len(Kbe);\n", + "i=0;\n", + "Kbem = [0,0]\n", + "Kbc = [0,0]\n", + "Kce = [0,0]\n", + "#Kbe = [0,0]\n", + "c = [0,0]\n", + "\n", + "while i<n:\n", + " Kbem[i]=(6.0/db)*Kbe[i];#Gas interchange coefficient between bubble and emulsion from Eqn.(19)\n", + " Kbc[i]=4.5*(umf/db)+5.85*((D[i]**0.5*g**0.25)/db**(5.0/4));#Gas interchange coefficient between bubble and cloud from Eqn.(27)\n", + " Kce[i]=6.77*((D[i]*ephsilonmf*0.711*(g*db)**0.5)/db**3)**0.5;#Gas interchange coefficient between emulsion and cloud from Eqn.(34)\n", + " Kbe[i]=(Kbc[i]*Kce[i])/(Kbc[i]+Kce[i]);#Gas interchange coefficient between bubble and emulsion from Eqn.(14)\n", + " c[i]=(Kbem[i]/Kbe[i]);\n", + " i=i+1;\n", + "\n", + "#OUTPUT\n", + "print 'Kbe from Eqn.(19)',\n", + "print '\\tKbc from Eqn.(27)',\n", + "print '\\tKce from Eqn.(34)',\n", + "print '\\tKbe from Eqn.(14)',\n", + "print '\\tComparison of Kbe from Eqn.(19) and that from Eqn.(14)'\n", + "i=0\n", + "while i<n:\n", + " print '%f'%Kbem[i],\n", + " print '\\t\\t%f'%Kbc[i],\n", + " print '\\t\\t%f'%Kce[i],\n", + " print '\\t\\t%f'%Kbe[i],\n", + " print '\\t\\t%f'%c[i]\n", + " i=i+1; \n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Kbe from Eqn.(19) \tKbc from Eqn.(27) \tKce from Eqn.(34) \tKbe from Eqn.(14) \tComparison of Kbe from Eqn.(19) and that from Eqn.(14)\n", + "1.292308 \t\t0.460200 \t\t0.274548 \t\t0.171959 \t\t7.515188\n", + "2.307692 \t\t0.684401 \t\t0.429248 \t\t0.263797 \t\t8.747978\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch11.ipynb b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch11.ipynb new file mode 100755 index 00000000..48b679d6 --- /dev/null +++ b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch11.ipynb @@ -0,0 +1,356 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:69d28aca1d8ec525f15842df275d6e6c6108139c968df651029692a500222ce7" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 11 : Particle to Gas Mass and Heat Transfer" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "%matplotlib inline" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].\n", + "For more information, type 'help(pylab)'.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 1, Page 265\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "db=0.37; #Equilibrium bubble size in cm\n", + "dp=0.028; #Particle size in cm\n", + "rhos=1.06; #Density of solids in g/cc\n", + "ephsilonmf=0.5; #Void fraction at minimum fluidization condition\n", + "phis=0.4; #Sphericity of solids\n", + "gammab=0.005; #Ratio of volume of dispersed solids to that of bubble phase\n", + "rhog=1.18E-3; #Density of air in g/cc\n", + "myu=1.8E-4; #Viscosity of gas in g/cm s\n", + "D=0.065; #Diffusion coefficient of gas in cm**2/s\n", + "Sc=2.35; #Schmidt number\n", + "etad=1; #Adsorption efficiency factor\n", + "y=1;\n", + "umf=1.21; #Velocity at minimum fluidization condition in cm/s\n", + "ut=69; #Terminal velocity in cm/s\n", + "g=980; #Acceleration due to gravity in square cm/s**2\n", + "uo=[10,20,30,40,50];#Superficial gas velocity in cm/s\n", + "\n", + "#CALCULATION\n", + "n=len(uo);\n", + "i=0;\n", + "Rept=(dp*ut*rhog)/myu;\n", + "Shstar=2+(0.6*(Rept**0.5)*(Sc**(1/3)));#Sherwood no. from Eqn.(1)\n", + "Kbc=4.5*(umf/db)+5.85*((D**0.5*g**0.25)/db**(5/4));#Gas interchange coefficient between bubble and cloud from Eqn.(10.27)\n", + "ubr=0.711*(g*db)**0.5;#Rise velocity of the bubble\n", + "x = [0,0,0,0,0]\n", + "Shbed = [0,0,0,0,0]\n", + "Rep = [0,0,0,0,0]\n", + "while i<n:\n", + " x[i]=(uo[i]-umf)/(ubr*(1-ephsilonmf));#The term delta/(1-epshilonf) after simplification\n", + " Shbed[i]=x[i]*((gammab*Shstar*etad)+((phis*dp**2*y)/(6*D))*Kbc);#Sherwood no. from Eqn.(11)\n", + " Rep[i]=(dp*uo[i]*rhog)/myu;#Reynolds of the particle\n", + " i=i+1;\n", + "\n", + "#OUTPUT\n", + "print 'The desired result is the relationship between Shbed and Rep The points gives a straight line of the form y=mx+c'\n", + "print 'Rep',\n", + "print '\\t\\tShbed'\n", + "i=0;\n", + "while i<n:\n", + " print '%f'%Rep[i],\n", + " print '\\t%f'%Shbed[i]\n", + " i=i+1;\n", + "import matplotlib.pyplot as plt\n", + "plt.plot(Rep,Shbed);\n", + "plt.xlabel(\"Rep\");\n", + "plt.ylabel(\"Shbed\");\n", + "\n", + "plt.show()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n", + "The desired result is the relationship between Shbed and Rep The points gives a straight line of the form y=mx+c\n", + "Rep \t\tShbed\n", + "1.835556 \t0.065762\n", + "3.671111 \t0.140576\n", + "5.506667 \t0.215391\n", + "7.342222 \t0.290206\n", + "9.177778 \t0.365020\n" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "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\n", + "text": [ + "<matplotlib.figure.Figure at 0x2b26690>" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2, Page 267" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from scipy.optimize import fsolve \n", + "import math \n", + "\n", + "#INPUT\n", + "umf=0.12 #Velocity at minimum fluidization condition in cm/s\n", + "uo=40.; #Superficial gas velocity in cm/s\n", + "ub=120; #Velocity of the bubble in cm/s\n", + "D=0.7; #Diffusion coefficient of gas in cm**2/s\n", + "abkbe1=1.; #Bubble-emuslion interchange coefficient for non absorbing particles(m=0)\n", + "abkbe2=18.; #Bubble-emuslion interchange coefficient for highly absorbing particles(m=infinity)\n", + "g=980.; #Acceleration due to gravity in square cm/s**2\n", + "\n", + "#CALCULATION\n", + "#For non absorbing particles m=0,etad=0\n", + "Kbc=(ub/uo)*(abkbe1);\n", + "dbguess=2;#Guess value of db\n", + "def solver_func(db): #Function defined for solving the system\n", + " return abkbe1-(uo/ub)*(4.5*(umf/db)+5.85*(D**0.5*g**0.25)/(db**(5/4.)));#Eqn.(10.27)\n", + "\n", + "d=fsolve(solver_func,dbguess)\n", + "#For highly absorbing particles m=infinity, etad=1\n", + "M=abkbe2-(uo/ub)*Kbc;\n", + "#For intermediate condition\n", + "alpha=100.;\n", + "m=10.;\n", + "etad=1./(1+(alpha/m));#Fitted adsorption efficiency factor from Eqn.(23)\n", + "abkbe3=M*etad+(uo/ub)*Kbc;\n", + "\n", + "#OUTPUT\n", + "print 'For non absorbing particles:\\tDiameter of bubble=%fcm\\tBubble-cloud interchange coefficient=%fs**-1'%(d,Kbc);\n", + "print 'For highly absorbing partilces:\\tM=%f'%(M);\n", + "print 'For intermediate condition:\\tFitted adsorption efficiency factor:%f\\tBubble-emuslion interchange coefficient:%fs**-1'%(etad,abkbe3);\n", + "\n", + "#====================================END OF PROGRAM ======================================================" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "For non absorbing particles:\tDiameter of bubble=6.010032cm\tBubble-cloud interchange coefficient=3.000000s**-1\n", + "For highly absorbing partilces:\tM=17.000000\n", + "For intermediate condition:\tFitted adsorption efficiency factor:0.090909\tBubble-emuslion interchange coefficient:2.545455s**-1\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3, Page 273\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "rhos=1.3; #Density of solids in g/cc\n", + "phis=0.806; #Sphericity of solids\n", + "gammab=0.001; #Ratio of volume of dispersed solids to that of bubble phase\n", + "rhog=1.18E-3; #Density of air in g/cc\n", + "Pr=0.69; #Prandtl number\n", + "myu=1.8E-4; #Viscosity of gas in g/cm s\n", + "Cpg=1.00; #Specific heat capacity of gas in J/g K\n", + "ephsilonmf=0.45; #Void fraction at minimum fluidization condition\n", + "kg=2.61E-4; #Thermal concuctivity of gas in W/cm k\n", + "dp=0.036; #Particle size in cm\n", + "umf=6.5; #Velocity at minimum fluidization condition in cm/s\n", + "ut=150.; #Terminal velocity in cm/s\n", + "db=0.4; #Equilibrium bubble size in cm\n", + "etah=1; #Efficiency of heat transfer\n", + "uo=[10.,20.,30.,40.,50.];#Superficial gas velocity in cm/s\n", + "g=980.; #Acceleration due to gravity in square cm/s**2\n", + "\n", + "#CALCULATION\n", + "Nustar=2+(((dp*ut*rhog)/myu)**0.5*Pr**(1./3));#Nusselt no. from Eqn.(25)\n", + "Hbc=4.5*(umf*rhog*Cpg/db)+5.85*((kg*rhog*Cpg)**0.5*g**0.25/db**(5./4));#Total heat interchange across the bubble-cloud boundary from Eqn.(32)\n", + "ubr=0.711*(g*db)**0.5;#Rise velocity of the bubble from Eqn.(6.7)\n", + "n=len(uo);\n", + "i=0;\n", + "x = [0,0,0,0,0]\n", + "Nubed = [0,0,0,0,0]\n", + "Rep = [0,0,0,0,0]\n", + "\n", + "while i<n:\n", + " x[i]=(uo[i]-umf)/(ubr*(1-ephsilonmf));#The term delta/(1-epshilonf) after simplification\n", + " Nubed[i]=x[i]*(gammab*Nustar*etah+(phis*dp**2/(6*kg))*Hbc);#Nusselt no. from Eqn.(36)\n", + " Rep[i]=(dp*uo[i]*rhog)/myu;#Reynolds of the particle\n", + " i=i+1;\n", + "\n", + "#OUTPUT\n", + "print 'The desired result is the relationship between Nubed and Rep which is in the form of a straight line y=mx+c'\n", + "print 'Rep',\n", + "print '\\t\\tNubed'\n", + "i=0;\n", + "while i<n:\n", + " print '%f'%Rep[i],\n", + " print '\\t%f'%Nubed[i]\n", + " i=i+1;\n", + "import matplotlib.pyplot as plt\n", + "plt.plot(Rep,Nubed);\n", + "plt.xlabel(\"Rep\");\n", + "plt.ylabel(\"Nubed\");\n", + "plt.show()\n", + " " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The desired result is the relationship between Nubed and Rep which is in the form of a straight line y=mx+c\n", + "Rep \t\tNubed\n", + "2.360000 \t0.046518\n", + "4.720000 \t0.179427\n", + "7.080000 \t0.312335\n", + "9.440000 \t0.445244\n", + "11.800000 \t0.578152\n" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEMCAYAAADJQLEhAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X9c1eX9//HHYWClLivL+sihDzZIQFM0yMxZaBrmkvxV\no9YsR0o6VzZdrvWtsK0mc+VMWsPSPrYUaf0QKmVldZamggmKpSmiDMSyNM3wF3J8f/+4NtQE+eE5\nvA/nPO+3W7fOkescXr3nzuu8rtf7ui6HZVkWIiISsILsDkBEROylRCAiEuCUCEREApwSgYhIgFMi\nEBEJcEoEIiIBziuJIC8vj6ioKCIjI0lPT69zjMvlolevXnTv3p2EhARvhCEiIo3g8PQ6ArfbTdeu\nXVm+fDmhoaHEx8eTlZVFdHR07Zj9+/fTr18//vnPf+J0OtmzZw8XX3yxJ8MQEZFG8nhFUFBQQERE\nBOHh4YSEhJCcnExOTs4pYxYtWsSoUaNwOp0ASgIiIjbyeCKorKwkLCys9rnT6aSysvKUMSUlJXzz\nzTcMGDCAuLg4/v73v3s6DBERaaRgT7+hw+FocMyxY8coLCzk/fff59ChQ/Tt25drr72WyMjIJr+X\niIicrimz/h6vCEJDQ6moqKh9XlFRUTsF9F9hYWHcdNNNnHfeeXTs2JHrr7+eDRs21Pl+lmXpH8vi\n8ccftz0GX/lH10LXQtfizP80lccTQVxcHCUlJZSVlVFdXU12djZJSUmnjLn11ltZuXIlbrebQ4cO\nkZ+fT0xMjKdDERGRRvD41FBwcDAZGRkkJibidrtJSUkhOjqazMxMAFJTU4mKimLIkCH06NGDoKAg\nxo0bp0QgImITj98+6kkOh6NZZY4/crlcWm/xH7oWJ+hanKBrcUJTPzuVCERE/ExTPzu1xYSISIBT\nIhARaUUOH4ZHHoF6du9pFiUCEZFW4r334KqrYNs2GDPGc+/r8buGRETEs776Ch58EFatgueeg6FD\nPfv+qghERHzU8ePw4ovQvTuEhsKnn3o+CYAqAhERn7RpE6SmQnW1mRLq2dN7v0sVgYiIDzl8GB59\nFG64AZKTzXSQN5MAqCIQEfEZy5fDhAkQGwsbNkDnzi3ze5UIRERs9vXX8Otfw4oVkJEBt9zSsr9f\nU0MiIjaxLJg/3zSDL7sMPvus5ZMAqCIQEbHF5s1w332mJ/DPf5rpILuoIhARaUFHjsBjj8H118Nt\nt8Hq1fYmAVBFICLSYt5/3zSDe/SA9evN2gBfoEQgIuJlX38NU6eCy2WawcOG2R3RqTQ1JCLiJZYF\nL71kmsEXX2yawb6WBEAVgYiIV3z+uWkGHzwIy5ZB7952R1Q/VQQiIh505AikpUH//jBqFKxZ49tJ\nAFQRiIh4zIcfmiqgWzcoKgKn0+6IGkeJQETkLO3ZY5rBH3wAc+bArbfaHVHTaGpIRKSZLAsWLDDN\n4IsuMs3g1pYEQBWBiEizbNlipoEOHIB33oGrr7Y7ouZTRSAi0gRHj8L06dCvHwwfDvn5rTsJgCoC\nEZFGc7lMFRAVZZrBYWF2R+QZSgQiIg3Yuxd+8xtzUticOaYS8CeaGhIRqYdlwcsvm9tBzz/fHB/p\nb0kAVBGIiNRp61azQdz+/fD22xAXZ3dE3qOKQETkJEePwu9/D9ddZ/YFys/37yQAXkoEeXl5REVF\nERkZSXp6+mk/d7lcdOjQgV69etGrVy/+8Ic/eCMMEZEm+egjczbA2rVQWAiTJ0NwAMybePw/0e12\nM2nSJJYvX05oaCjx8fEkJSURHR19yrgbbriB3NxcT/96EZEm++YbeOghc1LYs8+aPoDDYXdULcfj\nFUFBQQERERGEh4cTEhJCcnIyOTk5p42zLMvTv1pEpEksC155xTSD27UzK4NHjAisJABeSASVlZWE\nnXRzrdPppLKy8pQxDoeDVatW0bNnT4YOHcqmTZs8HYaIyBmVlMDgwfD005CbC7NnmzuDApHHp4Yc\njUilvXv3pqKigrZt27Js2TKGDx/O1q1b6xyblpZW+zghIYGEhAQPRSoigai6Gv70J/jLX+B3v4P7\n72/9fQCXy4XL5Wr26x2Wh+do1qxZQ1paGnl5eQD88Y9/JCgoiGnTptX7mi5durBu3TouuuiiU4Nz\nODSFJCIes2IFpKbCj35kjoz83/+1OyLvaOpnp8enhuLi4igpKaGsrIzq6mqys7NJSko6Zczu3btr\ngywoKMCyrNOSgIiIp3zzDYwbB3fcYW4Nzc313yTQHB4viIKDg8nIyCAxMRG3201KSgrR0dFkZmYC\nkJqaymuvvcbzzz9PcHAwbdu2ZfHixZ4OQ0QEy4JFi8xZAaNHm5XBgdoHOBOPTw15kqaGRKS5SkvN\nyuCvvoK5c+Gaa+yOqOXYPjUkImKn6mp46ino0wcSE+GTTwIrCTRHK++Vi4icsHKlaQaHh5sEEB5u\nd0StgxKBiLR6+/bBb39rNoebPRtGjQq8RWFnQ1NDItJqWRZkZZmVwcHBphk8erSSQFOpIhCRVmn7\ndpg4Eb74At54A6691u6IWi9VBCLSqhw7BjNmmAbwjTeaXoCSwNlRRSAircaqVaYZHBamZrAnKRGI\niM/btw8efhjeesvsEaQ+gGdpakhEfJZlweLFphkcFGS2ib7tNiUBT1NFICI+accO0wyurITXX4e+\nfe2OyH+pIhARn3LsGKSnQ3w8JCTAunVKAt6mikBEfMbq1aYZ3LkzFBTAFVfYHVFgUCIQEdvt328O\niVmyBGbNgttvVx+gJWlqSERsY1nw6qumGXz8uFkZ/NOfKgm0NFUEImKLsjL45S+hvBz+8Q+47jq7\nIwpcqghEpEUdOwYzZ0JcHPz4x1BYqCRgN1UEItJi1qwxzeDLLlMz2JcoEYiI1337rWkGv/kmPPOM\n+gC+RlNDIuI1lgWvvWaawTU1ZmVwcrKSgK9RRSAiXlFWBpMmmRXC2dnQr5/dEUl9VBGIiEfV1MCf\n/2yawdddB0VFSgK+ThWBiHhMQQGMHw+dOpnGcESE3RFJYygRiMhZO3AAHnnE9AOefhruuEN9gNZE\nU0Mi0myWZXYGjYmBo0dNM/jOO5UEWhtVBCLSLP/+t2kGb99uzgz48Y/tjkiaSxWBiDRJTY2Z/rn6\nanNWcFGRkkBrp4pARBpt7VrTDO7YUc1gf6KKQEQadOAA3H8/DBsGU6bAe+8pCfgTJQIRqZdlmW0h\nunWDQ4dMM/iuu9QM9jdeSQR5eXlERUURGRlJenp6vePWrl1LcHAwb7zxhjfCEJGzUF4Ow4ebPYIW\nLoQXXzRTQuJ/PJ4I3G43kyZNIi8vj02bNpGVlcXmzZvrHDdt2jSGDBmCZVmeDkNEmqmmxpwS1ru3\nWR28fj1cf73dUYk3ebxZXFBQQEREBOHh4QAkJyeTk5NDdHT0KePmzJnD6NGjWbt2radDEJFm+uQT\ns030BRfAqlVw5ZV2RyQtweOJoLKykrCwsNrnTqeT/Pz808bk5OTwwQcfsHbtWhxnmHBMS0urfZyQ\nkEBCQoKnQxYJeN99B//v/5nN4WbOVB+gtXG5XLhcrma/3uOJ4Ewf6v81efJkZsyYgcPhwLKsM04N\nnZwIRMTzliyBX/0KbrrJNIPVB2h9vv8lefr06U16vccTQWhoKBUVFbXPKyoqcDqdp4xZt24dycnJ\nAOzZs4dly5YREhJCUlKSp8MRkXpUVJgE8Pnn8MorcMMNdkckdvF4szguLo6SkhLKysqorq4mOzv7\ntA/47du3s2PHDnbs2MHo0aN5/vnnlQREWojbDbNnQ69epiG8YYOSQKDzeEUQHBxMRkYGiYmJuN1u\nUlJSiI6OJjMzE4DU1FRP/0oRaaR160wz+Pzz4eOPoWtXuyMSX+CwfPjezf/2EETk7FRVwaOPwqJF\n8Kc/wZgxagb7s6Z+dmplsYify8kx20Tv32+awXffrSQgp9KmcyJ+audO0wzetAkWLIABA+yOSHyV\nKgIRP+N2w7PPQmws9OxpmsFKAnImqghE/EhhoWkGt2sHK1dCVJTdEUlroIpAxA9UVZntoW++GX75\nS/jwQyUBaTwlApFW7q23zDbRe/fCp5/CPfeoGSxNo6khkVaqstIcFrNxI7z0EgwcaHdE0lqpIhBp\nZdxuyMgwzeDu3aG4WElAzo4qApFWZP16c2bweefBRx/B93Z3F2kWVQQirUBVFUydanYIve8+0wxW\nEhBPUSIQ8XFvv22mgL76yjSDf/ELCNL/c8WDNDUk4qN27YIHHjDTQS++CIMG2R2R+Ct9rxDxMW43\nPPecWRUcFWWawUoC4k2qCER8yIYNphncpg38619mszgRb1NFIOIDDh6Ehx6CwYNNIlASkJakRCBi\ns6VLTTN41y7TDE5JUTNYWpamhkRssmsXTJ5sNoqbO9dUAyJ2qDcRDBs2rPbx90+7cTgc5Obmejcy\nET/ldkNmJjz+uNkpdMECs0BMxC71JoIpU6YA8Oabb/Lll19y1113YVkWWVlZXHrppS0WoIg/KS42\nPYDgYHC5zGZxInZr8Mziq6++mnXr1jX4Z96gM4vFXxw8CE88YTaHe/JJ9QHEuzx+ZvGhQ4coLS2t\nfb59+3YOHTrUvOhEAtCyZaYZvHOn2Sl03DglAfEtDTaLZ82axYABA+jSpQsAZWVlzJ071+uBibR2\nX3wBDz4Ia9eansBNN9kdkUjdGpwaAjhy5AhbtmwBICoqinPOOcfrgYGmhqR1On7c3AX06KPm2/+j\nj6oZLC2rqZ+dDVYEBw8e5JlnnqG8vJwXXniBkpIStmzZwi233HJWgYr4o40bzZ1ADofZIbR7d7sj\nEmlYgzOVY8eOpU2bNqxatQqAzp0788gjj3g9MJHW5NAh+O1vzQEx99wDK1YoCUjr0WAiKC0tZdq0\nabRp0waAdu3aeT0okdYkL8986P/736YiGD9ezWBpXRqcGjrnnHM4fPhw7fPS0tIW6xGI+LIvvzTN\n4Px8+OtfYcgQuyMSaZ4Gv7ekpaUxZMgQdu7cyZ133snAgQNJT09vidhEfNLx4+YuoKuugvBwsz+Q\nkoC0Zo26a2jPnj3k5+djWRbXXnstF1988RnH5+XlMXnyZNxuN/feey/Tpk075ec5OTk89thjBAUF\nERQUxMyZMxlYx+nbumtIfM2nn5pm8H/vDLrqKrsjEjldUz87G0wElmXxxhtvsHLlShwOB/3792fE\niBH1jne73XTt2pXly5cTGhpKfHw8WVlZRJ90wOrBgwdrew0bN25kxIgRbNu27az/Y0S85fBh+P3v\n4YUXzL/VBxBf5vGVxRMnTiQzM5MePXrQvXt3MjMzmThxYr3jCwoKiIiIIDw8nJCQEJKTk8nJyTll\nzMkN56qqqgYrDBE7vfuuaQZv3272CrrvPiUB8S8NNos//PBDNm3aRNB//ubfc889xJzhxIzKykrC\nwsJqnzudTvLz808bt2TJEh5++GG++OIL3n333XrfLy0trfZxQkICCQkJDYUs4hG7d8Ovfw2rVplm\n8M032x2RSN1cLhcul6vZr28wEURERFBeXk54eDgA5eXlRERE1Dve4XA06hcPHz6c4cOHs2LFCn7+\n85/Xrlz+vpMTgUhLOH4c5s2DRx6BsWPhs8+gbVu7oxKp3/e/JE+fPr1Jr2/wPILvvvuO6Ohorrnm\nGhwOBwUFBcTHx9f7hqGhoVRUVNQ+r6iowOl01ju+f//+1NTUsHfvXjp27Nik4EU87bPPTDO4pgaW\nL4cePeyOSMT7GjyPoC5n+tYfFxdHSUkJZWVldO7cmezsbLKysk4ZU1payhVXXIHD4aCwsBBASUBs\ndfgw/OEP5k6gJ54wzeAf/MDuqERaRr2JoLlz8cHBwWRkZJCYmIjb7SYlJYXo6GgyMzMBSE1N5fXX\nX+fll18mJCSE9u3bs3jx4mb9LhFPeO89mDABeveGDRugc2e7IxJpWQ3ePtq+ffvaCqC6uppjx47R\nvn17Dhw44P3gdPuoeNFXX5lm8MqV8Nxz8JOf2B2RiGd4fPfRqqqq2sfHjx8nNzeXNWvWNC86ER9w\n/DjMnw+/+x3cfbfpC2gLLQlkjVpZ/H2xsbGsX7/eG/GcQhWBeNqmTWYdwNGjZpuI2Fi7IxLxPI9X\nBK+//nrt4+PHj7Nu3TrO0ykb0socOWLOCv7b3yAtzSQDNYNFjAYTwVtvvVXbIwgODiY8PPy0lcIi\nvuz9980Hf2ysmsEidWnW1FBL0dSQnI2vv4YpU+CjjyAjA3SongQKj00N1bcy7b/VwWOPPdbE0ERa\nhmXBSy/Bww/Dz39udgxt397uqER8V72JoF27dqctHDt48CDz5s1jz549SgTikzZvNtNAhw+bk8N6\n9bI7IhHf16ipoQMHDvDss88yb948br/9dqZMmUKnTp28H5ymhqSRjhyBp54ym8M9/jhMnKhmsAQu\nj941tHfvXmbNmsXChQsZM2YMhYWFXHjhhWcdpIgnffCBqQKuugrWr4czbG0lInWoNxFMnTqVN998\nk/Hjx1NcXMwPf/jDloxLpEFffw1Tp4LLBXPmQFKS3RGJtE71Tg0FBQXRpk0bQkJCTn+Rw6EtJsQ2\nlgULFsC0afCzn5lN4tQMFjnBY1NDx48f90hAIp60ZYvZJrqqCpYtMxvFicjZ0YF70iocPWpWBPfr\nByNHQn6+koCIpzS4sljEbi6XqQK6dVMzWMQblAjEZ+3ZY5rBH3xgmsG33mp3RCL+SVND4nP+2wzu\n1g0uvNBsE60kIOI9qgjEp2zZYtYEHDgAS5fC1VfbHZGI/1NFID7h6FFzG2i/fubbf36+koBIS1FF\nILb7179MM7hrVygqgrAwuyMSCSxKBGKbvXvhN78xh8fPmQPDh9sdkUhg0tSQtDjLgr//3TSDzz/f\nHB+pJCBiH1UE0qJKSkwzeN8+ePttiIuzOyIRUUUgLeLoUfj976FvX3NSWEGBkoCIr1BFIF730Uem\nGRwZCYWFcPnldkckIidTIhCv+eYbeOghc1LYs8/CiBHwvUPvRMQHaGpIPM6y4JVXICYG2rY1zeCR\nI5UERHyVKgLxqJISmDDB3BqamwvXXGN3RCLSEFUE4hHV1fDkk6YZfPPNsHatkoBIa+G1RJCXl0dU\nVBSRkZGkp6ef9vOFCxfSs2dPevToQb9+/SguLvZWKOJlK1dCbCysXg3r1sGUKRCsWlOk1aj3qMqz\n4Xa76dq1K8uXLyc0NJT4+HiysrKIjo6uHbN69WpiYmLo0KEDeXl5pKWlsWbNmlOD01GVPu2bb8xx\nkcuWwezZ6gOI+IqmfnZ6pSIoKCggIiKC8PBwQkJCSE5OJicn55Qxffv2pUOHDgD06dOHnTt3eiMU\n8QLLgkWLzMrgc88120SPGqUkINJaeaWAr6ysJOykncOcTif5+fn1jp83bx5Dhw6t82dpaWm1jxMS\nEkhISPBUmNIMpaWmGbx7NyxZAn362B2RiLhcLlwuV7Nf75VE4GjCV8MPP/yQ+fPn8/HHH9f585MT\ngdinuhr+/Gd45hn47W/hgQcgJMTuqEQETv+SPH369Ca93iuJIDQ0lIqKitrnFRUVOOs4aLa4uJhx\n48aRl5fHhRde6I1QxANWrjQrg8PD4ZNPzL9FxH94pUcQFxdHSUkJZWVlVFdXk52dTVJS0iljysvL\nGTlyJK+88goRERHeCEPO0r59JgH89KeQlmY2iVMSEPE/XqkIgoODycjIIDExEbfbTUpKCtHR0WRm\nZgKQmprKE088wb59+5gwYQIAISEhFBQUeCMcaSLLgsWLzW2gI0aYlcH/6euLiB/yyu2jnqLbR1ve\n9u0wcSLs2gVz58K119odkYg0lU/cPiqtz7FjMGOGWQ08cKBZGKYkIBIYtP5TWLXK9AKcTrM1RJcu\ndkckIi1JiSCA7d8PDz9sNod75hm4/XYtChMJRJoaCkCWBdnZZptoh8OsDP7pT5UERAKVKoIAs2OH\naQbv3Amvv252CxWRwKaKIEAcOwbp6RAfDwkJ5shIJQERAVUEAWH1atMM7tzZHBp/xRV2RyQivkSJ\nwI/t3w+/+53ZHO6ZZ9QHEJG6aWrID1kWvPqq2Sb6+HHTDE5OVhIQkbqpIvAzZWXwy1/Cv/9tkkG/\nfnZHJCK+ThWBnzh2DGbOhLg4+PGPTTNYSUBEGkMVgR/Iz4fx4+Gyy8zjH/3I7ohEpDVRImjFvv3W\nNIPfeMM0g9UHEJHm0NRQK2RZ8NprZmXwsWNmm+g77lASEJHmUUXQypSVwaRJZoVwdrbpB4iInA1V\nBK1ETY05MzguDq67DoqKlARExDNUEbQCBQWmGXzJJbBmDehkTxHxJFUEPuzAAfjVr+DWW+E3v4F3\n31USEBHPUyLwQZZldgaNiYEjR8zK4J/9TM1gEfEOTQ35mPJy0wzetg2ysqB/f7sjEhF/p4rAR9TU\nmLUAvXubc4PXr1cSEJGWoYrAB6xda5rBHTuaLaMjI+2OSEQCiSoCGx04APffD8OGwZQp8N57SgIi\n0vKUCGxgWfDmm2ab6IMHTTP4rrvUDBYRe2hqqIWVl5tbQrduhVdegRtusDsiEQl0qghaSE0NzJpl\nmsFxcaYZrCQgIr5AFUELWLfONIM7dIBVq+DKK+2OSETkBFUEXvTddzB5MvzkJ/DAA/D++0oCIuJ7\nvJYI8vLyiIqKIjIykvT09NN+/vnnn9O3b1/OPfdcnn76aW+FYZucHNMMPnAAPv0UxoxRM1hEfJNX\npobcbjeTJk1i+fLlhIaGEh8fT1JSEtHR0bVjOnbsyJw5c1iyZIk3QrBNRYW5JXTzZnj5ZUhIsDsi\nEZEz80pFUFBQQEREBOHh4YSEhJCcnExOTs4pYy655BLi4uIICQnxRggtzu2G2bOhVy+IjYUNG5QE\nRKR18EpFUFlZSVhYWO1zp9NJfn6+N36VT1i3DlJT4Yc/hI8/hq5d7Y5IRKTxvJIIHB6cDE9LS6t9\nnJCQQIIPfc2uqoJHH4VFi+BPf1IfQETs4XK5cLlczX69VxJBaGgoFRUVtc8rKipwOp3Neq+TE4Ev\nyc01u4QOHGhWBl98sd0RiUig+v6X5OnTpzfp9V5JBHFxcZSUlFBWVkbnzp3Jzs4mKyurzrGWZXkj\nBK/ZudM0gz/9FBYsgAED7I5IROTseCURBAcHk5GRQWJiIm63m5SUFKKjo8nMzAQgNTWVL7/8kvj4\neA4cOEBQUBCzZ89m06ZNtG/f3hshnTW3G557Dp54wlQCixbBuefaHZWIyNlzWD78ldzhcPhExVBU\nZFYGt2sHf/sbREXZHZGISP2a+tmplcVnUFVltoceMgQmToQPP1QSEBH/o0RQj7feMiuD9+wx/YCx\nY3VHkIj4J2069z2VlaYZvHEjvPSSuStIRMSfqSL4D7cbMjLMquBu3aC4WElARAKDKgLM2QDjx5u7\ngD76CE7aEklExO8FdEVw8CBMnQo33WS2iHC5lAREJPAEbCJ45x0zBbR7t2kGp6RAUMBeDREJZAE3\nNbRrlzkkZv16ePFFGDTI7ohEROwVMN+B3W7461+hZ0+zFqC4WElARAQCpCLYsMH0AEJC4F//gpgY\nuyMSEfEdfl0RHDwIDz0EgwfDvfcqCYiI1MVvE8HSpdC9u+kJbNxoEoGawSIip/O7qaEvvjDN4MJC\nmDvXVAMiIlI/v/mOfPw4PP889OgBkZGmClASEBFpmN9UBH/+M+TkmEVh3brZHY2ISOvhN+cRHD4M\n55yjPoCISFPPI/CbRCAiIoYOphERkSZRIhARCXBKBCIiAU6JQEQkwCkRiIgEOCUCEZEAp0QgIhLg\nlAhERAKcEoGISIBTIhARCXBKBCIiAc4riSAvL4+oqCgiIyNJT0+vc8z9999PZGQkPXv2pKioyBth\n+BWXy2V3CD5D1+IEXYsTdC2az+OJwO12M2nSJPLy8ti0aRNZWVls3rz5lDFLly5l27ZtlJSUMHfu\nXCZMmODpMPyO/pKfoGtxgq7FCboWzefxRFBQUEBERATh4eGEhISQnJxMTk7OKWNyc3O5++67AejT\npw/79+9n9+7dng5FREQaweOJoLKykrCwsNrnTqeTysrKBsfs3LnT06GIiEgjePyEMofD0ahx398r\nu77XNfb9AsH06dPtDsFn6FqcoGtxgq5F83g8EYSGhlJRUVH7vKKiAqfTecYxO3fuJDQ09LT30qE0\nIiLe5/Gpobi4OEpKSigrK6O6uprs7GySkpJOGZOUlMTLL78MwJo1a7jgggu49NJLPR2KiIg0gscr\nguDgYDIyMkhMTMTtdpOSkkJ0dDSZmZkApKamMnToUJYuXUpERATt2rXjpZde8nQYIiLSWJYPKi8v\ntxISEqyYmBirW7du1uzZs+0OyVY1NTVWbGysdcstt9gdiq327dtnjRo1yoqKirKio6Ot1atX2x2S\nbZ566ikrJibG6t69u3XHHXdYR44csTukFjN27FirU6dOVvfu3Wv/bO/evdagQYOsyMhIa/Dgwda+\nfftsjLDl1HUtpk6dakVFRVk9evSwRowYYe3fv7/B9/HJlcUhISHMmjWLzz77jDVr1vDcc8+dthYh\nkMyePZuYmJiAb5w/8MADDB06lM2bN1NcXEx0dLTdIdmirKyMF154gcLCQjZu3Ijb7Wbx4sV2h9Vi\nxo4dS15e3il/NmPGDAYPHszWrVu58cYbmTFjhk3Rtay6rsVNN93EZ599xoYNG7jyyiv54x//2OD7\n+GQiuOyyy4iNjQWgffv2REdHs2vXLpujssfOnTtZunQp9957b0A3z7/99ltWrFjBL37xC8BMQXbo\n0MHmqOxx/vnnExISwqFDh6ipqeHQoUN13mzhr/r378+FF154yp+dvDbp7rvvZsmSJXaE1uLquhaD\nBw8mKMh8tPfp06dRt+b7ZCI4WVlZGUVFRfTp08fuUGzx4IMPMnPmzNr/YQPVjh07uOSSSxg7diy9\ne/dm3LhxHDp0yO6wbHHRRRcxZcoULr/8cjp37swFF1zAoEGD7A7LVrt376694eTSSy/VAtX/mD9/\nPkOHDm1wnE9/ulRVVTF69Ghmz55N+/bt7Q6nxb399tt06tSJXr16BXQ1AFBTU0NhYSETJ06ksLCQ\ndu3aBUwrLCSWAAADm0lEQVT5/32lpaX85S9/oaysjF27dlFVVcXChQvtDstnOByOgJ9GBXjyySdp\n06YNd955Z4NjfTYRHDt2jFGjRnHXXXcxfPhwu8OxxapVq8jNzaVLly7ccccdfPDBB4wZM8busGzh\ndDpxOp3Ex8cDMHr0aAoLC22Oyh6ffPIJ1113HR07diQ4OJiRI0eyatUqu8Oy1aWXXsqXX34JwBdf\nfEGnTp1sjshe//d//8fSpUsb/QXBJxOBZVmkpKQQExPD5MmT7Q7HNk899RQVFRXs2LGDxYsXM3Dg\nwNr1F4HmsssuIywsjK1btwKwfPlyunXrZnNU9oiKimLNmjUcPnwYy7JYvnw5MTExdodlq6SkJBYs\nWADAggULAvbLI5jdn2fOnElOTg7nnntu417krduazsaKFSssh8Nh9ezZ04qNjbViY2OtZcuW2R2W\nrVwulzVs2DC7w7DV+vXrrbi4uCbdFuev0tPTa28fHTNmjFVdXW13SC0mOTnZ+p//+R8rJCTEcjqd\n1vz58629e/daN954Y8DdPvr9azFv3jwrIiLCuvzyy2s/OydMmNDg+zgsK8Ann0VEApxPTg2JiEjL\nUSIQEQlwSgQiIgFOiUBEJMApEYjU4Qc/+AG9evWiR48ejBw5kqqqKrtDEvEaJQKROrRt25aioiKK\ni4s5//zza7dRF/FHSgQiDejbty+lpaWA2d7h5ptvJi4ujuuvv54tW7YAcM8993DfffcRHx9P165d\neeedd+wMWaRJPH4wjYg/cbvdvPvuu9x4440AjB8/nszMTCIiIsjPz2fixIm8//77AJSXl7N27Vq2\nbdvGgAEDKC0tpU2bNnaGL9IoSgQidTh8+DC9evWisrKS8PBw7rvvPqqqqli9ejW33XZb7bjq6mrA\nbHR2++23AxAREcEVV1zB5s2b6dmzpy3xizSFEoFIHc477zyKioo4fPgwiYmJ5OTkMGjQIC644AKK\niooa9R6BvnW4tB76mypyBueddx7PPvssjzzyCO3bt6dLly689tprgNkcsbi4uPbxP/7xDyzLorS0\nlO3bt9O1a1c7QxdpNCUCkTqcvJ99bGwsERERvPrqqyxcuJB58+YRGxtL9+7dyc3NrR1/+eWXc801\n1zB06FAyMzPVH5BWQ5vOiXjA2LFjGTZsGCNHjrQ7FJEmU0UgIhLgVBGIiAQ4VQQiIgFOiUBEJMAp\nEYiIBDglAhGRAKdEICIS4JQIREQC3P8HJOZBYJAptYQAAAAASUVORK5CYII=\n", + "text": [ + "<matplotlib.figure.Figure at 0x269c250>" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4, Page 274\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math\n", + "\n", + "#Variable declaration\n", + "rhog=1.2; #Density of air in kg/m**3\n", + "myu=1.8E-5; #Viscosity of gas in kg/m s\n", + "kg=2.6E-2; #Thermal concuctivity of gas in W/m k\n", + "dp=1E-4; #Particle size in m\n", + "rhos=8920; #Density of solids in kg/m**3\n", + "Cps=390; #Specific heat capacity of the solid in J/kg K\n", + "ephsilonf=0.5; #Void fraction of the fluidized bed\n", + "umf=0.1; #Velocity at minimum fluidization condition in m/s\n", + "uo=0.1; #Superficial gas velocity in m/s\n", + "pi=3.14\n", + "\n", + "#CALCULATION\n", + "to=0; #Initial temperature of the bed\n", + "T=100; #Temperature of the bed\n", + "t=0.99*T; #Particle temperature i.e. when it approaches 1% of the bed temperature\n", + "mp=(pi/6)*dp**3*rhos; #Mass of the particle\n", + "A=pi*dp**2; #Surface area of the particle\n", + "Rep=(dp*uo*rhog)/myu; #Reynold's no. of the particle\n", + "Nubed=0.0178; #Nusselt no. from Fig.(6)\n", + "hbed1=(Nubed*kg)/dp; #Heat transfer coefficient of the bed\n", + "t1=(mp*Cps/(hbed1*A))*math.log((T-to)/(T-t));#Time needed for the particle approach 1 percentage of the bed temperature in case(a)\n", + "hbed2=140*hbed1;#Since from Fig.(6) Nup is 140 times Nubed\n", + "t2=(mp*Cps/(hbed2*A))*math.log((T-to)/(T-t));#Time needed for the particle approach 1 percentage of the bed temperature in case(b)\n", + "\n", + "#OUTPUT\n", + "print 'Case(a):Using the whole bed coefficient from Fig.(6)'\n", + "print '\\tTime needed for the particle approach 1 percentage of the bed temperature is %.0fs'%t1\n", + "print 'Case(b):Uisng the single-particle coefficient of Eqn.(25),also shown in Fig.(6)'\n", + "print '\\tTime needed for the particle approach 1 percentage of the bed temperature is %.2fs'%t2" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Case(a):Using the whole bed coefficient from Fig.(6)\n", + "\tTime needed for the particle approach 1 percentage of the bed temperature is 58s\n", + "Case(b):Uisng the single-particle coefficient of Eqn.(25),also shown in Fig.(6)\n", + "\tTime needed for the particle approach 1 percentage of the bed temperature is 0.41s\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch12.ipynb b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch12.ipynb new file mode 100755 index 00000000..1fc80a09 --- /dev/null +++ b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch12.ipynb @@ -0,0 +1,396 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:3cabb972e9b40cc3c2621280c95233b4046eb8d671e52d74d499a7e149a3d9aa" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 12 : Conversion of Gas in Catalytic Reactions" + ] + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 1, Page 293\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math\n", + "\n", + "#Variable declaration\n", + "Kr=10.; #rate constant in m**3 gas/m**3 cat s\n", + "D=2E-5; #Diffusion coefficient of gas in m**2/s\n", + "dpbar=68.; #Average partilce size in micrometers\n", + "ephsilonm=0.5; #Void fraction of fixed bed\n", + "gammab=0.005; #Ratio of volume of dispersed solids to that of bubble phase\n", + "ephsilonmf=0.55; #Void fraction at minimum fluidization condition\n", + "umf=0.006; #Velocity at minimum fluidization condition in m/s\n", + "db=0.04; #Equilibrium bubble size in m\n", + "Lm=0.7; #Length of the bed in m\n", + "uo=0.1; #Superficial gas velocity in m/s\n", + "dbed=0.26; #Diameter of the bed in m\n", + "g=9.81; #Acceleration due to gravity in square m/s**2\n", + "\n", + "#CALCULATION\n", + "ubr=0.711*(g*db)**0.5;#Rise velocity of bubble from Eqn.(6.7)\n", + "ub=uo-umf+ubr;#Velocity of bubbles in bubbling beds in Eqn.(6.8)\n", + "Kbc=4.5*(umf/db)+5.85*((D**0.5*g**0.25)/db**(5./4));#Gas interchange coefficient between bubble and cloud from Eqn.(10.27)\n", + "Kce=6.77*((D*ephsilonmf*0.711*(g*db)**0.5)/db**3)**0.5;#Gas interchange coefficient between emulsion and cloud from Eqn.(10.34)\n", + "delta=uo/ub;#Fraction of bed in bubbles from Eqn.(6.29)\n", + "fw=0.6;#Wake volume to bubble volume from Fig.(5.8)\n", + "gammac=(1-ephsilonmf)*((3/(ubr*ephsilonmf/umf-1))+fw);#Volume of solids in cloud to that of the bubble from Eqn.(6.36)\n", + "gammae=((1-ephsilonmf)*((1-delta)/delta))-gammab-gammac;#Volume of solids in emulsion to that of the bubble from Eqn.(6.35)\n", + "ephsilonf=1-(1-delta)*(1-ephsilonmf);#Void fraction of fixed bed from Eqn.(6.20)\n", + "Lf=(1-ephsilonm)*Lm/(1-ephsilonf);#Length of fixed bed from Eqn.(6.19)\n", + "Krtou=Kr*Lm*(1-ephsilonm)/uo;#Dimensionless reaction rate group from Eqn.(5)\n", + "Kf=gammab*Kr+1/((1/Kbc)+(1/(gammac*Kr+1/((1/Kce)+(1/(gammae*Kr))))));#Raction rate for fluidized bed from Eqn.(14)\n", + "XA=math.exp(-1*Kf*Lf/ub);#Conversion from Eqn.(16)\n", + "\n", + "#OUTPUT\n", + "print 'The dimnesionless reaction rate group: %f'%Krtou\n", + "print 'The reaction rate for fluidized bed: %fs**-1'%Kf\n", + "print 'Conversion: %f'%XA\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The dimnesionless reaction rate group: 35.000000\n", + "The reaction rate for fluidized bed: 1.979872s**-1\n", + "Conversion: 0.030056\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2, Page 298\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "import math\n", + "\n", + "#Variable declaration\n", + "umf=0.005; #Velocity at minimum fluidization condition in m/s\n", + "ephsilonm=0.52; #Void fraction of fixed bed\n", + "ephsilonmf=0.57; #Void fraction at minimum fluidization condition\n", + "DA=8.1E-6; #Diffusion coefficient of gas in m**2/s\n", + "DR=8.4E-6; #Diffusion coefficient of gas in m**2/s\n", + "Lm=5; #Length of the bed in m\n", + "dte=1; #Diameter of tube in m\n", + "Kr1=1.5; #rate constant in m**3 gas/m**3 cat s\n", + "Kr3=0.01; #rate constant in m**3 gas/m**3 cat s\n", + "gammab=0.005; #Ratio of volume of dispersed solids to that of bubble phase\n", + "uo=0.45; #Superficial gas velocity in m/s\n", + "db=0.05; #Equilibrium bubble size in m from Fig.(6.8)\n", + "ub=1.5; #Velocity of bubbles in bubbling bed in m/s from Fig.(6.11(a))\n", + "g=9.81; #Acceleration due to gravity in square m/s**2\n", + "\n", + "#CALCULATION\n", + "ubr=0.711*(g*db)**0.5;#Rise velocity of bubble from Eqn.(6.7)\n", + "KbcA=4.5*(umf/db)+5.85*((DA**0.5*g**0.25)/db**(5.0/4));#Gas interchange coefficient between bubble and cloud from Eqn.(10.27)\n", + "KceA=6.77*((DA*ephsilonmf*0.711*(g*db)**0.5)/db**3)**0.5;#Gas interchange coefficient between emulsion and cloud from Eqn.(10.34)\n", + "KbcR=4.5*(umf/db)+5.85*((DR**0.5*g**0.25)/db**(5./4));#Gas interchange coefficient between bubble and cloud from Eqn.(10.27)\n", + "KceR=6.77*((DR*ephsilonmf*0.711*(g*db)**0.5)/db**3)**0.5;#Gas interchange coefficient between emulsion and cloud from Eqn.(10.34)\n", + "delta=uo/ub;#Fraction of bed in bubbles from Eqn.(6.29)\n", + "fw=0.6;#Wake volume to bubble volume from Fig.(5.8)\n", + "gammac=(1-ephsilonmf)*((3/(ubr*ephsilonmf/umf-1))+fw);#Volume of solids in cloud to that of the bubble from Eqn.(6.36)\n", + "gammae=((1-ephsilonmf)*((1-delta)/delta))-gammab-gammac;#Volume of solids in emulsion to that of the bubble from Eqn.(6.35)\n", + "ephsilonf=1-(1-delta)*(1-ephsilonmf);#Void fraction of fixed bed from Eqn.(6.20)\n", + "Lf=(1-ephsilonm)*Lm/(1-ephsilonf);#Length of fixed bed from Eqn.(6.19)\n", + "Krtou=Kr1*Lm*(1-ephsilonm)/uo;#Dimensionless reaction rate group from Eqn.(5)\n", + "Kr12=Kr1;#Since the reactions are a special case of Denbigh scheme\n", + "Kr34=Kr3;\n", + "Kf1=(gammab*Kr12+1/((1/KbcA)+(1/(gammac*Kr12+1/((1/KceA)+(1/(gammae*Kr12)))))))*(delta/(1-ephsilonf));#Rate of reaction 1 for fluidized bed from Eqn.(14)\n", + "Kf3=(gammab*Kr34+1/((1/KbcR)+(1/(gammac*Kr34+1/((1/KceR)+(1/(gammae*Kr34)))))))*(delta/(1-ephsilonf));#Rate of reaction 2 for fluidized bed from Eqn.(14)\n", + "Kf12=Kf1;\n", + "Kf34=Kf3;\n", + "KfA=((KbcR*KceA/gammac**2+(Kr12+KceA/gammac+KceA/gammae)* \\\n", + " (Kr34+KceR/gammac+KceR/gammae))*delta*KbcA*Kr12*Kr34/ \\\n", + " (1-ephsilonf))/(((Kr12+KbcA/gammac)*(Kr12+KceA/gammae)+Kr12*KceA/gammac) \\\n", + " *((Kr34+KbcR/gammac)*(Kr34+KceR/gammae)+Kr34*KceR/gammac));\n", + " #Rate of raection with respect to A from Eqn.(35)\n", + "KfAR=Kr1/Kr12*Kf12-KfA;#Rate of reaction from Eqn.(34)\n", + "tou=Lf*(1-ephsilonf)/uo;#Residence time from Eqn.(5)\n", + "XA=1-math.exp(-Kf1*tou);#Conversion of A from Eqn.(26)\n", + "XR=1-((KfAR/(Kf12-Kf34))*(math.exp(-Kf34*tou)-math.exp(-Kf12*tou)));#Conversion of R from Eqn.(27)\n", + "SR=(1-XR)/XA;#Selectivity of R\n", + "\n", + "#OUTPUT\n", + "\n", + "print 'Rate of reaction 1 for fluidized bed:%.4f'%Kf1\n", + "print 'Rate of reaction 2 for fluidized bed:%.4f'%Kf3\n", + "print 'Rate of reaction 1 with respect to A:%.4f'%KfA\n", + "print 'The Conversion of Napthalene:%.0f percentage'%(XA*100);\n", + "print 'The selectivity of Phthalic anhydride:%.0f percentage'%(SR*100);\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Rate of reaction 1 for fluidized bed:0.6007\n", + "Rate of reaction 2 for fluidized bed:0.0099\n", + "Rate of reaction 1 with respect to A:0.0058\n", + "The Conversion of Napthalene:96 percentage\n", + "The selectivity of Phthalic anhydride:95 percentage\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3, Page 302\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "import math\n", + "\n", + "#Variable declaration\n", + "Kr=3.; #rate constant in m**3 gas/m**3 cat s\n", + "db=0.12; #Equilibrium bubble size in m\n", + "D=9E-5; #Diffusion coefficient of gas in m**2/s\n", + "dpbar=68; #Average partilce size in micrometers\n", + "ephsilonm=0.42; #Void fraction of fixed bed\n", + "uo=0.4; #Superficial gas velocity in m/s\n", + "Lm=0.8; #Length of the bed in m\n", + "ephsilonmf=0.45; #Void fraction at minimum fluidization condition\n", + "umf=0.21; #Velocity at minimum fluidization condition in m/s\n", + "gammab=0; #Ratio of volume of dispersed solids to that of bubble phase\n", + "g=9.81; #Acceleration due to gravity in square m/s**2\n", + "\n", + "#CALCULATION\n", + "ubr=0.711*(g*db)**0.5; #Rise velocity of bubble from Eqn.(6.7)\n", + "ub=uo-umf+ubr; #Velocity of bubbles in bubbling beds in Eqn.(6.8)\n", + "ubstar=ub+3*umf; #Rise velocity of the bubble gas from Eqn.(45)\n", + "delta=(uo-umf)/(ub+umf);#Fraction of bed in bubbles from Eqn.(6.46)\n", + "Kbe=4.5*(umf/db); #Interchange coefficient between bubble and emulsion from Eqn.(47)\n", + "Lf=Lm*(1-ephsilonm)/((1-delta)*(1-ephsilonmf));#Length of fixed bed\n", + "phi=((Kr/Kbe)**2*((1-ephsilonmf)-gammab*(umf/ubstar))**2+ \\\n", + " ((delta/(1-delta))+umf/ubstar)**2+2*(Kr/Kbe)*((1-ephsilonmf) \\\n", + " -gammab*(umf/ubstar))*((delta/(1-delta))-umf/ubstar))**0.5;\n", + " #From Eqn.(52)\n", + " \n", + "q1=0.5*Kr/umf*((1-ephsilonmf)+gammab*(umf/ubstar))+0.5*Kbe/umf* \\\n", + " (((delta/(1-delta))+umf/ubstar)-phi);#From Eqn.(50)\n", + "q2=0.5*Kr/umf*((1-ephsilonmf)+gammab*(umf/ubstar))+0.5*Kbe/umf* \\\n", + " (((delta/(1-delta))+umf/ubstar)+phi);#From Eqn.(50)\n", + " \n", + "si1=0.5-0.5*((1-delta)/delta)*(umf/ubstar-Kr/Kbe*((1-ephsilonmf)- \\\n", + " gammab*(umf/ubstar))-phi);#From Eqn.(51)\n", + "si2=0.5-0.5*((1-delta)/delta)*(umf/ubstar-Kr/Kbe*((1-ephsilonmf)- \\\n", + " gammab*(umf/ubstar))+phi);#From Eqn.(51)\n", + "XA=1-(delta/(1-delta))*(1/(uo*phi))*((1-si2)*(si1*delta*ubstar+ \\\n", + " (1-delta)*umf)*math.exp(-q1*Lf)+(si1-1)* \\\n", + " (si2*delta*ubstar+(1-delta)*umf)*math.exp(-q2*Lf));\n", + " #Conversion from Eqn.(49)\n", + " \n", + "Krtou=Kr*Lm*(1-ephsilonm)/uo;#Dimensionless reaction rate group from Eqn.(5)\n", + "\n", + "#OUTPUT\n", + "print 'COmparing the values of 1-XA = %f and Krtou = %f with Fig.(6), \\\n", + "we can conlcude that this operating condition is shown as point \\\n", + "A in Fig.(3)'%(1-XA,Krtou);\n", + "print 'Line 2 gives the locus of conversions for different values of the \\\n", + "reaction rate group for this fluidized contacting'\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "COmparing the values of 1-XA = 0.113843 and Krtou = 3.480000 with Fig.(6), we can conlcude that this operating condition is shown as point A in Fig.(3)\n", + "Line 2 gives the locus of conversions for different values of the reaction rate group for this fluidized contacting\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4, Page 305\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math\n", + "\n", + "#Variable declaration\n", + "uo=0.25; #Superficial gas velocity in m/s\n", + "db=0.025; #Equilibrium bubble size in m\n", + "Kr=1.5; #rate constant in m**3 gas/m**3 cat s\n", + "umf=0.21; #Velocity at minimum fluidization condition in m/s\n", + "Lm=0.8; #Length of the bed in m\n", + "ephsilonm=0.42; #Void fraction of fixed bed\n", + "g=9.81; #Acceleration due to gravity in square m/s**2\n", + "\n", + "#CALCULATION\n", + "ubr=0.711*(g*db)**0.5;#Rise velocity of bubble from Eqn.(6.7)\n", + "ub=uo-umf+ubr;#Velocity of bubbles in bubbling beds in Eqn.(6.8)\n", + "delta=(uo-umf)/(ub+2*umf);#Fraction of bed in bubbles from Eqn.(55) since ub/umf<<1 \n", + "XA=1-math.exp(-Kr*Lm*((1-ephsilonm)/uo)*(umf/uo)*(1-delta));#Conversion from Eqn.(57)\n", + "Krtou=Kr*Lm*(1-ephsilonm)/uo;#Dimensionless reaction rate group from Eqn.(5)\n", + "\n", + "\n", + "#OUTPUT\n", + "print 'Comparing the values of 1-XA = %f and Krtou = %f with Fig.(6), \\\n", + "we can conlcude that this operating condition is shown \\\n", + "as point B in Fig.(3)'%(1-XA,Krtou);\n", + "print 'Line 3 gives the locus of conversions for different values \\\n", + "of the reaction rate group for this fluidized contacting'\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Comparing the values of 1-XA = 0.108243 and Krtou = 2.784000 with Fig.(6), we can conlcude that this operating condition is shown as point B in Fig.(3)\n", + "Line 3 gives the locus of conversions for different values of the reaction rate group for this fluidized contacting\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5, Page 307\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math\n", + "\n", + "#Variable declaration\n", + "uo=0.3; #Superficial gas velocity in m/s\n", + "Lf=1.1; #Length of fixed bed in m\n", + "Hf=1.2; #Length of freeboard in m\n", + "db=0.04; #Equilibrium bubble size in m\n", + "umf=0.006; #Velocity at minimum fluidization condition in m/s\n", + "ephsilonmf=0.55; #Void fraction at minimum fluidization condition\n", + "gammab=0.005; #Ratio of volume of dispersed solids to that of bubble phase\n", + "Kr=10.; #rate constant in m**3 gas/m**3 cat s\n", + "D=2E-5; #Diffusion coefficient of gas in m**2/s\n", + "g=9.81; #Acceleration due to gravity in square m/s**2\n", + "\n", + "#CALCULATION\n", + "ubr=0.711*(g*db)**0.5;#Rise velocity of bubble from Eqn.(6.7)\n", + "ub=uo-umf+ubr;#Velocity of bubbles in bubbling beds in Eqn.(6.8)\n", + "Kbc=4.5*(umf/db)+5.85*((D**0.5*g**0.25)/db**(5./4));\n", + "#Gas interchange coefficient between bubble and cloud from Eqn.(10.27)\n", + "\n", + "Kce=6.77*((D*ephsilonmf*0.711*(g*db)**0.5)/db**3)**0.5;\n", + "#Gas interchange coefficient between emulsion and cloud from Eqn.(10.34)\n", + "\n", + "delta=uo/ub;#Fraction of bed in bubbles from Eqn.(6.29)\n", + "ephsilonf=1-(1-delta)*(1-ephsilonmf);#Void fraction of fixed bed from Eqn.(6.20)\n", + "fw=0.6;#Wake volume to bubble volume from Fig.(5.8)\n", + "gammac=(1-ephsilonmf)*((3.0/(ubr*ephsilonmf/umf-1))+fw);\n", + "#Volume of solids in cloud to that of the bubble from Eqn.(6.36)\n", + "\n", + "gammae=((1-ephsilonmf)*((1-delta)/delta))-gammab-gammac;\n", + "#Volume of solids in emulsion to that of the bubble from Eqn.(6.35)\n", + "\n", + "Kf=(gammab*Kr)+1.0/((1.0/Kbc)+(1.0/(gammac*Kr+1.0/((1.0/Kce)+(1.0/(gammae*Kr))))));\n", + "#Raction rate for fluidized bed from Eqn.(14)\n", + "\n", + "XA=1-math.exp(-1*Kf*Lf/ub);#Conversion at the top of dense bed from Eqn.(16)\n", + "etabed=(Kf*delta)/(Kr*(1-ephsilonf));#Reactor efficiency from Eqn.(22)\n", + "a=0.6/uo #Since uoa = 0.6s**-1 from Fig.(5)\n", + "adash=6.62; #From Fig.(5)\n", + "XA1=1-1.0/(math.exp(((1-ephsilonf)*Kr/(uo*a))*((1-math.exp(-a*Hf))- \\\n", + " ((1-etabed)/(1+(adash/a)))*(1-math.exp(-(a+adash)*Hf)))));#Conversion from Eqn.(64)\n", + "XA2=1-(1.0-XA1)*(1.0-XA);#Conversion at the exit from Eqn.(64)\n", + "\n", + "#OUTPUT\n", + "print 'The conversion:'\n", + "print '\\tAt the top pf the dense bed: %d percentage'%(XA1*100)\n", + "print '\\tAt the reactor exit: %d percentage'%(XA2*100);\n", + "\n", + "#Disclaimer: The value of kf deviate from the one given in textbook, where as it is close to the value obtained by manual calculation. \n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The conversion:\n", + "\tAt the top pf the dense bed: 96 percentage\n", + "\tAt the reactor exit: 99 percentage\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch13.ipynb b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch13.ipynb new file mode 100755 index 00000000..18536015 --- /dev/null +++ b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch13.ipynb @@ -0,0 +1,308 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:a97460b196d7b42e945dcfefc11684cc1c39c5847f8b0bdc9e3f6cdcd94bfcc3" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Chapter 13 : Heat Transfer between Fluidized Beds and Surfaces" + ] + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 1, Page 331\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "dp=57.0; #Particle size in micrometer\n", + "rhos=940.0; #Density of solids in kg/m**3\n", + "Cps=828.0; #Specific heat capacity of the solid in J/kg K\n", + "ks=0.20; #Thermal conductivity of solids in W/m k\n", + "kg=0.035; #Thermal concuctivity of gas in W/m k\n", + "umf=0.006; #Velocity at minimum fluidization condition in m/s\n", + "ephsilonmf=0.476;#Void fraction at minimum fluidization condition\n", + "do1=0.0254; #Outside diameter of tube in m\n", + "L=1;\n", + "uo=[0.05,0.1,0.2,0.35];#Superficial gas velocity in m/s\n", + "nw=[2.,3.1,3.4,3.5]; #Bubble frequency in s**-1\n", + "g=9.81; #Acceleration due to gravity in square m/s**2\n", + "\n", + "\n", + "#CALCULATION\n", + "dte=4.*do1*L/2.*L; #Hydraulic diameter from Eqn.(6.13)\n", + "db=(1+1.5)*0.5*dte; #Rise velocity of the bubble\n", + "ubr=0.711*(g*db)**0.5; #Rise velocity of bubble from Eqn.(6.7)\n", + "phib=0.19;#From Fig.(15) for ks/kg=5.7\n", + "ke=ephsilonmf*kg+(1-ephsilonmf)*ks*(1/((phib*(ks/kg))+(2/3.0)))\n", + " #Effective thermal conductivity of bed from Eqn.(3) \n", + " \n", + "n=len(uo);\n", + "i=0;\n", + "ub = [0,0,0,0]\n", + "delta = [0,0,0,0]\n", + "h = [0,0,0,0]\n", + "while i<n:\n", + " ub[i]=uo[i]-umf+ubr; #Velocity of bubbles in bubbling beds in Eqn.(6.8)\n", + " delta[i]=uo[i]/ub[i];#Fraction of bed in bubbles from Eqn.(6.29)\n", + " h[i]=1.13*(ke*rhos*(1-ephsilonmf)*Cps*nw[i]*(1-delta[i]))**0.5;\n", + " #Heat transfer coefficinet from Eqn.(18)\n", + " i=i+1;\n", + "\n", + "#OUTPUT\n", + "print 'Superficial gas velocity(m/s)',\n", + "print '\\tHeat transfer coefficient(W/m**2 k)'\n", + "i=0;\n", + "while i<n:\n", + " print '%f'%uo[i],\n", + " print '\\t\\t\\t%f'%h[i]\n", + " i=i+1;\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Superficial gas velocity(m/s) \tHeat transfer coefficient(W/m**2 k)\n", + "0.050000 \t\t\t270.297375\n", + "0.100000 \t\t\t323.421769\n", + "0.200000 \t\t\t315.487604\n", + "0.350000 \t\t\t292.370761\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2, Page 332\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "dp=80.; #Particle size in micrometer\n", + "rhos=2550.; #Density of solids in kg/m**3\n", + "Cps=756.; #Specific heat capacity of the solid in J/kg K\n", + "ks=1.21; #Thermal conductivity of solids in W/m k\n", + "kg=[0.005,0.02,0.2]; #Thermal concuctivity of gas in W/m k\n", + "ephsilonmf=0.476; #Void fraction at minimum fluidization condition\n", + "\n", + "#CALCULATION\n", + "delta=0.5*(0.1+0.3);#For a gently fluidized bed\n", + "nw=3.;#Bubble frequency in s**-1 from Fig.(5.12) at about 30cm above the distributor\n", + "n=len(kg);\n", + "i=0;\n", + "x = [0,0,0]\n", + "while i<n:\n", + " x[i]=ks/kg[i];#To find different values of ks/kg\n", + " i=i+1;\n", + "\n", + "phib=[0.08,0.10,0.20];#From Fig.(15) for different values of ks/kg\n", + "i=0;\n", + "ke = [0,0,0]\n", + "h1 =[0,0,0]\n", + "while i<n:\n", + " ke[i]=ephsilonmf*kg[i]+(1-ephsilonmf)*ks*(1/((phib[i]*(ks/kg[i]))+(2.0/3)))\n", + " #Effective thermal conductivity of bed from Eqn.(3)\n", + " \n", + " h1[i]=1.13*(ke[i]*rhos*(1-ephsilonmf)*Cps*nw*(1-delta))**0.5;#Heat transfer coefficinet from Eqn.(18)\n", + " i=i+1;\n", + "\n", + "#OUTPUT\n", + "print 'Thermal conductivity of Gas(W/m K))',\n", + "print '\\tMax. heat transfer coefficient(W/m**2 k)'\n", + "i=0;\n", + "while i<n:\n", + " print '%f'%kg[i],\n", + " print '\\t\\t\\t\\t%d'%h1[i]\n", + " i=i+1;\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Thermal conductivity of Gas(W/m K)) \tMax. heat transfer coefficient(W/m**2 k)\n", + "0.005000 \t\t\t\t324\n", + "0.020000 \t\t\t\t567\n", + "0.200000 \t\t\t\t1157\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3, Page 332\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "rhos=2700.; #Density of solids in kg/m**3\n", + "Cps=755.; #Specific heat capacity of the solid in J/kg K\n", + "ks=1.2; #Thermal conductivity of solids in W/m k\n", + "kg=0.028; #Thermal concuctivity of gas in W/m k\n", + "ephsilonmf=0.476; #Void fraction at minimum fluidization condition\n", + "dp1=10E-3; #Particle size for which h=hmax in m\n", + "hmax=250.; #Max. heat transfer coefficient in W/m**2 K \n", + "nw=5.; #Bubble frequency in s**-1\n", + "delta=0.1; #Fraction of bed in bubbles\n", + "deltaw=0.1; #Fraction of bed in bubbles in wall region\n", + "dp=2E-3; #Diameter of particle in m\n", + "\n", + "#CALCULATION\n", + "x=ks/kg;\n", + "phib=0.11;\n", + "phiw=0.17;\n", + "ke=ephsilonmf*kg+(1-ephsilonmf)*ks*(1/((phib*(ks/kg))+(2.0/3)));\n", + "#Effective thermal conductivity of bed from Eqn.(3)\n", + "\n", + "hpacket=1.13*(ke*rhos*(1-ephsilonmf)*Cps*nw/(1-deltaw))**0.5;\n", + "#Heat transfer coefficient for the packet of emulsion from Eqn.(11)\n", + "\n", + "ephsilonw=ephsilonmf;#Void fraction in the wall region\n", + "\n", + "kew=ephsilonw*kg+(1-ephsilonw)*ks*((phiw*(ks/kg)+(1.0/3))**-1);\n", + "#Effective thermal conductivity in the wall region with stagnant gas from Eqn.(4)\n", + "\n", + "y=(2*kew/dp1)+(hmax*hpacket)/(((1-deltaw)*hpacket)-hmax);\n", + "#Calculating the term alphaw*Cpg*rhog*uo from Eqn.(16) by rearranging it\n", + "\n", + "h=(1-deltaw)/((2*kew/dp+y*(dp/dp1)**0.5)**-1+hpacket**-1);\n", + "#Heat transfer coeeficient from Eqn.(11) by using the value of y \n", + "\n", + "#OUTPUT\n", + "print 'The heat transfer coefficient for paricle size of %fm = %fW/m**2 K'%(dp,h);\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The heat transfer coefficient for paricle size of 0.002000m = 194.873869W/m**2 K\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4, Page 334\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math\n", + "\n", + "#Variable declaration\n", + "Hf=4.0; #Height of freeboard in m\n", + "uo=2.4; #Superficial gas velocity in m/s\n", + "ho=350.0; #Heat transfer coefficient at the bottom of freeboard region in W/m**2 K\n", + "hg=20.0; #Heat transfer coefficient in equivalent gas stream, but free of solids in W/m**2 K\n", + "\n", + "#CALCULATION\n", + "zf=[0,0.5,1,1.5,2,2.5,3,3.5,Hf];#Height above the top of the dense bubbling fluidized bed\n", + "hr=0;#Assuming heat transfer due to radiation is negligible\n", + "a=1.5/uo;#Since decay coefficient from Fig.(7.12), a*uo=1.5s**-1 \n", + "n=len(zf);\n", + "i=0;\n", + "h = []\n", + "while i<n:\n", + " h.append((hr+hg)+(ho-hr-hg)*math.exp(-a*zf[i]/2.0));#Heat transfer coefficient from Eqn.(24) for zf=Hf\n", + " i=i+1;\n", + "\n", + "hbar=(hr+hg)+2*(ho-hr-hg)*(1-math.exp(-a*Hf/2.0))/(a*Hf);#Mean heat transfer coefficient for the 4-m high freeboard from Eqn.(26)\n", + "\n", + "#OUTPUT\n", + "print 'The required relationship is h(W/m**2 K) vs. zf(m) as in Fig.(9a)'\n", + "print 'Height above the dense bubbling fluidized bed(m))',\n", + "print '\\tHeat transfer coefficient(W/m**2 k)'\n", + "i=0;\n", + "while i<n:\n", + " print '%f'%zf[i],\n", + " print '\\t\\t\\t\\t\\t\\t%f'%h[i]\n", + " i=i+1;\n", + "\n", + "print '\\nThe mean heat transfer coefficient for the 4-m high freeboard =%d W/m**2 K'%hbar\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The required relationship is h(W/m**2 K) vs. zf(m) as in Fig.(9a)\n", + "Height above the dense bubbling fluidized bed(m)) \tHeat transfer coefficient(W/m**2 k)\n", + "0.000000 \t\t\t\t\t\t350.000000\n", + "0.500000 \t\t\t\t\t\t302.263958\n", + "1.000000 \t\t\t\t\t\t261.433158\n", + "1.500000 \t\t\t\t\t\t226.508723\n", + "2.000000 \t\t\t\t\t\t196.636271\n", + "2.500000 \t\t\t\t\t\t171.085009\n", + "3.000000 \t\t\t\t\t\t149.229857\n", + "3.500000 \t\t\t\t\t\t130.536154\n", + "4.000000 \t\t\t\t\t\t114.546583\n", + "\n", + "The mean heat transfer coefficient for the 4-m high freeboard =208 W/m**2 K\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch14.ipynb b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch14.ipynb new file mode 100755 index 00000000..24a0ffbb --- /dev/null +++ b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch14.ipynb @@ -0,0 +1,416 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:a7839feeb371e4231dbf99a0d3738674ff633956f5fb373aea54d56b513c13f8" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 14 : The RTD and Size Distribution of Solids in Fluidized Beds" + ] + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 1, Page 343" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from scipy.optimize import fsolve \n", + "import math \n", + "\n", + "#INPUT\n", + "Fo=2.7; #Feed rate in kg/min\n", + "Fof=0.9; #Feed rate of fines in feed in kg/min\n", + "Foc=1.8; #Feed rate of coarse in feed in kg/min\n", + "W=17.; #Bed weight in kg\n", + "kf=0.8; #Elutriation of fines in min**-1\n", + "kc=0.0125; #Elutriation of coarse in min**-1\n", + "\n", + "#CALCULATION\n", + "F1guess=1; #Guess value of F1\n", + "def solver_func(F1): #Function defined for solving the system\n", + " return F1-(Fof/(1.+(W/F1)*kf))-(Foc/(1.+(W/F1)*kc));#Eqn.(17)\n", + "\n", + "F1=fsolve(solver_func,F1guess)\n", + "F1f=Fof/(1.+(W/F1)*kf); #Flow rate of fines in entrained streams from Eqn.(16)\n", + "F1c=Foc/(1.+(W/F1)*kc); #Flow rate of coarse in entrained streams from Eqn.(16)\n", + "F2f=Fof-F1f; #Flow rate of fines in overflow streams from Eqn.(9)\n", + "F2c=Foc-F1c; #Flow rate of coarse in overflow streams from Eqn.(9)\n", + "tbarf=1./((F1/W)+kf); #Mean residence time of fines from Eqn.(12)\n", + "tbarc=1./((F1/W)+kc); #Mean residence time of coarse from Eqn.(12)\n", + "\n", + "#OUTPUT\n", + "print 'Flow rate in entrained stream:\\tFines:%fkg/min\\tCoarse:%fkg/min'%(F1f,F1c);\n", + "print 'Flow rate in overflow stream:\\tFines:%fkg/min\\tCoarse:%fkg/min'%(F2f,F2c);\n", + "print 'Mean residence time:\\tFines:%fmins\\tCoarse:%fmins'%(tbarf,tbarc);\n", + "\n", + "#====================================END OF PROGRAM ======================================================" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Flow rate in entrained stream:\tFines:0.100000kg/min\tCoarse:1.600000kg/min\n", + "Flow rate in overflow stream:\tFines:0.800000kg/min\tCoarse:0.200000kg/min\n", + "Mean residence time:\tFines:1.111111mins\tCoarse:8.888889mins\n" + ] + } + ], + "prompt_number": 30 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2, Page 344\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "\n", + "import math\n", + "from numpy import linspace,array,zeros\n", + "from scipy.optimize import fsolve\n", + "from matplotlib.pyplot import *\n", + "%matplotlib inline\n", + "#Variable declaration\n", + "dt=4.; #Diameter of reactor in m\n", + "ephsilonm=0.4; #Void fraction of static bed\n", + "rhos=2500.; #Density of solid in the bed in kg/m**3\n", + "Lm=1.2; #Height of static bed in m\n", + "Fo=3000; #Feed rate in kg/hr\n", + "beta1=1.2; #Increase in density of solids\n", + "dp=array([3,4,5,6,7,8,9,10,11,12,3,14,16,18,20,22,24,26,28,30])*10**-2;#Size of particles in mm\n", + "po=[0,0.3,0.8,1.3,1.9,2.6,3.5,4.4,5.7,6.7,7.5,7.8,7.5,6.3,5.0,3.6,2.4,1.3,0.5,0];#Size distribution of solids in mm**-1\n", + "k=array([0,10,9.75,9.5,8.75,7.5,6.0,4.38,2.62,1.20,0.325,0,0,0,0,0,0,0,0,0])*10**-4;#Elutriation constant in s**-1\n", + "pi=3.14;\n", + "\n", + "#CALCULATION\n", + "W=(pi/4*dt**2)*Lm*(1-ephsilonm)*rhos;#Weight of solids in bed\n", + "n=len(dp);\n", + "i=0;\n", + "F1guess=1000.;#Guess value for F1\n", + "F1c=linspace(2510,2700,10);\n", + "F1 = zeros(n)\n", + "x = zeros(n)\n", + "c = zeros(n)\n", + "a = zeros(n)\n", + "while i<n:\n", + " if k[i]==0:\n", + " x[i]=0\n", + " #break \n", + " else:\n", + " x[i]=0#(float(po[i])/(W*k[i]/float(F1)))*math.log(1.+(W*k[i]/F1)); \n", + " def solver_func(Fo):\n", + " return F1/(Lm*Fo)-x[i];\n", + "\n", + " F1[i] = fsolve(solver_func,F1guess);#Using inbuilt function fsolve for solving Eqn.(20) for F1\n", + " #c[i]=F1c[i]/(Lm*Fo);\n", + " if F1[i]==0:\n", + " a[i]=0;\n", + " else:\n", + " a[i]=(po[i]/(W*k[i]/F1[i]))*math.log(1+(W*k[i]/F1[i]));\n", + "\n", + " i=i+1;\n", + "\n", + "#plot(F1,c);\n", + "\n", + "#xtitle('F1 vs a,c','F1','a,c');\n", + "F1n=2500.;#The point were both the curves meet\n", + "F2=beta1*Fo-F1n;#Flow rate of the second leaving stream\n", + "j=0;\n", + "m=len(dp);\n", + "p1 = zeros(m)\n", + "p2 = zeros(m)\n", + "tbar = zeros(m)\n", + "while j<m:\n", + " p1[j]=(1./F1n)*((Fo*po[j])/(1.+(W/F1n)*k[j]));#Size distribution of stream 1 in mm**-1 from Eqn.(16)\n", + " p2[j]=k[j]*W*p1[j]/F2;#Size distribution of stream 2 in mm**-1 from Eqn.(7)\n", + " if p1[j]==0 and p2[j]==0:\n", + " tbar[j]=0;\n", + " elif p1[j]==0:\n", + " tbar[j]=(W*p1[j])/(F2*p2[j]);\n", + " elif p2[j]==0:\n", + " tbar[j]=(W*p1[j])/(F1n*p1[j]);\n", + " else:\n", + " tbar[j]=(W*p1[j])/(F1n*p1[j]+F2*p2[j]);#Average time in hr from Eqn.(11)\n", + " j=j+1;\n", + "\n", + "#OUTPUT\n", + "print 'Flow rate of stream 1:%fkg/hr'%F1n\n", + "print 'Flow rate of stream 2:%fkg/hr'%F2\n", + "j=0;\n", + "print 'tbar(hr)'\n", + "while j<m:\n", + " print '%f'%tbar[j]\n", + " j=j+1;\n", + "\n", + "#DISCLAIMER: The value obtained for tbar is deviating highly\n", + "#form the one given in textbook. However, the value obtained by manual calculation is close to #\n", + "#the ones obtained from the program." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n", + "Flow rate of stream 1:2500.000000kg/hr" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Flow rate of stream 2:1100.000000kg/hr\n", + "tbar(hr)\n", + "0.000000\n", + "8.962153\n", + "8.964162\n", + "8.966171\n", + "8.972205\n", + "8.982279\n", + "8.994397\n", + "9.007522\n", + "9.021824\n", + "9.033397\n", + "9.040543\n", + "9.043200\n", + "9.043200\n", + "9.043200\n", + "9.043200\n", + "9.043200\n", + "9.043200\n", + "9.043200\n", + "9.043200\n", + "0.000000\n" + ] + }, + { + "output_type": "stream", + "stream": "stderr", + "text": [ + "WARNING: pylab import has clobbered these variables: ['draw_if_interactive', 'pi']\n", + "`%pylab --no-import-all` prevents importing * from pylab and numpy\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3, Page 351\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "dp=1; #Particle size in mm\n", + "Fo=10; #Feed rate in kg/min\n", + "k=0.1; #Particle shrinkage rate in mm/min\n", + "\n", + "#CALCULATION\n", + "R=k/2; #Particle shrinkage rate in terms of radius\n", + "W=(Fo*dp/2)/(4*R); #Bed weight from Eqn.(42)\n", + "\n", + "#OUTPUT\n", + "print 'Weight of bed:%d kg' %W\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Weight of bed:25 kg\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4, Page 352\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "#Variable declaration\n", + "dpi=[1.05,0.95,0.85,0.75,0.65,0.55,0.45,0.35,0.25,0.15,0.05]; #Mean size in mm\n", + "Fo=[0,0.5,3.5,8.8,13.5,17.0,18.2,17.0,13.5,7.3,0]#*10**-2 #Feed rate in kg/s\n", + "for i in range(len(Fo)):\n", + " Fo[i] = Fo[i] * 10**-2\n", + "k=[0,0,0,0,0,0,0,0,2.0,12.5,62.5]#*10**-5;#Elutriation constant in s**-1\n", + "for i in range(len(k)):\n", + " k[i] = k[i] * 10**-5\n", + "\n", + "R=-1.58*10**-5;#Rate of particle shrinkage in mm/s\n", + "deldpi=0.1;#Size intervals in mm\n", + "\n", + "#CALCULATION\n", + "n=len(dpi);\n", + "m=1;#Starting with the largest value size interval that contains solids\n", + "W = [0]\n", + "while m<n-1:\n", + " W.append((Fo[m]-R*W[m-1]/deldpi)/(k[m]-R/deldpi-3*R/dpi[m]));#From Eqn.(33)\n", + " m=m+1;\n", + "\n", + "Wt=sum(W);#Total sum\n", + "\n", + "#OUTPUT\n", + "print '\\nTotal mass in the bed:%fkg'%Wt\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Total mass in the bed:7168.981263kg\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5, Page 353\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math\n", + "\n", + "#Variable declaration\n", + "dpi=[0.17,0.15,0.13,0.11,0.09,0.07,0.05,0.03,0.01];#Mean size of particles in mm\n", + "a=[0,0.95,2.45,5.2,10.1,23.2,35.65,20.0,2.45]#*10**-2;#Feed composition Fo(dpi)/Fo\n", + "for i in range(len(a)):\n", + " a[i] = a[i] * 10**-2\n", + "\n", + "y=[0,0,0,0,0,0,0.625,10.225,159.25]#*10**-6;#Elutriation and cyclone efficiency k(dpi)(1-eta(dpi))\n", + "for i in range(len(y)):\n", + " y[i] = y[i] * 10**-6\n", + "\n", + "\n", + "F=0.01; #Rate at which solids are withdrawn in kg/s\n", + "W=40000; #Weight of bed in kg\n", + "dp1=0.11 #Initial size in mm\n", + "dp2=0.085; #Size after shrinking in mm\n", + "dpmin=0.01; #Minimum size in mm\n", + "deldpi=2*10**-2; #Size inerval in mm\n", + "t=20.8; #Time in days\n", + "si=1;\n", + "\n", + "#CALCULATION\n", + "kdash=math.log((dp1-dpmin)/(dp2-dpmin))/(t*24*3600);#Rate of particle shrinkage from Eqn.(24)\n", + "n=len(dpi);\n", + "m=1;\n", + "Fo=0.05;#Initial value of Fo\n", + "F1 = [0];\n", + "s=0;\n", + "c=0;\n", + "t=1E-6;\n", + "R = [0]\n", + "x = [0]\n", + "F1 = [0]\n", + "while m<n:\n", + " R.append(-kdash*(dpi[m]-dpmin));#Rate of size change\n", + " x.append((a[m]*Fo-W*R[m-1]*F1[m-1]/deldpi)/(F+(W*y[m])-(W*R[m]/deldpi)-3*W*R[m]/dpi[m]));#Eqn.(34)\n", + " F1.append(x[m]*F);\n", + " c=c+x[m];\n", + " m=m+1;\n", + " if abs(c-1)<t:\n", + " break\n", + " Fo=Fo+0.0001;#Incrementing Fo\n", + "\n", + "#OUTPUT\n", + "print 'Feed rate with deldpi=%fmm is %fg/hr'%(deldpi,Fo);\n", + "i=0;\n", + "print 'Bed composition'\n", + "for i in x:\n", + " print '%f'%(i*100)\n", + " i=i+1;\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Feed rate with deldpi=0.020000mm is 0.050800g/hr\n", + "Bed composition\n", + "0.000000\n", + "0.652911\n", + "1.859952\n", + "4.400781\n", + "9.668999\n", + "25.654298\n", + "28.575890\n", + "2.317749\n", + "0.019493\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch15.ipynb b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch15.ipynb new file mode 100755 index 00000000..09c02451 --- /dev/null +++ b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch15.ipynb @@ -0,0 +1,294 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:b0605e72f5da8476b3859cf3dc90196dcbe80cabc58b8c8d37cf5b28482c7ee1" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 15 : Circulation Systems" + ] + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 1, Page 369\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math\n", + "\n", + "#Variable declaration\n", + "thalf=1; #Half life of catalyst in s\n", + "F=960; #Feed rate of oil in tons/day\n", + "W=50; #Weight of the bed in tons\n", + "a=0.5; #Activity after time equal to half life\n", + "abar=0.01; #Average activity of the catalyst\n", + "\n", + "#CALCULATION\n", + "Ka=-math.log(a)/thalf;#Rate constant is s**-1, assuming I order kinetics from Eqn.(12)\n", + "Fs=Ka*W*abar/(1-abar);#Circulation rate of solids from Eqn.(16)\n", + "x=(Fs*60*60*24.0)/F; #Circulation rate per feed of oil\n", + "\n", + "#OUTPUT\n", + "print '\\nSolid recirculation per feed of oil =%ftons of solid circulated/ton feed oil'%x\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Solid recirculation per feed of oil =31.506690tons of solid circulated/ton feed oil\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2, Page 370\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "#Variable declaration\n", + "deltaHr1=1260.; #Enthalpy change during endothermic reaction in kJ/kg\n", + "deltaHr2=-33900.; #Enthal[y change during exothermic reaction in kJ/kg\n", + "H1=703.; #Enthalpy of feed oil in kJ/kg\n", + "T1=260.; #Temperature of feed oil in degree celcius\n", + "H3=1419.; #Enthalpy of cracked product in kJ/kg\n", + "T3=500.; #Temperature of cracked product in degree celcius\n", + "Ta=20.; #Temperature of entering air in degree celcius\n", + "Cpa=1.09; #Specific heat of entering air in kJ/kg K\n", + "Cpf=1.05; #Specific heat of flue gases in kJ/kg K\n", + "Cps=1.01; #Specific heat of solids in kJ/kg K\n", + "Cpv=3.01; #Specific heat of vaporized feed in kJ/kg K\n", + "T4=[520.,540.,560.,580.,600.,620.,640.,660.]; #Temperature of flue gas in degree celcius\n", + "V=22.4; #Volume of 1 mole of Carbon dioxide gas in N-m**3\n", + "M=12.; #Molecular weight of carbon in kg\n", + "rho=1.293; #Density of carbon dioxide gas in kg/N-m**3\n", + "xa=0.21; #Mass fraction of oxygen in air\n", + "betac=0.07; #Mass fraction of carbon\n", + "\n", + "#CALCULATION\n", + "n=len(T4);\n", + "i=0;\n", + "x1 = [0,0,0,0,0,0,0,0]\n", + "x2 = [0,0,0,0,0,0,0,0]\n", + "excess_air = [0,0,0,0,0,0,0,0]\n", + "\n", + "x2min=betac*(V*rho/(M*xa));#Minimum amount of air required for complete combustion\n", + "while i<n:\n", + " x1[i]=(deltaHr1+0.93*H3-H1)/(Cps*(T4[i]-T3));#Fs/F1 by simplifying the overall energy balance\n", + " x2[i]=((0.07*(-deltaHr2)-(deltaHr1+0.93*H3-H1))/(Cpf*(T4[i]-Ta)))-0.07;#F2/F1 by simplifying the energy balance for regenerator\n", + " if x2[i]>x2min:\n", + " excess_air[i]=(x2[i]-x2min)/x2min; #Excess air used\n", + " else:\n", + " excess_air[i]=0;\n", + " i=i+1;\n", + "\n", + "#OUTPUT \n", + "print 'T4(degree celcius)',\n", + "print '\\tFs/F1',\n", + "print '\\t\\tF2/F1',\n", + "print '\\t\\tExcess air(percentage)'\n", + "i=0;\n", + "while i<n:\n", + " print '%f'%T4[i],\n", + " print '\\t\\t%f'%x1[i],\n", + " print '\\t%f'%x2[i],\n", + " print '\\t%f'%(excess_air[i]*100);\n", + " i=i+1;\n", + "\n", + "#Disclaimer: The values of F2/F1 obtained by manual calculation has close correspondance to the ones obtained as the output, whereas it deviates largely from the values given in textbook.\n", + "\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "T4(degree celcius) \tFs/F1 \t\tF2/F1 \t\tExcess air(percentage)\n", + "520.000000 \t\t92.904455 \t0.875390 \t8.807235\n", + "540.000000 \t\t46.452228 \t0.839029 \t4.287699\n", + "560.000000 \t\t30.968152 \t0.805362 \t0.102944\n", + "580.000000 \t\t23.226114 \t0.774099 \t0.000000\n", + "600.000000 \t\t18.580891 \t0.744992 \t0.000000\n", + "620.000000 \t\t15.484076 \t0.717825 \t0.000000\n", + "640.000000 \t\t13.272065 \t0.692412 \t0.000000\n", + "660.000000 \t\t11.613057 \t0.668586 \t0.000000\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3, Page 379\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "Fs=100.; #Solid flowrate in kg/s\n", + "ephsilon1=0.55;\n", + "ephsilon2=0.5;\n", + "p1=120.; #Pressure at upper level in kPa\n", + "rhos=1000.; #Density of solid in kg/m**3\n", + "rhog=1.; #Density of gas in kg/m**3\n", + "gc=1.; #Conversion factor\n", + "g=9.81; #Acceleration due to gravity in m/s**2\n", + "di=0.34; #Diameter of downcomer in m\n", + "pi=3.14;\n", + "\n", + "#CALCULATION\n", + "x=(ephsilon1/ephsilon2)*((1-ephsilon2)/(1-ephsilon1));#To find pressure at lower level using Eqn.(30)\n", + "p2=x*p1;#Pressure at lower level using Eqn.(30)\n", + "deltap=p2-p1;\n", + "ephsilonbar=0.5*(ephsilon1+ephsilon2);\n", + "deltah=(deltap*10**3*gc)/(rhos*(1-ephsilonbar)*g);#Static head height from Eqn.(28)\n", + "At=0.25*pi*di**2;#Area of downcomer\n", + "Gs=Fs/At;#Flux of solids in downcomer\n", + "Gg=Gs*(ephsilon1/(1-ephsilon1))*(rhog/rhos)*(x-1);#Required gas aeration rate from Eqn.(31)\n", + "Fg=Gg*At;#Flow rate of gas required\n", + "\n", + "#OUTPUT\n", + "print '\\nThe required flow rate of gas required for location of %fm below downcomer is %.4fkg/s'%(deltah,Fg)\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "The required flow rate of gas required for location of 5.722768m below downcomer is 0.0272kg/s\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4, Page 380\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math\n", + "\n", + "#Variable declaration\n", + "Fs=600;#Solid circulation rate in kg/s\n", + "dpbar=60;#Mean size of solids in micrometer\n", + "pA=120;#Pressure in vessel A in kPa\n", + "pB=180;#Pressure in vessel B in kPa\n", + "LfA=8;#Bed height in vessel A in m\n", + "LfB=8;#Bed height in vessel B i m\n", + "#Bulk densities in kg/m**3\n", + "rho12=100;\n", + "rho34=400;\n", + "rho45=550;\n", + "rho67=200;\n", + "rho78=200;\n", + "rho910=400;\n", + "rho1011=400;\n", + "rho1112=550;\n", + "rho13=100;\n", + "deltapdA=7;#Pressure drop across the distributor in regenerator in kPa\n", + "deltapdB=8;#Pressure drop across the distributor in reactor in kPa\n", + "deltap12=(9+4);#Friction loss and pressure difference required to accelerate the solids in transfer lines in kPa\n", + "deltap78=(15+3);#Friction loss and pressure difference required to accelerate the solids in transfer lines in kPa\n", + "deltap45=20;#Friction loss across the reactor's stripper downcomer in kPa\n", + "deltap1112=4;#Friction loss across the regenerator's downcomer in kPa\n", + "deltapvA=5;#Pressure drop assigned for the control valve in regenerator in kPa\n", + "deltapvB=15;#Pressure drop assigned for the control valve in reactor in kPa\n", + "deltah12=15;#Height of the riser in m\n", + "deltah86=30;#Height of the riser in m\n", + "deltah1011=7;#Height difference h10-h11 in m\n", + "g=9.81;#Acceleration due to gravity in m/s**2\n", + "gc=1;#Conversion factor\n", + "pi=3.14;\n", + "\n", + "#CALCULATION\n", + "Gs=900;#From Fig.(8), to find dt\n", + "dt=math.sqrt((4/math.pi)*Fs/Gs);#Diameter of the downcomer\n", + "#Height of downcomer A from Eqn.(7)\n", + "deltahA=(1/(rho1112*g))*((pB-pA)*gc*(10**3)+(deltap12+deltapdB+deltap1112+deltapvA)*gc*10**3-rho12*g*(-deltah12)-rho34*g*(-LfB)-rho1011*g*deltah1011);\n", + "#Height of downcomer B from Eqn.(8)\n", + "deltahB=(1/(rho45*g))*(-(pB-pA)*gc*10**3+(deltap45+deltapvB+deltap78+deltapdA)*gc*10**3+rho78*g*deltah86+rho910*g*LfA)\n", + "\n", + "#OUTPUT\n", + "print 'Height of downcomer for:'\n", + "print '\\tRegenerator:%d m'%deltahA\n", + "print '\\tReactor:%.1f m'%deltahB\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Height of downcomer for:\n", + "\tRegenerator:20 m\n", + "\tReactor:16.7 m\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch16.ipynb b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch16.ipynb new file mode 100755 index 00000000..e835e890 --- /dev/null +++ b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch16.ipynb @@ -0,0 +1,428 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:1a37ab741ccda7f67c7de1085d3807de9fa5a11a3111916ad9502a04f1c58721" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 16 : Design for Physical Operations" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1, Page 404\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "T=1000.; #Operating temperature of calciner in degree celcius\n", + "deltaHr=1795.; #Heat of reaction in kJ/kg\n", + "M1=0.1; #Molecular weight of Calcium carbonate in kg/mol\n", + "M2=0.056; #Molecular weight of CaO in kg/mol\n", + "M3=0.044; #Molecular weight of Carbon dioxide in kg/mol\n", + "M4=0.029; #Molecular weight of Air in kg/mol\n", + "M5=0.029; #Molecular weight of Combustion gas in kg/mol\n", + "Cp1=1.13; #Specific heat of Calcium carbonate in kJ/kg K\n", + "Cp2=0.88; #Specific heat of CaO in kJ/kg K\n", + "Cp3=1.13; #Specific heat of Carbon dioxide in kJ/kg K\n", + "Cp4=1.00; #Specific heat of Air in kJ/kg K\n", + "Cp5=1.13; #Specific heat of Calcium carbonate in kJ/kg K\n", + "Tf=20.; #Temperature of feed in degree celcius\n", + "ma=15.; #Air required per kg of fuel in kg\n", + "Hc=41800.; #Net combustion heat of fuel in kJ/kg\n", + "Tpi=20.; #Initial temperature of solids in degree C\n", + "Tgi=1000.; #Initial temperature of gas in degree C\n", + "\n", + "#CALCULATION\n", + "mc=1;#Based on 1 kg of Calcium carbonate\n", + "B=(1/(Hc-(ma+mc)*Cp5*(T-Tpi)))*(M3*Cp3*(T-Tf)+M2*Cp2*(T-Tf)+deltaHr)#Fuel consumption(kg fuel/kg calcium carbonate)\n", + "B1=B*M3/M2;#Fuel consumption(kg fuel/kg Cao)\n", + "H=Hc*B1;#Heat required for calcination\n", + "eta=deltaHr/(B*Hc);#Thermal efficiency\n", + "\n", + "#OUTPUT\n", + "print 'Fuel consumption:%f kg fuel/kg Cao'%B1\n", + "print 'Heat requirement for calcination:%f kJ/kg Cao'%H\n", + "print 'Thermal efficiency:%f percentage'%(eta*100)\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Fuel consumption:0.061731 kg fuel/kg Cao\n", + "Heat requirement for calcination:2580.366029 kJ/kg Cao\n", + "Thermal efficiency:54.657251 percentage\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2, Page 405\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "from scipy.optimize import fsolve\n", + "import math\n", + "\n", + "#INPUT\n", + "F = 400. #Feed rate of Calcium carbonate in tons/day\n", + "T = 1000. #Operating temperature of calciner in degree celcius\n", + "deltaHr = 1795.#Heat of reaction in kJ/kg\n", + "M1 = 0.1 #Molecular weight of Calcium carbonate in kg/mol\n", + "M2 = 0.056 #Molecular weight of CaO in kg/mol\n", + "M3 = 0.044 #Molecular weight of Carbon dioxide in kg/mol\n", + "M4 = 0.029 #Molecular weight of Air in kg/mol\n", + "M5 = 0.029 #Molecular weight of Combustion gas in kg/mol\n", + "Cp1 = 1.13 #Specific heat of Calcium carbonate in kJ/kg K\n", + "Cp2 = 0.88 #Specific heat of CaO in kJ/kg K\n", + "Cp3 = 1.13 #Specific heat of Carbon dioxide in kJ/kg K\n", + "Cp4 = 1.00 #Specific heat of Air in kJ/kg K\n", + "Cp5 = 1.17 #Specific heat of Combustion gas in kJ/kg K\n", + "Tf = 20. #Temperature of feed in degree celcius\n", + "ma = 15. #Air required per kg of fuel in kg\n", + "uo = 0.8 #Superficial gas velocity in m/s\n", + "Hc = 41800. #Net combustion heat of fuel in kJ/kg\n", + "Tpi = 20. #Initial temperature of solids in degree C\n", + "Tgi = 1000. #Initial temperature of gas in degree C\n", + "rhoa = 1.293 #Density of air in kg/m**3\n", + "pi = 3.14\n", + "\n", + "#CALCULATION\n", + "mc = 1. #Based on 1 kg of Calcium carbonate\n", + "Bguess = 2. #Guess value of B\n", + "def solver_func(B): #Function defined for solving the system\n", + " phi = ((ma+mc)*Cp5*B+(M3*Cp3))/Cp1\n", + " T3 = (Tpi+(phi+phi**2+phi**3)*Tgi)/(1+phi+phi**2+phi**3)\n", + " phiplus = 30.6*B\n", + " Tr = (T+Tpi*phiplus)/(1+phiplus)\n", + " return Hc*B+Cp3*(T3-Tpi)+ma*B*Cp4*(Tr-20)-(ma+mc)*Cp5*(T-Tpi)-M3*Cp3*(T-Tpi)-M2*Cp2*(T-Tpi)-deltaHr\n", + " #fn = (1/20800)*(2470-T3-13.34*(Tr-20))\n", + "\n", + "B = fsolve(solver_func,1E-6)#Using inbuilt function fsolve for solving Eqn.(23) for tou\n", + "phi = ((ma+mc)*Cp5*B+(M3*Cp3))/Cp1\n", + "#Temperature of various stages\n", + "T1 = (Tpi+(phi)*Tgi)/(1+phi)\n", + "T2 = (Tpi+(phi+phi**2)*Tgi)/(1+phi+phi**2)\n", + "T3 = (Tpi+(phi+phi**2+phi**3)*Tgi)/(1+phi+phi**2+phi**3)\n", + "phiplus = 30.6*B\n", + "Tr = (T+Tpi*phiplus)/(1+phiplus)\n", + "eta = deltaHr/(B*Hc) #Thermal efficiency\n", + "H = B*Hc/M2 #Heat requirement\n", + "#For lower heat recovery section\n", + "Ql = (F*10**3/(24*3600))*B*ma/(rhoa*(273/(Tr+273)))#Volumetric flow rate of gas in the lower heat recovery section\n", + "dtl = math.sqrt(4/pi*Ql/uo)#Diameter of lower bed\n", + "#For calcination section\n", + "Qc = (F*10**3/(24*3600))*B*ma/(rhoa*(273/(T+273)))#Volumetric flow rate of gas in the calcination section\n", + "dtc = math.sqrt(4/pi*Qc/uo)#Diameter of calcination section\n", + "#For I stage\n", + "Q1 = (F*10**3/(24*3600))*B*ma/(rhoa*(273/(T1+273)))#Volumetric flow rate of gas in the I stage\n", + "dt1 = math.sqrt(4/pi*Q1/uo)#Diameter of I stage\n", + "#For II stage\n", + "Q2 = (F*10**3/(24*3600))*B*ma/(rhoa*(273/(T2+273)))#Volumetric flow rate of gas in the II stage\n", + "dt2 = math.sqrt(4/pi*Q2/uo)#Diameter of II stage\n", + "#For III stage\n", + "Q3 = (F*10**3/(24*3600))*B*ma/(rhoa*(273/(T3+273)))#Volumetric flow rate of gas in the III stage\n", + "dt3 = math.sqrt(4/pi*Q3/uo)#Diameter of III stage\n", + "\n", + "#OUTPUT\n", + "print '\\nDiameter of lower bed:%fm'%(dtl)\n", + "print '\\nDiameter of calcination section:%fm'%(dtc)\n", + "print '\\nBed no.\\t\\t1\\t2\\t\\t3'\n", + "print '\\nDiameter(m)%f\\t%f\\t%f'%(dt1,dt2,dt3)\n", + "\n", + "#The value of diameter of each section is largely deviating from the values in the textbook. This is because the fuel consumption B have not been included in the energy balance equation. And the value of molecular weight is wrong by one decimal point.\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Diameter of lower bed:7.097814m\n", + "\n", + "Diameter of calcination section:13.351483m\n", + "\n", + "Bed no.\t\t1\t2\t\t3\n", + "\n", + "Diameter(m)12.728715\t13.270865\t13.340712\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3, Page 413\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "T=20; #Temeprature in degree C\n", + "M=0.018; #Molecular weight of water in kg/mol\n", + "Q=10; #Flow rate of dry air in m**3/s\n", + "R=82.06E-6; #Universal gas constant\n", + "pi=0.0001; #Initial moisture content in atm\n", + "pj=0.01; #Final moisture content in atm\n", + "\n", + "#CALCULATION\n", + "a=Q*(273+T)/273; #Term At*uo\n", + "b=a*M/(R*(T+273));#Term C*At*uo\n", + "#The value of slope can be found only by graphical mehtod. Hence it has been taken directly from the book(Page no.414,Fig.E3)\n", + "m=10.2;\n", + "Fo=b/m; #Flow rate of solids\n", + "Q3=(b/Fo)*(pj-pi);#Moisture content of leaving solids\n", + "\n", + "#OUTPUT\n", + "print '\\nMoisture content of leaving solids:%.3f kg H2O/kg dry solids'%Q3\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Moisture content of leaving solids:0.101 kg H2O/kg dry solids\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4, Page 422\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from scipy.optimize import fsolve \n", + "import math \n", + "\n", + "\n", + "\n", + "#INPUT\n", + "Qfi = 0.20 #Initial moisture fraction\n", + "Qfbar = 0.04 #Average final moisture fraction\n", + "rhos = 2000. #Density of solid in kg/m**3\n", + "Cps = 0.84 #Specific heat of solids in kJ/kg K\n", + "Fo = 7.6E-4 #Flow rate of solids in kg/m**3\n", + "Tsi = 20. #Inital temperature of solids in degree C\n", + "rhog = 1. #Density of gas in kg/m**3\n", + "Cpg = 1 #Specific heat of gas in kJ/kg K\n", + "uo = 0.3 #Superficial gas velocity in m/s\n", + "Tgi = 200 #Initial temperature of gas in degee C\n", + "L = 2370 #Enthalpy of liquid in kJ/kg\n", + "Cpl = 4.2 #Specific heat of liquid in kJ/kg K\n", + "dt = 0.1 #Diameter of reactor in m\n", + "Lm = 0.1 #Length of fixed bed in m\n", + "ephsilonm = 0.45 #Void fraction of fixed bed\n", + "pi = 3.14\n", + "Fo1 = 1 #Feed rate for commercial-scale reactor in kg/s\n", + "\n", + "#CALCULATION\n", + "#(a)Bed temperature\n", + "Teguess = 50#Guess value of Te\n", + "def solver_func(Te):#Function defined for solving the system\n", + " return (pi/4.)*dt**2*uo*rhog*Cpg*(Tgi-Te)-Fo*(Qfi-Qfbar)*(L+Cpl*(Te-Tsi))-Fo*Cps*(Te-Tsi)\n", + "\n", + "Te = fsolve(solver_func,Teguess)\n", + "\n", + "#(b)Drying time for a particle\n", + "xguess = 2#Guess value of x, ie term tou/tbar\n", + "def solver_func1(x): #Function defined for solving the system\n", + " return 1-(Qfbar/Qfi)-(1-math.exp(-x))/x\n", + "\n", + "\n", + "x = fsolve(solver_func1,xguess)\n", + "W = (pi/4.)*dt**2*Lm*(1-ephsilonm)*rhos#Weight of soilds in bed\n", + "tbar = W/Fo#Mean residence time of solids from Eqn.(59)\n", + "tou = tbar*x#Time for complete drying of a particle\n", + "\n", + "#(c)Commercial-scale dryer\n", + "W1 = Fo1*tbar\n", + "Atguess = 5#Guess value of area\n", + "def solver_func3(At): #Function defined for solving the system\n", + " return At*uo*rhog*Cpg*(Tgi-Te)-Fo1*(Qfi-Qfbar)*(L+Cpl*(Te-Tsi))-Fo1*Cps*(Te-Tsi)\n", + "\n", + "At = fsolve(solver_func3,Atguess)\n", + "dt1 = math.sqrt(4/pi*At)#Diameter of commercial-scale dryer\n", + "Q1 = At*uo*rhog#Flow rate necessary for the operation\n", + "\n", + "#OUTPUT\n", + "print 'Bed temperature:%f degree C'%(Te)\n", + "print 'Time for complete drying of particle:%fs'%(tou)\n", + "print 'Flow rate of gas necessary for Commercial-scale dryer:%fkg/s'%(Q1)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Bed temperature:58.728126 degree C\n", + "Time for complete drying of particle:527.431202s\n", + "Flow rate of gas necessary for Commercial-scale dryer:3.098684kg/s\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5, Page 425\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math\n", + "\n", + "#Variable Declaration\n", + "rhos=1600.; #Density of solid in kg/m**3\n", + "Cps=1.25; #Specific heat of solids in kJ/kg K\n", + "Fo=0.5; #Flow rate of solids in kg/s\n", + "Tsi=20.; #Inital temperature of solids in degree C\n", + "Qwi=1.; #Initial moisture fraction in water\n", + "Qwf=0.2; #Final moisture fraction in water\n", + "Qhi=1.1; #Initial moisture fraction in heptane\n", + "Qhf=0.1; #Final moisture fraction in heptane\n", + "Tgi=240.; #Initial temperature of gas in degee C\n", + "Te=110.; #Bed temperature in degree C\n", + "ephsilonm=0.45; #Void fraction of fixed bed\n", + "ephsilonf=0.75; #Void fraction of fluidized bed\n", + "uo=0.6; #Superficial gas velocity in m/s\n", + "di=0.08; #Diameter of tubes in m\n", + "li=0.2; #Pitch for square arrangement\n", + "hw=400.; #Heat transfer coefficient in W/m**2 K\n", + "Tc=238.; #Temperature at which steam condenses in degree C\n", + "#Specific heats in kJ/kg K\n", + "Cwl=4.18; #Water liquid\n", + "Cwv=1.92; #Water vapor\n", + "Chl=2.05; #Heptane liquid\n", + "Chv=1.67; #Heptane vapor\n", + "#Latent heat of vaporization in kJ/kg\n", + "Lw=2260.; #Water\n", + "Lh=326.; #Heptane\n", + "#Density of vapor in kg/m**3 at operating conditions\n", + "rhow=0.56; #Water\n", + "rhoh=3.1; #Heptane\n", + "Lf=1.5; #Length of fixed bed in m\n", + "t=140.; #Half-life of heptane in s\n", + "L=1.5; #Length of tubes in heat exchanger\n", + "pi=3.14;\n", + "\n", + "#CALCULATION\n", + "#(a) Dryer without Internals\n", + "xw=(Qwi-Qwf)/(Qhi-Qhf); #Water-heptane weight ratio\n", + "xv=((Qwi-Qwf)/18.)/((Qhi-Qhf)/100.); #Water-heptane volume ratio\n", + "T=(Qwi-Qwf)/18.+(Qhi-Qhf)/100.; #Total volume\n", + "rhogbar=((Qwi-Qwf)/18.)/T*rhow+((Qhi-Qhf)/100.)/T*rhoh; #Mean density of the vapor mixture\n", + "Cpgbar=(((Qwi-Qwf)/18.)/T)*rhow*Cwv+(((Qhi-Qhf)/100.)/T)*rhoh*Cwv;#Mean specific heat of vapor mixture\n", + "#Volumetric flow of recycle gas to the dryer in m**3/s from Eqn.(53)\n", + "x=(Cpgbar*(Tgi-Te))**-1*(Fo*(Qwi-Qwf)*(Lw+Cwl*(Te-Tsi))+Fo*(Qhi-Qhf)*(Lh+Chl*(Te-Tsi))+Fo*(Cps*(Te-Tsi)));\n", + "r=Fo*((Qwi-Qwf)/rhow+(Qhi-Qhf)/rhoh); #Rate of formation of vapor in bed\n", + "uo1=uo*(x/(x+r)); #Superficial velocity just above the distributor\n", + "At=x/uo1; #Cross-sectional area of bed\n", + "dt=math.sqrt(4./pi*At); #Diameter of bed\n", + "B=-math.log(Qwf/Qwi)/t; #Bed height from Eqn.(63)\n", + "tbar=((Qhi/Qhf)-1)/B; #Mean residence time of solids\n", + "W=Fo*tbar; #Weight of bed\n", + "Lm=W/(At*(1-ephsilonm)*rhos); #Static bed height\n", + "Lf=(Lm*(1-ephsilonm))/(1-ephsilonf); #Height of fluidized bed\n", + "\n", + "#(b) Dryer with internal heaters\n", + "f=1/8.0; #Flow rate is 1/8th the flow rate of recirculation gas as in part (a)\n", + "x1=f*x; #Volumetric flow of recycle gas to the dryer in m**3/s from Eqn.(53)\n", + "uo2=uo*(x1/float(x1+r)); #Superficial velocity just above the distributor\n", + "Abed=x1/uo2; #Cross-sectional area of bed\n", + "q=(Fo*(Qwi-Qwf)*(Lw+Cwl*(Te-Tsi))+Fo*(Qhi-Qhf)*(Lh+Chl*(Te-Tsi))+Fo*(Cps*(Te-Tsi)))-Abed*uo2*Cpgbar*(Tgi-Te);#Heat to be added from energy balance of Eqn.(53)\n", + "Aw=q*10**3/(hw*(Tc-Te));#Total surface area of heat exchanger tubes\n", + "Lt=Aw/(pi*di); #Total length of tubes\n", + "Nt=Lt/L; #Total number of tubes\n", + "Atubes=Nt*(pi/4*di**2); #Total cross-sectional area of tubes\n", + "Atotal=Abed+Atubes; #Total cross-sectional area of tube filled dryer\n", + "d=math.sqrt(Atotal*pi/4.);#Diameter of vessel\n", + "li=math.sqrt(Atotal/Nt); #Pitch for square array of tubes\n", + "\n", + "#OUTPUT\n", + "print '\\t\\t\\tBed diameter(m)\\tRecycle vapor flow(m**3/s)'\n", + "print 'Without internal heater\\t%f\\t%f'%(dt,x)\n", + "print 'With heating tubes\\t%f\\t%f'%(d,x1)\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\t\t\tBed diameter(m)\tRecycle vapor flow(m**3/s)\n", + "Without internal heater\t3.630144\t5.331235\n", + "With heating tubes\t1.503916\t0.666404\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch17.ipynb b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch17.ipynb new file mode 100755 index 00000000..77951e94 --- /dev/null +++ b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch17.ipynb @@ -0,0 +1,446 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:82e0373b19da96ab8fd50304caf9cd3e08cf8bad10412b0998bf9110f7a5ae63" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 17 : Design of Catalytic Reactors" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1, Page 434\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "dt=[0.081,0.205,3.6]; #Reactor diameter for the three reactors in m\n", + "dte=[0.04,0.12,0.70]; #Equivalent diameters for the three reactors in m\n", + "db=[0.05,0.057,0.07]; #Estimated bubble size in the three reactors in m\n", + "Kr1=1.3889; #Kinet1ic constant for Reaction 1 in s**-1\n", + "Kr2=0.6111; #Kinetic constant for Reaction 2 in s**-1\n", + "Kr3=0.022; #Kinetic constant for Reaction 3 in s**-1\n", + "dp=60.; #Particle size in micrometer\n", + "ephsilonm=0.50; #Void fraction of fixed bed\n", + "ephsilonmf=0.55; #Void fraction at minimum fluidized condition\n", + "umf=0.006; #Velocity at minimum fluidization condition in m/s\n", + "D=2E-5; #Diffusion coefficient of gas in m**2/s\n", + "gammab=0.005; #Ratio of volume of dispersed solids to that of bubble phase\n", + "uo=0.2; #Superficial gas velocity in m/s\n", + "XA=0.9; #Conversion\n", + "g=9.81; #Acceleration due to gravity in square m/s**2\n", + "\n", + "#CALCULATION\n", + "Kr12=Kr1+Kr2;\n", + "n=len(dt);\n", + "i=0;\n", + "ubr = [0,0,0]\n", + "ub = [0,0,0]\n", + "delta = [0,0,0]\n", + "ephsilonf = [0,0,0]\n", + "gammac = [0,0,0]\n", + "gammae = [0,0,0]\n", + "Kbc = [0,0,0]\n", + "Kce = [0,0,0]\n", + "Kf12 = [0,0,0]\n", + "Kf3 = [0,0,0]\n", + "KfA = [0,0,0]\n", + "KfAR = [0,0,0]\n", + "KfAR1 = [0,0,0]\n", + "tou = [0,0,0]\n", + "y = [0,0,0]\n", + "SR = [0,0,0]\n", + "XA1 = [0,0,0]\n", + "y1 = [0,0,0]\n", + "y2 = [0,0,0]\n", + "tou2 = [0,0,0]\n", + "Lf = [0,0,0]\n", + "Lm = [0,0,0]\n", + "XA2 = [0,0,0]\n", + "\n", + "import math\n", + "while i<n:\n", + " #Preliminary Calcualtions\n", + " ubr[i]=0.711*(g*db[i])**0.5;#Rise velocity of bubble from Eqn.(6.7)\n", + " ub[i]=1.55*((uo-umf)+14.1*(db[i]+0.005))*dte[i]**0.32+ubr[i];#Bubble velocity for Geldart A particles from Equation from Eqn.(6.11)\n", + " delta[i]=uo/ub[i];#Fraction of bed in bubbles from Eqn.(6.29)\n", + " ephsilonf[i]=1-(1-delta[i])*(1-ephsilonmf);#Void fraction of fixed bed from Eqn.(6.20)\n", + " fw=0.6;#Wake volume to bubble volume from Fig.(5.8)\n", + " gammac[i]=(1-ephsilonmf)*((3/(ubr[i]*ephsilonmf/umf-1))+fw);#Volume of solids in cloud to that of the bubble from Eqn.(6.36)\n", + " gammae[i]=((1-ephsilonmf)*((1-delta[i])/delta[i]))-gammab-gammac[i];#Volume of solids in emulsion to that of the bubble from Eqn.(6.35)\n", + " Kbc[i]=4.5*(umf/db[i])+5.85*((D**0.5*g**0.25)/db[i]**(5/4));#Gas interchange coefficient between bubble and cloud from Eqn.(10.27)\n", + " Kce[i]=6.77*((D*ephsilonmf*0.711*(g*db[i])**0.5)/db[i]**3)**0.5;#Gas interchange coefficient between emulsion and cloud from Eqn.(10.34)\n", + " #Effective rate constant from Eqn.(12.32)\n", + " Kf12[i]=(gammab*Kr12+1/((1/Kbc[i])+(1/(gammac[i]*Kr12+1/((1/Kce[i])+(1/(gammae[i]*Kr12)))))))*(delta[i]/(1-ephsilonf[i]));\n", + " #Rate of reaction 2 for fluidized bed from Eqn.(12.14)\n", + " Kf3[i]=(gammab*Kr3+1/((1/Kbc[i])+(1/(gammac[i]*Kr3+1/((1/Kce[i])+(1/(gammae[i]*Kr3)))))))*(delta[i]/(1-ephsilonf[i]));\n", + " #Rate of raection with respect to A from Eqn.(12.35)\n", + " KfA[i]=((Kbc[i]*Kce[i]/gammac[i]**2+(Kr12+Kce[i]/gammac[i]+Kce[i]/ \\\n", + " gammae[i])*(Kr3+Kce[i]/gammac[i]+Kce[i]/gammae[i]))*delta[i]*Kbc[i] \\\n", + " *Kr12*Kr3/(1-ephsilonf[i]))/(((Kr12+Kbc[i]/gammac[i])* \\\n", + " (Kr12+Kce[i]/gammae[i])+Kr12*Kce[i]/gammac[i])*((Kr3+Kbc[i]/gammac[i])* \\\n", + " (Kr3+Kce[i]/gammae[i])+Kr3*Kce[i]/gammac[i]));\n", + " KfAR[i]=((Kr1/Kr12)*Kf12[i])-KfA[i];#Rate of reaction from Eqn.(12.34)\n", + " KfAR1[i]=((Kr1/Kr12)*Kf12[i]);#Since KfA is small\n", + " #(b)Relate Selectivity with conversion in three reactors\n", + " x=-math.log(1-XA);#The term Kf12*tou in Eqn.(12.26)\n", + " tou[i]=x/Kf12[i];#Residence time from Eqn.(12.26)\n", + " y[i]=(KfAR1[i]/(Kf3[i]-Kf12[i]))*(math.exp(-x)-math.exp(-tou[i]*Kf3[i]));#CR/CAi from Eqn.(12.27)\n", + " SR[i]=y[i]/XA;#Selectivity of R\n", + " #(c)Relate exit composition to space time\n", + " tou1=5;#Space time in s\n", + " XA1[i]=1-math.exp(-Kf12[i]*tou1);#Conversion from Eqn.(12.26)\n", + " y1[i]=((KfAR1[i]/(Kf12[i]-Kf3[i]))*(math.exp(-Kf3[i]*tou1)-math.exp(-Kf12[i]*tou1)));#CR/CAi R from Eqn.(12.27)\n", + " #(d)Calculate height of bed needed to maximize production\n", + " y2[i]=(KfAR1[i]/Kf12[i])*(Kf12[i]/Kf3[i])**(Kf3[i]/(Kf3[i]-Kf12[i]));#CRmax/CAi R from Eqn.(12.37)\n", + " tou2[i]=math.log(Kf3[i]/Kf12[i])/(Kf3[i]-Kf12[i]);#Space time from Eqn.(38)\n", + " Lf[i]=(uo/(1-ephsilonf[i]))*tou2[i];#Length of bed at fully fluidized condition from Eqn.(12.5)\n", + " Lm[i]=Lf[i]*(1-ephsilonf[i])/(1-ephsilonm);#Length of bed when settled\n", + " XA2[i]=1-math.exp(-Kf12[i]*tou2[i]);#Conversion from Eqn.(12.26)\n", + " i=i+1;\n", + "\n", + "#OUTPUT\n", + "print 'Let Laboratory, Pilot plant, Semicommercial unit be Reactor 1,2 & 3 respectively'\n", + "print '(a)Relation between effective rate constant(Kf12) to the gas flow rate(uo)',\n", + "print '\\tReactor No.\\tKf12(s**-1)\\tuo(m/s)'\n", + "i=0;\n", + "while i<n:\n", + " print '\\t%1.0f'%i\n", + " print '\\t\\t%f'%Kf12[i],\n", + " print '\\t%f'%uo\n", + " i=i+1;\n", + "\n", + "print '\\n(b)Relation between selectivity with conversion'\n", + "print '\\n\\tReactor No.\\tKf12(s**-1)\\tSR(mol R formed/mol A reacted)'\n", + "i=0\n", + "while i<n:\n", + " print '\\t%1.0f'%i,\n", + " print '\\t\\t%f'%Kf12[i],\n", + " print '\\t%f'%SR[i]\n", + " i=i+1;\n", + "\n", + "print '(c)Relation between exit compostion and space time',\n", + "print '\\tReactor No.\\tXA\\t\\tCR/CAi'\n", + "i=0;\n", + "while i<n:\n", + " print '\\t%1.0f'%i,\n", + " print '\\t\\t%f'%XA1[i],\n", + " print '\\t%f'%y1[i]\n", + " i=i+1;\n", + "\n", + "print '(d)Height of bed needed to maximize the production of acrylonitrile',\n", + "print '\\tReactor No.\\tLm(m)\\t\\tXA'\n", + "i=0;\n", + "while i<n:\n", + " print '\\t%1.0f'%i,\n", + " print '\\t\\t%f'%Lm[i],\n", + " print '\\t%f'%XA2[i]\n", + " i=i+1;\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Let Laboratory, Pilot plant, Semicommercial unit be Reactor 1,2 & 3 respectively\n", + "(a)Relation between effective rate constant(Kf12) to the gas flow rate(uo) \tReactor No.\tKf12(s**-1)\tuo(m/s)\n", + "\t0\n", + "\t\t0.410042 \t0.200000\n", + "\t1\n", + "\t\t0.270620 \t0.200000\n", + "\t2\n", + "\t\t0.128980 \t0.200000\n", + "\n", + "(b)Relation between selectivity with conversion\n", + "\n", + "\tReactor No.\tKf12(s**-1)\tSR(mol R formed/mol A reacted)\n", + "\t0 \t\t0.410042 \t0.641507\n", + "\t1 \t\t0.270620 \t0.618358\n", + "\t2 \t\t0.128980 \t0.558283\n", + "(c)Relation between exit compostion and space time \tReactor No.\tXA\t\tCR/CAi\n", + "\t0 \t\t0.871292 \t0.564802\n", + "\t1 \t\t0.741562 \t0.484243\n", + "\t2 \t\t0.475286 \t0.313823\n", + "(d)Height of bed needed to maximize the production of acrylonitrile \tReactor No.\tLm(m)\t\tXA\n", + "\t0 \t\t3.056064 \t0.956404\n", + "\t1 \t\t4.137401 \t0.939139\n", + "\t2 \t\t7.049378 \t0.897005\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2, Page 438\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "deltaHr=5.15E8; #Heat of reaction in J/k mol\n", + "W=5E4; #Weight of acrylonitirle produced per 334-day year in tonnes\n", + "db=0.07; #Estimated bubble size in m\n", + "dte=0.7; #Equivalent diameter in m\n", + "Kf12=0.35; #Effective rate constant in s**-1 from Example 1\n", + "dp=60; #Particle size in micrometer\n", + "ephsilonm=0.50; #Void fraction of fixed bed\n", + "ephsilonmf=0.55;#Void fraction at minimum fluidized condition\n", + "T=460; #Temperature in reactor in degree C\n", + "Pr=2.5; #Pressure inside reactor in bar\n", + "#Feed gas composition\n", + "x1=1; #Propylene\n", + "x2=1.1; #Ammonia\n", + "x3=11; #Air\n", + "do1=0.08; #OD of heat exchanger tubes in m\\\n", + "L=7; #Length of tubes in m\n", + "ho=300; #Outside heat transfer coefficient in W/m**2 K\n", + "hi=1800; #Inside heat transfer coefficient in W/m**2 K\n", + "Tc=253.4; #Temperature of coolant in degree C\n", + "pi=3.14;\n", + "\n", + "#CALCULATION\n", + "#Preliminary calculation\n", + "uo=0.46;#Superficial gas velocity from Fig.E1(a) for the value of Kf12 & db\n", + "tou=8;#Space time from Fig.E2(b) for highest concentraion of product R\n", + "Lm=uo*tou/(1-ephsilonm);\n", + "y=0.58;#CR/CAi from Fig.E1(c) for the value of tou & Kf12\n", + "XA=0.95#From Fig.E1(c) for the value of tou & Kf12\n", + "SR=y/XA;#Selectivity of R\n", + "\n", + "#Cross-sectional area of the reactor\n", + "P=W*10**3/(334*24*3600);#Production rate of acrylonitrile\n", + "F=(P/0.053)/(SR*XA/0.042);#Feed rate of propylene\n", + "V=((F*22.4*(T+273)*(x1+x2+x3))/(42*273*Pr));\n", + "At=V/uo;#Cross-sectional area of reactor needed for the fluidized bed\n", + "\n", + "#Heat exchanger calculation\n", + "q=F*XA*deltaHr/42;#Rate of heat liberation in the reactor\n", + "U=(ho**-1+hi**-1)**-1;#Overall heat transfer coefficient\n", + "deltaT=T-Tc;#Driving force for heat transfer\n", + "Aw=q/(U*deltaT);#Heat exchanger area required to remove q\n", + "Nt=Aw/(pi*do1*L);\n", + "li1=(At/Nt)**0.5;#Pitch for square pitch arrangement\n", + "dte1=4*(li1**2-(pi/4)*do1**2)/(pi*do1);\n", + "if dte1>dte:\n", + " li=(pi/4*dte*do1+pi/4*do1**2)**0.5;#Pitch if we add dummy tubes\n", + "import math\n", + "f=li**2-pi/4*do1**2;#Fraction of bed cross section taken up by tubes\n", + "dt1=math.sqrt(4/pi*At/(1-f));#Reactor diameter including all its tubes\n", + "\n", + "#OUTPUT\n", + "print 'Superficial gas velocity=%fm/s'%uo\n", + "print 'No. of %1.0fm tubes required=%1.0f'%(L,Nt);\n", + "print 'Reactor diameter=%fm'%dt1\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Superficial gas velocity=0.460000m/s\n", + "No. of 7m tubes required=295\n", + "Reactor diameter=7.173176m\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3, Page 444\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "db=0.08; #Estimated bubble size in m\n", + "dte=2; #Equivalent diameter in m\n", + "F1=55.6; #Feed rate of oil in kg/s\n", + "XA=0.63; #Conversion\n", + "uo=0.6; #Superficial gas velocity in m/s\n", + "T1=500.0; #Temperature of reactor in degree C\n", + "T2=580.0; #Temperature of regenerator in degree C\n", + "Fs=F1*23.3; #Solid circulation rate from Ex.(15.2)\n", + "rhos=1200.0; #Density of catalyst in kg/m**3\n", + "dpbar=60.0; #Average particle size in micrometer\n", + "ephsilonm=0.50;#Void fraction of fixed bed\n", + "ephsilonmf=0.55;#Void fraction at minimum fluidized condition\n", + "umf=0.006; #Velocity at minimum fluidization condition in m/s\n", + "dt=8.0; #Diameter of reactor in m\n", + "D=2E-5; #Diffusion coefficient of gas in m**2/s\n", + "Kr=8.6; #Rate constant for reaction at 500 degree C in s**-1\n", + "Ka1=0.06; #Rate constant for deactivatiion at 500 degree C in s**-1\n", + "Ka2=0.012; #Rate constant for regeneration at 580 degree C in s**-1\n", + "gammab=0.005; #Ratio of volume of dispersed solids to that of bubble phase\n", + "g=9.81; #Acceleration due to gravity in square m/s**2\n", + "pi=3.14;\n", + "\n", + "#CALCULATION\n", + "#Parameters for the fluidized reactor\n", + "ubr=0.711*(g*db)**0.5;#Rise velocity of bubble from Eqn.(6.7)\n", + "ub=1.55*((uo-umf)+14.1*(db+0.005))*dte**0.32+ubr;#Bubble velocity for Geldart A particles from Equation from Eqn.(6.11)\n", + "delta=uo/ub;#Fraction of bed in bubbles from Eqn.(6.29)\n", + "ephsilonf=1-(1-delta)*(1-ephsilonmf);#Void fraction of fixed bed from Eqn.(6.20)\n", + "fw=0.6;#Wake volume to bubble volume from Fig.(5.8)\n", + "gammac=(1-ephsilonmf)*((3/(ubr*ephsilonmf/umf-1))+fw);#Volume of solids in cloud to that of the bubble from Eqn.(6.36)\n", + "gammae=((1-ephsilonmf)*((1-delta)/delta))-gammab-gammac;#Volume of solids in emulsion to that of the bubble from Eqn.(6.35)\n", + "Kbc=4.5*(umf/db)+5.85*((D**0.5*g**0.25)/db**(5.0/4));#Gas interchange coefficient between bubble and cloud from Eqn.(10.27)\n", + "Kce=6.77*((D*ephsilonmf*0.711*(g*db)**0.5)/db**3)**0.5;#Gas interchange coefficient between emulsion and cloud from Eqn.(10.34)\n", + "import math\n", + "#Bed height versus catalyst activity in reactor\n", + "a1bar=0.07;#Guess value for average activity in reactor\n", + "x=Kr*a1bar;#Value of Kra1 to be used in the following equation\n", + "Kf=(gammab*x+1/((1/Kbc)+(1/(gammac*x+1/((1/Kce)+(1/(gammae*x)))))))*(delta/(1-ephsilonf));#Effective rate constant from Eqn.(12.14)\n", + "tou=-math.log(1-XA)/Kf;#Space time from Eqn.(12.16)\n", + "Lm=tou*uo/(1-ephsilonm);#Length of fixed bed for guess value of a1bar\n", + "a1bar1=[0.0233,0.0465,0.0698,0.0930,0.116,0.140];#Various activity values to find Lm\n", + "x1 = [0,0,0,0,0,0]\n", + "Kf1 = [0,0,0,0,0,0]\n", + "tou1 = [0,0,0,0,0,0]\n", + "Lm1 = [0,0,0,0,0,0]\n", + "\n", + "n=len(a1bar1);\n", + "i=0;\n", + "while i<n:\n", + " x1[i]=Kr*a1bar1[i];\n", + " Kf1[i]=(gammab*x1[i]+1/((1/Kbc)+(1/(gammac*x1[i]+1/((1/Kce)+ \\\n", + " (1/(gammae*x1[i])))))))*(delta/(1-ephsilonf));\n", + " #Effective rate constant from Eqn.(12.14)\n", + " \n", + " tou1[i]=-math.log(1-XA)/Kf1[i];#Space time from Eqn.(12.16)\n", + " Lm1[i]=tou1[i]*uo/(1-ephsilonm);\n", + " #Length of fixed bed for guess value of a1bar...Condition [i]\n", + " i=i+1;\n", + "\n", + "#Find the optimum size ratio for various a1bar\n", + "Lm=[5,6,7,8,10,12];\n", + "W1 = [0,0,0,0,0,0]\n", + "t1bar = [0,0,0,0,0,0]\n", + "t2bar = [0,0,0,0,0,0]\n", + "a1bar2 = [0,0,0,0,0,0]\n", + "m=len(Lm);\n", + "i=0;\n", + "while i<m:\n", + " W1[i]=(pi/4)*dt**2*rhos*(1-ephsilonm)*Lm[i];#Bed weight\n", + " t1bar[i]=W1[i]/Fs;#Mean residence time of solids in reactor\n", + " t2bar[i]=t1bar[i]*(Ka1/Ka2)**0.5;#Mean residence time of soilds at optimum from Eqn.(16)\n", + " a1bar2[i]=(Ka2*t2bar[i])/(Ka1*t1bar[i]+Ka1*t1bar[i]*Ka2*t2bar[i]+Ka2*t2bar[i]);#From Eqn.(15)...Condition (ii)\n", + " i=i+1;\n", + "\n", + "#Final design values\n", + "Lm4=7.3;#For satisfying condition [i] & (ii)\n", + "a1bar3=0.0744;#By interpolation\n", + "x2=a1bar3*Kr;\n", + "W11=(pi/4)*dt**2*rhos*(1-ephsilonm)*Lm4;#Bed weight for reactor\n", + "t1bar1=W11/Fs;#Mean residence time of solids in reactor\n", + "a2bar=(1+Ka1*t1bar1)*a1bar3;#Average activity in regenrator from Eqn.(10)\n", + "t2bar1=t1bar1*(Ka1/Ka2)**0.5;#Mean residence time of solids in regenerator from Eqn.(16)\n", + "W2=W11*(t2bar1/t1bar1);#Bed weight for regenerator\n", + "dt2=dt*(W2/W11)**0.5;#Diameter of regenerator assuming same static bed height for reactor and regerator\n", + "\n", + "#OUTPUT\n", + "print 'Bed height versus catalyst activity in reactor'\n", + "print '\\tAverage activity',\n", + "print '\\tLength of fixed bed(m)'\n", + "i=0;\n", + "while i<n:\n", + " print '\\t%f'%a1bar1[i],\n", + " print '\\t\\t%f'%Lm1[i];\n", + " i=i+1;\n", + "\n", + "print 'Optimum size ratio for various activity in reactor'\n", + "print '\\tLength of fixed bed(m)',\n", + "print '\\tAverage activity'\n", + "i=0\n", + "while i<m:\n", + " print '\\t%f'%Lm[i],\n", + " print '\\t\\t%f'%a1bar2[i]\n", + " i=i+1;\n", + "\n", + "print 'Final design values'\n", + "print '\\tDiameter of reactor(m):%.0f'%dt\n", + "print '\\tBed weight for reactor(tons):%.0f'%(W11/10**3)\n", + "print '\\tBed weight for regenerator(tons):%.0f'%(W2/10**3)\n", + "print '\\tDiameter of regenerator(m):%.0f'%(dt2);\n", + "print '\\tSolid circulation rate(tons/hr):%f'%(Fs*3.6);\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Bed height versus catalyst activity in reactor\n", + "\tAverage activity \tLength of fixed bed(m)\n", + "\t0.023300 \t\t11.059747\n", + "\t0.046500 \t\t7.911053\n", + "\t0.069800 \t\t6.756202\n", + "\t0.093000 \t\t6.118750\n", + "\t0.116000 \t\t5.696470\n", + "\t0.140000 \t\t5.372072\n", + "Optimum size ratio for various activity in reactor\n", + "\tLength of fixed bed(m) \tAverage activity\n", + "\t5.000000 \t\t0.097879\n", + "\t6.000000 \t\t0.086112\n", + "\t7.000000 \t\t0.076871\n", + "\t8.000000 \t\t0.069420\n", + "\t10.000000 \t\t0.058149\n", + "\t12.000000 \t\t0.050026\n", + "Final design values\n", + "\tDiameter of reactor(m):8\n", + "\tBed weight for reactor(tons):220\n", + "\tBed weight for regenerator(tons):492\n", + "\tDiameter of regenerator(m):12\n", + "\tSolid circulation rate(tons/hr):4663.728000\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch18.ipynb b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch18.ipynb new file mode 100755 index 00000000..281bc4a5 --- /dev/null +++ b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch18.ipynb @@ -0,0 +1,570 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:3eba5bf9f8e98dcb46f4a3b03f9f7fa4b342f8fb2d0d8b697e9a50303c32aa8f" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 18 : The Design of Noncatalytic Gas Solid Reactors" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1, Page 456\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "xA=0.08; #Fraction of oxygen in stream\n", + "dp=[2,0.1]; #Particle diameter in mm\n", + "rhos=4130; #Density of catalyst in kg/m**3\n", + "Ds=8E-6; #Diffusion coefficient of solid in m**2/s\n", + "kc=0.02; #Reaction rate constant in m/s\n", + "P=10**5; #Pressure in bar\\\n", + "R=8.314; #Universal gas constant\n", + "T=900; #Temperature in degree C\n", + "mB=0.09745; #Molecular weight of ZnS in kg/mol\n", + "\n", + "#CALCULATION\n", + "b=2.0/3;#Stoichiometric coefficient of ZnS in the reaction equation\n", + "CA=xA*P/(R*(T+273));#Concentration of Oxygen\n", + "rhob=rhos/mB; #Molar density of pure solid\n", + "n=len(dp);\n", + "i=0;\n", + "kbar = [0,0]\n", + "tou = [0,0]\n", + "while i<n:\n", + " kbar[i]=(kc**-1+(dp[i]*10**-3/(12.0*Ds)))**-1;#Average reaction rate constant from Eqn.(11)\n", + " tou[i]=rhob*dp[i]*10**-3/(2*b*kbar[i]*CA);#Time for complete reaction in seconds from Eqn.(9)\n", + " i=i+1;\n", + "\n", + "#OUTPUT\n", + "print 'Particle Size(mm)\\tAverage rate constant(m/s)\\tTime for complete reaction(min)'\n", + "i=0;\n", + "while i<n:\n", + " print '%f\\t\\t%f\\t\\t\\t%.2f'%(dp[i],kbar[i],tou[i]/60.0);\n", + " i=i+1;\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Particle Size(mm)\tAverage rate constant(m/s)\tTime for complete reaction(min)\n", + "2.000000\t\t0.014118\t\t\t91.49\n", + "0.100000\t\t0.019592\t\t\t3.30\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2, Page 457\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "xA=0.08; #Fraction of oxygen in stream\n", + "dp=1; #Particle diameter in mm\n", + "rhos=2200; #Density of catalyst in kg/m**3\n", + "kc=0.2; #Reaction rate constant in m/s\n", + "mC=0.012; #Molecular weight of carbon in kg/mol\n", + "P=10**5; #Pressure in bar\\\n", + "R=8.314; #Universal gas constant\n", + "T=900; #Temperature in degree C\n", + "\n", + "#CALCULATION\n", + "b=1;#Stoichiometric coefficient of C in the reaction equation\n", + "CA=xA*P/(R*(T+273));#Concentration of Oxygen\n", + "rhob=rhos/mC;#Molar density of pure solid reactant\n", + "tou=rhob*10**-3/(2*b*kc*CA);#Time required for complete reaction in seconds\n", + "\n", + "#OUTPUT\n", + "print 'The time required for complete combustion:%.1fmins'%(tou/60);" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The time required for complete combustion:9.3mins\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3, Page 462\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from scipy.optimize import fsolve \n", + "import math \n", + "from numpy import zeros\n", + "\n", + "\n", + "#INPUT\n", + "dp = 110.;#Particle size in micrometer\n", + "T = 900.;#Temperature of roaster in degree C\n", + "tbar1 = [3.,10.,30.,50.];#Reported average time in min\n", + "XBbarr = [0.840,0.940,0.985,0.990];#Reported value of average conversion\n", + "tbar = 3.;\n", + "XBbar = 0.840;#Average conversion for tbar = 3 mins\n", + "\n", + "#CALCULATION\n", + "#Uniform-Reaction Model\n", + "x = (1./tbar)*(1./(1-XBbar)-1);#Term KrCA of Eqn.(20)\n", + "n = len(tbar1);\n", + "i = 0;\n", + "XBbar1 = zeros(n)\n", + "while i< n:\n", + " XBbar1[i] = 1-1./(1+x*tbar1[i]);#Average conversion umath.sing calculated value of KrCA from Eqn.(20)\n", + " i = i+1;\n", + "\n", + "#Shrinking-Core, Rection Control\n", + "touguess = 2;#Guess value of tou\n", + "def solver_func(tou):#Function defined for solving the system\n", + " return (1-XBbar)-(0.25*tou/tbar)+(0.05*(tou/tbar)**2)-((1./120)*(tou/tbar)**3);\n", + "\n", + "tou = fsolve(solver_func,touguess)\n", + "i = 0;\n", + "XBbar2 = zeros(n)\n", + "while i<n:\n", + " XBbar2[i] = 1-(0.25*tou/tbar1[i])+(0.05*(tou/tbar1[i])**2)-((1./120)*(tou/tbar1[i])**3);#Average conversion umath.sing calculated value of tou from Eqn.(23)\n", + " i = i+1;\n", + "\n", + "#Shrinking-Core, Diffusion Control\n", + "touguess1 = 2;#Guess value of tou\n", + "def solver_func1(tou): #Function defined for solving the system\n", + " fn = (1-XBbar)-(1./5*tou/tbar)+(19./420*(tou/tbar)**2)-(41./4620*(tou/tbar)**3)+(0.00149*(tou/tbar)**4);\n", + "\n", + "tou1 = fsolve(solver_func1,touguess1)\n", + "i = 0;\n", + "XBbar3 = zeros(n)\n", + "while i< n:\n", + " #Average conversion umath.sing calculated value of tou from Eqn.(23)\n", + " XBbar3[i] = 1-(1./5*tou1/tbar1[i])+(19./420*(tou1/tbar1[i])**2)-(41./4620*(tou1/tbar1[i])**3)+(0.00149*(tou1/tbar)**4);\n", + " i = i+1;\n", + "\n", + "#OUTPUT\n", + "print '\\t\\t\\t\\tXBbar calculated for Models';\n", + "print 'Reported Data';\n", + "print 'tbarmin)\\tXBbar\\tUniform Reaction\\tShrinking-Core%( Rection Control\\t\\tShrinking-Core, Diffusion Control'\n", + "i = 0\n", + "while i< n:\n", + " print '%f\\t%f\\t%f\\t\\t%f\\t\\t\\t\\t%f'%(tbar1[i],XBbarr[i],XBbar1[i],XBbar2[i],XBbar3[i]);\n", + " i = i+1;\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\t\t\t\tXBbar calculated for Models\n", + "Reported Data\n", + "tbarmin)\tXBbar\tUniform Reaction\tShrinking-Core%( Rection Control\t\tShrinking-Core, Diffusion Control\n", + "3.000000\t0.840000\t0.840000\t\t0.840000\t\t\t\t0.884437\n", + "10.000000\t0.940000\t0.945946\t\t0.947234\t\t\t\t0.962033\n", + "30.000000\t0.985000\t0.981308\t\t0.981898\t\t\t\t0.987159\n", + "50.000000\t0.990000\t0.988701\t\t0.989075\t\t\t\t0.992366\n" + ] + }, + { + "output_type": "stream", + "stream": "stderr", + "text": [ + "/usr/lib/python2.7/dist-packages/scipy/optimize/minpack.py:227: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " warnings.warn(msg, RuntimeWarning)\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4, Page 462\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from scipy.optimize import fsolve \n", + "import math \n", + "from numpy import zeros\n", + "\n", + "\n", + "#INPUT\n", + "W = 1; #Bed weight in kg\n", + "F1 = 0.01; #Solid feed rate in kg/min\n", + "dp = [200.,600.]; #Particle size in micrometer\n", + "XBbar = [0.85,0.64]; #Average conversion for corresponding particle sizes\n", + "rhos = 2500.; #Density of solid in kg/m**3\n", + "ephsilonm = 0.4; #Void fracton of fixed bed\n", + "F11 = 4.; #Feed rate of solids in tons/hr\n", + "XBbar1 = 0.98;\n", + "dp1 = 600.;\n", + "pi = 3.14;\n", + "\n", + "#CALCULATION\n", + "#Shrinking-Core, Rection Control\n", + "n = len(dp);\n", + "i = 0;\n", + "touguess = 2;#Guess value of tou\n", + "tou = zeros(n)\n", + "while i< n:\n", + " def solver_func2(t): #Function defined for solving the system\n", + " return (1-XBbar[i])-(0.25*t/107)+(0.05*(t/107.)**2)-((1./120)*(t/107.)**3)\n", + " tou[i] = fsolve(solver_func2,touguess)\n", + " i = i+1;\n", + "\n", + "tou1 = tou[1];\n", + "#For a math.single stage fluidized roaster\n", + "tbar1 = 0.25*(tou1/(1-XBbar1))/60.; #Mean residence time of solids in reactor in hr from Eqn.(24)\n", + "W1 = F11*tbar1;\n", + "dtguess = 2.; #Guess value of tou\n", + "def solver_func3(dt): #Function defined for solving the system\n", + " return W1*10**3-(pi/4.)*dt**2*0.5*dt*rhos*(1-ephsilonm);#Since Lm = 0.5dt\n", + "\n", + "dt = fsolve(solver_func3,dtguess)\n", + "Lm = dt/2.;#Length of bed required\n", + "\n", + "#For a two-stage fluidized roaster\n", + "tbar2 = tou1*math.sqrt(1./(20*(1-XBbar1)))/60; #Mean residence time of solids in reactor in hr from Eqn.(30)\n", + "W2 = F11*tbar2;\n", + "dtguess1 = 2; #Guess value of tou\n", + "def solver_func4(dt): #Function defined for solving the system\n", + " return W2*10**3-(pi/4.)*dt**2*0.5*dt*rhos*(1-ephsilonm); #Since Lm = 0.5dt\n", + "\n", + "dt1 = fsolve(solver_func4,dtguess)\n", + "Lm1 = dt1/2.; #Length of bed required\n", + "\n", + "#OUTPUT\n", + "print 'Single stage fluidized roaster';\n", + "print '\\tWeight of bed needed:%ftons'%(W1);\n", + "print '\\tDiameter of reactor:%fm'%(dt);\n", + "print '\\tLength of bed:%fm'%(Lm);\n", + "print 'Two-stage fluidized roaster';\n", + "print '\\tWeight of bed needed:%ftons'%(W2);\n", + "print '\\tDiameter of reactor:%fm'%(dt1);\n", + "print '\\tLength of bed:%fm'%(Lm1);\n", + "print 'These results show that this operation can be accomplished in a math.single bed of %ftons or in two beds of %f tons each.'%(W1,W2);\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Single stage fluidized roaster\n", + "\tWeight of bed needed:174.370805tons\n", + "\tDiameter of reactor:6.665728m\n", + "\tLength of bed:3.332864m\n", + "Two-stage fluidized roaster\n", + "\tWeight of bed needed:22.056356tons\n", + "\tDiameter of reactor:3.346064m\n", + "\tLength of bed:1.673032m\n", + "These results show that this operation can be accomplished in a math.single bed of 174.370805tons or in two beds of 22.056356 tons each.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5, Page 468\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from scipy.optimize import fsolve \n", + "import math \n", + "from numpy import zeros\n", + "\n", + "#INPUT\n", + "T = 900; #Temperature in roaster in degree C\n", + "P = 101325; #Pressure in Pa\n", + "R = 8.314; #Universal gas consmath.tant\n", + "dpbar = 150; #Average particle size in micrometer\n", + "rhosbar = 4130; #Average particle density in kg/m**3\n", + "kc = 0.015 #Rate consmath.tant in m/s for reaction which follows shrinking core model\n", + "Ds = 8E-6; #Diffusion coefficient of solid in m**2/s\n", + "uo = 0.6; #Superficial gas velocity in m/s\n", + "D = 2.3E-4; #Diffusion coefficient of gas in m**2/s\n", + "Lm = 1; #Length of fixed bed in m\n", + "dte = 0.4; #Equivalent diameter of bed\n", + "umf = 0.025; #Velocity at minimum fluidization condition in m/s\n", + "ephsilonm = 0.45; #Void fraction of fixed bed\n", + "ephsilonmf = 0.50; #Void fraction at minimum fluidized condition\n", + "db = 0.2; #Estimated bubble size in m\n", + "gammab = 0.005; #Ratio of volume of print ersed solids to that of bubble phase\n", + "Fo = 2; #Feed rate of solids in kg/s\n", + "XA = 0.6677; #Conversion of Oxygen\n", + "xA = 0.21; #Mole fraction of oxygen in feed\n", + "mB = 0.09744; #Molecular weight of ZnS\n", + "F = 0.85; #Fraction of open area\n", + "g = 9.81; #Acceleration due to gravity in square m/s**2\n", + "pi = 3.14;\n", + "\n", + "#CALCULATION\n", + "#(a)Extreme Calculation\n", + "a = 3./2;#Stoichiometric coefficient of Oxygen in the reaction equation\n", + "At = (Fo/mB)*(a)/(uo*(273./(T+273))*(XA*xA)/0.0224);\n", + "dt = math.sqrt(At/F*4/pi);\n", + "\n", + "#(b)The Three-Step Procedure\n", + "#Step 1. Conversion of gas\n", + "ubr = 0.711*(g*db)**0.5; #Rise velocity of bubble from Eqn.(6.7)\n", + "ub = 1.6*((uo-umf)+1.13*db**0.5)*dte**1.35+ubr; #Bubble rise velocity for Geldart B particle\n", + "\n", + "delta = uo/ub;#Fraction of bed in bubbles from Eqn.(6.29)\n", + "ephsilonf = 1-(1-delta)*(1-ephsilonmf); #Void fraction of fixed bed from Eqn.(6.20)\n", + "\n", + "fw = 0.15;#Wake volume to bubble volume from Fig.(5.8)\n", + "gammac = (1-ephsilonmf)*((3/(ubr*ephsilonmf/umf-1))+fw); #Volume of solids in cloud to that of the bubble from Eqn.(6.36)\n", + "gammae = ((1-ephsilonmf)*((1-delta)/delta))-gammab-gammac; #Volume of solids in emulsion to that of the bubble from Eqn.(6.35)\n", + "Kbc = 4.5*(umf/db)+5.85*((D**0.5*g**0.25)/db**(5./4)); #Gas interchange coefficient between bubble and cloud from Eqn.(10.27)\n", + "Kce = 6.77*((D*ephsilonmf*0.711*(g*db)**0.5)/db**3)**0.5; #Gas interchange coefficient between emulsion and cloud from Eqn.(10.34)\n", + "x = delta*Lm*(1-ephsilonm)/((1-ephsilonf)*uo); #Term Lf/ub of Eqn.(12.16) from Eqn.(6.19)\n", + "CAi = xA*P/(R*(T+273)); #Initial concentration of oxygen\n", + "\n", + "#Step 2.Conversion of solids\n", + "rhob = rhosbar/mB; #Density of ZnS\n", + "kbar = (kc**-1+(dpbar*10**-6/(12*Ds))**-1)**-1; #Modified rate consmath.tant from Eqn.(11)\n", + "tbar = At*Lm*(1-ephsilonm)*rhosbar/Fo; #Mean residence time of solids\n", + "Krguess = 2; #Guess value of Kr\n", + "def solver_func(Kr): #Function defined for solving the system\n", + " Kf = gammab*Kr+1/((1./Kbc)+(1./(gammac*Kr+1/((1./Kce)+(1./(gammae*Kr)))))); #Reaction rate for fluidized bed from Eqn.(14)\n", + " XA = 1-math.exp(-x*Kf); #Conversion of oxygen from Eqn.(42)\n", + " CAbar = (CAi*XA*uo)/(Kr*Lm*(1-ephsilonm)); #Average concentration of oxygen from Eqn.(43)\n", + " tou = rhob*dpbar*10**-6*a/(2*kbar*CAbar); #Time for complete reaction from Eqn.(9)\n", + " y = tbar/tou;#Term tbar/tou\n", + " XBbar = 3*y-6*y**2+6*y**3*(1-math.exp(-1/y)); #Average conversion of ZnS from Eqn.(22)\n", + " #Step 3. Material balance of both streams\n", + " return (Fo/mB)*XBbar-(At*uo*CAi*XA/a); #From Eqn.(44b)\n", + "\n", + "Kr = fsolve(solver_func,Krguess)\n", + "Kf = gammab*Kr+1/((1/Kbc)+(1/(gammac*Kr+1/((1/Kce)+(1/(gammae*Kr)))))); #Reaction rate for fluidized bed from Eqn.(14)\n", + "XA = 1-math.exp(-x*Kf); #Conversion of oxygen from Eqn.(42)\n", + "CAbar = (CAi*XA*uo)/(Kr*Lm*(1-ephsilonmf)); #Average concentration of oxygen from Eqn.(43)\n", + "tou = rhob*dpbar*10**-6*a/(2*kbar*CAbar); #Time for complete reaction from Eqn.(9)\n", + "y = tbar/tou; #Term tbar/tou\n", + "XBbar = 3*y-6*y**2+6*y**3*(1-math.exp(-1/y)); #Average conversion of ZnS from Eqn.(22)\n", + "\n", + "\n", + "#(c) For other feed rates of solids\n", + "F1 = [2,2.5,3,3.5];#Various feed rates of solids in kg/s\n", + "n = len(F1)\n", + "i = 0;\n", + "tbar1 = zeros(n)\n", + "Kr1 = zeros(n)\n", + "XA1 = zeros(n)\n", + "y1 = zeros(n)\n", + "tou1 = zeros(n)\n", + "XBbar1 = zeros(n)\n", + "Kf1 = zeros(n)\n", + "CAbar1 = zeros(n)\n", + "Krguess1 = 2; #Guess value of Kr\n", + "while i< n:\n", + " tbar1[i] = At*Lm*(1-ephsilonm)*rhosbar/F1[i];#Mean residence time of solids\n", + " def solver_func1(Kr): #Function defined for solving the system\n", + " Kf1 = gammab*Kr+1/((1/Kbc)+(1/(gammac*Kr+1/((1/Kce)+(1/(gammae*Kr))))));#Reaction rate for fluidized bed from Eqn.(14)\n", + " XA1 = 1-math.exp(-x*Kf1);#Conversion of oxygen from Eqn.(42)\n", + " CAbar1 = (CAi*XA1*uo)/(Kr*Lm*(1-ephsilonm));#Average concentration of oxygen from Eqn.(43)\n", + " tou1 = rhob*dpbar*10**-6*a/(2*kbar*CAbar1);#Time for complete reaction from Eqn.(9)\n", + " y1[i] = tbar1[i]/tou1;#Term tbar/tou\n", + " XBbar1[i] = 3*y1[i]-6*y1[i]**2+6*y1[i]**3*(1-math.exp(-1/y1[i]));#Average conversion of ZnS from Eqn.(22)\n", + " #Step 3. Material balance of both streams\n", + " return (F1[i]/mB)*XBbar1[i]-(At*uo*CAi*XA1/a);#From Eqn.(44b)\n", + "\n", + " Kr1[i] = fsolve(solver_func1,Krguess1)\n", + " Kf1[i] = gammab*Kr1[i]+1/((1/Kbc)+(1/(gammac*Kr1[i]+1/((1/Kce)+(1/(gammae*Kr1[i]))))));#Reaction rate for fluidized bed from Eqn.(14)\n", + " XA1[i] = 1-math.exp(-x*Kf1[i]);#Conversion of oxygen from Eqn.(42)\n", + " CAbar1[i] = (CAi*XA1[i]*uo)/(Kr1[i]*Lm*(1-ephsilonmf));#Average concentration of oxygen from Eqn.(43)\n", + " tou1[i] = rhob*dpbar*10**-6*a/(2*kbar*CAbar1[i]);#Time for complete reaction from Eqn.(9)\n", + " y1[i] = tbar1[i]/tou1[i];#Term tbar/tou\n", + " XBbar1[i] = 3*y1[i]-6*y1[i]**2+6*y1[i]**3*(1-math.exp(-1/y1[i]));#Average conversion of ZnS from Eqn.(22)\n", + " i = i+1;\n", + "\n", + "#OUTPUT\n", + "print 'Extreme Calculation';\n", + "print '\\tDiameter of tube with all its internals:%fm'%(dt);\n", + "print 'Three step procedure';\n", + "print '\\tConversion of ZnS:%f'%(XBbar);\n", + "print 'For other feed rates of solids';\n", + "print '\\tFeedkg/s\\ttbars\\t\\tXBbar/XA\\tKrbars**-1\\tCAbar/CAi\\ttous\\t\\tXA\\t\\tXB';\n", + "i = 0;\n", + "while i< n:\n", + " print '\\t%f\\t%f\\t%f\\t%f\\t%f\\t%f\\t%f\\t%f'%(F1[i],tbar1[i],XBbar1[i]/XA1[i],Kr1[i],CAbar1[i]/CAi,tou1[i],XA1[i],XBbar1[i]);\n", + " i = i+1;\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Extreme Calculation\n", + "\tDiameter of tube with all its internals:7.265465m\n", + "Three step procedure\n", + "\tConversion of ZnS:0.992491\n", + "For other feed rates of solids\n", + "\tFeedkg/s\ttbars\t\tXBbar/XA\tKrbars**-1\tCAbar/CAi\ttous\t\tXA\t\tXB\n", + "\t2.000000\t40003.518104\t1.498777\t6.529973\t0.121691\t1208.748626\t0.662201\t0.992491\n", + "\t2.500000\t32002.814483\t1.201348\t23.149964\t0.041993\t3502.838402\t0.810111\t0.973225\n", + "\t3.000000\t26669.012069\t1.007581\t76.183481\t0.014228\t10338.227251\t0.903294\t0.910141\n", + "\t3.500000\t22859.153202\t0.871565\t146.263086\t0.007742\t18998.458994\t0.943693\t0.822490\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 6, Page 471\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from scipy.optimize import fsolve \n", + "import math \n", + "\n", + "\n", + "#INPUT\n", + "T = 900; #Temperature in roaster in degree C\n", + "P = 101325; #Pressure in Pa\n", + "R = 8.314; #Universal gas consmath.tant\n", + "dp = 750; #Particle size in micrometer5\n", + "Fo = 2.5; #Feed rate of solids in kg/s\n", + "uo = 0.6; #Superficial gas velocity in m/s\n", + "W = 80140; #Weight of bed in kg\n", + "ephsilonmf = 0.50; #Void fraction at minimum fluidized condition\n", + "umf = 0.5; #Velocity at minimum fluidization condition in m/s\n", + "db = 0.2; #Estimated bubble size in m\n", + "g = 9.81; #Acceleration due to gravity in square m/s**2\n", + "Lm = 1; #Length of fixed bed in m\n", + "ephsilonm = 0.45; #Void fraction of fixed bed\n", + "xA = 0.21; #Mole fraction of oxygen in feed\n", + "kc = 0.015 #Rate consmath.tant in m/s for reaction which follows shrinking core model\n", + "Ds = 8E-6; #Diffusion coefficient of solid in m**2/s\n", + "rhosbar = 4130; #Average particle density in kg/m**3\n", + "mB = 0.09744; #Molecular weight of ZnS\n", + "a = 3./2; #Stoichiometric coefficient of Oxygen in the reaction equation\n", + "\n", + "#CALCULATION\n", + "#Selection of models to represent reactor\n", + "ubr = 0.711*(g*db)**0.5; #Rise velocity of bubble from Eqn.(6.7)\n", + "f = ubr/(umf/ephsilonmf);\n", + "\n", + "#Step 1.\n", + "ub = uo-umf+ubr; #Rise velocity of bubbles from Eqn.(6.8)\n", + "delta = (uo-umf)/(ub+2*umf); #Fraction of the bed in bubbles from Eqn.(6.26)\n", + "Krguess = 2; #Guess value of Kr\n", + "x = Lm*(1-ephsilonm)*umf*(1-delta)/uo**2;\n", + "CAi = xA*P/(R*(T+273)); #Initial concentration of oxygen\n", + "\n", + "#Step 2.\n", + "kbar = (kc**-1+(dp*10**-6/(12*Ds))**-1)**-1; #Modified rate consmath.tant from Eqn.(11)\n", + "tbar = W/Fo; #Mean residence time of solids from Eqn.(14.2)\n", + "rhob = rhosbar/mB; #Density of ZnS\n", + "def solver_func1(Kr): #Function defined for solving the system\n", + " XA = 1-math.exp(-x*Kr); #Conversion from Eqn.(42)\n", + " CAbar = (CAi*XA*uo**2)/(Kr*Lm*(1-ephsilonm)*umf*(1-delta)); #Average concentration of oxygen from Eqn.(43)\n", + " tou = rhob*dp*10**-6*a/(2*kbar*CAbar); #Time for complete reaction from Eqn.(9)\n", + " y = tbar/tou; #Term tbar/tou\n", + " XBbar = 3*y-6*y**2+6*y**3*(1-math.exp(-1./y)); #Average conversion of ZnS from Eqn.(22)\n", + " return XBbar-1.2*XA; #From Table E5, for Fo = 2.5kg/s\n", + "\n", + "Kr = fsolve(solver_func1,Krguess)\n", + "XA = 1-math.exp(-x*Kr); #Conversion from Eqn.(42)\n", + "CAbar = (CAi*XA*uo**2)/(Kr*Lm*(1-ephsilonm)*umf*(1-delta)) #Average concentration of oxygen from Eqn.(43)\n", + "tou = rhob*dp*10**-6*a/(2*kbar*CAbar); #Time for complete reaction from Eqn.(9)\n", + "y = tbar/tou; #Term tbar/tou\n", + "XBbar = 3*y-6*y**2+6*y**3*(1-math.exp(-1./y)); #Average conversion of ZnS from Eqn.(22)\n", + "\n", + "#OUTPUT\n", + "print 'Selection of models to represent reactor';\n", + "print '\\tSince ratio ubr/umf/ephsilonmf) = %f <1 the reactor is operating in slow bubble regime'%(f);\n", + "print '\\tSince particle size = %f micrometer they react according to shrinking-core model'%(dp);\n", + "print '\\tConversion obtained for %f micrometer particle:%f'%(dp,XBbar);\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Selection of models to represent reactor\n", + "\tSince ratio ubr/umf/ephsilonmf) = 0.995908 <1 the reactor is operating in slow bubble regime\n", + "\tSince particle size = 750.000000 micrometer they react according to shrinking-core model\n", + "\tConversion obtained for 750.000000 micrometer particle:0.988127\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch3.ipynb b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch3.ipynb new file mode 100755 index 00000000..72abab33 --- /dev/null +++ b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch3.ipynb @@ -0,0 +1,267 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:c2d23a740208e3823c43d8afcfc0ef305894f28fcd5f9e9793f1f1c6fe8b25f1" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 3 : Fluidization and Mapping of Regimes" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1, Page 68\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "weight = [0,60,150,270,330,360.0]; # Weight in grams for the oversized particles\n", + "psize = [50,75,100,125,150,175]; #PSD in micrometers\n", + "\n", + "#CALCULATION\n", + "l = len(psize); # To obtain the size of input array\n", + "# Computation of sauter mean diameter for the given PSD\n", + "i = 0;\n", + "dpi = [0,0,0,0,0,0]\n", + "weightf = [0,0,0,0,0,0]\n", + "dp = [0,0,0,0,0,0]\n", + "while i<l-1:\n", + " dpi[i]=(psize[i]+ psize[i+1])/2.0;\n", + " weightf[i]=(weight[i+1]-weight[i])/weight[5]; \n", + " dp[i]=weightf[i]/float(dpi[i]); \n", + " i=i+1;\n", + "\n", + "dpbar=1/sum(dp); #Calculation of average particle daimeter Eq.(15)\n", + "\n", + "#OUTPUT\n", + "print '\\n The Sauter mean diameter of the material with the given particle size distribution = %.0f micrometer'%dpbar\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + " The Sauter mean diameter of the material with the given particle size distribution = 98 micrometer\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2, Page 76\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Estimation of Minimum fluidizing velocity\n", + "\n", + "#INPUT\n", + "ephsilon=0.55; #Void fraction of bed\n", + "rhog=0.0012; #Density of gas in g/cc\n", + "myu=.00018; #Viscosity of gas in g/cm s\n", + "dpbar=0.016; #Mean diameter of solids in centimeter\n", + "phis=0.67; #Sphericity of solids\n", + "rhos=2.6; #Density of solids in g/cc\n", + "g=980; #Acceleration due to gravity in square cm/s**2\n", + "\n", + "#CALCULATION\n", + "#Computation of umf using the simplified equation for small particles\n", + "umf=((dpbar**2)*(rhos-rhog)*g*(ephsilon**3)*(phis**2))/(150*myu*(1-ephsilon));#Simplified equation to calculate minimum fluidizing velocity \n", + " #for small particles Eq.(21)\n", + "Re=(dpbar*umf*rhog)/myu;#To calculate Reynolds number for particle\n", + "\n", + "#Computation of umf if neither void fraction of bed nor sphericity is known\n", + "c1=28.7\n", + "c2=0.0494; #Value of constants from Table 4, page 70\n", + "umf1=(myu/(dpbar*rhog))*(((c1**2)+((c2*(dpbar**3)*rhog*(rhos-rhog)*g)/(myu**2)))**0.5-c1); #Equation to calculate minimum fluidizing velocity \n", + " #for coarse particles Eq.(25)\n", + "err=((umf-umf1)/umf)*100; #Calculation of error from experimental value\n", + "\n", + "#OUTPUT\n", + "if Re<20:\n", + "\tprint 'The particle Reynolds no = %f'%Re\n", + "\tprint 'The simplified equation used for calculating minimum fluidizing velocity is valid.'\n", + "\n", + "print 'The minimum fluidizing velocity by simplified equation for small particles = %.2fcm/s'%umf\n", + "print 'The minimum fluidizing velocity by equation for coarse partilces = %.2fcm/s'%umf1\n", + "print 'This value is %d percent below the experimentally reported value.'%err\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The particle Reynolds no = 0.427493\n", + "The simplified equation used for calculating minimum fluidizing velocity is valid.\n", + "The minimum fluidizing velocity by simplified equation for small particles = 4.01cm/s\n", + "The minimum fluidizing velocity by equation for coarse partilces = 3.10cm/s\n", + "This value is 22 percent below the experimentally reported value.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3, Page 82\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "rhog=1.2e-3; #Density of air in g/cc\n", + "myu=1.8e-4 #Viscosity of air in g/cm s\n", + "dpbar=0.016 #Mean diameter of solids in centimeter\n", + "phis=0.67; #Sphericity of solids\n", + "rhos=2.6; #Density of solids in g/cc\n", + "g=980 #Acceleration due to gravity in square cm/s**2\n", + "\n", + "#CALCULATION\n", + "dpstar=dpbar*((rhog*(rhos-rhog)*g)/myu**2)**(1/3.0); #Calculation of dimensionless particle size Eq.(31)\n", + "utstar=((18/(dpstar**2))+(2.335-(1.744*phis))/(dpstar**0.5))**-1; #Calculation of dimensionless gas velocity Eq.(33)\n", + "ut=utstar*((myu*(rhos-rhog)*g)/rhog**2)**(1/3.0); #Calculation of terminal velocity of falling particles Eq.(32)\n", + "\n", + "\n", + "#OUTPUT\n", + "print 'The dimensionless particle size = %.2f'%dpstar\n", + "print 'The dimensionless gas velocity = %.3f'%utstar\n", + "print 'The terminal velocity of falling particles = %d cm/s'%ut\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The dimensionless particle size = 7.28\n", + "The dimensionless gas velocity = 1.296\n", + "The terminal velocity of falling particles = 88 cm/s\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4, Page 91\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "rhos=1.5; #Density of Solid in g/cc\n", + "uo1=40; uo2=80; #Superficial gas velocity in cm/s\n", + "dp1=0.006; dp2=0.045; #Particle size in centimeter\n", + "rhog1=1.5E-3; rhog2=1E-3; #Density of gas in g/cc\n", + "myu1=2E-4; myu2=2.5E-4; #Viscosity of air in g/cm s\n", + "g=980; #Acceleration due to gravity in square cm/s**2\n", + "\n", + "#CALCULATION\n", + "#for smaller particles\n", + "dpstar1=dp1*((rhog1*(rhos-rhog1)*g)/myu1**2)**(1/3.0); #Calculation of dimensionless particle diamter Eq.(31)\n", + "uostar1=uo1*((rhog1**2)/((myu1)*(rhos-rhog1)*g))**(1/3.0);\n", + "uostar2=uo2*((rhog1**2)/((myu1)*(rhos-rhog1)*g))**(1/3.0); #Calculation of dimensionless superficial gas velocity Eq.(32)\n", + "\n", + "#for larger particles \n", + "dpstar2=dp2*((rhog2*(rhos-rhog2)*g)/myu2**2)**(1/3.0); #Calculation of dimensionless particle diamter Eq.(31)\n", + "uostar3=uo1*((rhog2**2)/((myu2)*(rhos-rhog2)*g))**(1/3.0);\n", + "uostar4=uo2*((rhog2**2)/((myu2)*(rhos-rhog2)*g))**(1/3.0); #Calculation of dimensionless superficial gas velocity Eq.(32)\n", + "\n", + "\n", + "#OUTPUT\n", + "print 'For particle of size %.3f centimeter'%dp1\n", + "print 'The dimensionless particle diameter = %.2f'%dpstar1\n", + "print 'The dimensionless superficial gas velocity = %.4fcm/s(for superficial gas velocity of %dcm/s)'%(uostar1,uo1)\n", + "print 'The dimensionless superficial gas velocity = %.3fcm/s(for superficial gas velocity of %dcm/s)'%(uostar2,uo2)\n", + "print 'From Fig.16(page 89)comparing u*=%.4f vs dp*=%.2f'%(uostar1,dpstar1)\n", + "print 'For Superficial gas velocity =%d Mode of Fluidization:Onset of turbulent fluidization in an ordinary bubbling bed'%(uo1)\n", + "print 'From Fig.16(page 89)comparing u* =%.3f vs dp* =%f'%(uostar2,dpstar1)\n", + "print 'For Superficial gas velocity =%f Mode of Fluidization:Fast fluidization(requires a circulating solid system)'%(uo2)\n", + "print 'For particle of size %f centimeter'%(dp2)\n", + "print 'The dimensionless particle diameter = %f'%(dpstar2)\n", + "print 'The dimensionless superficial gas velocity = %fcm/s(for superficial gas velocity of %fcm/s)'%(uostar3,uo1)\n", + "print 'The dimensionless superficial gas velocity = %fcm/s(for superficial gas velocity of %fcm/s)'%(uostar4,uo2)\n", + "print 'From Fig.16(page 89)comparing u*=%f vs dp*=%f'%(uostar3,dpstar2)\n", + "print 'For Superficial gas velocity =%f Mode of Fluidization:Bublling Fluidization'%(uo1)\n", + "print 'From Fig.16(page 89)comparing u* =%f vs dp* =%f'%(uostar4,dpstar2)\n", + "print 'For Superficial gas velocity =%f Mode of Fluidization:Bubbling Fluidization'%(uo2)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "For particle of size 0.006 centimeter\n", + "The dimensionless particle diameter = 2.28\n", + "The dimensionless superficial gas velocity = 0.7885cm/s(for superficial gas velocity of 40cm/s)\n", + "The dimensionless superficial gas velocity = 1.577cm/s(for superficial gas velocity of 80cm/s)\n", + "From Fig.16(page 89)comparing u*=0.7885 vs dp*=2.28\n", + "For Superficial gas velocity =40 Mode of Fluidization:Onset of turbulent fluidization in an ordinary bubbling bed\n", + "From Fig.16(page 89)comparing u* =1.577 vs dp* =2.282737\n", + "For Superficial gas velocity =80.000000 Mode of Fluidization:Fast fluidization(requires a circulating solid system)\n", + "For particle of size 0.045000 centimeter\n", + "The dimensionless particle diameter = 12.890262\n", + "The dimensionless superficial gas velocity = 0.558561cm/s(for superficial gas velocity of 40.000000cm/s)\n", + "The dimensionless superficial gas velocity = 1.117122cm/s(for superficial gas velocity of 80.000000cm/s)\n", + "From Fig.16(page 89)comparing u*=0.558561 vs dp*=12.890262\n", + "For Superficial gas velocity =40.000000 Mode of Fluidization:Bublling Fluidization\n", + "From Fig.16(page 89)comparing u* =1.117122 vs dp* =12.890262\n", + "For Superficial gas velocity =80.000000 Mode of Fluidization:Bubbling Fluidization\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch4.ipynb b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch4.ipynb new file mode 100755 index 00000000..cbd2e1e4 --- /dev/null +++ b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch4.ipynb @@ -0,0 +1,306 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:66650a76faf5eec3efd8e3c62ecb57addf32e1a6b2cb5d90995ca785777b9427" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 4 : The Dense Bed" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1, Page 106\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "#Variable declaration\n", + "dt=4; #Vessel diameter in m\n", + "Lmf=2; #Length of the bed in m\n", + "ephsilonmf=0.48; #Void fraction of bed\n", + "rhos=1500; #Density of solid in kg/m**3\n", + "rhog=3.6; #Density of gas in kg/m**3\n", + "myu=2E-5; #Viscosity of gas in kg/m s\n", + "po=3; #Pressure of inlet gas in bar\n", + "uo=0.4; #Superficial velocity of gas in m/s\n", + "uorm=40; #Maximum allowable jet velocity from holes in m/s\n", + "g=9.80; #Acceleration due to gravity in m/s**2\n", + "gc=1;\n", + "pi=3.1428;\n", + "\n", + "#CALCULATION\n", + "#Computation of minimum allowable pressure drop through the distributor\n", + "deltapb=((1-ephsilonmf)*(rhos-rhog)*g*Lmf)/gc; #Calculation of pressure drop in bed using Eqn.(3.17)\n", + "deltapd=0.3*deltapb; #Calculation of pressure drop in distributor using Eqn.(3)\n", + "\n", + "#Computation of orifice coefficient\n", + "Ret=(dt*uo*rhog)/myu;\n", + "if Ret>=3000:\n", + " Cd=0.60;\n", + "elif Ret>=2000:\n", + " Cd=0.61;\n", + "elif Ret>=1000:\n", + " Cd=0.64;\n", + "elif Ret>=500:\n", + " Cd=0.68;\n", + "elif Ret>=300:\n", + " Cd=0.70;\n", + "elif Ret>=100:\n", + " Cd=0.68;\n", + "\n", + "#Computation of gas velocity through orifice\n", + "uor=Cd*((2*deltapd)/rhog)**0.5; #Calculation of gas velocity through orifice by using Eqn.(12)\n", + "f=(uo/uor)*100; #Calculation of fraction of open area in the perforated plate \n", + "\n", + "\n", + "#Computation of number of orifices per unit area of distributor\n", + "dor=[0.001,0.002,0.004]; #Different orifice diameters in m\n", + "n=len(dor);\n", + "i=0;\n", + "Nor = [0.,0.,0.]\n", + "while i<n:\n", + " Nor[i]=(uo*4)/(pi*uor*(dor[i])**2);#Calculation of number of orifices by using Eqn.(13)\n", + " i=i+1;\n", + " \n", + "#OUTPUT\n", + "print 'The pressure drop in bed:%fPa'%deltapb\n", + "print 'The minimum allowable pressure drop in distributor:%fPa'%deltapd\n", + "if uor<uorm:\n", + " print 'The gas veleocity of %fm/s is satisfactory'%uor\n", + "else:\n", + " print 'The gas veleocity of %fm/s is not satisfactory'%uor\n", + "\n", + "if f<10:\n", + " print 'The fraction of open area of %f percent is allowable'%f\n", + "else:\n", + " print 'The fraction of open area of %f percent is not allowable'%f\n", + "\n", + "print 'Diameter of orifice(m)',\n", + "print '\\tNumber of orifices per unit area(per sq.m)'\n", + "\n", + "j=0;\n", + "while j<n:\n", + " print '%f'%dor[j],\n", + " print '\\t\\t%f'%Nor[j]\n", + " j=j+1;\n", + "\n", + "print 'This number can be rounded off.'\n", + "print 'Since orifices that are too small are liable to clog and those that are too large cause uneven distribution of gas, we choose orifice of diameter %fm'%dor[2]\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The pressure drop in bed:15251.308800Pa\n", + "The minimum allowable pressure drop in distributor:4575.392640Pa\n", + "The gas veleocity of 30.250265m/s is satisfactory\n", + "The fraction of open area of 1.322302 percent is allowable\n", + "Diameter of orifice(m) \tNumber of orifices per unit area(per sq.m)\n", + "0.001000 \t\t16829.610145\n", + "0.002000 \t\t4207.402536\n", + "0.004000 \t\t1051.850634\n", + "This number can be rounded off.\n", + "Since orifices that are too small are liable to clog and those that are too large cause uneven distribution of gas, we choose orifice of diameter 0.004000m\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2, Page 108\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "lor=0.1; #Minimum allowable tuyere spacing in m\n", + "uorm=30; #Maximum allowable jet velocity from the tuyere in m/s\n", + "uo=0.4; #Superficial velocity of gas in m/s\n", + "uor=30.2; #Gas velocity through orifice,from Exa 1, in m/s\n", + "Cd=0.6; #Dicharge coefficient from Exa 1\n", + "rhog=3.6 #Density of gas in kg/m**3\n", + "pi=3.1428;\n", + "\n", + "#CALCULATION\n", + "Nor=1/(lor**2); #Calculation of number of orifices per unit area by assuming minimum spacing for tuyeres\n", + "dor=((4/pi)*(uo/uor)*(1/Nor))**0.5; #Calculation of diameter of inlet orifiec by using Eqn.(13)\n", + "\n", + "#Computation of diameter of hole for different number of holes per tuyere\n", + "q=(lor**2)*uo; #Volumetric flow rate in m**3/s\n", + "Nh=[8.,6.,4.]; #Different number of holes per tuyere\n", + "n=len(Nh);\n", + "i=0;\n", + "dh = [0.,0.,0.]\n", + "while i<n:\n", + " dh[i]=((((q/Nh[i])*(4./pi))/uorm)**0.5);#Calculation of diameter of holes\n", + " i=i+1;\n", + "\n", + "deltaph=(rhog/2.)*((uor/Cd)**2)\n", + "\n", + "#OUTPUT\n", + "print 'Number of holes(number of holes/tuyeres)',\n", + "print '\\tDiameter of hole(m)'\n", + "j=0;\n", + "while j<n:\n", + " print '%f'%Nh[j],\n", + " print '\\t\\t\\t\\t\\t%f'%dh[j]\n", + " j=j+1;\n", + "\n", + "print 'The design chosen is as follows'\n", + "print '\\tTuyeres are as shown in Fig.2(b),page 97'\n", + "print '\\tNumber of holes = %f(Since rectangular pitch is chosen for tuyeres)'%Nh[1]\n", + "print '\\tDiameter of hole = %fm'%dh[1]\n", + "print '\\tDiameter of incoming high-pressure-drop orifice = %fm ID'%dor\n", + "print 'Checking the pressure drop in tuyeres'\n", + "print 'Since pressure drop of %.1f Pa gives sufficiently high \\\n", + "distributor pressure drop as seen in Exa.1, use of inlet orifice can be dispensed.'%deltaph\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Number of holes(number of holes/tuyeres) \tDiameter of hole(m)\n", + "8.000000 \t\t\t\t\t0.004606\n", + "6.000000 \t\t\t\t\t0.005318\n", + "4.000000 \t\t\t\t\t0.006513\n", + "The design chosen is as follows\n", + "\tTuyeres are as shown in Fig.2(b),page 97\n", + "\tNumber of holes = 6.000000(Since rectangular pitch is chosen for tuyeres)\n", + "\tDiameter of hole = 0.005318m\n", + "\tDiameter of incoming high-pressure-drop orifice = 0.012984m ID\n", + "Checking the pressure drop in tuyeres\n", + "Since pressure drop of 4560.2 Pa gives sufficiently high distributor pressure drop as seen in Exa.1, use of inlet orifice can be dispensed.\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3, Page 110\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "deltapd=[3,10] #Distributor pressure drop in kPa\n", + "deltapd2=10.0; #Distributor pressure drop in kPa\n", + "po=101.0; #Entering air pressure in kPa\n", + "To=20.0; #Entering air temperature in degree C\n", + "y=1.4; #Fugacity of air\n", + "deltapb=10; #Pressure drop in bed in kPa\n", + "p3=103; #Pressure at the bed exit in kPa\n", + "F=8; #Feed rate of coal in tons/hr\n", + "H=25; #Gross heatig value of coal in MJ/kg\n", + "Fa=10; #Air required at standard condition in nm**3/kg\n", + "etac=0.75; #Efficiency of compressor\n", + "etap=36; #Efficiency of plant in %\n", + "\n", + "#CALCULATION\n", + "#Calculation of volumetric flow rate of air\n", + "vo=((F*1000)*Fa*((To+273)/273.0))/3600.0;\n", + "\n", + "#Case(a) Distributor Pressure drop = 3kPa and Case(b) Distributor Pressure drop = 10kPa\n", + "n=len(deltapd);\n", + "i=0;\n", + "p1= [0,0]\n", + "p2 = [0,0]\n", + "ws = [0.,0.]\n", + "while i<n:\n", + " p2[i]=p3+deltapb; #Calculation of pressure at the entrance of the bed\n", + " p1[i]=p2[i]+deltapd[i];#Calculation of pressure before entering the bed\n", + " ws[i]=(y/(y-1))*po*vo*((p1[i]/po)**((y-1)/y)-1)*(1.0/etac);#Calculation of power required for the compressor by Eqn.(18) & Eqn.(20)\n", + " i=i+1;\n", + "\n", + "#Case(c) 50% of the required bypassed to burn the volatile gases. Distributor Pressure drop = 3kPa\n", + "#No change in pressure drop from case(a)\n", + "v1=vo/2.0; #New volumetric flow rate of air\n", + "ws1=455/2.0; #Power required for blower for primary air\n", + "ws2=(y/(y-1))*po*v1*((p3/po)**((y-1)/y)-1)*(1/etac);#Power required for blower for bypassed air\n", + "wst=ws1+ws2; #Total power required for the two blowers\n", + "p=((ws[1]-wst)/ws[1])*100; #Saving in power when compared to case(a)\n", + "\n", + "#OUTPUT\n", + "print 'Case(a)'\n", + "print '\\tVolumetric flow rate of air = %.2f m**3/hr'%vo\n", + "print '\\tPower required for compressor = %.0f kW'%ws[0]\n", + "print 'Case(b)'\n", + "print '\\tVolumetric flow rate of air = %.2f m**3/hr'%vo\n", + "print '\\tPower required for compressor = %.0f kW'%ws[1]\n", + "print 'Case(c)'\n", + "print '\\tVolumetric flow rate of air = %.3f m**3/hr'%v1\n", + "print '\\tPower required for compressor for primary air = %.1f kW'%ws1\n", + "print '\\tPower required for blower for bypassed air = %.1f kW'%ws2\n", + "print '\\tTotal power required for the two blowers = %.0f kW'%wst\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Case(a)\n", + "\tVolumetric flow rate of air = 23.85 m**3/hr\n", + "\tPower required for compressor = 454 kW\n", + "Case(b)\n", + "\tVolumetric flow rate of air = 23.85 m**3/hr\n", + "\tPower required for compressor = 651 kW\n", + "Case(c)\n", + "\tVolumetric flow rate of air = 11.925 m**3/hr\n", + "\tPower required for compressor for primary air = 227.5 kW\n", + "\tPower required for blower for bypassed air = 31.6 kW\n", + "\tTotal power required for the two blowers = 259 kW\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch5.ipynb b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch5.ipynb new file mode 100755 index 00000000..791c6af2 --- /dev/null +++ b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch5.ipynb @@ -0,0 +1,137 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:502044f71f0f4f73ada9ff3f4a68fa509018810bcbdaf16eaa17d381758e9755" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 5 : Bubbles in Dense Beds" + ] + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 1, Page 126\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "dt=60.0; #ID of tube in cm \n", + "dp=300; #Size of particles of bed in micrometers\n", + "umf=3; #Velocity at minimum fluidization condition in cm/s\n", + "ephsilonmf=0.5; #Void fraction of bed at minimum fluidization condition\n", + "db=5; #Diameter of bubble in cm\n", + "g=980; #Acceleration due to gravity in cm/s**2\n", + "\n", + "#CALCULATION\n", + "#Computation of rise velocity of bubble\n", + "if (db/dt)<0.125:\n", + " ubr=(0.711*((g*db)**0.5));#Rise velocity by Eqn.(3)\n", + "elif (db/dt)<0.6:\n", + " ubr=(0.711*((g*db)**0.5))*1.2*exp(-1.49*(db/dt));#Rise velocity by Eqn.(4) \n", + "\n", + "#Computation of cloud thickness\n", + "Rb=db/2.0; #Radius of bubble\n", + "uf=umf/ephsilonmf; #Velocity of emulsion gas\n", + "Rc=Rb*((ubr+(2*uf))/(ubr-uf))**(1/3.0);#Radius of cloud by Eqn.(6)\n", + "\n", + "#OUTPUT\n", + "print 'The rise velocity of the bubble=%.1f cm/s'%ubr\n", + "print 'The cloud thickness=%.2f cm'%(Rc-Rb)\n", + "print 'From Fig.8(page 124)comparing fw vs dp, for dp = %.0f micrometer, wake fraction = 0.24'%dp\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The rise velocity of the bubble=49.8 cm/s\n", + "The cloud thickness=0.30 cm\n", + "From Fig.8(page 124)comparing fw vs dp, for dp = 300 micrometer, wake fraction = 0.24\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2, Page 132\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math\n", + "\n", + "#Variable declaration\n", + "uo=15; #Superificial gas velocity in cm/s\n", + "umf=1; #Velocity at minimum fluidization condition in cm/s\n", + "lor=2.0; #Pitch of perforated plate in cm\n", + "g=980; #Acceleration due to gravity in cm/s**2\n", + "#CALCULATION\n", + "#Case(a) For porous plate\n", + "dbo1=(2.78/g)*(uo-umf)**2;#Initial bubble size using Eqn.(19)\n", + "\n", + "#Case(b) For Perforated plate\n", + "Nor=(2/math.sqrt(3))*(1/lor)**2;#Number of orifices in cm**-2\n", + "dbo2=(1.30/(g**0.2))*((uo-umf)/Nor)**0.4;#Initial bubble size using Eqn.(15) assuming inital bubble size is smaller than hole spacing\n", + "\n", + "#OUTPUT\n", + "print 'Case(a) For porous plate'\n", + "print '\\tInitial bubble size=%.2fcm'%dbo1\n", + "print 'Case(b) For Perforated plate'\n", + "print '\\tInitial bubble size=%.2fcm'%dbo2\n", + "print '\\tSince %f<%f, the equation used is correct.'%(dbo2,lor)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Case(a) For porous plate\n", + "\tInitial bubble size=0.56cm\n", + "Case(b) For Perforated plate\n", + "\tInitial bubble size=1.55cm\n", + "\tSince 1.548765<2.000000, the equation used is correct.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch6.ipynb b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch6.ipynb new file mode 100755 index 00000000..9c4f2311 --- /dev/null +++ b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch6.ipynb @@ -0,0 +1,499 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:432c74872bfc5b3cdf6cd2ab6c97c0ab1581b40f382e3a1bf8502ef1c3f981bb" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 6 : Bubbling Fluidized Beds" + ] + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 1, Page 150" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "z=0.5; #Height of bed in m\n", + "dt=0.5; #ID of tube in m\n", + "rhos=1.6; #Density of catalyst in g/cm**3\n", + "dpbar=60.; #Averge catalyst diameter in micrometer\n", + "umf=0.002; #Velocity at minimum fluidization condition in m/s\n", + "uo=0.2; #Superficial velocity in m/s\n", + "dor=2.; #Diameter of orifice in mm\n", + "lor=20.; #Pitch of perforated plate in mm\n", + "g=9.80; #g=980;#Acceleration due to gravity in m/s**2\n", + "\n", + "#CALCULATION\n", + "#Method 1. Procedure using Eqn.(10) & Eqn.(11)\n", + "db=(0.035+0.040)/2.;#Bubble size at z=0.5m from Fig.7(a) & Fig.7(b)\n", + "ub1=1+1.55*((uo-umf)+14.1*(db+0.005))*(dt**0.32)*0.711*(g*db)**0.5;#Bubble velocity using Eqn.(10) & Eqn.(11)\n", + "\n", + "#Method 2. Werther's procedure\n", + "si=0.8;#From Fig.6 for Geldart A solids \n", + "ub2=si*(uo-umf)+(3.2*(dt**(1./3)))*(0.711*(g*db)**0.5);#Bubble velocity using Eqn.(9)\n", + "\n", + "#OUTPUT\n", + "print 'Method 1. Procedure using Eqn.(10) & Eqn.(11)'\n", + "print '\\tDiameter of the bubble=%.4fm'%db\n", + "print '\\tRise velocity of the bubble=%.4fm/s'%ub1\n", + "print 'Method 2. Werthers procedure'\n", + "print '\\tDiameter of the bubble=%fm'%db\n", + "print '\\tRise velocity of the bubble=%fm/s'%ub2\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Method 1. Procedure using Eqn.(10) & Eqn.(11)\n", + "\tDiameter of the bubble=0.0375m\n", + "\tRise velocity of the bubble=1.4267m/s\n", + "Method 2. Werthers procedure\n", + "\tDiameter of the bubble=0.037500m\n", + "\tRise velocity of the bubble=1.253125m/s\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2, Page 151\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math\n", + "\n", + "#Variable declaration\n", + "z=0.5; #Height of bed in m\n", + "dt=0.5; #ID of tube in m\n", + "rhos=2.6; #Density of catalyst in g/cm**3\n", + "dpbar=100.; #Averge catalyst diameter in micrometer\n", + "umf=0.01; #Velocity at minimum fluidization condition in m/s\n", + "uo=0.45; #Superficial velocity in m/s\n", + "dor=2.; #Diameter of orifice in mm\n", + "lor=30.; #Pitch of perforated plate in mm\n", + "g=9.80; #Acceleration due to gravity in m/s**2\n", + "pi=3.142857;\n", + "\n", + "#CALCULATION\n", + "#Part(a).Bubble Size\n", + "Nor=(2/math.sqrt(3))*(1/lor**2);\n", + "dbo=5.5;\n", + "\n", + "#Method 1.Werther's procedure for finding bubble size\n", + "z1=[0,5,10,20,30,50,70]\n", + "db = [0.,0.,0.,0.,0.,0.,0.]\n", + "n=len(z1);\n", + "i=0; \n", + "while i<n:\n", + " db[i]=0.853*((1+0.272*(uo-umf)*100)**(1/3.0))*(1+0.0684*z1[i])**1.21;\n", + " i=i+1; \n", + "\n", + "db1=0.163;#Since bubble size starts at dbo=5.5cm at z=0, we shift the curve accordingly to z=0.5m\n", + "\n", + "#Method 2.Mori and Wen's procedure for finding bubble size\n", + "dbm=0.65*((math.pi/4.0)*((dt*100)**2)*(uo-umf)*100)**0.4;\n", + "db2=dbm-(dbm-dbo)*math.exp(-0.3**(z/dt));\n", + "\n", + "#Part(b).Bubble Velocity\n", + "#Method 1.Procedure using Eqn.(12)\n", + "ub1=1.6*((uo-umf)+1.13*db1**0.5)*(dt**1.35)+(0.711*(g*db1)**0.5);\n", + "\n", + "#Method 2.Werther's Procedure\n", + "si=0.65;\n", + "ub2=si*(uo-umf)+2*(dt**0.5)*(0.711*(g*db1)**0.5);\n", + "\n", + "#Using Eqn.(7) & Eqn.(8)\n", + "ubr1=0.711*(g*db1)**0.5;\n", + "ubr2=0.711*(g*db2/100.0)**0.5\n", + "ub3=uo-umf+ubr1;\n", + "ub4=uo-umf+ubr2;\n", + "\n", + "#OUTPUT\n", + "print 'Bubble Size'\n", + "print 'Initial bubble size from Fig.5.14 for %.2fm/s = %.2fcm'%(uo-umf,dbo)\n", + "print '\\tMethod 1.Werthers procedure for finding bubble size'\n", + "print '\\t\\tHeight of bed(cm)'\n", + "print '\\t\\t\\tBubble size(cm)'\n", + "m=len(z1);\n", + "j=0;\n", + "while j<m:\n", + " print '\\t\\t%d'%z1[j],\n", + " print '\\t\\t\\t\\t%.2f'%db[j]\n", + " j=j+1;\n", + "\n", + "print '\\tMethod 2.Mori and Wens procedure for finding bubble size'\n", + "print '\\t\\tMaximum expected bubble size=%.2fcm'%dbm\n", + "print '\\t\\tBubble size=%.0fcm'%db2\n", + "print 'Bubble Velocity'\n", + "print '\\tMethod 1.Procedure using Eqn.(12)'\n", + "print '\\t\\tBubble velocity=%.2fm/s'%ub1\n", + "print '\\tMethod 2.Werthers procedure'\n", + "print '\\t\\tBubble velocity=%.2fm/s'%ub2\n", + "print 'Comparing the above results with the expressions of the simple two-phase theory'\n", + "print '\\tWerthers bubble size'\n", + "print '\\tBubble rise velocity=%.2fm/s\\tBubble velocity=%.2fm/s'%(ubr1,ub3)\n", + "print '\\tMori & Wens bubble size'\n", + "print '\\tBubble rise velocity=%.1fm/s\\tBubble velocity=%.2fm/s'%(ubr2,ub4)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Bubble Size\n", + "Initial bubble size from Fig.5.14 for 0.44m/s = 5.50cm\n", + "\tMethod 1.Werthers procedure for finding bubble size\n", + "\t\tHeight of bed(cm)\n", + "\t\t\tBubble size(cm)\n", + "\t\t0 \t\t\t\t2.00\n", + "\t\t5 \t\t\t\t2.86\n", + "\t\t10 \t\t\t\t3.77\n", + "\t\t20 \t\t\t\t5.69\n", + "\t\t30 \t\t\t\t7.73\n", + "\t\t50 \t\t\t\t12.10\n", + "\t\t70 \t\t\t\t16.77\n", + "\tMethod 2.Mori and Wens procedure for finding bubble size\n", + "\t\tMaximum expected bubble size=61.31cm\n", + "\t\tBubble size=20cm\n", + "Bubble Velocity\n", + "\tMethod 1.Procedure using Eqn.(12)\n", + "\t\tBubble velocity=1.46m/s\n", + "\tMethod 2.Werthers procedure\n", + "\t\tBubble velocity=1.56m/s\n", + "Comparing the above results with the expressions of the simple two-phase theory\n", + "\tWerthers bubble size\n", + "\tBubble rise velocity=0.90m/s\tBubble velocity=1.34m/s\n", + "\tMori & Wens bubble size\n", + "\tBubble rise velocity=1.0m/s\tBubble velocity=1.43m/s\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3, Page 153\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "dpbar=53.; #Average particle size in micrometer\n", + "s=[1,2]; #Size of Bermuda rock in cm \n", + "rhosbar=3200.; #Average solid density of the coke-zircon mixture in kg/m**3\n", + "ephsilonm=0.5; #Void fraction for fixed bed\n", + "ephsilonf=0.75; #Void fraction for bubbling bed\n", + "rhogbar=0.64; #Average density of gas in kg/m**3\n", + "uo=14.; #Superficial gas velocity in cm/s\n", + "myu=5E-5; #Viscosity of gas in kg/m s\n", + "T=1000.; #Temperature in degree C\n", + "P=1.; #Pressure in atm\n", + "dt=91.5; #ID of bed in cm\n", + "sh=150.; #Slumped height in cm\n", + "\n", + "#CALCULATION\n", + "rhog2=1.2; #Density of ambient air\n", + "myu2=1.8E-5; #Viscosity of ambient air\n", + "rhos2=rhog2*(rhosbar/rhogbar);#For the requirement of constant density ratio\n", + "m=((rhogbar*myu2)/(rhog2*myu))**(2./3);#Scale factor by usin Eqn.(16)\n", + "u2=(m**0.5)*uo; #Superficial gas velocity by using Eqn.(17)\n", + "#OUTPUT\n", + "print 'For the model use'\n", + "print '\\tBed of ID %.2fcm\\tSlumped bed height of %.2fcm\\tPacked bed distributor consisting of %.2f-%.2fmm rock'%(m*dt,m*sh,m*s[0],m*s[1])\n", + "print 'Fluidizing gas: ambient air at %.2fatm'%P\n", + "print 'Solids: \\tzirconia, Average particle size=%.2fmicrometers'%(m*dpbar)\n", + "print 'Entering gas:\\tSuperficial velocity=%.2fcm/s'%u2\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "For the model use\n", + "\tBed of ID 30.45cm\tSlumped bed height of 49.92cm\tPacked bed distributor consisting of 0.33-0.67mm rock\n", + "Fluidizing gas: ambient air at 1.00atm\n", + "Solids: \tzirconia, Average particle size=17.64micrometers\n", + "Entering gas:\tSuperficial velocity=8.08cm/s\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4, Page 159\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "import math\n", + "\n", + "#Variable declaration\n", + "dtb=20; #ID of bench-scale reactor\n", + "dtp=1; #ID of pilot reactor\n", + "dpbar=52; #Average particle size in micrometer\n", + "ephsilonm=0.45; #Void fraction for fixed bed\n", + "ephsilonmf=0.50; #Void fraction at minimum fluidization condition\n", + "ephsilonmb=0.60; #Void fraction \n", + "uo=30; #Superficial gas velocity in cm/s\n", + "Lmb=2; #Length of fixed bed in m\n", + "umf=0.33; #Velocity at minimum fluidization condition in cm/s\n", + "umb=1; #Velocity at in cm/s\n", + "db=3; #Equilibrium bubble size in cm\n", + "g=9.80; #Acceleration due to gravity in m/s**2\n", + "pi=3.142857;\n", + "\n", + "#CALCULATION\n", + "ubr=0.711*(g*db/100)**0.5;#Rise velocity of bubble using Eqn.(7)\n", + "\n", + "#Bubble velocity for the bench unit\n", + "ubb1=1.55*(((uo-umf)/100.0)+14.1*((db/100.0)+0.005))*((dtb/100.0)**0.32)+ubr;#Bubble velocity using Eqn.(11)\n", + "si=1;\n", + "ubb2=si*((uo-umf)/100.0)+(3.2*((dtb/100.0)**(1/3.0)))*ubr;#Bubble velocity using Eqn.(9)\n", + "ubb=(ubb1+ubb2)/2;#Average bubble velocity\n", + "\n", + "#Bubble velocity for the pilot unit\n", + "ubp1=1.55*(((uo-umf)/100.0)+14.1*((db/100.0)+0.005))*(dtp**0.32)+ubr;#Bubble velocity using Eqn.(11)\n", + "si=1;\n", + "ubp2=si*((uo-umf)/100)+(3.2*(dtp**(1/3)))*ubr;#Bubble velocity using Eqn.(9)\n", + "ubp=(ubp1+ubp2)/2;#Average bubble velocity\n", + "\n", + "#Rise velocity of upflowing emulsion\n", + "ueb=ubb-ubr;#For the bench unit\n", + "uep=ubp-ubr;#For the pilot unit\n", + "\n", + "#Scale-Up Alternative 1.\n", + "dteb=20;#Effective bubble diameter\n", + "dib=[5,10,15,20];#Different outside diameters\n", + "n=len(dib);\n", + "li = [0.,0.,0.,0.]\n", + "i=0;\n", + "while i<n:\n", + " li[i]=math.sqrt(((pi*dib[i]*dteb)/4)+((pi/4)*(dib[i])**2));#Pitch using Eqn.(13)\n", + " i=i+1;\n", + "\n", + "#Scale-Up Alternative 2.\n", + "Lmp=Lmb*(ubp/ubb);#Static bed height of commercial unit\n", + "dtep=100.0;#Effective bubble diameter\n", + "dip=[10,15,20,25];#Different outside diameters\n", + "m=len(dip);\n", + "i=0;\n", + "lip = [0.,0.,0.,0.]\n", + "while i<m:\n", + " lip[i]=math.sqrt(((math.pi*dip[i]*dtep)/4.0)+(math.pi/4.0)*dip[i]);#Pitch using Eqn.(13)\n", + " i=i+1;\n", + "\n", + "#Height of Bubbling beds\n", + "#For bench unit\n", + "deltab=((uo/100.0)-(umb/100.0))/(ubb-(umb/100.0));#Fraction of bed in bubbles using Eqn.(28)\n", + "ephsilonfb=deltab+(1-deltab)*ephsilonmb;#Void fraction of bubbling bed using Eqn.(20)\n", + "Lfb=Lmb*(1-ephsilonm)/(1-ephsilonfb);#Hieght of bubbling bed usnig Eqn.(19)\n", + "#For pilot unit\n", + "deltap=((uo/100.0)-(umb/100.0))/(ubp-(umb/100.0));#Fraction of bed in bubbles using Eqn.(28)\n", + "ephsilonfp=deltap+(1-deltap)*ephsilonmb;#Void fraction of bubbling bed using Eqn.(20)\n", + "Lfp=Lmp*(1-ephsilonm)/(1-ephsilonfp);#Hieght of bubbling bed usnig Eqn.(19)\n", + "\n", + "#OUTPUT\n", + "print 'Rise velocity of bubble=%.3fm/s'%ubr\n", + "print 'For the bench unit'\n", + "print '\\tWith Eqn.(11), Rise velocity=%.3fm/s'%ubb1\n", + "print '\\tWith Werthers procedure, Rise velocity=%.2fm/s'%ubb2\n", + "print '\\tAverage rise velocity=%.2fm/s'%ubb\n", + "print '\\tRise velocity of upflowing emulsion=%.2fm/s'%ueb\n", + "print 'For the pilot unit'\n", + "print '\\tWith Eqn.(11), Rise velocity=%.2fm/s'%ubp1\n", + "print '\\tWith Werthers procedure, Rise velocity=%.2fm/s'%ubp2\n", + "print '\\tAverage rise velocity=%.2fm/s'%ubp\n", + "print '\\tRise velocity of upflowing emulsion=%.2fm/s'%uep\n", + "print 'Scale-Up Alternative 1.'\n", + "print '\\tOuter diameter of tube(cm)'\n", + "print '\\tPitch(cm)'\n", + "n=len(dib);\n", + "j=0;\n", + "while j<n:\n", + " print '\\t\\t%d'%dib[j],\n", + " print '\\t\\t\\t%.2f'%li[j]\n", + " j=j+1;\n", + "\n", + "print '\\tSuitable arrangement'\n", + "print '\\t\\tOuter Diameter=%dcm\\tPitch:Diameter ratio=%.2f'%(dib[1],(li[1]/dib[1]))\n", + "print 'Scale-Up Alternative 2.'\n", + "print '\\tStatic bed height for commercial unit=%fm'%Lmp\n", + "print '\\tOuter diameter of tube(cm)'\n", + "print '\\tPitch(cm)'\n", + "n=len(dip);\n", + "j=0;\n", + "\n", + "while j<n:\n", + " print '\\t\\t%d'%dip[j],\n", + " print '\\t\\t\\t%.2f'%lip[j]\n", + " j=j+1;\n", + "\n", + "print '\\tSuitable arrangement'\n", + "print '\\t\\tOuter Diameter=%dcm\\tPitch:Diameter ratio=%.2f'%(dip[2],(lip[2]/dip[2]))\n", + "print '\\t\\t\\t\\tFraction of bed in bubbles\\tVoid fraction of bed\\tStatic bed height(m)\\tHeight of bubbling bed(m)'\n", + "print '\\t\\t\\t\\t---------------------------------------------------------------------------------------------------------'\n", + "print 'Bench unit\\tID=%fm\\t%f\\t\\t\\t%f\\t\\t%f\\t\\t%f'%(dtb/100.,deltab,ephsilonfb,Lmb,Lfb)\n", + "print 'Commercial unit\\tID=%fm\\t%f\\t\\t\\t%f\\t\\t%f\\t\\t%f'%(dtp,deltap,ephsilonfp,Lmp,Lfp)\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Rise velocity of bubble=0.386m/s\n", + "For the bench unit\n", + "\tWith Eqn.(11), Rise velocity=1.117m/s\n", + "\tWith Werthers procedure, Rise velocity=1.02m/s\n", + "\tAverage rise velocity=1.07m/s\n", + "\tRise velocity of upflowing emulsion=0.68m/s\n", + "For the pilot unit\n", + "\tWith Eqn.(11), Rise velocity=1.61m/s\n", + "\tWith Werthers procedure, Rise velocity=1.53m/s\n", + "\tAverage rise velocity=1.57m/s\n", + "\tRise velocity of upflowing emulsion=1.18m/s\n", + "Scale-Up Alternative 1.\n", + "\tOuter diameter of tube(cm)\n", + "\tPitch(cm)\n", + "\t\t5 \t\t\t9.91\n", + "\t\t10 \t\t\t15.35\n", + "\t\t15 \t\t\t20.31\n", + "\t\t20 \t\t\t25.07\n", + "\tSuitable arrangement\n", + "\t\tOuter Diameter=10cm\tPitch:Diameter ratio=1.54\n", + "Scale-Up Alternative 2.\n", + "\tStatic bed height for commercial unit=2.941439m\n", + "\tOuter diameter of tube(cm)\n", + "\tPitch(cm)\n", + "\t\t10 \t\t\t28.16\n", + "\t\t15 \t\t\t34.49\n", + "\t\t20 \t\t\t39.83\n", + "\t\t25 \t\t\t44.53\n", + "\tSuitable arrangement\n", + "\t\tOuter Diameter=20cm\tPitch:Diameter ratio=1.99\n", + "\t\t\t\tFraction of bed in bubbles\tVoid fraction of bed\tStatic bed height(m)\tHeight of bubbling bed(m)\n", + "\t\t\t\t---------------------------------------------------------------------------------------------------------\n", + "Bench unit\tID=0.200000m\t0.274171\t\t\t0.709668\t\t2.000000\t\t3.788769\n", + "Commercial unit\tID=1.000000m\t0.185857\t\t\t0.674343\t\t2.941439\t\t4.967774\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5, Page 161\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "dtb=20; #ID of bench-scale reactor\n", + "dtp=1; #ID of pilot reactor\n", + "dpbar=200; #Average particle size in micrometer\n", + "ephsilonmf=0.50; #Void fraction at minimum fluidization condition\n", + "ephsilonmb=0.50; #Void fraction \n", + "uo=30; #Superficial gas velocity in cm/s\n", + "Lmb=2; #Length of fixed bed in m\n", + "umf=3; #Velocity at minimum fluidization condition in cm/s\n", + "umb=3; #Velocity at in cm/s\n", + "g=9.80; #Acceleration due to gravity in m/s**2\n", + "pi=3.142857;\n", + "\n", + "#CALCULATION\n", + "#In the small bench unit\n", + "c=1;\n", + "ubb=c*((uo-umf)/100.0)+0.35*(g*(dtb/100.0))**0.5;#Velocity using Eqn.(5.22)\n", + "zsb=60*(dtb)**0.175;#Height using Eqn.(5.24)\n", + "\n", + "#In the large pilot unit\n", + "ubp=c*((uo-umf)/100.0)+0.35*(g*dtp)**0.5;#Velocity using Eqn.(5.22)\n", + "zsp=60*(dtp*100)**0.175;#Height using Eqn.(5.24)\n", + "\n", + "#OUTPUT\n", + "print 'Condition at which bubbles transform into slugs'\n", + "print 'For tha small bench unit\\t\\tVelocity=%fm/s\\t\\tHeight above distributor plate=%fm'%(ubb,zsb/100.)\n", + "print 'For tha large pilot unit\\t\\tVelocity=%fm/s\\t\\tHeight above distributor plate=%fm'%(ubp,zsp/100.);\n", + "\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Condition at which bubbles transform into slugs\n", + "For tha small bench unit\t\tVelocity=0.760000m/s\t\tHeight above distributor plate=1.013518m\n", + "For tha large pilot unit\t\tVelocity=1.365673m/s\t\tHeight above distributor plate=1.343233m\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch7.ipynb b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch7.ipynb new file mode 100755 index 00000000..aafc2f66 --- /dev/null +++ b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch7.ipynb @@ -0,0 +1,399 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:8eb00dc3983a05f0d88bd9a81e8b022860563cdbf1df8dacf4157210feb1c3ce" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 7 : Entrainment and Elutriation from Fluidized Beds" + ] + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 1, Page 179" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "rhog=5.51; #Density of gas in kg/m**3\n", + "rhos=1200; #Density of solid in kg/m**3\n", + "dpbar=130; #Average size of particles in micrometer\n", + "uo=0.61; #Superficial gas velocity in m/s\n", + "g=9.80; #Acceleration due to gravity in m/s**2\n", + "\n", + "#CALCULATION\n", + "#Assuming that freeboard in higher than TDH, computation of entrainment rate by Zenz & Weil's method\n", + "x=(uo**2)/(g*(dpbar*10**-6)*rhos**2);#Calculation of value of x-axis for Fig.(6), page 175\n", + "y=1.2; # Value of y-axis from Fig.(6)\n", + "Gsstar=y*rhog*uo; #Computation of rate of entrainment\n", + "\n", + "#OUTPUT\n", + "print '\\nRate of entrainment=%.2fkg/m**2s'%Gsstar\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Rate of entrainment=4.03kg/m**2s\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2, Page 180\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "x=0.2; #Fraction of fines in the bed\n", + "Gsstar=4.033320 #Rate of entrainment in kg/m**2s(from Exa.1)\n", + "\n", + "#CALCULATION\n", + "Gsstar1=x*Gsstar;#Rate of entrainment by Eqn.(3)\n", + "\n", + "#OUTPUT\n", + "print '\\nRate of entrainment=%.3fkg/m**2s'%Gsstar1\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Rate of entrainment=0.807kg/m**2s\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3, Page 181\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "rhog=5.51; #Density of gas in kg/m**3\n", + "rhos=1200; #Density of solid in kg/m**3\n", + "uo=0.61; #Superficial gas velocity in m/s\n", + "g=9.80; #Acceleration due to gravity in m/s**2\n", + "dp=[10,30,50,70,90,110,130]; #Diameter of particle in micrometer\n", + "p=[0.,0.0110,0.0179,0.0130,0.0058,0.0020,0.];\n", + "pi=3.142857;\n", + "dt=6;\n", + "\n", + "#CALCULATION\n", + "n=len(dp);\n", + "i=0;\n", + "x = [0,0,0,0,0,0,0]\n", + "while i<n:\n", + " x[i]=(uo**2)/(g*(dp[i]*10**-6)*rhos**2);#Computation of value of x-axis for Fig.(6), page 175)\n", + " i=i+1;\n", + "\n", + "y=[40,12,6,3.2,2.,1.3,1];#Value of y-axis corresponding to each value of x-axis\n", + "y1 = []\n", + "for i in range(n):\n", + " y1.append(y[i]*p[i]);\n", + "i=0;\n", + "k=0;\n", + "\n", + "while i<n-2:\n", + " y1[i]=(y[i]*p[i]);\n", + " k=k+((0.5)*(dp[i+1]-dp[i])*(y1[i+1]+y1[i]));#Integration using Trapezoidal rule\n", + " i=i+1;\n", + "rhosbar=k*rhog;#Computation of solid loading\n", + "te=(pi/4)*(dt**2)*rhosbar*uo;#Computation of total entrainment\n", + "\n", + "#OUTPUT\n", + "print '\\nSolid loading =%.1fkg/m**3'%rhosbar\n", + "print '\\nTotal Entrainment =%.0fkg/s'%te\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Solid loading =32.4kg/m**3\n", + "\n", + "Total Entrainment =559kg/s\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4, Page 181\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "dp=[40,60,80,100,120]; #Diameter of particle in micrometer\n", + "uo=0.381; #Superficial gas velocity in m/s\n", + "\n", + "#CALCULATION\n", + "Gs=0.9;#Rate of entrainment in kg/m**2 s from Fig.3(a)\n", + "pb = [0.45,1.00,1.25,1.00,0.60];#Size distribution for bed particles from Fig.3(b)\n", + "pe=[1.20,2.00,1.25,0.45,0.10]; #Size distribution for entrained particles from Fig.3(b)\n", + "n=len(dp);\n", + "for i in range(n):\n", + " pb[i] = pb[i]/100.\n", + " pe[i] = pe[i]/100.\n", + "i=0;\n", + "ki = []\n", + "while i<n:\n", + " ki.append((Gs*pe[i])/pb[i]);#Calculation of ki* using Eqn.(13)\n", + " i=i+1;\n", + "\n", + "#OUTPUT\n", + "print '\\ndpi(micrometer)',\n", + "print '\\t100pb(dpi)(micrometer**-1)',\n", + "print '\\t100pe(dpi)(micrometer**-1)',\n", + "print '\\tki*(kg/m**2 s)'\n", + "\n", + "j=0;\n", + "while j<n:\n", + " print '%f'%dp[j],\n", + " print '\\t%f'%(100*pb[j]),\n", + " print '\\t\\t\\t%f'%(100*pe[j]),\n", + " print '\\t\\t\\t%f'%ki[j]\n", + " j=j+1;\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "dpi(micrometer) \t100pb(dpi)(micrometer**-1) \t100pe(dpi)(micrometer**-1) \tki*(kg/m**2 s)\n", + "40.000000 \t0.450000 \t\t\t1.200000 \t\t\t2.400000\n", + "60.000000 \t1.000000 \t\t\t2.000000 \t\t\t1.800000\n", + "80.000000 \t1.250000 \t\t\t1.250000 \t\t\t0.900000\n", + "100.000000 \t1.000000 \t\t\t0.450000 \t\t\t0.405000\n", + "120.000000 \t0.600000 \t\t\t0.100000 \t\t\t0.150000\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5, Page 181\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math\n", + "\n", + "#Variable declaration\n", + "rhog=1.217; #Density of gas in kg/m**3\n", + "myu=1.8E-5; #Viscosity of gas in kg/m s\n", + "umf=0.11; #Velocity at minimum fluidization condition in m/s\n", + "rhos=2000.0; #Density of solid in kg/m**3\n", + "uo=1.0; #Superficial gas velocity in m/s\n", + "g=9.80; #Acceleration due to gravity in m/s**2\n", + "dp=[30,40,50,60,80,100,120]; #Diameter of particle in micrometer\n", + "uti=[0.066,0.115,0.175,0.240,0.385,0.555,1.0];#Terminal velocity of particles in m/s\n", + "\n", + "#CALCULATION\n", + "n=len(dp);\n", + "i=0;\n", + "Ret = []\n", + "kistar1 = []\n", + "kistar2 = []\n", + "kistar3 = []\n", + "kistar4 = []\n", + "kistar5 = []\n", + "kistar6 = []\n", + "x1 = []\n", + "x2 = []\n", + "\n", + "while i<n:\n", + " #Using Yagi & Aochi's correlation\n", + " Ret.append((rhog*(uti[i])*dp[i]*10**-6)/myu)\n", + " a =((myu*((uo-uti[i])**2))/(g*(dp[i]*10**-6)**2))*(0.0015*(Ret[i]**0.5)+(0.01*(Ret[i]**1.2)));\n", + " kistar1.append(a)\n", + " #Using Wen & Hasinger's correlation\n", + " a=(((1.52E-5)*((uo-uti[i])**2)*rhog)/(g*dp[i]*10**-6)**0.5)*(Ret[i]**0.725)*((rhos-rhog)/rhog)**1.15;\n", + " kistar2.append(a)\n", + " #Using Merrick & Highley's correlation\n", + " a=uo*rhog*(0.0001+130*math.exp(-10.4*((uti[i]/uo)**0.5)*((umf/(uo-umf))**0.25)));\n", + " kistar3.append(a)\n", + " #Using Geldart's correlation\n", + " a=23.7*uo*rhog*math.exp(-5.4*(uti[i]/uo));\n", + " kistar4.append(a)\n", + " #Using Zenz & Weil's procedure\n", + " a=(uo**2)/(g*(dp[i]*10.0**-6)*rhos**2);#Computation of value of x-axis for Fig.(6), page 175)\n", + " x1.append(a)\n", + " y1=[12.2,8.6,6.4,4.9,2.75,1.8,1.2];#Value of y-axis corresponding to each value of x-axis\n", + " kistar5.append(y1[i]*rhog*uo)\n", + " #Using Gugnoni & Zenz's procedure\n", + " a=(uo-uti[i])/((g*dp[i]*10**-6)**0.5);#Computation of value of x-axis for Fig.(6), page 175)\n", + " x2.append(a)\n", + " y=[5.8,5.4,3.2,2.8,1.3,0.6,0];#Value of y-axis corresponding to each value of x-axis\n", + " kistar6.append(y[i]*rhog*uo)\n", + " i=i+1;\n", + "\n", + "i=0;\n", + "print 'dp(micrometer)',\n", + "print '\\tYagi & Aochi',\n", + "print '\\tWen & Hashinger',\n", + "print '\\t\\tMerrick & Highley',\n", + "print '\\tGeldart et al.',\n", + "print '\\t\\tZenz & Well',\n", + "print '\\t\\tGugnoni & Zenz'\n", + "while i<n:\n", + " print '\\n%f'%dp[i],\n", + " print '\\t%f'%kistar1[i],\n", + " print '\\t%f'%kistar2[i],\n", + " print '\\t\\t%f'%kistar3[i],\n", + " print '\\t\\t%f'%kistar4[i],\n", + " print '\\t\\t%f'%kistar5[i],\n", + " print '\\t\\t%f'%kistar6[i],\n", + " i=i+1;\n", + "\n", + "#Note: There is huge deviation of the calculated answer and the answer given in the textbook for the correlation of Merrick & Highley. There is a contradiction in the correlation used in the problem and the one given in page 179. \n", + "#We tried to retrieve the original paper i.e. D.Merrick and J.Highley, AICHE J., 6, 220(1960). But the effort was not fruitful.\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "dp(micrometer) \tYagi & Aochi \tWen & Hashinger \t\tMerrick & Highley \tGeldart et al. \t\tZenz & Well \t\tGugnoni & Zenz\n", + "\n", + "30.000000 \t2.571188 \t1.092184 \t\t32.451340 \t\t20.195582 \t\t14.847400 \t\t7.058600 \n", + "40.000000 \t2.965958 \t1.564720 \t\t19.546385 \t\t15.500369 \t\t10.466200 \t\t6.571800 \n", + "50.000000 \t3.240381 \t1.938471 \t\t11.993076 \t\t11.210646 \t\t7.788800 \t\t3.894400 \n", + "60.000000 \t3.289995 \t2.154988 \t\t7.713841 \t\t7.892113 \t\t5.963300 \t\t3.407600 \n", + "80.000000 \t2.852535 \t2.120728 \t\t3.447977 \t\t3.606955 \t\t3.346750 \t\t1.582100 \n", + "100.000000 \t1.883718 \t1.521994 \t\t1.600171 \t\t1.440318 \t\t2.190600 \t\t0.730200 \n", + "120.000000 \t0.000000 \t0.000000 \t\t0.332158 \t\t0.130271 \t\t1.460400 \t\t0.000000\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 6, Page 190\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "import math\n", + "\n", + "#Variable declaration\n", + "dpbar=60.0; #Average size of particles in micrometer\n", + "rhog=1.3; #Density of gas in kg/m**3\n", + "rhos=1500.0; #Density of solid in kg/m**3\n", + "umf=0.003; #Velocity at minimum fluidization condition in m/s\n", + "uo=0.503; #Superficial gas velocity in m/s\n", + "g=9.80; #Acceleration due to gravity in m/s**2\n", + "Hf=2.0; #Height at which the cyclone inlet is to be located in m\n", + "\n", + "#CALCULATION\n", + "y=(uo**2)/(g*(dpbar*10**-3)*rhos**2);#Calculation of value of y-axis for Fig.(6), page 175\n", + "x=1;#Value of x-axis from Fig.(6), page 175\n", + "Gsstar=x*rhog*uo;#Computation of rate of entrainment\n", + "Gsuo=5.0;#Ejection rate pf particles in kg/m**2 s from Fig.(11), page 188\n", + "a=0.72/uo;#From Fig.(12), page 189\n", + "Gs=Gsstar+(Gsuo-Gsstar)*math.exp(-a*Hf);\n", + "p=((Gs-Gsstar)/Gsstar)*100.0;\n", + "\n", + "#OUTPUT\n", + "print '\\nRate of entrainment from short bed=%.3fkg/m**2s'%Gs\n", + "print '\\nThis entrainment is %f percent higher than it would be if the gas exit were at the TDH'%p\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Rate of entrainment from short bed=0.902kg/m**2s\n", + "\n", + "This entrainment is 37.955972 percent higher than it would be if the gas exit were at the TDH\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch8.ipynb b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch8.ipynb new file mode 100755 index 00000000..9fed0363 --- /dev/null +++ b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch8.ipynb @@ -0,0 +1,218 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 8 : High Velocity Fludization" + ] + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 1, Page 206\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "from numpy import zeros\n", + "from scipy.optimize import fsolve \n", + "\n", + "\n", + "#INPUT\n", + "Lmf=2.4; #Length of bed at minimum fluidized condition in m\n", + "uo=[2.,4.,6.]; #Superficial gas velocity in m/s\n", + "GsII=100.; #Solid circulation rate in kg/m**2 s for Mode II\n", + "uoIII=4.; #Superficial gas velocity in m/s for Mode III\n", + "GsIII=[42.,50.,100.,200.,400.]; #Solid circulation rate in kg/m**2 s for Mode III\n", + "GsIV=[70.,100.,120.]; #Solid circulation rate in kg/m**2 s for Mode IV\n", + "dt=0.4; #Column diamter in m\n", + "Ht=10.; #Height of column in m\n", + "rhos=1000.; #Density of solid in kg/m**3\n", + "dpbar=55.; #Particle diameter in micrometer\n", + "ephsilonmf=0.5; #Void fraction at minimum fluidization condition\n", + "\n", + "#CALCULATION\n", + "#Mode I\n", + "ephsilonstar=0.01; #Saturation carrying capacity of gas\n", + "ephsilonsd=[0.2,0.16,0.14]; #Solid holdup in lower dense region from Fig.8(b) for various uo\n", + "n=len(uo);\n", + "i=0;\n", + "Hfguess=2.; #Guess value of height\n", + "a = zeros(n)\n", + "Hf = zeros(n)\n", + "Hd = zeros(n)\n", + "ephsilonse = zeros(n)\n", + "GsI = zeros(n)\n", + "# endfunction\n", + " \n", + "while i<n:\n", + " a[i]= 3./uo[i]; #Decay consmath.tant\n", + " def solver_func(Hf): #Function defined for solving the system\n", + " return Lmf*(1-ephsilonmf)-((ephsilonsd[i]-(ephsilonstar+(ephsilonsd[i]-ephsilonstar)*math.exp(-a[i]*Hf)))/a[i])-Ht*ephsilonsd[i]+Hf*(ephsilonsd[i]-ephsilonstar);\n", + " \n", + " Hf[i] = fsolve(solver_func,1E-6)\n", + " Hd[i]=Ht-Hf[i];#Height of lower densce region\n", + " ephsilonse[i]=ephsilonstar+(ephsilonsd[i]-ephsilonstar)*math.exp(-a[i]*Hf[i]);#Solid holdup at exit\n", + " GsI[i]=rhos*uo[i]*ephsilonse[i];#Solid circulation rate from Eqn.(4)\n", + " i=i+1;\n", + "\n", + "#Mode II\n", + "i=0;\n", + "Hfguess2=2;#Guess value of height\n", + "ephsilonseII = zeros(n)\n", + "HdII = zeros(n)\n", + "LmfII = zeros(n)\n", + "HfII = zeros(n)\n", + "while i<n:\n", + " ephsilonseII[i]=GsII/(rhos*uo[i]);#Solid holdup at exit\n", + " def solver_func1(Hf): #Function defined for solving the system\n", + " return ephsilonseII[i]-ephsilonstar-(ephsilonsd[i]-ephsilonstar)*math.exp(-a[i]*Hf);#From Eqn.(7)\n", + " HfII[i] = fsolve(solver_func1,1E-6)\n", + " HdII[i]=Ht-HfII[i];#Height of lower dense region\n", + " #Length of bed minimum fluidization condtion\n", + " LmfII[i]=(1-ephsilonmf)**-1*((ephsilonsd[i]-ephsilonseII[i])/a[i])+Ht*ephsilonsd[i]-HfII[i]*(ephsilonsd[i]-ephsilonstar);\n", + " i=i+1;\n", + "\n", + "#Mode III\n", + "aIII = 3./uoIII; #Decay consmath.tant\n", + "ephsilonsdIII=0.16; #Solid holdup at lower dense region\n", + "i=0;\n", + "m=len(GsIII);\n", + "Hfguess3=2;#Guess value of height \n", + "ephsilonseIII = zeros(m)\n", + "HdIII = zeros(m)\n", + "ephsilonseIII = zeros(m)\n", + "LmfIII = zeros(m)\n", + "HfIII = zeros(m)\n", + "while i<m:\n", + " ephsilonseIII[i]=GsIII[i]/(rhos*uoIII);#Solid holdup at exit\n", + " def solver_func2(Hf): #Function defined for solving the system\n", + " return ephsilonseIII[i]-ephsilonstar-(ephsilonsdIII-ephsilonstar)*math.exp(-aIII*Hf);#From Eqn.(7)\n", + "\n", + " HfIII[i] = fsolve(solver_func2,1E-6)\n", + " HdIII[i]=Ht-HfIII[i]; #Height of lower dense region\n", + " #Length of bed at minimum fluidization condition\n", + " LmfIII[i]=(1-ephsilonmf)**-1*(((ephsilonsdIII-ephsilonseIII[i])/aIII)+Ht*ephsilonsdIII-HfIII[i]*(ephsilonsdIII-ephsilonstar));\n", + " i=i+1;\n", + "\n", + "#Mode IV\n", + "i=0;\n", + "Hfguess4=2;#Guess value of height\n", + "aIV = zeros(n)\n", + "ephsilonseIV = zeros(n)\n", + "HdIV = zeros(n)\n", + "HfIV = zeros(n)\n", + "LmfIV = zeros(n)\n", + "while i<n:\n", + " aIV[i]=3./uo[i]; #Decay consmath.tant\n", + " ephsilonseIV[i]=GsIV[i]/(rhos*uo[i]); #Solid holdup at exit\n", + " def solver_func3(Hf): #Function defined for solving the system\n", + " return ephsilonseIV[i]-ephsilonstar-(ephsilonsd[i]-ephsilonstar)*math.exp(-aIV[i]*Hf); #From Eqn.(7)\n", + "\n", + " HfIV[i] = fsolve(solver_func3,1E-6)\n", + " HdIV[i]=Ht-HfIV[i];#Height of lower dense region\n", + " #Length of bed at minimum fluidization condition\n", + " LmfIV[i]=(1-ephsilonmf)**-1*(((ephsilonsd[i]-ephsilonseIV[i])/aIV[i])+Ht*ephsilonsd[i]-HfIV[i]*(ephsilonsd[i]-ephsilonstar));\n", + " i=i+1;\n", + "\n", + "#OUTPUT\n", + "print 'Mode I';\n", + "print '\\tuom/s\\t\\tephsilonse-\\tHfm\\t\\tHdm\\t\\tGskg/m**2 s';\n", + "i=0;\n", + "while i<n:\n", + " print '\\t%f\\t%f\\t%f\\t%f\\t%f'%(uo[i],ephsilonse[i],Hf[i],Hd[i],GsI[i]);\n", + " i=i+1;\n", + "\n", + "print 'Mode II';\n", + "print '\\tuom/s\\t\\tephsilonse-\\tHfm\\t\\tHdm\\t\\tLmfm';\n", + "i=0;\n", + "while i<n:\n", + " print '\\t%f\\t%f\\t%f\\t%f\\t%f'%(uo[i],ephsilonseII[i],HfII[i],HdII[i],LmfII[i]);\n", + " i=i+1;\n", + "\n", + "print 'Mode III';\n", + "print '\\tGskg/m** s\\tephsilonse-\\tHfm\\t\\tHdm\\t\\tLmfm';\n", + "i=0;\n", + "while i<m:\n", + " print '\\t%f\\t%f\\t%f\\t%f\\t%f'%(GsIII[i],ephsilonseIII[i],HfIII[i],HdIII[i],LmfIII[i]);\n", + " i=i+1;\n", + "\n", + "print 'Mode IV';\n", + "print '\\tuom/s\\t\\tGskg/m**2 s\\tephsilonse-\\tHfm\\t\\tLmfm';\n", + "i=0;\n", + "while i<n:\n", + " print '\\t%f\\t%f\\t%f\\t%f\\t%f'%(uo[i],GsIV[i],ephsilonseIV[i],HfIV[i],LmfIV[i]);\n", + " i=i+1;\n", + "\n", + "#====================================END OF PROGRAM ======================================================" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Mode I\n", + "\tuom/s\t\tephsilonse-\tHfm\t\tHdm\t\tGskg/m**2 s\n", + "\t2.000000\t0.192856\t0.025551\t9.974449\t385.711493\n", + "\t4.000000\t0.017870\t3.930041\t6.069959\t71.481458\n", + "\t6.000000\t0.037349\t3.117707\t6.882293\t224.094133\n", + "Mode II\n", + "\tuom/s\t\tephsilonse-\tHfm\t\tHdm\t\tLmfm\n", + "\t2.000000\t0.050000\t1.038763\t8.961237\t2.002635\n", + "\t4.000000\t0.025000\t3.070113\t6.929887\t1.499483\n", + "\t6.000000\t0.016667\t5.940829\t4.059171\t1.121026\n", + "Mode III\n", + "\tGskg/m** s\tephsilonse-\tHfm\t\tHdm\t\tLmfm\n", + "\t42.000000\t0.010500\t7.605043\t2.394957\t1.317154\n", + "\t50.000000\t0.012500\t5.459126\t4.540874\t1.955596\n", + "\t100.000000\t0.025000\t3.070113\t6.929887\t2.638966\n", + "\t200.000000\t0.050000\t1.762341\t8.237659\t2.964631\n", + "\t400.000000\t0.100000\t0.681101\t9.318899\t3.155670\n", + "Mode IV\n", + "\tuom/s\t\tGskg/m**2 s\tephsilonse-\tHfm\t\tLmfm\n", + "\t2.000000\t70.000000\t0.035000\t1.352099\t3.706202\n", + "\t4.000000\t100.000000\t0.025000\t3.070113\t2.638966\n", + "\t6.000000\t120.000000\t0.020000\t5.129899\t1.946226\n" + ] + }, + { + "output_type": "stream", + "stream": "stderr", + "text": [ + "/usr/lib/python2.7/dist-packages/scipy/optimize/minpack.py:227: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " warnings.warn(msg, RuntimeWarning)\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch9.ipynb b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch9.ipynb new file mode 100755 index 00000000..5087d780 --- /dev/null +++ b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/ch9.ipynb @@ -0,0 +1,265 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:52ff353152f32e41c2e832a90f993fbd3f11b7f2a5fbb5e4f20eb7599a61f880" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 9 : Solid Movement Mixing Segregation and Staging" + ] + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 1, Page 218\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "umf=0.015; #Velocity at minimum fluidization condition in m/s\n", + "ephsilonmf=0.5; #Void fraction at minimum fluidization condition\n", + "uo=0.1; #Superficial gas velocity in m/s\n", + "delta=0.2; #Bed fraction in bubbles\n", + "db=0.06; #Equilibrium bubble size in m\n", + "dt=[0.1,0.3,0.6,1.5]; #Various vessel sizes in m\n", + "ub=[0.4,0.75,0.85,1.1]; #Bubble velocity in m/s\n", + "Dsv=[0.03,0.11,0.14,0.23]; #Reported values of vertical dispersion coefficient\n", + "\n", + "#CALCULATION\n", + "n=len(ub);\n", + "i=0;\n", + "fw1=2;#Wake fraction from Hamilton et al.\n", + "fw2=0.32;#Wake fraction from Fig.(5.8)\n", + "fw=(fw1+fw2)*0.5;#Average value of wake fraction\n", + "Dsv1 = []\n", + "Dsv2 = []\n", + "while i<n:\n", + " Dsv1.append(12*((uo*100)**0.5)*((dt[i]*100)**0.9));#Vertical distribution coefficient from Eqn.(3)\n", + " Dsv2.append((fw**2*ephsilonmf*delta*db*ub[i]**2)/(3*umf));#Vertical distribution coefficient from Eqn.(12)\n", + " i=i+1;\n", + "\n", + "print Dsv1\n", + "\n", + "#OUTPUT\n", + "print '\\t\\tVertical dispersion coefficient(m**2/s)'\n", + "print 'Vessel Size(m)',\n", + "print '\\tFrom Experiment',\n", + "print '\\tFrom Eqn.(3)',\n", + "print '\\tFrom Eqn.(12)'\n", + "i=0;\n", + "while i<n:\n", + " print '%.2f'%dt[i],\n", + " print '\\t%.3f'%Dsv[i],\n", + " print '\\t%.2f'%(Dsv1[i]/10**4),\n", + " print '\\t%.2f'%Dsv2[i]\n", + " i=i+1; \n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "[301.42637178114967, 810.1965234492834, 1511.8801720132121, 3448.7632274996104]\n", + "\t\tVertical dispersion coefficient(m**2/s)\n", + "Vessel Size(m) \tFrom Experiment \tFrom Eqn.(3) \tFrom Eqn.(12)\n", + "0.10 \t0.030 \t0.03 \t0.03\n", + "0.30 \t0.110 \t0.08 \t0.10\n", + "0.60 \t0.140 \t0.15 \t0.13\n", + "1.50 \t0.230 \t0.34 \t0.22\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2, Page 222\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "Lmf=0.83; #Length of bed at minimum fluidization condition in m\n", + "dp=450.0; #Average particle size in micrometer\n", + "ephsilonmf=0.42; #Void fraction at minimum fluidization condition\n", + "umf=0.17; #Velocity at minimum fluidization condition in m/s\n", + "uo=[0.37,0.47,0.57,0.67]; #Superficial gas velocity in m/s\n", + "Dsh=[0.0012,0.0018,0.0021,0.0025]; #Horizontal Drift Coefficient from Experiment in m**2/s\n", + "db=[0.10,0.14]; #Equilibrium bubble size in m\n", + "g=9.81; #Acceleration due to gravity in m/s**2\n", + "\n", + "\n", + "#CALCULATION\n", + "n=len(uo);\n", + "m=len(db);\n", + "k=0;\n", + "alpha=0.77;#Since we are not dealing with Geldart A or AB solids\n", + "uf=umf/ephsilonmf;\n", + "ubr = []\n", + "ub = []\n", + "delta = []\n", + "Dshc = []\n", + "for j in range(m):\n", + " for i in range(n):\n", + " ubr.append(0.711*(db[j]*g)**0.5);#Rise velocity of a single bubble in m/s\n", + " ub.append(uo[i]-umf+ubr[k]);#Rise velocity of bubbles in a bubbling bed\n", + " delta.append((uo[i]-umf)/(ub[k]+umf));#Bed fraction in bubbles\n", + " if ubr[i]>uf:\n", + " Dshc.append((3/16.0)*(delta[k]/(1-delta[k]))*((alpha**2*db[j]*ubr[k]*((((ubr[k]+2*uf)/(ubr[k]-uf))**(1.0/3))-1))));\n", + " #Horizontal Distribution coeff. from Eqn.(14)\n", + " else:\n", + " Dsh.append((3.0/16)*(delta/(1-delta))*(alpha**2*umf*db/ephsilonmf))\n", + " #Horizontal Distribution coeff. from Eqn.(15)\n", + " Dshc.append((3/16.0)*(delta[k]/(1-delta[k]))*((alpha**2*db[j]*ubr[k]*((((ubr[k]+2*uf)/(ubr[k]-uf))**(1/3.0))-1))));#Horizontal Distribution coeff. from Eqn.(14)\n", + " k=k+1;\n", + "i=0;\n", + "j=0;\n", + "k=0;\n", + "while k<m*n:\n", + " print 'Snce we do not have ub=%fm/s>>uf=%fm/s we use Eqn.(14).'%(ub[k],uf)\n", + " print 'Gas Velocity(m/s)'\n", + " print '\\tHorizontal Drift Coefficient Calculated(m**2/s)'\n", + " print '\\tHorizontal Drift Coefficient from Experiment(m**2/s)'\n", + " while j<m:\n", + " print 'db=%fm'%db[j]\n", + " while i<n:\n", + " print '%f'%uo[i],\n", + " print '\\t\\t%f'%Dshc[k],\n", + " print '\\t\\t\\t\\t\\t%f'%Dsh[i]\n", + " i=i+1; \n", + " k=k+1;\n", + " i=0;\n", + " j=j+1;\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Snce we do not have ub=0.904213m/s>>uf=0.404762m/s we use Eqn.(14).\n", + "Gas Velocity(m/s)\n", + "\tHorizontal Drift Coefficient Calculated(m**2/s)\n", + "\tHorizontal Drift Coefficient from Experiment(m**2/s)\n", + "db=0.100000m\n", + "0.370000 \t\t0.001283 \t\t\t\t\t0.001200\n", + "0.470000 \t\t0.001283 \t\t\t\t\t0.001800\n", + "0.570000 \t\t0.001924 \t\t\t\t\t0.002100\n", + "0.670000 \t\t0.001924 \t\t\t\t\t0.002500\n", + "db=0.140000m\n", + "0.370000 \t\t0.002566 \t\t\t\t\t0.001200\n", + "0.470000 \t\t0.002566 \t\t\t\t\t0.001800\n", + "0.570000 \t\t0.003207 \t\t\t\t\t0.002100\n", + "0.670000 \t\t0.003207 \t\t\t\t\t0.002500\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3, Page 232\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math\n", + "\n", + "#Variable declaration\n", + "Gsup=1.5; #Solid interchange rate in kg/m**2plate s\n", + "dor=19.1; #Orifice diameter in mm\n", + "dp=210; #Particle size in micrometer\n", + "uo=0.4; #Superficial gas velocity in m/s\n", + "fopen=[0.12,0.17,0.26]; #Open area fraction \n", + "pi=3.14;\n", + "\n", + "#CALCULATION\n", + "n=len(fopen);\n", + "uor = []\n", + "ls1 = []\n", + "i=0\n", + "while i<n:\n", + " uor.append(uo/fopen[i]); #Gas velocity through the orifice\n", + " ls1.append(Gsup/fopen[i]);#Flux of solids through the holes\n", + " i=i+1;\n", + "\n", + "ls2=[12,20,25]; #Flux of solids through holes from Fig.13(c) for different uor values\n", + "fopen1=0.12; #Open area fraction which gives reasonable fit\n", + "lor=math.sqrt(((math.pi/4)*dor**2)/fopen1);#Orifice spacing\n", + "\n", + "#OUTPUT\n", + "print 'fopen',\n", + "print '\\t\\tuor(m/s)',\n", + "print '\\tls from Eqn.(18)',\n", + "print '\\tls from Fig.13(c)'\n", + "i=0;\n", + "while i<n:\n", + " print '%f'%fopen[i],\n", + " print '\\t%f'%uor[i],\n", + " print '\\t%f'%ls1[i],\n", + " print '\\t\\t%f'%ls2[i]\n", + " i=i+1; \n", + "\n", + "print '\\nFor square pitch, the orifice spacing should be %fmm'%lor\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "fopen \t\tuor(m/s) \tls from Eqn.(18) \tls from Fig.13(c)\n", + "0.120000 \t3.333333 \t12.500000 \t\t12.000000\n", + "0.170000 \t2.352941 \t8.823529 \t\t20.000000\n", + "0.260000 \t1.538462 \t5.769231 \t\t25.000000\n", + "\n", + "For square pitch, the orifice spacing should be 48.863850mm\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/screenshots/plotkbckbedb.png b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/screenshots/plotkbckbedb.png Binary files differnew file mode 100755 index 00000000..b7c9004b --- /dev/null +++ b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/screenshots/plotkbckbedb.png diff --git a/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/screenshots/relationnubedrep.png b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/screenshots/relationnubedrep.png Binary files differnew file mode 100755 index 00000000..8919a070 --- /dev/null +++ b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/screenshots/relationnubedrep.png diff --git a/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/screenshots/relationshebdrep.png b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/screenshots/relationshebdrep.png Binary files differnew file mode 100755 index 00000000..173822d6 --- /dev/null +++ b/Fluidization_Engineering_by_K_Daizo_And_O_Levenspiel/screenshots/relationshebdrep.png |