{ "metadata": { "name": "", "signature": "sha256:a4d472eaa4dbf60f111758e6e0fce7c88354811184ce66088736c4ac7a13ff8b" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Chapter 7 : Properties of Solutions" ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Example 7.2" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "# Variables\n", "V = 0.1; \t\t\t#volume of mixture required (m**3)\n", "Ve = 0.03; \t\t\t#volume of alcohol\n", "Vw = 0.07; \t\t\t#volume of water\n", "de = 789.; \t\t\t#density of ethanol (kg/m**3)\n", "dw = 997.; \t\t\t#density of water (kg/m**3)\n", "pe = 53.6*10**-6; \t\t\t#partial molar volume of ethanol (m**3/mol)\n", "pw = 18.*10**-6; \t\t\t#partial molar volume of water (m**3/mol)\n", "Me = 46.; \t\t\t#molecular wt of ethanol\n", "Mw = 18.; \t\t\t#molecular wt of water\n", "\n", "# Calculations\n", "#To find the volume of mixture\n", "ne = (Ve*de*10**3)/Me; \t\t\t#number of moles of ethanol\n", "nw = (Vw*dw*10**3)/Mw; \t\t\t#number of moles of water\n", "xe = ne/(ne+nw) \t\t\t#mole fraction of ethanol\n", "xw = 1-ne; \t\t\t#mole fraction of water\n", "act_V = (ne*pe)+(nw*pw)\n", "\n", "# Results\n", "if (V==act_V) :\n", " print 'It is possible to prepare the required solution'\n", "else:\n", " Ve_act = (Ve/act_V)*V;\n", " Vw_act = (Vw/act_V)*V;\n", " print ' For the given volumes of ethanol and water, it is not possible to prepare 0.1 cubic m of mixture'\n", " print ' Required volume of ethanol is %f cubic m'%Ve_act\n", " print ' Required volume of water is %f cubic m'%Vw_act\n", "\n", "\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " For the given volumes of ethanol and water, it is not possible to prepare 0.1 cubic m of mixture\n", " Required volume of ethanol is 0.030810 cubic m\n", " Required volume of water is 0.071890 cubic m\n" ] } ], "prompt_number": 16 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Example 7.3" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "# Variables\n", "V = 2.; \t\t\t#volume of desired solution (m**3)\n", "x1 = 0.3; \t\t\t#moles fraction of methanol\n", "x2 = 0.7; \t\t\t#moles fraction of water\n", "V1 = 38.632*10**-6; \t\t\t#partial molar volume of methanol (m**3/mol)\n", "V2 = 17.765*10**-6; \t\t\t#partial molar volume of water (m**3/mol)\n", "mol_V1 = 40.727*10**-6; \t\t#molar volume of ethanol (m**3/mol)\n", "mol_V2 = 18.068*10**-6; \t\t#molar volume of water (m**3/mol)\n", "\n", "# Calculations\n", "#To find the required volume of methanol and water\n", "V_mol = (x1*V1)+(x2*V2); \t\t\t#molar volume of desired solution\n", "n = V/V_mol; \t\t\t #no. of moles in the desired solution\n", "n1 = x1*n; \t\t\t#moles of methanol\n", "n2 = x2*n; \t\t\t#moles of water\n", "V_m = n1*mol_V1;\n", "V_w = n2*mol_V2;\n", "\n", "# Results\n", "print 'Volume of methanol to be taken is %f cubic m'%V_m\n", "print ' Volume of water to be taken is %f cubic m'%V_w\n", "\n", "\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Volume of methanol to be taken is 1.017111 cubic m\n", " Volume of water to be taken is 1.052866 cubic m\n" ] } ], "prompt_number": 17 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Example 7.4" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "# Variables\n", "V1_w = 0.816*10**-3; \t\t\t#partial molar volume of water in 96% alcohol solution\n", "V1_e = 1.273*10**-3; \t\t\t#partial molar volume of ethanol in 96% alcohol solution\n", "V2_w = 0.953*10**-3; \t\t\t#partial molar volume of water in 56% alcohol solution\n", "V2_e = 1.243*10**-3; \t\t\t#partial molar volume of ethanol in 56% alcohol solution\n", "d = 0.997*10**3; \t\t\t #density of water (kg/m**3)\n", "\n", "\n", "# Calculations\n", "#To calculate the volume of water to be added and volume of dilute alcohol solution\n", "#Basis: \n", "V = 2*10**-3; \t\t\t #volume of alcohol solution (m**3)\n", "V_sp = (0.96*V1_e)+(0.04*V1_w); \t\t\t#volume of 1 kg of laboratory alcohol\n", "m_e = V/V_sp; \t\t\t #mass of 2*10**-3 m**3 alcohol \n", "\n", "#(a).\n", "#Let mass of water added be m kg\n", "#Taking an alcohol balance\n", "m = (m_e*0.96)/0.56 - m_e;\n", "v = m/d;\n", "\n", "# Results\n", "print ' (a).'\n", "print ' Mass of water added is %f kg'%m\n", "print ' Volume of water added is %4.3e cubic m'%v\n", "\n", "#(b)\n", "m_sol = m_e + m; \t\t\t #mass of alcohol solution obtained\n", "sp_vol = (0.56*V2_e)+(0.44*V2_w); \t\t\t#specific volume of 56% alcohol\n", "V_dil = sp_vol*m_sol; \t\t\t #volume of dilute alcohol solution\n", "print ' (b)'\n", "print ' Volume of dilute alcohol solution is %5.4e cubic m'%V_dil\n", "\n", "\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " (a).\n", " Mass of water added is 1.138558 kg\n", " Volume of water added is 1.142e-03 cubic m\n", " (b)\n", " Volume of dilute alcohol solution is 3.0479e-03 cubic m\n" ] } ], "prompt_number": 18 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Example 7.6" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "# Variables\n", "x1= .3\n", "x2 = .7\n", "\n", "# Calculations and Results\n", "H = 400.*x1 + 600*x2 + x1*x2*(40*x1+20*x2)\n", "H1 = 420.-60+40;\n", "#Using eq. 7.28 (Page no. 264)\n", "#H = H2_bar as x2 = 1\n", "H2 = 600.;\n", "print ' (b).'\n", "print ' Pure state enthalpies are:'\n", "print ' H1 = %i J/mol'%H1\n", "print ' H2 = %i J/mol'%H2\n", "\n", "\t\t\t#(c).\n", "\t\t\t#H1_inf = H1_bar as x1 = 0, so from eq. 7.27\n", "H1_inf = 420.;\n", "\t\t\t#H2_inf = H2_bar as x2 = 0. so from eq 7.28\n", "H2_inf = 640.;\n", "print ' (c).'\n", "print ' At infinite dilution:'\n", "print ' H1 = %i J/mol'%H1_inf\n", "print ' H2 = %i J/mol'%H2_inf\n", "\n", "\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " (b).\n", " Pure state enthalpies are:\n", " H1 = 400 J/mol\n", " H2 = 600 J/mol\n", " (c).\n", " At infinite dilution:\n", " H1 = 420 J/mol\n", " H2 = 640 J/mol\n" ] } ], "prompt_number": 19 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Example 7.7" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "def V(m):\n", " y = 1.003*10**-3 + 0.1662*10**-4*m + 0.177*10**-5*m**1.5 + 0.12*10**-6*m**2\n", " return y\n", "\n", "# Variables\n", "m = 0.1; \t\t\t#molality of solution (mol/kg)\n", "\n", "# Calculations\n", "#To calculate the partial molar volume of the components\n", "#Differentiating Eq. 7.29 with reference to m, we get\n", "V1_bar = 0.1662*10**-4 + 0.177*1.5*10**-5*m**0.5 + 0.12*2*10**-6*m;\n", "V_sol = V(m) \t\t\t#volume of aqueous soluttion\n", "n1 = m;\n", "n2 = 1000./18;\n", "V2_bar = (V_sol - n1*V1_bar)/n2;\n", "\n", "# Results\n", "print 'Partial molar volume of water = %4.3e cubic m/mol'%V2_bar\n", "print ' Partial molar volume of NaCl = %4.3e cubic m/mol'%V1_bar\n", "\n", "\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Partial molar volume of water = 1.805e-05 cubic m/mol\n", " Partial molar volume of NaCl = 1.748e-05 cubic m/mol\n" ] } ], "prompt_number": 20 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Example 7.10" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "# Variables\n", "K = 4.4*10**4; \t\t\t#Henry's law constant (bar)\n", "pp = 0.25; \t\t\t #partial pressure of oxygen in bar\n", "M_O2 = 32.; \t\t\t#molecular wt of oxygen\n", "M_water = 18.; \t\t\t#molecular wt of water\n", "\n", "# Calculations and Results\n", "#To estimate the solubility of oxygen in water at 298 K\n", "#Using eq. 7.72 (Page no. 275)\n", "x_O2 = pp/K; \t\t\t#mole fraction of O2\n", "print 'Solubility of oxygen is %5.4e moles per mole of water'%x_O2\n", "\n", "#In mass units\n", "sol_O2 = (x_O2*M_O2)/M_water;\n", "print ' Solubility of oxygen in mass units is %4.3e kg oxygen per kg water'%sol_O2\n", "\n", "\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Solubility of oxygen is 5.6818e-06 moles per mole of water\n", " Solubility of oxygen in mass units is 1.010e-05 kg oxygen per kg water\n" ] } ], "prompt_number": 21 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Example 7.11" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "%matplotlib inline\t\t\t\n", " \n", "from numpy import *\n", "from matplotlib.pyplot import *\n", "import numpy\n", "\n", "# Variables\n", "xb = array([0, 0.2, 0.4, 0.6, 0.8, 1.0])\n", "pa_bar = [0.457 ,0.355, 0.243, 0.134, 0.049, 0];\n", "pb_bar = [0,0.046, 0.108, 0.187, 0.288, 0.386];\n", "\n", "\n", "#To confirm mixture conforms to Raoult's Law and to determine Henry's law constant\n", "xa = 1 - xb\n", "plot(xa,pa_bar)\n", "plot(xa,pb_bar)\n", "\n", "# Calculations and Results\n", "#For Henry's law plotting\n", "x = [0,0.2, 0.4 ,0.6 ,0.8 ,1.0];\n", "#Form the partial presures plot of component A and B\n", "yh1 = [0,0,0,0,0,0]\n", "yh1[0] = 0; \n", "yh1[1] = 0.049; \t\t\t#For component A\n", "for i in range(2,6):\n", " yh1[i] = yh1[i-1]+(x[i]-x[i-1])*((yh1[1]-yh1[0])/(x[1]-x[0]))\n", "\n", "yh_2 = [0,0,0,0,0,0]\n", "yh_2[5] = 0; \n", "yh_2[4] = 0.046; \t\t\t#For component B\n", "i = 3;\n", "while (i>=0):\n", " yh_2[i] = yh_2[i+1] + (x[i]-x[i+1])*((yh_2[5]-yh_2[4])/(x[5]-x[4]))\n", " i = i-1;\n", "\n", "plot(x,yh1)\n", "plot(x,yh_2)\n", "\t\t\t#legend(\"Partial pressure \",\" \",\"Raoults law\",\" \",\"Henrys Law\"\n", "show()\n", "#(a)\n", "print 'From the graph it can be inferred that, in the region where Raoults law is obeyed by A, the Henrys law is obeyed by B, and vice versa'\n", "\n", "#(b)\n", "#Slope of Henry's law\n", "print ' For component A, Ka = %f bar'%yh1[5]\n", "print ' For component B, Kb = %f bar'%yh_2[0]\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nI8EuhBA25v8DAAQCZcrB/UMAAAAASUVORK5CYII=\n", "text": [ "" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "From the graph it can be inferred that, in the region where Raoults law is obeyed by A, the Henrys law is obeyed by B, and vice versa\n", " For component A, Ka = 0.245000 bar\n", " For component B, Kb = 0.230000 bar\n" ] } ], "prompt_number": 1 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Example 7.12" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "from numpy import array\n", "\n", "\n", "# Variables\n", "xa = array([0, 0.2, 0.4, 0.6, 0.8, 1.0]);\n", "Pa_bar = [0 ,0.049, 0.134, 0.243, 0.355, 0.457];\n", "Pb_bar = [0.386 ,0.288, 0.187, 0.108, 0.046, 0];\n", "\n", "# Calculations and Results\n", "#To calculate activity and activity coeffecient of chloroform\n", "xb = 1-xa;\n", "Pbo = 0.386; \t\t\t#vapour pressure of pure chloroform\n", "#(a). Based on standard state as per Lewis-Randall rule\n", "\n", "print 'Based on Lewis Randall Rule'\n", "print ' Activity Activity coeffecient'\n", "a = [0,0,0,0,0,0]\n", "ac = [0,0,0,0,0,0]\n", "for i in range(6):\n", " a[i] = Pb_bar[i]/Pbo;\n", " print ' %f'%a[i],\n", " if(xb[i]==0):\n", " print ' Not defined',\n", " else:\n", " ac[i] = a[i]/xb[i];\n", " print ' %f'%ac[i]\n", "\n", "#(b). Based on Henry's Law \n", "Kb = 0.217; \t\t\t#bar (From Example 7.11 Page no. 276)\n", "\n", "print '\\n\\n Based on Henrys Law'\n", "print ' Activity Activity coeffecient'\n", "for i in range(6):\n", " a[i] = Pb_bar[i]/Kb;\n", " print ' %f'%a[i],\n", " if(xb[i]==0):\n", " print ' Not defined',\n", " else:\n", " ac[i] = a[i]/xb[i];\n", " print ' %f'%ac[i]\n", "\n", "\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Based on Lewis Randall Rule\n", " Activity Activity coeffecient\n", " 1.000000 1.000000\n", " 0.746114 0.932642\n", " 0.484456 0.807427\n", " 0.279793 0.699482\n", " 0.119171 0.595855\n", " 0.000000 Not defined \n", "\n", " Based on Henrys Law\n", " Activity Activity coeffecient\n", " 1.778802 1.778802\n", " 1.327189 1.658986\n", " 0.861751 1.436252\n", " 0.497696 1.244240\n", " 0.211982 1.059908\n", " 0.000000 Not defined\n" ] } ], "prompt_number": 23 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Example 7.13" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "# Variables\n", "P = 20.; \t\t\t#pressure in bar\n", "\n", "# Calculations and Results\n", "def f1(x1):\n", " y = (50*x1)-(80*x1**2)+(40*x1**3)\n", " return y\n", "\n", "#To determine fugacity fugacity coeffecient Henry's Law constant and activity coeffecient\n", "\n", "#(a)\n", "#Fugacity of component in solution becomes fugacity of pure component when mole fraction approaches 1 i.e. \n", "x1 = 1.;\n", "f1_pure = f1(x1);\n", "print '(a). Fugacity f1 of pure component 1 is %i bar'%f1_pure\n", "\n", "#(b)\n", "phi = f1_pure/P;\n", "print ' (b). Fugacity coeffecient is %f'%phi\n", "\n", "#(c)\n", "#Henry's Law constant is lim (f1/x1)and x1 tends to 0 \n", "x1 = 0;\n", "K1 = 50 - (80*x1) + (40*x1**2);\n", "print ' (c). Henrys Law constant is %i bar'%K1\n", "\n", "#(d)\n", "print ' (d). This subpart is theoretical and does not involve any numerical computation'\n", "\n", "\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "(a). Fugacity f1 of pure component 1 is 10 bar\n", " (b). Fugacity coeffecient is 0.500000\n", " (c). Henrys Law constant is 50 bar\n", " (d). This subpart is theoretical and does not involve any numerical computation\n" ] } ], "prompt_number": 24 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Example 7.17" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "# Variables\n", "H1_pure = 400.; \t\t\t#enthalpy of pure liquid 1 at 298 K and 1 bar (J/mol)\n", "H2_pure = 600.; \t\t\t#enthalpy of pure liquid 2 (J/mol)\n", "x1 = 0.;\n", "\n", "# Calculations\n", "delH1_inf = 20*((1-x1)**2)*(2*x1+1);\n", "H1_inf = H1_pure + delH1_inf; \t\t\t#(J/mol)\n", "\n", "#For infinite dilution of 2, x1 = 1 and delH2_inf = H2_bar\n", "x1 = 1.;\n", "delH2_inf = 40.*x1**3;\n", "H2_inf = delH2_inf + H2_pure; \t\t\t#(J/mol)\n", "\n", "# Results\n", "print 'Enthalpy at infinite dilution for component 1 is %i J/mol'%H1_inf\n", "print ' Enthalpy at infinite dilution for component 2 is %i J/mol'%H2_inf\n", "\n", " \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Enthalpy at infinite dilution for component 1 is 420 J/mol\n", " Enthalpy at infinite dilution for component 2 is 640 J/mol\n" ] } ], "prompt_number": 25 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Example 7.19 " ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "\n", "# Variables\n", "R = 8.314; \t\t\t#ideal gas constant\n", "n1 = 100.; \t\t\t#moles of nitrogen\n", "n2 = 100.; \t\t\t#moles of oxygen\n", "\n", "# Calculations\n", "#To determine the change in entropy of the contents of the vessel\n", "x1 = n1/(n1+n2);\n", "x2 = n2/(n1+n2);\n", "import math\n", "\n", "#Using eq. 7.122 (Page no. 292)\n", "S = -R*(x1*math.log (x1) + x2*math.log (x2));\n", "S_tot = S*(n1+n2);\n", "\n", "# Results\n", "print 'Change in entropy of components are %f J/K'%S_tot\n", "\n", "\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Change in entropy of components are 1152.565132 J/K\n" ] } ], "prompt_number": 26 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Example 7.20" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "# Variables\n", "Hf = -408.610; \t\t\t#heat of formation (kJ)\n", "#For reaction 2\n", "#LiCl + 12H2O --> LiCl(12H2O)\n", "H_sol = -33.614; \t\t\t#heat of solution (kJ)\n", "\n", "#To determine heat of formation of LiCl in 12 moles of water\n", "#Adding reaction 1 and 2% we get\n", "\n", "# Calculations\n", "#Li + 1/2Cl2 + 12H2O --> LiCl(12H2O)\n", "H_form = Hf+H_sol;\n", "\n", "# Results\n", "print 'Heat of formation of LiCl in 12 moles of water is %f kJ'%H_form\n", "\n", "\n", "\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Heat of formation of LiCl in 12 moles of water is -442.224000 kJ\n" ] } ], "prompt_number": 27 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Example 7.21" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "# Variables\n", "R = 8.314; \t\t\t#ideal gas constant\n", "n1 = 3.; \t\t\t#moles of hydrogen\n", "n2 = 1.; \t\t\t#moles of nitrogen\n", "T = 298.; \t\t\t#temperature in K\n", "P1 = 1.; \t\t\t#pressure of hydrogen in bar\n", "P2 = 3.; \t\t\t#pressure of nitrogen in bar\n", "import math\n", "\n", "# Calculations\n", "#To calculate the free energy of mixing\n", "V1 = (n1*R*T)/(P1*10**5); \t\t\t#volume occupied by hydrogen\n", "V2 = (n2*R*T)/(P2*10**5); \t\t\t#volume occupied by nitrogen\n", "V = V1+V2; \t\t\t#total volume occupied\n", "P = ((n1+n2)*R*T)/(V*10**5); \t\t\t#final pressure attained by mixture (bar)\n", "G1 = R*T*(n1*math.log(P/P1) + n2*math.log(P/P2));\n", "\n", "#For step 2, using eq. 7.121 (Page no. 292)\n", "x1 = n1/(n1+n2);\n", "x2 = n2/(n1+n2);\n", "G2 = (n1+n2)*R*T*(x1*math.log (x1) + x2*math.log (x2));\n", "G = G1+G2; \t\t\t#free energy in J\n", "\n", "# Results\n", "print 'The free energy of mixing when partition is removed is %f kJ'%(G/1000)\n", "\n", "\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The free energy of mixing when partition is removed is -6.487935 kJ\n" ] } ], "prompt_number": 28 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Example 7.22" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "# Variables\n", "C_water = 4.18*10**3; \t\t\t#heat capacity of water (J/kg K)\n", "C_ethanol = 2.58*10**3; \t\t#heat capacity of ethanol (J/kg K)\n", "G1 = -758.; \t\t\t#heat of mixing 20 mol percent ethanol water at 298 K(J/mol)\n", "G2 = -415.; \t\t\t#heat of mixing 20 mol percent ethanol water at 323 K (J/mol)\n", "n_wat = 0.8; \t\t\t#moles of water\n", "n_eth = 0.2; \t\t\t#moles of ethanol\n", "T1 = 323.; \t\t\t#initial temperature in K\n", "T2 = 298.; \t\t\t#final temperature in K\n", "\n", "# Calculations\n", "#Step 1: Water is cooled from 323 K t0 298 K\n", "H1 = n_wat*18*C_water*(T2-T1)/1000; \t\t\t#(J)\n", "\n", "#Step 2: Ethanol is cooled from 323 to 298 K\n", "H2 = n_eth*46*C_ethanol*(T2-T1)/1000; \t\t\t#(J)\n", "\n", "#Step 3: 0.8 mol water and 0.2 mol ethanol are mixed at 298 K\n", "H3 = G1; \t\t\t#(J)\n", "\n", "#Step 4: \n", "H = G2;\n", "Cpm = (H-H1-H2-H3)/(T1-T2);\n", "\n", "# Results\n", "print 'Mean heat capacity of solution is %f J/mol K'%Cpm\n", "\n", "\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Mean heat capacity of solution is 97.648000 J/mol K\n" ] } ], "prompt_number": 29 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Example 7.23" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "# Variables\n", "To = 298.; \t\t\t#initial temperature (K)\n", "Cpm = 97.65; \t\t\t#Mean heat capacity of solution (J/mol K)\n", "Hs = -758.; \t\t\t#heat of mixing (J/mol)\n", "H = 0.;\n", "\n", "# Calculations\n", "T = (H-Hs)/Cpm + To;\n", "\n", "# Results\n", "print 'The final temperature attained by the mixing is %f K'%T\n", "\n", "\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The final temperature attained by the mixing is 305.762417 K\n" ] } ], "prompt_number": 30 } ], "metadata": {} } ] }