diff options
author | kinitrupti | 2017-05-12 18:53:46 +0530 |
---|---|---|
committer | kinitrupti | 2017-05-12 18:53:46 +0530 |
commit | 6279fa19ac6e2a4087df2e6fe985430ecc2c2d5d (patch) | |
tree | 22789c9dbe468dae6697dcd12d8e97de4bcf94a2 /Basic_Engineering_Thermodynamics_by_A._Venkatesh/ch9.ipynb | |
parent | d36fc3b8f88cc3108ffff6151e376b619b9abb01 (diff) | |
download | Python-Textbook-Companions-6279fa19ac6e2a4087df2e6fe985430ecc2c2d5d.tar.gz Python-Textbook-Companions-6279fa19ac6e2a4087df2e6fe985430ecc2c2d5d.tar.bz2 Python-Textbook-Companions-6279fa19ac6e2a4087df2e6fe985430ecc2c2d5d.zip |
Removed duplicates
Diffstat (limited to 'Basic_Engineering_Thermodynamics_by_A._Venkatesh/ch9.ipynb')
-rwxr-xr-x | Basic_Engineering_Thermodynamics_by_A._Venkatesh/ch9.ipynb | 867 |
1 files changed, 867 insertions, 0 deletions
diff --git a/Basic_Engineering_Thermodynamics_by_A._Venkatesh/ch9.ipynb b/Basic_Engineering_Thermodynamics_by_A._Venkatesh/ch9.ipynb new file mode 100755 index 00000000..a3ffa471 --- /dev/null +++ b/Basic_Engineering_Thermodynamics_by_A._Venkatesh/ch9.ipynb @@ -0,0 +1,867 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:db9190b16f5381a0273b385245ae5408db2539c1355e253496c8d01bc2f77490" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 9 : Ideal Gas and Ideal Gas Mixtures" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.1 Page No : 253" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\t\t\t\n", + "# Variables\n", + "m = 6. \t\t\t#kg \t\t\t#mass of nitrogen\n", + "M = 28. \t\t\t#kg/kmol \t\t\t#molar mass of nitrogen\n", + "R = 8314.3 \t\t\t#kg/kmol\n", + "p = 1e5 \t\t\t#Pa \t\t\t#pressure\n", + "T = 27.+273 \t\t\t#K \t\t\t#temperature\n", + "\t\t\t\n", + "# Calculations and Results\n", + "V = m*R*T/(p*M)\n", + "print \"Volume occupied by nitrogen = %.3f m**3\"%(V)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Volume occupied by nitrogen = 5.345 m**3\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.2 Page No : 253" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\t\t\t\n", + "# Variables\n", + "p1 = 10. \t\t\t#bar \t\t\t#inital pressure\n", + "T1 = 273.+227 \t\t\t#K \t\t\t#inital temperature\n", + "v1 = 0.01 \t\t\t#m**3 \t\t\t#initial volume\n", + "p2 = 1. \t\t\t#bar \t\t\t#final pressure\n", + "T2 = 273.+27 \t\t\t#K \t\t\t#final temperature\n", + "\t\t\t\n", + "# Calculations and Results\n", + "v2 = (p1/p2)*(T2/T1)*v1 \t\t\t#m**3 \t\t\t#final volume\n", + "print \"Final volume = %.2f m**3\"%(v2)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Final volume = 0.06 m**3\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.3 Page No : 255" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\t\t\t\n", + "# Variables\n", + "p = 1. \t\t\t#bar \t\t\t#pressure\n", + "T = 50.+273 \t\t\t#\u00b0C \t\t\t#temperature\n", + "h = 324.6 \t\t\t#kJ/kg \t\t\t#enthalpy\n", + "R = 8.3143 \t\t\t#kJ/kmolK\n", + "M = 28.97 \t\t\t#kg/kmol\n", + "\n", + "#Part (a)\n", + "print \"Part a\";\n", + "u = h - (R/M)*T \t\t\t#kJ/kg \t\t\t#internal energy\n", + "print \"Internal energy = %.1f kJ/kg\"%(u)\n", + "\n", + "#Part (b)\n", + "print \"Part b:i\";\n", + "u = h - (R/M)*T \t\t\t#kJ/kg \t\t\t#internal energy\n", + "print \"Enthalpy = %.1f kJ/kg\"%(h)\n", + "print \"Internal energy = %.1f kJ/kg\"%(u)\n", + "print \"Part b:ii\";\n", + "u = h - (R/M)*T \t\t\t#kJ/kg \t\t\t#internal energy\n", + "print \"Enthalpy = %.1f kJ/kg\"%(h)\n", + "print \"Internal energy = %.1f kJ/kg\"%(u)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Part a\n", + "Internal energy = 231.9 kJ/kg\n", + "Part b:i\n", + "Enthalpy = 324.6 kJ/kg\n", + "Internal energy = 231.9 kJ/kg\n", + "Part b:ii\n", + "Enthalpy = 324.6 kJ/kg\n", + "Internal energy = 231.9 kJ/kg\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.4 Page No : 256" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\t\t\t\n", + "# Variables\n", + "Cv = 718 \t\t\t#J/kgK \t\t\t#specific at constant volume\n", + "M = 28.97 \t\t\t#kg/kmol \t\t\t#molar mass of air\n", + "R = 8314.3 \t\t\t#J/kmolK\n", + "\t\t\t\n", + "# Calculations and Results\n", + "Cp = (R/M)+Cv \t\t\t#J/kgK \t\t\t#specific heat at constant pressure\n", + "print \"Specific heat at constant pressure = %.0f J/kg K\"%(Cp)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Specific heat at constant pressure = 1005 J/kg K\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.5 Page No : 258" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "from scipy.integrate import quad \n", + "\t\t\t\n", + "# Variables\n", + "p1 = 1. \t\t\t#bar \t\t\t#initial pressure\n", + "T1 = 27.+273 \t\t\t#K \t\t\t#initial temperature\n", + "p2 = 10. \t\t\t#bar \t\t\t#final pressure\n", + "T2 = 327.+273 \t\t\t#K \t\t\t#final temperature\n", + "\t\t\t\n", + "# Calculations and Results\n", + "#Part(a)\n", + "print \"Part a\";\n", + "\n", + "def f2(T): \n", + "\t return 1.4-18.3*(T/100)**(-1.5)+38.3*(T/100)**(-2)-29.3*(T/100)**(-3)\n", + "\n", + "delta_h = quad(f2,T1,T2)[0]\n", + "\n", + "print \"Increase in specific enthalpy = %.2f kJ/kg\"%(delta_h)\n", + "\n", + "#Part(b)\n", + "print \"Part b\";\n", + "\n", + "def f3(T): \n", + "\t return 1.042\n", + "\n", + "delta_h = quad(f3,T1,T2)[0]\n", + "\n", + "print \"Increase in specific enthalpy at Cp = 1.042 kJ/kgK) = %.2f kJ/kg\"%(delta_h)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Part a\n", + "Increase in specific enthalpy = 317.34 kJ/kg\n", + "Part b\n", + "Increase in specific enthalpy at Cp = 1.042 kJ/kgK) = 312.60 kJ/kg\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.6 Page No : 268" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "%matplotlib inline\n", + "\n", + "from numpy import *\n", + "from matplotlib.pyplot import *\n", + "import math \n", + "\t\t\t\n", + "# Variables\n", + "Cp = 1005. \t\t\t#J/kgK \t\t\t#specific heat at constant pressure\n", + "Cv = 718. \t\t\t#J/kgK \t\t\t#specific heat at constant volume\n", + "m = 1. \t\t\t#kg \t\t\t#mass of air\n", + "T1 = (27.+273) \t\t\t#K \t\t\t#initial temperature\n", + "p1 = 1e5 \t\t\t#Pa \t\t\t#initial pressure\n", + "p2 = p1/2. \t\t\t#Pa \t\t\t#final pressure\n", + "\n", + "\t\t\t\n", + "# Calculations and Results\n", + "#Part(a)\n", + "print \"Parta\";\n", + "R = Cp-Cv \t\t\t#J/kgK\n", + "V1_a = m*R*T1/p1 \t\t\t#m**3 \t\t\t#initial volume\n", + "V2_a = V1_a \t\t\t#m**3 \t\t\t#final volume\n", + "T2 = p2*V2_a/(m*R) \t\t\t#K \t\t\t#final temperature\n", + "print \"Final temperature,T2 = %.1f K\"%(T2)\n", + "\n", + "#Part(b)\n", + "print \"Partb\";\n", + "V1_b = m*R*T1/p1 \t\t\t#m**3 \t\t\t#initial volume\n", + "V2_b = V1_b*(p1/p2) \t\t\t#m**3 \t\t\t#final volume\n", + "#Isothermal process => T1 = T2\n", + "print \"Final temperature,T2 = %.1f K\"%(T1)\n", + "\n", + "#Part(c)\n", + "print \"Partc\";\n", + "R = Cp-Cv \t\t\t#J/kgK\n", + "y = Cp/Cv\n", + "V1_c = m*R*T1/p1 \t\t\t#m**3 \t\t\t#initial volume\n", + "V2_c = V1_c*(p1/p2)**(1/y) \t\t\t#m**3 \t\t\t#final volume\n", + "T2 = p2*V2_c/(m*R) \t\t\t#K \t\t\t#final temperature\n", + "print \"Final temperature,T2 = %.0f K\"%(T2)\n", + "\n", + "#P-V diagram\n", + "P = [p1*1e-5, p2*1e-5]\n", + "V = [V1_a ,V1_a]\n", + "plot(V,P,'b') \t\t\t#plot for part(a)\n", + "\n", + "V = linspace(V1_b,V2_b,100)\n", + "P = (p1*1e-5*V1_b)/V\n", + "plot(V,P,'g') \t\t\t#plot for part(b)\n", + "\n", + "V = linspace(V1_c,V2_c,100)\n", + "P = (p1*1e-5*V1_c**y)/V**y\n", + "plot(V,P,'r') \t\t\t#plot for part(c)\n", + "xlabel('Volume in m**3')\n", + "ylabel('Pressure in bar')\n", + "suptitle('p-V diagram sought in example 9.6')\n", + "#legends(['Part (a)';'Part (b)';'Part (c)'],[2 3 5],opt=1)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Parta\n", + "Final temperature,T2 = 150.0 K\n", + "Partb\n", + "Final temperature,T2 = 300.0 K\n", + "Partc\n", + "Final temperature,T2 = 246 K\n" + ] + }, + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 1, + "text": [ + "<matplotlib.text.Text at 0x1100b2a90>" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "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\n", + "text": [ + "<matplotlib.figure.Figure at 0x112341d50>" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.7 Page No : 270" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "from numpy.linalg import solve\n", + "\t\t\t\n", + "# Variables\n", + "p1 = 10e6 \t\t\t#N/m**2 \t\t\t#initial pressure\n", + "T1 = 273.+27 \t\t\t#K \t\t\t#inital temperature\n", + "V1 = 50.e-3 \t\t\t#m**3 \t\t\t#inital volume\n", + "M = 28. \t\t\t#g/mol \t\t\t#molecular mass\n", + "R = 8314.3/M \t\t\t#J/kgK\n", + "y = 1.4 \t\t\t#gamma\n", + "\n", + "\t\t\t\n", + "# Calculations and Results\n", + "#Part(a)\n", + "print 'Parta';\n", + "m = (p1*V1)/(R*T1)\n", + "print \"Mass of nitrogen stored in bottle = %.3f kg\"%(m)\n", + "\n", + "#Part(b):(i)\n", + "print 'Partb:i';\n", + "p2 = 15e6 \t\t\t#N/m**2 \t\t\t#final pressure\n", + "V2 = V1 \t\t\t#m**3 \t\t\t#final volume\n", + "T2 = (p2*V2)/(m*R)\n", + "print \"Temperature of nitrogen at maximum permitted temperature = %.1f K\"%(T2)\n", + "\n", + "#Part(b):(ii)\n", + "print 'Partb:ii';\n", + "C = solve([[1, -1.4],[1, -1]],[[0],[R]]) \t\t\t#J/kgK \t\t\t#C = [Cp;Cv]\n", + "delta_U = m*C[1]*(T2-T1)*.001 \t\t\t#kJ \t\t\t#Change in internal energy\n", + "print \"Change in internal energy = %.1f kJ\"%(delta_U)\n", + "\n", + "#Part(b):(iii)\n", + "print 'Partb:iii';\n", + "delta_H = m*C[0]*(T2-T1)*.001 \t\t\t#kJ \t\t\t#Change in enthalpy\n", + "print \"Change in enthalpy = %.1f kJ\"%(delta_H)\n", + "\n", + "#Part(b):(iv)\n", + "print 'Partb:iv';\n", + "delta_S = m*(C[1]*math.log(T2/T1)+R*math.log(V2/V1))*.001 \t\t\t#kJ/K \t\t\t#Change in entropy\n", + "print \"Change in entropy = %.4f kJ/K\"%(delta_S)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Parta\n", + "Mass of nitrogen stored in bottle = 5.613 kg\n", + "Partb:i\n", + "Temperature of nitrogen at maximum permitted temperature = 450.0 K\n", + "Partb:ii\n", + "Change in internal energy = 625.0 kJ\n", + "Partb:iii\n", + "Change in enthalpy = 875.0 kJ\n", + "Partb:iv\n", + "Change in entropy = 1.6894 kJ/K\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.8 Page No : 271" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "\t\t\t\n", + "# Variables\n", + "T1 = 800. \t\t\t#K \t\t\t#initial temperature\n", + "p1 = 1.5e6 \t\t\t#N/m**2 \t\t\t#initial pressure\n", + "T2 = 540. \t\t\t#K \t\t\t#final temperature\n", + "T2s = 485. \t\t\t#K \t\t\t#final temperature for reversible process\n", + "Q = 0. \t\t\t#adiabatic process\n", + "y = 1.4\n", + "Cv = 718. \t\t\t#J/kgK \t\t\t#specific heat at constant volume\n", + "\n", + "\t\t\t\n", + "# Calculations and Results\n", + "delta_U = Cv*(T2-T1) \t\t\t#kJ/kg \t\t\t#change in internal energy\n", + "W = (Q-delta_U)*.001 \t\t\t#kJ/kg \t\t\t#work done per kilogram\n", + "print \"Work done per kilogram = %.1f kJ/kg\"%(W);\n", + "\n", + "p2 = p1*(T2s/T1)**(y/(y-1)) \t\t\t#N/m**2 \t\t\t#final pressure\n", + "delta_S = (y*Cv)*math.log(T2/T1)-(y*Cv-Cv)*math.log(p2/p1)\n", + "print \"Change in entropy = %.3f kJ/kgK\"%(delta_S*.001)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Work done per kilogram = 186.7 kJ/kg\n", + "Change in entropy = 0.108 kJ/kgK\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.9 Page No : 279" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "# Variables\n", + "xCO2 = 0.1 \t\t\t#mole fraction of CO2\n", + "xO2 = .09 \t\t\t#mole fraction of O2\n", + "xCO = 0.01 \t\t\t#mole fraction of CO\n", + "xN2 = 0.8 \t\t\t#mole fraction of N2\n", + "\n", + "\t\t\t\n", + "# Calculations and Results\n", + "M = xCO2*44 + xO2*32 + xCO*28 + xN2*28 \t\t\t#kg/kmol \t\t\t#avg. molar mass\n", + "R = 8314.3/M \t\t\t#J/kgK \t\t\t#gas constant\n", + "yCO2 = xCO2*(44/M) \t\t\t#mass fraction of CO2\n", + "yO2 = xO2*(32/M) \t\t\t#mass fraction of O2\n", + "yCO = xCO*(28/M) \t\t\t#mass fraction of CO\n", + "yN2 = xN2*(28/M) \t\t\t#mass fraction of N2\n", + "\n", + "print \"Molar Mass = %.2f kg/kmol\"%(M);\n", + "print \"Gas constant = %.1f J/kgK\"%(R);\n", + "print \"Mass fraction of CO2 = %.4f \"%(yCO2);\n", + "print \"Mass fraction of O2 = %.4f \"%(yO2);\n", + "print \"Mass fraction of CO = %.4f \"%(yCO);\n", + "print \"Mass fraction of N2 = %.4f \"%(yN2);\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Molar Mass = 29.96 kg/kmol\n", + "Gas constant = 277.5 J/kgK\n", + "Mass fraction of CO2 = 0.1469 \n", + "Mass fraction of O2 = 0.0961 \n", + "Mass fraction of CO = 0.0093 \n", + "Mass fraction of N2 = 0.7477 \n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.10 Page No : 280" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# variables\n", + "m = 1.9 \t\t\t#kg\n", + "T = 273.+20 \t\t\t#K\n", + "p = 150.e3 \t\t\t#Pa\n", + "yO2 = 0.1 \t\t\t#mass fraction of O2\n", + "yN2 = 0.75 \t\t\t#mass fraction of N2\n", + "yCO2 = 0.12 \t\t\t#mass fraction of CO2\n", + "yCO = 0.03 \t\t\t#mass fraction of CO\n", + "\n", + "\t\t\t\n", + "# Calculations and Results\n", + "#Part(a)\n", + "print \"Parta\";\n", + "M = 1/((yO2/32)+(yN2/28)+(yCO/28)+(yCO2/44)) \t\t\t#kg/kmol \t\t\t#molar mass\n", + "print \"Molar mass = %.2f kg/kmol \"%(M)\n", + "R = 8314.3/M \t\t\t#J/kgK \t\t\t#Gas constant\n", + "print \"Gas constant = %.2f J/kgK \"%(R)\n", + "V = m*R*T/p \t\t\t#m**3 \t\t\t#Volume\n", + "\n", + "#Part(b)\n", + "print \"Partb\"\n", + "xO2 = yO2*(M/32) \t\t\t#mole fraction O2\n", + "print \"Mole fraction of O2 = %.3f\"%(xO2)\n", + "pO2 = xO2*p \t\t\t#partial pressure O2\n", + "print \"Partial pressure of O2 = %.2f kPa\"%(pO2*.001)\n", + "VO2 = xO2*V \t\t\t#partial volume of O2\n", + "print \"Partial volume of O2 = %.4f m**3\"%(VO2)\n", + "\n", + "\n", + "xN2 = yN2*(M/28) \t\t\t#mole fraction N2\n", + "print \"Mole fraction of N2 = %.3f\"%(xN2)\n", + "pN2 = xN2*p \t\t\t#partial pressure N2\n", + "print \"Partial pressure of N2 = %.2f kPa\"%(pN2*.001)\n", + "VN2 = xN2*V \t\t\t#partial volume of N2\n", + "print \"Partial volume of N2 = %.4f m**3\"%(VN2)\n", + "\n", + "\n", + "xCO2 = yCO2*(M/44) \t\t\t#mole fraction CO2\n", + "print \"Mole fraction of CO2 = %.3f\"%(xCO2)\n", + "pCO2 = xCO2*p \t\t\t#partial pressure CO2\n", + "print \"Partial pressure of CO2 = %.2f kPa\"%(pCO2*.001)\n", + "VCO2 = xCO2*V \t\t\t#partial volume of CO2\n", + "print \"Partial volume of CO2 = %.4f m**3\"%(VCO2)\n", + "\n", + "\n", + "xCO = yCO*(M/28) \t\t\t#mole fraction CO\n", + "print \"Mole fraction of CO = %.3f\"%(xCO)\n", + "pCO = xCO*p \t\t\t#partial pressure CO\n", + "print \"Partial pressure of CO = %.2f kPa\"%(pCO*.001)\n", + "VCO = xCO*V \t\t\t#partial volume of CO\n", + "print \"Partial volume of CO = %.4f m**3\"%(VCO)\n", + "\n", + "# note : rounding off error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Parta\n", + "Molar mass = 29.67 kg/kmol \n", + "Gas constant = 280.27 J/kgK \n", + "Partb\n", + "Mole fraction of O2 = 0.093\n", + "Partial pressure of O2 = 13.91 kPa\n", + "Partial volume of O2 = 0.0964 m**3\n", + "Mole fraction of N2 = 0.795\n", + "Partial pressure of N2 = 119.19 kPa\n", + "Partial volume of N2 = 0.8265 m**3\n", + "Mole fraction of CO2 = 0.081\n", + "Partial pressure of CO2 = 12.14 kPa\n", + "Partial volume of CO2 = 0.0842 m**3\n", + "Mole fraction of CO = 0.032\n", + "Partial pressure of CO = 4.77 kPa\n", + "Partial volume of CO = 0.0331 m**3\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.11 Page No : 283" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "from numpy.linalg import solve\n", + "\t\t\t\n", + "# Variables\n", + "R = 1841. \t\t\t#J/kgK \t\t\t#Gas constant\n", + "Cp = 6310. \t\t\t#J/kgK \t\t\t#specific heat at constant pressure\n", + "MN = 28. \t\t\t#kg/kmol \t\t\t#molar mass N2\n", + "MH = 2. \t\t\t#kg/kmol \t\t\t#molar mass H2\n", + "CpN = 1042. \t\t\t#J/kgK \t\t\t#specific heat of N2\n", + "CpH = 14210. \t\t\t#J/kgK \t\t\t#specific heat of H2\n", + "\n", + "\t\t\t\n", + "# Calculations and Results\n", + "Y = solve([[8314.3/MN, 8314.3/MH],[CpN, CpH]],[[R],[ Cp]])\n", + "YN = round(Y[0],1) \t\t\t#mass fraction of N2\n", + "YH = round(Y[1],1) \t\t\t#mass fraction of H2\n", + "XN = YN*(8314.3/(R*MN)) \t\t\t#volume fraction of N2\n", + "XH = YH*(8314.3/(R*MH)) \t\t\t#volume fraction of H2\n", + "print \"Mass fraction of N2 = %.1f \"%(YN)\n", + "print \"Mass fraction of H2 = %.1f \"%(YH)\n", + "print \"Volume fraction of N2 = %.4f \"%(XN)\n", + "print \"Volume fraction of H2 = %.4f \"%(XH)\n", + "\n", + "# note : rounding off error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Mass fraction of N2 = 0.6 \n", + "Mass fraction of H2 = 0.4 \n", + "Volume fraction of N2 = 0.0968 \n", + "Volume fraction of H2 = 0.9032 \n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.12 Page No : 284" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "# Variables\n", + "m = 1.9 \t\t\t#kg\n", + "T = 273.+20 \t\t\t#K\n", + "p = 150. \t\t\t#kPa\n", + "pdat = 100. \t\t\t#kPa \t\t\t#datum pressure\n", + "Tdat = 273. \t\t\t#K \t\t\t#datum temperature\n", + "yO2 = 0.1 \t\t\t#mass fraction of O2\n", + "yN2 = 0.75 \t\t\t#mass fraction of N2\n", + "yCO2 = 0.12 \t\t\t#mass fraction of CO2\n", + "yCO = 0.03 \t\t\t#mass fraction of CO\n", + "xO2 = 0.093 \t\t\t#mole fraction of O2\n", + "xN2 = 0.795 \t\t\t#mole fraction of N2\n", + "xCO2 = 0.081 \t\t\t#mole fraction of CO2\n", + "xCO = 0.031 \t\t\t#mole fraction of CO\n", + "R = 280.22 \t\t\t#J/kgK\n", + "M = 29.67 \t\t\t#kg/kmol \t\t\t#mixture molar mass\n", + "CpO2=0.922 \t\t\t#kJ/kgK\n", + "CpN2=1.042 \t\t\t#kJ/kgK\n", + "CpCO2=0.842 \t\t\t#kJ/kgK\n", + "CpCO=1.041 \t\t\t#kJ/kgK\n", + "\n", + "#Part(a)\n", + "print \"Parta\";\n", + "Cp = yN2*CpN2 + yO2*CpO2 + yCO2*CpCO2 + yCO*CpCO \t\t\t#kJ/kgK \t\t\t# specific heat of mixture at constant pressure\n", + "Cv = Cp - R*.001 \t\t\t#specific heat of mixture at constant volume\n", + "print \"Cp = %.3f kJ/kgK\"%(Cp)\n", + "print \"Cv = %.4f kJ/kgK\"%(Cv) \n", + "\n", + "#Part(b)\n", + "print \"Partb\";\n", + "U = m*(Cv*(T-Tdat)) \t\t\t#kJ \t\t\t#internal energy\n", + "print \"Internal energy = %.2f kJ\"%(U)\n", + "\n", + "#Part(c)\n", + "print \"Partc\"\n", + "H = U + m*R*T*.001 \t\t\t#kJ \t\t\t#enthalpy\n", + "print \"Enthalpy = %.1f kJ\"%(H)\n", + "\n", + "#Part(d)\n", + "print \"Partd\"\n", + "SO2 = CpO2*math.log(T/Tdat)-(8.3143/32)*math.log(xO2*(p/pdat)) \t\t\t#kJ/kgK \t\t\t#entropy of O2\n", + "SN2 = CpN2*math.log(T/Tdat)-(8.3143/28)*math.log(xN2*(p/pdat)) \t\t\t#kJ/kgK \t\t\t#entropy of N2\n", + "SCO2 = CpCO2*math.log(T/Tdat)-(8.3143/44)*math.log(xCO2*(p/pdat)) \t\t\t#kJ/kgK \t\t\t#entropy of CO2\n", + "SCO = CpCO*math.log(T/Tdat)-(8.3143/28)*math.log(xCO*(p/pdat)) \t\t\t#kJ/kgK \t\t\t#entropy of CO\n", + "\n", + "S = m*(yO2*SO2+yN2*SN2+yCO2*SCO2+yCO*SCO) \t\t\t#kJ/K \t\t\t#entropy\n", + "print \"Entropy = %.4f kJ/K\"%(S)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Parta\n", + "Cp = 1.006 kJ/kgK\n", + "Cv = 0.7258 kJ/kgK\n", + "Partb\n", + "Internal energy = 27.58 kJ\n", + "Partc\n", + "Enthalpy = 183.6 kJ\n", + "Partd\n", + "Entropy = 0.3006 kJ/K\n" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.13 Page No : 288" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "# Variables\n", + "V_He = 0.3 \t\t\t#m**3 \t\t\t#volume of Helium\n", + "p_He = 20e5 \t\t\t#Pa \t\t\t#pressure of Helium\n", + "T_He = 273.+30 \t\t\t#K \t\t\t#Temperature of Helium\n", + "V_O2 = 0.7 \t\t\t#m**3 \t\t\t#volume of O2\n", + "p_O2 = 6e5 \t\t\t#Pa \t\t\t#pressure of O2\n", + "T_O2 = 273.+2 \t\t\t#K Temperature of O2\n", + "R_He = 2077. \t\t\t#J/kgK\n", + "R_O2 = 260. \t\t\t#J/kgK\n", + "Cv_He = 3116. \t\t\t#J/kgK\n", + "Cv_O2 = 662. \t\t\t#J/kgK\n", + "\t\t\t\n", + "# Calculations and Results\n", + "m_He = (p_He*V_He)/(R_He*T_He) \t\t\t#kg \t\t\t#mass of Helium\n", + "m_O2 = (p_O2*V_O2)/(R_O2*T_O2) \t\t\t#kg \t\t\t#mass of O2\n", + "T_ad = (m_He*Cv_He*T_He+m_O2*Cv_O2*T_O2)/(m_He*Cv_He+m_O2*Cv_O2) \t\t\t#K \t\t\t#Temperature after mixing\n", + "T_final = 300 \t\t\t#K \t\t\t#final temperature\n", + "Q = (Cv_He*m_He+Cv_O2*m_O2)*(T_final-T_ad) \t\t\t#J \t\t\t#Magnitude of heat transfer\n", + "print \"Magnitude of heat transfer = %.2f kJ\"%(Q*.001)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Magnitude of heat transfer = 88.30 kJ\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.14 Page No : 289" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\t\t\t\n", + "# Variables\n", + "T_E = (273.+20) \t\t\t#K \t\t\t#temperature of ethane\n", + "p_E = 200. \t\t\t#kPa \t\t\t#pressure of ethane\n", + "T_M = 273.+45 \t\t\t#K \t\t\t#temperature of methane\n", + "p_M = 200. \t\t\t#kPa \t\t\t#pressure of methane\n", + "m_E = 9. \t\t\t#kg/s \t\t\t#mass rate of ethane\n", + "m_M = 4.5 \t\t\t#kg/s \t\t\t#mass rate of methane\n", + "Cp_E = 1766. \t\t\t#J/kgK \t\t\t#specific heat of ethane\n", + "Cp_M = 2254. \t\t\t#J/kgK \t\t\t#specific heat of methane\n", + "\n", + "\t\t\t\n", + "# Calculations and Results\n", + "#Part(a)\n", + "print \"Parta\";\n", + "T = (m_E*Cp_E*T_E+m_M*Cp_M*T_M)/(m_E*Cp_E+m_M*Cp_M) \t\t\t#K \t\t\t#mixture temperature\n", + "print \"Mixture temperature = %.1f K\"%(T)\n", + "\n", + "#Part(b)\n", + "print \"Partb\";\n", + "R_E = 8314.3/30 \t\t\t#J/kgK \t\t\t#gas constant for ethane\n", + "R_M = 8314.3/16 \t\t\t#J/kgK \t\t\t#gas constant for methane\n", + "R = (m_E/(m_E+m_M))*R_E+(m_M/(m_E+m_M))*R_M \t\t\t#J/kgK \t\t\t#gas constant of mixture\n", + "M = 8314.3/R \t\t\t#kg/kmol \t\t\t#mixture molar mass\n", + "x_E = (m_E/(m_E+m_M))*(M/30) \t\t\t#mole fraction of ethane\n", + "x_M = (m_M/(m_E+m_M))*(M/16) \t\t\t#mole fraction of methane\n", + "\n", + "delta_S_E = Cp_E*math.log(T/T_E) - R_E*math.log(x_E) \t\t\t#J/kgK \t\t\t#change in entropy of ethane\n", + "delta_S_M = Cp_M*math.log(T/T_M) - R_M*math.log(x_M) \t\t\t#J/kgK \t\t\t#change in entropy of methane\n", + "\n", + "print \"Rate of entropy production = %.4f kJ/sK\"%((m_E*delta_S_E+m_M*delta_S_M)*.001)\n", + "\n", + "# note : rounding off error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Parta\n", + "Mixture temperature = 302.7 K\n", + "Partb\n", + "Rate of entropy production = 3.3681 kJ/sK\n" + ] + } + ], + "prompt_number": 11 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file |