diff options
20 files changed, 7409 insertions, 0 deletions
diff --git a/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_02.ipynb b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_02.ipynb new file mode 100644 index 00000000..4f5d7900 --- /dev/null +++ b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_02.ipynb @@ -0,0 +1,138 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h1>Chapter 2: Getting Started in Thermodynamics: Introductory Concepts and Definitions</h1>"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 2.03, page: 19</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "#for example 3\n",
+ "m = 1000 #kg\n",
+ "g = 9.80665 #m/s2\n",
+ "\n",
+ "#calculations:\n",
+ "#force\n",
+ "F = m*g\n",
+ "\n",
+ "#Results\n",
+ "print \"Force\", round(F,2),\"kg.m/s2 or N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Force 9806.65 kg.m/s2 or N\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 2.04, page: 21</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "#for example 4\n",
+ "m = 1000 #lb\n",
+ "g = 32 #ft/s2\n",
+ "\n",
+ "#calculations:\n",
+ "#force\n",
+ "F = m*g/32.1740\n",
+ "\n",
+ "#Results\n",
+ "print \"Force\", round(F,2),\"lbf\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Force 994.59 lbf\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 2.05, page: 21</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "#for example 5\n",
+ "m = 10 #slug\n",
+ "g = 32 #ft/s2\n",
+ "\n",
+ "#calculations:\n",
+ "#force\n",
+ "F = m*g\n",
+ "\n",
+ "#Results\n",
+ "print \"Force\", round(F,0),\"lbf\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Force 320.0 lbf\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_03.ipynb b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_03.ipynb new file mode 100644 index 00000000..9ea2488b --- /dev/null +++ b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_03.ipynb @@ -0,0 +1,348 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h1>Chapter 3: Using Energy and the First Law of Thermodynamics</h1>"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 3.01, page: 39</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "V1=0.1; # initial Volume m3\n",
+ "V2=0.2; # final volume in m3\n",
+ "P1=3.0; #pressure in bar\n",
+ "n1=1.5; \n",
+ "n2=1.0;\n",
+ "n3=0.0;\n",
+ "\n",
+ "#calculations:\n",
+ "#pressure at stage 2\n",
+ "P2=P1*(V1/V2)**n1\n",
+ "# work done\n",
+ "W=(P2*V2-P1*V1)/(1-n1)\n",
+ "W2=P1*V1*math.log(V2/V1)\n",
+ "W3=P1*(V2-V1)\n",
+ "\n",
+ "#Results\n",
+ "print \"a)work done = \", round(W*100,2),\"kj\" \n",
+ "print \"b)work done = \", round(W2*100,2),\"kj\" \n",
+ "print \"c)work done = \", round(W3*100,2),\"kj\" \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a)work done = 17.57 kj\n",
+ "b)work done = 20.79 kj\n",
+ "c)work done = 30.0 kj\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 3.02, page: 45</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "delU = -4.6 #u2-u1;\n",
+ "W = 17.6 #work done\n",
+ "m = 4 #mass\n",
+ "\n",
+ "# calculations\n",
+ "# net heat transfer for the process\n",
+ "Q = W+m*delU;\n",
+ "\n",
+ "#Results\n",
+ "print \"Energy transferred \", round(Q,2),\"kJ\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Energy transferred -0.8 kJ\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 3.03, page: 46</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "patm = 14.7 # atm pressure in lbf/in**2\n",
+ "mpiston=100; # mass of piston in lb\n",
+ "g=32.2; # acc of gravity in ft/s2\n",
+ "A=1 #area\n",
+ "mair=0.6; # mass of air in lb\n",
+ "delu=18; # change in internal Energy in Btu/lb\n",
+ "k=1.6 #V2-V1 in ft3;\n",
+ "\n",
+ "#calculations:\n",
+ "# pressure\n",
+ "P = mpiston*g/A/32.2/144+14.7\n",
+ "#work done\n",
+ "W = P*k*144/778\n",
+ "# the heat transfer from the resistor to the air\n",
+ "Q = W+mair*delu\n",
+ "# work done\n",
+ "W2 = patm*k*144/778\n",
+ "# elevation change\n",
+ "delz = k/A\n",
+ "# change in potential energy\n",
+ "PE = mpiston*g*delz/32.2/778\n",
+ "#the new heat transfer from the resistor to the air\n",
+ "Q2 = W2+PE+mair*delu\n",
+ "\n",
+ "#Results\n",
+ "print \"a) Heat transferred = \", round(Q,1),\"Btu\"\n",
+ "print \"b) Work done = \", round(W2,2),\"Btu\"\n",
+ "print \"b) Heat transferred = \", round (Q2, 1),\"Btu\" \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a) Heat transferred = 15.4 Btu\n",
+ "b) Work done = 4.35 Btu\n",
+ "b) Heat transferred = 15.4 Btu\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 3.04, page: 48</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "h = -0.171; # constant in kW/m2\n",
+ "A = 1; # area in m2\n",
+ "Tb = 300 #temperature in K\n",
+ "Tf = 293 #temperature in K\n",
+ "W1dot = -60.0 # power in kW\n",
+ "\n",
+ "#calculations:\n",
+ "# rate of energy transfer by heat\n",
+ "Qdot = h*A*(Tb-Tf)\n",
+ "# the power delivered through the output shaft\n",
+ "W2dot = Qdot-W1dot\n",
+ "\n",
+ "#Results\n",
+ "print \"the rate of heat transfer = \", round(Qdot,1),\"kW\"\n",
+ "print \"the power delivered through the output shaft = \", round(W2dot,1),\"kW\" \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "the rate of heat transfer = -1.2 kW\n",
+ "the power delivered through the output shaft = 58.8 kW\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 3.05, page: 50</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "Wdot=-0.225; #electrical power input in W\n",
+ "a=5e-3; # side in m\n",
+ "h=150; # constant specific heat in W/m2\n",
+ "Tf=293#temperature in K\n",
+ "\n",
+ "#calculations:\n",
+ "# area\n",
+ "A = a**2\n",
+ "#surface temperature of the chip at steady state\n",
+ "Tb=-Wdot/h/A+Tf;\n",
+ "\n",
+ "#Results\n",
+ "print \"surface temperature of the chip at steady state = \", round(Tb,1),\"kelvin\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "surface temperature of the chip at steady state = 353.0 kelvin\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 3.06, page: 51</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "#from pylab import *\n",
+ "%pylab inline\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "tau = 18; # torque in N.m\n",
+ "omega = 100; # frequency in rad/s\n",
+ "Wdotelec = -2.0; #electric power input in kW\n",
+ "\n",
+ "#calculations:\n",
+ "#power associated with the rotating shaft\n",
+ "Wdotshaft = tau*omega/1000;\n",
+ "#power associated with the electricity flow\n",
+ "Wdot = Wdotelec+Wdotshaft;\n",
+ "\n",
+ "#creating empty lists for plotting\n",
+ "t =[]\n",
+ "Edot =[]\n",
+ "Qdot = []\n",
+ "wdot = []\n",
+ "delE = []\n",
+ "\n",
+ "for h in range(1000):\n",
+ " t.append((h-1)/10)\n",
+ " k=(h-1)/10\n",
+ " #energy rate balance\n",
+ " Edot.append(0.2*math.e**-(0.05*k))\n",
+ " wdot.append(Wdot)\n",
+ " Qdot.append(0.2*math.e**-(0.05*k) + Wdot)\n",
+ " # change in Energy\n",
+ " delE.append(4*(1-math.e**-(0.05*k)))\n",
+ " \n",
+ "# plots\n",
+ "fig = plt.figure()\n",
+ "ax = fig.add_subplot(1, 2, 1)\n",
+ "ax.plot(t,delE,'-')\n",
+ "xlabel('time(sec)')\n",
+ "ylabel('DelE(kJ)')\n",
+ "title('Variation of Change in Energy with time')\n",
+ "show()\n",
+ "\n",
+ "fig = plt.figure()\n",
+ "ax = fig.add_subplot(1, 2, 1)\n",
+ "ax.plot(t,wdot,'.')\n",
+ "ax.plot(t,Qdot,'-')\n",
+ "xlabel('time(sec)')\n",
+ "ylabel('Qdot, Wdot, (kJ)')\n",
+ "title('Qdot, Wdot variation with time')\n",
+ "show()\n",
+ "\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": "iVBORw0KGgoAAAANSUhEUgAAAP4AAAEZCAYAAAC3oJjfAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlcVOX+B/DPoLiA7MgOgoAhgiwu5HXBJURJuaSpZQpl\nZVpmWXbNX4t23a9L5UVNyzCXtPJViQheyCRXMBNTxGIRlE1cEBUF2b6/PyZODOsAw5wzM9/36zUv\nmZkz5/me8fnO85zteWRERGCM6RQ9sQNgjKkfJz5jOogTnzEdxInPmA7ixGdMB3HiM6aD1J74RkZG\nyMnJadNn9+zZg+DgYNUGpISTJ0/C3d0dRkZGiI6ObvXnly5dipkzZ3ZAZKrl5eWFY8eOiR2G5Bw/\nfhweHh5Nvp+TkwM9PT3U1NS0uQy1f/fUjODgYPrwww8bvP7jjz+SjY0NVVdXN/fxdsnOziaZTNah\nZShr9OjRtHHjxmaX2bNnDw0YMIB69OhBtra2NH78eDpx4gQRES1dupRmzJihjlBFI5PJyNDQkHr0\n6CE81q5dK3ZYHaJXr1505MgR4Xlr62pERAS9//77HRWeUppt8Z9//nns3r27weu7du3CjBkzoKen\nfIehqqqq9b9KAEgC1xddu3YNnp6eTb6/YcMGLFiwAO+//z5u3LiB3NxcvPbaazh48CAAaWyDOly4\ncAH3798XHgsXLlR5GdXV1SpfZ2vJZDLN/z9t7lfh4cOHZGJiQseOHRNeKy4upm7dutGFCxcoOTmZ\nHn/8cTI1NSVbW1uaN28eVVRUCMvKZDLatGkTubm5Ue/evYXXsrKyiIgoJiaGfH19ydjYmBwdHWnp\n0qXCZx0dHUkmk1GPHj3IyMiITp8+TVFRUTRs2DBhmZMnT9LAgQPJxMSEBg0aRKdOnRLeCwwMpA8+\n+ICGDh1KRkZGNHbsWLp161aT27pt2zZyc3Mjc3NzCg0NpYKCAiIi6t27N+np6VH37t3JyMhIYfuI\niEpKSqhHjx60f//+Jte9dOlSmjp1KoWHh5ORkRH169ePzp49K7y/atUqcnV1JSMjI/L09KQffvhB\neC8qKoqGDh1KCxcuJDMzM3JxcaG4uDjh/StXrtDw4cPJyMiInnjiCXr11VcVehenT5+mIUOGkKmp\nKfn4+FBiYmKTcdZtyZYsWUJTpkxpMub66v6/1tfSuvLz82nSpEnUs2dPcnFxUehdLVmyhCZPnkwz\nZswgY2Nj2r59e7PbHBISQv/9738Vyvf29qYff/yxQVzh4eG0fv16IiLKy8sT6isRUWZmJpmbmxMR\n0dGjR8nBwYGIiGbMmCHUh9peTW2L/9VXX5GTkxNZWlrSihUrGv0utm7dSvr6+tSlSxfq0aMHhYaG\nNvrdP/300zRjxgwyMjIib29vSk9Pp5UrV5KVlRU5OTlRfHy8sM6SkhKaNWsW2drakr29Pb3//vst\n9j6aTXwiopdffpleeukl4flnn31Gfn5+RET022+/UXJyMlVXV1NOTg717duXPvnkE2FZmUxGY8eO\npTt37lB5ebnwWm0FSUxMpNTUVCIiunDhAllbWwv/QTk5OQ26T3UT//bt22Rqakq7d++m6upq2rt3\nL5mZmVFxcTERyRPfzc2NMjIyqKysjEaOHEnvvvtuo9t45MgRsrS0pJSUFHr06BG9/vrrNGLECOF9\nZ2dnha5dXXFxcdS5c+dmv+glS5ZQt27dKC4ujmpqamjx4sX0+OOPC+9/9913VFhYSERE33zzDRka\nGtL169eFbdbX16cvvviCampqaMuWLWRnZyd89vHHH6d33nmHKisr6cSJE2RsbEwzZ84kInlltrCw\nEH4oEhISyMLCgm7evNlonHW3s6WY65PJZJSZmdnq7a+uriZ/f39atmwZVVZW0pUrV6h37970v//9\nT/isvr4+HThwgIiIysrKmt3mb7/9lgICAoSyz58/TxYWFlRZWdkgri+//JImTpxIRPJdNVdXV5o2\nbRoREW3fvp3CwsKISDHx639PRH939WfPnk3l5eX0+++/U9euXeny5cuNfh/PP/88ffDBBwqvNfbd\nx8fHU1VVFYWHh1OvXr1o5cqVVFVVRZ9//jm5uLgInw0LC6M5c+bQw4cP6caNGzR48GDaunVro2XX\najHxT5w4QaampvTo0SMiIvrHP/6hkNx1ffzxx/TUU08Jz2UyGR09elRhmeZahjfeeIMWLFhARI3v\nN9VN/J07dyr8BxMRDRkyhHbs2EFERCNHjlT41d28eTONGzeu0XJnzZpFixYtEp6XlpaSvr4+Xb16\nlYiaT/zdu3eTjY1No+/VWrJkCQUFBQnPL126RN27d29yeV9fX6GiR0VFkZubm/DegwcPSCaTUVFR\nEV29epU6d+5MZWVlwvszZswQkmD16tXC37WCg4Ppq6++arTc+pWvNTHLZDIyNjYmU1NT4VHbKjW3\n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\nQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7757940>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n/R+X3IggAzFR3gAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x98b5f28>"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_04.ipynb b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_04.ipynb new file mode 100644 index 00000000..2cc45ee2 --- /dev/null +++ b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_04.ipynb @@ -0,0 +1,497 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h1>Chapter 4: Evaluating Properties</h1>"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 4.01, page: 68</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "V = 0.5 #volume in m3\n",
+ "P1 = 1 #pressure bar\n",
+ "P2 = 1.5 #pressure bar\n",
+ "vf1 = 1.0432/1000 # m3/kg\n",
+ "vf2=1.0528/1000 # m3/kg\n",
+ "vg1 = 1.694 # in m3/kg\n",
+ "vg2 = 1.159 # in m3/kg\n",
+ "x1 = 0.5\n",
+ "\n",
+ "# calculations:\n",
+ "#The specific volume at state 1 and 2\n",
+ "v1 = vf1 + x1*(1.694-vf1)\n",
+ "v2 = v1\n",
+ "#from table T-3\n",
+ "T1 = 99.63; # in deg C\n",
+ "T2 = 111.4\n",
+ "# the total mass, m\n",
+ "m = V/v1\n",
+ "# the mass of vapor at state 1 and 2\n",
+ "mg1 = x1*m\n",
+ "x2 = (v1-vf2)/(vg2-vf2)\n",
+ "mg2 = x2*m\n",
+ "#if heating continued, from table:\n",
+ "vg3 = 0.8475 #m3/kg\n",
+ "p3 = 2.11 # bar \n",
+ "\n",
+ "#Results\n",
+ "print \"a) temperature = \", round(T1,2),\"degC at stage 1 and \", round(T2,2),\"degC at stage 2\"\n",
+ "print \"b) mass of vapor =\", round(mg1,3),\" kg at stage 1 and\",round(mg2,3),\"kg at stage 2\"\n",
+ "print \"c) If heating continued, when the container holds only saturated vapor then pressure =\", round(p3,2),\"bar\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a) temperature = 99.63 degC at stage 1 and 111.4 degC at stage 2\n",
+ "b) mass of vapor = 0.295 kg at stage 1 and 0.431 kg at stage 2\n",
+ "c) If heating continued, when the container holds only saturated vapor then pressure = 2.11 bar\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 4.02, page: 69</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "m = 0.1; # mass in lb\n",
+ "P2=20 #pressure in lbf/in2\n",
+ "T2 = 65 # in deg F\n",
+ "\n",
+ "# calculations:\n",
+ "# from table, specific volumes\n",
+ "vg1=2.2661\n",
+ "v1 = vg1\n",
+ "#volumes occupied by the refrigerant at states 1 and 2\n",
+ "V1 = m*v1\n",
+ "# from table, specific volume at stage 2\n",
+ "v2=2.6704;\n",
+ "V2 =m*v2\n",
+ "\n",
+ "# work\n",
+ "W = P2*(V2-V1)*144/778 # in Btu\n",
+ "\n",
+ "#Results\n",
+ "print \"a) volumes occupied by the refrigerant at states 1 and 2 are\", round(V1,4),\"ft3 and \", round(V2,4),\"ft3 respectively\"\n",
+ "print \"b) work for the process is\", round(W,4),\"Btu\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a) volumes occupied by the refrigerant at states 1 and 2 are 0.2266 ft3 and 0.267 ft3 respectively\n",
+ "b) work for the process is 0.1497 Btu\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 4.03, page: 73</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "V=10.0# volume ft3\n",
+ "T1 = 212 # indeg F\n",
+ "P2 = 20 # pressure in lbf/in2\n",
+ "\n",
+ "#calculations:\n",
+ "# from table, specific volume\n",
+ "v1 = 26.8 # in ft3/lb\n",
+ "u1=1077.6 #btu/lb\n",
+ "v2 = v1\n",
+ "# therefore\n",
+ "u2 = 1161.6 # in Btu/lb\n",
+ "T2 = 445 # deg F\n",
+ "# work\n",
+ "m = V/v1\n",
+ "W = -1*m*(u2-u1)\n",
+ "\n",
+ "#Results\n",
+ "print \"a) Temperature is\", T2,\" deg F\"\n",
+ "print \"b) work during the process is\", round(W,1),\" Btu\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a) Temperature is 445 deg F\n",
+ "b) work during the process is -31.3 Btu\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 4.04, page: 74</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "P1 = 10 #pressure bar\n",
+ "T1 = 400 # temp in deg C\n",
+ "T2 = 150 # temp in deg C\n",
+ "vf3 = 1.0905E-3 # in m3/kg\n",
+ "vg3 = 0.3928 # in m3/kg\n",
+ "\n",
+ "# calculations:\n",
+ "#From Table, specific volume at state 1 and 2\n",
+ "v1 = 0.3066 #in m3/kg\n",
+ "u1 = 2957.3 # in kJ/kg\n",
+ "v2 = 0.1944 # m3/kg\n",
+ "#work\n",
+ "Wm = P1*(v2-v1)*10**2\n",
+ "\n",
+ "#heat transfer\n",
+ "v3 = v2\n",
+ "x3 = (v3 - vf3)/(vg3 - vf3)\n",
+ "#from Table\n",
+ "uf3 = 631.68 # kJ/kg\n",
+ "ug3 = 2559.5 #kJ/kg\n",
+ "u3 = uf3 + x3*(ug3-uf3)\n",
+ "\n",
+ "Qm = u3 - u1 + Wm\n",
+ "\n",
+ "#Results\n",
+ "print \"b)Work =\",round(Wm,1),\"kJ/kg\"\n",
+ "print \"c)Heat Transfer =\",round(Qm,1),\"kJ/kg\"\n",
+ "#answer approximated in book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "b)Work = -112.2 kJ/kg\n",
+ "c)Heat Transfer = -1486.4 kJ/kg\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 4.06, page: 80</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "P1 = 20E6 # pressure pa\n",
+ "T1 = 520 # temp in deg C\n",
+ "T2 = 400 #temp deg C\n",
+ "M = 18.02 #molar mass in kg/kmol\n",
+ "Rbar = 8314 #in Nm/kmol-K\n",
+ "\n",
+ "#calculations:\n",
+ "R = Rbar/M\n",
+ "#From Table T-1\n",
+ "Tc = 647.3 #in K\n",
+ "Pc = 22.09E6 # in Pa\n",
+ "#reduced Temp\n",
+ "Tr1 = (T1 + 273)/Tc\n",
+ "#reduced Pressure\n",
+ "Pr1 = P1/Pc\n",
+ "#compressibility factor\n",
+ "Z = 0.83\n",
+ "#specific volume\n",
+ "v1 = Z*Rbar*(T1+273)/(M*P1)\n",
+ "\n",
+ "#Constant refuced value of spec vol\n",
+ "vr = v1*Pc/(R*Tc)\n",
+ "#at state 2, reduced Temp\n",
+ "Tr2 = (T2+273)/Tc\n",
+ "# from compressibility chart\n",
+ "Pr2 = 0.69\n",
+ "\n",
+ "P2 = Pc*Pr2\n",
+ "\n",
+ "#Results\n",
+ "print \"a) specific volume of the water vapor at initial stage is\", round(v1,4),\"m3/kg\"\n",
+ "print \"b) Pressure at final stage is\", round(P2/1E6,2),\"Mpa\" \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a) specific volume of the water vapor at initial stage is 0.0152 m3/kg\n",
+ "b) Pressure at final stage is 15.24 Mpa\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 4.07, page: 82</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "m = 1 #mass in lb\n",
+ "P1 = 1 # atm\n",
+ "T1 = 540 # in deg R\n",
+ "P2 = 2 # in Atm\n",
+ "R = 1545/28.97\n",
+ "\n",
+ "#calculations:\n",
+ "#Using pv=RT, the temperature at state 2 is\n",
+ "T2 = P2*T1/P1\n",
+ "\n",
+ "#Since pv=RT, the specific volume at state 3 is\n",
+ "v3 = R*T2/(P1*14.7*144)\n",
+ "\n",
+ "#Results\n",
+ "print \"b)temperature at state 2 is\", round(T2,0),\"degR\"\n",
+ "print \"c)specific volume at state 3 is \", round(v3,1) ,\"ft3/lb\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "b)temperature at state 2 is 1080.0 degR\n",
+ "c)specific volume at state 3 is 27.2 ft3/lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 4.08, page: 86</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "m = 2 # mass lb\n",
+ "T1 = 540 #in degR\n",
+ "P1 = 1 # in atm\n",
+ "T2 = 840 #in degR\n",
+ "P2 = 6 # in atm\n",
+ "Q = -20 # in Btu\n",
+ "\n",
+ "# calculations:\n",
+ "#From Table T-9E\n",
+ "u1 = 92.04 # in Btu/lb\n",
+ "u2 = 143.98 # in Btu/lb\n",
+ "#work\n",
+ "W = Q - m*(u2-u1)\n",
+ "\n",
+ "#Results\n",
+ "print \"work done during the process is\", round(W,1),\"Btu\" \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "work done during the process is -123.9 Btu\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 4.10, page: 87</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "m1co = 2 #kg\n",
+ "T1co = 77 # degC\n",
+ "P1co = 0.7 #bar\n",
+ "\n",
+ "m2co = 8 #kg\n",
+ "T2co = 27 # degC\n",
+ "P2co = 1.2 #bar\n",
+ "\n",
+ "Tf = 42 # degC\n",
+ "Cv = 0.745 #kJ/kg-K\n",
+ "\n",
+ "#calculations:\n",
+ "#final pressure\n",
+ "Pf = (m1co + m2co)*Tf/((m1co*T1co/P1co) + (m2co*T2co/P2co))\n",
+ "\n",
+ "#heat\n",
+ "Q = m1co*Cv*(Tf-T1co) + m2co*Cv*(Tf-T2co)\n",
+ "\n",
+ "#Results\n",
+ "print \"a)final pressure is\", round(Pf,2),\"bar\"\n",
+ "print \"b)heat transfer for the process is\", round(Q,2),\"kJ\" \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a)final pressure is 1.05 bar\n",
+ "b)heat transfer for the process is 37.25 kJ\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 4.11, page: 90</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "P1 = 1 #atm\n",
+ "T1 = 70 # degF\n",
+ "P2 = 5 #atm\n",
+ "n = 1.3\n",
+ "R = 1.986/28.97 #Btu/lb-degR\n",
+ "\n",
+ "#calculations:\n",
+ "#Temp at 1 in rankine\n",
+ "T1r = (((T1 - 32)*5/9)+273)*1.8\n",
+ "#temp at 2 in Rankine\n",
+ "T2r = T1r*(P2/P1)**((n-1)/n)\n",
+ "\n",
+ "#work per unit mass\n",
+ "Wm = R*(T2r-T1r)/(1-n)\n",
+ "#heat per unit mass\n",
+ "#from table T-9E\n",
+ "u2 = 131.88 #Btu/lb\n",
+ "u1 = 90.33 #Btu/lb\n",
+ "Qm = Wm + (u2-u1)\n",
+ "\n",
+ "#Results\n",
+ "print \"Work per unit mass is\", round(Wm,2),\"Btu/lb\"\n",
+ "print \"heat transfer per unit mass is\",round(Qm,2),\"Btu/lb\"\n",
+ "# answer wrong in book\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Work per unit mass is -54.41 Btu/lb\n",
+ "heat transfer per unit mass is -12.86 Btu/lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_05.ipynb b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_05.ipynb new file mode 100644 index 00000000..f1efb1d1 --- /dev/null +++ b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_05.ipynb @@ -0,0 +1,586 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h1>Chapter 5: CONTROL VOLUME ANALYSIS USING ENERGY</h1>"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 5.01, page: 98</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "P1 = 7 #bar\n",
+ "T1 = 200 #deg C\n",
+ "m1dot = 40 #kg/s\n",
+ "P2 = 7 #bar\n",
+ "T2 = 40 #degC\n",
+ "A2 = 25 #cm2\n",
+ "P3 = 7 #bar\n",
+ "vdot = 0.06 #m3/s\n",
+ "\n",
+ "#calculations:\n",
+ "#from Table T-3, specific vol\n",
+ "v3 = 1.108E-3 #m3/kg\n",
+ "m3dot = vdot/v3\n",
+ "\n",
+ "m2dot = m3dot - m1dot\n",
+ "\n",
+ "#from table T-2,\n",
+ "v2 = 1.0078E-3 #m3/kg\n",
+ "V2 = m2dot*v2*10000/A2\n",
+ "\n",
+ "#Results\n",
+ "print \"mass flow rate at inlet 2 is\", round(m2dot,2),\"kg/s and at exit is\",round(m3dot,2),\"kg/s\"\n",
+ "print \"velocity at inlet 2 is\", round(V2,1),\"m/s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "mass flow rate at inlet 2 is 14.15 kg/s and at exit is 54.15 kg/s\n",
+ "velocity at inlet 2 is 5.7 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 5.02, page: 99</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "%pylab inline\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "midot = 30 #lb/s\n",
+ "A = 3 #ft2\n",
+ "p = 62.4 #lb/ft2\n",
+ "\n",
+ "#calculations:\n",
+ "#creating empty lists for plotting\n",
+ "L = []\n",
+ "t = []\n",
+ "\n",
+ "for h in range(1200):\n",
+ " t.append((h-1)/10)\n",
+ " k=(h-1)/10\n",
+ " L.append(3.33*(1 - math.e**(-9*k/(p*A))))\n",
+ "\n",
+ "#Results\n",
+ "# plots\n",
+ "fig = plt.figure()\n",
+ "ax = fig.add_subplot(1, 1, 1)\n",
+ "ax.plot(t,L)\n",
+ "xlabel('Time, s')\n",
+ "ylabel('Height, ft')\n",
+ "title('Liquid Height vs Time')\n",
+ "show()"
+ ],
+ "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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\n2tzBm6RkOo8AAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x9808c88>"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 5.03, page: 105</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "P1 = 40 #bar\n",
+ "T1 = 400 #degC\n",
+ "V1 = 10 #m/s\n",
+ "P2 = 15 #bar\n",
+ "V2 = 665 #m/s\n",
+ "mdot = 2 #kg/s\n",
+ "\n",
+ "#calculations:\n",
+ "#specific potential energy at 1 is\n",
+ "h1 = 3213.6 #kJ/kg\n",
+ "#at 2\n",
+ "h2 = h1 + (V1**2 - V2**2)/2\n",
+ "\n",
+ "#From Table T-4\n",
+ "v2 = 0.1627 #m3/kg\n",
+ "\n",
+ "#exit area:\n",
+ "A2 = mdot*v2/V2\n",
+ "\n",
+ "#Results\n",
+ "print \"Exit Area is\", round(A2,6),\"m2\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Exit Area is 0.000489 m2\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 5.04, page: 107</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "mdot = 4600 #kg/h\n",
+ "Wdot = 1000 #kW\n",
+ "P1 = 60 #bar\n",
+ "T1 = 400 #degC\n",
+ "V1 = 40 #m/s\n",
+ "P2 = 0.1 #bar\n",
+ "x2 = 0.9\n",
+ "V2 = 50 #m/s\n",
+ "\n",
+ "#calculations:\n",
+ "#from table T-4, specific enthalpy\n",
+ "h1 = 3177.2 #kJ/kg\n",
+ "#From table T-3,\n",
+ "hf2 = 191.83 #kJ/kg\n",
+ "hg2 = 2584.63 #kJ/kg\n",
+ "\n",
+ "h2 = hf2 + x2*(hg2-hf2)\n",
+ "\n",
+ "#rate of heat transfer\n",
+ "Qdot = Wdot + mdot*(h2 - h1 + (V2**2 - V1**2)/2000)/3600\n",
+ "\n",
+ "#Results\n",
+ "print \"rate of heat transfer is\", round(Qdot,1),\"kW\"\n",
+ "#answer wrong in book\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "rate of heat transfer is -62.3 kW\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 5.05, page: 109</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "P1 = 1 #bar\n",
+ "T1 = 290 #K\n",
+ "V1 = 6 #m/s\n",
+ "A1 = 0.1 #m2\n",
+ "P2 = 7 #bar\n",
+ "T2 = 450 #K\n",
+ "V2 = 2 #m/s\n",
+ "Qdot = -180 #kJ/min\n",
+ "R = 8314/28.97 #J/kg-K\n",
+ "\n",
+ "#calculations:\n",
+ "#specific volume at 1\n",
+ "v1 = R*T1/P1\n",
+ "#mass flow rate\n",
+ "mdot = A1*V1*1E5/v1\n",
+ "\n",
+ "#from table T-9\n",
+ "h1 = 290.16 #kJ/kg\n",
+ "h2 = 451.8 #kJ/kg\n",
+ "#power required by the compressor\n",
+ "Wdot = Qdot/60 + mdot*((h1-h2) + (V1**2 - V2**2)/2000)\n",
+ "\n",
+ "#Results\n",
+ "print \"power required by the compressor is\", round(Wdot,1),\"kW\" \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "power required by the compressor is -119.5 kW\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 5.06, page: 110</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "T1 = 20 #degC\n",
+ "P1 = 1 #atm\n",
+ "Vdot = 0.1 #lt/s\n",
+ "D1 = 2.5 #cm\n",
+ "T2 = 23 #degC\n",
+ "V2 = 50 #m/s\n",
+ "z1 = 0 #m\n",
+ "z2 = 5 #m\n",
+ "x2 = 0.1\n",
+ "c = 4.18 #kJ/kg-K\n",
+ "g = 9.81 #m/s2\n",
+ "\n",
+ "#cqlculations:\n",
+ "#from Table T-2, Specific volume at 1\n",
+ "v = 1.0018E-3 #m3/kg\n",
+ "#mass flow rate\n",
+ "mdot = Vdot*1E-3/v\n",
+ "#inlet Area\n",
+ "A1 = math.pi*(D1**2)/4\n",
+ "#inlet velocity\n",
+ "V1 = Vdot/A1\n",
+ "\n",
+ "# power\n",
+ "Wdot = (mdot/(1 - x2))*(c*(T1-T2) + (V1**2 - V2**2)/2000 + g*(z1 - z2)/1000)\n",
+ "\n",
+ "#Results\n",
+ "print \"power input is\", round(Wdot,2),\"kW\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "power input is -1.53 kW\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 5.07, page: 111</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "P1 = 0.1 #bar\n",
+ "x1 = 0.95\n",
+ "P2 = 0.1 #bar\n",
+ "T2 = 45 #deg C\n",
+ "T3 = 20 #degC\n",
+ "T4 = 35 #degC\n",
+ "\n",
+ "#calculations:\n",
+ "#assumption\n",
+ "Wdot = 0\n",
+ "#from table T-3,\n",
+ "hf1 = 191.83 #kJ/kg\n",
+ "hf2 = 188.45 #kJ/kg\n",
+ "hg1 = 2584.7 #kJ/kg\n",
+ "h4_3 = 62.7 #kJ/kg\n",
+ "#specific enthalpy\n",
+ "h1 = hf1 + x1*(hg1-hf1)\n",
+ "h2 = hf2\n",
+ "\n",
+ "#ratio of mdots\n",
+ "m3dot_m1dot = (h1 - h2)/h4_3\n",
+ "\n",
+ "#rate of energy transfer from the condensing steam to the cooling water\n",
+ "Qdotm = h2 - h1\n",
+ "\n",
+ "#Results\n",
+ "print \"a) ratio of the mass flow rate of the cooling water to the mass flow rate of the condensing stream is\", round(m3dot_m1dot,1)\n",
+ "print \"b) rate of energy transfer from the condensing steam to the cooling water is\",round(Qdotm,1),\"kJ/kg\" \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a) ratio of the mass flow rate of the cooling water to the mass flow rate of the condensing stream is 36.3\n",
+ "b) rate of energy transfer from the condensing steam to the cooling water is -2276.6 kJ/kg\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 5.08, page: 113</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "T1 = 20 #degC\n",
+ "P1 = 1 #bar\n",
+ "V1 = 1.3 #m/s\n",
+ "T2 = 32 #degC\n",
+ "Pc = -80 #W\n",
+ "Pf = -18 #W\n",
+ "Cp = 1.005 #kJ/kg-K\n",
+ "R = 8314/28.97 #J/kg-K\n",
+ "\n",
+ "#calculations:\n",
+ "#assumptions\n",
+ "Qdot = 0\n",
+ "Wdot = Pc + Pf\n",
+ "#inlet Area\n",
+ "A1 = (1/V1)*(-1*Wdot/(Cp*(T2 - T1)*1000))*R*(T1+273)/101325\n",
+ "\n",
+ "D1 = ((4*A1/math.pi)**0.5)*100\n",
+ "\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print \"smallest fan inlet diameter is\", round(D1,0),\"cm\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "smallest fan inlet diameter is 8.0 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 5.09, page: 115</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "P1 = 300 #lbf/in2\n",
+ "P2 = 14.7 #lbf/in2\n",
+ "T2 = 250 #degF\n",
+ "\n",
+ "#calculations:\n",
+ "#From TAble T-3E\n",
+ "hf1 = 394.1 #Btu/lb\n",
+ "hg1 = 1203.9 #Btu/lb\n",
+ "#from Table T-4E\n",
+ "h2 = 1168.8 #Btu/lb\n",
+ "#Quality factor\n",
+ "x1 = (h2-hf1)/(hg1-hf1)\n",
+ "\n",
+ "#Results\n",
+ "print \"quality in the line is\", round(x1*100,1),\"%\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "quality in the line is 95.7 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 5.10, page: 117</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "AV1 = 2E5 #ft3/min\n",
+ "T1 = 400 #degF\n",
+ "P1 = 1 #atm\n",
+ "T2 = 260 #degF\n",
+ "P2 = 1 #atm\n",
+ "P3 = 40 #lbf/in2\n",
+ "T3 = 102 #degF\n",
+ "m3dot = 275 #lb/min\n",
+ "P5 = 1 #lbf/in2\n",
+ "x5 = 0.93\n",
+ "cost = 0.08 #$/W\n",
+ "t = 8000 #hrs\n",
+ "R = 1545/28.97 #ft.lbf/lb-degR\n",
+ "\n",
+ "#calculations:\n",
+ "#in Rankine\n",
+ "T1r = (((T1-32)*5/9)+273)*1.8\n",
+ "#mass flow rate at 1\n",
+ "m1dot = AV1*(P1*14.7)*144/(R*T1r)\n",
+ "#from Table T-9E\n",
+ "h1 = 206.46 #Btu/lb\n",
+ "h2 = 172.39 #Btu/lb\n",
+ "#From Table T-2E\n",
+ "h3 = 70 #Btu/lb\n",
+ "#From Table T-3E\n",
+ "hf5 = 69.74 #Btu/lb\n",
+ "hg5 = 1105.74 #Btu/lb\n",
+ "#enthapy at 5\n",
+ "h5 = hf5 + x5*(hg5-hf5)\n",
+ "#Power\n",
+ "Wdot = m1dot*(h1-h2) + m3dot*(h3 - h5)\n",
+ "\n",
+ "#for temp T4\n",
+ "h4 = h3 + (m1dot/m3dot)*(h1-h2)\n",
+ "#from Table T-4E\n",
+ "P4 = 40 #lbf/in2\n",
+ "T4 = 354 #degF\n",
+ "\n",
+ "#total cost\n",
+ "AnnVal = (Wdot*60/3413)*t*cost\n",
+ "\n",
+ "\n",
+ "#From TAble T-3E\n",
+ "hf1 = 394.1 #Btu/lb\n",
+ "hg1 = 1203.9 #Btu/lb\n",
+ "#from Table T-4E\n",
+ "h2 = 1168.8 #Btu/lb\n",
+ "#Quality factor\n",
+ "x1 = (h2-hf1)/(hg1-hf1)\n",
+ "\n",
+ "#Results\n",
+ "print \"a) power developed by the turbine is\", round(Wdot,0),\"Btu/min\"\n",
+ "print \"b) Turbine Inlet temperature is\", T4,\"degF\"\n",
+ "print \"c) Annual Value of power developed is\", round(AnnVal,0),\"$/year\"\n",
+ "#Answer wrong in book\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a) power developed by the turbine is 49822.0 Btu/min\n",
+ "b) Turbine Inlet temperature is 354 degF\n",
+ "c) Annual Value of power developed is 560548.0 $/year\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_06.ipynb b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_06.ipynb new file mode 100644 index 00000000..102a2cba --- /dev/null +++ b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_06.ipynb @@ -0,0 +1,159 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h1>Chapter 6: THE SECOND LAW OF THERMODYNAMICS</h1>"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 6.01, page: 133</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "W = 410 #kJ\n",
+ "Qin = 1000 #kJ\n",
+ "Th = 500 #K\n",
+ "Tc = 300 #K\n",
+ "\n",
+ "#calculations:\n",
+ "#cycle thermal efficiency\n",
+ "n = W/Qin\n",
+ "#maximum thermal efficiency\n",
+ "nmax = 1 - Tc/Th\n",
+ "\n",
+ "#Results\n",
+ "print \"cycle thermal efficiency is\", n*100,\"% and maximum thermal efficiency is\",nmax*100,\"%\"\n",
+ "if (n >nmax):\n",
+ " print \"Since the thermal efficiency of the actual cycle exceeds the maximum theoretical value, the claim cannot be valid\"\n",
+ "else:\n",
+ " print \"Since the thermal efficiency of the actual cycle is less than the maximum theoretical value, the claim is valid\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "cycle thermal efficiency is 41.0 % and maximum thermal efficiency is 40.0 %\n",
+ "Since the thermal efficiency of the actual cycle exceeds the maximum theoretical value, the claim cannot be valid\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 6.02, page: 134</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "Qcdot = 8000 #kJ/h\n",
+ "Tc = -5 #degC\n",
+ "Th = 22 #degC\n",
+ "Wdotcycle = 3200 #kJ/h\n",
+ "\n",
+ "#calculations:\n",
+ "#coefficient of performance of the refrigerator\n",
+ "beta = Qcdot/Wdotcycle\n",
+ "#coefficient of performance of a reversible refrigeration cycle\n",
+ "betamax = (Tc+273)/(Th-Tc)\n",
+ "\n",
+ "#Results\n",
+ "print \"coefficient of performance of the refrigerator is\", beta\n",
+ "print \"coefficient of performance of a reversible refrigeration cycle\", round(betamax,1)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "coefficient of performance of the refrigerator is 2.5\n",
+ "coefficient of performance of a reversible refrigeration cycle 9.9\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 6.03, page: 135</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "Qh = 6E5 #Btu/day\n",
+ "Th = 70 #degF\n",
+ "Tc = 32 #degF\n",
+ "cost = 8 #cents/kW\n",
+ "\n",
+ "#calculations:\n",
+ "#temps in Rankine\n",
+ "Thr = ((Th - 32)*5/9 +273)*1.8\n",
+ "Tcr = ((Tc - 32)*5/9 +273)*1.8\n",
+ "#Work\n",
+ "Wcycle = (1 - Tcr/Thr)*Qh\n",
+ "#costperday\n",
+ "cpd = (Wcycle/3413)*cost/100 #$/day\n",
+ "\n",
+ "#Results\n",
+ "print \"minimum theoretical work input is\", round(Wcycle,1),\"Btu/day\"\n",
+ "print \"minimum theoretical cost per day is\", round(cpd,2),\"$/day\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "minimum theoretical work input is 43067.6 Btu/day\n",
+ "minimum theoretical cost per day is 1.01 $/day\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_07.ipynb b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_07.ipynb new file mode 100644 index 00000000..fce75d7d --- /dev/null +++ b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_07.ipynb @@ -0,0 +1,722 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h1>Chapter 7: USING ENTROPY</h1>"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 7.01, page: 149</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "T1 = 100 #degC\n",
+ "\n",
+ "#calculations:\n",
+ "#from Table T-2\n",
+ "vg = 1.673 #m3/kg\n",
+ "vf = 1.0435E-3 #m3/kg\n",
+ "P = 1.014 #bar\n",
+ "#Work done per unit mass\n",
+ "Wm = P*(vg - vf)*100\n",
+ "\n",
+ "#from Table T-2\n",
+ "sg = 7.3549 #kJ/kg-K\n",
+ "sf = 1.3069 #kJ/kg-K\n",
+ "T = T1 + 273.15\n",
+ "#Heat per unit mass\n",
+ "Qm = T*(sg-sf)\n",
+ "\n",
+ "\n",
+ "P=1.014;\n",
+ "vg=1.673;\n",
+ "vf=1.0435/1000;\n",
+ "T=373.15#temperature\n",
+ "sg=7.3549;\n",
+ "sf=1.3069;\n",
+ "k=P*(vg-vf)*10**5/1000;\n",
+ "\n",
+ "#Results\n",
+ "print \"the work and heat transfer per unit mass are\", Wm,\"kJ/kg and\", Qm,\"kJ/kg respectively\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "the work and heat transfer per unit mass are 169.5363891 kJ/kg and 2256.8112 kJ/kg respectively\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 7.02, page: 154</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "T1 = 100 #degC\n",
+ "\n",
+ "#calculations:\n",
+ "#from table T-2\n",
+ "ug = 2506.5 #kJ/kg\n",
+ "uf = 418.94 #kJ/kg\n",
+ "#Work per unit mass\n",
+ "Wm = -1*(ug-uf)\n",
+ "\n",
+ "#from table T-2\n",
+ "sg = 7.3549#kJ/kg-K\n",
+ "sf = 1.3069#kJ/kg-K\n",
+ "#entropy per unit mass\n",
+ "Sm = sg - sf\n",
+ "\n",
+ "#Results\n",
+ "print \"the net work per unit mass is\", round(Wm,2),\"kJ/kg and the entropy produced per unit mass is\",round(Sm,3),\"kJ/kg-K\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "the net work per unit mass is -2087.56 kJ/kg and the entropy produced per unit mass is 6.048 kJ/kg-K\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 7.03, page: 156</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "T = 10 #degF\n",
+ "P = 120 #lbf/in2\n",
+ "\n",
+ "#calculations:\n",
+ "#from table T-6E\n",
+ "u1 = 94.68 #Btu/lb\n",
+ "u2s = 107.46 #Btu/lb\n",
+ "#minimum work input\n",
+ "Wmmin = u2s - u1\n",
+ "\n",
+ "#Results\n",
+ "print \"the minimum theoretical work input required per unit of mass is\", round(Wmmin,2),\"Btu/lb\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "the minimum theoretical work input required per unit of mass is 12.78 Btu/lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 7.04, page: 156</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "Tf = 293 #K\n",
+ "h = -0.171;\n",
+ "A = 1;\n",
+ "Tb = 300#temperature\n",
+ "\n",
+ "#calculations:\n",
+ "W1dot = -60.0\n",
+ "Qdot = h*A*(Tb-Tf)\n",
+ "W2dot = Qdot-W1dot\n",
+ "#entropy rate\n",
+ "Sdot1 = -1*Qdot/Tb\n",
+ "\n",
+ "#entropy rate\n",
+ "Sdot2 = -1*Qdot/Tf\n",
+ "\n",
+ "#Results\n",
+ "print \"a) the rate of entropy production for 1st system is\", round(Sdot1,3),\"kW/K\"\n",
+ "print \"b) the rate of entropy production for 2nd system is\", round(Sdot2,4),\"kW/K\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a) the rate of entropy production for 1st system is 0.004 kW/K\n",
+ "b) the rate of entropy production for 2nd system is 0.0041 kW/K\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 7.05, page: 159</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "P1 = 30 #bar\n",
+ "T1 = 400 #degC\n",
+ "V1 = 160 #m/s\n",
+ "T2 = 100 #degC\n",
+ "V2 = 100 #m/s\n",
+ "Tb = 350 #K\n",
+ "Wmdot = 540 #kJ/kg\n",
+ "\n",
+ "#calculations:\n",
+ "#from Table T-4\n",
+ "h1 = 3230.9 #kJ/kg\n",
+ "#from Table T-2\n",
+ "h2 = 2676.1 #kJ/kg\n",
+ "#heat tranfer rate\n",
+ "Qmdot = Wmdot + (h2 - h1) + (V2**2 - V1**2)/2000\n",
+ "\n",
+ "#from Table T-4\n",
+ "s1 = 6.9212 #kJ/kg-K\n",
+ "#from Table T-2\n",
+ "s2 = 7.3549 #kJ/kg-K\n",
+ "#Entropy rate\n",
+ "Smdot = Qmdot/Tb + (s2 - s1)\n",
+ "\n",
+ "#Results\n",
+ "print \"heat tranfer rate is\", round(Qmdot,1),\"kJ/kg\"\n",
+ "print \"Entropy rate is\", round(Smdot,4),\"kJ/kg-K\"\n",
+ "#answer wrong in book\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "heat tranfer rate is -22.6 kJ/kg\n",
+ "Entropy rate is 0.3691 kJ/kg-K\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 7.06, page: 160</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "T1 = 70 #degF\n",
+ "P1 = 5.1 #atm\n",
+ "P2 = 1 #atm\n",
+ "T2 = 175 #degF\n",
+ "T3 = 0 #degF\n",
+ "P3 = 1 #atm\n",
+ "R = 1.986/29.87 #Btu/lb-degR\n",
+ "\n",
+ "#calculations:\n",
+ "m1dot = 1\n",
+ "m2dot = 0.4\n",
+ "m3dot = 0.6\n",
+ "\n",
+ "#temps in Rankine\n",
+ "T1r = ((T1-32)*5/9 + 273)*1.8\n",
+ "T2r = ((T2-32)*5/9 + 273)*1.8\n",
+ "T3r = ((T3-32)*5/9 + 273)*1.8\n",
+ "#assumptions\n",
+ "Wdot = 0\n",
+ "Qdot = 0\n",
+ "Cp = 0.24 #Btu/lb-degR\n",
+ "#\n",
+ "h1 = Cp*T1r\n",
+ "h2 = Cp*T2r\n",
+ "h3 = Cp*T3r\n",
+ "#Sa = s2 - s1 and Sb = s3 - s1\n",
+ "Sa = Cp*math.log(T2r/T1r) - R*math.log(P2/P1)\n",
+ "Sb = Cp*math.log(T3r/T1r) - R*math.log(P3/P1)\n",
+ "#\n",
+ "a = m2dot*Cp*(T1 - T2) + m3dot*Cp*(T1 - T3)\n",
+ "#Specific Enthalpy\n",
+ "Sm1dot = m2dot*Sa + m3dot*Sb\n",
+ "\n",
+ "#Results\n",
+ "if (a == 0):\n",
+ " print \"a)with the given data the conservation of mass and energy principles are satisfied.\"\n",
+ "else:\n",
+ " print \"a)with the given data the conservation of mass and energy principles are not satisfied.\"\n",
+ "print \"b)changes in specific entropy are\", round(Sm1dot,4),\" Btu/lb-degR, thus second law of thermodynamics is also conserved\" \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a)with the given data the conservation of mass and energy principles are satisfied.\n",
+ "b)changes in specific entropy are 0.1053 Btu/lb-degR, thus second law of thermodynamics is also conserved\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 7.07, page: 162</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "T1 = -5 #degC\n",
+ "P1 = 3.5 #bar\n",
+ "T2 = 75 #degC\n",
+ "P2 = 14 #bar\n",
+ "P3 = 14 #Bar\n",
+ "T3 = 28 #degC\n",
+ "P4 = 3.5 #bar\n",
+ "T5 = 20 #degC\n",
+ "P5 = 1 #bar\n",
+ "AV5 = 0.42 #m3/s\n",
+ "T6 = 50 #degC\n",
+ "P6 = 1 #bar\n",
+ "R = 8.314/28.97 #kJ/kg-K\n",
+ "\n",
+ "#calculations:\n",
+ "Cp = 1.005 #kJ/kg-K\n",
+ "#from Table T-14,\n",
+ "s1 = 0.9572 #kJ/kg-K\n",
+ "s2 = 0.98225 #kJ/kg-K\n",
+ "h2 = 294.17 #kJ/kg\n",
+ "#from Table T-12\n",
+ "s3 = 0.2936 #kJ/kg-K\n",
+ "h3 = 79.05 #kJ/kg\n",
+ "#From Table T-14\n",
+ "h4 = h3\n",
+ "hf4 = 33.09 #kJ/kg\n",
+ "hfg4 = 212.91 #kJ/kg\n",
+ "sf4 = 0.1328 #kJ/kg-K\n",
+ "sg4 = 0.9431 #kJ/kg-K\n",
+ "#Quality at 4\n",
+ "x4 = (h4 - hf4)/hfg4\n",
+ "#Specific Entropy at 4\n",
+ "s4 = sf4 + x4*(sg4 - sf4)\n",
+ "\n",
+ "#mass flow rate of air\n",
+ "mairdot = AV5*P5*100/(R*(T5 + 273))\n",
+ "#ref mass rate\n",
+ "mrefdot = mairdot*Cp*(T6 - T5)/(h2 - h3)\n",
+ "#change in specific entropy\n",
+ "s6_s5 = Cp*math.log((T6 + 273)/(T5 + 273)) - R*math.log(P6/P5)\n",
+ "#entropy balance for condensor\n",
+ "Sdotcond = mrefdot*(s3 - s2) + mairdot*s6_s5\n",
+ "#entropy balance for Compressor\n",
+ "Sdotcomp = mrefdot*(s2-s1)\n",
+ "#entropy balance for valve\n",
+ "Sdotvalve = mrefdot*(s4-s3)\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print \"the entropy production rates for control volumes enclosing the condenser is\", round(Sdotcond,6),\"kW/K\"\n",
+ "print \"the entropy production rates for control volumes enclosing the compressor is\", round(Sdotcomp,6),\"kW/K\"\n",
+ "print \"the entropy production rates for control volumes enclosing the valve is\", round(Sdotvalve,6),\"kW/K\"\n",
+ "#answer wrong in book\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "the entropy production rates for control volumes enclosing the condenser is 0.000724 kW/K\n",
+ "the entropy production rates for control volumes enclosing the compressor is 0.001754 kW/K\n",
+ "the entropy production rates for control volumes enclosing the valve is 0.000988 kW/K\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 7.08, page: 165</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "P1 = 1 #atm\n",
+ "T1 = 540 #degR\n",
+ "T2 = 1160 #degR\n",
+ "Tm = 850 #degR\n",
+ "\n",
+ "#calculations:\n",
+ "#from table T-9E, Pr values are\n",
+ "Pr2 = 21.18\n",
+ "Pr1 = 1.3860\n",
+ "P2a = P1*Pr2/Pr1\n",
+ "\n",
+ "#from table T-10E\n",
+ "k = 1.39\n",
+ "P2b = P1*(T2/T1)**(k/(k-1))\n",
+ "\n",
+ "#Results\n",
+ "print \"a) Final Pressure using Pr data is\", round(P2a,2),\"atm\"\n",
+ "print \"b) Final Pressure using a constant value for the specific heat ratio k is\", round(P2b,2),\"atm\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a) Final Pressure using Pr data is 15.28 atm\n",
+ "b) Final Pressure using a constant value for the specific heat ratio k is 15.26 atm\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 7.09, page: 169</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Initialization of Variable\n",
+ "P1 = 5 #bar\n",
+ "T1 = 320 #degC\n",
+ "P2 = 1 #bar\n",
+ "nt = 0.75 #isentropic efficiency\n",
+ "\n",
+ "#calculations:\n",
+ "#from table T-4\n",
+ "h1 = 3105.6 #kJ/kg\n",
+ "s1 = 7.5308 #kJ/kg-K\n",
+ "s2s = s1\n",
+ "h2s = 2743.0 #kJ/kg\n",
+ "# work developed perunit mass\n",
+ "Wmdot = nt*(h1-h2s)\n",
+ "\n",
+ "#Results\n",
+ "print \"work developed per unit mass of steam flowing through the turbine is\", round(Wmdot,2),\"kJ/kg\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "work developed per unit mass of steam flowing through the turbine is 271.95 kJ/kg\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 7.10, page: 170</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "P1 = 3 #bar\n",
+ "T1 = 390 #K\n",
+ "P2 = 1 #bar\n",
+ "Wmdot = 74 #kJ/kg\n",
+ "\n",
+ "#calculations:\n",
+ "#from table T-9\n",
+ "h1 = 390.88 #kJ/kg\n",
+ "Pr1 = 3.481\n",
+ "PrT2s = P2*Pr1/P1\n",
+ "\n",
+ "h2s = 285.27 #kJ/kg\n",
+ "Wmdots = h1 - h2s\n",
+ "#efficiency\n",
+ "nt = Wmdot/Wmdots\n",
+ "\n",
+ "#Results\n",
+ "print \"the turbine efficiency is\", round(nt*100,0),\"%\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "the turbine efficiency is 70.0 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 7.11, page: 171</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "P1 = 140 #lbf/in2\n",
+ "T1 = 600 #degF\n",
+ "V1 = 100 #ft/s\n",
+ "P2 = 40 #lbf/in2\n",
+ "T2 = 350 #degF\n",
+ "\n",
+ "#calculations:\n",
+ "#assumption\n",
+ "Wdot = 0\n",
+ "#from Table T-4E\n",
+ "h1 = 1326.4 #Btu/lb\n",
+ "s1 = 1.7191 #Btu/lb-degR\n",
+ "h2 = 1211.8 #Btu/lb\n",
+ "\n",
+ "#actual specific kinetic energy at the exit\n",
+ "#KE = (V2**2)/2\n",
+ "KE = h1 - h2 + (V1**2)/(2*32.2*778)\n",
+ "\n",
+ "#from Table T-4E\n",
+ "S2s = s1\n",
+ "h2s = 1202.3 #Btu/lb-degR\n",
+ "#specific kinetic energy at the exit for an isentropic expansion\n",
+ "#KEs = ((V2**2)/2)s\n",
+ "KEs = h1 - h2s + (V1**2)/(2*32.2*778)\n",
+ "\n",
+ "#efficiency\n",
+ "n_nozzle = KE/KEs\n",
+ "\n",
+ "#Results\n",
+ "print \"the nozzle efficiency\",round(n_nozzle*100,1),\"%\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "the nozzle efficiency 92.4 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 7.12, page: 171</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "P1 = 3.5 #bar\n",
+ "T1 = -5 #degC\n",
+ "P2 = 14 #bar\n",
+ "T2 = 75 #degC\n",
+ "mdot = 0.07 #kg/s\n",
+ "\n",
+ "#calculations:\n",
+ "#from Table T-14\n",
+ "h1 = 249.75 #kJ/kg\n",
+ "h2 = 294.17 #kJ/kg\n",
+ "s1 = 0.9572 #kJ/kg-K\n",
+ "s2s = s1\n",
+ "h2s = 285.58 #kJ/kg\n",
+ "\n",
+ "#the compressor power\n",
+ "Wdot = mdot*(h1-h2)\n",
+ "\n",
+ "#isentropic compressor efficiency\n",
+ "nc = (h2s - h1)/(h2 - h1)\n",
+ "\n",
+ "#Results\n",
+ "print \"the compressor power is\", round(Wdot,2),\"kW and isentropic efficiency is\",round(nc*100,0),\"%\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "the compressor power is -3.11 kW and isentropic efficiency is 81.0 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 7.13, page: 174</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "P1 = 1 #bar\n",
+ "T1 = 20 #degC\n",
+ "P2 = 5 #bar\n",
+ "n = 1.3\n",
+ "R = 8.314/28.97 #kJ/kg-K\n",
+ "\n",
+ "#calculations:\n",
+ "T2 = (T1+273)*(P2/P1)**((n-1)/n) - 273\n",
+ "#Work per unit mass\n",
+ "Wmdot = -1*(n*R/(n-1))*(T2-T1)\n",
+ "\n",
+ "#from Table T-9\n",
+ "h1 = 293.17 #kJ/kg\n",
+ "h2 = 426.35 #kJ/kg\n",
+ "#heat transfer per unit of mass\n",
+ "Qmdot = Wmdot + h2 - h1\n",
+ "\n",
+ "#Results\n",
+ "print \"Work Per unit mass is\", round(Wmdot,1),\"kJ/kg and heat transfer per unit of mass is\", round(Qmdot,0),\"kJ/kg\"\n",
+ "#Answer wrong in book\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Work Per unit mass is -163.9 kJ/kg and heat transfer per unit of mass is -31.0 kJ/kg\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_08.ipynb b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_08.ipynb new file mode 100644 index 00000000..6c26ff23 --- /dev/null +++ b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_08.ipynb @@ -0,0 +1,564 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h1>Chapter 8: VAPOR POWER AND REFRIGERATION SYSTEMS</h1>"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 8.01, page: 190</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "P1 = 8E6 #Pa\n",
+ "P2 = 0.008E6 #Pa\n",
+ "Wtdot = 100E6 #W\n",
+ "T1 = 15 #degC\n",
+ "T2 = 35 #degC\n",
+ "\n",
+ "#Calculations:\n",
+ "#from Table T-3\n",
+ "h1 = 2758.0 #kJ/kg\n",
+ "s1 = 5.7432 #kJ/kg-K\n",
+ "sf = 0.5926 #kJ/kg-K\n",
+ "sg = 8.2287 #kJ/kg-K\n",
+ "s2 = s1\n",
+ "hf = 173.88 #kJ/kg\n",
+ "hfg = 2403.1 #kJ/kg\n",
+ "#qualty at 2\n",
+ "x2 = (s2 - sf)/(sg - sf)\n",
+ "#enthalpy at 2\n",
+ "h2 = hf + x2*hfg\n",
+ "#from Table T-3\n",
+ "h3 = 173.88 #kJ/kg\n",
+ "v3 = 1.0084E-3 #specific vol in m3/kg\n",
+ "P4 = P1\n",
+ "P3 = P2\n",
+ "#enthalpy at 4\n",
+ "h4 = h3 + v3*(P4 - P3)/1000\n",
+ "\n",
+ "#thermal Efficiency\n",
+ "n = ((h1-h2)-(h4-h3))/(h1-h4)\n",
+ "#back work ratio\n",
+ "bwr = (h4-h3)/(h1-h2)\n",
+ "#mass flow rate of steam\n",
+ "mdot = Wtdot*3.600/((h1-h2)-(h4-h3))\n",
+ "#heat transfer rate in to the working fluid through the boiler\n",
+ "Qindot = mdot*(h1-h4)/3600000\n",
+ "#heat transfer rate fromom the condensing steam as it passes through the condenser\n",
+ "Qoutdot = mdot*(h2 - h3)/3600000\n",
+ "#mass flow rate of the condenser cooling water\n",
+ "#from Table T-2\n",
+ "hcwout = 146.68 #kJ/kg\n",
+ "hcwin = 62.99 #kJ/kg\n",
+ "#\n",
+ "mcwdot = mdot*(h2 - h3)/(hcwout - hcwin)\n",
+ "\n",
+ "#Results\n",
+ "print \"a)thermal efficiency is\", round(n*100,1),\"%\"\n",
+ "print \"b)back work ratio is\", round(bwr*100,2),\"%\"\n",
+ "print \"c)mass flow rate of steam is\", round(mdot,0),\"kg/h\"\n",
+ "print \"d)energy inflow rate is\",round(Qindot,2),\"MW\"\n",
+ "print \"e)energy outflow rate is\",round(Qoutdot,2),\"MW\"\n",
+ "print \"f)mass flow rate of cooling water is\",round(mcwdot,0),\"kg/h\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a)thermal efficiency is 37.1 %\n",
+ "b)back work ratio is 0.84 %\n",
+ "c)mass flow rate of steam is 376903.0 kg/h\n",
+ "d)energy inflow rate is 269.7 MW\n",
+ "e)energy outflow rate is 169.7 MW\n",
+ "f)mass flow rate of cooling water is 7299844.0 kg/h\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 8.02, page: 196</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "P1 = 8E6 #Pa\n",
+ "P2 = 0.008E6 #Pa\n",
+ "Wtdot = 100E6 #W\n",
+ "T1 = 15 #degC\n",
+ "T2 = 35 #degC\n",
+ "nt = 0.85\n",
+ "\n",
+ "#Calculations:\n",
+ "#from Table T-3\n",
+ "h1 = 2758.0 #kJ/kg\n",
+ "s1 = 5.7432 #kJ/kg-K\n",
+ "h2s = 1794.8 #kJ/kg\n",
+ "#specific enthalpy at 2\n",
+ "h2 = h1 - nt*(h1 - h2s)\n",
+ "#from Table T-3\n",
+ "h3 = 173.88 #kJ/kg\n",
+ "v3 = 1.0084E-3 #specific vol in m3/kg\n",
+ "P4 = P1\n",
+ "P3 = P2\n",
+ "#enthalpy at 4\n",
+ "h4 = h3 + v3*(P4 - P3)/(1000*nt)\n",
+ "\n",
+ "#thermal Efficiency\n",
+ "n = ((h1-h2)-(h4-h3))/(h1-h4)\n",
+ "#mass flow rate of steam\n",
+ "mdot = Wtdot*3.600/((h1-h2)-(h4-h3))\n",
+ "#heat transfer rate in to the working fluid through the boiler\n",
+ "Qindot = mdot*(h1-h4)/3600000\n",
+ "#heat transfer rate fromom the condensing steam as it passes through the condenser\n",
+ "Qoutdot = mdot*(h2 - h3)/3600000\n",
+ "#mass flow rate of the condenser cooling water\n",
+ "#from Table T-2\n",
+ "hcwout = 146.68 #kJ/kg\n",
+ "hcwin = 62.99 #kJ/kg\n",
+ "#\n",
+ "mcwdot = mdot*(h2 - h3)/(hcwout - hcwin)\n",
+ "\n",
+ "#Results\n",
+ "print \"a)thermal efficiency is\", round(n*100,1),\"%\"\n",
+ "print \"b)mass flow rate of steam is\", round(mdot,0),\"kg/h\"\n",
+ "print \"c)energy inflow rate is\",round(Qindot,1),\"MW\"\n",
+ "print \"d)energy outflow rate is\",round(Qoutdot,1),\"MW\"\n",
+ "print \"e)mass flow rate of cooling water is\",round(mcwdot,0),\"kg/h\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a)thermal efficiency is 31.4 %\n",
+ "b)mass flow rate of steam is 444863.0 kg/h\n",
+ "c)energy inflow rate is 318.2 MW\n",
+ "d)energy outflow rate is 218.2 MW\n",
+ "e)mass flow rate of cooling water is 9384161.0 kg/h\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 8.03, page: 199</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "%pylab inline\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "P1 = 8 #MPa\n",
+ "T1 = 480 #degC\n",
+ "P2 = 0.7 #MPa\n",
+ "T2 = 480 #degC\n",
+ "Pcond = 0.008 #Mpa\n",
+ "T3 = 440 #degC\n",
+ "Wtdot = 100 #MW\n",
+ "nt = 0.85\n",
+ "\n",
+ "#calculations:\n",
+ "##from Table T-4\n",
+ "h1 = 3348.4 #kJ/kg\n",
+ "s1 = 6.6586 #kJ/kg-K\n",
+ "s2 = s1\n",
+ "sf2 = 1.9922 #kJ/kg-K\n",
+ "sg2 = 6.708 #kJ/kg-K\n",
+ "hf2 = 697.22 #kJ/kg\n",
+ "hfg2 = 2066.3 #kJ/kg\n",
+ "#quality at 2\n",
+ "x2 = (s2 - sf2)/(sg2 - sf2)\n",
+ "#Enthalpy at 2\n",
+ "h2 = hf2 + x2*hfg2\n",
+ "\n",
+ "#from Table T-4\n",
+ "h3 = 3353.3 #kJ/kg\n",
+ "s3 = 7.7571 #kJ/kg-K\n",
+ "s4 = s3\n",
+ "sf4 = 0.5926 #kJ/kg-K\n",
+ "sg4 = 8.2287 #kJ/kg-K\n",
+ "hf4 = 173.88 #kJ/kg\n",
+ "hfg4 = 2403.1 #kJ/kg\n",
+ "#quality at 4\n",
+ "x4 = (s4 - sf4)/(sg4 - sf4)\n",
+ "#enthalpy\n",
+ "h4 = hf4 + x4*hfg4\n",
+ "\n",
+ "#from table T-4\n",
+ "h5 = 173.88 #kJ/kg\n",
+ "h6 = 181.94 #kJ/kg\n",
+ "\n",
+ "#thermal eff\n",
+ "n1 = (h1 - h2 + h3 - h4 - h6 + h5)/(h1 - h6 + h3 - h2)\n",
+ "#mass flow rate of steam\n",
+ "mdot = Wtdot*3600*1000/(h1 - h2 + h3 - h4 - h6 + h5)\n",
+ "#rate of heat transfer from the condensing steam to the cooling water\n",
+ "Qoutdot = mdot*(h4 - h5)/(3600*1000)\n",
+ "\n",
+ "h2s = h2\n",
+ "h4s = h4\n",
+ "#specific enthalpy at the exit of the first-stage turbine\n",
+ "h2 = h1 - nt*(h1 - h2s)\n",
+ "#specific enthalpy at the exit of the second-stage turbine\n",
+ "h4 = h3 - nt*(h3 - h4s)\n",
+ "\n",
+ "#thermal efficiency\n",
+ "n2 = (h1 - h2 + h3 - h4 - h6 + h5)/(h1 - h6 + h3 - h2)\n",
+ "\n",
+ "#creating empty lists for plotting\n",
+ "cte = []\n",
+ "ite = []\n",
+ "\n",
+ "for t in range(0, 16):\n",
+ " ite.append((t+85)/100)\n",
+ " k=(t+85)/100\n",
+ " h2 = h1 - k*(h1 - h2s)\n",
+ " h4 = h3 - k*(h3 - h4s)\n",
+ " cte.append((h1 - h2 + h3 - h4 - h6 + h5)/(h1 - h6 + h3 - h2))\n",
+ " \n",
+ "# plots\n",
+ "fig = plt.figure()\n",
+ "ax = fig.add_subplot(1, 1, 1)\n",
+ "ax.plot(ite,cte)\n",
+ "xlabel('Isentropic Turbine Efficiency')\n",
+ "ylabel('Cycle thermal efficiency')\n",
+ "title('Thermal efficiency vs Turbine stage efficiency')\n",
+ "show()\n",
+ "\n",
+ "#Results\n",
+ "print \"a)thermal efficiency is\", round(n1*100,1),\"%\"\n",
+ "print \"b)mass flow rate of steam is\", round(mdot,0),\"kg/h\"\n",
+ "print \"c)energy outflow rate is\", round(Qoutdot,0),\"MW\"\n",
+ "print \"d)thermal efficiency is\", round(n2*100,1),\"%\"\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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\nuHFj1blzZ6WUUikpKcrZ2VmFh4crvV6vDh06pOrXr69OnjxZaFzBwcFqwoQJKi0tTf3999+qffv2\natmyZUoppaKiovJ91koppdPpVGxsbKGxf/DBB6pNmzbqjz/+UEopdeTIEZWcnFzguMmTJ6unn35a\nXb9+Xd2+fVv17dtXvf7664Z/X0tLSzVjxgyVk5OjfvzxR1WrVi1148YNpZRSkyZNUt26dVMXL15U\ner1e7d27V2VmZqpvvvlGdejQwRDX4cOHlb29vcrOzi70uisCSR4PqKjk0bNnT8P2iRMnVM2aNZVS\nSu3bt081adIk3/6zZs0yfPnPmDFDde3aNd/7gYGBatasWYbtqVOnqn/961+G7U2bNuW7ee9mZ2en\njh49aii/qOQxYcIE9fbbb+d7zd3dXf3666+GOD777LN813lnWXcmj9WrVyt/f/9Cz3PncbNnz86X\ngJRSKigoSH355ZeGc7733nuG95YuXap69+6tlNI+t/79+xd6jtmzZ6shQ4YopZRKTk5WtWrVUpcv\nXy5037feekuNGjVKKaUlvdq1a6uEhASllFJdunRRM2bMUFeuXCn02LsVlzzuvPa8L/+4uDjD+3mv\nnTlzxvDaq6++qkaPHl3k8UlJSYZ927dvr9atW6eUUqpVq1b5zn3x4kVlZWWl9Hp9gbjfeecd9fTT\nT6tz584VeK+wv/E7Xb9+Xel0OnXr1i2Vk5OjrKysDF/QSmmfb97fxdq1aw2JJM+4cePUf/7znwLl\nXr58WVWvXl2lp6cbXlu9erXq1q2bUqrgZ63UvZNHy5Yt1caNGwu9hrzjcnNzVe3atfOV8dtvv6lm\nzZoZzlmzZs18n2HDhg3V/v37lV6vVzVr1jTca3dKT09XdnZ2hs936tSp6vnnny80lopCHlsZycMP\nP2z4vVatWmRkZJCbm8v58+e5ePEidnZ2hp/333+fv//+27C/s7PzPcurUaMGDRs2zLedkpJi2J47\ndy6enp7UrVsXOzs7bt68ydWrV4uN+fz588ybNy9fbBcuXODixYuGfUra4J6YmEjz5s1LdM5vv/02\n3zn37NnD5cuXDfs0atTI8HvNmjUN13qvcwwZMoRNmzaRlpbGN998Q5cuXfJ9hncKDQ1lw4YNZGVl\nsWHDBgICAmjcuDGgPT76448/8PDwoH379vzwww8luv7SyDtXUa81adIk37/B3e78fGrVqmX4fM6f\n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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x9b62eb8>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a)thermal efficiency is 40.3 %\n",
+ "b)mass flow rate of steam is 236345.0 kg/h\n",
+ "c)energy outflow rate is 148.0 MW\n",
+ "d)thermal efficiency is 35.1 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 8.04, page: 204</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "P1 = 8 #MPa\n",
+ "T1 = 480 #degC\n",
+ "P6 = 0.7 #MPa\n",
+ "Pcond = 0.008 #Mpa\n",
+ "Wtdot = 100 #MW\n",
+ "nt = 0.85\n",
+ "\n",
+ "#calculations:\n",
+ "#from example 8.3,\n",
+ "h1 = 3348.4 #kJ/kg\n",
+ "s1 = 6.6586 #kJ/kg-K\n",
+ "s2 = 6.8606 #kJ/kg-K\n",
+ "h2 = 2832.8 #kJ/kg\n",
+ "h4 = 173.88 #kJ/kg\n",
+ "s3s = s2\n",
+ "#from Table T-4\n",
+ "x3s = 0.8208\n",
+ "h3s = 2146.3 #kJ/kg\n",
+ "h6 = 697.22 #kJ/kg\n",
+ "#enthalpy at 3, 5 and 7\n",
+ "h3 = h2 - nt*(h2 - h3s)\n",
+ "#\n",
+ "P5 = P6\n",
+ "P4 = Pcond\n",
+ "P7 = P1\n",
+ "v4 = 1.0084E-3 #specific vol in m3/kg\n",
+ "v6 = 1.1080E-3 #in m3/kg\n",
+ "#\n",
+ "h5 = h4 + v4*(P5 - P4)*1000\n",
+ "h7 = h6 + v6*(P7 - P6)*1000\n",
+ "\n",
+ "#fraction y of the flow extraced at 2\n",
+ "y = (h6 - h5)/(h2 - h5)\n",
+ "#total turbine work output\n",
+ "Wtm1dot = (h1 - h2) + (1 - y)*(h2 - h3)\n",
+ "#total pump work per unit of mass passing through the first-stage turbine\n",
+ "Wpm1dot = (h7 - h6) + (1 - y)*(h5 - h4)\n",
+ "#heat added in the steam generator per unit of mass passing through the first-stage turbine\n",
+ "Qinm1dot = h1 - h7\n",
+ "#thermal eff\n",
+ "n = (Wtm1dot - Wpm1dot)/Qinm1dot\n",
+ "#mass flow rate\n",
+ "m1dot = Wtdot*3600*1000/(Wtm1dot - Wpm1dot)\n",
+ "\n",
+ "#Results\n",
+ "print \"a)thermal efficiency is\", round(n*100,1),\"%\"\n",
+ "print \"b)mass flow rate is\", round(m1dot,0),\"kg/h\" \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a)thermal efficiency is 36.9 %\n",
+ "b)mass flow rate is 368948.0 kg/h\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 8.05, page: 211</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "Tc = 0 #degC\n",
+ "Th = 26 #degC\n",
+ "mdot = 0.08 #kg/s\n",
+ "\n",
+ "#calculations:\n",
+ "#from Table T-6\n",
+ "h1 = 247.33 #kJ/kg\n",
+ "s1 = 0.9190 #kJ/kg-K\n",
+ "P2 = 6.853 #bar\n",
+ "h2s = 264.7 #kJ/kg\n",
+ "h3 = 85.75 #kJ/kg\n",
+ "h4 = h3\n",
+ "#compressor work input\n",
+ "Wcdot = mdot*(h2s - h1)\n",
+ "#heat transfer rate to the refrigerant passing through the evaporator\n",
+ "Qindot = mdot*60*(h1 - h4)/211\n",
+ "#coeff of performance\n",
+ "b = (h1 - h4)/(h2s - h1)\n",
+ "bmax = (Tc + 273)/(Th - Tc)\n",
+ "\n",
+ "#Results\n",
+ "print \"a) compressor work input is\", round(Wcdot,1),\"kW\"\n",
+ "print \"b) refrigration capacity is\", round(Qindot,2),\"ton\"\n",
+ "print \"c) coefficient of performanceis\", round(b,2)\n",
+ "print \"d) maximum coefficient of performance is\", round(bmax,1)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a) compressor work input is 1.4 kW\n",
+ "b) refrigration capacity is 3.68 ton\n",
+ "c) coefficient of performanceis 9.3\n",
+ "d) maximum coefficient of performance is 10.5\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 8.06, page: 214</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "Tc = 0 #degC\n",
+ "Th = 26 #degC\n",
+ "mdot = 0.08 #kg/s\n",
+ "P2 = 9 #bar\n",
+ "T1 = -10 #degC\n",
+ "\n",
+ "#calculations:\n",
+ "#from Table T-6\n",
+ "h1 = 241.35 #kJ/kg\n",
+ "s1 = 0.9253 #kJ/kg-K\n",
+ "h2s = 272.39 #kJ/kg\n",
+ "h3 = 99.56 #kJ/kg\n",
+ "h4 = h3\n",
+ "#compressor work input\n",
+ "Wcdot = mdot*(h2s - h1)\n",
+ "#heat transfer rate to the refrigerant passing through the evaporator\n",
+ "Qindot = mdot*60*(h1 - h4)/211\n",
+ "#coeff of performance\n",
+ "b = (h1 - h4)/(h2s - h1)\n",
+ "\n",
+ "#Results\n",
+ "print \"a) compressor work input is\", round(Wcdot,2),\"kW\"\n",
+ "print \"b) refrigration capacity is\", round(Qindot,2),\"ton\"\n",
+ "print \"c) coefficient of performanceis\", round(b,2)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a) compressor work input is 2.48 kW\n",
+ "b) refrigration capacity is 3.23 ton\n",
+ "c) coefficient of performanceis 4.57\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 8.07, page: 215</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "Tc = 0 #degC\n",
+ "Th = 26 #degC\n",
+ "mdot = 0.08 #kg/s\n",
+ "P2 = 9 #bar\n",
+ "nc = 0.8\n",
+ "T1 = -10 #degC\n",
+ "T3 = 30 #degC\n",
+ "\n",
+ "#calculations:\n",
+ "#from Table T-6\n",
+ "h1 = 241.35 #kJ/kg\n",
+ "s1 = 0.9253 #kJ/kg-K\n",
+ "h2s = 272.39 #kJ/kg\n",
+ "#enthalpy at 2\n",
+ "h2 = (h2s - h1)/nc + h1\n",
+ "\n",
+ "#from table T-6\n",
+ "hf = 91.49 #kJ/kg\n",
+ "h3 = hf\n",
+ "h4 = h3\n",
+ "#compressor work input\n",
+ "Wcdot = mdot*(h2 - h1)\n",
+ "#heat transfer rate to the refrigerant passing through the evaporator\n",
+ "Qindot = mdot*60*(h1 - h4)/211\n",
+ "#coeff of performance\n",
+ "b = (h1 - h4)/(h2 - h1)\n",
+ "\n",
+ "#Results\n",
+ "print \"a) compressor work input is\", round(Wcdot,2),\"kW\"\n",
+ "print \"b) refrigration capacity is\", round(Qindot,2),\"ton\"\n",
+ "print \"c) coefficient of performanceis\", round(b,2)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a) compressor work input is 3.1 kW\n",
+ "b) refrigration capacity is 3.41 ton\n",
+ "c) coefficient of performanceis 3.86\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_09.ipynb b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_09.ipynb new file mode 100644 index 00000000..c1d8f8c8 --- /dev/null +++ b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_09.ipynb @@ -0,0 +1,432 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h1>Chapter 9: GAS POWER SYSTEMS</h1>"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 9.01, page: 228</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "r = 8 #compression ratio\n",
+ "T1 = 540 #degR\n",
+ "V1 = 0.02 #ft3\n",
+ "T3 = 3600 #degR\n",
+ "P1 = 1 #atm\n",
+ "R = 1545/28.97 #ft*lbf/lb-degR\n",
+ "\n",
+ "#calculations:\n",
+ "#from Table T-9E\n",
+ "u1 = 92.04 #Btu/lb\n",
+ "vr1 = 144.32\n",
+ "#from isentropic process 1-2\n",
+ "vr2 = vr1/r\n",
+ "#from Table T-9E\n",
+ "T2 = 1212 #degR\n",
+ "u2 = 211.3 #Btu/lb\n",
+ "#Pressure\n",
+ "P2 = P1*T2*r/T1\n",
+ "P3 = P2*T3/T2\n",
+ "#from Table T-9E\n",
+ "u3 = 721.44 #Btu/lb\n",
+ "vr3 = 0.6449\n",
+ "#from isentropic process 3-4\n",
+ "vr4 = vr3*r\n",
+ "#from Table T-9E\n",
+ "T4 = 1878 #degR\n",
+ "u4 = 342.2 #Btu/lb\n",
+ "#pressure\n",
+ "P4 = P1*T4/T1\n",
+ "#Thermal Eff\n",
+ "n = 1 - (u4 - u1)/(u3 - u2)\n",
+ "#net work per cycle\n",
+ "m = P1*14.696*144*V1/(R*T1)\n",
+ "Wcycle = m*((u3-u4)-(u2-u1))\n",
+ "#mean effective pressure\n",
+ "mep = Wcycle/(V1*(1 - 1/r))*778/(144*14.696)\n",
+ "\n",
+ "#Results\n",
+ "print \"a)pressure and temperature at 2 are\", round(P2,2),\"atm and\", T2,\"degR\"\n",
+ "print \" pressure and temperature at 3 are\", round(P3,2),\"atm and\", T3,\"degR\"\n",
+ "print \" pressure and temperature at 4 are\", round(P4,2),\"atm and\", T4,\"degR\"\n",
+ "print \"b)thermal efficiency is\", round(n*100,0),\"%\"\n",
+ "print \"c)mean effective pressure is\",round(mep,2),\"atm\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a)pressure and temperature at 2 are 17.96 atm and 1212 degR\n",
+ " pressure and temperature at 3 are 53.33 atm and 3600 degR\n",
+ " pressure and temperature at 4 are 3.48 atm and 1878 degR\n",
+ "b)thermal efficiency is 51.0 %\n",
+ "c)mean effective pressure is 8.03 atm\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 9.02, page: 232</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "r = 18 #compression ratio\n",
+ "T1 = 300 #K\n",
+ "rc = 2 #cut-off ratio\n",
+ "P1 = 0.1 #MPa\n",
+ "R = 8314/28.97 #J/kg-K\n",
+ "\n",
+ "#calculations:\n",
+ "#from Table T-9\n",
+ "u1 = 214.07 #kJ/kg\n",
+ "vr1 = 621.2\n",
+ "#from isentropic process 1-2\n",
+ "vr2 = vr1/r\n",
+ "#from Table T-9\n",
+ "T2 = 898.3 #K\n",
+ "h2 = 930.98 #kJ/kg\n",
+ "#Pressure\n",
+ "P2 = P1*T2*r/T1\n",
+ "P3 = P2\n",
+ "#temp\n",
+ "T3 = rc*T2\n",
+ "#from Table T-9\n",
+ "h3 = 1999.1 #kJ/kg\n",
+ "vr3 = 0.6449\n",
+ "#from isentropic process 3-4\n",
+ "vr4 = vr3*r/rc\n",
+ "#from Table T-9\n",
+ "T4 = 887.7 #degR\n",
+ "u4 = 664.3 #kJ/kg\n",
+ "#pressure\n",
+ "P4 = P1*T4/T1\n",
+ "#Thermal Eff\n",
+ "n = 1 - (u4 - u1)/(h3 - h2)\n",
+ "#net work per cycle per unit mass\n",
+ "Wmcycle = (h3-h2)-(u4-u1)\n",
+ "#specific vol at 1\n",
+ "v1 = R*T1/(P1*1000000)\n",
+ "#mean effective pressure\n",
+ "mep = Wmcycle/(v1*(1 - 1/r)*1000)\n",
+ "\n",
+ "#Results\n",
+ "print \"a)pressure and temperature at 2 are\", round(P2,2),\"MPa and\", T2,\"degR\"\n",
+ "print \" pressure and temperature at 3 are\", round(P3,2),\"MPa and\", T3,\"degR\"\n",
+ "print \" pressure and temperature at 4 are\", round(P4,2),\"MPa and\", T4,\"degR\"\n",
+ "print \"b)thermal efficiency is\", round(n*100,1),\"%\"\n",
+ "print \"c)mean effective pressure is\",round(mep,2),\"MPa\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a)pressure and temperature at 2 are 5.39 MPa and 898.3 degR\n",
+ " pressure and temperature at 3 are 5.39 MPa and 1796.6 degR\n",
+ " pressure and temperature at 4 are 0.3 MPa and 887.7 degR\n",
+ "b)thermal efficiency is 57.8 %\n",
+ "c)mean effective pressure is 0.76 MPa\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 9.03, page: 238</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "r = 10 #compression ratio\n",
+ "T1 = 300 #K\n",
+ "AV1 = 5 #m3/s\n",
+ "P1 = 100 #kPa\n",
+ "R = 8314/28.97 #J/kg-K\n",
+ "\n",
+ "#calculations:\n",
+ "#from Table T-9\n",
+ "h1 = 300.19 #kJ/kg\n",
+ "Pr1 = 1.386\n",
+ "#reduced pressure at 2\n",
+ "Pr2 = r*Pr1\n",
+ "#from Table T-9\n",
+ "h2 = 579.9 #kJ/kg\n",
+ "T3 = 1400 #K\n",
+ "h3 = 1515.4 #kJ/kg\n",
+ "Pr3 = 450.5\n",
+ "#reduced pressure at 4\n",
+ "Pr4 = Pr3/r\n",
+ "#from Table T-9\n",
+ "h4 = 808.5 #kJ/kg\n",
+ "\n",
+ "#Thermal Eff\n",
+ "n = 1 - (h4 - h1)/(h3 - h2)\n",
+ "#back work ratio\n",
+ "bwr = (h2 - h1)/(h3-h4)\n",
+ "#net wpower developed\n",
+ "mdot = AV1*P1*1000/(R*T1)\n",
+ "Wmcycledot = mdot*((h3-h4)-(h2-h1))\n",
+ "\n",
+ "#Results\n",
+ "print \"a)thermal efficiency is\", round(n*100,1),\"%\"\n",
+ "print \"b)back work ratio is\", round(bwr*100,1),\"%\"\n",
+ "print \"c)mean effective pressure is\",round(Wmcycledot,0),\"kW\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a)thermal efficiency is 45.7 %\n",
+ "b)back work ratio is 39.6 %\n",
+ "c)mean effective pressure is 2481.0 kW\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 9.04, page: 242</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "r = 10 #compression ratio\n",
+ "T1 = 300 #K\n",
+ "AV1 = 5 #m3/s\n",
+ "P1 = 100 #kPa\n",
+ "R = 8314/28.97 #J/kg-K\n",
+ "nt = 0.8\n",
+ "nc = nt\n",
+ "\n",
+ "#calculations:\n",
+ "#from Table T-9\n",
+ "h1 = 300.19 #kJ/kg\n",
+ "Pr1 = 1.386\n",
+ "#reduced pressure at 2\n",
+ "Pr2 = r*Pr1\n",
+ "#from Table T-9\n",
+ "h2 = 579.9 #kJ/kg\n",
+ "T3 = 1400 #K\n",
+ "h3 = 1515.4 #kJ/kg\n",
+ "Pr3 = 450.5\n",
+ "#reduced pressure at 4\n",
+ "Pr4 = Pr3/r\n",
+ "#from Table T-9\n",
+ "h4 = 808.5 #kJ/kg\n",
+ "#turbine work per unit mass\n",
+ "Wtmdot = nt*(h3-h4)\n",
+ "#Compressor work per unit mass\n",
+ "Wcmdot = (h2 - h1)/nc\n",
+ "#new enthalpy at 2\n",
+ "h2 = h1 + Wcmdot\n",
+ "#heat transfer to the working fluid per unit of mass flow\n",
+ "Qinmdot = h3 - h2\n",
+ "#Thermal Eff\n",
+ "n = (Wtmdot - Wcmdot)/Qinmdot\n",
+ "#back work ratio\n",
+ "bwr = Wcmdot/Wtmdot\n",
+ "#net wpower developed\n",
+ "mdot = AV1*P1*1000/(R*T1)\n",
+ "Wmcycledot = mdot*(Wtmdot - Wcmdot)\n",
+ "\n",
+ "#Results\n",
+ "print \"a)thermal efficiency is\", round(n*100,1),\"%\"\n",
+ "print \"b)back work ratio is\", round(bwr*100,1),\"%\"\n",
+ "print \"c)mean effective pressure is\",round(Wmcycledot,0),\"kW\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a)thermal efficiency is 24.9 %\n",
+ "b)back work ratio is 61.8 %\n",
+ "c)mean effective pressure is 1254.0 kW\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 9.05, page: 245</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "nreg = 0.8\n",
+ "\n",
+ "#calculations:\n",
+ "#from Example 9.3\n",
+ "h1 = 300.19 #kJ/kg\n",
+ "h2 = 579.9 #kJ/kg\n",
+ "h3 = 1515.4 #kJ/kg\n",
+ "h4 = 808.5 #kJ/kg\n",
+ "\n",
+ "#specific enthalpy hx\n",
+ "hx = nreg*(h4 - h2) + h2\n",
+ "\n",
+ "#Thermal Eff\n",
+ "n = ((h3 - h4) - (h2 - h1))/(h3 - hx)\n",
+ "\n",
+ "#Results\n",
+ "print \"a)thermal efficiency is\", round(n*100,1),\"%\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a)thermal efficiency is 56.8 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 9.06, page: 247</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "Pa = 11.8 #lbf/in2\n",
+ "Ta = 430 #degR\n",
+ "Va = 620 #mi/hr\n",
+ "V1 = 0\n",
+ "P2P1 = 8 #P2/P1\n",
+ "T3 = 2150 #degR\n",
+ "P5 = 11.8 #lbf/in2\n",
+ "\n",
+ "#Calculations:\n",
+ "#from Table T-9E\n",
+ "ha = 102.7 #Btu/lb\n",
+ "h1 = ha + (Va**2)/(2*32.2*778)\n",
+ "#\n",
+ "Pr1 = 1.051\n",
+ "Pra = 0.6268\n",
+ "P1 = Pr1*Pa/Pra\n",
+ "#\n",
+ "P2 = P2P1*P1\n",
+ "#\n",
+ "Pr2 = Pr1*P2P1\n",
+ "h2 = 216.2 #Btu/lb\n",
+ "h3 = 546.54 #Btu/lb\n",
+ "P3=P2\n",
+ "h4 = h3 + h1 - h2\n",
+ "#\n",
+ "Pr4 = 113.8\n",
+ "Pr3 = 233.5\n",
+ "P4 = P3*Pr4/Pr3\n",
+ "#\n",
+ "P5 = Pr4*P5/P4\n",
+ "#\n",
+ "h5 = 265.8 #Btu/lb\n",
+ "V5 = (2*(h4 - h5)*32.2*778)**0.5\n",
+ "\n",
+ "#Results\n",
+ "print \"Pressure at 1 is\", round(P1,2),\"lbf/in2\"\n",
+ "print \"Pressure at 2 is\", round(P2,1),\"lbf/in2\"\n",
+ "print \"Pressure at 4 is\", round(P4,1),\"lbf/in2\"\n",
+ "print \"velocity at nozzle exit is\", round(V5,0),\"ft/s\"\n",
+ "#answer wrong in book\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Pressure at 1 is 19.79 lbf/in2\n",
+ "Pressure at 2 is 158.3 lbf/in2\n",
+ "Pressure at 4 is 77.1 lbf/in2\n",
+ "velocity at nozzle exit is 2960.0 ft/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_10.ipynb b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_10.ipynb new file mode 100644 index 00000000..d0c87049 --- /dev/null +++ b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_10.ipynb @@ -0,0 +1,441 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h1>Chapter 10: PSYCHROMETRIC APPLICATIONS</h1>"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 10.01, page: 250</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "m = 1 #lb\n",
+ "T1 = 70 #degF\n",
+ "phi = 0.7\n",
+ "T2 = 40 #degR\n",
+ "P = 14.7 #lbf/in2\n",
+ "\n",
+ "#calculations:\n",
+ "#from Table T-2E\n",
+ "Pg1 = 0.3632 #lbf/in2\n",
+ "Pv1 = phi*Pg1\n",
+ "w1 = 0.622*Pv1/(P - Pv1)\n",
+ "#dew point Temp\n",
+ "Td = 60 #degF\n",
+ "#\n",
+ "mv1 = 1/(1 + 1/w1)\n",
+ "ma = 1 - mv1\n",
+ "#\n",
+ "Pg2 = 0.1217 #lbf/in2\n",
+ "w2 = 0.622*Pg2/(P - Pg2)\n",
+ "#mass of the water vapor present at the final state\n",
+ "mv2 = w2*ma\n",
+ "#amount of water vapor that condenses is\n",
+ "mw = mv1 - mv2\n",
+ "\n",
+ "#Results\n",
+ "print \"a)the initial humidity ratio is\", round(w1,3),\"lb(vapor)/lb(dry)\"\n",
+ "print \"b) dew point temp is\", Td,\"degF\"\n",
+ "print \"c)mass of water vapor that condenses is\", round(mw,4),\"lb(condensate)\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a)the initial humidity ratio is 0.011 lb(vapor)/lb(dry)\n",
+ "b) dew point temp is 60 degF\n",
+ "c)mass of water vapor that condenses is 0.0057 lb(condensate)\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 10.02, page: 250</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "AV1 = 150 #m3/min\n",
+ "T1 = 10 #degC\n",
+ "phi1 = 0.8\n",
+ "T2 = 30 #degC\n",
+ "P = 1 #bar\n",
+ "R = 8314/28.97 #J/kg-K\n",
+ "\n",
+ "#calculations:\n",
+ "#from Table T-9\n",
+ "ha1 = 283.1 #kJ/kg\n",
+ "ha2 = 303.2 #kJ/kg\n",
+ "hg1 = 2519.8 #kJ/kg\n",
+ "hg2 = 2556.3 #kJ/kg\n",
+ "#From Table T-2\n",
+ "Pg1 = 0.01228 #bar\n",
+ "Pv1 = phi1*Pg1\n",
+ "Pa1 = 0.9902\n",
+ "#specific volume of the dry air\n",
+ "va1 = R*(T1 + 273)/(Pa1*1E5)\n",
+ "#mass flow rate of the dry air\n",
+ "madot = AV1/va1\n",
+ "#humidity ratio\n",
+ "w = 0.622*(Pv1/(P - Pv1))\n",
+ "Qcvdot = madot*((ha2 - ha1) + w*(hg2 - hg1))\n",
+ "# From Table T-2\n",
+ "Pv2 = Pv1\n",
+ "Pg2 = 0.04246\n",
+ "#relative humidity\n",
+ "phi2 = Pv2/Pg2\n",
+ "\n",
+ "#Results\n",
+ "print \"a)heat flow rate is\", round(Qcvdot,0),\"kJ/min\"\n",
+ "print \"b)relative humidity is\", round(phi2*100,1),\"%\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a)heat flow rate is 3717.0 kJ/min\n",
+ "b)relative humidity is 23.1 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 10.03, page: 250</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "AV1 = 280 #m3/min\n",
+ "T1 = 30 #degC\n",
+ "phi1 = 0.5\n",
+ "T2 = 10 #degC\n",
+ "Tsat = 10 #degC\n",
+ "P1 = 1.013 #bar\n",
+ "R = 8314/28.97 #J/kg-K\n",
+ "\n",
+ "#calculations:\n",
+ "#from Table T-2\n",
+ "Pg1 = 0.04246 #bar\n",
+ "Pv1 = phi1*Pg1\n",
+ "Pa1 = P1 - Pv1\n",
+ "#mass flow rate\n",
+ "madot = AV1*(Pa1*1E5)/(R*(T1+ 273))\n",
+ "#\n",
+ "w1 = 0.622*Pv1/(P1 - Pv1)\n",
+ "#from Table T-2\n",
+ "Pg2 = 0.01228 #bar\n",
+ "w2 = 0.0076 #kg(vapor)/kg(dry air)\n",
+ "#ratio\n",
+ "mwmadot = w1 - w2\n",
+ "#from Table T-2 and T-9\n",
+ "ha2 = 283.1 #kJ/kg\n",
+ "ha1 = 303.2 #kJ/kg\n",
+ "hg2 = 2519.8 #kJ/kg\n",
+ "hg1 = 2556.3 #kJ/kg\n",
+ "hf2 = 42.01 #kJ/kg\n",
+ "#heat transfer rate\n",
+ "Qcvdot = madot*(ha2 - ha1 - w1*hg1 + w2*hg2 + (w1 - w2)*hf2)/211\n",
+ "\n",
+ "#Results\n",
+ "print \"a) mass flow rate is\", round(madot,2),\"kg/min\"\n",
+ "print \"b) the rate at which water is condensed is\", round(mwmadot,4),\"kg(vapor)/kg(dry air)\"\n",
+ "print \"required refrigerating capacity is\", round(-1*Qcvdot,1),\"tons\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a) mass flow rate is 319.35 kg/min\n",
+ "b) the rate at which water is condensed is 0.0057 kg(vapor)/kg(dry air)\n",
+ "required refrigerating capacity is 52.6 tons\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 10.04, page: 250</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "madot = 90 #kg/min\n",
+ "T1 = 22 #degC\n",
+ "Twb = 9 #degC\n",
+ "mstdot = 52 #kg/h\n",
+ "Tsat = 110 #degC\n",
+ "\n",
+ "#calculations:\n",
+ "#From Table T-4\n",
+ "w1 = 0.002 #kg(vapor)/kg(dry air)\n",
+ "#\n",
+ "w2 = w1 + (mstdot/60)/madot\n",
+ "#from table T-2 and T-9\n",
+ "T2 = 23.5 #degC\n",
+ "\n",
+ "#Results\n",
+ "print \"a) humidity ratio is\", round(w2,4),\"kg(vapor)/kg(dry air)\"\n",
+ "print \"b) Temperature T2 is\", T2,\"degC\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a) humidity ratio is 0.0116 kg(vapor)/kg(dry air)\n",
+ "b) Temperature T2 is 23.5 degC\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 10.05, page: 250</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "T1 = 100 #degF\n",
+ "phi1 = 0.10\n",
+ "AV1 = 5000 #ft3/min\n",
+ "Tw = 70 #degF\n",
+ "T2 = 70 #degF\n",
+ "P = 14.696 #lbf/in2\n",
+ "Cpa = 0.24 #Btu/lb-degR\n",
+ "\n",
+ "#calculations:\n",
+ "#From Table T-2E\n",
+ "Pg1 = 0.95 #lbf/in2\n",
+ "#partial pressure of the moist air\n",
+ "Pv1 = phi1*Pg1\n",
+ "#humidity at 1\n",
+ "w1 = 0.622*Pv1/(P- Pv1)\n",
+ "#specific vol of dry air\n",
+ "va1 = 14.2 #ft3/lb(dry air)\n",
+ "#mass flow rate of dry air\n",
+ "madot = AV1/va1\n",
+ "#from Table T-2E\n",
+ "hf = 38.1 #Btu/lb\n",
+ "hg1 = 1105 #Btu/lb\n",
+ "hg2 = 1092 #Btu/lb\n",
+ "#w2\n",
+ "w2 = (Cpa*(T1 - T2) + w1*(hg1 - hf))/(hg2 - hf)\n",
+ "#\n",
+ "mwdot = madot*60*(w2 - w1)\n",
+ "#\n",
+ "Pv2 = w2*P/(w2 + 0.622)\n",
+ "#saturation Pressure at 70 degF\n",
+ "Psat = 0.3632 #lbf/in2\n",
+ "#relative humidity at exit\n",
+ "phi2 = Pv2/Psat\n",
+ "\n",
+ "#Results\n",
+ "print \"a) mass flow rate is\", round(mwdot,1),\"lb(water)/h\"\n",
+ "print \"b) relative humidity is\",round(phi2*100,1),\"%\"\n",
+ "#answer slightly varies with book\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a) mass flow rate is 145.4 lb(water)/h\n",
+ "b) relative humidity is 69.9 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 10.06, page: 250</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "AV1 = 142 #m3/min\n",
+ "T1 = 5 #degC\n",
+ "w1 = 0.002 #kg(vapor)/(kg(dry air)\n",
+ "AV2 = 425 #m3/min\n",
+ "T2 = 24 #degC\n",
+ "phi2 = 0.5\n",
+ "\n",
+ "#calculations:\n",
+ "#from psychometric chart\n",
+ "va1 = 0.79 #m3/kg(dry air)\n",
+ "va2 = 0.855 #m3/kg(dry air)\n",
+ "w2 = 0.0094\n",
+ "#mass flow rate of dry air at 1 and 2\n",
+ "ma1dot = AV1/va1\n",
+ "ma2dot = AV2/va2\n",
+ "#w3\n",
+ "w3 = (w1*ma1dot + w2*ma2dot)/(ma1dot + ma2dot)\n",
+ "#from fig T-4\n",
+ "#ha1 = (ha + w*hv)1\n",
+ "#ha2 = (ha + whv)2\n",
+ "#ha3 = (ha + w*hv)3\n",
+ "ha1 = 10 #kJ/kg(dry air)\n",
+ "ha2 = 47.8 #kJ/kg(dry air)\n",
+ "ha3 = (ma1dot*ha1 + ma2dot*ha2)/(ma1dot + ma2dot)\n",
+ "#from Fig T-4\n",
+ "T3 = 19 #degC\n",
+ "\n",
+ "#Results\n",
+ "print \"a) humidity ratio is\", round(w3,4),\"kg(vapor)/kg(dry air)\"\n",
+ "print \"b) temperature by inspection is\", T3,\"degC\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a) humidity ratio is 0.0074 kg(vapor)/kg(dry air)\n",
+ "b) temperature by inspection is 19 degC\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 10.07, page: 250</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "T1 = 38 #degC\n",
+ "m1dot = 4.5E7 #kg/h\n",
+ "T2 = 30 #degC\n",
+ "m2dot = 4.5E7 #kg/h\n",
+ "T3 = 25 #degC\n",
+ "phi3 = 0.35\n",
+ "T4 = 35 #degC\n",
+ "phi4 = 0.9\n",
+ "T5 = 20 #degC\n",
+ "\n",
+ "#calculations:\n",
+ "#from Table T-2 nd T-9\n",
+ "w3 = 0.00688 #kg(vapor)/kg(dry air)\n",
+ "w4 = 0.0327 #kg(vapor)/kg(dry air)\n",
+ "hf1 = 159.21 #kJ/kg\n",
+ "hf2 = 125.79 #kJ/kg\n",
+ "ha4 = 308.2 #kJ/kg\n",
+ "ha3 = 298.2 #kJ/kg\n",
+ "hg4 = 2565.3 #kJ/kg\n",
+ "hg3 = 2547.2 #kJ/kg\n",
+ "hf5 = 83.96 #kJ/kg\n",
+ "#mass flow rate of dry air\n",
+ "madot = m1dot*(hf1 - hf2)/((ha4 - ha3) + w4*hg4 - w3*hg3 - (w4 - w3)*hf5)\n",
+ "#mass flow rate of water\n",
+ "m5dot = madot*(w4 - w3)\n",
+ "\n",
+ "#Results\n",
+ "print \"mass flow rate of dry air and water are\",round(madot,0),\"kg/h and\", round(m5dot,0),\"kg/h\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "mass flow rate of dry air and water are 20270181.0 kg/h and 523376.0 kg/h\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_11.ipynb b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_11.ipynb new file mode 100644 index 00000000..831c89a6 --- /dev/null +++ b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_11.ipynb @@ -0,0 +1,166 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h1>Chapter 11: GETTING STARTED IN FLUID MECHANICS: FLUID STATICS</h1>"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 11.01, page: 253</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "rgas = 42.5 #lbf/ft3\n",
+ "rwater = 62.4 #lbf/ft3\n",
+ "hgas = 17 #ft\n",
+ "hwater = 3 #ft\n",
+ "\n",
+ "#calculations:\n",
+ "#pressure relative to atmospheric pressure at 1\n",
+ "#Pdiff1 = P1- P0\n",
+ "Pdiff1 = rgas*hgas\n",
+ "#corresponding pressure head in feet of water is therefore at 1\n",
+ "#head1 = (P1-P0)/rwater\n",
+ "head1 = Pdiff1/rwater\n",
+ "#pressure relative to atmospheric pressure at 2(bottom)\n",
+ "#Pdiff2 = P2- P0\n",
+ "Pdiff2 = rwater*hwater + Pdiff1\n",
+ "#corresponding pressure head in feet of water is therefore at 1\n",
+ "#head2 = (P2-P0)/rwater\n",
+ "head2 = Pdiff2/rwater\n",
+ "\n",
+ "#Results\n",
+ "print \" the pressure relative to atmospheric pressure at junction is\", Pdiff1,\"lbf/ft2 or\", round(Pdiff1/144,2),\"lbf/in2\"\n",
+ "print \" corresponding pressure head in feet of water is\", round(head1,1),\"ft\"\n",
+ "print \" the pressure relative to atmospheric pressure battom is\", Pdiff2,\"lbf/ft2 or\", round(Pdiff2/144,2),\"lbf/in2\"\n",
+ "print \" corresponding pressure head in feet of water is\", round(head2,1),\"ft\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " the pressure relative to atmospheric pressure at junction is 722.5 lbf/ft2 or 5.02 lbf/in2\n",
+ " corresponding pressure head in feet of water is 11.6 ft\n",
+ " the pressure relative to atmospheric pressure battom is 909.7 lbf/ft2 or 6.32 lbf/in2\n",
+ " corresponding pressure head in feet of water is 14.6 ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 11.02, page: 258</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "SGoil = 0.9\n",
+ "rwater = 62.4 #lbf/ft3\n",
+ "h1 = 36/12 #ft\n",
+ "h2 = 6/12 #ft\n",
+ "SGhg = 13.6\n",
+ "h3 = 9/12 #ft\n",
+ "\n",
+ "#calculations:\n",
+ "Pair = -1*SGoil*rwater*(h1 + h2) + SGhg*rwater*h3\n",
+ "#gage pressure\n",
+ "Pgage = Pair/144\n",
+ "\n",
+ "#Results\n",
+ "print \"Gage pressure is\",round(Pgage,2),\"lbf/in2(psi)\" \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Gage pressure is 3.06 lbf/in2(psi)\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 11.03, page: 262</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "b = 2 #m\n",
+ "r = 9.8E3 #N/m3\n",
+ "a = 4 #m\n",
+ "\n",
+ "#calculations:\n",
+ "Yc = 8\n",
+ "#area\n",
+ "A = b*a\n",
+ "hc = Yc*math.sin(60*math.pi/180)\n",
+ "FR = r*hc*A\n",
+ "#moment of Inertia\n",
+ "Ixc = (b*a**3)/12\n",
+ "#location\n",
+ "YR = Ixc/(Yc*A) + Yc\n",
+ "\n",
+ "#Results\n",
+ "print \"the magnitude and location of the resultant force exerted on the gate by the water are\", round(FR,0),\"N at\", round(YR,2),\"m\" \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "the magnitude and location of the resultant force exerted on the gate by the water are 543171.0 N at 8.17 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_12.ipynb b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_12.ipynb new file mode 100644 index 00000000..f49cbd64 --- /dev/null +++ b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_12.ipynb @@ -0,0 +1,474 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h1>Chapter 12: THE MOMENTUM AND MECHANICAL ENERGY EQUATIONS</h1>"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 12.01, page: 273</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Initialization of Variable\n",
+ "V = 10 #ft/s\n",
+ "A = 0.06 #ft2\n",
+ "p = 1.94 #slug/ft3\n",
+ "\n",
+ "#calculations:\n",
+ "Fax = -1*p*A*V**2\n",
+ "Fay = p*A*V**2\n",
+ "\n",
+ "#Results\n",
+ "print \"resultant force in x direction is\", round(Fax,2),\"(1-cos(theta)) lbf\"\n",
+ "print \"resultant force in y direction is\", round(Fay,2),\"sin(theta) lbf\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "resultant force in x direction is -11.64 (1-cos(theta)) lbf\n",
+ "resultant force in y direction is 11.64 sin(theta) lbf\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 12.02, page: 275</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "p = 1.94 #slug/ft3\n",
+ "P1 = 30 #psi\n",
+ "V = 50 #ft/s\n",
+ "P2 = 24 #psi\n",
+ "A = 0.1 #ft2\n",
+ "theta = 180 #deg\n",
+ "\n",
+ "#calcualtions:\n",
+ "#force in x dirn\n",
+ "Fax = 0\n",
+ "#mass flow rate\n",
+ "mdot = p*A*V\n",
+ "#force in y dirn\n",
+ "Fay = -2*mdot*V - (P1 + P2)*144*A\n",
+ "\n",
+ "#Results\n",
+ "print \"resultant force in x direction is\", Fax,\"lbf\"\n",
+ "print \"resultant force in y direction is\", round(Fay,0),\"lbf\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "resultant force in x direction is 0 lbf\n",
+ "resultant force in y direction is -1748.0 lbf\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 12.03, page: 277</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "D1 = 16 #mm\n",
+ "Q = 0.6 #lt/s\n",
+ "Wn = 1 #N\n",
+ "Ww = 0.03 #N\n",
+ "D2 = 5 #mm\n",
+ "P1 = 464 #kPa\n",
+ "P2 = 0 #kPa\n",
+ "p = 999 #kg/m3\n",
+ "\n",
+ "#calculations:\n",
+ "#mass flow rate\n",
+ "mdot = p*Q/1000\n",
+ "#areas\n",
+ "A1 = math.pi*1E-6*(D1**2)/4\n",
+ "A2 = math.pi*1E-6*(D2**2)/4\n",
+ "#volumetric flow rate\n",
+ "V1 = Q*1E-3/A1\n",
+ "V2 = Q*1E-3/A2\n",
+ "Fa = mdot*(V1 - V2) + Wn + Ww + P1*1000*A1 - P2*A2\n",
+ "\n",
+ "#Results\n",
+ "print \"anchoring force is\",round(Fa,1),\"N\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "anchoring force is 77.8 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 12.05, page: 284</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "l = 6 #m\n",
+ "D = 0.1 #m\n",
+ "P1_r = 3 #m\n",
+ "P2_r = 0.5 #m\n",
+ "z1 = 0 #m\n",
+ "z2 = 2 #m\n",
+ "\n",
+ "#calculations:\n",
+ "hL = P1_r - P2_r + z1 - z2\n",
+ "\n",
+ "#Results\n",
+ "print \"head loss in terms of height of water is\", hL, \"m\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "head loss in terms of height of water is 0.5 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 12.06, page: 284</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "z1 = 100 #m\n",
+ "V2 = 6 #m/s\n",
+ "g = 9.81 #m/s2\n",
+ "r = 9.8E3 #N/m3\n",
+ "D = 1 #m\n",
+ "\n",
+ "#calculations:\n",
+ "#Volumetric flow rate\n",
+ "Q = math.pi*D**2*V2/4\n",
+ "hL = 0 #no head loss\n",
+ "#turbine head\n",
+ "ht = z1 - (V2**2)/(2*g) - hL\n",
+ "#power output\n",
+ "Wtdot = r*Q*ht/1000\n",
+ "\n",
+ "#Results\n",
+ "print \"max power output is\", round(Wtdot,0),\"kW\" \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "max power output is 4533.0 kW\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 12.07, page: 285</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "Wpdot = 10 #hp\n",
+ "r = 62.4 #lbf/ft3\n",
+ "Q = 2 #ft3/s\n",
+ "z2 = 30 #ft\n",
+ "z1 = 0\n",
+ "\n",
+ "#calculations:\n",
+ "#pump head\n",
+ "hp = Wpdot*550/(r*Q)\n",
+ "#head Loss\n",
+ "hL = z1 - z2 + hp\n",
+ "#on a power basis, the head loss\n",
+ "hLp = r*Q*hL/550\n",
+ "\n",
+ "#Results\n",
+ "print \"head loss is\", round(hL,1),\"ft or\", round(hLp,2),\"hp\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "head loss is 14.1 ft or 3.19 hp\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 12.08, page: 286</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "A2 = 0.001 #m2\n",
+ "P1 = 1 #Mpa\n",
+ "P0 = 1 #Mpa\n",
+ "T1 = 360 #K\n",
+ "T0 = 360 #K\n",
+ "k = 1.4\n",
+ "Pb1 = 500 #kPa\n",
+ "Pb2 = 784 #kPa\n",
+ "V1 = 0\n",
+ "R = 8314/28.97 #J/kg-K\n",
+ "\n",
+ "#calculations:\n",
+ "Pcr = 0.528*P0*1000\n",
+ "if Pb1 < Pcr:\n",
+ " M1 = 1\n",
+ "\n",
+ "#exit Temp\n",
+ "T2 = T0/(1 + (k - 1)*M1**2/2)\n",
+ "#exit Velocity\n",
+ "V2 = M1*(k*R*T2)**0.5\n",
+ "#mass flow rate\n",
+ "mdot1 = Pcr*1000*A2*V2/(R*T2)\n",
+ "#Mach at 2\n",
+ "M2 = (2/(k - 1)*((P0*1E6/(Pb2*1E3))**((k-1)/k) - 1))**0.5\n",
+ "#exit Temp\n",
+ "T2 = T0/(1 + (k - 1)*M2**2/2)\n",
+ "#exit Velocity\n",
+ "V2 = M2*(k*R*T2)**0.5\n",
+ "#mass flow rate\n",
+ "mdot2 = Pb2*1000*A2*V2/(R*T2)\n",
+ "\n",
+ "#Results\n",
+ "print \"the mass flow rate and exit mach no at back pressure of 500 kPa are\",round(mdot1,2),\"kg/s and\", M1\n",
+ "print \"the mass flow rate and exit mach no at back pressure of 784 kPa are\",round(mdot2,2),\"kg/s and\", round(M2,1)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "the mass flow rate and exit mach no at back pressure of 500 kPa are 2.13 kg/s and 1\n",
+ "the mass flow rate and exit mach no at back pressure of 784 kPa are 1.79 kg/s and 0.6\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 12.09, page: 286</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "A2 = 2.4 #in2\n",
+ "P1 = 100 #lbf/in2\n",
+ "P0 = 100 #lbf/in2\n",
+ "T1 = 500 #degR\n",
+ "T0 = 500 #degR\n",
+ "At = 1 #in2\n",
+ "k = 1.4\n",
+ "V1 = 0\n",
+ "R = 1548/28.97 #ft.lbf/lb-degR\n",
+ "\n",
+ "#calculations:\n",
+ "#a)\n",
+ "#mach at throat\n",
+ "Mta = 0.7\n",
+ "#From Table 12.2\n",
+ "#At/A* = At_As\n",
+ "At_Asa = 1.09437\n",
+ "A2_Asa = A2*At_Asa/At\n",
+ "#from Table 12.2\n",
+ "M2a = 0.24\n",
+ "T2_T0a = 0.988\n",
+ "P2_P0a = 0.959\n",
+ "T2a = T0*T2_T0a\n",
+ "P2a = P0*P2_P0a\n",
+ "#velocity at exit\n",
+ "V2a = M2a*(k*R*T2a*32.2)**0.5\n",
+ "#mass flow rate\n",
+ "mdota = P2a*A2*V2a/(R*T2a)\n",
+ "\n",
+ "#b)\n",
+ "#from Table 12.2\n",
+ "M2b = 0.26\n",
+ "T2_T0b = 0.986\n",
+ "P2_P0b = 0.953\n",
+ "T2b = T0*T2_T0b\n",
+ "P2b = P0*P2_P0b\n",
+ "#velocity at exit\n",
+ "V2b = M2b*(k*R*T2b*32.2)**0.5\n",
+ "#mass flow rate\n",
+ "mdotb = P2b*A2*V2b/(R*T2b)\n",
+ "\n",
+ "#c)\n",
+ "#from Table 12.2\n",
+ "M2c = 2.4\n",
+ "P2_P0c = 0.0684\n",
+ "P2c = P0*P2_P0c\n",
+ "#mass flow rate (nozzle is choked same as b)\n",
+ "mdotc = mdotb\n",
+ "\n",
+ "#d)\n",
+ "#from Table 12.2\n",
+ "Mxd = 2.4\n",
+ "Pxd = 6.84 #lbf/in2\n",
+ "Myd = 0.52\n",
+ "M2d = Myd\n",
+ "Pyd = 6.5533*Pxd\n",
+ "P2d = Pyd\n",
+ "#mass flow rate (nozzle is choked same as b)\n",
+ "mdotd = mdotb\n",
+ "\n",
+ "#e)\n",
+ "Ax = 2 #in2\n",
+ "Axs = At\n",
+ "#from table 12.2\n",
+ "Ax_Axs = 2 #Ax/Ax*\n",
+ "Mxe = 2.2\n",
+ "#Poy/Pox\n",
+ "Poy_Pox = 0.62812\n",
+ "#A2/Ay*\n",
+ "A2_Ays = (A2/Axs)*Poy_Pox\n",
+ "M2e = 0.43\n",
+ "#P2/Poy\n",
+ "P2_Poy = 0.88\n",
+ "Pox = P0\n",
+ "P2e = P2_Poy*Poy_Pox*Pox\n",
+ "#mass flow rate (nozzle is choked same as b)\n",
+ "mdote = mdotb\n",
+ "\n",
+ "#Results\n",
+ "print \"a)the mass flow rate is\",round(mdota,2),\"lb/s or\", round(mdota/32.1740,4),\"slug/s, exit pressure is\",round(P2a,1),\"lbf/in2 and exit mach number is\",M2a\n",
+ "print \"b)the mass flow rate is\",round(mdotb,2),\"lb/s or\", round(mdotb/32.1740,4),\"slug/s, exit pressure is\",round(P2b,1),\"lbf/in2 and exit mach number is\",M2b\n",
+ "print \"c)the mass flow rate is\",round(mdotc,2),\"lb/s or\", round(mdotc/32.1740,4),\"slug/s, exit pressure is\",round(P2c,2),\"lbf/in2 and exit mach number is\",M2c\n",
+ "print \"d)the mass flow rate is\",round(mdotd,2),\"lb/s or\", round(mdotd/32.1740,4),\"slug/s, exit pressure is\",round(P2d,2),\"lbf/in2 and exit mach number is\",M2d\n",
+ "print \"e)the mass flow rate is\",round(mdote,2),\"lb/s or\", round(mdote/32.1740,4),\"slug/s, exit pressure is\",round(P2e,1),\"lbf/in2 and exit mach number is\",M2e\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a)the mass flow rate is 2.28 lb/s or 0.071 slug/s, exit pressure is 95.9 lbf/in2 and exit mach number is 0.24\n",
+ "b)the mass flow rate is 2.46 lb/s or 0.0765 slug/s, exit pressure is 95.3 lbf/in2 and exit mach number is 0.26\n",
+ "c)the mass flow rate is 2.46 lb/s or 0.0765 slug/s, exit pressure is 6.84 lbf/in2 and exit mach number is 2.4\n",
+ "d)the mass flow rate is 2.46 lb/s or 0.0765 slug/s, exit pressure is 44.82 lbf/in2 and exit mach number is 0.52\n",
+ "e)the mass flow rate is 2.46 lb/s or 0.0765 slug/s, exit pressure is 55.3 lbf/in2 and exit mach number is 0.43\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_13.ipynb b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_13.ipynb new file mode 100644 index 00000000..595587e6 --- /dev/null +++ b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_13.ipynb @@ -0,0 +1,67 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h1>Chapter 13: SIMILITUDE, DIMENSIONAL ANALYSIS, AND MODELING</h1>"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 13.02, page: 307</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "Dm = 8 #in\n",
+ "wm = 1200 #rev/min\n",
+ "Qm = 2.33 #ft3/s\n",
+ "pm = 1.94 #slug/ft3\n",
+ "Wpmdot = 12 #hp\n",
+ "D = 12 #in\n",
+ "w = 1000 #rev/min\n",
+ "\n",
+ "#calculations:\n",
+ "#the prototype volumetric flow rate\n",
+ "Q = Qm*(w/wm)*(D/Dm)**3\n",
+ "p = pm\n",
+ "#the prototype power\n",
+ "Wpdot = (p/pm)*(w/wm)**3*(D/Dm)**5*Wpmdot\n",
+ "\n",
+ "#Results\n",
+ "print \"the power required is\", round(Wpdot,1),\"hp\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "the power required is 52.7 hp\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_14.ipynb b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_14.ipynb new file mode 100644 index 00000000..f5b63e3d --- /dev/null +++ b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_14.ipynb @@ -0,0 +1,503 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h1>Chapter 14: INTERNAL AND EXTERNAL FLOW</h1>"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 14.01, page: 319</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "D = 4 #mm\n",
+ "V = 50 #m/s\n",
+ "l = 0.1 #m\n",
+ "p = 1.23 #kg/m3\n",
+ "mu = 1.79E-5 #Ns/m2\n",
+ "\n",
+ "#calculations:\n",
+ "#reynolds number\n",
+ "Re = p*V*(D/1000)/mu\n",
+ "#from table 14.1\n",
+ "e = 0.0015 #mm\n",
+ "#e/D\n",
+ "e_D = e/D\n",
+ "#from chart 14.7\n",
+ "f = 0.028\n",
+ "#pressure drop\n",
+ "dP = f*(l/(D/1000))*(p/2)*V**2/1000\n",
+ "\n",
+ "#Results\n",
+ "print \"the pressure drop is\",round(dP,3),\"kPa\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "the pressure drop is 1.076 kPa\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 14.02, page: 322</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "T = 60 #degF\n",
+ "p = 1.94 #slug/ft3\n",
+ "mu = 2.34E-5 #lbf.s/ft2\n",
+ "D = 0.0625 #ft\n",
+ "Q = 0.0267 #ft3/s\n",
+ "Df = 0.0417 #ft\n",
+ "z1 = 0 #ft\n",
+ "z2 = 20 #ft\n",
+ "P2 = 0 #gage\n",
+ "l13 = 15 #ft\n",
+ "l34 = 10 #ft\n",
+ "l45 = 5 #ft\n",
+ "l56 = 10 #ft\n",
+ "l67 = 10 #ft\n",
+ "l78 = 10 #ft\n",
+ "\n",
+ "#calculations:\n",
+ "#Area at 1\n",
+ "A1 = math.pi*D**2/4\n",
+ "#fluid vel in pipe\n",
+ "V1 = Q/A1\n",
+ "#reynolds number\n",
+ "Re = p*V1*D/mu\n",
+ "#area at 2\n",
+ "A2 = math.pi*Df**2/4\n",
+ "#velocity of stream exciting from faucet\n",
+ "V2 = Q/A2\n",
+ "r = 62.4 #lbf/ft3\n",
+ "#total length\n",
+ "l = l13 + l34 + l45 + l56 + l67 + l78\n",
+ "#from Moody chart\n",
+ "f = 0.0215\n",
+ "#pressure drop\n",
+ "P1 = (r*z2 + 0.5*p*(V2**2 - V1**2) + p*f*(l/D)*(V1**2/2))/144\n",
+ "#loss coeff\n",
+ "Kl = 4*1.5 + 10 + 2\n",
+ "#entire Pressure drop\n",
+ "P1 = P1 + p*(V1**2/2)*Kl/144\n",
+ "\n",
+ "#Results\n",
+ "print \"entire pressure drop is\", round(P1,1),\"Psi\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "entire pressure drop is 30.4 Psi\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 14.03, page: 324</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "T = 140 #degF\n",
+ "r = 53.7 #lbf/ft3\n",
+ "p = 1.67 #slug/ft3\n",
+ "mu = 8E-5 #lbf.s/ft2\n",
+ "l = 799 #mile\n",
+ "D = 4 #ft\n",
+ "Q = 117 #ft3/s\n",
+ "V = 9.31 #ft/s\n",
+ "g = 32.2 #ft/s2\n",
+ "\n",
+ "#calculations:\n",
+ "#reynolds number\n",
+ "Re = p*V*D/mu\n",
+ "#from fig 14.7\n",
+ "f = 0.0125\n",
+ "#pump head\n",
+ "hp = f*(l/D)*5280*(V**2/(2*g))\n",
+ "#power req\n",
+ "Wpdot = r*Q*hp/550\n",
+ "\n",
+ "#Results\n",
+ "print \"the power added to the fluid by the pumps that drive this system is\", round(Wpdot,0),\"hp\"\n",
+ "#answer wrong in book\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "the power added to the fluid by the pumps that drive this system is 202694.0 hp\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 14.04, page: 325</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "P1_rw = 0.2 #P1/rH2O in inch\n",
+ "V1 = 0\n",
+ "g = 32.2 #ft/s2\n",
+ "l = 20 #ft\n",
+ "D = 4 #in\n",
+ "P2 = 0\n",
+ "rair = 0.0709 #lbf/ft3\n",
+ "vair = 1.79E-4 #ft2/s\n",
+ "rw = 62.4 #lbf/ft2\n",
+ "\n",
+ "#calculations:\n",
+ "#loss coeffs\n",
+ "KLent = 0.5 #entrance\n",
+ "KLelb = 1.5 #elbow\n",
+ "KL = KLent + 4*KLelb\n",
+ "#P1\n",
+ "P1 = P1_rw/12*rw\n",
+ "#assumption\n",
+ "f = 0.022\n",
+ "V = ((P1/rair)*2*g/(1 + (l*f/(D/12)) + KL))**0.5\n",
+ "#reynolds number\n",
+ "Re = V*D/(vair*12)\n",
+ "#Area\n",
+ "A = math.pi/4*(D/12)**2\n",
+ "#volumetric flow rate\n",
+ "Q = A*V\n",
+ "\n",
+ "#Results\n",
+ "print \"Volumetric flow rate is\", round(Q,3),\"ft3/s\"\n",
+ "#answer wrong in book\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Volumetric flow rate is 0.903 ft3/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 14.05, page: 325</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "D = 60 #mm\n",
+ "d = 30 #mm\n",
+ "dP = 4 #kPa\n",
+ "mu = 1.19E-3 #N.s/m2\n",
+ "p = 789 #kg/m3\n",
+ "\n",
+ "#calculations:\n",
+ "#area\n",
+ "Ao = math.pi*(d/1000)**2/4\n",
+ "b = d/D\n",
+ "#at this b,\n",
+ "Co = 0.613\n",
+ "#from fig 14.10 and Re at this value of b, we get\n",
+ "#volumetric flow rate\n",
+ "Q = Co*Ao*(2*dP*1000/(p*(1 - b**4)))**0.5\n",
+ "\n",
+ "#Results\n",
+ "print \"Volumetric flow rate is\", round(Q,5),\"m3/s\"\n",
+ "#answer wrong in book\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Volumetric flow rate is 0.00142 m3/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 14.06, page: 327</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "U = 10 #ft/s\n",
+ "Tw = 60 #degF\n",
+ "Tg = 68 #degF\n",
+ "Rexc = 5E5\n",
+ "vW = 1.21E-5 #ft2/s\n",
+ "vA = 1.57E-4 #ft2/s\n",
+ "vG = 1.28E-2 #ft2/s\n",
+ "\n",
+ "#calculations:\n",
+ "#water\n",
+ "Xc_W = vW*Rexc/U\n",
+ "dXc_W = 5*(vW*Xc_W/U)**0.5\n",
+ "#air\n",
+ "Xc_A = vA*Rexc/U\n",
+ "dXc_A = 5*(vA*Xc_A/U)**0.5\n",
+ "#glycerin\n",
+ "Xc_G = vG*Rexc/U\n",
+ "dXc_G = 5*(vG*Xc_G/U)**0.5\n",
+ "\n",
+ "#Results\n",
+ "print \" Fluid\\t\\t v(ft2/s)\\t\\t Xc(ft)\\t\\t d(Xc)(ft)\"\n",
+ "print \"a)Water\\t\\t\",vW,\"\\t\\t \",round(Xc_W,3),\"\\t \", round(dXc_W,5)\n",
+ "print \"b)Air\\t\\t\",vA,\"\\t\\t \",round(Xc_A,2),\"\\t\\t \", round(dXc_A,4)\n",
+ "print \"c)Glycerin\\t\",vG,\"\\t\\t\\t \",round(Xc_G,0),\"\\t \", round(dXc_G,2)\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " Fluid\t\t v(ft2/s)\t\t Xc(ft)\t\t d(Xc)(ft)\n",
+ "a)Water\t\t1.21e-05 \t\t 0.605 \t 0.00428\n",
+ "b)Air\t\t0.000157 \t\t 7.85 \t\t 0.0555\n",
+ "c)Glycerin\t0.0128 \t\t\t 640.0 \t 4.53\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 14.07, page: 329</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "l = 8 #ft\n",
+ "b = 4 #ft\n",
+ "U = 80.7 #ft/s\n",
+ "e = 0.003 #ft\n",
+ "p = 0.00238 #slug/ft3\n",
+ "mu = 3.74E-7 #lbf.s/ft2\n",
+ "\n",
+ "#calculations:\n",
+ "A = l*b\n",
+ "#reynolds number\n",
+ "Re = p*U*l/mu\n",
+ "#e_D = e/D\n",
+ "e_D = e/l\n",
+ "#from fig 14.14\n",
+ "Cd = 0.0066\n",
+ "#fraction drag\n",
+ "D = 0.5*p*U**2*l*b*Cd\n",
+ "\n",
+ "#Results\n",
+ "print \"the drag on the top surface of the plywood is\", round(D,2),\"lbf\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "the drag on the top surface of the plywood is 1.64 lbf\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 14.08, page: 334</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "U = 95.3 #ft/s\n",
+ "Cd1940 = 0.55\n",
+ "b1940 = 5.2 #ft\n",
+ "h1940 = 5.1 #ft\n",
+ "Cd2003 = 0.30\n",
+ "b2003 = 5.2 #ft\n",
+ "h2003 = 4.3 #ft\n",
+ "p = 0.00238 #slug/ft3\n",
+ "\n",
+ "#calculations:\n",
+ "#Area\n",
+ "A1940 = b1940*h1940\n",
+ "A2003 = b2003*h2003\n",
+ "#Drag\n",
+ "D1940 = 0.5*p*U**2*A1940*Cd1940\n",
+ "D2003 = 0.5*p*U**2*A2003*Cd2003\n",
+ "#Power required\n",
+ "W1940dot = U*D1940/550\n",
+ "W2003dot = U*D2003/550\n",
+ "\n",
+ "#Results\n",
+ "print \"drag force on 1940 car is\",round(D1940,0),\"lbf and on 2003 is\",round(D2003,1),\"lbf\"\n",
+ "print \"power required to overcome drag force by 1940 car is\",round(W1940dot,1),\"hp and by 2003 car is\",round(W2003dot,1),\"hp\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "drag force on 1940 car is 158.0 lbf and on 2003 is 72.5 lbf\n",
+ "power required to overcome drag force by 1940 car is 27.3 hp and by 2003 car is 12.6 hp\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 14.09, page: 336</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "b = 96 #ft\n",
+ "c = 7.5 #ft\n",
+ "W = 210 #lbf\n",
+ "U = 15 #ft/s\n",
+ "d = 0.5 #mi\n",
+ "p = 0.00238 #slug/ft3\n",
+ "\n",
+ "#calculations:\n",
+ "#area\n",
+ "A = b*c\n",
+ "#lift coeff\n",
+ "CL = 2*W/(p*U**2*A)\n",
+ "\n",
+ "#Results\n",
+ "print \"coeff. of lift is\",round(CL,2)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "coeff. of lift is 1.09\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_15.ipynb b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_15.ipynb new file mode 100644 index 00000000..af9cb342 --- /dev/null +++ b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_15.ipynb @@ -0,0 +1,200 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h1>Chapter 15: GETTING STARTED IN HEAT TRANSFER: MODES, RATE EQUATIONS AND ENERGY BALANCES</h1>"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 15.01, page: 343</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "k = 1.7 #W/m.K\n",
+ "T1 = 1400 #K\n",
+ "T2 = 1150 #K\n",
+ "L = 0.15 #m\n",
+ "W = 1.2 #m\n",
+ "H = 0.5 #m\n",
+ "\n",
+ "#calculations:\n",
+ "qx2 = k*(T1-T2)/L\n",
+ "#heat flux\n",
+ "qx = H*W*qx2\n",
+ "\n",
+ "#Results\n",
+ "print \"the rate of heat transfer through a wall is\", qx,\"W\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "the rate of heat transfer through a wall is 1700.0 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 15.02, page: 347</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "Tinf = 25 #degC\n",
+ "h = 15 #W/m2.K\n",
+ "D = 70 #mm\n",
+ "Ts = 200 #degC\n",
+ "e = 0.8\n",
+ "Tsur = 25 #degC\n",
+ "sigma = 5.67E-8 #W/m2.K4\n",
+ "\n",
+ "#calculations:\n",
+ "E = e*sigma*(Ts + 273)**4\n",
+ "G = sigma*(Tsur + 273)**4\n",
+ "#heat transfer per Unit length\n",
+ "q1 = h*(math.pi*D/1000)*(Ts - Tinf) + e*(math.pi*D/1000)*sigma*((Ts+273)**4 - (Tsur+273)**4)\n",
+ "\n",
+ "#Results\n",
+ "print \"Emissive Power, E =\", round(E,0),\"W/m2\"\n",
+ "print \"Irradiation, G =\", round(G,0),\"W/m2\"\n",
+ "print \"Heat transfer per unit length, q' = \", round(q1,0),\"W/m\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Emissive Power, E = 2270.0 W/m2\n",
+ "Irradiation, G = 447.0 W/m2\n",
+ "Heat transfer per unit length, q' = 998.0 W/m\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 15.05, page: 352</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "k = 1.2 #W/m.K\n",
+ "T2 = 100 #degC\n",
+ "e = 0.8\n",
+ "L = 0.15 #m\n",
+ "Tinf = 25 #degC\n",
+ "Tsur = 25 #degC\n",
+ "h = 20 #W/m2.K\n",
+ "sigma = 5.67E-8 #W/m2.K4\n",
+ "\n",
+ "#calculations:\n",
+ "#inner wall temperature\n",
+ "T1 = T2 + 273 + L/k*(h*(T2 - Tinf) + e*sigma*((T2+273)**4 - (Tsur+273)**4))\n",
+ "\n",
+ "#Results\n",
+ "print \"inner wall temperature is\", round(T1,0),\"K\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "inner wall temperature is 626.0 K\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 15.06, page: 353</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "Tsur = 30 #degC\n",
+ "Tinf = 20 #degC\n",
+ "h = 15 #W/m2.K\n",
+ "Glamp = 2000 #W/m2\n",
+ "alamp = 0.8\n",
+ "e = 0.5\n",
+ "sigma = 5.67E-8 #W/m2.K4\n",
+ "\n",
+ "#calculations:\n",
+ "#coating Temp\n",
+ "Ts = Tinf + 273 + (alamp*Glamp - e*sigma*((104+273)**4 - (Tsur+273)**4))/h\n",
+ "\n",
+ "#Results\n",
+ "print \"coating Temperature is\", round(Ts,0),\"K\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "coating Temperature is 377.0 K\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_16.ipynb b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_16.ipynb new file mode 100644 index 00000000..647d0ebb --- /dev/null +++ b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_16.ipynb @@ -0,0 +1,701 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h1>Chapter 16: HEAT TRANSFER BY CONDUCTION</h1>"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 16.01, page: 367</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "Tsi = 385 #degC\n",
+ "Ka = 0.15 #W/m.K\n",
+ "Kb = 0.08 #W/m2.K\n",
+ "Tinf = 25 #degC\n",
+ "ho = 25 #W/m2.K\n",
+ "Tso = 50 #degC\n",
+ "x = 2\n",
+ "\n",
+ "#calculations:\n",
+ "#La\n",
+ "La = (Tsi - Tso)/(Tso - Tinf)/ho*Ka*Kb*2/(2*Kb + Ka)\n",
+ "#Lb\n",
+ "Lb = La/2\n",
+ "#required thickness for the composite window\n",
+ "L = La + Lb\n",
+ "\n",
+ "#Results\n",
+ "print \"required thickness of composite window is\", round(L,4),\"m\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "required thickness of composite window is 0.0622 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 16.02, page: 368</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "Tinf = 25 #degC\n",
+ "h = 100 #W/m2.K\n",
+ "Rtc2 = 0.9E-4 #m2.K/W\n",
+ "Pe2 = 10000 #W/m2\n",
+ "L = 8 #mm\n",
+ "k = 238 #W/m.K\n",
+ "\n",
+ "#calculations:\n",
+ "Tc = Tinf + Pe2/(h + 1/(Rtc2 + L*1E-3/k + 1/h))\n",
+ "\n",
+ "#Results\n",
+ "print \"maximum allowable temperature is\",round(Tc,1),\"degC\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "maximum allowable temperature is 75.3 degC\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 16.03, page: 372</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "Tinf2 = 300 #K\n",
+ "h = 20 #W/m2.K\n",
+ "Tinf1 = 77 #K\n",
+ "p = 804 #kg/m3\n",
+ "hfg = 2E5 #J/kg\n",
+ "r1 = 0.25 #m\n",
+ "r2 = 0.275 #m\n",
+ "k = 0.0017 #W/m.K\n",
+ "\n",
+ "#calculations:\n",
+ "#resistances due to conduction\n",
+ "Rtcond = 1/(4*math.pi*k)*(1/r1 - 1/r2)\n",
+ "#resistances due to convection\n",
+ "Rtconv = 1/(h*4*math.pi*r2**2)\n",
+ "#rate of heat transfer to the liquid nitrogen\n",
+ "q = (Tinf2 - Tinf1)/(Rtcond - Rtconv)\n",
+ "#volumetric mass rate of nitrogen boil-off per day\n",
+ "mdotp = q/hfg*3600*24/p*1000\n",
+ "\n",
+ "#Results\n",
+ "print \"a) heat transfer is\", round(q,2),\"W\"\n",
+ "print \"b) rate of nitrogen boil-off is\", round(mdotp,0),\"liters/day\" \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a) heat transfer is 13.14 W\n",
+ "b) rate of nitrogen boil-off is 7.0 liters/day\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 16.04, page: 375</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "qadot = 1.5E6 #W/m3\n",
+ "ka = 75 #W/m.K\n",
+ "La = 50 #mm\n",
+ "Lb = 20 #mm\n",
+ "kb = 150 #W/m.K\n",
+ "qbdot = 0\n",
+ "Tinf = 30 #degC\n",
+ "h = 1000 #W/m2.K\n",
+ "\n",
+ "#calculations:\n",
+ "#outer surface temperature\n",
+ "T2 = Tinf + qadot*La*1E-3/h\n",
+ "#resistance (conduction and converction):\n",
+ "RcondB2 = Lb*1E-3/kb\n",
+ "Rconv2 = 1/h\n",
+ "q2 = qadot*La*1E-3\n",
+ "#temperature at the composite interface\n",
+ "T1 = Tinf + (RcondB2 + Rconv2)*q2\n",
+ "#the inner surface temperature of the composite\n",
+ "To = qadot*(La*1E-3)**2/(2*ka) + T1\n",
+ "\n",
+ "#Results\n",
+ "print \"Inner and outer surface temperatures of the composite are\", To,\"degC and\", T2,\"degC respectively\" \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Inner and outer surface temperatures of the composite are 140.0 degC and 105.0 degC respectively\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 16.05, page: 378</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "Tinf = 25 #degC\n",
+ "r2 = 250 #mm\n",
+ "r1 = 200 #mm\n",
+ "kss = 15 #W/m.K\n",
+ "krw = 20 #W/m.K\n",
+ "qdot = 1E5 #W/m3\n",
+ "h = 500 #W/m2.K\n",
+ "\n",
+ "#calculations:\n",
+ "#the tube wall conduction and convection resistances\n",
+ "Rcond1 = math.log(r2/r1)/(2*math.pi*kss)\n",
+ "Rconv1 = 1/(h*2*math.pi*r2*1E-3)\n",
+ "#heat rate per unit length\n",
+ "q1 = qdot*math.pi*(r2*1E-3)**2\n",
+ "#waste surface temperature\n",
+ "Ts1 = Tinf + q1*(Rcond1 + Rconv1)\n",
+ "#the centerline temperature\n",
+ "To = qdot*(r1*1E-3)**2/(4*krw) + Ts1\n",
+ "\n",
+ "#Results\n",
+ "print \"Maximum temperature in the system is\", round(To,0),\"degC\"\n",
+ "#answer wrong in book\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum temperature in the system is 146.0 degC\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 16.06, page: 381</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "#from pylab import *\n",
+ "%pylab inline\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "Tinf = 25 #degC\n",
+ "h = 100 #W/m2.K\n",
+ "D = 5 #mm\n",
+ "Tb = 100 #degC\n",
+ "\n",
+ "#calculations:\n",
+ "#from Table HT-1\n",
+ "kcu = 398 #W/m.K\n",
+ "kal = 180 #W/m.K\n",
+ "kss = 14 #W/m.K\n",
+ "#m\n",
+ "mcu = (4*h/(kcu*D*1E-3))**0.5\n",
+ "mal = (4*h/(kal*D*1E-3))**0.5\n",
+ "mss = (4*h/(kss*D*1E-3))**0.5\n",
+ "\n",
+ "#creating empty lists for plotting\n",
+ "x =[]\n",
+ "Tcu =[]\n",
+ "Tal =[]\n",
+ "Tss =[]\n",
+ "\n",
+ "for h in range(3000):\n",
+ " x.append((h-1)/10)\n",
+ " k = (h-1)/10\n",
+ " #Temp profile\n",
+ " Tcu.append(Tinf + (Tb - Tinf)*math.e**-(mcu*k/1000))\n",
+ " Tal.append(Tinf + (Tb - Tinf)*math.e**-(mal*k/1000))\n",
+ " Tss.append(Tinf + (Tb - Tinf)*math.e**-(mss*k/1000))\n",
+ " \n",
+ "# plots\n",
+ "fig = plt.figure()\n",
+ "ax = fig.add_subplot(1, 1, 1)\n",
+ "ax.plot(x,Tcu,'.')\n",
+ "ax.plot(x,Tal,'.')\n",
+ "ax.plot(x,Tss,'.')\n",
+ "ax.legend('CAS')\n",
+ "xlabel('x(mm)')\n",
+ "ylabel('T (degC)')\n",
+ "title('Temperature distribution along the fin')\n",
+ "show()\n",
+ "\n",
+ "#fin heat rate\n",
+ "qfcu = (h*math.pi*D*1E-3*kcu*math.pi/4*(D*1E-3)**2)**0.5*(Tb - Tinf)\n",
+ "qfal = (h*math.pi*D*1E-3*kal*math.pi/4*(D*1E-3)**2)**0.5*(Tb - Tinf)\n",
+ "qfss = (h*math.pi*D*1E-3*kss*math.pi/4*(D*1E-3)**2)**0.5*(Tb - Tinf)\n",
+ "\n",
+ "#length\n",
+ "Lcu = 2.65*((kcu*(math.pi*(D*1E-3)**2)/4)/(h*math.pi*D*1E-3))**0.5\n",
+ "Lal = 2.65*(kal*math.pi/4*(D*1E-3)**2/(h*math.pi*D*1E-3))**0.5\n",
+ "Lss = 2.65*(kss*math.pi/4*(D*1E-3)**2/(h*math.pi*D*1E-3))**0.5\n",
+ "\n",
+ "#results\n",
+ "print \"a) fin heat rate for copper is\", round(qfcu,1),\"W, for Aluminium is\", round(qfal,1),\"W and for Stainless Steel is\", round(qfss,1),\"W\"\n",
+ "print \"b) length for copper >=\", round(Lcu*1000,3),\"mm, for Aluminium >=\",round(Lal*1000,0),\"mm and for Stainless Stell >=\", round(Lss*1000,0),\"mm\"\n",
+ "\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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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x76e5ba8>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a) fin heat rate for copper is 45.5 W, for Aluminium is 30.6 W and for Stainless Steel is 8.5 W\n",
+ "b) length for copper >= 34.131 mm, for Aluminium >= 23.0 mm and for Stainless Stell >= 6.0 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 16.07, page: 384</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "t = 0.7 #mm\n",
+ "Tinf = 20 #degC\n",
+ "h = 25 #W/m2.K\n",
+ "T1 = 80 #degC\n",
+ "Rtc2 = 1E-3 #m2.K/W\n",
+ "r1 = 2 #mm\n",
+ "r2 = 3 #mm\n",
+ "r3 = 13 #mm\n",
+ "H = 6 #mm\n",
+ "k = 200 #W/m.K\n",
+ "\n",
+ "#calculations:\n",
+ "#Thermal resistances associated with the contact joint and sleeve\n",
+ "Rtc = Rtc2/(2*math.pi*r1*1E-3*H*1E-3)\n",
+ "Rtsleeve = math.log(r2/r1)/(2*math.pi*H*1E-3*k)\n",
+ "#P, Ac\n",
+ "P = 2*(H+t)*1E-3\n",
+ "Ac = t*H*1E-6\n",
+ "#m, L\n",
+ "m = (h*P/(k*Ac))**0.5\n",
+ "L = r3 - r2\n",
+ "#the thermal resistance for a single fin\n",
+ "Rtf = ((h*P*k*Ac)**0.5*(math.sinh(m*L*1E-3) + h/(m*k)*math.cosh(m*L*1E-3))/(math.cosh(m*L*1E-3) + h/(m*k)*math.sinh(m*L*1E-3)))**-1\n",
+ "#thermal resistance of 12 fins\n",
+ "Rtf12 = Rtf/12\n",
+ "#the thermal resistance due to convection\n",
+ "Rtb = 1/(h*(2*math.pi*r2*1E-3 - 12*t*1E-3)*H*1E-3)\n",
+ "#the equivalent resistance is\n",
+ "Requiv = (1/Rtf12 + 1/Rtb)**-1\n",
+ "#total resistance of the finned sleeve\n",
+ "Rtot = Rtc + Rtsleeve + Requiv\n",
+ "#heat transfer rate from the sleeve\n",
+ "qt = (T1-Tinf)/Rtot\n",
+ "\n",
+ "#Results\n",
+ "print \"heat transfer rate is\", round(qt,2),\"W\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "heat transfer rate is 1.63 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 16.08, page: 390</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "Tinf = 20 #degC\n",
+ "h = 25 #W/m2.K\n",
+ "Ti = 225 #degC\n",
+ "D = 12.5 #mm\n",
+ "t = 6 #min\n",
+ "\n",
+ "#calculations:\n",
+ "#from Table HT-2\n",
+ "p = 2225 #kg/m3\n",
+ "c = 835 #J/kg\n",
+ "k = 1.4 #W/m.K\n",
+ "#the characteristic length of the spherical bead\n",
+ "Lc = D*1E-3/6\n",
+ "#Biot num\n",
+ "Bi = h*Lc/k\n",
+ "#temperature T(t) after 6 min\n",
+ "Tt = Tinf + (Ti - Tinf)*math.e**(-1*h*t*60/(p*Lc*c))\n",
+ "\n",
+ "#Results\n",
+ "print \"temperature after 6 min is\", round(Tt,0),\"degC\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "temperature after 6 min is 40.0 degC\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 16.09, page: 390</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "e = 0.8\n",
+ "h = 40 #W/m2.K\n",
+ "Tinf = 175 #degC\n",
+ "Ti = 25 #degC\n",
+ "L = 1.5 #mm\n",
+ "Tsur = 175 #degC\n",
+ "Tc = 150 #degC\n",
+ "t = 5\n",
+ "\n",
+ "#calculations:\n",
+ "k = 177 #W/m.K\n",
+ "hrad = 12 #W/m2.K\n",
+ "p = 2770 #kg/m3\n",
+ "c = 875 #J/kg\n",
+ "\n",
+ "#biot num\n",
+ "Bi = (h + hrad)*L*1E-3/k\n",
+ "#time required for the panel to reach the cure temperature\n",
+ "tc = (p*L*1E-3*c/(h+hrad))*math.log((Ti-Tinf)/(Tc - Tinf))\n",
+ "#total time to complete the 5-min duration cure\n",
+ "tc = tc + t*60\n",
+ "\n",
+ "#Results\n",
+ "print \"Elapsed time for completion of the cure process, tc =\", round(tc,0),\"sec\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Elapsed time for completion of the cure process, tc = 425.0 sec\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 16.10, page: 394</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "L = 25 #mm\n",
+ "Tinf = 175 #degC\n",
+ "h = 100 #W/m2.K\n",
+ "Ti = 25 #degC\n",
+ "p = 2325 #kg/m3\n",
+ "c = 800 #J/kg\n",
+ "k = 1.0 #W/m.K\n",
+ "t = 10 #min\n",
+ "\n",
+ "#calculations:\n",
+ "a = k/(p*c)\n",
+ "#a) at t = 10 min\n",
+ "Bi = h*L*1E-3/k\n",
+ "Fo = a*t*60/(L*1E-3)**2\n",
+ "#b)\n",
+ "zeta = 1.1347\n",
+ "C = 1.1949\n",
+ "theta0_s = C*math.e**(-1*Fo*zeta**2)\n",
+ "#midplane temperature\n",
+ "T0_10 = Tinf + theta0_s*(Ti-Tinf)\n",
+ "#surface temperature\n",
+ "theta_s = theta0_s*math.cos(zeta*1)\n",
+ "TL_10 = Tinf + theta_s*(Ti - Tinf)\n",
+ "#c)\n",
+ "#Heat transfer to the slab outer surface\n",
+ "qL2 = h*(TL_10 - Tinf)\n",
+ "#d)\n",
+ "#the energy per unit surface area is\n",
+ "Q2 = (1 - math.sin(zeta)*theta0_s/zeta)*p*c*L*1E-3*(Ti-Tinf)\n",
+ "\n",
+ "#Results\n",
+ "print \"a) Biot and Fourier numbers after 10 min are\",round(Bi,2),\"and\", round(Fo,3),\"respectively\"\n",
+ "print \"b) Slab midplane and surface temperatures after 10 min is\", round(T0_10,0),\"degC\"\n",
+ "print \"c) Heat flux to the slab at 10 min is\", round(qL2,0),\"W/m2\"#answer wrong in book\n",
+ "print \"d) Energy transferred to the slab per unit surface area after 10 min is\", round(Q2,0),\"J/m2\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a) Biot and Fourier numbers after 10 min are 2.5 and 0.516 respectively\n",
+ "b) Slab midplane and surface temperatures after 10 min is 83.0 degC\n",
+ "c) Heat flux to the slab at 10 min is -3895.0 W/m2\n",
+ "d) Energy transferred to the slab per unit surface area after 10 min is -3549589.0 J/m2\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 16.11, page: 395</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "Tinf = 20 #degC\n",
+ "h = 6000 #W/m2.K\n",
+ "Ti = 400 #degC\n",
+ "T0_tc = 50 #degC\n",
+ "r0 = 5 #mm\n",
+ "p = 3000 #kg/m3\n",
+ "c = 1000 #J/kg\n",
+ "k = 20 #W/m.K\n",
+ "a = 6.66E-6 #m2/s\n",
+ "\n",
+ "#calculations:\n",
+ "#biot num\n",
+ "Bilcm = h*(r0/3*1E-3)/k\n",
+ "Bi = h*r0*1E-3/k\n",
+ "#from Table 16.6\n",
+ "zeta = 1.8\n",
+ "C = 1.376\n",
+ "#Fourier number\n",
+ "Fo = -1/zeta**2*math.log(1/C*(T0_tc - Tinf)/(Ti - Tinf))\n",
+ "#center termperature\n",
+ "tc = Fo*(r0*1E-3)**2/a\n",
+ "\n",
+ "#Results\n",
+ "print \"Time tc required to satisfy the cooling requirement is\", round(tc,1),\"s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Time tc required to satisfy the cooling requirement is 3.3 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 16.12, page: 395</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "Ts = -15 #degC\n",
+ "Ti = 20 #degC\n",
+ "Txm_t = 0#degC\n",
+ "p = 2050 #kg/m3\n",
+ "c = 1840 #J/kg\n",
+ "k = 0.52 #W/m.K\n",
+ "t = 60 #days\n",
+ "\n",
+ "#calculations:\n",
+ "a = k/(p*c)\n",
+ "LHS = (Txm_t - Ts)/(Ti - Ts)\n",
+ "#from Appendix HT-6\n",
+ "#if erf(z) = LHS then\n",
+ "z = 0.4\n",
+ "#minimum depth to avoid freezing\n",
+ "xm = 2*(a*t*3600*24)**0.5*z\n",
+ "\n",
+ "#Results\n",
+ "print \"Minimum pipe depth to avoid freezing is\", round(xm,2),\"m\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Minimum pipe depth to avoid freezing is 0.68 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_17.ipynb b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_17.ipynb new file mode 100644 index 00000000..cbc8fc0b --- /dev/null +++ b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_17.ipynb @@ -0,0 +1,834 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h1>Chapter 17: HEAT TRANSFER BY CONVECTION</h1>"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 17.01, page: 408</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "from scipy import integrate\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "\n",
+ "#calculations:\n",
+ "x2 = lambda x: x**-0.1\n",
+ "ratio = integrate.quad(x2,0,1)\n",
+ "\n",
+ "#Results\n",
+ "print \"The ratio of the average heat transfer coefficient is\", round(ratio[0],2)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The ratio of the average heat transfer coefficient is 1.11\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 17.02, page: 415</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "Tinf = 300 #degC\n",
+ "uinf = 10 #m/s\n",
+ "L = 0.5 #m\n",
+ "Ts = 27 #degC\n",
+ "\n",
+ "#calculations:\n",
+ "#from Table HT-3\n",
+ "Tf = 437 #K\n",
+ "P = 1 #atm\n",
+ "v = 30.84E-6 #m2/s\n",
+ "k = 36.4E-3 #W/m.K\n",
+ "Pr = 0.687\n",
+ "#Reynolds number\n",
+ "ReL = uinf*L/v\n",
+ "#Correlation\n",
+ "NuL = 0.664*ReL**0.5*Pr**(1/3)\n",
+ "#average convection coefficient\n",
+ "hbar = NuL*k/L\n",
+ "#cooling rate per unit width of plate\n",
+ "q1 = hbar*L*(Tinf - Ts)\n",
+ "\n",
+ "#Result\n",
+ "print \"cooling rate per unit width of plate is\", round(q1,0),\"W/m\"\n",
+ "#answer wrong in book\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "cooling rate per unit width of plate is 2344.0 W/m\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 17.03, page: 416</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "Tinf = 25 #degC\n",
+ "uinf = 60 #m/s\n",
+ "Ts = 230 #degC\n",
+ "d = 50 #mm\n",
+ "L4 = 200 #mm\n",
+ "L5 = 250 #mm\n",
+ "\n",
+ "#calculations:\n",
+ "#from Table HT-3\n",
+ "Tf = 400 #K\n",
+ "P = 1 #atm\n",
+ "v = 26.41E-6 #m2/s\n",
+ "k = 0.0338 #W/m\n",
+ "Pr = 0.690\n",
+ "#reynolds num\n",
+ "Re4 = uinf*L4*1E-3/v\n",
+ "Re5 = uinf*L5*1E-3/v\n",
+ "#\n",
+ "h14bar = 0.664*Re4**0.5*Pr**(1/3)*k/(L4*1E-3)\n",
+ "h15bar = k*(0.037*Re5**0.8 - 871)*Pr**(1/3)/(L5*1E-3)\n",
+ "#the electrical power required\n",
+ "qconv5 = (h15bar*L5*1E-3 - h14bar*L4*1E-3)*1*(Ts - Tinf)\n",
+ "\n",
+ "#Results\n",
+ "print \"Electrical power required for the fifth heater is\", round(qconv5,0),\"W\"\n",
+ "#answer wrong in book\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Electrical power required for the fifth heater is 1018.0 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 17.04, page: 419</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Initialization of Variable\n",
+ "Tinf = 26.2 #degC\n",
+ "uinf = 10 #m/s\n",
+ "Ts = 128.4 #degC\n",
+ "Pe = 46.0 #W\n",
+ "qconv = 0.85*Pe\n",
+ "D = 12.7 #mm\n",
+ "L = 94 #mm\n",
+ "\n",
+ "#calculations:\n",
+ "#From Table HT-3\n",
+ "Tf = 350 #K\n",
+ "v = 20.92E-6 #m2/s\n",
+ "k = 30E-3 #W/m.K\n",
+ "Pr = 0.7\n",
+ "#Area\n",
+ "A = math.pi*D*L*1E-6\n",
+ "#convection heat transfer coefficient\n",
+ "hbar1 = qconv/(A*(Ts - Tinf))\n",
+ "#reynolds num\n",
+ "ReD = uinf*D*1E-3/v\n",
+ "#Churchill-Bernstein correlation\n",
+ "NuDbar = 0.3 + 0.62*ReD**0.5*Pr**(1/3)/(1 + (0.4/Pr)**(2/3))**0.25*(1 + (ReD/282000)**(5/8))**0.8\n",
+ "#the convection coefficient\n",
+ "hbar2 = NuDbar*k/(D*1E-3)\n",
+ "\n",
+ "#Results\n",
+ "print \"Convection coefficient associated with the operating condition is\",round(hbar1,0),\"W/m2.K\"\n",
+ "print \"Convection coefficient from an appropriate correlation is\", round(hbar2,0),\"W/m2.K\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Convection coefficient associated with the operating condition is 102.0 W/m2.K\n",
+ "Convection coefficient from an appropriate correlation is 96.0 W/m2.K\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 17.05, page: 421</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "Pinf = 1 #atm\n",
+ "uinf = 10 #m/s\n",
+ "Tinf = 23 #degC\n",
+ "D = 10 #mm\n",
+ "Ti = 75 #degC\n",
+ "Tt = 35 #degC\n",
+ "\n",
+ "#calculations:\n",
+ "#from Table HT-1\n",
+ "pcu = 8933 #kg/m3\n",
+ "ccu = 387 #J/kg.K\n",
+ "kcu = 399 #W/m.K\n",
+ "#from Table HT-3\n",
+ "muTinf = 181.6E-7 #Ns/m2\n",
+ "v = 15.36E-6 #m2/s\n",
+ "k = 0.0258 #W/m.K\n",
+ "Pr = 0.709\n",
+ "muTs = 197.8E-7 #N.s/m2\n",
+ "#reynolds Num\n",
+ "ReD = uinf*D*1E-3/v\n",
+ "#the average convection coefficient\n",
+ "NuDbar = 2 + (0.4*ReD**0.5 + 0.06*ReD**(2/3))*Pr**0.4*(muTinf/muTs)**0.25\n",
+ "hbar = NuDbar*k/D/1E-3\n",
+ "#time\n",
+ "t = pcu*ccu*D*1E-3/6/hbar*math.log((Ti - Tinf)/(Tt - Tinf))\n",
+ "\n",
+ "#Results\n",
+ "print \"cooling time required is\", round(t,1),\"s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "cooling time required is 69.1 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 17.06, page: 429</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "mdot = 0.1 #kg/s\n",
+ "D0 = 0.040 #m\n",
+ "Di = 0.020 #m\n",
+ "Tmi = 20 #degC\n",
+ "qdot = 1E6 #W/m3\n",
+ "Ts0 = 70 #degC\n",
+ "Tm0 = 60 #degC\n",
+ "\n",
+ "#calculations:\n",
+ "#from Table HT-5\n",
+ "Cp = 4179 #J/kg.K\n",
+ "mu = 6.57E-4 #N.s/m2\n",
+ "#required tube length\n",
+ "L = 4*mdot*Cp*(Tm0 - Tmi)/(math.pi*(D0**2 - Di**2)*qdot)\n",
+ "#Reynolds num\n",
+ "ReD = 4*mdot/math.pi/Di/mu\n",
+ "#local coefficient at the outlet\n",
+ "qs2 = qdot*(D0**2 - Di**2)/4/Di\n",
+ "h0 = qs2/(Ts0 - Tm0)\n",
+ "\n",
+ "#Results\n",
+ "print \"tube length is\", round(L,1),\"m\"\n",
+ "print \"reynolds number is\", round(ReD,0),\",the flow is fully turbulant\"\n",
+ "print \"local convection coefficient at outlet is\", round(h0,0),\"W/m2.K\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "tube length is 17.7 m\n",
+ "reynolds number is 9690.0 ,the flow is fully turbulant\n",
+ "local convection coefficient at outlet is 1500.0 W/m2.K\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 17.07, page: 432</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "mdot = 0.25 #kg/s\n",
+ "Tmi = 15 #degC\n",
+ "D = 0.05 #m\n",
+ "Ts = 100 #degC\n",
+ "Tm0 = 57 #degC\n",
+ "L = 6 #m\n",
+ "\n",
+ "#calculations:\n",
+ "#from Table HT-5\n",
+ "Cp = 4178 #J/kg.K\n",
+ "#log mean temp diff\n",
+ "dTlm = ((Ts - Tm0) - (Ts - Tmi))/math.log((Ts-Tm0)/(Ts-Tmi))\n",
+ "#avg Convection Coeff\n",
+ "hbar = mdot*Cp*(Tm0 - Tmi)/math.pi/D/L/dTlm\n",
+ "\n",
+ "#Results\n",
+ "print \"Average convection heat transfer coefficient is\",round(hbar,0),\"W/m2.K\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Average convection heat transfer coefficient is 755.0 W/m2.K\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 17.08, page: 433</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "Tinf = 37 #degC\n",
+ "h0bar = 2 #W/m2.K\n",
+ "Tmi = 7 #degC\n",
+ "D = 0.3 #m\n",
+ "L = 15 #m\n",
+ "mdot = 0.05 #kg/s\n",
+ "hibar = 3 #W/m2.K\n",
+ "\n",
+ "#calculations:\n",
+ "Cp = 1007 #J/kg.K\n",
+ "#overall heat transfer\n",
+ "Ubar = (1/hibar + 1/h0bar)**-1\n",
+ "#Area\n",
+ "As = math.pi*D*L\n",
+ "#Temp\n",
+ "Tm0 = Tinf - (Tinf - Tmi)*math.e**(-1*Ubar*As/(mdot*Cp))\n",
+ "#heat transfer rate\n",
+ "q = mdot*Cp*(Tm0 - Tmi)\n",
+ "\n",
+ "#Results\n",
+ "print \"Chilled air exit temperature and the heat transfer rate are\", round(Tm0,1),\"degC and\",round(q,0),\"W respectively\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Chilled air exit temperature and the heat transfer rate are 15.6 degC and 432.0 W respectively\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 17.09, page: 434</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "D = 0.06 #m\n",
+ "mdot = 0.01 #kg/s\n",
+ "Tmi = 20 #degC\n",
+ "Tmo = 80 #degC\n",
+ "qs2 = 2000 #W/m2\n",
+ "\n",
+ "#calculations:\n",
+ "Cp = 4181 #J/kg.K\n",
+ "k = 0.670 #W/m.K\n",
+ "mu = 352E-6 #Ns/m2\n",
+ "Pr = 2.2\n",
+ "#Length\n",
+ "L = mdot*Cp*(Tmo - Tmi)/qs2/math.pi/D\n",
+ "#Reynolds num\n",
+ "ReD = 4*mdot/math.pi/D/mu\n",
+ "#local coeff\n",
+ "h = 4.36*k/D\n",
+ "#surface temp at outlet\n",
+ "Tso = qs2/h + Tmo\n",
+ "\n",
+ "#Results\n",
+ "print \"a)tube length\", round(L,2),\"m\"\n",
+ "print \"b)surface temperature at outlet section is\", round(Tso,0),\"degC\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a)tube length 6.65 m\n",
+ "b)surface temperature at outlet section is 121.0 degC\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 17.10, page: 436</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "mdot = 2 #kg/s\n",
+ "Tmi = 25 #degC\n",
+ "Ts = 95 #degC\n",
+ "L = 4 #m\n",
+ "D = 0.04 #m\n",
+ "\n",
+ "#calculations:\n",
+ "Cp = 4178 #J/kg.K\n",
+ "mu = 695E-6 #Ns/m2\n",
+ "k = 0.628 #W/m.K\n",
+ "Pr = 4.62\n",
+ "mus = 296E-6 #Ns/m2\n",
+ "#Reynolds NUm\n",
+ "ReD = 4*mdot/math.pi/D/mu\n",
+ "#avg coeff\n",
+ "hbar = (0.023*ReD**0.8*Pr*0.4)*k/D\n",
+ "#Temp\n",
+ "Tmo = Ts - (Ts - Tmi)*math.e**(-1*math.pi*D*L*hbar/mdot/Cp)\n",
+ "#heat rate\n",
+ "q = mdot*Cp*(Tmo - Tmi)\n",
+ "\n",
+ "#Results\n",
+ "print \"outlet water temperature is\", round(Tmo,1),\"degC\"\n",
+ "print \"rate of heat transfer to the water is\", round(q/1000,0),\"kW\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "outlet water temperature is 46.9 degC\n",
+ "rate of heat transfer to the water is 183.0 kW\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 17.11, page: 441</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "L = 0.71 #m\n",
+ "w = 1.02 #m\n",
+ "Ts = 232 #degC\n",
+ "Tinf = 23 #degC\n",
+ "g = 9.8 #m/s2\n",
+ "\n",
+ "#calculations:\n",
+ "k = 33.8E-3 #W/m.K\n",
+ "v = 26.4E-6 #m2/s\n",
+ "a = 38.3E-6 #m2/s\n",
+ "Pr = 0.69\n",
+ "b = 0.0025 #1/K\n",
+ "#Rayleigh num\n",
+ "RaL = g*b*(Ts - Tinf)*L**3/a/v\n",
+ "#Churchill-Chu correlation\n",
+ "NuLbar = (0.825 + 0.387*RaL**(1/6)/(1 + (0.492/Pr)**(9/16))**(8/27))**2\n",
+ "#average convection coefficient\n",
+ "hbar = NuLbar*k/L\n",
+ "#the heat transfer by free convection between the firescreen and room air is\n",
+ "q = hbar*L*w*(Ts - Tinf)\n",
+ "\n",
+ "#Results\n",
+ "print \"the heat transfer by free convection between the firescreen and room air is\", round(q,0),\"W\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "the heat transfer by free convection between the firescreen and room air is 1060.0 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 17.12, page: 443</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "Tinf = 300 #K\n",
+ "Tsur = 300 #K\n",
+ "Ts = 350 #K\n",
+ "e = 0.25\n",
+ "s1 = 1.2 #m\n",
+ "s2 = 1.2 #m\n",
+ "Tf = 325 #K\n",
+ "g = 9.8 #m/s2\n",
+ "sigma = 5.67E-8 #W/m2.K4\n",
+ "\n",
+ "#calculations:\n",
+ "v = 18.4E-6 #m2/s\n",
+ "k = 0.028 #W/m.K\n",
+ "a = 26.2E-6 #m2/s\n",
+ "# Area\n",
+ "As = s1*s2\n",
+ "#perimeter\n",
+ "P = 4*s1\n",
+ "#characteristic length\n",
+ "L = As/P\n",
+ "#Rayleigh num\n",
+ "b = 1/Tf\n",
+ "RaL = g*b*(Ts - Tinf)*L**3/v/a\n",
+ "#avg conv coeff\n",
+ "hbar = (0.15*RaL**(1/3))*k/L\n",
+ "#allowable electrical power\n",
+ "Pe = hbar*As*(Ts - Tinf) + e*As*sigma*(Ts**4 - Tsur**4)\n",
+ "\n",
+ "#Results\n",
+ "print \"Maximum allowable electrical power dissipation is\", round(Pe,0),\"W\"\n",
+ "#answer wrong in book\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum allowable electrical power dissipation is 583.0 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 17.13, page: 445</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "D = 0.1 #m\n",
+ "Tinf = 23 #degC\n",
+ "Tsur = 23 #degC\n",
+ "Ts = 165 #degC\n",
+ "e = 0.85\n",
+ "g = 9.8 #m/s2\n",
+ "sigma = 5.67E-8 #W/m2.K4\n",
+ "\n",
+ "#calculations:\n",
+ "k = 0.0313 #W/m.K\n",
+ "v = 22.8E-6 #m2/s\n",
+ "a = 32.8E-6 #m2/s\n",
+ "Pr = 0.697\n",
+ "b = 2.725E-3 #1/K\n",
+ "#Rayleigh number\n",
+ "RaD = g*b*(Ts - Tinf)*D**3/v/a\n",
+ "#average convection coefficient\n",
+ "hbar = (0.6 + 0.387*RaD**(1/6)/(1 + (0.559/Pr)**(9/16))**(8/27))**2*k/D\n",
+ "#total heat transfer rate from the pipe is\n",
+ "q1 = hbar*math.pi*D*(Ts - Tinf) + e*math.pi*D*sigma*((Ts + 273)**4 - (Tsur+273)**4)\n",
+ "\n",
+ "#Results\n",
+ "print \"Heat transfer from the pipe per unit length is\", round(q1,0),\"W/m\"\n",
+ "#anwer wrong in book\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Heat transfer from the pipe per unit length is 763.0 W/m\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 17.14, page: 452</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "ho = 40 #W/m2.K\n",
+ "Do = 0.045 #m\n",
+ "Di = 0.025 #m\n",
+ "Thi = 100 #degC\n",
+ "mhdot = 0.1 #kg/s\n",
+ "Tho = 60 #degC\n",
+ "mcdot = 0.2 #kg/s\n",
+ "Tci = 30 #degC\n",
+ "\n",
+ "#calculations:\n",
+ "Cpc = 4178 #J/kg.K\n",
+ "mu = 725E-6 #Ns/m2\n",
+ "k = 0.625 #W/m.K\n",
+ "Pr = 4.85\n",
+ "Cph = 2131 #J/kg.K\n",
+ "#heat transfer rate\n",
+ "q = mhdot*Cph*(Thi - Tho)\n",
+ "#water outlet temperature\n",
+ "Tco = q/mcdot/Cpc + Tci\n",
+ "#log mean temperature difference\n",
+ "dTlm = ((Thi - Tco) - (Tho - Tci))/math.log((Thi-Tco)/(Tho-Tci))\n",
+ "#reynolds num\n",
+ "ReD = 4*mcdot/math.pi/Di/mu\n",
+ "#conv coeff\n",
+ "hi = (0.023*ReD**0.8*Pr**0.4)*k/Di\n",
+ "#overall heat transfer coefficien\n",
+ "U = 1/(1/hi + 1/ho)\n",
+ "#the required length of the exchanger\n",
+ "L = q/U/math.pi/Di/dTlm\n",
+ "\n",
+ "#Results\n",
+ "print \"Tube length to achieve a desired hot fluid outlet temperature is\", round(L,1),\"m\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Tube length to achieve a desired hot fluid outlet temperature is 63.9 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 17.15, page: 454</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "ho = 400 #W/m2.K\n",
+ "n = 10\n",
+ "D = 0.025 #m\n",
+ "Thi = 160 #degC\n",
+ "Tho = 100 #degC\n",
+ "Tco = 85 #degC\n",
+ "Tci = 15 #degC\n",
+ "mcdot = 2.5 #kg/s\n",
+ "\n",
+ "#calculations:\n",
+ "Cph = 2350 #J/kg.K\n",
+ "Cpc = 4181 #J/kg.K\n",
+ "mu = 548E-6 #Ns/m2\n",
+ "k = 0.643 #W/m.K\n",
+ "Pr = 3.56\n",
+ "#heat transfer rate\n",
+ "q = mcdot*Cpc*(Tco - Tci)\n",
+ "#required flow rate\n",
+ "mhdot = q/Cph/(Thi - Tho)\n",
+ "#m1dot\n",
+ "m1dot = mcdot/n\n",
+ "#reynolds num\n",
+ "ReD = 4*m1dot/math.pi/D/mu\n",
+ "#conv coeff\n",
+ "hi = (0.023*ReD**0.8*Pr**0.4)*k/D\n",
+ "#overall Coeff\n",
+ "U = 1/(1/ho + 1/hi)\n",
+ "#\n",
+ "R = (Thi - Tho)/(Tco - Tci)\n",
+ "P = (Tco - Tci)/(Thi - Tci)\n",
+ "F = 0.87\n",
+ "#log mean temperature difference\n",
+ "dTlm = ((Thi - Tco) - (Tho - Tci))/math.log((Thi-Tco)/(Tho-Tci))\n",
+ "#the required tube length\n",
+ "L = q/U/n/math.pi/D/F/dTlm\n",
+ "\n",
+ "#Results\n",
+ "print \"Oil flow rate required is\", round(mhdot,2),\"kg/s\"\n",
+ "print \"Tube length required is\", round(L,1),\"m\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Oil flow rate required is 5.19 kg/s\n",
+ "Tube length required is 37.9 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_18.ipynb b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_18.ipynb new file mode 100644 index 00000000..e792f1a9 --- /dev/null +++ b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/Chapter_18.ipynb @@ -0,0 +1,577 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h1>Chapter 18: HEAT TRANSFER BY RADIATION</h1>"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 18.01, page: 472</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "E = 525 #W/m2\n",
+ "a = 0.85\n",
+ "p = 0.15\n",
+ "Glambda= 600 #W/m2.um\n",
+ "\n",
+ "#calculations:\n",
+ "lambda1 = 0.5 #um\n",
+ "lambda2 = 1.0 #um\n",
+ "lambda3 = 2.5 #um\n",
+ "#total irradiation\n",
+ "G = 0.5*Glambda*(lambda1 - 0) + Glambda*(lambda2 - lambda1) + 0.5*Glambda*(lambda3 - lambda2) + 0\n",
+ "#Absorbed rad\n",
+ "Gabs = a*G\n",
+ "#total radiosity\n",
+ "J =E + p*G\n",
+ "#net radiative flux leaving the surface\n",
+ "qradnet2 = E - Gabs\n",
+ "\n",
+ "#Results\n",
+ "print \"a) The total irradiation and the absorbed total irradiation are\", round(G,0),\"W/m2 and\", round(Gabs,0),\"W/m2\"\n",
+ "print \"b)total radiosity is\",round(J,0),\"W/m2\"\n",
+ "print \"c)net radiative flux leaving the surface is\", round(qradnet2,0),\"W/m2\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a) The total irradiation and the absorbed total irradiation are 900.0 W/m2 and 765.0 W/m2\n",
+ "b)total radiosity is 660.0 W/m2\n",
+ "c)net radiative flux leaving the surface is -240.0 W/m2\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 18.02, page: 477</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "T = 2000 #K\n",
+ "x = 0.1\n",
+ "sigma = 5.67E-8 #W/m2.K4\n",
+ "lambda1T = 2200 #um.K\n",
+ "lambda2T = 9382 #um.K\n",
+ "C1 = 3.742E8 #W.um4/m2\n",
+ "lambda_max = 1.45 #um\n",
+ "C2 = 1.439E4 #um.K\n",
+ "\n",
+ "#calculations:\n",
+ "#blackbody spectral emissive power\n",
+ "E = sigma*T**4\n",
+ "#wavelength 1 and 2\n",
+ "lambda1 = lambda1T/T\n",
+ "lambda2 = lambda2T/T\n",
+ "#spectral emissive power corresponding to the peak of the blackbody curve\n",
+ "Elambda_max_T = C1/lambda_max**5/(math.e**(C2/lambda_max/T) - 1)\n",
+ "#Irradiation\n",
+ "G = E\n",
+ "\n",
+ "#Results\n",
+ "print \"a)Emissive power of a small aperture on the enclosure is\", round(E,0),\"W/m2\"\n",
+ "print \"b)Wavelengths below which and above which 10% of the radiation is concentrated is\", round(lambda1,1),\"um and\",round(lambda2,1),\"um\"\n",
+ "print \"c)Maximum spectral emissive power and wavelength at which it occurs is\", round(Elambda_max_T,0),\"W/m2.um\"\n",
+ "print \"d)Irradiation on a small object inside the enclosure is\", round(G,0),\"W/m2\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a)Emissive power of a small aperture on the enclosure is 907200.0 W/m2\n",
+ "b)Wavelengths below which and above which 10% of the radiation is concentrated is 1.1 um and 4.7 um\n",
+ "c)Maximum spectral emissive power and wavelength at which it occurs is 411448.0 W/m2.um\n",
+ "d)Irradiation on a small object inside the enclosure is 907200.0 W/m2\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 18.03, page: 478</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "l1 = 2 #um\n",
+ "l2 = 4 #um\n",
+ "sigma = 5.67E-8 #W/m2.K4\n",
+ "T = 1500 #K\n",
+ "\n",
+ "#calculations:\n",
+ "#from Table 18.2\n",
+ "F02 = 0.273\n",
+ "F04 = 0.738\n",
+ "#Stefan-Boltzmann law\n",
+ "El1l2 = (F04 - F02)*sigma*T**4\n",
+ "\n",
+ "#Results\n",
+ "print \"Rate of emission per unit area is\", round(El1l2,0),\"W/m2\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Rate of emission per unit area is 133475.0 W/m2\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 18.04, page: 480</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "T = 1600 #k\n",
+ "sigma = 5.67E-8 #W/m2.K4\n",
+ "e1 = 0.4\n",
+ "e2 = 0.8\n",
+ "\n",
+ "#calculations:\n",
+ "#from Table 18.2\n",
+ "F02 = 0.318\n",
+ "F05 = 0.856\n",
+ "#total emissivity for this spectrally selective material at 1600 K\n",
+ "e = e1*F02 + e2*(F05 - F02)\n",
+ "#total emissive power\n",
+ "E = e*sigma*T**4\n",
+ "\n",
+ "#Results\n",
+ "print \"a)Total emissivity is\", round(e,3)\n",
+ "print \"b)Total Emissive power is\", round(E/1000,0),\"kW/m2\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a)Total emissivity is 0.558\n",
+ "b)Total Emissive power is 207.0 kW/m2\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 18.05, page: 485</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "al1 = 0.8\n",
+ "al2 = 0.1\n",
+ "Tsi = 300 #K\n",
+ "Tf = 1200 #K\n",
+ "sigma = 5.67E-8 #W/m2.K4\n",
+ "\n",
+ "#calculations:\n",
+ "#from Table 18.2\n",
+ "F0l1 = 0.738\n",
+ "F0l2 = 1\n",
+ "#total absorptivity\n",
+ "ai = al1*F0l1 + al2*(F0l2 - F0l1)\n",
+ "#from Table 18.2\n",
+ "F0l1 = 0.014\n",
+ "F0l2 = 1\n",
+ "#total emissivity\n",
+ "ei = al1*F0l1 + al2*(F0l2 - F0l1)\n",
+ "#net radiative heat flux leaving the sphere\n",
+ "qradnet2 = ei*sigma*Tsi**4 - ai*sigma*Tf**4\n",
+ "#at final condition\n",
+ "af = ai\n",
+ "ef = af\n",
+ "\n",
+ "#Results\n",
+ "print \"a)For the Initial Condition, Total absorptivity is\", round(ai,2),\", emissivity of the coating is\", round(ei,2),\" and net radiative heat flux is\", round(qradnet2/1000,0),\"kW/m2\"\n",
+ "print \"b)For the Final Condition, Total absorptivity is\", round(af,2),\" and emissivity of the coating is\", round(ef,2)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a)For the Initial Condition, Total absorptivity is 0.62 , emissivity of the coating is 0.11 and net radiative heat flux is -72.0 kW/m2\n",
+ "b)For the Final Condition, Total absorptivity is 0.62 and emissivity of the coating is 0.62\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 18.06, page: 487</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "Tp = 300 #K\n",
+ "Gs = 1353 #W/m2\n",
+ "Tds = 0 #K\n",
+ "l1 = 0.3 #um\n",
+ "l2 = 1.5 #um\n",
+ "Ts = 5800 #K\n",
+ "sigma = 5.67E-8 #W/m2.K4\n",
+ "\n",
+ "#calculations:\n",
+ "#from Fig E18.6a\n",
+ "al1 = 1 - 0\n",
+ "al2 = 1 - 0.95\n",
+ "al3 = 1 - 0.05\n",
+ "F0l1 = 0.03345\n",
+ "F0l2 = 0.8808\n",
+ "#solar absorptivity\n",
+ "aS = al1*F0l1 + al2*(F0l2 - F0l1) + al3*(1 - F0l2)\n",
+ "pl3 = 0.05\n",
+ "#total emissivity\n",
+ "al3 = 1 - pl3\n",
+ "e = al3\n",
+ "#net radiative heat flux leaving the panel surface is\n",
+ "qradnet2 = e*sigma*Tp**4 - aS*Gs\n",
+ "\n",
+ "#Results\n",
+ "print \"net radiative heat flux leaving is\", round(qradnet2,0),\"W/m2\"\n",
+ "#answer wrong in book\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "net radiative heat flux leaving is 181.0 W/m2\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 18.07, page: 491</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "La = 1 #m\n",
+ "Ra = 1 #m\n",
+ "Db = 1 #m\n",
+ "r3c = 0.5 #m\n",
+ "Lc = 1 #m\n",
+ "r1c = 0.5 #m\n",
+ "Dc = 2*r3c #m\n",
+ "\n",
+ "#calculations:\n",
+ "#a)\n",
+ "A1a = 2*Ra*La\n",
+ "A2a = 2*math.pi*Ra*La/4\n",
+ "#F12a = F13a, from symmetry\n",
+ "F11a = 0\n",
+ "F12a = 0.5\n",
+ "#reciprocity relation between surfaces A1 and A2\n",
+ "F21a = A1a/A2a*F12a\n",
+ "#b)\n",
+ "A1b = math.pi*(Db/2)**2/4\n",
+ "A2b = math.pi*Db**2/2\n",
+ "F12b = 1.0\n",
+ "#the reciprocity relation between surfaces A1 and A2\n",
+ "F21b = A1b/A2b*F12b\n",
+ "#based upon a symmetry argument that A2 sees as much of itself as it does of A1 and A3 combined\n",
+ "F22b = 0.50\n",
+ "#Applying the summation rule to surface A2\n",
+ "F23b = 1 - F21b - F22b\n",
+ "#c)\n",
+ "A1c = (math.pi*Dc**2)/4\n",
+ "A2c = math.pi*Dc*Lc\n",
+ "#By inspection,\n",
+ "F11c = 0\n",
+ "#from the chart for the coaxial, parallel disks,\n",
+ "F13c = 0.17\n",
+ "#Substituting numerical values into the summation rule\n",
+ "F12c = 1 - F11c - F13c\n",
+ "#From the reciprocity relation between surfaces A1 and A2,\n",
+ "F21c = A1c/A2c*F12c\n",
+ "\n",
+ "#Results\n",
+ "print \"a) for long open channel, F12 = \", round(F12a,1),\" and F21 = \", round(F21a,3)\n",
+ "print \"b) for Hemispherical-disk arrangement, F12 = \", round(F12b,0),\",F21 = \", round(F21b,3),\", F22 = \", round(F22b,2),\" and F23 = \", round(F23b,3)\n",
+ "print \"c) for End and side of a circular tube of equal length and diameter, F12 = \", round(F12c,2),\" and F21 = \", round(F21c,2)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a) for long open channel, F12 = 0.5 and F21 = 0.637\n",
+ "b) for Hemispherical-disk arrangement, F12 = 1.0 ,F21 = 0.125 , F22 = 0.5 and F23 = 0.375\n",
+ "c) for End and side of a circular tube of equal length and diameter, F12 = 0.83 and F21 = 0.21\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 18.08, page: 494</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "L = 0.15 #m\n",
+ "D = 0.075 #m\n",
+ "T1 = 1350 #degC\n",
+ "T2 = 1650 #degC\n",
+ "Tsur = 300 #K\n",
+ "T3 = Tsur\n",
+ "sigma = 5.67E-8 #W/m2.K4\n",
+ "\n",
+ "#calculations:\n",
+ "#from fig 18.22b\n",
+ "F23 = 0.06\n",
+ "#From the summation rule for surface A2,\n",
+ "F22 = 0\n",
+ "F21 = 1 - F22 - F23\n",
+ "#using the reciprocity relation\n",
+ "A2 = math.pi*D**2/4\n",
+ "A1 = math.pi*D*L\n",
+ "F12 = A2/A1*F21\n",
+ "#From symmetry considerations,\n",
+ "F13 = F12\n",
+ "#Power, Pe\n",
+ "Pe = A1*F13*sigma*((T1 + 273)**4 - T3**4) + A2*F23*sigma*((T2 + 273)**4 - T3**4)\n",
+ "\n",
+ "#Results\n",
+ "print \"Electrical power required to maintain prescribed temperatures is\", round(Pe,0),\"W\"\n",
+ "#answer wrong in book\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Electrical power required to maintain prescribed temperatures is 1837.0 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 18.09, page: 499</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "sigma = 5.67E-8 #W/m2.K4\n",
+ "T2 = 300 #K\n",
+ "D2 = 0.05 #m\n",
+ "e2 = 0.05\n",
+ "T1 = 77 #K\n",
+ "D1 = 0.02 #m\n",
+ "e1 = 0.02\n",
+ "D3 = 0.035 #m\n",
+ "e3 = 0.02\n",
+ "L = 1 #m\n",
+ "\n",
+ "#calculations:\n",
+ "F13 = 1\n",
+ "F32 = 1\n",
+ "#heat rate from the cryogenic fluid per unit tube length is\n",
+ "qwo1 = sigma*math.pi*D1*(T1**4 - T2**4)/(1/e1 + (1-e2)/e2*D1/D2)\n",
+ "#b) Total Resistance\n",
+ "Rtot = (1 - e1)/e1/math.pi/D1/L + 1/math.pi/D1/L/F13 + 2*(1-e3)/e3/math.pi/D3/L + 1/math.pi/D3/L/F32 + (1-e2)/e2/math.pi/D2/L\n",
+ "#the desired heat rate\n",
+ "qw1 = sigma*(T1**4 - T2**4)/Rtot/L\n",
+ "#percentage change in the heat transfer to the cryogenic fluid is\n",
+ "dqw1 = (qw1 - qwo1)/qwo1*100\n",
+ "\n",
+ "#Results\n",
+ "print \"a)Heat transfer by the cryogenic fluid passing through the inner tube without the radiation shield is\", round(qwo1,2),\"W/m\"\n",
+ "print \"b)Percentage change in heat transfer with the radiation shield inserted midway between inner and outer tubes is\",round(dqw1,0),\"%\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a)Heat transfer by the cryogenic fluid passing through the inner tube without the radiation shield is -0.5 W/m\n",
+ "b)Percentage change in heat transfer with the radiation shield inserted midway between inner and outer tubes is -50.0 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<h2>Example 18.10, page: 501</h2>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "# Initialization of Variable\n",
+ "e3 = 0.8\n",
+ "W = 1 #m\n",
+ "T1 = 1200 #K\n",
+ "e1 = 0.8\n",
+ "T2 = 500 #K\n",
+ "e2 = 0.4\n",
+ "sigma = 5.67E-8 #W/m2.K4\n",
+ "L = 1 #m\n",
+ "\n",
+ "#calculations:\n",
+ "#From symmetry considerations\n",
+ "F12 = 0.5\n",
+ "F1R = 0.5\n",
+ "F2R = 0.5\n",
+ "A1 = W*L\n",
+ "A2 = W*L\n",
+ "#The rate at which energy must be supplied to the heated surface\n",
+ "q1_dash = sigma*(T1**4 - T2**4)/((1-e1)/e1/A1 + 1/(A1*F12 + (1/A1/F1R + 1/A2/F2R)**-1) + (1-e2)/e2/A2)/L\n",
+ "#the surface energy balance\n",
+ "J1 = sigma*T1**4 - (1-e1)/e1/W*q1_dash\n",
+ "J2 = sigma*T2**4 - (1-e2)/e2/W*-1*q1_dash\n",
+ "#From the energy balance for the reradiating surface\n",
+ "JR = (J1 + J2)/2\n",
+ "#Temp\n",
+ "TR = (JR/sigma)**0.25\n",
+ "\n",
+ "#Results\n",
+ "print \"a)Rate at which energy must be supplied per unit length of duct is\", round(q1_dash/1000,0),\"kW/m\"\n",
+ "print \"b)Temperature of the insulated surface is\", round(TR,0),\"K\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a)Rate at which energy must be supplied per unit length of duct is 37.0 kW/m\n",
+ "b)Temperature of the insulated surface is 1102.0 K\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/screenshots/1.png b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/screenshots/1.png Binary files differnew file mode 100644 index 00000000..721e91f0 --- /dev/null +++ b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/screenshots/1.png diff --git a/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/screenshots/2.png b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/screenshots/2.png Binary files differnew file mode 100644 index 00000000..91dae4e6 --- /dev/null +++ b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/screenshots/2.png diff --git a/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/screenshots/3.png b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/screenshots/3.png Binary files differnew file mode 100644 index 00000000..5966d770 --- /dev/null +++ b/Introduction_to_Thermal_Systems_Engineering:_Thermodynamics,_Fluid_Mechanics,_and_Heat_Transfe_by_Moran,_Shapiro,_Munson,_Dewitt/screenshots/3.png |