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