{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Chapter 8 - Membrane Separation Processes"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Page 460 Example 8.2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nVuL/AKOrVmLW7TWCAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f2751936d50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      " Jo = 0.099 m/h\n",
      "\n",
      " Jf = 0.000   m/h\n",
      "\n",
      " Jav = 0.025   m/h\n",
      "\n",
      " Area = 79.650  m**2\n"
     ]
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "from matplotlib.pyplot import plot,title,xlabel,ylabel,show\n",
    "from math import log\n",
    "\n",
    "#From the gel polarisation model:\n",
    "         #J = (1/A)(dV/dt) = hD ln(Cg/Cf)\n",
    "         #Cf = Co(Vo/V)\n",
    "#where Co and Vo are the initial concentration and volume,respectively and Cf and V are the values at subsequent times\n",
    "#Combining these eq gives\n",
    "        #dV/dt = A(hDln(Cg/Co)-hDln(Vo/V))\n",
    "V = [10, 5 ,3 ,2, 1]#\n",
    "y = [9.90, 13.64, 18.92, 27.30, 112.40]\n",
    "plot(V,y)\n",
    "title(\"Area under the curve is 184.4\")\n",
    "xlabel(\"Volume(m**3)\")\n",
    "ylabel(\"(J - hDln(Vo/V))**(-1)\")\n",
    "show()\n",
    "\n",
    "#(b)\n",
    "Jo = 0.04*log(250/20)#\n",
    "print\"\\n Jo = %.3f m/h\"%(Jo)#\n",
    "Jf = 0.04*log(250/200)#\n",
    "print\"\\n Jf = %.3f   m/h\"%(Jf)#\n",
    "Jav = Jf + 0.27*(0.101-0.008)#\n",
    "print\"\\n Jav = %.3f   m/h\"%(Jav)#\n",
    "#For the removal of 9m**3 filtrate in 4 hours\n",
    "Area = (9/4)/Jav#\n",
    "print\"\\n Area = %.3f  m**2\"%(Area)#"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Page 462 Example 8.3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      " Cl = 4 kg/m**3\n",
      "\n",
      " below this concentration the membrane flux is 0.04 m/h\n",
      "\n",
      " A = 300 m**2\n",
      "\n",
      " the no of required modules are 10 \n",
      "\n",
      " The procedure is to use trial and error to estimate the value of C1 that gives the optimum values of A1 and A2\n",
      "\n",
      " If C1 = 5kg/m**3 then A1 = 62 m**2 and A2 = 23 m**2\n",
      "\n",
      " an arrangement of 3 modules −1 module is required.\n",
      "\n",
      "\n",
      "\n",
      "  If C1 = 4 kg/m**3 then A1 = 54m**2 and A2 = 30m**2\n",
      "\n",
      " an arrangement of 2 modules −1 module is almost sufficient.\n",
      "\n",
      "\n",
      "\n",
      "   If C1 = 4.5 kg/m**3 then A1 = 58m**2 and A2 = 26 m**2\n",
      "\n",
      " an arrangement of 2 modules −1 module which meets the requirement\n",
      "\n",
      "\n",
      " This arrangement requires the minimum number of modules.\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "from math import log\n",
    "#It is assumed that Q0 is the volumetric flowrate of feed\n",
    "# Q2 the volumetric flowrate of concentrate\n",
    "#C0 the solute concentration in the feed\n",
    "# C2 the solute concentration in the concentrate\n",
    "# F the volumetric flowrate of membrane permeate\n",
    "# A the required membrane area.\n",
    "# It is also assumed that there is no loss of solute through the membrane.\n",
    "Cl = 3#\n",
    "while 1:\n",
    "    Clnew = Cl -(0.04-0.02*log(30/Cl))/(Cl**(-1)/50)#\n",
    "    if Clnew == Cl:\n",
    "        break#\n",
    "    \n",
    "    Cl = Clnew#\n",
    "\n",
    "print\"\\n Cl = %d kg/m**3\"%(Cl)#\n",
    "print\"\\n below this concentration the membrane flux is 0.04 m/h\"\n",
    "\n",
    "#This does not pose a constraint for the single stage as the concentration of solute C2 will be that of the final concentrate, 20 kg/m3.\n",
    "#Conservation of solute gives:QoCo = Q2C2\n",
    "#A fluid balance gives : Qo = F + Q2\n",
    "#Combining these eq and substituting Known values:\n",
    "A = (2.438/0.02)/log(30/20)#\n",
    "print\"\\n A = %d m**2\"%(A)#\n",
    "#The tubular membranes to be used are available as 30 m**2modules.\n",
    "print\"\\n the no of required modules are %d \"%(A/30)#\n",
    "\n",
    "#Part(b)\n",
    "\n",
    "#Conservation of solute gives = QoCo = Q1C1 = Q2C2\n",
    "#A fluid balance on stage 2 gives Q1 = Q2 + F2\n",
    "#A fluid balance on stage 2 gives Q1 = Q2 +F2\n",
    "#Substituting given values in above eqns\n",
    "#2.5 = 1.25/C1 + 0.02A1ln(30/C1)\n",
    "def a(C1):\n",
    "    A1 = (2.5-1.25/C1)/(0.02*log(30/C1))#\n",
    "    return A1\n",
    "def b(C1):\n",
    "    A2 = (1.25/C1 - 0.0625)/0.00811\n",
    "    return A2\n",
    "\n",
    "print\"\\n The procedure is to use trial and error to estimate the value of C1 that gives the optimum values of A1 and A2\"\n",
    "print\"\\n If C1 = 5kg/m**3 then A1 = %d m**2 and A2 = %d m**2\"%(a(5),b(5))#\n",
    "print\"\\n an arrangement of 3 modules −1 module is required.\"\n",
    "print\"\\n\\n\\n  If C1 = 4 kg/m**3 then A1 = %dm**2 and A2 = %dm**2\"%(a(4),b(4))#\n",
    "print\"\\n an arrangement of 2 modules −1 module is almost sufficient.\"\n",
    "print\"\\n\\n\\n   If C1 = 4.5 kg/m**3 then A1 = %dm**2 and A2 = %d m**2\"%(a(4.5),b(4.5))#\n",
    "print\"\\n an arrangement of 2 modules −1 module which meets the requirement\"\n",
    "print\"\\n\\n This arrangement requires the minimum number of modules.\""
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
