{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Chapter 9 : Chemical reaction Equilibria" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 9.1 Page No : 570" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Variables\n", "n_o_CH3OH = 1. ; \t\t\t#[mol]\n", "n_o_H2O = 3. \t\t\t#[mol]\n", "S = 0.87 ;\n", "\n", "# Calculations\n", "n_CH3OH = 1 - S ;\n", "n_H2O = 2 - S ;\n", "n_CO2 = S ;\n", "n_H2 = 3 * S ;\n", "n_v = n_CH3OH + n_CO2 + n_H2O + n_H2 ; \n", "y_H2 = n_H2 / n_v ;\n", "\n", "# Results\n", "print \"No of moles of H2 produced for 1mol of CH3OH = %.3f mol\" %( n_H2)\n", "print \"Mole fraction of H2 = %.2f\" %( y_H2) ;\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "No of moles of H2 produced for 1mol of CH3OH = 2.610 mol\n", "Mole fraction of H2 = 0.55\n" ] } ], "prompt_number": 1 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 9.2 Page No : 574" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math\n", "\n", "# Variables\n", "del_gf_0_CO2 = -394.36 ; \t\t\t#[kJ/mol],From Appendix A.3\n", "del_gf_0_H2 = 0 ; \t\t\t#[kJ/mol],From Appendix A.3\n", "del_gf_0_H2O = -228.57 ; \t\t\t#[kJ/mol],From Appendix A.3\n", "del_gf_0_CH3OH = -161.96 ; \t\t\t#[kJ/mol],From Appendix A.3\n", "n_CO2 = 1 ;\n", "n_H2 = 3 ;\n", "n_CH3OH = 1 ;\n", "n_H2O = 1 ;\n", "T = 298.15 ;\t\t\t#[K]\n", "R = 8.314 ; \t\t\t#[J/molK]\n", "\n", "# Calculations\n", "del_g0_rxn = (n_CO2 * del_gf_0_CO2 + n_H2 * del_gf_0_H2 - n_H2O * del_gf_0_H2O - n_CH3OH * del_gf_0_CH3OH) * 10**3 ; \t\t\t# [J/mol]\n", "K_298 = math.exp( - del_g0_rxn / (R * T)) ;\n", "\n", "# Results\n", "print \"The equillibrium constant K298 = %.2f \"%(K_298) ;\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The equillibrium constant K298 = 4.69 \n" ] } ], "prompt_number": 6 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 9.3 page no : 575" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math\n", "\n", "# Variables\n", "K_298 = 4.69\n", "\n", "# calculations\n", "deltaH = (-393.51) + 3 * 0 - (-241.82) - (-200.66) \n", "lnK333_469 = round((-deltaH*1000/8.314 )*(1./333 - 1./298),2)\n", "lnK333 = lnK333_469 + math.log(K_298)\n", "K333 = math.e**lnK333\n", "\n", "# Results\n", "print \"Equilibrium constant = %.2f \"%K333\n", "\n", "# Note: answer is slightly different because of rounding off error." ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Equilibrium constant = 37.54 \n" ] } ], "prompt_number": 1 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 9.4 Page No : 577" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math\n", "# Variables\n", "del_gf_0_CH2O = -110.0 ; \t\t\t#[kJ/mol],From Appendix A.2 & A.3\n", "del_gf_0_H2 = 0 ; \t\t\t#[kJ/mol],From Appendix A.2 & A.3\n", "del_gf_0_CH4O = -162.0 ; \t\t\t#[kJ/mol],From Appendix A.2 & A.3\n", "del_hf_0_CH2O = -116.0 ; \t\t\t#[kJ/mol],From Appendix A.2 & A.3\n", "del_hf_0_H2 = 0 ; \t\t\t#[kJ/mol],From Appendix A.2 & A.3\n", "del_hf_0_CH4O = -200.7 ; \t\t\t#[kJ/mol],From Appendix A.2 & A.3n_CH20 = 1 ;\n", "n_H2 = 1. ;\n", "n_CH4O = 1. ;\n", "n_CH2O = 1. ;\n", "T1 = 298. \t\t\t#[K]\n", "T2 = 873. ; \t\t\t# [K]\n", "R = 8.314 ; \t\t\t#[J/molK]\n", "Del_A = 3.302 ;\n", "Del_B = -4.776 * 10**-3 ;\n", "Del_C = 1.57 * 10**-6 ;\n", "Del_D = 0.083 * 10**5 ; \n", "\n", "# Calculations and Results\n", "del_g_rxn_298 = n_CH2O * del_gf_0_CH2O + n_H2 * del_gf_0_H2 - n_CH4O * del_gf_0_CH4O ;\n", "K_298 = math.exp( - del_g_rxn_298 * 10**3 / (R * T1)) ;\n", "print \"a) K_298 = %.2e As the equilibrium constant is very small very little amount of\\\n", " formaldehyde will be formed .\"%(K_298) ;\n", "\n", "#Solution(b)\n", "del_h_rxn_298 = (n_CH2O * del_hf_0_CH2O + n_H2 * del_hf_0_H2 - n_CH4O * del_hf_0_CH4O) * 10**3 ;\t\t\t#[J/mol]\n", "K_873 = K_298 * math.exp((-del_h_rxn_298 * (1/T2 - 1/T1)) / R) ;\n", "print \"b) i) K_873 = %.2f \"%(K_873) ;\n", "\n", "#Solution(c)\n", "x = ( -del_h_rxn_298 / R + Del_A * T1 + Del_B / 2 * T1**2 + Del_C /3 * T1**3 - Del_D / T1 ) *(1/T2 - 1/T1) + Del_A * math.log(T2 / T1) + Del_B / 2 * (T2 -T1) + Del_C / 6 * (T2**2 -T1**2) + Del_D / 2 * (1/(T2**2) -1/(T1**2)) ;\n", "K_873 = K_298 * math.exp(x) ;\n", "print \" ii) K_873 = %.2f \"%(K_873) ;\n", "\n", "# Note : answer are slightly different because of rounding off error." ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "a) K_298 = 7.67e-10 As the equilibrium constant is very small very little amount of formaldehyde will be formed .\n", "b) i) K_873 = 4.61 \n", " ii) K_873 = 8.71 \n" ] } ], "prompt_number": 5 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 9.6 Page No : 581" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Variables\n", "import math\n", "del_g0_f_C6H6 = -32.84 ; \t\t\t#[kJ/mol] , From Table E9.6\n", "del_g0_f_C2H4 = 68.15 ; \t\t\t#[kJ/mol] , From Table E9.6\n", "del_g0_f_H2 = 0 ; \t\t\t #[kJ/mol] , From Table E9.6\n", "del_h0_f_C6H6 = -84.68 ; \t\t\t#[kJ/mol] , From Table E9.6\n", "del_h0_f_C2H4 = 52.26 ; \t\t\t#[kJ/mol] , From Table E9.6\n", "del_h0_f_H2 = 0 ; \t\t\t #[kJ/mol] , From Table E9.6\n", "T1 = 298.2 ;\t\t\t #[K]\n", "P = 1. \t\t\t#[bar]\n", "R = 8.31 ;\n", "T2 = 1273. \t\t\t# [K]\n", "\n", "# Calculations\n", "del_g0_f_rxn = del_g0_f_C2H4 + del_g0_f_H2 - del_g0_f_C6H6 ;\n", "K_298 = math.exp ( - (del_g0_f_rxn * 10**3) / (R * T1)) ;\n", "del_h0_f_rxn = (del_h0_f_C2H4 + del_h0_f_H2 - del_h0_f_C6H6) * 10**3 ;\n", "K_1273 = K_298 * math.exp( - del_h0_f_rxn / R * (1/T2 - 1/T1)) ;\n", "x = math.sqrt( K_1273 / ( K_1273 + P)) ;\n", "\n", "# Results\n", "print \"n_C2H6 = %.2f mol n_C2H4 = %.2f mol n_H2 = %.2f mol\"%(1-x,x,x) ;\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "n_C2H6 = 0.09 mol n_C2H4 = 0.91 mol n_H2 = 0.91 mol\n" ] } ], "prompt_number": 1 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 9.7 Page No : 583" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from matplotlib.pyplot import *\n", "from numpy import *\n", "from scipy.integrate import *\n", "import math \n", "\n", "\n", "# Variables\n", "del_h0_f_NH3 = -46.11 ; \t\t\t# [kJ/mol],From table E9.7\n", "del_h0_f_N2 = 0 \t\t\t# [kJ/mol],From table E9.7\n", "del_h0_f_H2 = 0 ; \t\t \t# [kJ/mol],From table E9.7\n", "del_g0_f_NH3 = -16.45 ; \t\t\t# [kJ/mol],From table E9.7\n", "del_g0_f_N2 = 0 ; \t\t \t# [kJ/mol],From table E9.7\n", "del_g0_f_H2 = 0 ; \t\t\t # [kJ/mol],From table E9.7\n", "n_NH3 = 2. ;\n", "n_N2 = -1. ;\n", "n_H2 = -3. ;\n", "A_NH3 = 3.578 \n", "B_NH3 = 3.02 * 10**-3\n", "D_NH3 = -0.186 * 10**5 ; \n", "A_N2 = 3.280\n", "B_N2 = 0.593 * 10**-3\n", "D_N2 = 0.040 * 10**5 ;\n", "A_H2 = 3.249\n", "B_H2 = 0.422 * 10**-3\n", "D_H2 = 0.083 * 10**5 ;\n", "R = 8.314 ;\n", "T = 298. ;\n", "T2 = 773. ;\n", "P = 1. ; \t\t\t#[bat]\n", "\n", "# Calculations\n", "Del_h0_rxn = (n_NH3 * del_h0_f_NH3 + n_N2 * del_h0_f_N2 + n_H2 * del_h0_f_H2) * 10**3 ;\n", "Del_g0_rxn = (n_NH3 * del_g0_f_NH3 + n_N2 * del_g0_f_N2 + n_H2 * del_g0_f_H2) * 10**3 ;\n", "del_A = n_NH3 * A_NH3 + n_N2 * A_N2 + n_H2 * A_H2 ;\n", "del_B = n_NH3 * B_NH3 + n_N2 * B_N2 + n_H2 * B_H2 ;\n", "del_D = n_NH3 * D_NH3 + n_N2 * D_N2 + n_H2 * D_H2 ;\n", "\n", "K_298 = math.exp( - Del_g0_rxn / ( R * T)) ;\n", "K_T = K_298 * math.exp( - Del_h0_rxn / R * (1 / T2 - 1 / T)) ;\n", "A = K_T * P**2 *27 -16 ;\n", "B = 64 - K_T * P**2 * 108 ;\n", "C = -64 + K_T * P**2 * 162 ;\n", "D = -108 * K_T * P**2 ;\n", "E = 27 * K_T * P**2 ;\n", "\n", "\n", "mycoeff =[E , D ,C , B ,A];\n", "M = roots([A,B,C,D,E]);\n", "\n", "for i in range(3):\n", " ans = isreal(M[i]) ;\n", " if ans == True:\n", " y = M[i] / M[i+1] - 1 ;\n", " ans = sign(y) ;\n", " \n", " if ans == 1 :\n", " x = M[i]\n", " else:\n", " x = M[i+1]\n", " \n", "# Results\n", "print \"a)Extent of reaction = %.3f \"%(x);\n", "\n", "#(b)\n", "X = (-Del_h0_rxn / R + del_A * T + del_B / 2 * T**2 - del_D / T) * (1/T2 - 1/T) + del_A * math.log(T2 / T) + del_B / 2 * (T2 - T) + del_D / 2 * (1/(T2**2) - 1/(T**2) );\n", "K_T = K_298 * math.exp(X) ;\n", "\n", "A = K_T * P**2 *27 -16 ;\n", "B = 64 - K_T * P**2 * 108 ;\n", "C = -64 + K_T * P**2 * 162 ;\n", "D = -108 * K_T * P**2 ;\n", "E = 27 * K_T * P**2 ;\n", "\n", "mycoeff =[E , D ,C , B ,A];\n", "M1 = roots([A,B,C,D,E]);\n", "\n", "for i in range(3):\n", " ans = isreal(M1[i])\n", " if ans == True :\n", " y = M1[i] / M1[i+1] - 1 ;\n", " ans = sign(y) ;\n", " if ans == True:\n", " x1 = M1[i]\n", " else:\n", " x1 = M1[i+1]\n", "\n", "print \"b) Extent of reaction = %.3f\"%(x1);\n", "print \"Under these conditions we do not expect to produce an appreciable amount of ammonia .\"\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "a)Extent of reaction = 0.005 \n", "b) Extent of reaction = 0.003\n", "Under these conditions we do not expect to produce an appreciable amount of ammonia .\n" ] } ], "prompt_number": 10 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 9.9 Page No : 585" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from scipy.optimize import fsolve \n", "import math\n", "\n", "# Variables\n", "K_T = 1.51 * 10**-5 ;\n", "P = 300. ; \t\t\t#[bar]\n", "T = 500 + 273.2 ; \t\t\t#[K]\n", "R = 8.314 ;\n", "\n", "# Calculations and Results\n", "def f991(k):\n", " return ((2 * k)**2 * (4 - 2 * k)**2 / ((1 - k) * (3 - 3*k)**3)) * P**-2 - K_T \n", "\n", "z1 = fsolve(f991,0.3)[0]\n", "\n", "print \"a) Extent of reaction = %.2f \"%(z1);\n", "\n", "P_c = [111.3 * 101325 , 33.5 * 101325 , 12.8 * 101325] ;\n", "T_c = [405.5 , 126.2 , 33.3] ;\n", "\n", "a = zeros(3)\n", "b = zeros(3)\n", "V = zeros(3)\n", "sai = zeros(3)\n", "for i in range(3):\n", " a[i] = 27./ 64 * (R * T_c[i])**2 / P_c[i] ;\n", " b[i] = (R * T_c[i]) / (8 * P_c[i]) ;\n", " \n", " def f992(v):\n", " return (R * T) / (v - b[i]) - a[i] / (v**2) - P * 100000 ;\n", " V[i] = fsolve(f992,.0002)\n", " sai[i] = math.exp( - math.log((V[i] - b[i]) * P * 10**5/ ( R * T)) + b[i] / (V[i] - b[i]) - 2 * a[i] / (R * T * V[i])) ;\n", "\n", "def f993(k):\n", " return ((2 * k)**2 * sai[0]**2 * (4 - 2 * k)**2 * 3 / ((1 - k) * sai[1]* (3 - 3*k)**3 * sai[2]**3 ))* P**-2 - K_T \n", "\n", "z2 = fsolve(f993,0.3)\n", "\n", "x = (z1 - z2) / z1 * 100 ;\n", "\n", "print \"b) Extent of reaction = %.2f \"%(z2);\n", "print \" A correction of about %d%% is observed from accounting for nonideal behaviour . \"%(x)\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "a) Extent of reaction = 0.37 \n", "b) Extent of reaction = 0.33 \n", " A correction of about 11% is observed from accounting for nonideal behaviour . \n" ] } ], "prompt_number": 8 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 9.10 Page No : 586" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Variables\n", "import math\n", "del_g0_f_1 = 31.72 ; \t\t\t#[kJ/mol]\n", "del_g0_f_2 = 26.89 ; \t\t\t#[kJ/mol]\n", "R = 8.314 ;\n", "T = 298 ;\t\t\t#[K]\n", "\n", "# Calculations\n", "del_g0_rxn = del_g0_f_2 - del_g0_f_1 ;\n", "K = math.exp( - del_g0_rxn * 10**3 / (R * T) ) ;\n", "x = K / (1 + K) ;\n", "\n", "# Results\n", "print \"x = %.3f \\nAt equilibrium %.1f %% of the liquid exists as cyclohexane.\"%(x ,x * 100) ;\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "x = 0.875 \n", "At equilibrium 87.5 % of the liquid exists as cyclohexane.\n" ] } ], "prompt_number": 3 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 9.11 Page No : 587" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Variables\n", "import math\n", "del_g0_f_CaCO3 = -951.25 ;\n", "del_g0_f_CaO = -531.09 ;\n", "del_g0_f_CO2 = -395.81 ;\n", "R = 8.314 ;\n", "T = 1000. ;\t\t\t# [K]\n", "\n", "# Calculations\n", "del_g0_rxn = del_g0_f_CaO + del_g0_f_CO2 - del_g0_f_CaCO3 ;\n", "K = math.exp(-del_g0_rxn * 10**3 / (R * T)) ;\n", "p_CO2 = K ;\n", "\n", "# Results\n", "print \"Equilibrium pressure = %.3f bar \"%(p_CO2) ;\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Equilibrium pressure = 0.053 bar \n" ] } ], "prompt_number": 10 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 9.12 Page No : 588" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Variables\n", "import math\n", "del_g0_f_B = 124.3 ; \t\t\t#[kJ/mol] , From Appendix A.3\n", "del_g0_f_Ac = 209.2 ; \t\t\t#[kJ/mol] , From Appendix A.3\n", "R = 8.314 ;\n", "T = 298. ; \t\t\t# [K]\n", "A = 9.2806 ;\n", "B = 2788.51 ;\n", "C = -52.36 ;\n", "\n", "# Calculations\n", "del_g0_rxn = del_g0_f_B - 3 * del_g0_f_Ac ;\n", "K = math.exp( - del_g0_rxn * 10**3 / (R * T)) ;\n", "P = 1 / K**(1./3) ;\n", "X = A - B / (T + C) ;\n", "P_b = math.exp(X) ;\n", "\n", "# Results\n", "print (\"At equilibrium , the cylinder is almost completely filled with Benzene .\")\n", "print \"System pressure = %.3f bar \"%(P_b)\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "At equilibrium , the cylinder is almost completely filled with Benzene .\n", "System pressure = 0.126 bar \n" ] } ], "prompt_number": 11 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 9.13 Page No : 596" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Variables\n", "import math\n", "E_0_c = 0.153 ; \t\t\t#[V]\n", "E_0_a = -0.521 ; \t\t\t# [v]\n", "T = 298. ; \t\t\t#[K]\n", "z = 1. ;\n", "F =96485 ; \t\t\t#[C/mol e-]\n", "R =8.314 ; \t\t\t#[J/mol K ]\n", "\n", "# Calculations\n", "E_0_rxn = E_0_c + E_0_a ;\n", "del_g_0_rxn = - z * F * E_0_rxn ;\n", "\n", "K = math.exp( - del_g_0_rxn / ( R * T )) ;\n", "\n", "# Results\n", "print \"The equilibrium constant = %.3g \"%(K)\n", "print \"The equilibrium constant is small . So the etching will not proceed\\\n", " spontaneously . However if we apply work through application of an electrical potential\\\n", " , we can etch the copper .\"\n", "\n", "# Note: answer is slightly different because of rounding off error." ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The equilibrium constant = 5.97e-07 \n", "The equilibrium constant is small . So the etching will not proceed spontaneously . However if we apply work through application of an electrical potential , we can etch the copper .\n" ] } ], "prompt_number": 5 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 9.14 Page No : 596" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Variables\n", "import math\n", "E_0_c = 0.34 ; \t\t\t#[V]\n", "E_0_a = -1.23 \t\t\t#[V]\n", "T = 298. ; \t\t\t# [K]\n", "pH = 1. ;\n", "z = 2. ;\n", "Cu2 = 0.07\n", "F = 96485. \t \t\t#[C/mol e-]\n", "R = 8.314 ;\n", "\n", "# Calculations\n", "E_0_rxn = E_0_c + E_0_a ;\n", "E = E_0_rxn + 2.303 * R * T * 2 * pH / (z * F) + R * T * math.log(Cu2) / (z * F) ;\n", "\n", "# Results\n", "print \"Del_E_0_rxn = %.2f \"%(E_0_rxn ) ;\n", "print \"We have to apply potential greater than %.1f V\"%(-E) ;\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Del_E_0_rxn = -0.89 \n", "We have to apply potential greater than 0.9 V\n" ] } ], "prompt_number": 12 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 9.17 Page No : 602" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Variables\n", "m = 4. ;\n", "T = 2. ;\n", "Pai = 1. ;\n", "S = 1. ;\n", "\n", "# Calculations\n", "R = m - T + 2 - Pai - S ;\n", "\n", "# Results\n", "print \"We must specify %g independent equations .\"%(R)\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "We must specify 2 independent equations .\n" ] } ], "prompt_number": 14 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 9.19 Page No : 603" ] }, { "cell_type": "code", "collapsed": false, "input": [ "%pylab inline\n", "\n", "from numpy import *\n", "from scipy.optimize import fsolve \n", "from matplotlib.pyplot import *\n", "import math \n", "\n", "# Variables\n", "del_g_f_CH4 = -50.72 ;\n", "del_g_f_H2 = 0 ;\n", "del_g_f_H2O = -228.57 ;\n", "del_g_f_CO = -137.17 ;\n", "del_g_f_CO2 = -394.36 ;\n", "del_h_f_CH4 = -74.81 ;\n", "del_h_f_H2 = 0 ;\n", "del_h_f_H2O = -241.82 ;\n", "del_h_f_CO = -110.53 ;\n", "del_h_f_CO2 = -393.51 ;\n", "\n", "v1_CH4 = -1. ;\n", "v1_H2 = 3. ;\n", "v1_H2O = -1. ;\n", "v1_CO = 1. ;\n", "v1_CO2 = 0. ;\n", "v2_CH4 = -1. ;\n", "v2_H2 = 4. ;\n", "v2_H2O = -2. ;\n", "v2_CO = 0. ;\n", "v2_CO2 = 1. ;\n", "\n", "A_CH4 = 1.702 ;\n", "B_CH4 = 9.08 * 10**-3 ;\n", "C_CH4 = -2.16 * 10**-6 ;\n", "D_CH4 = 0 ;\n", "A_H2 = 3.249 ;\n", "B_H2 = 4.22 * 10**-4 ;\n", "C_H2 = 0 ;\n", "D_H2 = 8.30 * 10**3 ;\n", "A_H2O = 3.47 ;\n", "B_H2O = 1.45 * 10**-3 ;\n", "C_H2O = 0 ;\n", "D_H2O = 1.21 * 10**4 ;\n", "A_CO = 3.376 ;\n", "B_CO = 5.57 * 10**-4 ;\n", "C_CO = 0 ;\n", "D_CO = -3.10 * 10**3 ;\n", "A_CO2 = 5.457 ;\n", "B_CO2 = 1.05 * 10**-3 ;\n", "C_CO2 = 0 ;\n", "D_CO2 = -1.16 * 10**5 ;\n", "M = zeros((12,10))\n", "M[:,0] = linspace(600,1150,12)\n", "\n", "R = 8.314 ;\n", "P = 1 ; \t\t\t#[bar]\n", "T_ref = 298.15 ; \t\t\t#[K]\n", "\n", "# Calculations\n", "del_g_f_1 = (v1_CO * del_g_f_CO + v1_H2 *del_g_f_H2 + v1_CH4 * del_g_f_CH4 + v1_H2O * del_g_f_H2O) * 1000 ;\n", "del_h_f_1 = (v1_CO * del_h_f_CO + v1_H2 *del_h_f_H2 + v1_CH4 * del_h_f_CH4 + v1_H2O * del_h_f_H2O) * 1000 ;\n", "del_g_f_2 = (v2_CO2 * del_g_f_CO2 + v2_H2 *del_g_f_H2 + v2_CH4 * del_g_f_CH4 + v2_H2O * del_g_f_H2O) * 1000 ;\n", "del_h_f_2 = (v2_CO2 * del_h_f_CO2 + v2_H2 *del_h_f_H2 + v2_CH4 * del_h_f_CH4 + v2_H2O * del_h_f_H2O) * 1000;\n", "Del_A_1 = v1_CO * A_CO + v1_H2 * A_H2 + v1_CH4 * A_CH4 + v1_H2O * A_H2O ;\n", "Del_B_1 = v1_CO * B_CO + v1_H2 * B_H2 + v1_CH4 * B_CH4 + v1_H2O * B_H2O ;\n", "Del_C_1 = v1_CO * C_CO + v1_H2 * C_H2 + v1_CH4 * C_CH4 + v1_H2O * C_H2O ;\n", "Del_D_1 = v1_CO * D_CO + v1_H2 * D_H2 + v1_CH4 * D_CH4 + v1_H2O * D_H2O ;\n", "Del_A_2 = v2_CO2 * A_CO2 + v2_H2 * A_H2 + v2_CH4 * A_CH4 + v2_H2O * A_H2O ;\n", "Del_B_2 = v2_CO2 * B_CO2 + v2_H2 * B_H2 + v2_CH4 * B_CH4 + v2_H2O * B_H2O ;\n", "Del_C_2 = v2_CO2 * C_CO2 + v2_H2 * C_H2 + v2_CH4 * C_CH4 + v2_H2O * C_H2O ;\n", "Del_D_2 = v2_CO2 * D_CO2 + v2_H2 * D_H2 + v2_CH4 * D_CH4 + v2_H2O * D_H2O ;\n", "\n", "\n", "K_298_1 = math.exp( - del_g_f_1 / (R * T_ref)) ;\n", "K_298_2 = math.exp( - del_g_f_2 / (R * T_ref)) ;\n", "\n", "for i in range(12):\n", " X = (-del_h_f_1 / R + Del_A_1 * T_ref + Del_B_1 / 2 * T_ref**2 + \\\n", " Del_C_1 /3* T_ref**3- Del_D_1 / T_ref) * (1./M[i,0] - 1./T_ref) + \\\n", " Del_A_1*math.log(M[i,0] / T_ref)+ Del_B_1 / 2 * (M[i,0] - T_ref) + \\\n", " Del_C_1 / 6 *(M[i,0]**2 - T_ref**2) + Del_D_1 / 2 * (1./(M[i,0]**2) - 1./(T_ref**2))\n", " \n", " M[i,1] = K_298_1 * math.exp(X) ;\n", " \n", " Y = (-del_h_f_2 / R + Del_A_2 * T_ref + Del_B_2 / 2 * T_ref**2 + Del_C_2/3* T_ref**3- Del_D_2 / T_ref) * \\\n", " (1/M[i,0] - 1/T_ref) + Del_A_2 * math.log(M[i,0] / T_ref)+ Del_B_2 / 2 * (M[i,0] - T_ref) + \\\n", " Del_C_2 / 6 *(M[i,0]**2 - T_ref**2) + Del_D_2 / 2* (1/(M[i,0]**2) - 1/(T_ref**2));\n", " \n", " M[i,2] = K_298_2 * math.exp(Y) ;\n", " def f918(R):\n", " s1 = R[0] ;\n", " s2 = R[1] ;\n", " y = [0,0]\n", " y[0] = (s1 * (3 * s1 + 4 * s2)**3) / ((5 + 2 * s1 + 2 * s2)**2 * (1 - s1 -s2) * (4 - s1 - 2 * s2)) * P**2 - M[i,1] ;\n", " y[1] = (s2 * (3 * s1 + 4 * s2)**4) / ((5 + 2 * s1 + 2 * s2)**2 * (1 - s1 -s2) * (4 - s1 - 2 * s2)**2) * P**2 - M[i,2] ;\n", " return y\n", " z = fsolve(f918,[0.0001,0.0001])\n", " M[i,3] = z[0] ;\n", " M[i,4] = z[1] ; \n", " M[i,5] = (1 - M[i,3] - M[i,4]) / (5 + 2 * M[i,3] + 2 * M[i,4]) ;\n", " M[i,6] = (4 - M[i,3] - 2 * M[i,4]) / (5 + 2 * M[i,3] + 2 * M[i,4]) ;\n", " M[i,7] = (3 * M[i,3] + 4 * M[i,4]) / (5 + 2 * M[i,3] + 2 * M[i,4]) ;\n", " M[i,8] = M[i,3] / (5 + 2 * M[i,3] + 2 * M[i,4]) ; \n", " M[i,9] = M[i,4] / (5 + 2 * M[i,3] + 2 * M[i,4]) ; \n", "\n", "n1 = zeros([12,7])\n", "for i in range(12):\n", " for j in range(7):\n", " n1[i,j] = M[i,j] ;\n", "n2 = zeros([12,3])\n", "for i in range(12):\n", " for j in range(3):\n", " n2[i,j] = M[i,j+7]\n", "print \" T K1 K2 S1 S2 y_CH4 y_H2\"\n", "for row in n1:\n", " print \" %5d %7.2e %7.2e %7.3f %7.3f %7.3f %7.3f \"%(row[0],row[1],row[2],row[3],row[4],row[5],row[6])\n", "#print (n1) ;\n", "print (\" y_H20 y_CO y_CO2 \") ;\n", "for row in n2:\n", " print \" %7.3f %7.3f %7.3f \"%(row[0],row[1],row[2])\n", "\n", "\n", "#print (n2) ;\n", "N = zeros([10,10])\n", "for i in range(10):\n", " for j in range(10):\n", " N[i,j] = M[i,j]\n", "'''\n", "plot(N[3],N[0],\"+\") ;\n", "plot(N[4], N[0],\".\") ;\n", "plot(N[5] , N[0], \"o-\") ; \n", "plot(N[6] , N[0], \"s-\");\n", "plot(N[7] , N[0], \"*-\") ;\n", "plot(N[8] , N[0], \"x-\") ;\n", "plot(N[9] , N[0], \".-\") ;\n", "show()\n", "'''\n", "\n", "suptitle(\"Figure E9.18 Extent of reaxn vs temp\")\n", "xlabel(\"Temperature(K)\")\n", "ylabel(\"S\") ;\n", "#legend(\"S1\",\"S2\") ;\n", "plot(N[:,0] , N[:,5], \"o-\") ; \n", "plot(N[:,0] , N[:,6], \"s-\");\n", "plot(N[:,0] , N[:,7], \"^-\") ;\n", "plot(N[:,0] , N[:,8], \"x-\") ;\n", "plot(N[:,0] , N[:,9], \".-\") ;\n", "\n", "# Note : some answers are different because of rounding off error." ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Populating the interactive namespace from numpy and matplotlib\n", " T K1 K2 S1 S2 y_CH4 y_H2" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", " 600 4.91e-07 1.40e-05 0.000 0.113 0.170 0.722 \n", " 650 1.42e-05 2.24e-04 0.003 0.191 0.150 0.671 \n", " 700 2.59e-04 2.47e-03 0.011 0.294 0.124 0.606 \n", " 750 3.24e-03 2.01e-02 0.037 0.410 0.094 0.534 \n", " 800 3.00e-02 1.29e-01 0.099 0.515 0.062 0.461 \n", " 850 2.15e-01 6.69e-01 0.207 0.578 0.033 0.401 \n", " 900 1.25e+00 2.93e+00 0.332 0.584 0.012 0.366 \n", " 950 6.06e+00 1.11e+01 0.424 0.551 0.004 0.356 \n", " 1000 2.52e+01 3.70e+01 0.485 0.509 0.001 0.358 \n", " 1050 9.20e+01 1.11e+02 0.531 0.468 0.000 0.362 \n", " 1100 2.99e+02 3.02e+02 0.319 0.322 0.057 0.484 \n", " 1150 8.78e+02 7.56e+02 0.343 0.295 0.058 0.488 \n", " y_H20 y_CO y_CO2 \n", " 0.087 0.000 0.022 \n", " 0.144 0.000 0.036 \n", " 0.215 0.002 0.052 \n", " 0.297 0.006 0.070 \n", " 0.378 0.016 0.083 \n", " 0.447 0.032 0.088 \n", " 0.488 0.049 0.085 \n", " 0.500 0.061 0.079 \n", " 0.499 0.069 0.073 \n", " 0.495 0.076 0.067 \n", " 0.357 0.051 0.051 \n", " 0.352 0.055 0.047 \n" ] }, { "output_type": "stream", "stream": "stderr", "text": [ "/home/jovina/virtualenvs/scipy/local/lib/python2.7/site-packages/scipy/optimize/minpack.py:236: RuntimeWarning: The iteration is not making good progress, as measured by the \n", " improvement from the last ten iterations.\n", " warnings.warn(msg, RuntimeWarning)\n" ] }, { "metadata": {}, "output_type": "pyout", "prompt_number": 2, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAEhCAYAAABhpec9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd8U/X+x/FX0pUONrSMImUVaCmlhSIFkSpIRZzAFVcv\nQwT5iQsV9ApSFBVUUOQqFhHcehG8ovRSlkTZSxCQpVCgZVpm6Ugzvr8/Dg0NLaVA0yTt5/l45JGT\n5CT5JJTzzvf7Ped7dEophRBCCHEZelcXIIQQwr1JUAghhCiVBIUQQohSSVAIIYQolQSFEEKIUklQ\nCCGEKJUEhQfx8vIiJiaGmJgYYmNjOXjwIF27dq3QGoxGIzVq1LDXERMTw88//wzApEmTCA8Pp23b\ntkybNq3E5+/evZv4+HgMBgNTpkxxeGz8+PGEh4fTunVr+vfvT25u7jXVeODAAfz9/R1q/PLLLy+7\n/tmzZ5kxY8Y1vVehzz77jKNHj17Vc3bv3k1kZCSxsbGkp6df1/u7g4MHD/LNN9+4ugzhDEp4jKCg\nIKe9tsViKdN6K1asUHfddVex+zdt2qQiIyNVXl6eslgsqmfPnmrbtm3F1jtx4oTauHGjevnll9U7\n77xjv//PP/9UTZs2VSaTSSml1P33369mzZp1TZ8lPT1dtW3b1mnrlyQhIUFt2rTpqp7z5ptvqokT\nJ15xPavVeq1lVagVK1aoO++809VlCCeQFoWHCwoKAsBqtTJkyBBatWpF79696dOnD/PnzwcgLCyM\nU6dOAbBp0yZuueUWAJKTk0lKSiIhIYFBgwZx/Phx+vTpQ3R0NO3bt+eXX34p8T1VCcdo7tmzh86d\nO2MwGPDy8qJ79+789NNPxdarV68eHTt2xMfHx+H+2rVr4+PjQ05ODhaLhdzcXJo0aXLtX0wJDh48\nSHh4OCdPnsRms9GtWzeWLl3KSy+9xL59+4iJiWHMmDEAvPrqq7Rr1442bdrw0ksvAVpLpU2bNjz+\n+OO0bduWhIQEcnJymDdvHps2beLhhx8mNjaW/Px8h/fdsGEDMTExREVF0bt3b06dOsX//vc/pk2b\nxowZM7j11luL1RoUFMTzzz9Px44dWbduHR9//DHR0dFERkYyZMgQLBYLAI8//jhxcXGEh4fz4osv\nAloLqXXr1uzduxeABx98kE8++cT+umPHjrW3tC5tBdlsNpo2bcrZs2ft94WHh3PixAm++eYboqKi\niImJoVu3bsVqfvHFF1m5ciUxMTFMmzYNq9XKyJEjiY6Opk2bNrz//vuA1irt3r07/fr1o0WLFrz4\n4ot88cUXxMfH06pVK/78808ABg0axIgRI+jcuTPNmzfnv//971X+i4ty4+qkEmXn5eWl2rdvr9q3\nb6/69u2rlLrYyvjyyy/tv+b+/vtvVatWLTV//nyllFJhYWHq5MmTSimlNm7cqBISEpRSSo0fP151\n7NhRmc1mpZRS9913n1q1apVSSqmDBw+q5s2bF6thxYoVqkaNGvY62rdvr/bv36+2bdumWrRooU6e\nPKlycnJU586d1eOPP37Zz5KcnOzQolBKqZSUFBUUFKTq1aunHnnkkWv+ntLT05W/v79DjYWfa9as\nWeof//iHeuutt+z1HThwwKFFsWDBAjVs2DCllPZr/s4771RLly5V6enpytvbW23fvl0ppbV65syZ\no5TSWhSbN28usZ7w8HC1evVqpZRSEyZMsL9vcnKymjJlSonP0el06vvvv1dKKbV161bVp08fe6tv\nxIgR6uOPP1ZKKXX27FmllNYiLNqqWbp0qYqPj1fffPON6t27t8PrLlq0SCml1OjRo9X48eOLvffT\nTz9t/1zr1q1Tt912m1JKqYiICHXixAmllFLnz58v9jyj0ejQopg2bZq9xZSfn69iY2PV3r171YoV\nK1TNmjXV33//rUwmk2rYsKF69dVX7c954oknlFJKDRw4UPXp00cppf2bBgcHq7y8vBK/L+Fc3q4O\nKlF2/v7+bNmypcTHVq9eTf/+/QGoW7euvdVQGp1Ox9133423t/ZnsGzZMoe+cpPJRHZ2NtWqVXN4\nXrdu3UpsLYwaNYqEhAT8/f1p3759mT8XwL59+3jvvfc4cOAANWrU4B//+AdfffUVDz/88FW9TqHm\nzZuX+F09+uijzJ07l5SUFH7//XegeAtpyZIlLFmyhJiYGABycnI4cOAALVq0oGnTprRt2xaADh06\nkJGRYX/epa8DcOLECfLz8+nSpQsAjzzyCHfffbd9/ZKeA9p41L333gvA0qVL2bJlCx07dgQgLy+P\nevXqAfDJJ5/w6aefotPpOHLkCLt376ZDhw707NmTuXPnMnLkSLZt22Z/XV9fX26//XZ7/YsXLy72\n3gMGDODVV19l0KBBfPvttwwYMACAm2++mUceeYR+/frRt29fAgMDHZ5X0vf4559/Mm/ePADOnTvH\n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\n", "text": [ "" ] } ], "prompt_number": 2 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 9.21 Page No : 607" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Variables\n", "import math\n", "del_g_0_f_SiCl2 = - 216012. ; \n", "del_g_0_f_SiCl4 = - 492536. ;\n", "del_g_0_f_SiCl3H = -356537. ;\n", "del_g_0_f_SiCl2H2 = -199368. ;\n", "del_g_0_f_SiClH3 = -28482. ;\n", "del_g_0_f_SiH4 = -176152. ;\n", "del_g_0_f_HCl = -102644. ;\n", "del_g_0_f_H2 = 0. ;\n", "del_g_0_f_Si = 0. ;\n", "R = 8.314 ;\n", "T = 1300. ; \t\t\t#[K]\n", "\n", "# Calculations\n", "Del_g_rxn_1 = del_g_0_f_SiCl2 + 2 * del_g_0_f_HCl - del_g_0_f_SiCl4 - del_g_0_f_H2 ;\n", "Del_g_rxn_2 = del_g_0_f_SiCl3H + del_g_0_f_HCl - del_g_0_f_SiCl4 - del_g_0_f_H2 ;\n", "Del_g_rxn_3 = del_g_0_f_SiCl2H2 + del_g_0_f_HCl - del_g_0_f_SiCl3H - del_g_0_f_H2 ;\n", "Del_g_rxn_4 = del_g_0_f_SiClH3 + del_g_0_f_HCl - del_g_0_f_SiCl2H2 - del_g_0_f_H2 ;\n", "Del_g_rxn_5 = del_g_0_f_SiH4 + del_g_0_f_HCl - del_g_0_f_SiCl3H - del_g_0_f_H2 ;\n", "Del_g_rxn_6 = del_g_0_f_Si + 4 * del_g_0_f_HCl - del_g_0_f_SiCl4 - 2 * del_g_0_f_H2 ;\n", "\n", "M = zeros([6,4])\n", "\n", "M[0,0] = math.exp( - Del_g_rxn_1 / (R * T)) ;\n", "M[1,0] = math.exp( - Del_g_rxn_2 / (R * T)) ;\n", "M[2,0] = math.exp( - Del_g_rxn_3 / (R * T)) ;\n", "M[3,0] = math.exp( - Del_g_rxn_4 / (R * T)) ;\n", "M[4,0] = math.exp( - Del_g_rxn_5 / (R * T)) ;\n", "M[5,0] = math.exp( - Del_g_rxn_6 / (R * T)) ;\n", "\n", "S = [0.0763,0.1979,0.0067,0.0001,0.0000,-0.0512] ;\n", "K_cal = [.00137,0.0457,0.00644,0.00181,0.000752,0.000509] ;\n", "\n", "for i in range(6):\n", " M[i,1] = S[i] ;\n", " M[i,2] = K_cal[i] ;\n", " M[i,3] = M[i,0] - M[i,2] ;\n", "# Results\n", "print (\" K_i S K_i_cal K_i - K_i_cal\") ;\n", "for row in M:\n", " print \" %5.2e %7.4f %7.2e %7.2e\"%(row[0],row[1],row[2],row[3])\n", "\n", "# Readers can refer figure E9.19 .\n", "# Note : answers are different because of rounding off error." ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " K_i S K_i_cal K_i - K_i_cal\n", " 1.37e-03 0.0763 1.37e-03 2.77e-06\n", " 4.57e-02 0.1979 4.57e-02 -1.95e-05\n", " 6.44e-03 0.0067 6.44e-03 2.87e-06\n", " 1.81e-03 0.0001 1.81e-03 9.39e-07\n", " 7.52e-04 0.0000 7.52e-04 -4.00e-09\n", " 5.09e-04 -0.0512 5.09e-04 -3.50e-08\n" ] } ], "prompt_number": 69 } ], "metadata": {} } ] }