{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Chapter 3 : Material Balances without Chemical Reaction"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Example 3.1   Page 60"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Percentage of feed water to be blown down is  0.342857142857 .\n"
     ]
    }
   ],
   "source": [
    "# solution \n",
    "\n",
    "# Variables \n",
    "m = 1.               #[kg] feed water\n",
    "m1 = 1200.           #[mg] dissolved solids in 1 kg feed water\n",
    "m2 = 3500.           #[mg] max dissolved solid content \n",
    "\n",
    "# Calculation \n",
    "x = (m*m1)/m2        # [kg] blown down water\n",
    "\n",
    "# Result\n",
    "print \"Percentage of feed water to be blown down is \",x,\".\"\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Example 3.2   Page 61"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Amount of water that evaporated is  84  kg.\n"
     ]
    }
   ],
   "source": [
    "# solution \n",
    "\n",
    "# Variables \n",
    "m = 100.                 #[kg] weak liquor (feed)\n",
    "m1 = 4.                  #[kg] NaOH\n",
    "p = .25\n",
    "\n",
    "# Calculation \n",
    "x = 4./p                 # water left\n",
    "y = 100-16               # [kg] evaporated water\n",
    "\n",
    "# Result\n",
    "print \"Amount of water that evaporated is \",y,\" kg.\"\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "###  Example 3.3   Page 61"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Percentage of Tannin recovered during leaching is  94.5625688387 .\n"
     ]
    }
   ],
   "source": [
    "# solution \n",
    "\n",
    "# Variables \n",
    "m = 100.                     #[kg] babul bark (basis)\n",
    "m1 = 5.8                     #[kg] moisture\n",
    "m2 = 12.6                    #[kg] Tannin\n",
    "m3 = 8.3                     #[kg] soluble non tannin organic material\n",
    "m4 = m-m1-m2-m3              # [kg] Lignin\n",
    "\n",
    "# Calculation \n",
    "# lignin content remains unaffected during leaching\n",
    "m5 = 100-.92-.65             # [kg lignin/kg dry residue]\n",
    "x = (m4*100)/m5              # [kg]\n",
    "T1 = x*.0092                 #[kg] Tannin present in residue\n",
    "T2 = m2 - T1                 # [kg] Tannin recovered\n",
    "T = (T2/m2)*100\n",
    "\n",
    "# Result \n",
    "print \"Percentage of Tannin recovered during leaching is \",T,\".\"\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "###  Example 3.4   Page 62"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "a  mass of extract phase per kg of dry leaves is  0.0243902439024  kg   \n",
      "b  percent recovery of Alpha Tocopherol is  82.1845174973 .\n"
     ]
    }
   ],
   "source": [
    "# solution \n",
    "\n",
    "# Variables \n",
    "m = 1.                   #[kg] dry neem leaves (basis)\n",
    "m1 = .01/100             #[kg] beta cartene content of leaves\n",
    "\n",
    "# Calculation\n",
    "Ex = (m1*100)/.41        #[kg] extract quantity\n",
    "Tc1 = Ex*.155            #[kg] Alpha Tocopherol in the extract\n",
    "Tc2 = .46/100            #[kg] Alpha Tocopherol in the neem leaves\n",
    "R = (Tc1*100)/Tc2        # recovery of Alpha Tocopherol \n",
    "\n",
    "# Result\n",
    "print \"a  mass of extract phase per kg of dry leaves is \"\\\n",
    ",Ex,\" kg   \\nb  percent recovery of Alpha Tocopherol is \",R,\".\"\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Example 3.5   Page 62"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "a)  Upper layer =  93.4470832373  kg \n",
      "and Lower layer =  102.421028361   \n",
      "b)  mass ratio of the mixed solvent to the original mixture is  -0.9989     \n",
      "c)  water mass percent =  58.9418250036 \n",
      "and acetic acid mass percent =  41.0581749964 .\n"
     ]
    }
   ],
   "source": [
    "# solution \n",
    "from numpy import array, linalg\n",
    "\n",
    "# Variables \n",
    "m= 100.                  #[kg] original mixture (basis)\n",
    "A = 27.8                 #[kg]\n",
    "B = 72.2                 #[kg]\n",
    "\n",
    "# let x and y be uper and lower layer amounts\n",
    "# total mixture = (x+y) kg\n",
    "# balancing A and B\n",
    "X = array([[.075 ,.203],[.035, .673]])\n",
    "d = array([27.8,72.2])\n",
    "\n",
    "# Calculation \n",
    "x = linalg.solve(X,d)\n",
    "M = X[0][0]+X[1,0]          # [kg] total mixture\n",
    "Ms = M - m                  #[kg] mixed solvent\n",
    "Mr = Ms/m\n",
    "S1 = x[0]*.574+x[1]*.028            #[kg] water balance\n",
    "S2 = x[0]*.316+x[1]*.096            #[kg] acetic acid balance\n",
    "Qs = S1+S2\n",
    "pS1 = (S1*100)/Qs\n",
    "pS2 = 100-pS1\n",
    "\n",
    "# Result\n",
    "print \"a)  Upper layer = \",x[0],\" kg \\nand Lower layer = \",x[1],\\\n",
    "\"  \\nb)  mass ratio of the mixed solvent to the original mixture is \",Mr,\\\n",
    "\"    \\nc)  water mass percent = \",pS1,\"\\nand acetic acid mass percent = \",pS2,\".\"\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Example 3.6   Page 63"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Vol percent of N2 is  70.6666666667  and Vol percent of O2 is  29.3333333333 .\n"
     ]
    }
   ],
   "source": [
    "# solution \n",
    "# Variables \n",
    "m = 170.                         #[Nm**3/h] air (basis)\n",
    "m1 = 50*.99                     #[Nm**3/h] N2 content of the stream\n",
    "m2 = 50*.01                      #[Nm**3/h]\n",
    "\n",
    "# Calculation \n",
    "N = m*.79-m1                     # [Nm**3/h] N2\n",
    "O = m*.21-m2                     # [Nm**3/h] O2\n",
    "V1 = N*100/(N+O)\n",
    "V2 = O*100/(N+O)\n",
    "\n",
    "# Result\n",
    "print \"Vol percent of N2 is \",V1,\" and Vol percent of O2 is \",V2,\".\"\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Example 3.7   Page 64"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Strength of Oleum required is  22.8571428571  HNO3 and Oleum are required to be mixed in the proportion of  0.942857142857 :1.\n"
     ]
    }
   ],
   "source": [
    "# solution \n",
    "# Variables \n",
    "m = 100.                     #[kg] SO3 free mixed acid (basis)\n",
    "m1 = 55.                     #[kg] HNO3\n",
    "m2 = 45.                     #[kg] H2SO4\n",
    "\n",
    "# Calculation \n",
    "# SO3 + H2O --> H2SO4\n",
    "m3 = (80./18)*3              #[kg] SO3 equivalent to 3 kg of water\n",
    "Q = m2+m3                    #[kg] oleum to be mixed\n",
    "S = (m3/Q)*100               # strength of oleum\n",
    "R = m1/Q \n",
    "\n",
    "# Result\n",
    "print \"Strength of Oleum required is \",S,\" HNO3 and Oleum are required\\\n",
    " to be mixed in the proportion of \",R,\":1.\"\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Example 3.8   Page 64"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "quantities of acids required are :\n",
      "    Spent  =   76.4139267072 kg\n",
      "    HNO3   =   345.961362536  kg\n",
      "    H2SO4  =   577.624710757  kg.\n"
     ]
    }
   ],
   "source": [
    "from numpy import array, linalg\n",
    "\n",
    "# solution \n",
    "# Variables \n",
    "m = 1000.                #[kg] mixed acid (basis)\n",
    "# doing overall mass balance, H2SO4 balance and HNO3 balance\n",
    "A = array([[1, 1, 1],[.444, 0, .98],[.113, .9, 0]])\n",
    "d = array([1000,600,320])\n",
    "\n",
    "# Calculation \n",
    "x = linalg.solve(A,d)\n",
    "\n",
    "# Result\n",
    "print \"quantities of acids required are :\"\n",
    "print \"    Spent  =  \",x[0],\"kg\"\n",
    "print \"    HNO3   =  \",x[1],\" kg\"\n",
    "print \"    H2SO4  =  \",x[2],\" kg.\"\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Example 3.9   Page 65"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Component analysis of raw water:\n",
      " Compound          mg/l \n",
      " Ca(HCO3)2        505.62\n",
      " Mg(HCO3)2          49.896\n",
      " NaHCO3           11.088\n",
      " Na2CO3           69.854\n",
      " NaCl             783.735211268\n",
      " Na2SO4           152.20625\n"
     ]
    }
   ],
   "source": [
    "# solution \n",
    "# Variables \n",
    "l = 1.                      #[litre] water (basis)\n",
    "Cl = 475.6                  #[mg]\n",
    "m1 = (58.5/35.5)*Cl         #[mg] NaCl present in water\n",
    "SO4 = 102.9                 #[mg] # SO4\n",
    "m3 = (142./96)*SO4          #[mg] Na2SO4 present in water\n",
    "\n",
    "# Calculation \n",
    "# carbonates are present due to Na2CO3\n",
    "# eq mass of CaCO3 = 50\n",
    "# eq mass of Na2CO3 = 53\n",
    "m4 = (53./50)*65.9          # [mg] Na2CO3 present in water\n",
    "\n",
    "# NaHCO3 in water = bicarbonates - temporary hardness\n",
    "m5 = 390.6-384              # [mg] NaHCO3 present as CaCO3\n",
    "m6 = (84./50)*m5            # [mg] NaHCO3 present in water\n",
    "\n",
    "# equivalent mass of Mg(HCO3)2 = 73.15\n",
    "m7 = (m6/50.)*225\n",
    "m8  = 384-225               #[mg] CaCO3 from Ca(HCO3)2\n",
    "# equivalent mass of Ca(HCO3)2 is 81\n",
    "m9 = (m8/50.)*159           #[mg] Ca(HCO3)2 present in water\n",
    "\n",
    "# Result\n",
    "print \"Component analysis of raw water:\"\n",
    "print \" Compound          mg/l \"\n",
    "print \" Ca(HCO3)2       \",m9\n",
    "print \" Mg(HCO3)2         \",m7\n",
    "print \" NaHCO3          \",m6\n",
    "print \" Na2CO3          \",m4\n",
    "print \" NaCl            \",m1\n",
    "print \" Na2SO4          \",m3\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Example 3.11   Page 68"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Flowrates are : \n",
      "   A =  158.0  kg/h\n",
      "   B =  422.0  kg/h\n",
      "   C =  420.0  kg/h\n"
     ]
    }
   ],
   "source": [
    "from numpy import array, linalg\n",
    "# solution \n",
    "# Variables \n",
    "# basis : 1000 kg/h of feed\n",
    "# balancing H2SO4, HNO3 and H2O in all the three product streams\n",
    "M = array([[1, 0, 0, 1, 0, 0, 1, 0, 0],[0, 1, 0 ,0, 1, 0, 0, 1, 0],\\\n",
    "[0, 0, 1, 0, 0, 1, 0, 0, 1],[1, 0, 0, 0, 0, 0, 0, 0, 0],[0, 1, 0, 0, 0, 0, 0, 0, 0]\\\n",
    ",[0, 0, 1, 0, 0, 0, 0, 0, 0],[0 ,0, 0, 1, 0, 0, 0, 0, 0],[0, 0, 0, 0, 1, 0, 0, 0, 0],\\\n",
    "[0, 0, 0, 0, 0, 1, 0, 0, 0]])\n",
    "v = array([400,100,500,4,94,60,16,6,400])\n",
    "\n",
    "# Calculation \n",
    "s = linalg.solve(M,v)\n",
    "A = s[0]+s[1]+s[2]\n",
    "B = s[3]+s[4]+s[5]\n",
    "C = s[6]+s[7]+s[8]\n",
    "\n",
    "# Result\n",
    "print \"Flowrates are : \"\n",
    "print \"   A = \",A,\" kg/h\"\n",
    "print \"   B = \",B,\" kg/h\"\n",
    "print \"   C = \",C,\" kg/h\"\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "###  Example 3.12   Page 70"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nNvUAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f0690347e50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "a  Upper layer =  93.4  kg and Lower layer =  102.4\n",
      "b  mass ratio of the mixed solvent to the original mixture is  0.958\n",
      "c  water mass percent =  58.9403862931  and acetic acid mass percent =  41.0596137069 .\n"
     ]
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "from numpy import linspace\n",
    "from matplotlib.pyplot import plot, show\n",
    "# solution \n",
    "# Variables \n",
    "m = 100.                      # kg\n",
    "x = linspace(70,110,5);\n",
    "y = linspace(100,115,4);\n",
    "\n",
    "# Calculation \n",
    "y1 = 27.8/.203 - .075*x/.203\n",
    "y2 = 72.2/.673 - .035*x/.673\n",
    "x = linspace(70,110,5);\n",
    "plot(x,y1)\n",
    "plot(x,y2)\n",
    "show()\n",
    "x = 93.4;\n",
    "y = 102.4;\n",
    "M = x+y                      # [kg] total mixture\n",
    "Ms = M - m                   #[kg] mixed solvent\n",
    "Mr = Ms/m                    # mixed solvent/original mixture\n",
    "S1 = x*.574+y*.028           #[kg] water balance\n",
    "S2 = x*.316+y*.096           #[kg] acetic acid balance\n",
    "Qs = S1+S2\n",
    "pS1 = (S1*100)/Qs\n",
    "pS2 = 100-pS1\n",
    "\n",
    "# Result\n",
    "print \"a  Upper layer = \",x,\" kg and Lower layer = \",y\n",
    "print \"b  mass ratio of the mixed solvent to the original mixture is \",Mr\n",
    "print \"c  water mass percent = \",pS1,\" and acetic acid mass percent = \",pS2,\".\"\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "###  Example 3.14   Page 73"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "a  recovery percent of glycerine is  85.9864521592\n",
      "   b  percent loss of glycerinr is  1.04784081287\n",
      "   c  product contamination with respect to salt NaCl is  0.283116033416\n"
     ]
    }
   ],
   "source": [
    "# solution \n",
    "# Variables \n",
    "#using table 2.7 on page no 75\n",
    "Rg = 8124.*100/9448                 # recovery of glycerine\n",
    "Lg = (16+83)*100./9448              # loss of glycerine in waste\n",
    "Reg = 100-Rg-Lg                     # recycle of glycerine\n",
    "\n",
    "# Calculation \n",
    "m1 = 238/8124.                      # NaCl in product\n",
    "m2 = Rg*12/100.                     # glycerine in product\n",
    "m3 = m1+m2                          # total solute\n",
    "n = m1*100/m3                       # NaCl percent in total solute\n",
    "\n",
    "# Result\n",
    "print \"a  recovery percent of glycerine is \",Rg\n",
    "print \"   b  percent loss of glycerinr is \",Lg\n",
    "print \"   c  product contamination with respect to salt NaCl is \",n\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Example 3.15   Page 76"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "a  moisture removed in AC plant =  1.48829053429\n",
      "  b  moisture added in auditorium =  4249.92025923\n",
      "   c  recycle ratio of moles of air recycled per mole mole of fresh ambient air input =  3.89342336\n"
     ]
    }
   ],
   "source": [
    "# solution \n",
    "\n",
    "# Variables \n",
    "f1 = 1.25                   #[m**3/s] fresh ambient air as feed (basis)\n",
    "f2 = 5.806                  #[m**/s] air entering auditorium\n",
    "v1 = 8.314*290/101.3        #[m**3/kmol] sp. vol. of moist air at 101.3 kPa and 290 K\n",
    "na1 = f2*1000/v1            # [mol/s] molar flow rate of air entering auditorium\n",
    "nw1 = 243.95*.0163/1.0163   # [mol/s]\n",
    "na2 = 243.95 - nw1          #[mol/s] dry air flow\n",
    "nw2 = 240.04*.0225          #[mol/s] moisture enterin air conditioning plant\n",
    "\n",
    "# Calculation \n",
    "# using table 3.8\n",
    "m1 = (nw2-nw1)              #[kg/h] moisture removed in a c plant\n",
    "m2 = na2-.0181              #[mol/s] moisture in air leaving auditorium\n",
    "m3 = (m2-nw1)*18            # [kg/h] moisture added in auditorium\n",
    "Vm2 = 8.314*308/101.3       # [m**3/kmol]\n",
    "na3 = (f1/25.28)*1000       #[mol/s] \n",
    "n4 = 5.40-1.925             #[mol/s] moisture in recycle stream\n",
    "mr = 240.04-47.525          #[mol/s] molar flow rate of wet recycle stream\n",
    "R = mr/na3\n",
    "\n",
    "# Result\n",
    "print \"a  moisture removed in AC plant = \",m1\n",
    "print \"  b  moisture added in auditorium = \",m3\n",
    "print \"   c  recycle ratio of moles of air recycled per mole mole of fresh ambient air input = \",R\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Example 3.16   Page 78"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Overall Efficiency = E1 E2 E3*100/[1-E11-E2+E2 E3].\n"
     ]
    }
   ],
   "source": [
    "# solution \n",
    "\n",
    "# screen 1\n",
    "# feed = N kg\n",
    "# Oversize particle = NE1 kg\n",
    "# Undersize particle = N-NE1\n",
    "\n",
    "#screen 2\n",
    "#feed = NE1+X kg\n",
    "# Oversize particle = (NE1+X)*E2 kg\n",
    "# Undersize particle = (NE1+X)(1-E2) kg\n",
    "\n",
    "\n",
    "#screen 3\n",
    "# feed = (NE1+X)*E2 kg\n",
    "# Oversize particle = (NE1+X)*E2*E3 kg\n",
    "# Undersize particle = (NE1+X)*E2*(1-E3) kg\n",
    "print \"Overall Efficiency = E1 E2 E3*100/[1-E11-E2+E2 E3].\"\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Example 3.17   Page 79"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "a  \n",
      "     Flow rate of product stream is  2234.89795918  kmol/h.\n",
      "b  \n",
      "    Product H2 stream :   H2 =  2605.30204082  kmol/h   CO =  159.8  kmol/h \n",
      "c  \n",
      "    Composition of Mixed feed :   H2 =  66.842375    CO =  33.157625\n"
     ]
    }
   ],
   "source": [
    "# solution \n",
    "# Variables \n",
    "print \"a  \"\n",
    "F = 5000.                       #[kmol/h] feed (basis)\n",
    "\n",
    "# Calculation \n",
    "m1 = F*.47                      #[kmol/h] CO in F\n",
    "m2 = F-m1                       #[kmol/h] H2 in F\n",
    "m3 = m1*.932                    # CO in product stream\n",
    "n2 = m3/.98                      #[kmol/h] \n",
    "\n",
    "# Result\n",
    "print \"     Flow rate of product stream is \",n2,\" kmol/h.\\nb  \"\n",
    "n2 = n2-m3                      #[kmol/h] H2 in CO stream\n",
    "print \"    Product H2 stream :   H2 = \",m2-n2,\" kmol/h   CO = \",m1-m3,\" kmol/h \\nc  \"\n",
    "nH2 = 2697.39                   #[kmol/h]\n",
    "nCO = 3000-nH2                  # [kmol/h]\n",
    "n4 = m2+nH2\n",
    "n5 = m1+nCO\n",
    "n6 = n4+n5\n",
    "\n",
    "print \"    Composition of Mixed feed :   H2 = \",n4*100/n6,\"   CO = \",n5*100/n6\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Example 3.18   Page 79"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "F =  8.2196969697\n",
      " m**3/h R1 =  60.8294930876\n",
      " m**3/h P =  11.25\n",
      " m**3/h R2 =  1.25\n",
      " m**3/h recycle ratio =  0.152073732719\n",
      " rejection percentage of salt in module I =  95.3914154639\n"
     ]
    }
   ],
   "source": [
    "# solution \n",
    "\n",
    "# Variables \n",
    "\n",
    "# Overall balance\n",
    "# F=R1+P2\n",
    "# Balance across Module I\n",
    "# F+R2 = R1+P1 ==> R1+P2+R2 = R1+P1\n",
    "# balance across module II\n",
    "# P1 = P2+R2\n",
    "P2 = 5.                     #[m**3/h]\n",
    "P1 = P2/.8                  #[m**3/h]\n",
    "R2 = P1-P2                  #[m**3/h]\n",
    "F = P1/.66 - R2             #[m**3/h]\n",
    "R1 = F-P2                   #[m**3/h]\n",
    "\n",
    "# Calculation \n",
    "# Overall balance of DS in water\n",
    "xR1 = (F*4200-P2*5.)/R1     #[mg/l]\n",
    "xP1 = (P2*5)/(.015*P1)      # [mg/l]\n",
    "xR2 = (P1*xP1-P2*5)/R2      #[mg/l]\n",
    "m1 = F*4200+R2*xR2          #[g] DS mixeed in MF\n",
    "C1 = m1/(F+R2)              # [mg/l]\n",
    "m2 = R1*xR1                 #[g] DS in R1\n",
    "r = m2*100/m1               # rejection in module in I\n",
    "m3 = m1-m2                  #[g] DS in P1\n",
    "C2 = m3/P1                  # [mg/l] \n",
    "R = R2/F \n",
    "R1 = P2*100/F\n",
    "\n",
    "# Result\n",
    "print \"F = \",F\n",
    "print \" m**3/h R1 = \",R1\n",
    "print \" m**3/h P = \",P1+P2\n",
    "print \" m**3/h R2 = \",R2\n",
    "print \" m**3/h recycle ratio = \",R\n",
    "print \" rejection percentage of salt in module I = \",r\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "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.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
