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