{
 "metadata": {
  "name": "",
  "signature": "sha256:6c1cf211e477e6ec4eda14a487dac19aefa6fb259944b68f0e581a0fdd608d5c"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": [
      "Chapter 12 : Solution Thermodynamics Applications"
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 12.1 page no : 196"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "%matplotlib inline\n",
      "from matplotlib.pyplot import plot,suptitle,xlabel,ylabel,subplot\n",
      "from numpy import zeros,array,exp,round\n",
      "import math \n",
      "\n",
      "# Variables\n",
      "P = array([90.15,91.78,88.01,81.67,78.89,76.82,73.39,66.45,62.95,57.70,50.16,45.70,29.00]);\n",
      "x1 = array([0.000,0.063,0.248,0.372,0.443,0.508,0.561,0.640,0.702,0.763,0.834,0.874,1.000]);\n",
      "y1 = array([0.000,0.049,0.131,0.182,0.215,0.248,0.268,0.316,0.368,0.412,0.490,0.570,1.000]);\n",
      "x2 = 1-x1;\n",
      "y2 = 1-y1;\n",
      "P1_sat = P[12]\n",
      "P2_sat = P[0]\n",
      "K = zeros(13);\n",
      "ln_V1 = zeros(13)\n",
      "ln_V2 = zeros(13)\n",
      "# Calculations and Results\n",
      "for i in range(13):\n",
      "    if(i !=  0):\n",
      "        ln_V1[i] = round(math.log(y1[i]*P[i]/(x1[i]*P1_sat)),3);\n",
      "    if(i !=  12):\n",
      "        ln_V2[i] = round(math.log(y2[i]*P[i]/(x2[i]*P2_sat)),3);\n",
      "\n",
      "ln_V1[0] = None\n",
      "ln_V2[12] = None\n",
      "k = zeros(13)\n",
      "for i in range(1,13):\n",
      "    K[i] = round(((x1[i]*ln_V1[i])+(x2[i]*ln_V2[i]))/(x1[i]*x2[i]),3);  \t\t\t#K = G_E/(x1*x2*R*T)\n",
      "    k[i] = round(((x1[i]*ln_V1[i])+(x2[i]*ln_V2[i])),3);  \t\t\t#K = G_E/(R*T)\n",
      "\n",
      "K[0] = None\n",
      "k[0] = None\n",
      "K[12] = None\n",
      "k[12] = None\n",
      "A21 = 0.70;\n",
      "A12 = 1.35;\n",
      "K_new = round((A21*x1)+(A12*x2),3);\n",
      "#Using Eqn (12.10(a) and 12.10(b))\n",
      "ln_V1_new = round((x2*x2)*(A12+(2*(A21-A12)*x1)),3);\n",
      "V1_new = round(exp(ln_V1_new),3);\n",
      "ln_V2_new = round((x1*x1)*(A21+(2*(A12-A21)*x2)),3);\n",
      "V2_new = round(exp(ln_V2_new),3);\n",
      "#Using Eqn (12.11)\n",
      "P_new = (x1*V1_new*P1_sat)+(x2*V2_new*P2_sat);\n",
      "\n",
      "A21_new = 0.596;\n",
      "A12_new = 1.153;\n",
      "\n",
      "K_new1 = round((A21_new*x1)+(A12_new*x2),3);\n",
      "#Umath.sing Eqn (12.10(a) and 12.10(b))\n",
      "ln_V1_new1 = round((x2*x2)*(A12_new+(2*(A21_new-A12_new)*x1)),3);\n",
      "V1_new1 = round(exp(ln_V1_new1),3);\n",
      "ln_V2_new1 = round((x1*x1)*(A21_new+(2*(A12_new-A21_new)*x2)),3);\n",
      "V2_new1 = round(exp(ln_V2_new1),3);\n",
      "#Umath.sing Eqn (12.11)\n",
      "P_new1 = (x1*V1_new1*P1_sat)+(x2*V2_new1*P2_sat);\n",
      "\n",
      "subplot(220)\n",
      "plot(x1,P,'bo')\n",
      "plot(y1,P,'gs')\n",
      "\n",
      "plot(x1,P_new,'b-')\n",
      "plot(y1,P_new,'g-')\n",
      "\n",
      "plot(x1,P_new1,'b--')\n",
      "plot(y1,P_new1,'g--')\n",
      "\n",
      "suptitle('(a)')\n",
      "xlabel('x1,y1')\n",
      "ylabel('P/kPa')\n",
      "\n",
      "subplot(222)\n",
      "plot(x1,ln_V1,'bs')\n",
      "plot(x1,ln_V2,'gv')   \n",
      "\n",
      "plot(x1,K,'ro')   \n",
      "\n",
      "plot(x1,K_new,'r-')\n",
      "plot(x1,ln_V1_new,'b-')\n",
      "plot(x1,ln_V2_new,'g-')\n",
      "\n",
      "plot(x1,K_new1,'r--')\n",
      "plot(x1,ln_V1_new1,'b--')\n",
      "plot(x1,ln_V2_new1,'g--')\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 6,
       "text": [
        "[<matplotlib.lines.Line2D at 0x10fccef90>]"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10fccca10>"
       ]
      }
     ],
     "prompt_number": 6
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 12.2 page no : 198"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "from numpy import poly1d\n",
      "\n",
      "#H_E = x1x2(40x1+20x2)   (A)\n",
      "#Find H1_E and H2_E\n",
      "\n",
      "#H1_E = H_E+((1-x1)*(dH_E/dx1))  let d = dH_E/dx1\n",
      "\n",
      "#H2_E = H_E-(x1*(dH_E/dx1))  let d = dH_E/dx1\n",
      "\n",
      "#Replacing x2 = 1-x1 in (A)\n",
      "\n",
      "# Calculations\n",
      "H_E = poly1d([0, 20, 0, -20],'x1','c');\n",
      "d = poly1d([20 ,0 ,-60],'x1','c');\n",
      "H1_E = poly1d([20, 0, -60, 40],'x1','c');\n",
      "H2_E = poly1d([0 ,0 ,0 ,40],'x1','c');\n",
      "\n",
      "# Results\n",
      "print 'Expression For H1_E(x1) is ',H1_E\n",
      "print 'Expression For H2_E(x1) is ',H2_E\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Expression For H1_E(x1) is     4        2\n",
        "1 c - 2800 c + 4.8e+04 c\n",
        "Expression For H2_E(x1) is     4      3\n",
        "1 c - 40 c\n"
       ]
      }
     ],
     "prompt_number": 7
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 12.4 page no : 201"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# Program to Find the Heat of Formation of LiCl\n",
      "\n",
      "#          Li + 0.5Cl2 --> LiCL(s)       (A)\n",
      "\n",
      "#   LiCl(s) + 12H2O(l) --> LiCl(12H2O)   (B)\n",
      "\n",
      "#Net Reaction\n",
      "#Li + 0.5Cl2 +12H2O(l) --> LiCl(12H2O)   (Net)\n",
      "\n",
      "# Variables\n",
      "#From Table C.4\n",
      "Hf_A = -408610;\t\t\t#[J]\n",
      "Hf_B = -33614;\t\t\t#[J]\n",
      "\n",
      "# Calculations\n",
      "Hf_Net = Hf_A+Hf_B;\t\t\t#[J]\n",
      "\n",
      "# Results\n",
      "print 'Heat of formation of LiCl in 12mol H2O at 298.15K is',Hf_Net,'J'\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Heat of formation of LiCl in 12mol H2O at 298.15K is -442224 J\n"
       ]
      }
     ],
     "prompt_number": 10
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 12.5  page no : 204"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math \n",
      "\n",
      "\n",
      "# Variables\n",
      "M_LiCl = 42.39;\n",
      "M_H2O = 18.015;\n",
      "T1 = 298.15;\t\t\t#[K]\n",
      "T2 = 405.15;\t\t\t#[K]\n",
      "\n",
      "# Calculations and Results\n",
      "#Step a\n",
      "m_LiCl = 0.15*2;\n",
      "m_H2O = 2-m_LiCl;\n",
      "n_LiCl = (m_LiCl*1000)/M_LiCl\n",
      "n_H2O = (m_H2O*1000)/M_H2O;\n",
      "dH_LiCl = -33800;\n",
      "dH_a = -n_LiCl*dH_LiCl\t\t\t#[J/s]\n",
      "\n",
      "#Step b\n",
      "m_LiCl = 0.15*2;\n",
      "m_H2O = 0.45;\n",
      "n_LiCl = (m_LiCl*1000)/M_LiCl;\n",
      "n_H2O = (m_H2O*1000)/M_H2O;\n",
      "dH_LiCl = -23260;\n",
      "dH_b = n_LiCl*dH_LiCl\t\t\t#[J/s]\n",
      "\n",
      "#Step c\n",
      "m_LiCl = 0.75;\n",
      "Cp = 2.72;\n",
      "dT = T2-T1;\n",
      "dH_c = m_LiCl*Cp*dT*1000\t\t\t#[J/s]\n",
      "\n",
      "#step d\n",
      "m_H2O = 2-m_LiCl;\n",
      "dH_T2 = 2740.3;\t\t\t#[KJ/s/mol] form Steam Tables\n",
      "dH_T1 = 104.8;\t\t\t#[KJ/s/mol]  from Steam Tables\n",
      "dH_d = m_H2O*(dH_T2-dH_T1)*1000\t\t\t#[J/s]\n",
      "\n",
      "dH = round((dH_a+dH_b+dH_c+dH_d)/1000,1);\n",
      "\n",
      "print 'The required Heat Transfer rate is ',dH,'kW or KJ/s'\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The required Heat Transfer rate is  3587.2 kW or KJ/s\n"
       ]
      }
     ],
     "prompt_number": 9
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 12.6  page no : 207"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "# Variables\n",
      "T0 = 298.15;\t\t\t#[K]\n",
      "T = 361.5;\t\t\t#[K]\n",
      "mT = 1.25;\t\t\t#[Kg/s]  10% NaOH\n",
      "m_steam = 1;\t\t\t#[Kg/s] at P = 76 torr and 361.5K\n",
      "m_50NaOH = mT-m_steam;\t\t\t#[Kg/s]  at 361.5K\n",
      "\n",
      "# Calculations\n",
      "#From Steam tables\n",
      "#at 76 torr and 361.15K\n",
      "H_steam = 2666;\t\t\t#[KJ/kg]\n",
      "#for 10% NaOH soln at 294.15K\n",
      "H_10NaOH = 79;\t\t\t#[KJ/Kg]\n",
      "#for 50% NaOH soln at 361.15K\n",
      "H_50NaOH = 500;\t\t\t#[KJ/Kg]\n",
      "\n",
      "dH = (m_steam*H_steam)+(m_50NaOH*H_50NaOH)-(mT*H_10NaOH);\n",
      "Q = dH;\n",
      "\n",
      "# Results\n",
      "print 'Heat Transfer rate',Q,'kW or kJ/s'\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Heat Transfer rate 2692.25 kW or kJ/s\n"
       ]
      }
     ],
     "prompt_number": 10
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 12.9 page no : 208"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "\n",
      "# Variables\n",
      "T = 294.15;\t\t                \t        #[K]\n",
      "m_NaOH_soln = 1.;\t\t            \t    #[kg]\n",
      "m_NaOH_solid = 0.45*m_NaOH_soln;\t\t\t#[Kg]\n",
      "m_H2O = 0.55*m_NaOH_soln;\t\t\t#[Kg]\n",
      "\n",
      "#From Steam Tables\n",
      "H_NaOH_soln = 216.;\t\t\t#[kJ/Kg]\n",
      "H_NaOH_solid = 1113.;\t\t\t#[kJ/Kg]\n",
      "H_H2O = 88.;\t\t\t#[kJ/Kg]\n",
      "\n",
      "# Calculations\n",
      "dH = m_NaOH_soln*H_NaOH_soln-(m_NaOH_solid*H_NaOH_solid)-(m_H2O*H_H2O);\n",
      "Q = dH;\n",
      "\n",
      "# Results\n",
      "print 'Heat Transferred per Kg of NaOH Soln',Q,'kW or kJ/kg'\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Heat Transferred per Kg of NaOH Soln -333.25 kW or kJ/kg\n"
       ]
      }
     ],
     "prompt_number": 11
    }
   ],
   "metadata": {}
  }
 ]
}