diff options
author | root | 2014-07-07 16:45:58 +0530 |
---|---|---|
committer | root | 2014-07-07 16:45:58 +0530 |
commit | 1b0d935754549d175d2bad3d5eb5dc541bd7a0d4 (patch) | |
tree | fe73fe578ee4ce75d83ca61cdc533c4110d03a2a /Fundamental_of_Thermodynamics_by_Moran_and_Shapiro | |
parent | fffcc90da91b66ee607066d410b57f34024bd1de (diff) | |
download | Python-Textbook-Companions-1b0d935754549d175d2bad3d5eb5dc541bd7a0d4.tar.gz Python-Textbook-Companions-1b0d935754549d175d2bad3d5eb5dc541bd7a0d4.tar.bz2 Python-Textbook-Companions-1b0d935754549d175d2bad3d5eb5dc541bd7a0d4.zip |
removing unwanted files
Diffstat (limited to 'Fundamental_of_Thermodynamics_by_Moran_and_Shapiro')
23 files changed, 0 insertions, 6746 deletions
diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_10_2.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_10_2.ipynb deleted file mode 100644 index 2dfe33d4..00000000 --- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_10_2.ipynb +++ /dev/null @@ -1,286 +0,0 @@ -{ - "metadata": { - "name": "Chapter 10" - }, - "nbformat": 2, - "worksheets": [ - { - "cells": [ - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "Tc = 273.00 # temperature of cold region in kelvin", - "Th = 299.00 # temperature of hot region in kelvin", - "mdot = 0.08 # mass flow rate in kg/s", - "", - "h1 = 247.23 # in kj/kg", - "s1 = 0.9190 # in kj/kg.k", - "", - "p2 = 6.853 # in bars", - "h2s = 264.7 # in kj/kg", - "h3 = 85.75 # in kj/kg", - "h4 = h3 # since The expansion through the valve is a throttling process", - "", - "Wcdot = mdot*(h2s-h1) # The compressor work input in KW", - "print '-> The compressor power, in kW, is: '", - "print round(Wcdot,2)", - "", - "Qindot = mdot*(h1-h4)*60/211 # refrigeration capacity in ton", - "print '-> The refrigeration capacity in tons is: '", - "print round(Qindot,2)", - "", - "beta = (h1-h4)/(h2s-h1)", - "print '-> The coefficient of performance is: '", - "print round(beta,2)", - "", - "betamax = Tc/(Th-Tc)", - "print '-> The coefficient of performance of a Carnot refrigeration cycle operating between warm and cold regions at 26 and 0\u0004C, respectively is: '", - "print betamax" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The compressor power, in kW, is: ", - "1.4", - "-> The refrigeration capacity in tons is: ", - "3.67", - "-> The coefficient of performance is: ", - "9.24", - "-> The coefficient of performance of a Carnot refrigeration cycle operating between warm and cold regions at 26 and 0\u0004C, respectively is: ", - "10.5" - ] - } - ], - "prompt_number": 1 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "mdot = 0.08 # mass flow rate in kg/s", - "h1 = 241.35 # in kj/kg", - "s1 = .9253 # in kj/kg.k", - "h2s = 272.39 # in kj/kg.k", - "h3 = 99.56 # in kj/kg", - "h4 = h3 # since The expansion through the valve is a throttling process", - "", - "Wcdot = mdot*(h2s-h1) # The compressor power input in KW", - "print '-> The compressor power in kw is: '", - "print round(Wcdot,2)", - "", - "Qindot = mdot*(h1-h4)*60/211 # refrigeration capacity in tons", - "print '-> The refrigeration capacity in tons is: '", - "print round(Qindot,2)", - "", - "beta = (h1-h4)/(h2s-h1)", - "print '-> The coefficient of performance is: '", - "print round(beta,2)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The compressor power in kw is: ", - "2.48", - "-> The refrigeration capacity in tons is: ", - "3.23", - "-> The coefficient of performance is: ", - "4.57" - ] - } - ], - "prompt_number": 2 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "Tnot = 299 #in kelvin", - "etac = .8 #compressor efficiency of 80 percent", - "mdot = .08 #mass flow rate in kg/s", - "h1 = 241.35 #in kj/kg", - "s1 = .9253 #in kj/kg.k", - "h2s = 272.39 #in kj/kg", - "h2 =(h2s-h1)/etac + h1 #in kj/kg", - "s2 = .9497 #in kj/kg.k", - "", - "h3 = 91.49 #in kj/kg", - "s3 = .3396", - "h4 = h3 #since The expansion through the valve is a throttling process", - "hf4 = 36.97 #in kj/kg", - "hg4 = 241.36 #in kj/kg", - "sf4 = .1486 #in kj/kg.k", - "sg4 = .9253 #in kj/kg.k", - "x4 = (h4-hf4)/(hg4-hf4) #quality at state 4", - "s4 = sf4 + x4*(sg4-sf4) #specific entropy at state 4 in kj/kg.k", - "", - "Wcdot = mdot*(h2-h1) #compressor power in kw", - "print 'The compressor power in kw is: ',round(Wcdot,2),'kW'", - "", - "Qindot = mdot*(h1-h4)*60/211 #refrigeration capacity in ton", - "print 'The refrigeration capacity in ton is: ',round(Qindot,2),'ton'", - "", - "beta = (h1-h4)/(h2-h1) #coefficient of performance ", - "print 'The coefficient of performance is: ',round(beta,2)", - "", - "Eddotc = mdot*Tnot*(s2-s1) #in kw", - "Eddotv = mdot*Tnot*(s4-s3) #in kw", - "print 'The rate of exergy destruction within the compressor is:',round(Eddotc,2),'kw.'", - "print 'The rate of exergy destruction within the valve is:',round(Eddotv,2),'kw'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "The compressor power in kw is: 3.1 kW", - "The refrigeration capacity in ton is: 3.41 ton", - "The coefficient of performance is: 3.86", - "The rate of exergy destruction within the compressor is: 0.58 kw.", - "The rate of exergy destruction within the valve is: 0.39 kw" - ] - } - ], - "prompt_number": 3 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "p1 = 1.00 # in bar", - "T1 = 270.00 # in kelvin", - "AV = 1.4 # in m^3/s", - "r = 3.00 # compressor pressure ratio", - "T3 = 300.00 # turbine inlet temperature in kelvin", - "", - "h1 = 270.11 # in kj/kg", - "pr1 = 0.9590", - "h2s = 370.1 # in kj/kg", - "h3 = 300.19 # in kj/kg", - "pr3 = 1.3860", - "h4s = 219.00 # in kj/kg", - "pr2 = r*pr1", - "pr4 = pr3/r", - "", - "R = 8.314 # universal gas constant, in SI units", - "M = 28.97 # molar mass of air in grams", - "", - "mdot = (AV*p1)/((R/M)*T1)*10**2 # mass flow rate in kg/s", - "Wcycledot = mdot*((h2s-h1)-(h3-h4s))", - "print '-> The net power input in kw is: '", - "print round(Wcycledot,2)", - "", - "Qindot = mdot*(h1-h4s) # refrigeration capacity in kw", - "print '-> The refregeration capacity in kw is: '", - "print round(Qindot,2)", - "", - "beta = Qindot/Wcycledot # coefficient of performance", - "print 'The coefficient of performance is: '", - "print round(beta,2)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The net power input in kw is: ", - "33.97", - "-> The refregeration capacity in kw is: ", - "92.34", - "The coefficient of performance is: ", - "2.72" - ] - } - ], - "prompt_number": 4 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "wcdots = 99.99 # work per unit mass for the isentropic compression determined with data from the solution in Example 10.4 in kj/kg", - "mdot = 1.807 # mass flow rate in kg/s from 10.4", - "etac = 0.8 # isentropic efficiency of compressor", - "Wcdot = (mdot*wcdots)/etac # The power input to the compressor in kw", - "", - "wtdots =81.19 # in kj/kg", - "etat = 0.8 # isentropic efficiency of turbine", - "Wtdot = mdot*etat*wtdots # actual turbine work in kw", - "Wdotcycle = Wcdot-Wtdot # The net power input to the cycle in kw", - "print '-> The net power input in kw is: '", - "print round(Wdotcycle,2)", - "", - "h3 = 300.19 # in kj/kg", - "h1 = 270.11 # in kj/kg", - "h4 = h3 -Wtdot/mdot", - "Qindot = mdot*(h1-h4) # refrigeration capacity in kw", - "print '-> The refrigeration capacity in kw is: '", - "print round(Qindot,2)", - "", - "beta = Qindot/Wdotcycle # coefficient of performance ", - "print '-> The coefficient of performance is: '", - "print round(beta,2)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The net power input in kw is: ", - "108.48", - "-> The refrigeration capacity in kw is: ", - "63.01", - "-> The coefficient of performance is: ", - "0.58" - ] - } - ], - "prompt_number": 5 - } - ] - } - ] -}
\ No newline at end of file diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_11_2.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_11_2.ipynb deleted file mode 100644 index 7d3e1d3a..00000000 --- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_11_2.ipynb +++ /dev/null @@ -1,425 +0,0 @@ -{ - "metadata": { - "name": "Chapter 11" - }, - "nbformat": 2, - "worksheets": [ - { - "cells": [ - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "m = 4.00 # mass of carbon monoxide in kg", - "T = 223.00 # temperature of carbon monoxide in kelvin", - "D = 0.2 # inner diameter of cylinder in meter", - "L = 1.00 # length of the cylinder in meter", - "pi=3.14", - "M = 28.00 # molar mass in kg/kmol", - "V = (pi*D**2.00/4.00)*L # volume occupied by the gas in m^3", - "vbar = M*(V/m) # The molar specific volume in m^3/kmol", - "", - "Tc = 133 # in kelvin", - "Pc = 35 # in bar", - "Tr = T/Tc # reduced temperature", - "Rbar = 8314 # universal gas constant in N.m/kmol.K", - "Z = 0.9", - "vrdash = (vbar*Pc*10**5)/(Rbar*Tc) # pseudoreduced specific volume", - "p = (Z*Rbar*T/vbar)*10**-5 # in bar", - "print '-> part(a)the pressure in bar is: '", - "print round(p,2)", - "", - "p = (Rbar*T/vbar)/10**5 # in bar", - "print '-> Part(b)the pressure in bar is: '", - "print round(p,2)", - "", - "a = 1.474 # in (m^3/kmol)^2", - "b = 0.0395 # in m^3/kmol", - "p = (Rbar*T/(vbar-b))/10**5 - a/vbar**2", - "print '-> Part(c)the pressure in bars is: '", - "print round(p,2)", - "", - "a = 17.22 # in m^6*K^.5/kmol^2", - "b = 0.02737 # in m^3/kmol", - "p = (Rbar*T/(vbar-b))/10**5 - a/(vbar*(vbar+b)*T**.5)", - "print '-> Part(d)the pressure in bar is: '", - "print round(p,2)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> part(a)the pressure in bar is: ", - "75.92", - "-> Part(b)the pressure in bar is: ", - "84.35", - "-> Part(c)the pressure in bars is: ", - "72.32", - "-> Part(d)the pressure in bar is: ", - "75.12" - ] - } - ], - "prompt_number": 1 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "%pylab inline" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "", - "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].", - "For more information, type 'help(pylab)'." - ] - } - ], - "prompt_number": 2 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "v = 0.4646 # specific volume in in m^3/kg", - "M = 18.02 # molar mass of water in kg/kmol", - "vbar = v*M # in m^3/kmol", - "a = 142.59 # (m^3/kmol)^2 * K^.5", - "b = 0.0211 # in m^3/kmol", - "", - "Rbar = 8314.0 # universal gas constant in N.m/kmol.K", - "T = 513.0 # in kelvin", - "delpbydelT = (Rbar/(vbar-b) + a/(2*vbar*(vbar+b)*T**1.5)*10**5)/10**3 # in kj/(m^3*K)", - "", - "delsbydelv = delpbydelT", - "print '-> The value of delpbydelT in kj/(m^3*K) is: ',delpbydelT", - "", - "from pylab import *", - "T = 240.0 # in degree celcius", - "y = [7.994, 7.805, 7.477, 7.230, 7.064, 6.882] # in kj/kg.k # in kj/kg.k", - "x = [2.359, 1.570, 0.781, 0.4646, 0.3292, 0.2275] # in m^3/kg # in m^3/kg", - "plot(x,y)", - "xlabel(\"Specific volume\")", - "ylabel(\"Specific entropy\")", - "show()", - "delsbydelv = 1 # in kj/m^3.K", - "print '-> From the data of the table,delsbydelv = ',delsbydelv" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The value of delpbydelT in kj/(m^3*K) is: 1.00430251045" - ] - }, - { - "output_type": "display_data", - "png": "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\n" - }, - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> From the data of the table,delsbydelv = 1" - ] - } - ], - "prompt_number": 3 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "hgf =2257.00 # in kj/kg", - "ugf = 2087.6 # in kj/kg", - "sgf = 6.048 # in kj/kg.K", - "print '-> From table, hg-hf = ',hgf", - "print '-> From table, ug-uf = ',ugf", - "print '-> From table, sg-sf = ',sgf", - "", - "T = 373.15 # in kelvin", - "delpbydelT = 3570.00 # in N/(m^2.K)", - "vg = 1.673 # in m^3/kg", - "vf = 1.0435e-3 # in m^3/kg", - "hgf = T*(vg-vf)*delpbydelT*10**-3 # in kj/kg", - "print '-> Part(a)using Clapeyron equation, hg-hf = ', round(hgf,2)", - "", - "psat = 1.014e5 # in N/m^2", - "hgf = 2256.00 # can be obtained using IT software in kj/kg", - "ugf = hgf - psat*(vg-vf)/10**3 # in kj/kg", - "print '-> Part(b)ug-uf = ', round(ugf,2)", - "sgf =hgf/T # in kj/kg.K ", - "print '-> Part(c)sg-sf = ', round(sgf,2)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> From table, hg-hf = 2257.0", - "-> From table, ug-uf = 2087.6", - "-> From table, sg-sf = 6.048", - "-> Part(a)using Clapeyron equation, hg-hf = 2227.29", - "-> Part(b)ug-uf = 2086.46", - "-> Part(c)sg-sf = 6.05" - ] - } - ], - "prompt_number": 4 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "v = 1.00/998.21 # specific volume of water in m^3/kg", - "T = 293.00 # given temperature in kelvin", - "beta = 206.6e-6 # volume expansivity in /K", - "k = 45.90e-6 # isothermal compressibility in /bar", - "cp = 4.188 # in kj/kg.k", - "cpv = (v*T*beta**2.00/k)*10**2 # in kj/kg.k", - "cv = cp-cpv # in kj/kg.k", - "errorPercentage = 100*(cp-cv)/cv", - "print '-> The percentage error is: ',round(errorPercentage,2)", - "", - "K = cp/cv # specific heat ratio", - "c = ((K*v/k)*10**5)**0.5 # velocity of sound in m/s", - "print '-> The velocity of sound is: ',round(c,2),'m/s'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The percentage error is: 0.66", - "-> The velocity of sound is: 1482.19 m/s" - ] - } - ], - "prompt_number": 5 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "p1 = 100.00 # in bar", - "T1 = 300.00 # in kelvin", - "p2 = 40.00 # in bar", - "T2 = 245.00 # in kelvin", - "", - "", - "h1starbar = 8723.00 # in kj/kmol", - "h2starbar = 7121.00 # in kj/kmol", - "Tc = 126.00 # critical temperature in kelvin", - "pc = 33.9 # critical pressure in bar", - "M = 28.00 # molar mass in kg/kmol", - "Rbar = 8.314 # universal gas constant in kj/(kmol.K)", - "Term1 = 0.5 ", - "Term2 = 0.31", - "", - "TR1 = T1/Tc # reduced temperature at the inlet", - "PR1 = p1/pc # reduced pressure at the inlet", - "TR2 = T2/Tc # reduced temperature at the exit", - "PR2 = p2/pc # reduced pressure at the exit", - "wcvdot = (1.00/M)*(h1starbar-h2starbar-Rbar*Tc*(Term1-Term2)) # in kj/kg", - "", - "print '-> The work developed, in kJ per kg of nitrogen flowing is : '", - "print round(wcvdot,2)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The work developed, in kJ per kg of nitrogen flowing is : ", - "50.11" - ] - } - ], - "prompt_number": 6 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "sT2bar = 185.775 # in kj/(kmol.K)", - "sT1bar = 191.682 # in kj/(kmol.K)", - "Rbar = 8.314 # universal gas constant", - "M = 28.00 # molar mass in kg/kmol ", - "p2 = 40.00 # in bar", - "p1 = 100.00 # in bar", - "Term1 = 0.21", - "Term2 = 0.14", - "", - "import math", - "S2StarBarMinusS1StarBar = sT2bar-sT1bar-Rbar*math.log(p2/p1) # The change in specific entropy in kj/(kmol.K)", - "sigmacvdot = (1.00/M)*(S2StarBarMinusS1StarBar-Rbar*(Term2-Term1))", - "print '-> the rate of entropy production in kj/kg.K is: '", - "print round(sigmacvdot,2)", - "", - "h2starbar = 6654.00 # in kj/kmol", - "h1starbar = 8723.00 # in kj/kmol", - "Tc = 126.00 # critical temperature in kelvin", - "Term2 = 0.36", - "Term1 = 0.5", - "wcvdot = 50.1 # from example 11.8", - "", - "wcvdots = (1.00/M)*(h1starbar-h2starbar-Rbar*Tc*(Term1-Term2)) # isentropic work in kj/kg", - "etat = wcvdot/wcvdots # turbine efficiency", - "", - "print '-> The isentropic turbine efficiency is: '", - "print round(etat,2)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> the rate of entropy production in kj/kg.K is: ", - "0.08", - "-> The isentropic turbine efficiency is: ", - "0.73" - ] - } - ], - "prompt_number": 7 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "V = 0.241 # volume of the mixture in m^3", - "T = 511.00 # temperature of the mixture in kelvin", - "n1 = 0.18 # number of moles of methane in kmol", - "n2 = 0.274 # number of moles of butane in kmol", - "Rbar = 8314 # universal gas constant in (N.m)/(kmol.K)", - "", - "n = n1 + n2 # The total number of moles of mixture", - "y1 = n1/n # mole fraction of methane", - "y2 = n2/n # mole fraction of butane", - "vbar = V/(n) # The specific volume of the mixture on a molar basis in m^3/kmol", - "", - "p = (Rbar*T/vbar)*10**-5 # in bar", - "print '-> The pressure in bar obtained using ideal gas equation is: '", - "print round(p,2)", - "", - "Tc1 = 191.00 # critical temperature for methane in kelvin ", - "Pc1 = 46.4 # critical pressure for methane in bar", - "Tc2 = 425.00 # critical temperature for butane in kelvin", - "Pc2 = 38.00 # critical pressure for butane in bar", - "Z = 0.88", - "", - "", - "Tc = y1*Tc1 + y2*Tc2 # critical temperature in kelvin", - "Pc = y1*Pc1 + y2*Pc2 # critical pressure in bar", - "TR = T/Tc # reduced temperature of the mixture", - "vRdash= vbar*Pc/(Rbar*Tc)", - "p = ((Z*Rbar*T)/vbar)*10**-5 # mixture pressure in bar", - "print '-> Pressure obtained using Kay\u2019s rule together with the generalized compressibility chart, is: '", - "print round(p,2)", - "", - "a1 = 2.293 # in (m^3/kmol)^2", - "b1 = 0.0428 # in m^3/kmol", - "a2 = 13.86 # in (m^3/kmol)^2", - "b2 = 0.1162 # in m^3/kmol", - "", - "a = (y1*a1**.5 + y2*a2**.5)**2 # in bar*(m^3/kmol)^2", - "b = y1*b1+y2*b2 # in m^3/kmol", - "p = ((Rbar*T)/(vbar-b))*10**-5 - a/(vbar**2)", - "print '-> The pressure in bar from van der Waals equation is: '", - "print round(p,2)", - "", - "TR1 = T/Tc1", - "vR1dash = (.241/.18)*10**5*Pc1/(Rbar*Tc1)", - "Z1 = 1.00", - "TR2 = T/Tc2", - "vR2dash = (.88*10**5*Pc2)/(Rbar*Tc2)", - "Z2 = 0.8", - "Z = y1*Z1 + y2*Z2", - "p = 70.4", - "", - "print '-> The pressure in bar obtained using the rule of additive pressures employing the generalized compressibility chart is: '", - "print round(p,2)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The pressure in bar obtained using ideal gas equation is: ", - "80.03", - "-> Pressure obtained using Kay\u2019s rule together with the generalized compressibility chart, is: ", - "70.43", - "-> The pressure in bar from van der Waals equation is: ", - "66.97", - "-> The pressure in bar obtained using the rule of additive pressures employing the generalized compressibility chart is: ", - "70.4" - ] - } - ], - "prompt_number": 8 - } - ] - } - ] -}
\ No newline at end of file diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_12_2.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_12_2.ipynb deleted file mode 100644 index 6cbc550b..00000000 --- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_12_2.ipynb +++ /dev/null @@ -1,760 +0,0 @@ -{ - "metadata": { - "name": "Chapter 12" - }, - "nbformat": 2, - "worksheets": [ - { - "cells": [ - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "n1 = 0.08 # mole fraction of CO2", - "n2 = 0.11 # mole fraction of H2O", - "n3 = 0.07 # mole fraction of O2", - "n4 = 0.74 # mole fraction of N2", - "", - "M1 = 44.0 # molar mass of CO2 in kg/kmol", - "M2 = 18.0 # molar mass of H2O in kg/kmol", - "M3 = 32.0 # molar mass of O2 in kg/kmol", - "M4 = 28.0 # molar mass of N2 in kg/kmol", - "", - "M = M1*n1 + M2*n2 + M3*n3 + M4*n4 # in kg/kmol", - "print 'The apparent molecular weight of the mixture in kg/kmol is: ',M", - "", - "mf1 = (M1*n1/M)*100.0 # mass fraction of CO2 in percentage ", - "mf2 = (M2*n2/M)*100.0 # mass fraction of H2O in percentage", - "mf3 = (M3*n3/M)*100.0 # mass fraction of O2 in percentage", - "mf4 = (M4*n4/M)*100.0 # mass fraction of N2 in percentage", - "", - "print 'The mass fraction of CO2 in percentage is: ',mf1", - "print 'The mass fraction of H2O in percentage is: ',mf2", - "print 'The mass fraction of O2 in percentage is: ',mf3", - "print 'The mass fraction of N2 in percentage is: ',mf4" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "The apparent molecular weight of the mixture in kg/kmol is: 28.46", - "The mass fraction of CO2 in percentage is: 12.3682361209", - "The mass fraction of H2O in percentage is: 6.95713281799", - "The mass fraction of O2 in percentage is: 7.87069571328", - "The mass fraction of N2 in percentage is: 72.8039353479" - ] - } - ], - "prompt_number": 1 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "mf1 = 0.1 # mass fractiion of H2", - "mf2 = 0.6 # mass fraction of N2", - "mf3 = 0.3 # mass fraction of CO2", - "", - "M1 = 2.0 # molar mass of H2 in kg/kmol", - "M2 = 28.0 # molar mass of N2 in kg/kmol", - "M3 = 44.0 # molar mass of CO2 in kg/kmol", - "", - "n1 = (mf1/M1)/(mf1/M1 + mf2/M2 + mf3/M3) # mole fraction of H2 ", - "n2 = (mf2/M2)/(mf1/M1 + mf2/M2 + mf3/M3) # mole fraction of N2", - "n3 = (mf3/M3)/(mf1/M1 + mf2/M2 + mf3/M3) # mole fraction of CO2", - "", - "print 'The mole fraction of H2 in percentage is: ',n1*100", - "print 'The mole fraction of N2 in percentage is: ',n2*100", - "print 'The mole fraction of CO2 in percentage is: ',n3*100", - "", - "M = n1*M1 + n2*M2 + n3*M3 # in kg/kmol", - "print 'The apparent molecular weight of the mixture in kg/kmol is: ',M" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "The mole fraction of H2 in percentage is: 63.9004149378", - "The mole fraction of N2 in percentage is: 27.3858921162", - "The mole fraction of CO2 in percentage is: 8.71369294606", - "The apparent molecular weight of the mixture in kg/kmol is: 12.7800829876" - ] - } - ], - "prompt_number": 2 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "m1 = 0.3 # mass of CO2 in kg", - "m2 = 0.2 # mass of N2 in kg", - "p1 = 1.0 # in bar", - "T1 = 300.0 # in kelvin", - "p2 = 3.0 # in bar", - "n = 1.25", - "", - "T2 = T1*(p2/p1)**((n-1)/n) # in kelvin", - "print 'The final temperature in Kelvin is: ',T2", - "", - "Rbar = 8.314 # universal gas constant in SI units", - "M = (m1+m2)/(m1/44 + m2/28) # molar mass of mixture in kg/kmol", - "W = ((m1+m2)*(Rbar/M)*(T2-T1))/(1-n) # in kj", - "print 'The work in kj is: ',W ", - "", - "uCO2T1 = 6939.0 # internal energy of CO2 on molar mass basis at temperature T1", - "uCO2T2 = 9198.0 # internal energy of CO2 on molar mass basis at temperature T2", - "uN2T1 = 6229.0 # internal energy of N2 on molar mass basis at temperature T1", - "uN2T2 = 7770.0 # internal energy of N2 on molar mass basis at temperature T2", - "deltaU = (m1/44)*(uCO2T2-uCO2T1) + (m2/28)*(uN2T2-uN2T1) # internal energy change of the mixture in KJ", - "", - "Q = deltaU + W", - "print 'The heat transfer in kj is: ',Q", - "", - "sbarT2CO2 = 222.475", - "sbarT1CO2 = 213.915 ", - "sbarT2N2 = 198.105", - "sbarT1N2 = 191.682", - "Rbar = 8.314 # universal gas constant", - "import math", - "deltaS = (m1/44)*(sbarT2CO2-sbarT1CO2-Rbar*math.log(p2/p1)) + (m2/28)*(sbarT2N2-sbarT1N2-Rbar*math.log(p2/p1))", - "print 'The change in entropy of the mixture in kj/k is: ',deltaS" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "The final temperature in Kelvin is: 373.719281885", - "The work in kj is: -34.2270009251", - "The heat transfer in kj is: -7.81758534069", - "The change in entropy of the mixture in kj/k is: -0.0232760033842" - ] - } - ], - "prompt_number": 3 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "", - "y1 = 0.8 # mole fraction of CO2", - "y2 = 0.2 # mole fraction of O2", - "T1 = 700.0 # in kelvin", - "p1 = 5.0 # in bars", - "V1 = 3.0 # in m/s", - "p2 = 1.0 # in bars", - "", - "", - "sO2barT1 = 231.358", - "sCO2barT1 = 250.663", - "import math", - "RHS = y2*sO2barT1 + y1*sCO2barT1 + 8.314*math.log(p2/p1)", - "LHSat510K = y2*221.206 + y1*235.7", - "LHSat520K = y2*221.812 + y1*236.575", - "T2 = 510 +((520-510)/(LHSat520K-LHSat510K))*(RHS-LHSat510K)", - "print 'The temperature at the nozzle exit in K is: ',T2", - "", - "sbarO2T2 = 221.667 # in kj/kmol.K", - "sbarO2T1 = 231.358 # in kj/kmol.K", - "sbarCO2T2 = 236.365 # in kj/kmol.K", - "sbarCO2T1 = 250.663 # in kj/kmol.K", - "deltasbarO2 = sbarO2T2-sbarO2T1-8.314*math.log(p2/p1) # in kj/kmol.K", - "deltasbarCO2 = sbarCO2T2-sbarCO2T1-8.314*math.log(p2/p1) # in kj/kmol.K", - "print 'The entropy changes of the CO2 from inlet to exit, in KJ/Kmol.K is: ',deltasbarCO2", - "print 'The entropy change of the O2 from inlet to the exit in kj/kmol.k is: ',deltasbarO2", - "", - "h1barO2 = 21184.0", - "h2barO2 = 15320.0", - "h1barCO2 = 27125.0", - "h2barCO2 = 18468.0", - "M = y1*44.0 + y2*32.0 # apparent molecular weight of the mixture in kg/kmol", - "deltah = (1.0/M)*(y2*(h1barO2-h2barO2) + y1*(h1barCO2-h2barCO2))", - "V2 = math.sqrt(V1**2+ 2*deltah*10**3)", - "print 'The exit velocity in m/s is: ',V2" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "The temperature at the nozzle exit in K is: 517.549113444", - "The entropy changes of the CO2 from inlet to exit, in KJ/Kmol.K is: -0.917133196023", - "The entropy change of the O2 from inlet to the exit in kj/kmol.k is: 3.68986680398", - "The exit velocity in m/s is: 623.983296128" - ] - } - ], - "prompt_number": 4 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "nN2 = 0.79 # initial moles of nitrogen in kmol", - "pN2 = 2.0 # initial pressure of nitrogen in bars", - "TN2 = 250.0 # initial temperature of nitrogen in kelvin", - "nO2 = 0.21 # initial moles of oxygen in kmol", - "pO2 = 1.0 # initial pressure of oxygen in bars", - "TO2 = 300.0 # initial temperature of oxygen in kelvin", - "", - "MN2 = 28.01 # molar mass of nitrogen in kg/kmol", - "MO2 = 32.0 # molar mass of oxygen in kg/kmol", - "cvbarN2 = MN2*0.743 # in kj/kmol.K", - "cvbarO2 = MO2*0.656 # in kj/kmol.K", - "T2 = (nN2*cvbarN2*TN2+nO2*cvbarO2*TO2)/(nN2*cvbarN2+nO2*cvbarO2)", - "print 'The final temperature of the mixture in kelvin is: ',T2", - "", - "p2 = ((nN2+nO2)*T2)/(nN2*TN2/pN2 + nO2*TO2/pO2)", - "print 'The final pressure of the mixture in bar is: ',p2", - "", - "Rbar = 8.314 # universal gas constant", - "import math", - "cpbarN2 = cvbarN2 + Rbar", - "cpbarO2 = cvbarO2 + Rbar", - "yN2 = nN2/(nN2+nO2) # mole fraction of N2", - "yO2 = nO2/(nN2+nO2) # mole fraction of O2", - "sigma = nN2*(cpbarN2*math.log(T2/TN2)-Rbar*math.log(yN2*p2/pN2)) + nO2*(cpbarO2*math.log(T2/TO2)-Rbar*math.log(yO2*p2/pO2))", - "print 'The amount of entropy produced in the mixing process, in kJ/K is: ',sigma" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "The final temperature of the mixture in kelvin is: 260.571840521", - "The final pressure of the mixture in bar is: 1.61095419179", - "The amount of entropy produced in the mixing process, in kJ/K is: 4.94715526048" - ] - } - ], - "prompt_number": 5 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "T1 = 32.0 # temperature of dry air in degree celcius", - "p1 = 1.0 # pressure of dry air in bar", - "AV1 = 100.0 # volume rate of dry air in m^3/min", - "T2 = 127.0 # temperature of oxygen stream in degree celcius", - "p2 = 1.0 # pressure of oxygen stream in bar", - "T3 = 47.0 # temperature of mixed stream in degree celcius", - "p3 = 1.0 # pressure of mixed stream in bar", - "", - "Rbar = 8314.0 # universal gas constant", - "Ma = 28.97 # molar mass of air", - "Mo = 32.0 # molar mass of oxygen", - "haT3 = 320.29 # in kj/kg", - "haT1 = 305.22 # in kj/kg", - "hnotT2 = 11711.0 # in kj/kmol", - "hnotT1 = 9325.0 # in kj/kmol", - "", - "va1 = (Rbar/Ma)*(T1+273.0)/(p1*10**5) # specific volume of air in m^3/kg", - "ma1dot = AV1/va1 # mass flow rate of dry air in kg/min", - "modot = ma1dot*(haT3-haT1)/((1/Mo)*(hnotT2-hnotT1)) # in kg/min", - "print 'The mass flow rate of dry air in kg/min is: ',ma1dot", - "print 'The mass flow rate of oxygen in kg/min is: ',modot", - "", - "nadot = ma1dot/Ma # molar flow rate of air in kmol/min", - "nodot = modot/Mo # molar flow rate of oxygen in kmol/min", - "ya = nadot/(nadot+nodot) # mole fraction of air", - "yo = nodot/(nadot+nodot) # mole fraction of oxygen", - "print 'The mole fraction of dry air in the exiting mixture is: ',ya", - "print 'The mole fraction of dry oxygen in the exiting mixture is: ',yo", - "", - "sanotT3 = 1.7669 # in kj/kg.K", - "sanotT1 = 1.71865 # in kj/kg.K", - "sbarT3 = 207.112 # in kj/kmol.K", - "sbarT2 = 213.765 # in kj/kmol.K", - "import math", - "sigmadot = ma1dot*(sanotT3-sanotT1-(8.314/Ma)*math.log(ya))+ (modot/Mo)*(sbarT3-sbarT2-8.314*math.log(yo))", - "print 'The time rate of entropy production, in kJ/K . min is: ',sigmadot" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "The mass flow rate of dry air in kg/min is: 114.245377144", - "The mass flow rate of oxygen in kg/min is: 23.0903984383", - "The mole fraction of dry air in the exiting mixture is: 0.845326536426", - "The mole fraction of dry oxygen in the exiting mixture is: 0.154673463574", - "The time rate of entropy production, in kJ/K . min is: 17.4180498088" - ] - } - ], - "prompt_number": 6 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "m =1.0 # mass of sample in kg", - "T1 = 21.0 # initial temperature in degree celcius", - "psi1 = 0.7 # initial relative humidity", - "T2 = 5.0 # final temperature in degree celcius", - "", - "pg = 0.02487 # in bar", - "pv1 = psi1*pg # partial pressure of water vapor in bar", - "omega1 = 0.622*(0.2542)/(14.7-0.2542)", - "print 'the initial humidity ratio is: ',omega1", - "", - "T = 15.3 # the dew point temperature in degree celcius", - "print 'The dew point temperature in degree celcius is: ',T", - "", - "mv1 = 1/((1/omega1)+1) # initial amount of water vapor in the sample in kg", - "ma = m-mv1 # mass of dry air present in kg", - "pg = 0.00872 # in bar", - "omega2 = 0.622*(pg)/(1.01325-pg) # humidity ratio after cooling", - "mv2 = omega2*ma # The mass of the water vapor present at the final state", - "mw = mv1-mv2", - "", - "print 'The amount of water vapor that condenses, in kg. is: ',mw" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "the initial humidity ratio is: 0.0109452159105", - "The dew point temperature in degree celcius is: 15.3", - "The amount of water vapor that condenses, in kg. is: 0.00548579192846" - ] - } - ], - "prompt_number": 7 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "V = 35.0 # volume of the vessel in m^3", - "p1 = 1.5 # in bar", - "T1 = 120.0 # in degree celcius", - "psi1 = 0.1 ", - "T2 = 22.0 # in degree celcius", - "", - "pg1 = 1.985", - "T = 60.0 # in degree celcius", - "pv1 = psi1*pg1 # partial pressure in bar", - "print 'The dew point temperature corresponding to the initial state, in degee celcius is: ',T", - "", - "Rbar = 8314.0 # universal gas constant", - "Mv = 18.0 # molar mass of vapor in kj/kmol", - "Tdash = 56.0 # in degrees", - "vv1 =((Rbar/Mv)*(T1+273))/(pv1*10**5) # the specific volume of the vapor at state 1 in m^3/kg", - "print 'The temperature at which condensation actually begins in degree celcius is: ',Tdash", - "", - "vf2 = 1.0022e-3", - "vg2 = 51.447", - "vv2 = vv1 # specific volume at final state", - "mv1 = V/vv1 # initial amount of water vapor present in kg", - "x2 = (vv2-vf2)/(vg2-vf2) # quality", - "mv2 = x2*mv1 # the mass of the water vapor contained in the system at the final state", - "mw2 = mv1-mv2", - "print 'The amount of water condense in kg is: ',mw2" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "The dew point temperature corresponding to the initial state, in degee celcius is: 60.0", - "The temperature at which condensation actually begins in degree celcius is: 56.0", - "The amount of water condense in kg is: 3.14710226995" - ] - } - ], - "prompt_number": 8 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "V = 35.0 # volume of vessel in m^3", - "p1 = 1.5 # initial pressure in bar", - "T1 = 120.0 # initial temperature in degree celcius", - "psi = 0.1", - "T2 = 22.0 # in degree celcius", - "Rbar = 8314.0 # universal gas constant", - "Ma = 28.97 # molar mass of air", - "pv1 = 0.1985 # in bar, from example 12.8", - "mv2 = 0.681 # in kg, from examples 12.8", - "mv1 = 3.827 # in kg, from example 12.8", - "mw2 = 3.146 # in kg, from example 12.8", - "ua2 = 210.49 # in kj/kg", - "ua1 = 281.1 # in kj/kg", - "ug2 = 2405.7 # in kj/kg", - "uf2 = 92.32 # in kj/kg", - "ug1 = 2529.3 # in kj/kg", - "", - "ma =( ((p1-pv1)*10**5)*V)/((Rbar/Ma)*(T1+273)) # mass of dry air in kg", - "Q = ma*(ua2-ua1) + mv2*ug2 + mw2*uf2 - mv1*ug1", - "", - "print 'The heat transfer during the process, in kJ is: ',Q" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "The heat transfer during the process, in kJ is: -10602.7454057" - ] - } - ], - "prompt_number": 9 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "AV1 = 150.0 # entry volumetric flow rate in m^3/min", - "T1 = 10.0 # entry temperature in degree celcius", - "psi1 = 0.8 ", - "T2 = 30.0 # exit temperature in degree celcius", - "p = 1.0 # in bar", - "", - "Rbar = 8314.0 # universal gas constant", - "Ma = 28.97 # molar mass of air", - "ha1 = 283.1 # in kj/kg", - "ha2 = 303.2 # in kj/kg", - "hv1 = 2519.8 # in kj/kg", - "hv2 = 2556.3 # in kj/kg", - "pg1 = 0.01228 # in bar", - "pv1 = psi1*pg1 # the partial pressure of the water vapor in bar", - "pa1 = p-pv1", - "va1 = (Rbar/Ma)*(T1+273)/(pa1*10**5) # specific volume of the dry air in m^3/kg", - "madot = AV1/va1 # mass flow rate of the dry air in kg/min", - "omega = 0.622*(pv1/(p-pv1)) # humidity ratio", - "Qcvdot = madot*((ha2-ha1)+omega*(hv2-hv1)) # in kj/min", - "print 'Rate of heat transfer, in kJ/min is: ',Qcvdot", - "", - "pg2 = 0.04246 # in bar", - "pv2 = pv1", - "psi2 = pv2/pg2 # relative humidity at the exit", - "print 'The relative humidity at the exit is: ',psi2" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Rate of heat transfer, in kJ/min is: 3716.99116097", - "The relative humidity at the exit is: 0.231370701837" - ] - } - ], - "prompt_number": 10 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "T1 = 30.0 # in degree celcius", - "AV1 = 280.0 # in m^3/min", - "psi1 = 0.5 # relative humidity at the inlet", - "T2 = 10.0 # in degree celcius", - "p = 1.013 # pressure in bar", - "", - "pg1 = 0.04246 # in bar", - "Rbar = 8314 # universal gas constant", - "Ma = 28.97 # molar mass of air", - "pv1 = psi1*pg1 # in bar", - "pa1 = p-pv1 # partial pressure of the dry air in bar", - "madot = AV1/((Rbar/Ma)*((T1+273)/(pa1*10**5))) # common mass flow rate of the dry air in kg/min", - "print 'The mass flow rate of the dry air in kg/min is: ',madot", - "", - "pv2 = 0.01228 # in bar", - "omega1 = 0.622*(pv1/(p-pv1))", - "omega2 = 0.622*(pv2/(p-pv2))", - "mwdotbymadot = omega1-omega2 ", - "print 'The rate at which water is condensed, in kg per kg of dry air flowing through the control volume is: ',mwdotbymadot", - "", - "ha2 = 283.1 # in kg/kj", - "ha1 = 303.2 # in kg/kj", - "hg1 = 2556.3 # in kg/kj", - "hg2 = 2519.8 # in kg/kj", - "hf2 = 42.01 # in kg/kj", - "Qcvdot = madot*((ha2-ha1)-omega1*hg1+omega2*hg2+(omega1-omega2)*hf2) # in kj/min", - "print 'The required refrigerating capacity, in tons is: ',Qcvdot/211" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "The mass flow rate of the dry air in kg/min is: 319.348473885", - "The rate at which water is condensed, in kg per kg of dry air flowing through the control volume is: 0.00568197500137", - "The required refrigerating capacity, in tons is: -52.4650572692" - ] - } - ], - "prompt_number": 11 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "T1 = 22.0 # entry temperature of moist air in degree celcius", - "Twb = 9.0 # wet-bulb temperature of entering moist air in degree celcius", - "madot = 90.0 # mass flow rate of dry air in kg/min", - "Tst = 110.0 # temperature of injected saturated water vapor in degree celcius", - "mstdot = 52.0 # mass flow rate of injected saturated water vapor in kg/h", - "p = 1.0 # pressure in bar", - "", - "omega1 = 0.002", - "omega2 = omega1 + mstdot/(madot*60)", - "print 'The humidity ratio at the exit is: ',omega2", - "", - "T2 = 23.5 # in degree celcius", - "print 'The temperature at the exit in degree celcius is: ',T2" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "The humidity ratio at the exit is: 0.0116296296296", - "The temperature at the exit in degree celcius is: 23.5" - ] - } - ], - "prompt_number": 12 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "T1 = 38.0 # temperature of entering air in degree celcius", - "psi1 = 0.1 # relative humidity of entering air ", - "AV1 = 140.0 # volumetric flow rate of entering air in m^3/min", - "Tw = 21.0 # temperature of added water in degree celcius", - "T2 = 21.0 # temperature of exiting moist air in degree celcius", - "p = 1.0 # pressure in atm", - "", - "pg1 = 0.066 # in bar", - "va1 = .887 # in m^3/kg", - "cpa = 1.005", - "hf = 88.14", - "hg1 = 2570.7", - "hg2 = 2539.94", - "pv1 = psi1*pg1 # the partial pressure of the moist air entering the control volume in bar", - "omega1 = 0.622*(pv1/(p*1.01325-pv1))", - "omega2 = (cpa*(T1-T2)+omega1*(hg1-hf))/(hg2-hf)", - "madot = AV1/va1 # mass flow rate of the dry air in kg/min", - "mwdot = madot*60*(omega2-omega1) # in kg/h", - "print 'The mass flow rate of the water to the soaked pad in kj/h is: ',mwdot", - "", - "pv2 = (omega2*p*1.01325)/(omega2+0.622) # in bars", - "pg2 = 0.02487", - "psi2 = pv2/pg2", - "print 'The relative humidity of the moist air at the exit to the evaporative cooler is: ',psi2" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "The mass flow rate of the water to the soaked pad in kj/h is: 66.4756578168", - "The relative humidity of the moist air at the exit to the evaporative cooler is: 0.714165693403" - ] - } - ], - "prompt_number": 13 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "AV1 = 142.0 # in m^3/min", - "T1 = 5.0 # in degree celcius", - "omega1 = 0.002", - "AV2 = 425.0 # in m^3/min", - "T2 = 24.0 # in degree celcius", - "psi2 = 0.5", - "p = 1.0 # in bar", - "", - "", - "va1 = 0.79 # in m^3/kg", - "va2 = 0.855 # in m^3/kg", - "omega2 = 0.0094", - "ma1dot = AV1/va1 # in kg/min", - "ma2dot = AV2 /va2 # in kg/min", - "omega3 = (omega1*ma1dot+omega2*ma2dot)/(ma1dot + ma2dot) ", - "print 'The humidity ratio is: ',omega3", - "", - "LHS = (ma1dot*10+ma2dot*47.8)/(ma1dot + ma2dot)", - "", - "T3 = 19.0 # in degree celcius", - "print 'The temperature of the exiting mixed stream in degree celcius is: ',T3" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "The humidity ratio is: 0.0074347493219", - "The temperature of the exiting mixed stream in degree celcius is: 19.0" - ] - } - ], - "prompt_number": 14 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "T1 = 38.0 # in degree celcius", - "m1dot = 4.5e7 # in kg/h", - "T2 = 30.0 # in degree celcius", - "m2dot = 4.5e7 # in kg/h", - "T3 = 25.0 # in degree celcius", - "psi3 = 0.35", - "T4 = 35.0 # in degree celcius", - "psi4 = 0.9", - "T5 = 20.0 # in degree celcius", - "", - "omega3 =0.00688", - "omega4 = 0.0327", - "hf1 = 159.21", - "hf2 = 125.79", - "ha4 = 308.2", - "ha3 = 298.2", - "hg4 = 2565.3", - "hg3 = 2547.2", - "hf5 = 83.96", - "madot = (m1dot*(hf1-hf2))/(ha4-ha3+omega4*hg4-omega3*hg3-(omega4-omega3)*hf5) # in kg/h", - "m5dot = madot*(omega4-omega3) # in kg/h", - "print 'The mass flow rate of dry air in kg/h is: ',madot", - "print 'The mass flow rate of makeup water in kg/h is: ',m5dot" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "The mass flow rate of dry air in kg/h is: 20270180.9849", - "The mass flow rate of makeup water in kg/h is: 523376.07303" - ] - } - ], - "prompt_number": 15 - } - ] - } - ] -}
\ No newline at end of file diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_13_2.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_13_2.ipynb deleted file mode 100644 index 7baea414..00000000 --- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_13_2.ipynb +++ /dev/null @@ -1,737 +0,0 @@ -{ - "metadata": { - "name": "Chapter 13" - }, - "nbformat": 2, - "worksheets": [ - { - "cells": [ - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "b = 8.00", - "c = 18.00/2.00", - "a = (2.00*b+c)/2.00", - "d = 3.76*a", - "", - "AFbar = a*(1+3.76)/1.00", - "Ma = 28.97 # molar mass of air", - "MC8H18 = 114.22 # molar mass of C8H18", - "AF = AFbar*(Ma/MC8H18)", - "", - "print '-> The air\u2013fuel ratio on a molar basis is: '", - "print AFbar", - "print '-> The air\u2013fuel ratio expressed on a mass basis is: '", - "print round(AF,2)", - "", - "b = 8.00", - "c =18.00/2.00", - "e = (1.5*12.5*2 - c -2*b)/2.00", - "d = 1.5*12.5*3.76", - "AFbar = 1.5*12.5*(1+3.76)/1", - "AF = AFbar*(Ma/MC8H18)", - "", - "print '-> The air\u2013fuel ratio on a molar basis is: '", - "print AFbar", - "print '-> The air\u2013fuel ratio expressed on a mass basis is: '", - "print round(AF,2)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The air\u2013fuel ratio on a molar basis is: ", - "59.5", - "-> The air\u2013fuel ratio expressed on a mass basis is: ", - "15.09", - "-> The air\u2013fuel ratio on a molar basis is: ", - "89.25", - "-> The air\u2013fuel ratio expressed on a mass basis is: ", - "22.64" - ] - } - ], - "prompt_number": 18 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "a = 9.7 + 0.5", - "c = 2.0*a", - "b = ((9.7)*(2.0)+(0.5)+((2.0)*(2.95))+c)/2.00", - "Ma = 28.97 # molar mass of air", - "MCH4 = 16.04 # molar mass of methane", - "AFbar = (b*(1+3.76))/a", - "AF = AFbar*(Ma/MCH4)", - "", - "print '-> The air-fuel ratio on a molar basis is: '", - "print AFbar", - "print '-> The air-fuel ratio on a mass basis is: '", - "print round(AF,2)", - "", - "AFbartheo = 2.00*(1+3.76)/1.0", - "Ta = AFbar/AFbartheo", - "print '-> The percent theoretical air is: '", - "print round(Ta*100,2)", - "", - "yv = 20.4/(100+20.4)", - "pv = yv*1", - "T = 57 # in degree celcius", - "print '-> The dew point temperature of the products, in \u0004C, if the mixture were cooled at 1 atm is: '", - "print T" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The air-fuel ratio on a molar basis is: ", - "10.78", - "-> The air-fuel ratio on a mass basis is: ", - "19.47", - "-> The percent theoretical air is: ", - "113.24", - "-> The dew point temperature of the products, in \u0004C, if the mixture were cooled at 1 atm is: ", - "57" - ] - } - ], - "prompt_number": 19 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "b = (0.8062 + 2*.0541 + 3*.0187 + 4*.0160)/(.078 + .002)", - "c = (4*.8062 + 6*.0541 + 8*.0187 + 10*.0160)/2", - "a = (b*(2*.078+.002+2*.07) + c)/2", - "AFbar = a*(1+3.76)/1", - "print '-> The air-fuel ratio on a molar mass basis is: '", - "print round(AFbar,2)", - "", - "p = 1.0 # in bar", - "V = 100.0 # in m^3", - "Rbar = 8314.0 # in N.m/kmol.K", - "T = 300.0 # in kelvin", - "nF = (p*10**5*V)/(Rbar*T)", - "n = nF*(b+c)", - "print '-> The amount of products in kmol that would be formed from 100 m3 of fuel mixture at 300 K and 1 bar is: '", - "print round(n,2)", - "", - "AFbartheo = 2*(1+3.76)/1", - "Ta = AFbar/AFbartheo", - "print '-> The percent of theoretical air is: '", - "print round(Ta*100,2)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The air-fuel ratio on a molar mass basis is: ", - "13.76", - "-> The amount of products in kmol that would be formed from 100 m3 of fuel mixture at 300 K and 1 bar is: ", - "59.58", - "-> The percent of theoretical air is: ", - "144.58" - ] - } - ], - "prompt_number": 20 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "hRbar = -249910 # in kj/kmol", - "mfdot = 1.8e-3 # mass flow rate of liquid octane in kg/s", - "M = 114.22 # molar mass of octane", - "Wcvdot = 37 # power output of the engine in kw", - "", - "hpbar = 8*(-393520 + (36876 - 9364)) + 9*(-241820 + (31429 - 9904)) + 47*((26568 - 8669))", - "nFdot = mfdot/M # molar flow rate of the fuel in kmol/s", - "Qcvdot = Wcvdot + nFdot*(hpbar-hRbar) # in kw", - "", - "print '-> The rate of heat transfer from the engine, in kW is: '", - "print round(Qcvdot,2)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The rate of heat transfer from the engine, in kW is: ", - "-23.19" - ] - } - ], - "prompt_number": 21 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "cpbar = 38.00 # specific heat in KJ/kmol.K", - "hfnotbar = -74850.00 # enthalpy of formation for methane", - "deltahbarO2 = 14770-8682", - "deltahbarN2 = 14581-8669", - "", - "hRbar = hfnotbar + cpbar*(400-298) + 2.265*deltahbarO2 + 8.515*deltahbarN2 # in kj/kmol", - "hpbar = .951*(-393520 + (88806 - 9364)) + .049*(-110530 + (58191 - 8669)) + .289*(60371 - 8682) + 8.515*(57651 - 8669) + 2*(-241820 + (72513 - 9904))", - "Qcvdot = hpbar - hRbar # in kj/kmol", - "", - "print '-> The rate of heat transfer from the combustion chamber in kJ per kmol of fuel is: '", - "print round(Qcvdot,2)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The rate of heat transfer from the combustion chamber in kJ per kmol of fuel is: ", - "-221235.72" - ] - } - ], - "prompt_number": 22 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "nCH4 = 1.00 # moles of methane in kmol", - "nO2 = 2.00 # moles of oxygen in kmol", - "T1 = 25.00 # in degree celcius", - "p1 = 1.00 # in atm", - "T2 = 900.00 # in kelvin", - "Rbar = 8.314 # universal gas constant", - "", - "hfbarCO2 = -393520", - "hfbarH2O = -241820", - "hfbarCH4 = -74850", - "deltahbarCO2 = 37405-9364", - "deltahbarH2O = 31828-9904", - "Q = ((hfbarCO2 + deltahbarCO2)+2*(hfbarH2O + deltahbarH2O) - hfbarCH4) + 3*Rbar*(T1+273-T2)", - "print '-> The amount of heat transfer in kJ is: '", - "print round(Q,2)", - "", - "p2 = p1*(T2/(T1+273)) # in atm", - "print '-> The final pressure in atm is: '", - "print round(p2,2)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The amount of heat transfer in kJ is: ", - "-745436.08", - "-> The final pressure in atm is: ", - "3.02" - ] - } - ], - "prompt_number": 23 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "", - "hfbarCO2 = -393520 # in kj/kmol", - "hfbarH2O = -285830 # in kj/kmol", - "hfbarCH4 = -74850 # in kj/kmol", - "M = 16.04 # molar mass of CH4 in kg/kmol", - "hRPbar = hfbarCO2 + 2*hfbarH2O - hfbarCH4 # in kj/kmol", - "hRP = hRPbar/M # in kj/kg", - "print '-> Part(a)the enthalpy of combustion of gaseous methane, fuel is: ',hRP,'kJ/kg.'", - "", - "hfbarCO2 = -393520 # in kj/kmol", - "hfbarH2O = -241820 # in kj/kmol", - "hfbarCH4 = -74850 # in kj/kmol", - "hRPbar = hfbarCO2 + 2*hfbarH2O - hfbarCH4 # in kj/kmol", - "hRP = hRPbar/M # in kj/kg", - "print '-> Part(b)the enthalpy of combustion of gaseous methane, fuel is: ',hRP,'kJ/kg'", - "", - "deltahbarO2 = 31389-8682 # in kj/kmol", - "deltahbarH2O = 35882-9904 # in kj/kmol", - "deltahbarCO2 = 42769-9364 # in kj/kmol", - "", - "T=298 # in kelvin", - "from scipy import integrate", - "cpbar = lambda T: (3.826 - (3.979e-3)*T + 24.558e-6*T**2 - 22.733e-9*T**3 + 6.963e-12*T**4)*8.314", - "deltahbarCH4 = integrate.quad(cpbar,298,1000)", - "var = deltahbarCH4[0]", - "", - "hRPbar = hRPbar + (deltahbarCO2 + 2*deltahbarH2O - var -2*deltahbarO2)", - "hRP = hRPbar/M # in kj/kg", - "print '-> Part(c)the enthalpy of combustion of gaseous methane, per kg of fuel is ',hRP,'kJ/kg'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> Part(a)the enthalpy of combustion of gaseous methane, fuel is: -55506.8578554 kJ/kg.", - "-> Part(b)the enthalpy of combustion of gaseous methane, fuel is: -50019.3266833 kJ/kg", - "-> Part(c)the enthalpy of combustion of gaseous methane, per kg of fuel is -49909.7030379 kJ/kg" - ] - } - ], - "prompt_number": 24 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "hfbarC8H18 = -249910.0 # in kj/kmol", - "hfbarCO2 = -393520.0", - "hfbarH2O = -241820.0", - "", - "RHS = hfbarC8H18 -(8*hfbarCO2 + 9*hfbarH2O) # in kj/kmol", - "LHS1 = 5089337.0 # in kj/kmol", - "LHS2 = 4955163.0 # in kj/kmol", - "Tp = 2400.00 + ((2400.0-2350.0)/(LHS1-LHS2))*(RHS-LHS1)", - "print '-> The temperature in kelvin with theoretical amount of air is: '", - "print round(Tp,2)", - "", - "", - "Tp = 962 # in kelvin", - "", - "print '-> The temperature in kelvin using 400 percent theoretical air is: '", - "print round(Tp,2)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The temperature in kelvin with theoretical amount of air is: ", - "2394.52", - "-> The temperature in kelvin using 400 percent theoretical air is: ", - "962.0" - ] - } - ], - "prompt_number": 25 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "import math", - "Tp = 2395 # in kelvin, from example 13.8", - "", - "sFbar = 360.79 # absolute entropy of liquid octane in kj/kmol.K", - "", - "sbarO2atTref = 205.03 # in kj/kmol.K", - "sbarN2atTref = 191.5 # in kj/kmol.K", - "Rbar = 8.314 # universal gas constant in SI units", - "yO2 = 0.21", - "yN2 = 0.79", - "yCO2 = 8.0/64.0", - "yH2O = 9.0/64.0", - "yN2p = 47.0/64.0", - "", - "sbarO2 = sbarO2atTref - Rbar*math.log(yO2) # in kj/kmol.K", - "sbarN2 = sbarN2atTref - Rbar*math.log(yN2) # in kj/kmol.K", - "sbarCO2 = 320.173 - Rbar*math.log(yCO2)", - "sbarH2O = 273.986 - Rbar*math.log(yH2O)", - "sbarN2p = 258.503 - Rbar*math.log(yN2p)", - "sigmadot = (8*sbarCO2 + 9*sbarH2O + 47*sbarN2p) - sFbar - (12.5*sbarO2 + 47*sbarN2)", - "", - "print '-> The rate of entropy production, in kJ/K per kmol of fuel with theoretical amount of air is: '", - "print round(sigmadot,2)", - "", - "", - "yCO2 = 8.0/242.5", - "yH2O = 9.0/242.5", - "yO2 = 37.5/242.5", - "yN2p = 188.0/242.5", - "sbarCO2 = 267.12 - Rbar*math.log(yCO2)", - "sbarH2O = 231.01 - Rbar*math.log(yH2O)", - "sbarO2p = 242.12 - Rbar*math.log(yO2)", - "sbarN2p = 226.795 - Rbar*math.log(yN2p)", - "sigmadot = (8.0*sbarCO2 + 9.0*sbarH2O + 37.5*sbarO2p +188.0*sbarN2p) -sFbar - (50.0*sbarO2 + 188.0*sbarN2)", - "", - "print '-> The rate of entropy production, in kJ/K per kmol of fuel with 400 percent theoretical air is: '", - "print round(sigmadot,2)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The rate of entropy production, in kJ/K per kmol of fuel with theoretical amount of air is: ", - "5404.17", - "-> The rate of entropy production, in kJ/K per kmol of fuel with 400 percent theoretical air is: ", - "9754.75" - ] - } - ], - "prompt_number": 26 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "import math", - "Rbar = 8.314 # universal gas constant in SI units", - "yCH4 = 1.0/3.0", - "yO2 = 2.0/3.0", - "yCO2 = 1.0/3.0", - "yH2O = 2.0/3.0", - "sbarCH4atTref = 186.16 # in kj/kmol.K", - "sbarO2atTref = 205.03 # in kj/kmol.K", - "p2 = 3.02 # in atm", - "pref = 1.0 # in atm", - "", - "sbarCH4 = sbarCH4atTref - Rbar*math.log(yCH4)", - "sbarO2 = sbarO2atTref - Rbar*math.log(yO2)", - "sbarCO2 = 263.559 - Rbar*math.log(yCO2*p2/pref) # in kj/kmol.K", - "sbarH2O = 228.321 - Rbar*math.log(yH2O*p2/pref) # in kj/kmol.K", - "deltaS = sbarCO2 + 2*sbarH2O - sbarCH4 -2*sbarO2 # in kj/K", - "", - "print '-> The change in entropy of the system is: ',round(deltaS,2),'kJ/K'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The change in entropy of the system is: 96.41 kJ/K" - ] - } - ], - "prompt_number": 27 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "", - "hCbar = 0", - "hH2bar = 0", - "gRbar = 0", - "hfbarCH4 = -74850", - "sbarCH4 = 186.16", - "sbarC = 5.74", - "sbarH2 = 130.57", - "Tref = 298.15 # in kelvin", - "", - "gfbarCH4 = hfbarCH4 -Tref*(sbarCH4-sbarC-2*sbarH2) # in kj/kmol", - "", - "print '-> The gibbs function of formation of methane at the standard state is: ',gfbarCH4,'kJ/mol'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The gibbs function of formation of methane at the standard state is: -50783.332 kJ/mol" - ] - } - ], - "prompt_number": 28 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "import math", - "Rbar = 8.314 # universal gas constant in SI units", - "Tnot = 298.15 # in kelvin", - "gbarC8H18 = 6610.0", - "gbarO2 = 0", - "gbarCO2 = -394380", - "gbarH2O = -228590", - "yO2 = 0.2035", - "yCO2 = 0.0003", - "yH2O = 0.0312", - "M = 114.22 # molecular weight of liquid octane", - "", - "ech = ((gbarC8H18 + 12.5*gbarO2 -8*gbarCO2 -9*gbarH2O) + Rbar*Tnot*math.log(yO2**12.5/(yCO2**8*yH2O**9 )))/M", - "print '-> Part(a) the chemical exergy obtained on a unit mass basis is: ',round(ech,2),'kJ/K'", - "", - "gbarH2O = -237180.0", - "ebarCO2 = 19870.0", - "ebarH2O = 900.0", - "ebarO2 = 3970.0", - "", - "ech = ((gbarC8H18 + 12.5*gbarO2 -8*gbarCO2 - 9*gbarH2O) + 8*ebarCO2 + 9*ebarH2O - 12.5*ebarO2)/M", - "print '-> Part(b) chemical exergy on a unit mass basis is:',round(ech,3),'kJ/K'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> Part(a) the chemical exergy obtained on a unit mass basis is: 47345.85 kJ/K", - "-> Part(b) chemical exergy on a unit mass basis is: 47397.172 kJ/K" - ] - } - ], - "prompt_number": 29 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "import math", - "Rbar = 8.314 # universal gas constant in SI units", - "Tnot = 298.0 # in kelvin", - "h = 2939.9 # in kj/kg", - "hnot = 104.9 # in kj/kg", - "s = 7.2307 # in kj/kg", - "snot = 0.3674 # in kj/kg", - "gbarH2Oliq = -237180.0", - "gbarH2Ogas = -228590.0", - "yeH2O = 0.0303", - "M =18.0 # molar mass of steam", - "", - "ech = (1.0/M)*(gbarH2Oliq-gbarH2Ogas + Rbar*Tnot*math.log(1/yeH2O)) # in kj/kg", - "ef = h-hnot-Tnot*(s-snot) + ech # in kj/kg", - "", - "print '-> The flow exergy of the steam, in kJ/k is: '", - "print round(ef,2)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The flow exergy of the steam, in kJ/k is: ", - "793.8" - ] - } - ], - "prompt_number": 30 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "", - "yCO2p = 1.0/(1.0+2.0+10.53+.8)", - "yH2Op = 2.0/(1.0+2.0+10.53+.8)", - "yN2p = 10.53/(1.0+2.0+10.53+.8)", - "yO2p = 0.8/(1.0+2.0+10.53+.8)", - "", - "Rbar = 8.314 # universal gas constant in SI units", - "Tnot = 298.15 # in kelvin", - "", - "yeN2 = 0.7567", - "yeO2 = 0.2035", - "yeH2O = 0.0303", - "yeCO2 = 0.0003", - "", - "import math", - "ebarch = Rbar*Tnot*(math.log(yCO2p/yeCO2) + 2*math.log(yH2Op/yeH2O) + 10.53*math.log(yN2p/yeN2) + .8*math.log(yO2p/yeO2))", - "", - "contri480 = 17712.0 # kJ per kmol of fuel", - "contri1560 = 390853.0 # kJ per kmol of fuel", - "efbar480 = contri480 + ebarch # kJ per kmol of fuel", - "efbar1560 = contri1560 + ebarch # kJ per kmol of fuel", - "", - "print '-> At T= 480k, the flow exergy of the combustion products, in kJ per kmol of fuel is: '", - "print round(efbar480,2)", - "print '-> At T = 1560K, the flow exergy of the combustion products, in kJ per kmol of fuel is: '", - "print round(efbar1560,2)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> At T= 480k, the flow exergy of the combustion products, in kJ per kmol of fuel is: ", - "35461.61", - "-> At T = 1560K, the flow exergy of the combustion products, in kJ per kmol of fuel is: ", - "408602.61" - ] - } - ], - "prompt_number": 31 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "mFdot = 1.8e-3 # fuel mass flow rate in kg/s", - "ech = 47346.0 # in kj/kg, from example 13.12(a)", - "Wcvdot = 37.0 # power developed by the engine in kw", - "", - "Efdot = mFdot*ech # rate at which exergy enters with the fuel in kw", - "epsilon = Wcvdot/Efdot # exergetic efficiency", - "", - "print '-> The exergetic efficiency is: '", - "print round(epsilon,3)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The exergetic efficiency is: ", - "0.434" - ] - } - ], - "prompt_number": 32 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "Tnot = 298 # in kelvin", - "", - "sigmadot = 5404.0 # rate of entropy production from example 13.9, in kj/kmol.K", - "Efdot = 5407843.0 # rate at which exergy enters with the fuel from example 13.12, in kj/kmol", - "Eddot = Tnot*sigmadot # in kj/kmol", - "epsilon = 1-Eddot/Efdot", - "print '-> The exergetic efficiency with theoretical amount of air is: '", - "print round(epsilon,3)", - "", - "sigmadot = 9754.0 # rate of entropy production from example 13.9, in kj/kmol.K", - "Eddot = Tnot*sigmadot # in kj/kmol", - "epsilon = 1-Eddot/Efdot", - "print 'The exergetic efficiency with 400 percent theoretical amount of air is: '", - "print round(epsilon,3)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The exergetic efficiency with theoretical amount of air is: ", - "0.702", - "The exergetic efficiency with 400 percent theoretical amount of air is: ", - "0.463" - ] - } - ], - "prompt_number": 33 - } - ] - } - ] -}
\ No newline at end of file diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_14_2.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_14_2.ipynb deleted file mode 100644 index 6a3dc148..00000000 --- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_14_2.ipynb +++ /dev/null @@ -1,391 +0,0 @@ -{ - "metadata": { - "name": "Chapter 14" - }, - "nbformat": 2, - "worksheets": [ - { - "cells": [ - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "T = 298.0 # in kelvin", - "Rbar = 8.314 # universal gas constant in SI units", - "", - "hfbarCO2 = -393520.0 # in kj/kmol", - "hfbarCO = -110530.0 # in kj/kmol", - "hfbarO2 = 0 # in kj/kmol", - "deltahbarCO2 = 0 # in kj/kmol", - "deltahbarCO = 0 # in kj/kmol", - "deltahbarO2 = 0 # in kj/kmol", - "sbarCO2 = 213.69 # in kj/kmol.K", - "sbarCO = 197.54 # in kj/kmol.K", - "sbarO2 = 205.03 # in kj/kmol.K", - "logKtable = 45.066", - "import math", - "deltaG = (hfbarCO2-hfbarCO-.5*hfbarO2) + (deltahbarCO2-deltahbarCO-.5*deltahbarO2) - T*(sbarCO2-sbarCO-.5*sbarO2)", - "lnK = -deltaG/(Rbar*T)", - "logK = (1/math.log(10))*lnK", - "print '-> Part(a) the value of equilibrium constant expressed as log10K is: '", - "print logK", - "print '-> The value of equilibrium constant expressed as log10K from table A-27 is: '", - "print logKtable", - "", - "T = 2000.0 # in kelvin", - "hfbarCO2 = -393520.0 # in kj/kmol", - "hfbarCO = -110530.0 # in kj/kmol", - "hfbarO2 = 0 # in kj/kmol", - "deltahbarCO2 = 100804-9364 # in kj/kmol", - "deltahbarCO = 65408 - 8669 # in kj/kmol", - "deltahbarO2 = 67881 - 8682 # in kj/kmol", - "sbarCO2 = 309.210 # in kj/kmol.K", - "sbarCO = 258.6 # in kj/kmol.K", - "sbarO2 = 268.655 # in kj/kmol.K", - "deltaG = (hfbarCO2-hfbarCO-.5*hfbarO2) + (deltahbarCO2-deltahbarCO-.5*deltahbarO2) - T*(sbarCO2-sbarCO-.5*sbarO2)", - "lnK = -deltaG/(Rbar*T)", - "logK = (1/math.log(10))*lnK", - "logKtable = 2.884", - "print '-> Part(b) the value of equilibrium constant expressed as log10K is: '", - "print logK", - "print '-> The value of equilibrium constant expressed as log10K from table A-27 is: '", - "print logKtable" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> Part(a) the value of equilibrium constant expressed as log10K is: ", - "45.094010685", - "-> The value of equilibrium constant expressed as log10K from table A-27 is: ", - "45.066", - "-> Part(b) the value of equilibrium constant expressed as log10K is: ", - "2.88485359375", - "-> The value of equilibrium constant expressed as log10K from table A-27 is: ", - "2.884" - ] - } - ], - "prompt_number": 10 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "", - "log10K = -1.44", - "p = 1.0 # in atm", - "import math", - "K = (10.0)**(log10K) # equilibrium constant", - "z = 0.129", - "yCO = 2.0*z/(2.0 + z)", - "yO2 = z/(2.0 + z)", - "yCO2 = 2.0*(1.0 - z)/(2.0 + z)", - "", - "print '-> Part(a) mole fraction of CO is: ',round(yCO,3)", - "print '-> Mole fraction of O2 is: ',round(yO2,3)", - "print '-> Mole fraction of CO2 is: ',round(yCO2,3)", - "", - "p = 10.0 # in atm", - "z = 0.062", - "yCO = 2.0*z/(2.0 + z)", - "yO2 = z/(2.0 + z)", - "yCO2 = 2.0*(1.0 - z)/(2.0 + z)", - "", - "print '-> Part(b) mole fraction of CO is: ',round(yCO,3)", - "print '-> Mole fraction of O2 is: ',round(yO2,3)", - "print '-> Mole fraction of CO2 is: ',round(yCO2,3)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> Part(a) mole fraction of CO is: 0.121", - "-> Mole fraction of O2 is: 0.061", - "-> Mole fraction of CO2 is: 0.818", - "-> Part(b) mole fraction of CO is: 0.06", - "-> Mole fraction of O2 is: 0.03", - "-> Mole fraction of CO2 is: 0.91" - ] - } - ], - "prompt_number": 11 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "yCO = 0.298", - "p = 1 # in atm", - "pref = 1 # in atm", - "T = 2881", - "", - "z = 2*yCO/(2 - yCO)", - "K = (z/(1-z))*(z/(2 + z))**.5*(p/pref)**.5", - "", - "print '-> The temperature T of the mixture in kelvin is: ',T" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The temperature T of the mixture in kelvin is: 2881" - ] - } - ], - "prompt_number": 12 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "", - "K = 0.0363 # equilibrium constant the solution to Example 14.2", - "p =1.0 # in atm", - "pref = 1.0 # in atm", - "", - "z = 0.175", - "yCO = 2.0*z/(5.76 + z)", - "yO2 = z/(5.76 + z)", - "yCO2 = 2.0*(1.0-z)/(5.76 + z)", - "yN2 = 3.76/(5.76 + z)", - "", - "print '-> The mole fraction of CO is: ',round(yCO,3)", - "print '-> The mole fraction of O2 is: ',round(yO2,3)", - "print '-> The mole fraction of CO2 is: ',round(yCO2,3)", - "print '-> The mole fraction of N2 is: ',round(yN2,3)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The mole fraction of CO is: 0.059", - "-> The mole fraction of O2 is: 0.029", - "-> The mole fraction of CO2 is: 0.278", - "-> The mole fraction of N2 is: 0.634" - ] - } - ], - "prompt_number": 13 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "", - "p = 1.0 # in atm", - "pref = 1.0 # in atm", - "log10k = -.189", - "z = 0.422", - "", - "k = 10**log10k", - "hfbarCO2 = -393520.0 # in kj/kmol", - "deltahbarCO2 = 174695-9364 # in kj/kmol", - "hfbarCO = -110530.0 # in kj/kmol", - "deltahbarCO = 109667-8669 # in kj/kmol", - "hfbarO2 = 0 # in kj/kmol", - "deltahbarO2 = 114809-8682 # in kj/kmol", - "hfbarCO2r = -393520.0 # in kj/kmol", - "deltahbarCO2r = 0 # in kj/kmol", - "", - "Qcvdot = 0.422*(hfbarCO2 + deltahbarCO2) + 0.578*(hfbarCO + deltahbarCO) + 0.289*(hfbarO2 + deltahbarO2)- (hfbarCO2r + deltahbarCO2r) ", - "", - "print '-> The heat transfer to the reactor, in kJ per kmol of CO2 entering is: '", - "print Qcvdot" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The heat transfer to the reactor, in kJ per kmol of CO2 entering is: ", - "322385.449" - ] - } - ], - "prompt_number": 14 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "%pylab inline" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "", - "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].", - "For more information, type 'help(pylab)'." - ] - } - ], - "prompt_number": 15 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "", - "K = 15.63", - "z = 0.95", - "pref =1 # in atm", - "p = pref*K*((1-z**2)/z**2)", - "", - "print '-> The pressure if the ionization of CS is 95 percent complete is: ',p,'atm'", - "", - "x = []", - "y = []", - "from numpy import linspace ", - "from pylab import plot, show ", - "x = linspace(0,10,100)", - "for i in range(0,100):", - " y.append(i)", - " y[i]= 100*((1/(1+x[i]/K))**0.5)", - "", - "plot(x,y)", - "xlabel(\"Pressure (atm)\")", - "ylabel(\"Ionization\")", - "show()" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The pressure if the ionization of CS is 95 percent complete is: 1.68855955679 atm" - ] - }, - { - "output_type": "display_data", - "png": "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\ngg==\n" - } - ], - "prompt_number": 16 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "", - "log10K1 = -0.485 # equilibrium constant of the reaction CO2 <--> CO + .5O2", - "log10K2 = -0.913 # equilibrium constant of the reaction .5O2 + .5N2 <-->NO", - "a = 0.3745", - "b = 0.0675", - "", - "K1 = 10**log10K1", - "K2 = 10**log10K2", - "", - "print '-> The composition of the equilibrium mixture, in kmol per kmol of CO2 present initially, is then 0.3745CO, 0.0675NO, 0.6255CO2, 0.6535O2, 0.4663N2.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The composition of the equilibrium mixture, in kmol per kmol of CO2 present initially, is then 0.3745CO, 0.0675NO, 0.6255CO2, 0.6535O2, 0.4663N2." - ] - } - ], - "prompt_number": 17 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "vf = 1.0018e-3 # in m^3/kg", - "psat = 0.0239 # in bar", - "p = 1.0 # in bar", - "T = 293.15 # in kelvin", - "Rbar = 8.314 # universal gas constant in SI units", - "M = 18.02 # molat mass of water in kg/kmol", - "e=2.715", - "", - "pvbypsat = e**(vf*(p-psat)*10**5/((1000*Rbar/M)*T))", - "percent = (pvbypsat-1)*100", - "", - "print '-> The departure, in percent, of the partial pressure of the water vapor from the saturation pressure of water at 20\u0004 is: ',round(percent,3)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The departure, in percent, of the partial pressure of the water vapor from the saturation pressure of water at 20\u0004 is: 0.072" - ] - } - ], - "prompt_number": 18 - } - ] - } - ] -}
\ No newline at end of file diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_1_2.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_1_2.ipynb deleted file mode 100644 index 637abb12..00000000 --- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_1_2.ipynb +++ /dev/null @@ -1,25 +0,0 @@ -{ - "metadata": { - "name": "Chapter 1" - }, - "nbformat": 2, - "worksheets": [ - { - "cells": [ - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": true, - "input": [ - ], - "language": "python", - "outputs": [] - } - ] - } - ] -}
\ No newline at end of file diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_2_2.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_2_2.ipynb deleted file mode 100644 index c1162732..00000000 --- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_2_2.ipynb +++ /dev/null @@ -1,327 +0,0 @@ -{ - "metadata": { - "name": "Chapter 2" - }, - "nbformat": 2, - "worksheets": [ - { - "cells": [ - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "p1 = 3*(10**5) # initial pressure of gas in pascal", - "v1 = 0.1 # initial volumme of gas in meter^3", - "v2 = 0.2 # final volume of gas in meter^3", - "", - "from scipy import integrate", - "import math", - "constant1 = p1*(v1**1.5) ", - "constant2 = p1*(v1**1) ", - "constant3 = p1*(v1**0) ", - "p1 = lambda v: constant1/(v**1.5) # expressing pressure as function of volume ", - "p2 = lambda v: constant2/(v**1)", - "p3 = lambda v: constant3/(v**0)", - "work1 = integrate.quad(p1,v1,v2) # integrating pdv from initial to final volume ", - "w1 = work1[0]/1000 # divided by 1000 to convert to KJ", - "print 'The work done for n=1.5 in KJ is',round(w1,2)", - "", - "work2 = integrate.quad(p2,v1,v2)", - "w2 = work2[0]/1000", - "print 'The work done for n=1 in KJ is',round(w2,2)", - "", - "work3 = integrate.quad(p3,v1,v2)", - "w3 = work3[0]/1000", - "print 'The work done for n=0 in KJ is',round(w3,2)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "The work done for n=1.5 in KJ is 17.57", - "The work done for n=1 in KJ is 20.79", - "The work done for n=0 in KJ is 30.0" - ] - } - ], - "prompt_number": 1 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "p1 = 3*(10**5) # initial pressure in pascal", - "v1 = 0.1 # initial volume in m3", - "v2 = 0.2 # initial volume in m3", - "m = 4.0 # mass of the gas in kg", - "deltau = -4.6 # change in specific internal energy in KJ/Kg", - "", - "from scipy import integrate", - "import math", - "constant = p1*(v1**1.5) # p*(v^n) = constant", - "", - "p = lambda v: constant/(v**1.5) # expressing pressure as function of volume ", - "", - "work = integrate.quad(p,v1,v2) # integrating pdv from initial to final volume ", - "w=work[0]/1000 # divided by 1000 to convert to KJ", - "", - "deltaU = m*deltau # change in internal energy in KJ", - "Q = deltaU + w # neglecting kinetic and potential energy changes", - "", - "print 'net heat transfer for the process in KJ',round(Q,2)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "net heat transfer for the process in KJ -0.83" - ] - } - ], - "prompt_number": 2 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "patm = 10**5 # atmospheric pressure in pascal.", - "mp = 45.0 # mass of piston in Kg", - "A = 0.09 # face area of piston in m2", - "deltaV = 0.045 # increment of the volume of air in m3", - "m = 0.27 # mass of air in kg", - "deltau = 42.0 # specific internal energy increase of air in kJ/kg", - "g = 9.81 # local acceleration of gravity", - "", - "", - "p = (mp*g)/A + patm # constant pressure of air obtained from equilibrium of piston", - "w = (p*deltaV)/1000 # work done in KJ", - "deltaU = m*deltau # internal energy change of air in KJ", - "Q = w + deltaU # applying first with air as system", - "print 'The answer given in book is incorrect.They have miscalculated deltaU.The correct heat transfer from resistor to air in KJ for air alone as system is: '", - "print round(Q,2)", - "", - "", - "wd = (patm*deltaV)/1000 # work done in KJ", - "deltaz = (deltaV)/A # change in elevation of piston", - "deltaPE = (mp*g*deltaz)/1000 # change in potential energy of piston in KJ", - "Qt = wd + deltaPE + deltaU # applying first law with air plus piston as system ", - "print 'The answer given in book is incorrect.They have miscalculated deltaU.The correct heat transfer from resistor to air in KJ for air + piston as system is:'", - "print round(Qt,2)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "The answer given in book is incorrect.They have miscalculated deltaU.The correct heat transfer from resistor to air in KJ for air alone as system is: ", - "16.06", - "The answer given in book is incorrect.They have miscalculated deltaU.The correct heat transfer from resistor to air in KJ for air + piston as system is:", - "16.06" - ] - } - ], - "prompt_number": 3 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "w1dot = -60.0 # input work rate in KW", - "h = 0.171 # heat transfer coefficient,unit in KW/m2 .K", - "A = 1.0 # outer surface area of gearbox, unit in m2", - "Tb = 300.0 # outer surface temperature in kelvin", - "Tf = 293.0 # temperature of the sorrounding", - "", - "Qdot = -h*A*(Tb-Tf); # rate of energy transfer by heat", - "wdot = Qdot; # steady state energy equation", - "w2dot = wdot-w1dot;", - "", - "print 'The heat transfer rate in KW is:\\n\\tQdot = ',Qdot", - "print 'The power delivered through output shaft in KW is: = ',w2dot" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "The heat transfer rate in KW is:", - "\tQdot = -1.197", - "The power delivered through output shaft in KW is: = 58.803" - ] - } - ], - "prompt_number": 4 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "s=5*(10**-3) # measurement on a side in meter", - "wdot = -0.225 # power input in watt", - "Tf = 293.0 # coolant temprature in kelvin", - "h = 150.0 # heat transfer coefficient in w/m2 k", - "A = s**2 # surface area", - "", - "Tb = ((-wdot/(h*A)) + Tf - 273) # surface temperature in degree", - "", - "print 'The surface temperature of the chip in degree celcius is: ',Tb" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "The surface temperature of the chip in degree celcius is: 80.0" - ] - } - ], - "prompt_number": 5 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "%pylab inline" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "", - "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].", - "For more information, type 'help(pylab)'." - ] - } - ], - "prompt_number": 6 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "omega = 100.0 #motor rotation speed in rad/s", - "tau = 18.0 #torque applied by shaft in N.m", - "Welecdot = -2.0 #electric power input in KW", - "", - "Wshaftdot = (tau*omega)/1000 #shaft work rate in KW", - "Wdot = Welecdot + Wshaftdot #net work rate in KW", - "", - "", - "", - "", - "from sympy import *", - "x = symbols('x') # a = 0.2 b = 0.05", - "f = (0.2)*(1-2**(0.05*(x))) - Wdot", - "f2 = integrate(f,x)", - "print f2 ", - "", - "Qd = []", - "Wd = []", - "dltaE = []", - "from numpy import linspace ", - "from pylab import plot, show ", - "t = linspace(0,120,100);", - "for i in range(0,100):", - " Qd.append(i)", - " Wd.append(i)", - " dltaE.append(i)", - " Qd[i] = (-0.2*(1-2**(-0.05*(120/99)*(i-1)))) ", - " Wd[i] = Wdot", - " dltaE[i] = -4.0*2**(0.05* (120/99)*(i-1))/log(2) + 0.4* (120/99)*(i-1)", - " ", - "plot(t,Qd)", - "xlabel(\"Time (s)\")", - "ylabel(\"Qdot (KW)\")", - "show()", - "plot(t,Wd)", - "xlabel(\"Time (s)\")", - "ylabel(\"Wdot (KW)\")", - "show()", - "plot(t,dltaE)", - "xlabel(\"Time (s)\")", - "ylabel(\"deltaE (KJ)\")", - "show()", - "", - "", - "", - "", - " " - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-4.0*2**(0.05*x)/log(2) + 0.4*x" - ] - }, - { - "output_type": "display_data", - "png": "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\nwIHEx8dfck7dunWZO3cu+/fvZ/v27bz55pscOnSowp8XERHPsyVUEhISiIuLAyAuLo6VK1deck6r\nVq0IDw9va+WxAAAI/0lEQVQHoHHjxnTp0oVjx45V+PMiIuJ5tkzUN23alJMnTwJgWRbNmjUrfV2e\njIwMBgwYwP79+2ncuHGFPu/Qk35ERCqlKrFQx4V1lBEdHU1OTs4l78+cObPMa4fDcdkAOH36NCNH\njuS1116jcePGl/zc2ed155eIiOe5LVTWr1/v9Gf+/v7k5OTQqlUrsrOzadmyZbnnnT17lnvuuYfx\n48czfPjwq/68iIh4li1zKrGxsSxatAiARYsWlQmMEpZlMXnyZLp27cqjjz561Z8XERHPs2VOJT8/\nn1GjRnHkyBGCgoJYunQpfn5+ZGVlMWXKFNasWcOWLVvo378/YWFhpcNbs2fP5vbbb3f6eRERsZnl\ngz799FOrU6dOVkhIiBUfH293OVV25MgRKyoqyuratavVrVs367XXXrMsy7Ly8vKsQYMGWaGhoVZ0\ndLR18uRJmyutvKKiIis8PNwaNmyYZVm+1baTJ09a99xzj9W5c2erS5cu1vbt232qfbNmzbK6du1q\nde/e3RozZox15swZr27fpEmTrJYtW1rdu3cvfe9y7Zk1a5YVEhJiderUyfr73/9uR8lXpbz2PfHE\nE1bnzp2tsLAwa8SIEVZBQUHpz662fT4XKkVFRVaHDh2s9PR0q7Cw0OrZs6d14MABu8uqkuzsbCsl\nJcWyLMs6deqU1bFjR+vAgQPWk08+ac2ZM8eyLMuKj4+3nnrqKTvLrJJXXnnFGjt2rBUTE2NZluVT\nbZs4caL17rvvWpZlWWfPnrUKCgp8pn3p6elWcHCwdebMGcuyLGvUqFHWwoULvbp9mzZtsvbs2VPm\nl66z9uzfv9/q2bOnVVhYaKWnp1sdOnSwiouLbam7ospr37p160rrfuqpp6rUPp8Lla1bt1pDhgwp\nfT179mxr9uzZNlbkenfddZe1fv16q1OnTlZOTo5lWSZ4OnXqZHNllZOZmWkNHDjQ2rBhQ2lPxVfa\nVlBQYAUHB1/yvq+0Ly8vz+rYsaOVn59vnT171ho2bJi1bt06r29fenp6mV+6ztoza9asMqMhQ4YM\nsbZt2+bZYivh4vZdaPny5da4ceMsy6pc+3xu769jx47Rtm3b0teBgYGliyZ9QUZGBikpKfTt25fc\n3Fz8/f0Bc0dcbm6uzdVVzmOPPcbLL79MrVrn/3f0lbalp6fTokULJk2aRK9evZgyZQrff/+9z7Sv\nWbNmPP7447Rr1442bdrg5+dHdHS0z7SvhLP2ZGVlERgYWHqeL/y+WbBgAUOHDgUq1z6fCxVfXvR4\n+vRp7rnnHl577TWaNGlS5mdXWu9TXa1evZqWLVsSERHhdG2Rt7YNoKioiD179vDwww+zZ88eGjVq\ndMm2Qt7cvq+//po//vGPZGRkkJWVxenTp3n//ffLnOPN7SvPldrjzW2dOXMm9erVY+zYsU7PuVL7\nfC5UAgICyMzMLH2dmZlZJmm9VcmanQkTJpTeQl2yXgfw2vU6W7duJSEhgeDgYMaMGcOGDRuYMGGC\nT7QNzL/sAgMD6d27NwAjR45kz549tGrVyifat3v3bm666Sauu+466tSpw9133822bdt8pn0lnP3/\nePHvm6NHjxIQEGBLjVW1cOFC1q5dywcffFD6XmXa53OhEhkZSVpaGhkZGRQWFrJkyRJiY2PtLqtK\nLCdrdnxhvc6sWbPIzMwkPT2djz/+mNtuu4333nvPJ9oGZg+7tm3bkpqaCsBnn31Gt27diImJ8Yn2\nde7cme3bt/Pjjz9iWRafffYZXbt29Zn2lXD2/2NsbCwff/wxhYWFpKenk5aWRp8+fewstVISExN5\n+eWXWbVqFQ0aNCh9v1Ltc9G8T7Wydu1aq2PHjlaHDh2sWbNm2V1OlW3evNlyOBxWz549rfDwcCs8\nPNz69NNPrby8PGvgwIFeedtmeZKSkkrv/vKltu3du9eKjIwsc7umL7Vvzpw5pbcUT5w40SosLPTq\n9o0ePdpq3bq1VbduXSswMNBasGDBZdszc+ZMq0OHDlanTp2sxMREGyuvmIvb9+6771ohISFWu3bt\nSn+/PPTQQ6XnX237fPbJjyIi4nk+N/wlIiL2UaiIiIjLKFRERMRlFCoiIuIyChWRCsjLyyMiIoKI\niAhat25NYGAgERERNGnShKlTp7rlmm+88QYLFy50+vOEhAReeuklt1xbpLJ095fIVXrhhRdo0qQJ\n06dPd9s1LMuiV69e7Nq1izp1yn+WnmVZREREsGvXLurWreu2WkSuhnoqIpVQ8m+xpKQkYmJiAJgx\nYwZxcXH079+foKAgli9fzhNPPEFYWBh33HEHRUVFACQnJxMVFUVkZCS33357uY/d/uKLL+jcuXNp\noMybN49u3brRs2dPxowZA5jtMm688UbWrVvniSaLVIhCRcSF0tPT+fzzz0lISGD8+PFER0ezb98+\nGjZsyJo1azh79iy/+tWvWLZsGbt372bSpEn89re/veR7tmzZQmRkZOnrOXPmsHfvXv75z38yf/78\n0vf79OnDpk2bPNI2kYpw2zPqRWoah8PBHXfcQe3atenevTvnzp1jyJAhAPTo0YOMjAxSU1PZv38/\ngwYNAqC4uJg2bdpc8l1Hjhzh5ptvLn0dFhbG2LFjGT58eJktT9q0aUNiYqKbWyZScQoVEReqV68e\nALVq1Sozz1GrVi2KioqwLItu3bqxdevWK37XhdOda9asYdOmTfztb39j5syZfPXVV9SqVYtz5855\n9a644ns0/CXiIhW556VTp06cOHGC7du3A2b36QMHDlxyXvv27UvnWizL4siRI0RFRREfH8+3337L\n6dOnAbNjbvv27V3YCpGqUaiIVEJJ7+DCZ2tc/JyNi3sQDoeDunXr8sknn/DUU08RHh5OREQE27Zt\nu+T7b775Znbv3g2YZ7JMmDCBsLAwevXqxSOPPMK1114LwM6dO+nfv79b2ihSGbqlWKQaKrmleMeO\nHaVDahc7d+4cvXr1Yvfu3U5vOxbxNPVURKohh8PBlClTyjww6WKrV69m5MiRChSpVtRTERERl1FP\nRUREXEahIiIiLqNQERERl1GoiIiIyyhURETEZRQqIiLiMv8fGRx8Be2i9aQAAAAASUVORK5CYII=\n" - }, - { - "output_type": "display_data", - "png": "iVBORw0KGgoAAAANSUhEUgAAAZwAAAEMCAYAAADwJwB6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAH3VJREFUeJzt3X9QVXX+x/HXJaF1En/VelHQNBUQFL2sP/FHFF5/ZCKm\nY2kWmdmUU63tljrTTpmp4Drl6qZN22YytZs/8hdqqbSKP0L8kaQtlFDCivIjFTF1M1Q+3z9a7zeC\nqyKXcwOfj5kzwznnc875vBvnvDrnfM65NmOMEQAAtczH2x0AANwcCBwAgCUIHACAJQgcAIAlCBwA\ngCUIHACAJbwSOCUlJXI6nQoODtagQYNUWlpaZbvHH39cdrtdXbp0qbB879696tmzpxwOh3r06KF9\n+/ZJkvLy8tSwYUM5HA45HA5Nnjy51msBAFwfrwROYmKinE6nsrOzFRMTo8TExCrbTZgwQZs2baq0\nfOrUqXrttdeUkZGhmTNnaurUqa51HTp0UEZGhjIyMrR48eJaqwEAUD1eCZzk5GTFx8dLkuLj47V2\n7doq2/Xv31/NmjWrtLxly5Y6c+aMJKm0tFSBgYG111kAgGcYL2jatKnr7/Ly8grzv5Sbm2s6d+5c\nYVleXp4JCgoyrVu3NoGBgebo0aOutrfddpvp1q2bufvuu83OnTsr7U8SExMTE9MNTDVVa4EzcOBA\n07lz50rTunXrKgVMs2bN3O6nqsCJiYkxq1evNsYYs2LFCjNw4EBjjDE//vijKSkpMcYY8/nnn5vW\nrVub77//vsK2nviP9mv2yiuveLsLtYr66rb6XF99rs0Yz5w7G6iWpKSkuF1nt9tVVFSkgIAAFRYW\nqkWLFtXa9969e/Xpp59KkkaPHq0nnnhCkuTn5yc/Pz9JUmRkpNq3b6+cnBxFRkbeYBUAAE/xyjOc\n2NhYJSUlSZKSkpIUFxdXre07dOig7du3S5K2bt2q4OBgSdLJkyd1+fJlSdKRI0eUk5Oju+66y4M9\nBwDcMA9caVXbqVOnTExMjOnYsaNxOp3m9OnTxhhjjh8/bu677z5Xu4ceesi0bNnS+Pn5maCgILNk\nyRJjjDH79u0zPXv2NF27djW9e/c2Bw4cMMYYs2rVKhMeHm66detmIiMjzYYNGyod20slW2bbtm3e\n7kKtor66rT7XV59rM8Yz507b/3Z007DZbLrJSgaAGvPEuZMvDQAALEHgAAAsQeAAACxB4AAALEHg\nAAAsQeAAACxB4AAALEHgAAAsQeAAACxB4AAALEHgAAAsQeAAACxB4AAALEHgAAAsQeAAACxB4AAA\nLEHgAAAsQeAAACxB4AAALEHgAAAsQeAAACxB4AAALEHgAAAsQeAAACxB4AAALEHgAAAsQeAAACxB\n4AAALEHgAAAsQeAAACxB4AAALEHgAAAsQeAAACxB4AAALEHgAAAs4ZXAKSkpkdPpVHBwsAYNGqTS\n0tIq2z3++OOy2+3q0qVLheUHDx5Unz59FBERodjYWJ09e9a1LiEhQR07dlRoaKi2bNlSq3UAAK6f\nVwInMTFRTqdT2dnZiomJUWJiYpXtJkyYoE2bNlVa/sQTT+jPf/6zDh06pJEjR2revHmSpKysLC1f\nvlxZWVnatGmTJk+erPLy8lqtBQBwfbwSOMnJyYqPj5ckxcfHa+3atVW269+/v5o1a1ZpeU5Ojvr3\n7y9JGjhwoFatWiVJWrduncaOHStfX1+1bdtWHTp00N69e2upCgBAdTTwxkGLi4tlt9slSXa7XcXF\nxdXaPjw8XOvWrdOIESO0cuVK5efnS5IKCgrUu3dvV7ugoCAdP3680vYzZsxw/R0dHa3o6OjqFwEA\n9VhqaqpSU1M9us9aCxyn06mioqJKy2fPnl1h3mazyWazVWvfS5Ys0XPPPafXXntNsbGx8vPzc9u2\nqn3/PHAAAJX98n/GX3311Rrvs9YCJyUlxe06u92uoqIiBQQEqLCwUC1atKjWvkNCQrR582ZJUnZ2\ntjZu3ChJCgwMdF3tSNKxY8cUGBh4A70HAHiaV57hxMbGKikpSZKUlJSkuLi4am1/4sQJSVJ5eblm\nzZqlp59+2rXfZcuWqaysTLm5ucrJyVHPnj0923kAwA3xSuBMnz5dKSkpCg4O1tatWzV9+nRJPz2D\nGTZsmKvd2LFjFRUVpezsbLVu3VrvvfeeJOnDDz9USEiIOnXqpKCgID322GOSpLCwMI0ZM0ZhYWEa\nOnSoFi9eXO3bdQCA2mEzxhhvd8JKNptNN1nJAFBjnjh38qUBAIAlCBwAgCUIHACAJQgcAIAlCBwA\ngCUIHACAJQgcAIAlCBwAgCUIHACAJQgcAIAlCBwAgCUIHACAJQgcAIAlCBwAgCUIHACAJQgcAIAl\nCBwAgCUIHACAJQgcAIAlCBwAgCUIHACAJQgcAIAlCBwAgCUIHACAJQgcAIAlCBwAgCUIHACAJQgc\n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\nQH1F4ABA9Xni3HnN93AAAPAEAgcAYAkCBwBgCQIHAGAJAgcAYAkCBwBgCQIHAGAJAgcAYAkCBwBg\nCQIHAGAJAgcAYAkCBwBgCQIHAGAJAgcAYAkCBwBgCQIHAGAJAgcAYAkCBwBgCQIHAGAJAgcAYAkC\nBwBgCQIHAGAJAgcAYAkCBwBgCQIHAGAJAgcAYAkCBwBgCQIHAGAJAgcAYAkCBwBgCQIHAGAJAgcA\nYAkCBwBgCQIHAGAJAgcAYAmvBE5JSYmcTqeCg4M1aNAglZaWVmqTn5+ve+65R+Hh4ercubMWLlx4\nze3z8vLUsGFDORwOORwOTZ482bKaAABX55XASUxMlNPpVHZ2tmJiYpSYmFipja+vr+bPn6/MzEyl\np6dr0aJF+vrrr6+5fYcOHZSRkaGMjAwtXrzYspoAAFfnlcBJTk5WfHy8JCk+Pl5r166t1CYgIEDd\nunWTJDVq1EidOnXS8ePHr3t7AMCvSwNvHLS4uFh2u12SZLfbVVxcfNX2eXl5ysjIUK9eva65fW5u\nrhwOh5o0aaJZs2apX79+lfY3Y8YM19/R0dGKjo6uYUUAUL+kpqYqNTXVo/u0GWOMR/f4P06nU0VF\nRZWWz549W/Hx8Tp9+rRrWfPmzVVSUlLlfs6dO6fo6Gj96U9/UlxcnCSpWbNmVW5fVlam8+fPq1mz\nZjpw4IDi4uKUmZkpf39/V1ubzaZaKhkA6i1PnDtr7QonJSXF7Tq73a6ioiIFBASosLBQLVq0qLLd\nxYsXNWrUKI0fP94VNlfb3s/PT35+fpKkyMhItW/fXjk5OYqMjPRgZQCAG+GVZzixsbFKSkqSJCUl\nJVUIkyuMMZo4caLCwsI0ZcqU69r+5MmTunz5siTpyJEjysnJ0V133VWbpQAArlOt3VK7mpKSEo0Z\nM0ZHjx5V27ZttWLFCjVt2lQFBQWaNGmSNm7cqF27dmnAgAGKiIiQzWaTJCUkJGjIkCFut1+9erVe\nfvll+fr6ysfHRzNnztSwYcMqFswtNQCoNk+cO70SON5E4ABA9Xni3MmXBgAAliBwAACWIHAAAJYg\ncAAAliBwAACWIHAAAJYgcAAAliBwAACWIHAAAJYgcAAAliBwAACWIHAAAJYgcAAAliBwAACWIHAA\nAJYgcAAAliBwAACWIHAAAJYgcAAAliBwAACWIHAAAJYgcAAAliBwAACWIHAAAJYgcAAAliBwAACW\nIHAAAJYgcAAAliBwAACWIHAAAJYgcAAAliBwAACWIHAAAJYgcAAAliBwAACWIHDqmdTUVG93oVZR\nX91Wn+urz7V5ilcCp6SkRE6nU8HBwRo0aJBKS0srtcnPz9c999yj8PBwde7cWQsXLnStW7lypcLD\nw3XLLbfowIEDFbZLSEhQx44dFRoaqi1bttR6Lb829f0fPfXVbfW5vvpcm6d4JXASExPldDqVnZ2t\nmJgYJSYmVmrj6+ur+fPnKzMzU+np6Vq0aJG++uorSVKXLl20Zs0aDRgwoMI2WVlZWr58ubKysrRp\n0yZNnjxZ5eXlltQEALg6rwROcnKy4uPjJUnx8fFau3ZtpTYBAQHq1q2bJKlRo0bq1KmTCgoKJEmh\noaEKDg6utM26des0duxY+fr6qm3bturQoYP27t1bi5UAAK6b8YKmTZu6/i4vL68wX5Xc3FzTpk0b\nc/bs2QrLo6Ojzeeff+6af+aZZ8wHH3zgmp84caL56KOPKmwjiYmJiYnpBqaaaqBa4nQ6VVRUVGn5\n7NmzK8zbbDbZbDa3+zl37pxGjx6tBQsWqFGjRtXuxy/3/VPmAACsVmuBk5KS4nad3W5XUVGRAgIC\nVFhYqBYtWlTZ7uLFixo1apTGjx+vuLi4ax4zMDBQ+fn5rvljx44pMDCw+p0HAHicV57hxMbGKikp\nSZKUlJRUZZgYYzRx4kSFhYVpypQpbvf18yuW2NhYLVu2TGVlZcrNzVVOTo569uzp+QIAANXmlcCZ\nPn26UlJSFBwcrK1bt2r69OmSpIKCAg0bNkyS9Nlnn+mDDz7Qtm3b5HA45HA4tGnTJknSmjVr1Lp1\na6Wnp2vYsGEaOnSoJCksLExjxoxRWFiYhg4dqsWLF1/1dh0AwEI1fgpUh3zyyScmJCTEdOjQwSQm\nJnq7OzV29OhREx0dbcLCwkx4eLhZsGCBMcaYU6dOmYEDB5qOHTsap9NpTp8+7eWe1sylS5dMt27d\nzP3332+MqV/1nT592owaNcqEhoaaTp06mfT09HpT35w5c0xYWJjp3LmzGTt2rLlw4UKdrm3ChAmm\nRYsWpnPnzq5lV6tnzpw5pkOHDiYkJMRs3rzZG12ulqrqe+GFF0xoaKiJiIgwI0eONKWlpa51N1Lf\nTRM4ly5dMu3btze5ubmmrKzMdO3a1WRlZXm7WzVSWFhoMjIyjDHGnD171gQHB5usrCzz4osvmrlz\n5xpjjElMTDTTpk3zZjdr7PXXXzfjxo0zw4cPN8aYelXfo48+at59911jjDEXL140paWl9aK+3Nxc\n065dO3PhwgVjjDFjxowxS5curdO17dixwxw4cKDCCdldPZmZmaZr166mrKzM5Obmmvbt25vLly97\npd/Xq6r6tmzZ4ur3tGnTalzfTRM4aWlpZvDgwa75hIQEk5CQ4MUeed6IESNMSkqKCQkJMUVFRcaY\nn0IpJCTEyz27cfn5+SYmJsZs3brVdYVTX+orLS017dq1q7S8PtR36tQpExwcbEpKSszFixfN/fff\nb7Zs2VLna8vNza1wQnZXz5w5cyrcRRk8eLDZvXu3tZ29Ab+s7+dWr15tHn74YWPMjdd303xL7fjx\n42rdurVrPigoSMePH/dijzwrLy9PGRkZ6tWrl4qLi2W32yX9NCKwuLjYy727cc8//7zmzZsnH5//\n/6daX+rLzc3Vb3/7W02YMEGRkZGaNGmSzp8/Xy/qa968uf74xz+qTZs2atWqlZo2bSqn01kvavs5\nd/UUFBQoKCjI1a4+nG+WLFmi++67T9KN13fTBE59Hjxw7tw5jRo1SgsWLJC/v3+Fddd6z+nXbMOG\nDWrRooUcDofb96fqcn2XLl3SgQMHNHnyZB04cEC33XZbpc881dX6vv32W/3lL39RXl6eCgoKdO7c\nOX3wwQcV2tTV2ty5Vj11udbZs2fLz89P48aNc9vmeuq7aQLnl+/o5OfnV0jouurKu0qPPPKIa3j5\nlfecJF31Padfu7S0NCUnJ6tdu3YaO3astm7dqkceeaTe1BcUFKSgoCD16NFDkjR69GgdOHBAAQEB\ndb6+/fv3KyoqSrfffrsaNGigBx54QLt3764Xtf2cu3+L9emdwKVLl+rjjz/WP/7xD9eyG63vpgmc\n7t27KycnR3l5eSorK9Py5csVGxvr7W7ViHHzrtL1vOdUF8yZM0f5+fnKzc3VsmXLdO+99+r999+v\nN/UFBASodevWys7OliR9+umnCg8P1/Dhw+t8faGhoUpPT9cPP/wgY4w+/fRThYWF1Yvafs7dv8X6\n8k7gpk2bNG/ePK1bt06/+c1vXMtvuD4PPGeqMz7++GMTHBxs2rdvb+bMmePt7tTYzp07jc1mM127\ndjXdunUz3bp1M5988ok5deqUiYmJqZNDT91JTU11jVKrT/V98cUXpnv37hWGndaX+ubOnesaFv3o\no4+asrKyOl3bQw89ZFq2bGl8fX1NUFCQWbJkyVXrmT17tmnfvr0JCQkxmzZt8mLPr88v63v33XdN\nhw4dTJs2bVznl6efftrV/kbqsxnDx8UAALXvprmlBgDwLgIHAGAJAgcAYAkCBwBgCQIHqIFTp065\nvmbesmVLBQUFyeFwyN/fX88880ytHPPNN9/U0qVL3a5PTk7Wa6+9VivHBmqCUWqAh7z66qvy9/fX\nH/7wh1o7hjFGkZGR2rdvnxo0qPr3E40xcjgc2rdvn3x9fWutL0B1cYUDeNCV/39LTU3V8OHDJUkz\nZsxQfHy8BgwYoLZt22r16tV64YUXFBERoaFDh+rSpUuSpM8//1zR0dHq3r27hgwZUuVPtH/22WcK\nDQ11hc3ChQsVHh6url27auzYsZJ++sRInz59tGXLFitKBq4bgQNYIDc3V9u2bVNycrLGjx8vp9Op\nQ4cOqWHDhtq4caMuXryoZ599VqtWrdL+/fs1YcIEvfTSS5X2s2vXLnXv3t01P3fuXH3xxRc6ePCg\n3n77bdfynj17aseOHZbUBlyvqq/JAXiMzWbT0KFDdcstt6hz584qLy/X4MGDJUldunRRXl6esrOz\nlZmZqYEDB0qSLl++rFatWlXa19GjR9WvXz/XfEREhMaNG6e4uLgKn4lp1aqV6xdygV8LAgewgJ+f\nnyTJx8enwnMVHx8fXbp0ScYYhYeHKy0t7Zr7+vlj140bN2rHjh1av369Zs+erX//+9/y8fFReXl5\nnf46MeonbqkBtex6xuWEhIToxIkTSk9Pl/TTV8CzsrIqtbvzzjtdz3aMMTp69Kiio6OVmJioM2fO\n6Ny5c5J++nLxnXfe6cEqgJojcAAPunJV8fPfRvnl76T88srDZrPJ19dXH330kaZNm6Zu3brJ4XBo\n9+7dlfbfr18/7d+/X9JPv6fzyCOPKCIiQpGRkfr973+vxo0bS5L27t2rAQMG1EqNwI1iWDRQh1wZ\nFr1nzx7XbbpfKi8vV2RkpPbv3+926DTgDVzhAHWIzWbTpEmTKvwY1i9t2LBBo0ePJmzwq8MVDgDA\nElzhAAAsQeAAACxB4AAALEHgAAAsQeAAACxB4AAALPF/Eo3dird4yKcAAAAASUVORK5CYII=\n" - }, - { - "output_type": "display_data", - "png": "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\nlXZtHT169LyFGt3t6aef5vnnn6d37968++67PP3006xbt46cnBwWLlxITk4OhYWFJCQksHv3bvz8\ntAq+iHim5s3hd78zpwVnZJjLz/uqShPJJAuWs2zWrJlzifrDhw/jcDgASEtLIzk5GbvdTmhoKGFh\nYWRnZ9OjR48aj1FE5FI9/jjMmwcLFoAv335XaSIps2vXLsaOHUtRURE7d+5k+/btrFixgmeffbba\ng5k2bRq9evVi4sSJnDlzhk8//RSAffv2VUgaISEhFBYWXvAc5RNgfHw88fHx1R6niMilCAiA1FQY\nOhQGDIArr7Q6IlNmZiaZmZnVdr6LDrbHxcUxY8YMHn30UbZt24ZhGLRr146dO3dW6YKJiYkXXGJl\nypQpzJo1i8cee4y77rqLxYsXM3v2bDIyMhg3bhw9evTgvvvuA2D06NHccccdDBo0qGJlNEYiIh5o\n5EhwODx3e163jZGU+emnn+jevXuFC9pdWCs5IyOj0teGDx/O2rVrARgyZAijR48GwOFwkJ+f73xf\nQUGBs9tLRMTTTZ8OMTHw4IMQHm51NNXvoqPVjRo14ssvv3Q+/89//kMzN937HxYWxocffgjABx98\nQEREBABJSUksWLCA4uJi8vLyyM3NpVu3bm6JQUSkujVrBs88A088YXUk7nHRFskrr7zCL37xC/73\nv//RvHlzWrduzb/+9S+3BDN79mwee+wxTp06Rd26dZk9ezYA0dHRDB06lOjoaOe04JqeUSYi4orx\n4+Ef//DNO94veavd48ePc+bMGYKDg90dU5VpjEREPFl6OowbB198AXXqWB3NWW69IbH8Rc7ljhsS\nXaVEIiKerl8/c4VgT/oKdfsNibt27WLTpk0kJSVhGAYrV67U+ISISBW9+CLExZkzua691upoqsdF\nu7ZuuukmVq9e7ezSOnr0KHfccQcfffRRjQR4OdQiERFvMG6c+fjyy9bGUcbt+5F89913Fab72u12\nvvvuuypfUESktps0CRYuhP/+1+pIqsdFZ22NHDmSbt26MWjQIAzDYPny5dx///01EZuIiE+65hr4\nzW9g4kRzFpe3u6RZW1u2bOGjjz7CZrMRFxdHbGxsTcR22dS1JSLeorgY2rY1l1BJTLQ2FrfN2vJG\nSiQi4k2WLIE//Qm2bAErFzN3+xiJiIi4x6BBEBQEb79tdSSuUYtERMRCH30EI0bA//5nJhUrqEUi\nIuLFbrrJ3Enx1VetjqTq1CIREbFYTg7Ex8OuXdCgQc1fXy0SEREvFx0Nd97pufuVXIxaJCIiHqCw\n0NyzZMcOcxOsmqTpv+UokYiIN3vqKTh2DF57rWavq0RSjhKJiHiz77+HqCjIyoI2bWruuhojERHx\nEddeC7/8pbkWlzdRi0RExIMcPQphYfD++9CuXc1cUy0SEREfEhxs7u/+7LNWR3Lp1CIREfEwJ05A\neDgsWwZdu7r/emqRiIj4mLp14be/9Z6xErVIREQ80KlTZqtk8WLo3t2911KLRETEB9Wp4z2tErVI\nREQ8VHGx2SpZsAB69nTfdbyyRbJ48WLatm2Lv78/W7durfDa1KlTCQ8PJyoqijVr1jiPb9myhZiY\nGMLDwxk/fnxNhywiUuMCA+F3v4M//tHqSH6eJYkkJiaGZcuWERcXV+F4Tk4OCxcuJCcnh/T0dMaO\nHevMkmPGjGHOnDnk5uaSm5tLenq6FaGLiNSoUaMgNxc+/tjqSCpnSSKJiooiIiLivONpaWkkJydj\nt9sJDQ0lLCyMrKws9u/fz9GjR+nWrRsAI0eOZPny5TUdtohIjStrlTz/vNWRVC7A6gDK27dvHz16\n9HA+DwkJobCwELvdTkhIiPO4w+GgsLDwgueYVG5kKj4+nvj4eHeFKyJSI0aOhOeeg+xs+P/f0y7J\nzMwkMzPT9RP9P7clksTERIqKis47npKSwoABA9x12QqJRETEFwQGmne7T5kCaWmun+/cH9mTJ092\n6XxuSyQZGRmX/RmHw0F+fr7zeUFBASEhITgcDgoKCiocd9T0gv0iIhZ68EEzkXz+ubk1ryex/D6S\n8lPOkpKSWLBgAcXFxeTl5ZGbm0u3bt1o2rQp9evXJysrC8MwmD9/PgMHDrQwahGRmlW3Ljz5pJlM\nPI0liWTZsmW0aNGCjRs30q9fP/r27QtAdHQ0Q4cOJTo6mr59+5KamorNZgMgNTWV0aNHEx4eTlhY\nGH369LEidBERyzz6KHz4Ifz3v1ZHUpFuSBQR8SIpKWYimT+/+s6pHRLLUSIREV935Ahcdx1s3gyt\nW1fPOb3yznYREamaq66CX/wCZs60OpKz1CIREfEyRUUQHQ3/+x80buz6+dQiERGpZZo2hXvugZdf\ntjoSk1okIiJe6KuvzH1K8vLM7XldoRaJiEgt1KYNJCTA7NlWR6IWiYiI19q2Dfr3h6+/NjfCqiq1\nSEREaqnYWGjXDt5+29o4lEhERLzYxInmVGArO2OUSEREvFhCAvj7w3vvWReDEomIiBez2WDCBGtv\nUNRgu4iIlysuNpdLWb26akvMa7BdRKSWCwyEcePgz3+25vpqkYiI+IBDh8x7S3bsgMvd908tEhER\noUEDGD7cmmVT1CIREfERZcumfPMNXHHFpX9OLRIREQHMrq0bboB//rNmr6tEIiLiQ371K5g1q2Zv\nUFQiERHxIbfcAn5+sHZtzV1TiURExIfYbDB+PLz0Ug1eU4PtIiK+5cQJaNUKPv4YwsMv/n4NtouI\nSAV168Lo0TU3FVgtEhERH1RQADEx5lTg+vV//r1e2SJZvHgxbdu2xd/fny1btjiPZ2Rk0KVLF9q3\nb0+XLl1Yt26d87UtW7YQExNDeHg448ePtyJsERGvERJirgz81lvuv5YliSQmJoZly5YRFxeHzWZz\nHm/UqBErV65k+/btvPnmm4wYMcL52pgxY5gzZw65ubnk5uaSnp5uRegiIl7jsccgNdX9U4EtSSRR\nUVFEREScd7xjx440bdoUgOjoaE6cOEFJSQn79+/n6NGjdOvWDYCRI0eyfPnyGo1ZRMTb3HyzORW4\nXOeOWwS49/RVt2TJEjp37ozdbqewsJCQkBDnaw6Hg8LCwgt+btKkSc6/4+PjiY+Pd3OkIiKeyWaD\nsWPh1Vfh1lvPHs/MzCQzM7ParuO2RJKYmEhRUdF5x1NSUhgwYMDPfnbnzp38+te/JiMj47KvWz6R\niIjUdiNGwLPPmoPvZb/Hz/2RPXnyZJeu4bZEUpUkAFBQUMCgQYOYP38+rVu3BswWSEFBQYX3OC53\nnWQRkVooOBiGDYPZs+G559xzDcvvIyk/5ezw4cP069eP6dOn07NnT+fxZs2aUb9+fbKysjAMg/nz\n5zNw4EArwhUR8Tpjx8Lf/27upOgOliSSZcuW0aJFCzZu3Ei/fv3o27cvAK+88gpfffUVkydPJjY2\nltjYWL7//nsAUlNTGT16NOHh4YSFhdGnTx8rQhcR8TrR0XD99bB0qXvOrxsSRURqgUWL4LXXLjyD\ny9XvTiUSEZFaoLgYWraEDz+EyMiKr3nlne0iIlKzAgNh1Chz0L26qUUiIlJLfPUV9OgB+fkQFHT2\nuFokIiJySdq0gdhYWLKkes+rRCIiUos88gi8/nr1nlNdWyIitUhJiTno/v775rRgUNeWiIhcBrsd\nHnqoegfd1SIREall9uyBLl3M9beCgtQiERGRyxQaag66V9duHEokIiK10EMPwT/+UT3nUteWiEgt\ndPIktGgBosrNAAAKMElEQVQB2dlw3XXq2hIRkcsUFGQuL//GG66fSy0SEZFaavt26NcPCgrUIhER\nkSpo3x6aNXP9PEokIiK12EMPuX4OdW2JiNRiP/4IV12l/UiclEhERC6fbkgUERFLKZGIiIhLlEhE\nRMQlSiQiIuISJRIREXGJEokXyczMtDoEt/HluoHq5+18vX6usiSRLF68mLZt2+Lv78/WrVvPe33v\n3r1ceeWVzJw503lsy5YtxMTEEB4ezvjx42syXI/hy/+YfbluoPp5O1+vn6ssSSQxMTEsW7aMuLi4\nC74+YcIE+vXrV+HYmDFjmDNnDrm5ueTm5pKenl4ToYqIyEVYkkiioqKIiIi44GvLly/nuuuuI7ps\nM2Fg//79HD16lG7dugEwcuRIllfXjiwiIuIaw0Lx8fHGli1bnM+PHj1q9OzZ0zh+/LgxadIk48UX\nXzQMwzA2bdpkJCQkON+3fv16o3///uedD1BRUVFRqUJxRQBukpiYSFFR0XnHU1JSGDBgwAU/M2nS\nJJ544gnq1atXpdv1q/IZERFxjdsSSUZGxmV/Jjs7myVLlvD0009z+PBh/Pz8qFu3LoMGDaKgoMD5\nvoKCAhwOR3WGKyIiVeS2RHKpyrci1q9f7/x78uTJBAcHM3bsWADq169PVlYW3bp1Y/78+fzyl7+s\n8VhFROR8lgy2L1u2jBYtWrBx40b69etH3759L/qZ1NRURo8eTXh4OGFhYfTp06cGIhURkYtyaYTF\ng7z77rtGZGSkERYWZkybNs3qcFy2d+9eIz4+3oiOjjbatm1rvPTSS4ZhGMbBgweNhIQEIzw83EhM\nTDQOHTpkcaRVV1paanTs2NE5ccKX6nbo0CFj8ODBRlRUlHH99dcbGzdu9Kn6paSkGNHR0Ua7du2M\n5ORk4+TJk15dvwceeMBo3Lix0a5dO+exn6tPSkqKERYWZkRGRhrvvfeeFSFflgvVb+LEiUZUVJTR\nvn1746677jIOHz7sfO1y6+cTiaS0tNRo06aNkZeXZxQXFxsdOnQwcnJyrA7LJfv37ze2bdtmGIY5\nmy0iIsLIyckxnnrqKWP69OmGYRjGtGnTjGeeecbKMF0yc+ZMY9iwYcaAAQMMwzB8qm4jR4405syZ\nYxiGYZSUlBiHDx/2mfrl5eUZrVu3Nk6ePGkYhmEMHTrUmDdvnlfXb/369cbWrVsrfNFWVp+dO3ca\nHTp0MIqLi428vDyjTZs2xunTpy2J+1JdqH5r1qxxxv3MM8+4VD+fSCSffPKJ0bt3b+fzqVOnGlOn\nTrUwoup35513GhkZGUZkZKRRVFRkGIaZbCIjIy2OrGry8/ON2267zfjggw+cLRJfqdvhw4eN1q1b\nn3fcV+p38OBBIyIiwvjhhx+MkpISo3///saaNWu8vn55eXkVvmgrq09KSkqFXo/evXsbn376ac0G\nWwXn1q+8pUuXGvfdd59hGFWrn0+stVVYWEiLFi2cz0NCQigsLLQwouq1Z88etm3bRvfu3fn2229p\n0qQJAE2aNOHbb7+1OLqqeeKJJ5gxYwZ+fmf/CfpK3fLy8mjUqBEPPPAAnTp14uGHH+b48eM+U7+G\nDRvy5JNP0rJlS5o3b87VV19NYmKiz9SvTGX12bdvHyEhIc73+cL3zdy5c7njjjuAqtXPJxKJzWaz\nOgS3OXbsGIMHD+all14iODi4wms2m80r675y5UoaN25MbGxspff+eGvdAEpLS9m6dStjx45l69at\nXHHFFUybNq3Ce7y5fl999RV//etf2bNnD/v27ePYsWP885//rPAeb67fhVysPt5c1ylTphAYGMiw\nYcMqfc/F6ucTicThcJCfn+98np+fXyGjequSkhIGDx7MiBEjGDhwIGD+Miq70XP//v00btzYyhCr\n5JNPPmHFihW0bt2a5ORkPvjgA0aMGOETdQPzF1xISAhdu3YFYMiQIWzdupWmTZv6RP02b97MDTfc\nwDXXXENAQACDBg3i008/9Zn6lans3+O53zfefF/bvHnzWL16Nf/617+cx6pSP59IJF26dCE3N5c9\ne/ZQXFzMwoULSUpKsjoslxiGwUMPPUR0dDS/+tWvnMeTkpJ48803AXjzzTedCcabpKSkkJ+fT15e\nHgsWLODWW29l/vz5PlE3gKZNm9KiRQt2794NwNq1a2nbti0DBgzwifpFRUWxceNGTpw4gWEYrF27\nlujoaJ+pX5nK/j0mJSWxYMECiouLycvLIzc317kOoDdJT09nxowZpKWlERQU5DxepfpV0ziO5Vav\nXm1EREQYbdq0MVJSUqwOx2UfffSRYbPZjA4dOhgdO3Y0OnbsaLz77rvGwYMHjdtuu80rp1heSGZm\npnPWli/V7bPPPjO6dOlSYWqlL9Vv+vTpzum/I0eONIqLi726fvfee6/RrFkzw263GyEhIcbcuXN/\ntj5Tpkwx2rRpY0RGRhrp6ekWRn5pzq3fnDlzjLCwMKNly5bO75cxY8Y433+59bMZhhaoEhGRqvOJ\nri0REbGOEomIiLhEiURERFyiRCIiIi5RIhGpxMGDB4mNjSU2NpZmzZoREhJCbGwswcHBPP744265\n5iuvvMK8efMqfX3FihU8//zzbrm2SFVp1pbIJSjbH2fChAluu4ZhGHTq1IlNmzYREHDhrYIMwyA2\nNpZNmzZht9vdFovI5VCLROQSlf3myszMdG4XPWnSJO6//37i4uIIDQ1l6dKlTJw4kfbt29O3b19K\nS0sB2LJlC/Hx8XTp0oU+ffpccBvqjz/+mKioKGcSmTVrFm3btqVDhw4kJycD5lIVPXv2ZM2aNTVR\nZZFLokQi4qK8vDzWrVvHihUrGD58OImJiWzfvp26deuyatUqSkpKGDduHEuWLGHz5s088MAD/O53\nvzvvPBs2bKBLly7O59OnT+ezzz7j888/5/XXX3ce79atW4XdREWsZvlWuyLezGaz0bdvX/z9/WnX\nrh1nzpyhd+/eAMTExLBnzx52797Nzp07SUhIAOD06dM0b978vHPt3buXXr16OZ+3b9+eYcOGMXDg\nwArLjTRv3pz09HQ310zk0imRiLgoMDAQAD8/vwrjFn5+fpSWlmIYBm3btuWTTz656LnKD1muWrWK\n9evX88477zBlyhS++OIL/Pz8OHPmjFevNiu+R11bIi64lLkqkZGRHDhwgI0bNwLmqs45OTnnva9V\nq1bOsRPDMNi7dy/x8fFMmzaNI0eOcOzYMcBcibZVq1bVWAsR1yiRiFyislZA+b0pzt2n4tyWgs1m\nw26385///IdnnnmGjh07Ehsby6effnre+Xv16sXmzZsBc0+TESNG0L59ezp16sT48eOpX78+ANnZ\n2cTFxbmljiJVoem/Ih6ibPpvVlaWs7vsXGfOnKFTp05s3ry50inCIjVNLRIRD2Gz2Xj44YcrbDJ0\nrpUrVzJkyBAlEfEoapGIiIhL1CIRERGXKJGIiIhLlEhERMQlSiQiIuISJRIREXGJEomIiLjk/wAf\njNfcbjy1VQAAAABJRU5ErkJggg==\n" - } - ], - "prompt_number": 7 - } - ] - } - ] -}
\ No newline at end of file diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_3_2.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_3_2.ipynb deleted file mode 100644 index b1ded028..00000000 --- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_3_2.ipynb +++ /dev/null @@ -1,470 +0,0 @@ -{ - "metadata": { - "name": "Chapter 3" - }, - "nbformat": 2, - "worksheets": [ - { - "cells": [ - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "", - "p1 = 10**5 # initial pressure in pascal ", - "x1 = 0.5 # initial quality", - "", - "T1 = 99.63 # temperature in degree celcius, from table A-3", - "v = 0.5 # volume of container in m3", - "vf1 = 1.0432*(10**(-3)) # specific volume of fluid in state 1 in m3/Kg(from table A-3)", - "vg1 = 1.694 # specific volume of gas in state 1 in m3/kg(from table A-3)", - "", - "p2 = 1.5*(10**5) # pressure after heating in pascal", - "", - "T2 = 111.4 # temperature in degree celcius in state 2, from A-3", - "vf2 = 1.0582*(10**(-3)) # specific volume of fluid in state 2 in m3/Kg, from A-3", - "vg2 = 1.159 # specific volume of gas in state 2 in m3/Kg,from A-3", - "", - "", - "v1 = vf1 + x1*(vg1-vf1) # specific volume in state 1 in m3/Kg", - "v2 = v1 # specific volume in state 2 in m3/Kg", - "m = v/v1 # total mass in Kg", - "mg1 = x1*m # mass of vapour in state 1 in Kg", - "", - "x2 = (v1-vf2)/(vg2-vf2) # quality in state 2", - "mg2 = x2*m # mass of vapor in state 2 in Kg ", - "", - "p3 = 2.11 # pressure in state 3 from table A-3", - "", - "print '-> The temperature in state 1 is ',round(T1,2),'degree celcius.'", - "print '-> The temperature in state 2 is ',round(T2,2),'degree celcius.'", - "print '-> The mass of vapour in state 1 is',round(mg1,2),'kg.' ", - "print '-> The mass of vapour in state 2 is',round(mg2,2),'kg.'", - "print '-> The pressure corresponding to state 3 is',round(p3,2),'bar.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The temperature in state 1 is 99.63 degree celcius.", - "-> The temperature in state 2 is 111.4 degree celcius.", - "-> The mass of vapour in state 1 is 0.29 kg.", - "-> The mass of vapour in state 2 is 0.43 kg.", - "-> The pressure corresponding to state 3 is 2.11 bar." - ] - } - ], - "prompt_number": 49 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "m = 0.05 # mass of ammonia in kg ", - "p1 = 1.5*(10**5) # initial pressure of ammonia in pascal", - "v1 = 0.7787 # specific volume in state 1 in m3/kg from table A-14", - "v2 = 0.9553 # specific volume in state 2 in m3/kg from table A-15", - "T2 = 25.0 # final temperature in degree celcius", - "", - "", - "V1 = m*v1 # volume occupied by ammonia in state 1 in m3", - "V2 = m*v2 # volume occupied by ammonia in state 2 in m3", - "w = (p1*(V2-V1))/1000 # work in KJ", - "", - "print '-> The volume occupied by ammonia in state 1 is ',round(V1,2),'m^3.'", - "print '-> The volume occupied by ammonia in state 2 is ',round(V2,2),'m^3.'", - "print '-> The work done for the process is',round(w,2),'KJ.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The volume occupied by ammonia in state 1 is 0.04 m^3.", - "-> The volume occupied by ammonia in state 2 is 0.05 m^3.", - "-> The work done for the process is 1.32 KJ." - ] - } - ], - "prompt_number": 50 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "V = 0.25 # volume of tank in m3", - "v = 1.673 # specific volume in m3/kg obtained using table A-2", - "", - "T1 = 100.0 # initial temperature in degree celcius", - "u1 = 2506.5 # specific internal energy in state 1 in KJ/Kg obtained from table A-2", - "", - "p2 = 1.5 # final pressure in bars", - "T2 = 273.0 # temperature in state 2 in degree celcius obtained from table A-4", - "u2 = 2767.8 # specific internal energy in state 2 in KJ/Kg obtained from table A-4", - "", - "m = V/v # mass of the system in kg", - "DeltaU = m*(u2-u1) # change in internal energy in KJ", - "W = - DeltaU # from energy balance", - "", - "print '-> The temperature at the final state in is',round(T2,2),' degree celcius.'", - "print '-> The work during the process is',W,'KJ.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The temperature at the final state in is 273.0 degree celcius.", - "-> The work during the process is -39.0466228332 KJ." - ] - } - ], - "prompt_number": 51 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "P1 = 10*(10**5) # initial pressure in pascal", - "T1 = 400.0 # initial temperature in degree celcius", - "v1 = 0.3066 # specific volume in state 1 in m3/kg obtained from table A-4", - "u1 = 2957.3 # specific internal energy in state 1 in KJ/Kg obtained from table A-4", - "", - "", - "v2 = 0.1944 # specific volume in state 2 in m3/kg obtained from table A-3", - "w2to3 = 0 # work in process 2-3", - "", - "", - "v3 = v2", - "vf3 = 1.0905*(10**(-3)) # specific volume of fluid in state 3 from table A-2", - "vg3 = 0.3928 # specific volume of gas in state 3 from table A-2", - "uf3 = 631.68 # specific internal energy for fluid in state 3 from table A-2", - "ug3 = 2559.5 # specific internal energy for gas in state 3 from table A-2", - "", - "w1to2 = (P1*(v2-v1))/1000 # work in KJ/Kg in process 1-2", - "W = w1to2 + w2to3 # net work in KJ/kg", - "x3 = (v3-vf3)/(vg3-vf3)", - "u3 = uf3+x3*(ug3-uf3) # specific internal energy in state 3 in Kj/Kg", - "q = (u3-u1) + W # heat transfer in Kj/Kg", - "", - "print '-> The work done in the overall process is',W,'KJ/kg.'", - "print '-> The heat transfer in the overall process is',q,'KJ/kg.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The work done in the overall process is -112.2 KJ/kg.", - "-> The heat transfer in the overall process is -1486.43658885 KJ/kg." - ] - } - ], - "prompt_number": 52 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "p1 = 20.0 # initial pressure in MPa", - "T1 = 520.0 # initial temperature in degree celcius", - "Z1 = 0.83 # compressibility factor", - "R = 8.314 # universal gas constant in SI unit", - "n = 1000.0/18.02 # number of moles in a kg of water", - "", - "T2 = 400.0 # final temperature in degree celcius", - "", - "Tc = 647.3 # critical temperature in kelvin", - "pc = 22.09 # critical pressure in MPa", - "", - "Tr = (T1+273)/Tc # reduced temperature", - "Pr = p1/pc # reduced pressure ", - "v1 = (Z1*n*R*(T1+273))/(p1*(10**6))", - "vr = v1*(pc*(10**6))/(n*R*Tc)", - "Tr2 = (T2+273)/Tc", - "PR = 0.69 # at above vr and Tr2", - "P2 = pc*PR", - "", - "print '-> The specific volume in state1 is',v1,'m3/kg and the corresponding value obtained from table A-4 is .01551 m^3/Kg'", - "print '-> The pressure in MPa in the final state is',P2,' MPa and the corresponding value from the table is 15.16Mpa'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The specific volume in state1 is 0.0151836616537 m3/kg and the corresponding value obtained from table A-4 is .01551 m^3/Kg", - "-> The pressure in MPa in the final state is 15.2421 MPa and the corresponding value from the table is 15.16Mpa" - ] - } - ], - "prompt_number": 53 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "%pylab inline" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "", - "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].", - "For more information, type 'help(pylab)'." - ] - } - ], - "prompt_number": 54 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "T1 = 300.00 #temperature in state 1 in kelvin", - "P1 = 1.00 #pressure in state 1 in bar", - "P2 = 2.00 #pressure in state 2 in bar", - "R = 287.00 #gas constant of air in SI units", - "", - "v1 = (R*T1)/(P1*10**5) #specific volume in state 1", - "v = []", - "P = []", - "vv = []", - "Pa = []", - "pp = []", - "pcommon = []", - "vcommon = []", - "from numpy import linspace", - "from pylab import *", - "P = linspace(1,2,50)", - "for i in range(0,50):", - " v.append(i)", - " v[i] = v1", - "", - " ", - "", - "T2 = (P2*10**5*v1)/R", - "v3 = (R*T2)/(P1*10**5)", - "vv = linspace(v1,v3,50)", - "for i in range(0,50):", - " Pa.append(i)", - " Pa[i] = P1", - "", - "", - "", - "VV = linspace(v1,v3,50)", - "for j in range(0,50):", - " pp.append(j)", - " pp[j] = (R*T2)/((VV[j])/(10**5))", - "", - "vcommon = numpy.concatenate((v, VV))", - "pcommon = numpy.concatenate((P, pp))", - "", - "plot(vcommon,pcommon)", - "xlabel('v')", - "ylabel('p(bar)')", - "show()", - "plot(vv,Pa)", - "xlabel('v')", - "ylabel('p(bar)')", - "show()", - "", - "print 'The temperature in kelvin in state 2 is T2 = ',T2", - "print 'The specific volume in state 3 in m^3/kg is v = ',v3" - ], - "language": "python", - "outputs": [ - { - "output_type": "display_data", - "png": "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\ng1AAADgIBQCAg1AAADgIBQCAg1AAADgIBQCAg1AAADgIBQCAg1AAADgIBQCAg1AAADgIBQCAg1AA\nADgIBQCAg1AAADgIBQCAg1AAADgIBQCAg1AAADgIBQCAg1AAADgIBQCAg1AAADgIBQCAg1AAADgI\nBQCAg1AAADgIBQCAg1AAADgIBQCAg1AAADgIBQCAg1AAADgIBQCAg1AAADgIBQCAg1AAADgIhQCS\nlZXldgl+g2txBtfiDK7F5fNqKKxcuVJt2rRRdHS0nnzyyXOeM2nSJEVHRys+Pl55eXneLCfg8Q/+\nDK7FGVyLM7gWl89roVBWVqYHHnhAK1eu1O7du7V48WJ98sknFc7JyMjQ/v37tW/fPr3yyiuaMGGC\nt8oBAFwEr4VCbm6uoqKi1LJlSwUHB2v48OFasWJFhXPS09M1atQoSVJSUpJOnDih4uJib5UEAPAg\nyFtvXFRUpMjISOdxRESEcnJyPJ5TWFioZs2aVTjPsqwqr88Lb+kTaWlpbpfgN7gWZ3AtzuBaXB6v\nhcLFfpDbtn3B/+6nrwMAvMdrzUfh4eEqKChwHhcUFCgiIuKC5xQWFio8PNxbJQEAPPBaKHTq1En7\n9u1Tfn6+Tp06paVLlyo1NbXCOampqVq4cKEkKTs7W2FhYWc1HQEAfMdrzUdBQUGaM2eOUlJSVFZW\nprFjx6pt27aaN2+eJGn8+PEaOHCgMjIyFBUVpXr16mnBggXeKgcAcDFsP/Hee+/ZN954ox0VFWXP\nmjXrrNe//PJLOyUlxY6Pj7fbtWtnL1iwwPdF+sDo0aPtq6++2m7fvv15z/nVr35lR0VF2XFxcfbW\nrVt9WJ1veboWixYtsuPi4uzY2Fj7pptusrdv3+7jCn3nYv5d2LZt5+bm2rVr17aXL1/uo8p872Ku\nRWZmpp2QkGC3a9fO7t27t++K8zFP16Iyn5t+EQrff/+9fcMNN9iHDh2yT506ZcfHx9u7d++ucM7U\nqVPtRx55xLZt8wdt3LixXVpa6ka5XrV27Vp769at5/1Lfvfdd+0BAwbYtm3b2dnZdlJSki/L8ylP\n12Ljxo32iRMnbNs2v1TU5Gth2+b/oz59+tiDBg2yly1b5sPqfMvTtTh+/LgdExNjFxQU2LZtPi+q\nK0/XojKfm36xzMXFzGm45pprdPLkSUnSyZMn1aRJEwUFea31yzU9e/ZUo0aNzvt6TZrb4eladOvW\nTQ0bNpRkrkVhYaGvSvM5T9dCkl588UUNHTpUTZs29VFV7vB0Ld58800NGTLEGdhy1VVX+ao0n/N0\nLSrzuekXoXCu+QpFRUUVzhk3bpx27dqla6+9VvHx8Xr++ed9XaZfON/cjppu/vz5GjhwoNtluKao\nqEgrVqxwVgXwxtyeQLFv3z4dO3ZMffr0UadOnfTGG2+4XZJrKvO56Re/al/MP+CZM2cqISFBWVlZ\nOnDggPr166ft27erfv36PqjQv9ge5nbUNJmZmXrttde0YcMGt0txzYMPPqhZs2bJsizZplnY7ZJc\nU1paqq1bt+qjjz7SN998o27duqlr166Kjo52uzSfq8znpl/cKVzMnIaNGzdq2LBhkqQbbrhBrVq1\n0p49e3xapz9gbkdFO3bs0Lhx45Senu6xeaU627Jli4YPH65WrVpp+fLlmjhxotLT090uyxWRkZHq\n37+/6tatqyZNmqhXr17avn2722W5ojKfm34RChczp6FNmzZatWqVJKm4uFh79uzR9ddf70a5rmJu\nxxmHDx/WnXfeqUWLFikqKsrtclx18OBBHTp0SIcOHdLQoUM1d+7cs/4fqikGDx6s9evXq6ysTN98\n841ycnIUExPjdlmuqMznpl80H13MnIbf/e53Gj16tOLj41VeXq6nnnpKjRs3drnyqjdixAitWbNG\nR48eVWRkpNLS0lRaWiqp5s3t8HQtpk+fruPHjzvt6MHBwcrNzXWzZK/xdC1qEk/Xok2bNrr11lsV\nFxenWrVqady4cdU2FDxdi8p8blp2TW58BABU4BfNRwAA/0AoAAAchAIAwEEoAAAchAJwiR599FG9\n/PLLzuNp06bpmWeecbEioOoQCsAluuuuu/SXv/zFefzWW29p+PDhLlYEVB2/mKcABJKEhAR98cUX\n+vzzz/XFF1+oUaNGNXpWOaoXQgGohGHDhmnZsmU6cuQIdwmoVpi8BlTC7t279Ytf/EL//Oc/tXbt\n2hq71AiqH/oUgEqIiYlRSUmJIiIiCARUK9wpAAAc3CkAAByEAgDAQSgAAByEAgDAQSgAAByEAgDA\n8f8/6+7mAiT6VQAAAABJRU5ErkJggg==\n" - }, - { - "output_type": "display_data", - "png": "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\n13xudCWyv/IAAAAASUVORK5CYII=\n" - }, - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "The temperature in kelvin in state 2 is T2 = 600.0", - "The specific volume in state 3 in m^3/kg is v = 1.722" - ] - } - ], - "prompt_number": 55 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "m = 0.9 # mass of air in kg", - "T1 = 300.0 # initial temperature in kelvin", - "P1 = 1.0 # initial pressure in bar", - "", - "T2 = 470.0 # final temperature in kelvin", - "P2 = 6.0 # final pressure in bar", - "Q = -20.0 # heat transfer in kj", - "", - "u1 = 214.07 # in KJ/kg", - "u2 = 337.32 # in KJ/Kg", - "", - "deltaU = m*(u2-u1) # change in internal energy in kj", - "W = Q - deltaU # in KJ/kg", - "", - "", - "print '-> The work during the process is ',W,' KJ.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The work during the process is -130.925 KJ." - ] - } - ], - "prompt_number": 56 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "m1 = 2.0 # initial mass of gas in tank 1 in kg", - "T1 = 350.0 # initial temperature in kelvin in tank1", - "p1 = 0.7 # initial pressure in bar in tank 1", - "", - "m2 = 8.0 # initial mass of gas in tank 2 in kg", - "T2 = 300.0 # initial temperature in kelvin in tank 2", - "p2 = 1.2 # initial pressure in bar in tank 2", - "Tf = 315.0 # final equilibrium temperature in kelvin", - "", - "Cv = 0.745 # in KJ/Kg.k", - "", - "pf = ((m1+m2)*Tf)/((m1*T1/p1)+(m2*T2/p2)) ", - "Ui = (m1*Cv*T1)+(m2*Cv*T2)", - "Uf = (m1+m2)*Cv*Tf", - "deltaU = Uf-Ui", - "Q = deltaU", - "", - "print '-> The final equilibrium pressure is',pf,'bar.'", - "print '-> The heat transfer for the process is',Q,'KJ.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The final equilibrium pressure is 1.05 bar.", - "-> The heat transfer for the process is 37.25 KJ." - ] - } - ], - "prompt_number": 57 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "p1 = 1.0 # initial pressure in bar", - "T1 = 295.0 # initial temperature in kelvin ", - "p2 = 5.0 # final pressure in bar", - "n = 1.3 # polytropic constant", - "R = 8314/28.97 # gas constant for air in SI units", - "", - "u2 = 306.53", - "u1 = 210.49", - "", - "T2 = T1*(p2/p1)**((n-1)/n)", - "w = R*(T2-T1)/(1-n)", - "Q = u2-u1+w/1000", - "", - "print '-> The work done per unit mass is ',w/1000,'KJ/kg.'", - "print '-> The heat transfer per unit mass is',Q,'KJ/kg.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The work done per unit mass is -126.928201465 KJ/kg.", - "-> The heat transfer per unit mass is -30.888201465 KJ/kg." - ] - } - ], - "prompt_number": 58 - } - ] - } - ] -}
\ No newline at end of file diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_4_2.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_4_2.ipynb deleted file mode 100644 index 45f5e608..00000000 --- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_4_2.ipynb +++ /dev/null @@ -1,497 +0,0 @@ -{ - "metadata": { - "name": "Chapter 4" - }, - "nbformat": 2, - "worksheets": [ - { - "cells": [ - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "p1= 7.0 # pressure in bar", - "T2= 200.0 # temperature in degree celcius", - "m1dot= 40.0 # mass flow rate in kg/s", - "", - "p2= 7.0 # pressure in bar", - "T2= 40.0 # temperature in degree celcius", - "A2= 25.0 # area in cm^2", - "", - "p3= 7.0 # pressure in bar", - "AV3= 0.06 # Volumetric flow rate through wxir in m^3/s", - "", - "v3 = (1.108)*(10**(-3)) # specific volume at the exit in m^3/kg", - "", - "v2= (1.0078)*(10**(-3)) # specific volume in state 2 in m^3/kg", - "", - "m3dot= AV3/v3 # mass flow rate at exit", - "m2dot = m3dot-m1dot # mass flow rate at inlet 2", - "V2= (m2dot*v2)/(A2*(10**(-4)))", - "", - "print '-> The mass flow rate at the inlet 2 is', round(m2dot,2),' kg/s.'", - "print '-> The mass flow rate at the exit is', round(m3dot,2),' kg/s.'", - "print '-> The velocity at the inlet is ', round(V2,2),'m/s.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The mass flow rate at the inlet 2 is 14.15 kg/s.", - "-> The mass flow rate at the exit is 54.15 kg/s.", - "-> The velocity at the inlet is 5.7 m/s." - ] - } - ], - "prompt_number": 1 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "p1= 40.0 # pressure in bar", - "T1= 400.0 # temperature in degree celcius", - "V1= 10.0 # velocity m/s", - "", - "p2= 10.0 # pressure in bar", - "V2= 665.0 # velocity in m/s", - "mdot= 2.0 # mass flow rate in kg/s", - "", - "h1= 3213.6 # snpecific enthalpy in kJ/kg", - "v2 = 0.1627 # specific volume at the exit in m^3/kg", - "", - "h2 = h1 + ((V1**2-V2**2)/2)/1000 # snpecific enthalpy in kJ/kg", - "A2=(mdot*v2)/V2 # Exit area", - "", - "print '-> The exit Area of the nozzle is', round(A2,4),'m^2.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The exit Area of the nozzle is 0.0005 m^2." - ] - } - ], - "prompt_number": 2 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "m1dot = 4600.0 # mass flow rate in kg/h", - "Wcvdot= 1000.0 # turbine power output in kv", - "p1= 60.0 # pressure in bar", - "T1=400.0 # temperature in degree celc", - "V1= 10.0 # velocity in m/s", - "", - "p2= 0.10 # pressure in bar", - "q2= 0.90 # quality ", - "V2= 50.0 # velocity in m/s", - "", - "h1= 3177.2 # specific enthalpy at inlet in kJ/kg", - "hf2= 191.83", - "hg2= 2584.63", - "", - "h2 = hf2+q2*(hg2-hf2) # specific enthalpy at exit in kJ/kg", - "Qcvdot = Wcvdot + m1dot*((h2-h1)+(V2**2- V1**2)/(2*1000))/3600", - " ", - "print '-> The rate of heat transfer between the turbine and surroundings is',round(Qcvdot,2),'kW.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The rate of heat transfer between the turbine and surroundings is -61.39 kW." - ] - } - ], - "prompt_number": 3 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "p1=1.00 # pressure in bar", - "t1= 290.00 # temperature in kelvin", - "A1= 0.1 # area in m^2", - "V1= 6.00 # velocity in m/s", - "", - "", - "p2=7.00 # pressure in bar", - "t2= 450.00 # temperature in kelvin", - "V2= 2.00 # velocity in m/s", - "Qcvdot= -180.0 # heat transfer rate in kJ/min", - "R= 8.314 # universal gas constant in SI units", - "", - "", - "h1= 290.16 # specific enthalpy in kJ/kg", - "h2= 451.8 # specific enthalpy in kJ/kg", - "", - "", - "v1 = (R*1000*t1)/(28.97*p1*10**5) # specific volume", - "mdot=(A1*V1)/v1 # mass flow rate", - "Wcvdot = Qcvdot/60 + mdot*((h1-h2)+(V1**2-V2**2)/(2*1000))", - "", - " ", - "print '-> The power input to the compressor is ',round(Wcvdot,2),'kW.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The power input to the compressor is -119.52 kW." - ] - } - ], - "prompt_number": 4 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "t1=20.0 # Temperatue in deg celcius", - "p1=1.0 # pressure in atm", - "AV1= 0.1 # volumetric flow rate in litre/s", - "D1=2.5 # Diameter of th hose in cm", - "", - "t2=23.0 # temperatuer in deg celcius", - "p2=1.0 # pressure in atm", - "V2=50.0 # Velocity in m/s", - "Z2=5.0 # elevation in m", - "g= 9.8 # acceleration due to gravity in m/s^2", - "", - "", - "v= (1.0018)*((10.0)**(-3)) # specific volume in m^3/kg", - "c= 4.18 ", - "", - "mdot = (AV1/1000)/v # mass flow rate in kg/s", - "V1= (AV1/1000)/(3.14*(D1/(2*100))**2) # Entry velocity in m/s", - "deltah = c*(t2-t1)+v*(p2-p1)", - "Wcvdot= ((mdot*10)/9)*(-deltah+(V1**2-V2**2)/(2*1000)+g*(0-Z2)/1000)", - "", - "print '-> The power input to the motor is', round(Wcvdot,2),'KW.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The power input to the motor is -1.53 KW." - ] - } - ], - "prompt_number": 5 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "p1=0.1 # pressure in bar", - "x1= 0.95 # Quality", - "p2= 0.1 # pressure in bar", - "t2= 45.0 # temperature in deg celcius", - "t3=20.0 # temperature of cooling entry in deg cel", - "t4=35.0 # temperature of cooling exit", - "", - "hf= 191.53 # Enthalpy in KJ/kg", - "hg= 2584.7 # Enthalpy in KJ/kg", - "h2=188.45 # Assumption at states 2,3 and 4, h is approx equal to hf(T), in kJ/kg", - "deltah4_3= 62.7 # Assumption 4, in kJ/kg", - "", - "", - "h1= hf + x1*(hg-hf)", - "ratio= (h1-h2)/(deltah4_3)", - "QRate= (h2-h1) # Part B", - "", - "print '-> The rate of the mass flow rate of the cooling water to the mass flow rate of the condenstaing stream is (m3dot/m1dot)',round(ratio,2)", - "print '-> The rate of energy transfer from the condensing steam to the cooling water of the steam passing through the condenser is',round(QRate,2),'kJ/kg.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The rate of the mass flow rate of the cooling water to the mass flow rate of the condenstaing stream is (m3dot/m1dot) 36.31", - "-> The rate of energy transfer from the condensing steam to the cooling water of the steam passing through the condenser is -2276.59 kJ/kg." - ] - } - ], - "prompt_number": 6 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "T1 = 293.0 # In kelvin", - "P1= 1.01325 * (10**5) # In pascal", - "V1max= 1.3 # maximum velocity of entering air in m/s", - "T2max= 305.0 # maximum temperature at the exit in kelvin", - "pec= -80.0 # power received by electronic components in watt", - "Pf= -18.0 # Power received by fan in watt", - "R= 8.314 # Universal gas constant", - "M= 28.97*(10**(-3)) # Molar mass of air in kg", - "Qcvdot=0 # Heat transfer from the outer surface of the electronics enclosure to the surroundings is negligible.", - "Cp= 1.005*(10**3) # in j/kg*k", - "pi=3.14", - "", - "", - "Wcvdot = pec +Pf # total electric power provided to electronic components and fan in watt", - "mdotmin= (-Wcvdot)/(Cp*(T2max-T1)) # minimum mass flow rate", - "v1= ((R/M)*T1)/P1 # specific volume", - "A1min = (mdotmin*v1)/V1max", - "D1min = (4*A1min/(pi))**(0.5)", - "", - "print '-> The smallest fan inlet diameter is',round(D1min*100,2),'cm.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The smallest fan inlet diameter is 8.13 cm." - ] - } - ], - "prompt_number": 7 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "P1 = 20.0 # pressure in supply line in bars", - "P2 = 1.0 # exhaust pressure in bar", - "T2 = 120.0 # exhaust temperature in degree celcius", - "", - "hf1 = 908.79 # Enthalpy in kj/kg", - "hg1 = 2799.5 # Enthalpy in kj/kg", - "", - "h2 = 2766.6 # in kj/kg", - "h1 = h2 # from throttling process assumption", - "", - "", - "x1 = (h1-hf1)/(hg1-hf1)", - "", - "print '-> The quality of the steam in the supply line is',round(x1,2)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The quality of the steam in the supply line is 0.98" - ] - } - ], - "prompt_number": 8 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "P1 = 1.0 # pressure of industrial discharge in bar", - "T1 = 478.0 # temperature of industrial discharge in kelvin", - "m1dot = 69.78 # mass flow rate of industrial discharge in kg/s", - "T2 = 400.0 # temperature of exit products from steam generator in kelvin", - "P2 = 1.0 # pressure of exit products from steam generator in bar", - "P3 = 0.275 # pressure of water stream entering the generator in Mpa", - "T3 = 38.9 # temperature of water stream entering the generator in degree celcius", - "m3dot = 2.079 # mass flow rate of water stream entering in kg/s", - "P5 = 0.07 # exit pressure of the turbine in bars", - "x5 = 0.93 # quality of turbine exit", - "", - "m2dot = m1dot # since gas and water streams do not mix", - "m5dot = m3dot # --DO", - "", - "h1 = 480.3 # in kj/kg", - "h2 = 400.98 # in Kj/kg", - "h3 = 162.9 # assumption: h3 = hf(T3), units in Kj/kg", - "hf5 = 161.0 # in kj/kg", - "hg5 = 2571.72 # in kj/kg", - "", - "P4 = P3 # from the assumption that there is no pressure drop for water flowing through the steam generator", - "T4 = 180 # in degree celcius", - "", - "h5 = hf5 + x5*(hg5-hf5)", - "Wcvdot = m1dot*h1 + m3dot*h3 - m2dot*h2 - m5dot*h5", - "h4 = h3 + (m1dot/m3dot)*(h1 -h2) # from steady state energy rate balance", - " # interpolating in table A-4, with these P4 and h4", - "print '-> The power developed by the turbine is ',round(Wcvdot,2),'kJ/s.'", - "print '-> Turbine inlet temperature is',round(T4,2),'degree celcius.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The power developed by the turbine is 877.84 kJ/s.", - "-> Turbine inlet temperature is 180.0 degree celcius." - ] - } - ], - "prompt_number": 9 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "V = 0.85 # volume of tank in m^3", - "T1 = 260.0 # initial temperature of the tank in degree celcius", - "X1 = 0.7 # initial quality", - "", - "uf1 = 1128.4 # in kg/kg", - "ug1 = 2599.0 # in kg/kg", - "", - "vf1 = 1.2755e-3 # in m^3/kg", - "vg1 = 0.04221 # in m^3/kg", - "", - "", - "", - "u2 = 2599.0 # units in KJ/kg ", - "v2 = 42.21e-3 # units in m^3/Kg", - "he = 2796.6 # units in KJ/kg", - "", - "u1 = uf1 + X1*(ug1-uf1) # in kj/kg", - "v1 = vf1 + X1*(vg1-vf1) # in m^3/kg", - "m1 = V/v1 # initial mass in kg", - "m2 = V/v2 # final mass in kg", - "U2 = m2*u2 # final internal energy in KJ", - "U1 = m1*u1 # initial internal energy in KJ", - "Qcv = (U2-U1) - he*(m2-m1) ", - "", - "print '-> The amount of heat transfer is',round(Qcv,2),'KJ.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The amount of heat transfer is 14162.16 KJ." - ] - } - ], - "prompt_number": 10 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "Pv = 15.0 # pressure in the vessel in bar", - "Tv = 320.0 # temperature in the vessel in degree celcius", - "Vt = 0.6 # volume of a tank in m^3", - "Tt = 400.0 # temperature in the tank in degree celcius when the tank is full", - "", - "m1 = 0", - "u1 = 0", - "", - "v2 = 0.203 # Volume in m^3/kg", - "m2 = Vt/v2 # mass within the tank at the end of the process in kg", - "hi = 3081.9 # in kj/kg", - "u2 = 2951.3 # in kj/kg", - "", - "deltaUcv = m2*u2-m1*u1", - "Wcv = hi*(m2-m1)-deltaUcv", - "", - "print '-> The amount of work developed by the turbine is ',round(Wcv,2),'kJ.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The amount of work developed by the turbine is 386.01 kJ." - ] - } - ], - "prompt_number": 11 - } - ] - } - ] -}
\ No newline at end of file diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_5_2.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_5_2.ipynb deleted file mode 100644 index c916acae..00000000 --- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_5_2.ipynb +++ /dev/null @@ -1,117 +0,0 @@ -{ - "metadata": { - "name": "Chapter 5" - }, - "nbformat": 2, - "worksheets": [ - { - "cells": [ - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "W = 410.00 # net work output in kj claimed ", - "Q = 1000.00 # energy input by heat transfer in kj", - "Tc = 300.00 # temperature of cold reservoir in kelvin", - "TH = 500.00 # temperature of hot reservoir in kelvin", - "", - "eta = W/Q # thermal efficiency", - "etamax = 1-(Tc/TH)", - "", - "print '-> Eta = ',round(eta,4)", - "print '-> Etamax = ',round(etamax,4)", - "print '-> Since eta is more than etamax, the claim is not authentic'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> Eta = 0.41", - "-> Etamax = 0.4", - "-> Since eta is more than etamax, the claim is not authentic" - ] - } - ], - "prompt_number": 1 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "Qcdot = 8000.00 # in kj/h", - "Wcycledot = 3200.00 # in kj/h", - "Tc = 268.00 # temperature of compartment in kelvin", - "TH = 295.00 # temperature of the surrounding air in kelvin", - "", - "beta = Qcdot/Wcycledot # coefficient of performance", - "betamax = Tc/(TH-Tc) # reversible coefficient of performance", - "", - "print '-> Coefficient of performance is ',round(beta,3)", - "print '-> Coefficient of performance of a reversible cycle is ',round(betamax,3)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> Coefficient of performance is 2.5", - "-> Coefficient of performance of a reversible cycle is 9.926" - ] - } - ], - "prompt_number": 2 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "Tc = 283.0 # in kelvin", - "TH = 295.0 # in kelvin", - "QH = 5*(10**5) # in kj per day", - "", - "Wcyclemin = (1-(Tc/TH))*QH", - "", - "print '-> Minimum theoretical work input for one day of operation in kJ is: ',round(Wcyclemin,2)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> Minimum theoretical work input for one day of operation in kJ is: 20338.98" - ] - } - ], - "prompt_number": 3 - } - ] - } - ] -}
\ No newline at end of file diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_6_2.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_6_2.ipynb deleted file mode 100644 index d31bd424..00000000 --- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_6_2.ipynb +++ /dev/null @@ -1,626 +0,0 @@ -{ - "metadata": { - "name": "Chapter 6" - }, - "nbformat": 2, - "worksheets": [ - { - "cells": [ - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "T = 373.15 # temperature in kelvin", - "", - "", - "p = 1.014*(10**5) # pressure in pascal", - "vg = 1.673", - "vf = 1.0435e-3", - "sg = 7.3549", - "sf = 1.3069", - "", - "w = p*(vg-vf)*(10**(-3))", - "Q = T*(sg-sf)", - "", - "print '-> The work per unit mass is',round(w,3),'KJ/kg.'", - "print '-> The heat transfer per unit mass is ',round(Q,2),'KJ/kg.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The work per unit mass is 169.536 KJ/kg.", - "-> The heat transfer per unit mass is 2256.81 KJ/kg." - ] - } - ], - "prompt_number": 1 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "\"\"\"", - "1. The water in the piston\u2013cylinder assembly is a closed system.", - "", - "2. There is no heat transfer with the surroundings.", - "", - "3. The system is at an equilibrium state initially and finally. There is no", - "change in kinetic or potential energy between these two states.\"\"\"", - "", - "ug = 2506.5 # in kj/kg", - "uf = 418.94 # in kj/kg", - "sg = 7.3549", - "sf = 1.3069", - "", - "", - "W = -(ug-uf)", - "sigmabym = (sg-sf)", - "", - "print '-> The net work per unit mass is ',round(W,2),'KJ/kg.'", - "print '-> The amount of entropy produced per unit mass is ',round(sigmabym,2),'kJ/kg.k.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The net work per unit mass is -2087.56 KJ/kg.", - "-> The amount of entropy produced per unit mass is 6.05 kJ/kg.k." - ] - } - ], - "prompt_number": 2 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "T1 = 273.0 # initial temperature of saturated vapor in kelvin", - "P2 = 0.7*(10**6) # final pressure in pascal", - "", - "u1 = 227.06 # in kj/kg", - "", - "u2s = 244.32 # in kj/kg", - " ", - "Wmin = u2s-u1", - "", - "print '-> The minimum theoretical work input required per unit mass of refrigerant is: ',round(Wmin,2),'kJ/kg.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The minimum theoretical work input required per unit mass of refrigerant is: 17.26 kJ/kg." - ] - } - ], - "prompt_number": 3 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "Qdot = -1.2 # in kilo watt", - "Tb = 300.0 # in kelvin", - "Tf = 293.0 # in kelvin", - "", - "sigmadot = -Qdot/Tb", - "", - "sigmadt = -Qdot/Tf", - "", - "print '-> The rate of entropy production with gearbox as system is ',round(sigmadot,5),'kw/k.'", - "print '-> The rate of entropy production with gearbox + sorrounding as system is',round(sigmadt,5),'kw/k.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The rate of entropy production with gearbox as system is 0.004 kw/k.", - "-> The rate of entropy production with gearbox + sorrounding as system is 0.0041 kw/k." - ] - } - ], - "prompt_number": 4 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "Tmi = 1200.0 # initial temperature of metal in kelvin", - "cm = 0.42 # specific heat of metal in KJ/kg.k", - "mm = 0.3 # mass of metal in kg", - "Twi = 300.0 # initial temperature of water in kelvin", - "cw = 4.2 # specific heat of water in KJ/Kg.k", - "mw = 9.0 # mass of water in kg", - "", - "import math", - "Tf = (mw*(cw/cm)*Twi+mm*Tmi)/(mw*(cw/cm)+mm)", - "", - "sigma = mw*cw*math.log(Tf/Twi)+mm*cm*math.log(Tf/Tmi)", - "", - "print '-> The final equilibrium temperature of the metal bar and the water is',round(Tf,2),' kelvin.'", - "print '-> The amount of entropy produced is:',round(sigma,2),'kJ/k.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The final equilibrium temperature of the metal bar and the water is 302.99 kelvin.", - "-> The amount of entropy produced is: 0.2 kJ/k." - ] - } - ], - "prompt_number": 5 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "P1 = 30.0 # pressure of steam entering the turbine in bar", - "T1 = 400.0 # temperature of steam entering the turbine in degree celcius", - "V1 = 160.0 # velocity of steam entering the turbine in m/s", - "T2 = 100.0 # temperature of steam exiting in degree celcius", - "V2 = 100.0 # velocity of steam exiting in m/s", - "Wcvdot = 540.0 # work produced by turbine in kJ/kg of steam", - "Tb = 350.0 # temperature of the boundary in kelvin", - "", - "h1 = 3230.9 # specific enthalpy at entry in Kj/kg", - "h2 = 2676.1 # specific enthalpy at exit in kj/kg", - "", - "", - "Qcvdot = Wcvdot + (h2 - h1)+ (V2**2-V1**2)/(2*(10**3)) # heat transfer rate", - "", - "s2 = 7.3549 # in kj/kg.k", - "s1 = 6.9212 # in kj/kg.k", - "", - "sigmadot = -(Qcvdot/Tb) + (s2-s1)", - "", - "print '-> The rate at which entropy is produced within the turbine per kg of steam flowing is',round(sigmadot,2),'kJ/kg.k.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The rate at which entropy is produced within the turbine per kg of steam flowing is 0.5 kJ/kg.k." - ] - } - ], - "prompt_number": 6 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "T1 = 294.0 # entry temperature of air in kelvin", - "P1 = 5.1 # entry pressure of air in bars", - "T2 = 352.0 # exit temperature of hot stream in kelvin", - "P2 = 1.0 # exit pressure of hot stream in bars", - "T3 = 255.0 # exit temperature of cold stream in kelvin", - "P3 = 1.0 # exit pressure of cold stream in bars", - "cp = 1.0 # in kj/kg.k", - "", - "import math", - "R = 8.314/28.97", - "se = 0.4*(cp*math.log((T2)/(T1))-R*math.log(P2/P1)) + 0.6*(cp*math.log((T3)/(T1))-R*math.log(P3/P1))", - " # specific entropy in kj/kg.k", - "", - "", - "print '-> Specific entropy in kj/kg.k = ',round(se,3),' KJ/kg.'", - "print '-> Since se > 0, the claim of the writer is true'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> Specific entropy in kj/kg.k = 0.454 KJ/kg.", - "-> Since se > 0, the claim of the writer is true" - ] - } - ], - "prompt_number": 7 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "P1 = 3.5 # pressure of refrigerant entering the compressor in bars", - "T1 = 268.0 # temperature of refrigerant entering the compressor in kelvin", - "P2 = 14.0 # pressure of refrigerant entering the condenser in bars", - "T2 = 348.0 # temperature of refrigerant entering the condenser in kelvin", - "P3 = 14.0 # pressure of refrigerant exiting the condenser in bars", - "T3 = 301.0 # temperature of refrigerant exiting the condenser in kelvin", - "P4 = 3.5 # pressure of refrigerant after passing through expansion valve in bars", - "P5 = 1.0 # pressure of indoor return air entering the condenser in bars", - "T5 = 293.0 # temperature of indoor return air entering the condenser in kelvin", - "AV5 = 0.42 # volumetric flow rate of indoor return air entering the condenser in m^3/s", - "P6 = 1.0 # pressure of return air exiting the condenser in bar", - "T6 = 323.0 # temperature of return air exiting the condenser in kelvin", - "", - "", - "s1 = 0.9572 # in kj/kg.k", - "s2 = 0.98225 # in kj/kg.k", - "h2 = 294.17 # in kj/kg", - "s3 = 0.2936 # in kj/kg.k", - "h3 = 79.05 # in kj/kg", - "", - "h4 = h3 # since expansion through valve is throttling process", - "", - "hf4 = 33.09 # in kj/kg", - "hg4 = 246.00 # in kj/kg", - "sf4 = 0.1328 # in kj/kg.k", - "sg4 = 0.9431 # in kj/kg.k", - "cp = 1.005 # in kj/kg.k", - "", - "import math", - "x4 = (h4-hf4)/(hg4-hf4) # quality at state 4", - "s4 = sf4 + x4*(sg4-sf4) # specific entropy at state 4", - "", - "v5 = ((8314/28.97)*T5)/(P5*(10**5)) # specific volume at state 5", - "mairdot = AV5/v5 ", - "h6 = cp*T6", - "h5 = cp*T5", - "mrefdot = mairdot*(h6-h5)/(h2-h3)", - "deltaS65 = cp*math.log(T6/T5)-(8.314/28.97)*math.log(P6/P5) # change in specific entropy", - "sigmacond = (mrefdot*(s3-s2)) + (mairdot*(deltaS65))", - "", - "sigmacomp = mrefdot*(s2-s1)", - "", - "sigmavalve = mrefdot *(s4-s3)", - "", - "print '-> The rates of entropy production for control volume enclosing the condenser is ',sigmacond,'kW/K.'", - "print '-> The rates of entropy production for control volume enclosing the compressor is ',sigmacomp,'kW/K.'", - "print '-> The rates of entropy production for control volume enclosing the expansion valve is ',sigmavalve,'kW/K.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The rates of entropy production for control volume enclosing the condenser is 0.000724165354577 kW/K.", - "-> The rates of entropy production for control volume enclosing the compressor is 0.00175361560919 kW/K.", - "-> The rates of entropy production for control volume enclosing the expansion valve is 0.000988192525533 kW/K." - ] - } - ], - "prompt_number": 8 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "P1 = 1.00 # initial pressure in bar", - "T1 = 300.00 # initial temperature in kelvin", - "T2 = 650.00 # final temperature in kelvin", - "", - "pr2 = 21.86 ", - "pr1 = 1.3860", - "k = 1.39 # From table A-20", - "", - "p2 = P1*(pr2/pr1)", - "p2a = P1*((T2/T1)**(k/(k-1)))", - "", - "print '-> P2 = ',p2,'bar.'", - "print '-> Part(b) IT software problem'", - "print '-> P2a = ',p2a,'bar.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> P2 = 15.772005772 bar.", - "-> Part(b) IT software problem", - "-> P2a = 15.7324909817 bar." - ] - } - ], - "prompt_number": 9 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "m1 = 5.00 # initial mass in kg", - "P1 = 5.00 # initial pressure in bar", - "T1 = 500.00 # initial temperature in kelvin", - "P2 = 1.00 # final pressure in bar", - "", - "pr1 = 8.411", - "", - "", - "", - "T2 = 317.00 # in kelvin", - "", - "pr2 = (P2/P1)*pr1", - "m2 = (P2/P1)*(T1/T2)*m1", - "", - "print '-> The amount of mass remaining in the tank is ',m2,'kg.'", - "print 'and its temperature is ',T2,'kelvin.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The amount of mass remaining in the tank is 1.57728706625 kg.", - "and its temperature is 317.0 kelvin." - ] - } - ], - "prompt_number": 10 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "P1 = 1.00 # inlet pressure in bar", - "T1 = 593.00 # inlet temperature in kelvin", - "P2 = 1.00 # exit pressure in bar", - "eta =0.75 # turbine efficiency", - "", - "h1 = 3105.6 # in Kj/kg", - "s1 = 7.5308 # in kj/kg.k", - "h2s = 2743.00 # in kj/kg", - "", - "w = eta*(h1 - h2s)", - "", - "print '-> The work developed per unit mass of steam flowing through is ',w,'kJ/kg.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The work developed per unit mass of steam flowing through is 271.95 kJ/kg." - ] - } - ], - "prompt_number": 11 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "P1 = 3.00 # pressure of air entering in bar", - "T1 = 390.00 # temperature of air entering in kelvin", - "P2 = 1.00 # pressure of exit air", - "Wcvdot = 74.00 # work developed in kj/kg", - "", - "h1 = 390.88 # in kj/kg", - "pr1 = 3.481", - "", - "h2s = 285.27 # in kj/kg", - "", - "pr2 = (P2/P1)*pr1", - "Wcvdots = h1 - h2s", - "eta = Wcvdot/Wcvdots", - "", - "print '-> The turbine efficiency is ',round(eta,4),'.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The turbine efficiency is 0.7007 ." - ] - } - ], - "prompt_number": 12 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "P1 = 1.00 # pressure of entering steam in Mpa", - "T1 = 593.00 # temperature of entering steam in kelvin", - "V1 = 30.00 # velocity of entering steam in m/s", - "P2 = 0.3 # pressure of exit steam in Mpa", - "T2 = 453.00 # temperature of exit steam in kelvin", - "", - "h1 = 3093.9 # in kj/kg", - "s1 = 7.1962 # in kj/kg.k", - "h2 = 2823.9 # in kj/kg", - "", - "", - "h2s = 2813.3 # in kj/kg", - "", - "V2squareby2 = h1 - h2 + (V1**2)/2000", - "V2squareby2s = h1 - h2s + (V1**2)/2000", - "eta = V2squareby2/V2squareby2s", - "", - "print '-> The nozzle efficiency is ',round(eta,4),'.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The nozzle efficiency is 0.9623 ." - ] - } - ], - "prompt_number": 13 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "h1 = 249.75 # in kj/kg", - "h2 = 294.17 # in kj/kg", - "mdot = 0.07 # in kg/s", - "", - "s1 = 0.9572 # in Kj/Kg.k", - "h2s = 285.58 # in kj/kg", - "", - "wcvdot = -(mdot*(h2-h1))", - "eta = (h2s-h1)/(h2-h1) ", - "", - "print '-> The power in is',wcvdot,'KW.'", - "print '-> The isentropic efficiency is ',round(eta,3),'.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The power in is -3.1094 KW.", - "-> The isentropic efficiency is 0.807 ." - ] - } - ], - "prompt_number": 14 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "P1 = 1.00 # pressure of entering air in bar", - "T1 = 293.00 # temperature of entering air in kelvin", - "P2 = 5.00 # pressure of exit air in bar", - "n = 1.3", - "R = 8.314/28.97", - "", - "h1 = 293.17 # in kj/kg", - "h2 = 426.35 # in kj/kg", - "", - "T2 = T1*((P2/P1)**((n-1)/n)) # in kelvin", - "wcvdot=((n*R)/(n-1))*(T1-T2) # in kj/kg", - "Qcvdot= wcvdot + (h2-h1) # in kj/kg", - "", - "print '-> The work per unit mass passing through the device is',round(wcvdot,2),'kJ/kg.'", - "print '-> The heat transfer per unit mass is ',round(Qcvdot,2),'kJ/kg.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The work per unit mass passing through the device is -163.89 kJ/kg.", - "-> The heat transfer per unit mass is -30.71 kJ/kg." - ] - } - ], - "prompt_number": 15 - } - ] - } - ] -}
\ No newline at end of file diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_7_2.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_7_2.ipynb deleted file mode 100644 index 0a0a3ee0..00000000 --- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_7_2.ipynb +++ /dev/null @@ -1,573 +0,0 @@ -{ - "metadata": { - "name": "Chapter 7" - }, - "nbformat": 2, - "worksheets": [ - { - "cells": [ - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "v = 2450.00 # volume of gaseous products in cm^3", - "P = 7.00 # pressure of gaseous product in bar", - "T = 867.00 # temperature of gaseous product in degree celcius", - "T0 = 300.00 # in kelvin", - "P0 = 1.013 # in bar", - "", - "u = 880.35 # in kj/kg", - "u0 = 214.07 # in kj/kg", - "s0T = 3.11883 # in kj/kg.k", - "s0T0 = 1.70203 # in kj/kg.k", - "", - "import math", - "e = (u-u0) + (P0*(8.314/28.97)*(((T+273)/P)-(T0/P0))) - T0*(s0T-s0T0-(8.314/28.97)*math.log(P/P0)) # kj/kg", - "", - "print '-> The specific exergy of the gas is ',round(e,3),'kJ/kg.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The specific exergy of the gas is 368.912 kJ/kg." - ] - } - ], - "prompt_number": 1 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "mR = 1.11 # mass of the refrigerant in kg", - "T1 = -28.00 # initial temperature of the saturated vapor in degree celcius", - "P2 = 1.4 # final pressure of the refrigerant in bar", - "T0 = 293.00 # in kelvin", - "P0 = 1.00 # in bar", - "", - "u1 = 211.29 # in kj/kg", - "v1 = 0.2052 # in m^3/kg", - "s1 = 0.9411 # in kj/kg.k", - "u0 = 246.67 # in kj/kg", - "v0 = 0.23349 # in m^3/kg", - "s0 = 1.0829 # in kj/kg.k", - "", - "u2 = 300.16 # in kj/kg", - "s2 = 1.2369 # in kj/kg.k", - "v2 = v1", - "", - "E1 = mR*((u1-u0) + P0*(10**5)*(v1-v0)*(10**(-3))-T0*(s1-s0))", - "E2 = mR*((u2-u0) + P0*(10**5)*(v2-v0)*(10**(-3))-T0*(s2-s0))", - "", - "print '-> Part(a) The initial exergy is ',round(E1,2),'kJ.'", - "print '-> The final exergy is ',round(E2,2),'kJ.'", - "print '-> The change in exergy of the refrigerant is ',round(E2-E1,2),'kJ.'", - "", - "", - "deltaU = mR*(u2-u1)", - "deltaPE = -deltaU", - "deltaE = deltaPE", - "", - "print '-> Part(b)The change in exergy of the suspended mass is ',round(deltaE,3),'kJ.'", - "", - "", - "deltaEiso = (E2-E1) + deltaE", - "", - "print '-> Part(c)The change in exergy of an isolated system of the vessel and pulley\u2013mass assembly is ',round(deltaEiso,2),'kJ.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> Part(a) The initial exergy is 3.71 kJ.", - "-> The final exergy is 6.15 kJ.", - "-> The change in exergy of the refrigerant is 2.44 kJ.", - "-> Part(b)The change in exergy of the suspended mass is -98.646 kJ.", - "-> Part(c)The change in exergy of an isolated system of the vessel and pulley\u2013mass assembly is -96.2 kJ." - ] - } - ], - "prompt_number": 2 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "T = 373.15 # initial temperature of saturated liquid in kelvin", - "T0 = 293.15 # in kelvin", - "P0 = 1.014 # in bar", - "", - "ug = 2506.5 # in kj/kg", - "uf = 418.94 # in kj/kg", - "vg = 1.673 # in m^3/kg", - "vf = 1.0435*(10**(-3)) # in m^3/kg", - "sg = 7.3549 # in kj/kg.k", - "sf = 1.3069 # in kj/kg.k", - "", - "", - "etaw = 0 # since p = p0", - "Q = 2257 # in kj/kg,obtained from example 6.1", - "etah = (1-(T0/T))*Q", - "", - "ed = 0 # since the process is accomplished without any irreversibilities", - "deltae = ug-uf + P0*(10**5)*(vg-vf)/(10**3)-T0*(sg-sf)", - "", - "print '-> Part(a)the change in exergy is',round(deltae,2),'kJ/kg.'", - "print '-> The exergy transfer accompanying work is',round(etaw,2),'kJ/kg.'", - "print '-> The exergy transfer accompanying heat is',round(etah,2),'kJ/kg.'", - "print '-> The exergy destruction is',round(ed,2),'kJ/kg.'", - "", - "", - "Deltae = deltae # since the end states are same ", - "Etah = 0 # since process is adiabatic", - "W = -2087.56 # in kj/kg from example 6.2", - "Etaw = W- P0*(10**5)*(vg-vf)/(10**3)", - "Ed = -(Deltae+Etaw)", - "", - "print '-> Part(b)the change in exergy is ',round(Deltae,2),'kJ/kg.'", - "print '-> The exergy transfer accompanying work is',round(Etaw,2),'kJ/kg.'", - "print '-> The exergy transfer accompanying heat is',round(Etah,2),'kJ/kg.'", - "print '-> The exergy destruction is',round(Ed,2),'kJ/kg.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> Part(a)the change in exergy is 484.13 kJ/kg.", - "-> The exergy transfer accompanying work is 0.0 kJ/kg.", - "-> The exergy transfer accompanying heat is 483.88 kJ/kg.", - "-> The exergy destruction is 0.0 kJ/kg.", - "-> Part(b)the change in exergy is 484.13 kJ/kg.", - "-> The exergy transfer accompanying work is -2257.1 kJ/kg.", - "-> The exergy transfer accompanying heat is 0.0 kJ/kg.", - "-> The exergy destruction is 1772.97 kJ/kg." - ] - } - ], - "prompt_number": 3 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "T0 = 293.00 # in kelvin", - "Qdot = -1.2 # in KW, from example 6.4a", - "Tb = 300.00 # temperature at the outer surface of the gearbox in kelvin from example 6.4a", - "sigmadot = 0.004 # rate of entropy production in KW/k from example 6.4a", - "", - "R = -(1-T0/Tb)*Qdot # time rate of exergy transfer accompanying heat", - "Eddot = T0*sigmadot # rate of exergy destruction", - "", - "print '-> Balance sheet'", - "print '* Rate of exergy in high speed shaft 60Kw' ", - "print '-> Disposition of the exergy: Rate of exergy out low-speed shaft 58.8Kw' ", - "print '-> Heat transfer is',round(R,3),'kw.'", - "print '-> Rate of exergy destruction is',round(Eddot,3),'kw.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> Balance sheet", - "* Rate of exergy in high speed shaft 60Kw", - "-> Disposition of the exergy: Rate of exergy out low-speed shaft 58.8Kw", - "-> Heat transfer is 0.028 kw.", - "-> Rate of exergy destruction is 1.172 kw." - ] - } - ], - "prompt_number": 4 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "p1 = 3.0 # entry pressure in Mpa", - "p2 = 0.5 # exit pressure in Mpa", - "T1 = 320.0 # entry temperature in degree celcius", - "T0 = 25.0 # in degree celcius", - "p0 = 1.0 # in atm", - "", - "h1 = 3043.4 # in kj/kg", - "s1 = 6.6245 # in kj/kg.k", - "h2 = h1 # from reduction of the steady-state mass and energy rate balances", - "s2 = 7.4223 # Interpolating at a pressure of 0.5 MPa with h2 = h1, units in kj/kg.k", - "", - "h0 = 104.89 # in kj/kg", - "s0 = 0.3674 # in kj/kg.k", - "", - "ef1 = h1-h0-(T0+273)*(s1-s0) # flow exergy at the inlet", - "ef2 = h2-h0-(T0+273)*(s2-s0) # flow exergy at the exit", - "Ed = ef1-ef2 # the exergy destruction per unit of mass flowing is", - "", - "print '-> The specific flow exergy at the inlet is ',round(ef1,2),'kJ/kg.'", - "print '-> The specific flow exergy at the exit is',round(ef2,2),'kJ/kg.'", - "print '-> The exergy destruction per unit of mass flowing is',round(Ed,2),'kJ/kg.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The specific flow exergy at the inlet is 1073.89 kJ/kg.", - "-> The specific flow exergy at the exit is 836.15 kJ/kg.", - "-> The exergy destruction per unit of mass flowing is 237.74 kJ/kg." - ] - } - ], - "prompt_number": 5 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "T1 = 610.0 # temperature of the air entering heat exchanger in kelvin", - "p1 = 10.0 # pressure of the air entering heat exchanger in bar", - "T2 = 860.0 # temperature of the air exiting the heat exchanger in kelvin", - "p2 = 9.70 # pressure of the air exiting the heat exchanger in bar", - "T3 = 1020.0 # temperature of entering hot combustion gas in kelvin", - "p3 = 1.10 # pressure of entering hot combustion gas in bar", - "p4 = 1.0 # pressure of exiting hot combustion gas in bar", - "mdot = 90.0 # mass flow rate in kg/s", - "T0 = 300.0 # in kelvin", - "p0 = 1.0 # in bar", - "", - "h1 = 617.53 # in kj/kg", - "h2 = 888.27 # in kj/kg", - "h3 = 1068.89 # in kj/kg", - "", - "\"\"\"From reduction of mass and energy rate balances for the control volume at", - "steady state \"\"\"", - "h4 = h3+h1-h2", - "", - "T4 = 778 # in kelvin", - "", - "print '-> The exit temperature of the combustion gas is',T4,'kelvin.'", - "", - "s2 = 2.79783 # in kj/kg.k", - "s1 = 2.42644 # in kj/kg.k", - "s4 = 2.68769 # in kj/kg.k", - "s3 = 2.99034 # in kj/kg.k", - "", - "import math", - "deltaR = (mdot*((h2-h1)-T0*(s2-s1-(8.314/28.97)*math.log(p2/p1))))/1000", - "deltRc = mdot*((h4-h3)-T0*(s4-s3-(8.314/28.97)*math.log(p4/p3)))/1000", - "", - "print '-> The net change in the flow exergy rate from inlet to exit of compressed gas is',round(deltaR,3),'MW.'", - "print '-> The net change in the flow exergy rate from inlet to exit of hot combustion gas is',round(deltRc,3),'MW.'", - "", - "Eddot = -deltaR-deltRc", - "", - "print '-> The rate exergy destroyed, is',round(Eddot,3),'MW.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The exit temperature of the combustion gas is 778 kelvin.", - "-> The net change in the flow exergy rate from inlet to exit of compressed gas is 14.103 MW.", - "-> The net change in the flow exergy rate from inlet to exit of hot combustion gas is -16.934 MW.", - "-> The rate exergy destroyed, is 2.831 MW." - ] - } - ], - "prompt_number": 6 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "p1 = 30.0 # pressure of entering steam in bar", - "t1 = 400.0 # temperature of entering steam in degree celcius", - "v1 = 160.0 # velocity of entering steam in m/s", - "t2 = 100.0 # temperature of exiting saturated vapor in degree celcius", - "v2 = 100.0 # velocity of exiting saturated vapor in m/s", - "W = 540.0 # rate of work developed in kj per kg of steam", - "Tb = 350.0 # the temperature on the boundary where heat transfer occurs in kelvin", - "T0 = 25.0 # in degree celcius", - "p0 = 1.0 # in atm", - "", - "h1 = 3230.9 # in kj/kg", - "s1 = 6.9212 # in kj/kg.k", - "h2 = 2676.1 # in kj/kg", - "s2 = 7.3549 # in kj/kg.k", - "Q = -22.6 # in kj/kg", - " ", - "DELTAef = (h1-h2)-(T0+273)*(s1-s2)+(v1**2-v2**2)/(2*1000)", - "Eq = (1-(T0+273)/Tb)*(Q) # exergy transfer accompanying heat in kj/kg", - "Ed = ((1-(T0+273)/Tb)*(Q))-W+(DELTAef) # The exergy destruction determined by rearranging the steady-state form of the exergy ", - " # rate balance", - "", - "print '-> Balance sheet'", - "print '-> Net rate of exergy ',DELTAef,'kJ/kg,'", - "print '-> Disposition of the exergy:'", - "print '* Rate of exergy out'", - "print '-> Work',W,'kJ/kg.'", - "print '-> Heat transfer',-Eq,'.'", - "print '\u2022 Rate of exergy destruction',Ed,'kJ/kg.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> Balance sheet", - "-> Net rate of exergy 691.8426 kJ/kg,", - "-> Disposition of the exergy:", - "* Rate of exergy out", - "-> Work 540.0 kJ/kg.", - "-> Heat transfer 3.35771428571 .", - "\u2022 Rate of exergy destruction 148.484885714 kJ/kg." - ] - } - ], - "prompt_number": 7 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "m1dot = 69.78 # in kg/s", - "p1 = 1.0 # in bar", - "T1 = 478.0 # in kelvin", - "T2 = 400.0 # in kelvin", - "p2 = 1.0 # in bar", - "p3 = 0.275 # in Mpa", - "T3 = 38.9 # in degree celcius", - "m3dot = 2.08 # in kg/s", - "T4 = 180.0 # in degree celcius", - "p4 = 0.275 # in Mpa", - "p5 = 0.07 # in bar", - "x5 = 0.93", - "Wcvdot = 876.8 # in kW", - "T0 = 298.0 # in kelvin", - "", - "", - "h1 = 480.35 # in kj/kg", - "h2 = 400.97 # in kj/kg", - "s1 = 2.173 # in kj/kg", - "s2 = 1.992 # in kj/kg", - "", - "h3 = 162.82 # in kj/kg", - "s3 = 0.5598 # in kj/kg.k", - "h5 = 2403.27 # in kj/kg", - "s5 = 7.739 # in kj/kg.k", - "", - "h4 = 2825.0 # in kj/kg", - "s4 = 7.2196 # in kj/kg.k", - "import math", - "netRE = m1dot*(h1-h2-T0*(s1-s2-(8.314/28.97)*math.log(p1/p2))) # the net rate exergy carried into the control volume", - "netREout = m3dot*(h5-h3-T0*(s5-s3))", - "Eddot = netRE + m3dot*(h3-h4-T0*(s3-s4)) # the rate exergy is destroyed in the heat-recovery steam generator", - "", - "EdDot = -Wcvdot + m3dot*(h4-h5-T0*(s4-s5)) # the rate exergy is destroyed in the tpurbine", - "", - "print '-> balance sheet'", - "print '- Net rate of exergy in:',netRE,'kJ/kg.'", - "print '-> Disposition of the exergy:'", - "print '\u2022 Rate of exergy out'", - "print '-> power developed',1772.8-netREout-Eddot-EdDot,'kJ/kg.'", - "print '-> water stream ',netREout", - "print '\u2022 Rate of exergy destruction'", - "print '-> heat-recovery steam generator',Eddot,'kJ/kg'", - "print '-> turbine',EdDot" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> balance sheet", - "- Net rate of exergy in: 1775.34276 kJ/kg.", - "-> Disposition of the exergy:", - "\u2022 Rate of exergy out", - "-> power developed 874.25724 kJ/kg.", - "-> water stream 210.180672", - "\u2022 Rate of exergy destruction", - "-> heat-recovery steam generator 366.018792 kJ/kg", - "-> turbine 322.343296" - ] - } - ], - "prompt_number": 8 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "T0 = 273.00 # in kelvin", - "pricerate = 0.08 # exergy value at $0.08 per kw.h", - "", - "sigmadotComp = 17.5e-4 # in kw/k", - "sigmadotValve = 9.94e-4 # in kw/k", - "sigmadotcond = 7.95e-4 # in kw/k", - "", - "EddotComp = T0*sigmadotComp # in kw", - "EddotValve = T0*sigmadotValve # in kw", - "Eddotcond = T0*sigmadotcond # in kw", - "", - "mCP = 3.11 # From the solution to Example 6.14, the magnitude of the compressor power in kW", - "", - "print '-> Daily cost in dollars of exergy destruction due to compressor irreversibilities = ',round(EddotComp*pricerate*24,3)", - "print '-> Daily cost in dollars of exergy destruction due to irreversibilities in the throttling valve = ',round(EddotValve*pricerate*24,3)", - "print '-> Daily cost in dollars of exergy destruction due to irreversibilities in the condenser = ',round(Eddotcond*pricerate*24,3)", - "print '-> Daily cost in dollars of electricity to operate compressor = ',round(mCP*pricerate*24,3)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> Daily cost in dollars of exergy destruction due to compressor irreversibilities = 0.917", - "-> Daily cost in dollars of exergy destruction due to irreversibilities in the throttling valve = 0.521", - "-> Daily cost in dollars of exergy destruction due to irreversibilities in the condenser = 0.417", - "-> Daily cost in dollars of electricity to operate compressor = 5.971" - ] - } - ], - "prompt_number": 9 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "EfFdot = 100.00 # exergy rate of fuel entering the boiler in MW", - "cF = 1.44 # unit cost of fuel in cents per kw.h", - "Zbdot = 1080.00 # the cost of owning and operating boiler in dollars per hour", - "Ef1dot = 35.00 # exergy rate of exiting steam from the boiler in MW", - "p1 = 50.00 # pressure of exiting steam from the boiler in bar", - "T1 = 466.00 # temperature of exiting steam from the boiler in degree celcius", - "Ztdot = 92.00 # the cost of owning and operating turbine in dollars per hour", - "p2 = 5.00 # pressure of exiting steam from the turbine in bars", - "T2 = 205.00 # temperature of exiting steam from the turbine in degree celcius", - "m2dot = 26.15 # mass flow rate of exiting steam from the turbine in kg/s", - "T0 = 298.00 # in kelvin ", - "", - "", - "h1 = 3353.54 # in kj/kg", - "h2 = 2865.96 # in kj/kg", - "s1 = 6.8773 # in kj/kg.k", - "s2 = 7.0806 # in kj/kg.k", - "", - "Wedot = m2dot *(h1-h2)/1000 # power in MW", - "Ef2dot = Ef1dot+m2dot*(h2-h1-T0*(s2-s1))/1000 # the rate exergy exits with the steam in MW", - "", - "print '-> For the turbine,the power is',round(Wedot,2),'MW.'", - "print '-> For the turbine,the rate exergy exits with the steam is',round(Ef2dot,2),' MW.'", - "", - "c1 = cF*(EfFdot/Ef1dot) + ((Zbdot/Ef1dot)/10**3)*100 # unit cost of exiting steam from boiler in cents/Kw.h", - "c2 = c1 # Assigning the same unit cost to the steam entering and exiting the turbine", - "ce = c1*((Ef1dot-Ef2dot)/Wedot) + ((Ztdot/Wedot)/10**3)*100 # unit cost of power in cents/kw.h", - "", - "print '-> The unit costs of the steam exiting the boiler of exergy is:',round(c1,2),' cents per kw.h.'", - "print '-> The unit costs of the steam exiting the turbine of exergy is:',round(c2,2),' cents per kw.h.'", - "print '-> Unit cost of power is:',ce,'cents per kw.h.'", - "", - "C2dot = (c2*Ef2dot*10**3)/100 # cost rate for low-pressure steam in dollars per hour", - "Cedot = (ce*Wedot*10**3)/100 # cost rate for power in dollars per hour", - "", - "print '-> The cost rate of the steam exiting the turbine is:',round(C2dot,2),' dollars per hour.'", - "print '-> The cost rate of the power is: ',round(Cedot,2),' dollars per hour.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> For the turbine,the power is 12.75 MW.", - "-> For the turbine,the rate exergy exits with the steam is 20.67 MW.", - "-> The unit costs of the steam exiting the boiler of exergy is: 7.2 cents per kw.h.", - "-> The unit costs of the steam exiting the turbine of exergy is: 7.2 cents per kw.h.", - "-> Unit cost of power is: 8.81617975223 cents per kw.h.", - "-> The cost rate of the steam exiting the turbine is: 1487.92 dollars per hour.", - "-> The cost rate of the power is: 1124.08 dollars per hour." - ] - } - ], - "prompt_number": 10 - } - ] - } - ] -}
\ No newline at end of file diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_8_2.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_8_2.ipynb deleted file mode 100644 index 551d434d..00000000 --- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_8_2.ipynb +++ /dev/null @@ -1,576 +0,0 @@ -{ - "metadata": { - "name": "Chapter 8" - }, - "nbformat": 2, - "worksheets": [ - { - "cells": [ - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "p1 = 8.0 # pressure of saturated vapor entering the turbine in MPa", - "p3 = 0.008 # pressure of saturated liquid exiting the condenser in MPa", - "Wcycledot = 100.00 # the net power output of the cycle in MW", - "", - "h1 = 2758.0 # in kj/kg", - "s1 = 5.7432 # in kj/kg.k", - "s2 = s1", - "sf = 0.5926 # in kj/kg.k", - "sg = 8.2287 # in kj/kg.k", - "hf = 173.88 # in kj/kg", - "hfg = 2403.1 # in kj/kg", - "v3 = 1.0084e-3 # in m^3/kg", - "", - "h3 = 173.88 # in kj/kg", - "", - "x2 = (s2-sf)/(sg-sf) # quality at state 2", - "h2 = hf + x2*hfg", - "p4 = p1", - "h4 = h3 + v3*(p4-p3)*10**6*10**-3 # in kj/kg", - "", - "wtdot = h1 - h2", - "wpdot = h4-h3", - "", - "qindot = h1-h4", - "", - "eta = (wtdot-wpdot)/qindot # thermal efficiency)", - "", - "print '-> The thermal efficiency for the cycle is ',round(eta,2)", - "", - "bwr = wpdot/wtdot # back work ratio", - "", - "print '-> The back work ratio is ',bwr", - "", - "mdot = (Wcycledot*10**3*3600)/((h1-h2)-(h4-h3)) # mass flow rate in kg/h", - "", - "print '-> The mass flow rate of the steam is',round(mdot,2),'kg/h .'", - " ", - "Qindot = mdot*qindot/(3600*10**3) # in MW", - "", - "print '-> The rate of heat transfer,Qindot , into the working fluid as it passes through the boiler, is',round(Qindot,2),'MW.'", - "", - "Qoutdot = mdot*(h2-h3)/(3600*10**3) # in MW", - "", - "print '-> The rate of heat transfer,Qoutdot from the condensing steam as it passes through the condenser, is',round(Qoutdot,2),'MW.'", - "", - "hcwout= 146.68 # in kj/kg", - "hcwin= 62.99 # in kj/kg", - "mcwdot= (Qoutdot*10**3*3600)/(hcwout-hcwin) # in kg/h", - "", - "print '-> The mass flow rate of the condenser cooling water is',round(mcwdot,2),'kg/ h.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The thermal efficiency for the cycle is 0.37", - "-> The back work ratio is 0.00836692570976", - "-> The mass flow rate of the steam is 376902.57 kg/h .", - "-> The rate of heat transfer,Qindot , into the working fluid as it passes through the boiler, is 269.7 MW.", - "-> The rate of heat transfer,Qoutdot from the condensing steam as it passes through the condenser, is 169.7 MW.", - "-> The mass flow rate of the condenser cooling water is 7299844.18 kg/ h." - ] - } - ], - "prompt_number": 1 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "etat= .85 # given that the turbine and the pump each have an isentropic efficiency of 85%", - "h1 = 2758.0 # in kj/kg", - "s1 = 5.7432 # in kj/kg.k", - "h1 = 2758.0 # in kj/kg", - "h2s = 1794.8 # in kj/kg", - "h3 = 173.88 # in kj/kg", - "", - "h2 = h1 - etat*(h1-h2s) # in kj/kg", - "wpdot = 8.06/etat # where the value 8.06 is obtained from example 8.1", - "", - "h4 = h3 + wpdot", - "", - "eta = ((h1-h2)-(h4-h3))/(h1-h4) # thermal efficiency", - "", - "print '-> Thermal efficiency is: ',round(eta,3)", - "", - "Wcycledot = 100 # given,a net power output of 100 MW", - "mdot = (Wcycledot*(10**3)*3600)/((h1-h2)-(h4-h3))", - "print '-> The mass flow rate of steam, in kg/h, for a net power output of 100 MW is ',round(mdot,3),'kg/h.'", - "", - "Qindot = mdot*(h1-h4)/(3600 * 10**3)", - "print '-> The rate of heat transfer Qindot into the working fluid as it passes through the boiler, is ',round(Qindot,3),'MW.'", - "", - "Qoutdot = mdot*(h2-h3)/(3600*10**3)", - "print '-> The rate of heat transfer Qoutdotfrom the condensing steam as it passes through the condenser, is ',round(Qoutdot,3),'MW.'", - "", - "hcwout = 146.68 # in kj/kg", - "hcwin = 62.99 # in kj/kg", - "mcwdot = (Qoutdot*10**3*3600)/(hcwout-hcwin)", - "print '-> The mass flow rate of the condenser cooling water, is: ',round(mcwdot,3),'kg/h.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> Thermal efficiency is: 0.314", - "-> The mass flow rate of steam, in kg/h, for a net power output of 100 MW is 444863.139 kg/h.", - "-> The rate of heat transfer Qindot into the working fluid as it passes through the boiler, is 318.156 MW.", - "-> The rate of heat transfer Qoutdotfrom the condensing steam as it passes through the condenser, is 218.156 MW.", - "-> The mass flow rate of the condenser cooling water, is: 9384172.373 kg/h." - ] - } - ], - "prompt_number": 2 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "T1 = 480.0 # temperature of steam entering the first stage turbine in degree celcius", - "p1 = 8.0 # pressure of steam entering the first stage turbine in MPa", - "p2 = 0.7 # pressure of steam exiting the first stage turbine in MPa", - "T3 = 440.0 # temperature of steam before entering the second stage turbine ", - "Pcond = 0.008 # condenser pressure in MPa", - "Wcycledot = 100.0 # the net power output in MW", - "", - "h1 = 3348.4 # in kj/kg", - "s1 = 6.6586 # in kj/kg.k", - "s2 = s1 # isentropic expansion through the first-stage turbine", - "sf = 1.9922 # in kj/kg.k", - "sg = 6.708 # in kj/kg.k", - "hf = 697.22 # in kj/kg", - "hfg = 2066.3 # in kj/kg", - "", - "x2 = (s2-sf)/(sg-sf)", - "h2 = hf + x2*hfg", - "h3 = 3353.3 # in kj/kg", - "s3 = 7.7571 # in kj/kg.k", - "s4 = s3 # isentropic expansion through the second-stage turbine", - "sf = 0.5926 # in kj/kg.k", - "sg = 8.2287 # in kj/kg.k", - "hf = 173.88 # in kj/kg", - "hfg = 2403.1 # in kj/kg", - "", - "x4 = (s4-sf)/(sg-sf)", - "h4 = hf + x4*hfg", - "", - "h5 = 173.88", - "h6 = 181.94", - "", - "eta = ((h1-h2)+(h3-h4)-(h6-h5))/((h1-h6)+(h3-h2))", - "print '-> The thermal efficiency of the cycle is:',round(eta,2)", - "", - "mdot = (Wcycledot*3600*10**3)/((h1-h2)+(h3-h4)-(h6-h5))", - "print '-> The mass flow rate of steam, is:',round(mdot,2),'kg/h.'", - "", - "Qoutdot = (mdot*(h4-h5))/(3600*10**3)", - "print '-> The rate of heat transfer Qoutdot from the condensing steam as it passes through the condenser, MW is',round(Qoutdot,2),'kg/h.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The thermal efficiency of the cycle is: 0.4", - "-> The mass flow rate of steam, is: 236344.68 kg/h.", - "-> The rate of heat transfer Qoutdot from the condensing steam as it passes through the condenser, MW is 148.02 kg/h." - ] - } - ], - "prompt_number": 3 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "%pylab inline" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "", - "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].", - "For more information, type 'help(pylab)'." - ] - } - ], - "prompt_number": 4 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "etat = 0.85 # given efficiency", - "h1 = 3348.4", - "h2s = 2741.8", - "h3 = 3353.3", - "h4s = 2428.5", - "h5 = 173.88", - "h6 = 181.94", - "", - "", - "h2 = h1 - etat*(h1 - h2s) # The specific enthalpy at the exit of the first-stage turbine in kj/kg", - "h4 = h3 - etat*(h3-h4s) # The specific enthalpy at the exit of the second-stage turbine in kj/kg", - "eta = ((h1-h2)+(h3-h4)-(h6-h5))/((h1-h6)+(h3-h2)) ", - "", - "print '-> The thermal efficiency is: ',eta", - "", - "from numpy import linspace", - "from pylab import *", - "", - "h2 = []", - "h4 = []", - "y = []", - "x = linspace(0.85,1,50)", - "for i in range(0,50):", - " h2.append(i)", - " h4.append(i)", - " y.append(i)", - " h2[i] = h1 - x[i]*(h1 - h2s) # The specific enthalpy at the exit of the first-stage turbine in kj/kg", - " h4[i] = h3 - x[i]*(h3-h4s) # The specific enthalpy at the exit of the second-stage turbine in kj/kg", - " y[i] = ((h1-h2[i])+(h3-h4[i])-(h6-h5))/((h1-h6)+(h3-h2[i])) ", - "", - "plot(x,y)", - "xlabel('isentropic turbine efficiency')", - "ylabel('cycle thermal efficiency')", - "show()" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The thermal efficiency is: 0.350865344714" - ] - }, - { - "output_type": "display_data", - "png": "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\nuJCXl2d8nJeXh+tNttILDw9Hr9dz5swZAO6++24AWrduzYABA0hNTTVXqEIIIarIbMkjJCSEw4cP\nk5ubS0lJCStXrqRfv35ljsnKyjK2INLT0wFo2bIlhYWFXLp0CYDLly+zceNGOnfubK5QhRBCVJHZ\nuq0cHR2ZP38+kZGRGAwGxo4di7e3N/Hx8QBMmDCBVatWsXjxYnQ6HU5OTqxYsQKAkydP8thjjwGg\n1+sZNmwYffr0MVeoQgghqqpGRk5q2IYNG5Snp6fy8PBQM2fOLPf8qVOnVGRkpPL391edOnVSn3/+\neZnn9Xq9CggIUI8++qjNxnnu3Dn1+OOPKy8vL+Xt7a1+/vlnm4zzvffeUz4+PsrX11cNGTJEFRUV\nWS3Os2fPqujoaOXn56fCwsLU/v37K32uLcR59OhRFRERoXx8fFSnTp3UnDlzbDLOayxxH1UnRlu6\nh24Wp6XuodGjR6s77rhD+fr6VnjMc889pzw8PJSfn59KT083/vxW7h+bSx56vV65u7urnJwcVVJS\novz9/VVGRkaZY9566y01bdo0pZT2wdeiRQtVWlpqfH7WrFlq6NChKioqymbjHDFihPrss8+UUkqV\nlpaq8+fP21ycOTk5ql27dsb/2QcNGqQWLVpktThffvll9fbbbyullDp06JB68MEHK32uLcR54sQJ\ntWvXLqWUUpcuXVIdO3a0yTivMfd9VN0YbekeqihOS95DP/74o0pPT68weaxbt0499NBDSimlduzY\nobp06VLp93cjNleepDLrQ+6++24uXrwIwMWLF2nZsiWOjloP3LFjx1i/fj3jxo0z64ys6sR54cIF\ntm7dypgxYwCti8/Z2dnm4mzWrBk6nY7CwkL0ej2FhYW4uLhYLc6DBw9y//33A+Dp6Ulubi6///57\npc61dpynTp3irrvuIiAgAAAnJye8vb3Jz8+3uTjBMvdRdWK0tXuoojgteQ+Fh4fTvHnzCp//9ttv\nGTlyJABdunTh/PnznDx58pbvH5tLHsePH6dt27bGx66urhw/frzMMU899RQHDhygTZs2+Pv7M2fO\nHONzL774Ih988AH16pn3rVUnzpycHFq3bs3o0aMJCgriqaeeorCw0ObibNGiBVOmTOGee+6hTZs2\n3H777fTq1ctqcfr7+/PNN98A2g393//+l2PHjlXqXFuI83q5ubns2rWLLl262GSclriPqhOjrd1D\n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\nhKiy/wc4PkEsSmSTZgAAAABJRU5ErkJggg==\n" - } - ], - "prompt_number": 5 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "T1 = 480.0 # temperature of steam entering the turbine in degree celcius", - "p1 = 8.0 # pressure of steam entering the turbine in MPa", - "Pcond = 0.008 # condenser pressure in MPa", - "etat = 0.85 # turbine efficiency", - "Wcycledot = 100.0 # net power output of the cycle", - "", - "", - "h1 = 3348.4 # in kj/kg", - "h2 = 2832.8 # in kj/kg", - "s2 = 6.8606 # in kj/kg.k", - "h4 = 173.88 # in kj/kg", - "h3s = 2146.3 # in kj/kg", - "", - "h3 = h2 - etat*(h2-h3s)", - "", - "h6 = 697.22 # in kj/kg", - "p5 = 0.7 # in MPa", - "p4 = 0.008 # in MPa", - "p7 = 8.0 # in MPa", - "p6 = 0.7 # in MPa", - "v4 = 1.0084e-3 # units in m^3/kg,obtained from steam tables", - "v6 = 1.1080e-3 # units in m^3/kg,obtained from steam tables", - "", - "h5 = h4 + v4*(p5-p4)*10**6*10**-3 # in kj/kg", - "h7 = h6 + v6*(p7-p6)*10**3 # in kj/kg", - "", - "y = (h6-h5)/(h2-h5)", - "", - "wtdot = (h1-h2) + (1-y)*(h2-h3) # the total turbine work output, units in KJ/Kg", - "wpdot = (h7-h6) + (1-y)*(h5-h4) # The total pump work per unit of mass passing through the first-stage turbine,in KJ/kg", - "qindot = h1 - h7 # in kj/kg", - "eta = (wtdot-wpdot)/qindot", - "", - "print '-> The thermal efficiency is:',round(eta,2)", - "", - "m1dot = (Wcycledot*3600*10**3)/(wtdot-wpdot)", - "", - "print '-> The mass flow rate of steam entering the first turbine stage, is:',round(m1dot,2),'kg/h.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The thermal efficiency is: 0.37", - "-> The mass flow rate of steam entering the first turbine stage, is: 368948.05 kg/h." - ] - } - ], - "prompt_number": 6 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "h1 = 3348.4 # in kj/kg", - "s1 = 6.6586 # in kj/kg.k", - "h2 = 2963.5 # in kj/kg", - "h3 = 2741.8 # in kj/kg", - "h4 = 3353.3 # in kj/kg", - "s4 = 7.7571 # in kj/kg.k", - "h5 = 3101.5 # in kj/kg", - "x6 = 0.9382", - "hf = 173.88 # in kj/kg", - "hfg = 2403.1 # in kj/kg", - "", - "h6 = hf + x6*hfg", - "", - "h7 = 173.88 # in kj/kg", - "v7 = 1.0084e-3 # in m^3/kg", - "p8 = 0.3 # in MPa", - "p7 = 0.008 # in MPa", - "", - "h8 = h7 + v7*(p8-p7)*10**6*10**-3 # The specific enthalpy at the exit of the first pump in kj/kg", - "h9 = 561.47 # in kj/kg", - "", - "v9 = 1.0732e-3 # in m^3/kg", - "p10 = 8.0 # in MPa", - "p9 = 0.3 # in MPa", - "h10 = h9 + v9*(p10-p9)*10**6*10**-3 # The specific enthalpy at the exit of the second pump in kj/kg", - "h12 = 908.79 # in kj/kg", - "h13 = h12 # since The fluid passing through the trap undergoes a throttling process", - "hf = 875.1 # in kj/kg", - "vf = 1.1646e-3 # in m^3/kg", - "p11 = 8.0 # in MPa", - "psat = 1.73 # in MPa", - "h11 = hf + vf*(p11-psat)*10**6*10**-3 # in kj/kg", - "", - "ydash = (h11-h10)/(h2-h12) # the fraction of the total flow diverted to the closed heater", - "ydashdash = ((1-ydash)*h8+ydash*h13-h9)/(h8-h5) # the fraction of the total flow diverted to the open heater", - "", - "wt1dot = (h1-h2) + (1-ydash)*(h2-h3) # The work developed by the first turbine per unit of mass entering in kj/kg", - "wt2dot = (1-ydash)*(h4-h5) + (1-ydash-ydashdash)*(h5-h6) # The work developed by the second turbine per unit of mass in kj/kg", - "wp1dot = (1-ydash-ydashdash)*(h8-h7) # The work for the first pump per unit of mass in kj/kg", - "wp2dot = h10-h9 # The work for the second pump per unit of mass in kj/kg", - "qindot = (h1-h11) + (1-ydash)*(h4-h3) # The total heat added expressed on the basis of a unit of mass entering the first", - " # turbine", - "eta = (wt1dot+wt2dot-wp1dot-wp2dot)/qindot # thermal efficiency", - "", - "print '-> The thermal efficiency is: ',round(eta,2)", - "", - "Wcycledot = 100.0 # the net power output of the cycle in MW", - "m1dot = (Wcycledot*3600*10**3)/(wt1dot+wt2dot-wp1dot-wp2dot)", - "", - "print '-> The mass flow rate of the steam entering the first turbine, in kg/h is: ',round(m1dot,2)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The thermal efficiency is: 0.43", - "-> The mass flow rate of the steam entering the first turbine, in kg/h is: 280126.53" - ] - } - ], - "prompt_number": 7 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "h1 = 2758 # in kj/kg", - "h4 = 183.36 # in kj/kg", - "hi = 1491.44 # in kj/kg", - "he = 843.98 # in kj/kg", - "madotbymdot = (h1-h4)/(hi-he)", - "mdot = 4.449e5 # in kg/h", - "madot = madotbymdot*mdot # in kg/h", - "", - "T0 = 295 # in kelvin", - "si = 3.34474 # in kj/kg.k", - "se = 2.74504 # in MW", - "Rin = madot*(hi-he-T0*(si-se))/(3600*10**3) # The net rate at which exergy is carried into the heat exchanger ", - " # unit by the gaseous stream ", - "print '-> The net rate at which exergy is carried into the heat exchanger unit by the gas stream, is:',round(Rin,2),'MW '", - "", - "s1 = 5.7432 # in kj/kg.k", - "s4 = 0.5957 # in kj/kg.k", - "Rout = mdot*(h1-h4-T0*(s1-s4))/(3600*10**3) # in MW", - "print '-> The net rate at which exergy is carried from the heat exchanger by the water stream, is:',round(Rout,2),'MW .'", - "", - "Eddot = Rin-Rout # in MW", - "print '-> The rate of exergy destruction, in MW is:',round(Eddot,2)", - "", - "epsilon = Rout/Rin", - "print '-> The exergetic efficiency is: ',round(epsilon,2)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The net rate at which exergy is carried into the heat exchanger unit by the gas stream, is: 231.24 MW ", - "-> The net rate at which exergy is carried from the heat exchanger by the water stream, is: 130.52 MW .", - "-> The rate of exergy destruction, in MW is: 100.72", - "-> The exergetic efficiency is: 0.56" - ] - } - ], - "prompt_number": 8 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "T0 = 295.00 # in kelvin", - "P0 = 1.00 # in atm", - "", - "s1 = 5.7432 # in kj/kg.k", - "s3 =0.5926 # in kj/kg.k", - "", - "s2 = 6.2021 # in kj/kg.k", - "s4 = 0.5957 # in kj/kg.k", - "mdot = 4.449e5 # in kg/h", - "", - "Eddot = mdot*T0*(s2-s1)/(3600*10**3) # the rate of exergy destruction for the turbine in MW", - "EddotP = mdot*T0*(s4-s3)/(3600*10**3) # the exergy destruction rate for the pump", - "", - "print '-> The rate of exergy destruction for the turbine is: ',round(Eddot,2),'MW.'", - "print '-> The turbine rate of exergy destruction expressed as a percentage is: ',round((Eddot/231.28)*100)", - "print '-> Percentage of the exergy entering the plant with the fuel destroyed within the turbine is:',round(0.69*(Eddot/231.28)*100,2)", - "print '-> The exergy destruction rate for the pump in MW is:',round(EddotP,2)", - "print 'and expressing this as a percentage of the exergy entering the plant as calculated above, we have',round((EddotP/231.28)*69,2) ", - "print '-> The net power output of the vapor power plant of Example 8.2 is 100 MW. Expressing this as a percentage of the rate at which exergy is '", - "print 'carried into the plant with the fuel, ',round((100/231.28)*69,2)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The rate of exergy destruction for the turbine is: 16.73 MW.", - "-> The turbine rate of exergy destruction expressed as a percentage is: 7.0", - "-> Percentage of the exergy entering the plant with the fuel destroyed within the turbine is: 4.99", - "-> The exergy destruction rate for the pump in MW is: 0.11", - "and expressing this as a percentage of the exergy entering the plant as calculated above, we have 0.03", - "-> The net power output of the vapor power plant of Example 8.2 is 100 MW. Expressing this as a percentage of the rate at which exergy is ", - "carried into the plant with the fuel, 29.83" - ] - } - ], - "prompt_number": 9 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "T0 = 295 # in kelvin", - "mcwdot = 9.39e6 # mass flow rate of the cooling water in kg/h", - "", - "he = 146.68 # in kj/kg", - "hi = 62.99 # in kj/kg", - "se = 0.5053 # in kj/kg.k", - "si = 0.2245 # in kj/kg.k", - "Rout = mcwdot*(he-hi-T0*(se-si))/(3600*10**3) # The net rate at which exergy is carried out of the condenser in MW", - "print '-> The net rate at which exergy is carried from the condenser by the cooling water, is:',round(Rout,2),'MW.'", - "print '-> Expressing this as a percentage of the exergy entering the plant with the fuel, we get ',round((Rout/231.28)*69,2),'percent'", - "", - "s3 = 0.5926 # in kj/kg.k", - "s2 = 6.2021 # in kg/kg.k", - "mdot = 4.449e5 # in kg/h", - "Eddot = T0*(mdot*(s3-s2)+mcwdot*(se-si))/(3600*10**3) # the rate of exergy destruction for the condenser in MW", - "print '-> The rate of exergy destruction for the condenser is: ',round(Eddot,2),'MW.'", - "print '-> Expressing this as a percentage of the exergy entering the plant with the fuel, we get,',round((Eddot/231.28)*69,2),'percent'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The net rate at which exergy is carried from the condenser by the cooling water, is: 2.23 MW.", - "-> Expressing this as a percentage of the exergy entering the plant with the fuel, we get 0.66 percent", - "-> The rate of exergy destruction for the condenser is: 11.56 MW.", - "-> Expressing this as a percentage of the exergy entering the plant with the fuel, we get, 3.45 percent" - ] - } - ], - "prompt_number": 10 - } - ] - } - ] -}
\ No newline at end of file diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_9_2.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_9_2.ipynb deleted file mode 100644 index 7e190ca7..00000000 --- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_9_2.ipynb +++ /dev/null @@ -1,936 +0,0 @@ -{ - "metadata": { - "name": "Chapter 9" - }, - "nbformat": 2, - "worksheets": [ - { - "cells": [ - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "T1 = 300.00 # The temperature at the beginning of the compression process in kelvin", - "p1 = 1.00 # the pressure at the beginning of the compression process in bar", - "r = 8.00 # compression ratio", - "V1 = 560.00 # the volume at the beginning of the compression process in cm^3", - "T3 = 2000.00 # maximum temperature during the cycle in kelvin", - "", - "u1 = 214.07 # in kj/kg", - "vr1 = 621.2 ", - "T2 = 673.00 # in kelvin", - "u2 = 491.2 # in kj/kg", - "u3 = 1678.7 # in kj/kg", - "vr3 = 2.776", - "T4 = 1043 # in kelvin", - "u4 = 795.8 # in kj/kg", - "", - "vr2 = vr1/r", - "p2 = p1*(T2/T1)*(r) # in bars", - "p3 = p2*(T3/T2) # in bars", - "vr4 = vr3*(r)", - "p4 = p1*(T4/T1) # in bars", - "", - "print '-> At state1, the pressure is:',p1,'bar.'", - "print '-> At state1, the temperature is ',T1,'kelvin.'", - "print '-> At state2, the pressure is:',round(p2,3),'bar.'", - "print '-> At state2, the temperature is',T2,'kelvin.'", - "print '-> At state3, the pressure is:',round(p3,3),'bar.'", - "print '-> At state3, the temperature is',T3,'kelvin.'", - "print '-> At state4, the pressure is:',round(p4,4),'bar.'", - "print '-> At state4, the temperature is',T4,'kelvin.'", - "", - "eta = 1-(u4-u1)/(u3-u2) # thermal efficiency", - "print '-> The thermal efficiency is:',round(eta,2)", - "", - "R = 8.314 # universal gas constant, in SI units", - "M = 28.97 # molar mass of air in grams", - "m = ((p1*V1)/((R/M)*T1))*10**-6*10**5*10**-3 # mass of the air in kg", - "Wcycle = m*((u3-u4)-(u2-u1)) # the net work per cycle in KJ", - "mep = (Wcycle/(V1*(1-1/r)))*10**6*10**3*10**-5 # in bars", - "", - "print '-> The mean effective pressure, is:',round(mep,4),'atm..'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> At state1, the pressure is: 1.0 bar.", - "-> At state1, the temperature is 300.0 kelvin.", - "-> At state2, the pressure is: 17.947 bar.", - "-> At state2, the temperature is 673.0 kelvin.", - "-> At state3, the pressure is: 53.333 bar.", - "-> At state3, the temperature is 2000.0 kelvin.", - "-> At state4, the pressure is: 3.4767 bar.", - "-> At state4, the temperature is 1043 kelvin.", - "-> The thermal efficiency is: 0.51", - "-> The mean effective pressure, is: 8.0411 atm.." - ] - } - ], - "prompt_number": 1 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "r = 18.00 # compression ratio", - "T1 = 300.00 # temperature at the beginning of the compression process in kelvin", - "p1 = 0.1 # pressure at the beginning of the compression process in MPa", - "rc = 2.00 # cutoff ratio", - "", - "u1 = 214.07 # in kj/kg", - "vr1 = 621.2 ", - "T2 = 898.3 # in kelvin ", - "h2 = 930.98 # in kj/kg", - "h3 = 1999.1 # in kj/kg", - "vr3 = 3.97", - "", - "u4 = 664.3 # in kj/kg", - "T4 = 887.7 # in kelvin", - "", - "T3 = rc*T2 # in kelvin", - "p2 = p1*(T2/T1)*(r) # in MPa", - "p3 = p2", - "vr2 = vr1/r", - "vr4 = (r/rc)*vr3", - "p4 = p1*(T4/T1) # in MPa", - "", - "print '-> At state1, the pressure is:',round(p1,2),'bar.'", - "print '-> At state1, the temperature is',round(T1,2),'kelvin.'", - "print '-> At state2, the pressure in bar is:',round(p2,2),'bar.'", - "print '-> At state2, the temperature is ',round(T2,2),'kelvin.'", - "print '-> At state3, the pressure in bar is:',round(p3,2),'bar.'", - "print '-> At state3, the temperature is',round(T3,2),'kelvin.'", - "print '-> At state4, the pressure is:',round(p4,2),'bar.'", - "print '-> At state4, the temperature is',round(T4,2),'kelvin.'", - "", - "eta = 1- (u4-u1)/(h3-h2)", - "print '-> The thermal efficiency is:',round(eta,2)", - "", - "R = 8.314 # universal gas constant, in SI units", - "M = 28.97 # molar mass of air in grams", - "", - "wcycle = (h3-h2)-(u4-u1) # The net work of the cycle in kj/kg", - "v1 = ((R/M)*T1/p1)/10**3 # The specific volume at state 1 in m^3/kg", - "mep = (wcycle/(v1*(1-1/r)))*10**3*10**-6 # in MPa", - "", - "print '-> The mean effective pressure, is:',round(mep,2),'MPa.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> At state1, the pressure is: 0.1 bar.", - "-> At state1, the temperature is 300.0 kelvin.", - "-> At state2, the pressure in bar is: 5.39 bar.", - "-> At state2, the temperature is 898.3 kelvin.", - "-> At state3, the pressure in bar is: 5.39 bar.", - "-> At state3, the temperature is 1796.6 kelvin.", - "-> At state4, the pressure is: 0.3 bar.", - "-> At state4, the temperature is 887.7 kelvin.", - "-> The thermal efficiency is: 0.58", - "-> The mean effective pressure, is: 0.76 MPa." - ] - } - ], - "prompt_number": 2 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "T1 = 300.00 # beginning temperature in kelvin", - "p1 = 0.1 # beginning pressure in MPa", - "r = 18.00 # compression ratio", - "pr = 1.5 # The pressure ratio for the constant volume part of the heating process", - "vr = 1.2 # The volume ratio for the constant pressure part of the heating process", - "", - "u1 = 214.07 # in kj/kg", - "T2 = 898.3 # in kelvin", - "u2 = 673.2 # in kj/kg", - "", - "h3 = 1452.6 # in kj/kg", - "u3 = 1065.8 # in kj/kg", - "", - "h4 = 1778.3 # in kj/kg", - "vr4 = 5.609", - "", - "u5 = 475.96 # in kj/kg", - "", - "T3 = pr*T2 # in kelvin", - "T4 = vr*T3 # in kelvin", - "vr5 = vr4*r/vr", - "", - "eta = 1-(u5-u1)/((u3-u2)+(h4-h3))", - "print '-> The thermal efficiency is:',round(eta,2)", - "", - "v1 = 0.861 # in m^3/kg", - "mep = (((u3-u2)+(h4-h3)-(u5-u1))/(v1*(1-1/r)))*10**3*10**-6 # in MPa", - "", - "print '-> The mean effective pressure, is:',round(mep,2),'MPa.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The thermal efficiency is: 0.64", - "-> The mean effective pressure, is: 0.56 MPa." - ] - } - ], - "prompt_number": 3 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "T1 = 300.00 # in kelvin", - "AV = 5.00 # volumetric flow rate in m^3/s", - "p1 = 100.00 # in kpa", - "pr = 10.00 # compressor pressure ratio", - "T3 = 1400.00 # turbine inlet temperature in kelvin", - "", - "h1 = 300.19 # in kj/kg", - "pr1 = 1.386", - "", - "", - "h2 = 579.9 # in kj/kg", - "h3 = 1515.4 # in kj/kg", - "pr3 = 450.5", - "", - "h4 = 808.5 # in kj/kg", - "", - "pr2 = pr*pr1", - "pr4 = pr3*1/pr", - "", - "", - "eta = ((h3-h4)-(h2-h1))/(h3-h2) # thermal efficiency", - "print '-> The thermal efficiency is:',round(eta,4)", - "", - "bwr = (h2-h1)/(h3-h4) # back work ratio", - "print '-> The back work ratio is:',round(bwr,4)", - "", - "R = 8.314 # universal gas constant, in SI units", - "M = 28.97 # molar mass of air in grams", - "mdot = AV*p1/((R/M)*T1) # mass flow rate in kg/s", - "Wcycledot = mdot*((h3-h4)-(h2-h1)) # The net power developed", - "print '-> The net power developed, is:',round(Wcycledot,2),'kW .'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The thermal efficiency is: 0.4566", - "-> The back work ratio is: 0.3957", - "-> The net power developed, is: 2480.89 kW ." - ] - } - ], - "prompt_number": 4 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "etat = 0.8 # turbine efficiency", - "etac = 0.8 # compressor efficiency", - "wtdots = 706.9 # The value of wtdots is determined in the solution to Example 9.4 as 706.9 kJ/kg", - "wcdots = 279.7 # The value of wcdots is determined in the solution to Example 9.4 as 279.7 kJ/kg", - "h1 = 300.19 # h1 is from the solution to Example 9.4, in kj/kg", - "h3 = 1515.4 # h3 is from the solution to Example 9.4, in kj/kg", - "", - "wtdot = etat*wtdots # in kj/kg", - "wcdot = wcdots/etac # in kj/kg", - "h2 = h1 + wcdot # in kj/kg", - "qindot = h3-h2 # The heat transfer to the working fluid per unit of mass flow in kj/kg", - "eta = (wtdot-wcdot)/qindot # thermal efficiency", - "", - "print '-> The thermal efficiency is:',round(eta,2)", - "", - "bwr = wcdot/wtdot # back work ratio", - "print '-> The back work ratio is:',round(bwr,2)", - "", - "mdot = 5.807 # in kg/s, from example 9.4", - "Wcycledot = mdot*(wtdot-wcdot) # The net power developed by the cycle in kw", - "print '-> The net power developed, is: ',round(Wcycledot,2),'kW.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The thermal efficiency is: 0.25", - "-> The back work ratio is: 0.62", - "-> The net power developed, is: 1253.7 kW." - ] - } - ], - "prompt_number": 5 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "%pylab inline" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "", - "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].", - "For more information, type 'help(pylab)'." - ] - } - ], - "prompt_number": 6 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "etareg = 0.8 # regenerator effectiveness of 80%.", - "h1 = 300.19 # in kj/kg", - "h2 = 579.9 # in kj/kg", - "h3 = 1515.4 # in kj/kg", - "h4 = 808.5 # in kj/kg", - "", - "hx = etareg*(h4-h2)+h2 # in kj/kg", - "eta = ((h3-h4)- (h2-h1))/(h3-hx) # thermal efficiency", - "print '-> The thermal efficiency is: '", - "print round(eta,2)", - "", - "etareg = []", - "x = []", - "eta = []", - "from numpy import linspace ", - "from pylab import plot, show , xlabel, ylabel", - "etareg = linspace(0,0.8,50)", - "for i in range (0,50):", - " x.append(i)", - " eta.append(i)", - " x[i] = (etareg[i]*(h4-h2))+h2 ", - " eta[i] = ((h3-h4)- (h2-h1))/(h3-x[i])", - "", - "plot(etareg,eta)", - "xlabel('Regenerator effectiveness')", - "ylabel('Thermal efficiency')", - "show()" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The thermal efficiency is: ", - "0.57" - ] - }, - { - "output_type": "display_data", - "png": "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\noyNCQ0MVySQ3V+UPl8GDB+O5557D+fPn4eLiolomV1dX3HfffWjevDmaN2+ORx99FNnZ2YoVjNv5\nbyo2Nlbx21FyM6WkpOC1114DAHTq1AkdOnTAoUOHEBAQoFomZ2dnbNiwwfq4Q4cO6Nix460vXOe9\nLXWsvLxcdOzYURw7dkxcvXrVZqf33r17Fe/MlZPpujfeeKNeOr3lZDp+/Ljo1KmT2Lt3r+J55GY6\ncuSIuHbtmhBCiIyMDNGxY0fVM1V245I1auY6deqU9XeVlpYmHnroIdUzHTx4UPTv319UVFSIS5cu\nia5du4oDBw6omkkIIYqKioSLi4u4fPmyYlluJ9OcOXNEVFSUEEL696jT6cS5c+dUzVRUVCSuXr0q\nhBDi/fffFxMmTLB5XbsvGEIIsW3bNtG5c2fRqVMnsXjxYiGEEGvXrhVr1661HvP888+LTp06CR8f\nH5GRkaF6pl9//VXo9XrRqlUrcc899whXV1dRXFysaqbIyEjh4uJiHXIYGBioaB45mZYuXSq8vb2F\nn5+f6Nu3r0hPT1c9U2X1VTDk5IqOjhbe3t7C19dX9O7du14Kv5zf1TvvvCO8vLxE165dxcqVK+0i\n07///W8xZswYxbPIzXTmzBkxbNgw4ePjI7p27Sq2bNmieqaUlBTRuXNn4enpKUaOHGkdQXkris30\nJiKixsXuR0kREZF9YMEgIiJZWDCIiEgWFgwiIpKFBYMU4eDgAKPRCB8fH4wYMQIlJSVqR5ItOzsb\n27dvV+z6q1atgpeXF8aNG4eysjIMGDAARqMR//3vf2/rOsePH0dMTIz1cUZGBmbNmlXXcYmsWDBI\nEU5OTsjKykJOTg5atWplXdbeXlgslhp/lpWVhW3btt3W9SoqKmQfu2bNGiQnJ2PTpk3IzMyERqNB\nVlYWRo0adVuveezYMfznP/+xPu7evbviS05Q08aCQYrr3bs3jh49CgA4evQoBg8ejICAADz66KPW\nZUCOHj2KXr16wcfHB6+//nqVWc3vvPMOevToAV9fX0RFRQEACgoKYDAYMHXqVHTt2hXBwcEoLS29\n5WtMnDgR06dPR69evTB37lzs27cPffr0gb+/Px5++GEcPnwYZWVlmD9/PuLi4qx/9Z8/fx5hYWHw\n9fVF7969sX//fgBAVFQUxo0bh759+1oXv6zsZrmnT5+O/Px8PPHEE/jHP/6BcePGYd++fTAajcjP\n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\n" - } - ], - "prompt_number": 7 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "h1 = 300.19 # in kj/kg", - "h2 = 579.9 # in kj/kg", - "h3 = 1515.4 # in kj/kg", - "hb = h3", - "", - "pa = 300.00 # in kpa", - "p3 = 1000.00 # in kpa", - "pr3 = 450.5", - "", - "ha = 1095.9 # in kj/kg", - "p4 = 100.00 # in kpa", - "pb = 300.00 # in kpa", - "h4 = 1127.6 # in kj/kg", - "", - "pra = pr3*(pa/p3)", - "prb = pra", - "pr4 = prb*(p4/pb)", - "hx = h4", - "eta = ((h3-ha)+(hb-h4)-(h2-h1))/((h3-hx)+(hb-ha)) # thermal efficiency", - "", - "print '-> The thermal efficiency is:'", - "print round(eta,2)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The thermal efficiency is:", - "0.65" - ] - } - ], - "prompt_number": 8 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "T1 = 300.00 # in kelvin", - "p1 = 100.00 # in kpa", - "p2 = 1000.00 # in kpa", - "p3 = p2", - "pc = 300.00 # in kpa", - "pd = 300.00 # in kpa", - "Td = 300.00 # in kelvin", - "", - "", - "prd = 1.386", - "T2 = 422 # in kelvin", - "h2 = 423.8 # in kj/kg", - "pr2 = prd*(p2/pd)", - "print '-> The temperature at the exit of the second compressor stage is:',round(T2,2),'kelvin.'", - "", - "h1 = 300.19 # in kj/kg", - "hd = 300.19 # in kj/kg", - "pr1 = 1.386", - "hc = 411.3 # in kj/kg", - "prc = pr1*(pc/p1)", - "wcdot = (hc-h1)+(h2-hd) # The total compressor work per unit of mass in kj/kg", - "print '-> The total compressor work input per unit of mass flow is: ',round(wcdot,2),'kJ/kg'", - "", - "T3 = 574 # in kelvin", - "h3 = 579.9 # in kj/kg", - "pr3 = pr1*(p3/p1)", - "wcdot = h3-h1 # The work input for a single stage of compression in kj/kg", - "print '-> For a single stage of compression, the temperature at the exit state is: ',round(T3,2),'kelvin'", - "print '-> For a single stage of compression, the work input is: ',round(wcdot,2),'kJ.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The temperature at the exit of the second compressor stage is: 422.0 kelvin.", - "-> The total compressor work input per unit of mass flow is: 234.72 kJ/kg", - "-> For a single stage of compression, the temperature at the exit state is: 574.0 kelvin", - "-> For a single stage of compression, the work input is: 279.71 kJ." - ] - } - ], - "prompt_number": 9 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "T1 = 300.00 # in kelvin", - "p1 = 100.00 # in kpa", - "mdot = 5.807 # in kg/s", - "p2 = 300.00 # in kpa", - "p3 = p2", - "p4 = 1000.00 # in kpa", - "p5 = p4", - "p6 = p4", - "T6 = 1400.00 # in kelvin", - "T8 = T6", - "p7 = 300.00 # in kpa", - "p8 = p7", - "etac = 0.8 # isentropic efficiency of compressor", - "etat = 0.8 # isentropic efficiency of turbine", - "etareg = 0.8 # regenerator effectiveness", - "h1 = 300.19 # in kj/kg", - "h3 = h1 # in kj/kg", - "h2s = 411.3 # in kj/kg", - "h4s = 423.8 # in kj/kg", - "h6 = 1515.4 # in kj/kg", - "h8 = h6", - "h7s = 1095.9 # in kj/kg", - "h9s = 1127.6 # in kj/kg", - "", - "h4 = h3 + (h4s-h3)/etac # in kj/kg", - "h2 = h1 + (h2s-h1)/etac # in kj/kg", - "h9 = h8-etat*(h8-h9s) # in kj/kg", - "h7 = h6-etat*(h6-h7s) # in kj/kg", - "h5 = h4+etareg*(h9-h4) # in kj/kg", - "", - "wtdot = (h6-h7)+(h8-h9) # The total turbine work per unit of mass flow in kj/kg", - "wcdot = (h2-h1)+(h4-h3) # The total compressor work input per unit of mass flow in kj/kg", - "qindot = (h6-h5)+(h8-h7) # The total heat added per unit of mass flow in kj/kg", - "eta = (wtdot-wcdot)/qindot # thermal efficiency", - "print '-> The thermal efficiency is: '", - "print round(eta,2)", - "", - "bwr = wcdot/wtdot # back work ratio", - "print '-> The back work ratio is:'", - "print round(bwr,2)", - "", - "Wcycledot = mdot*(wtdot-wcdot) # net power developed in kw", - "print '-> The net power developed, is: ',round(Wcycledot,2),'kW.'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The thermal efficiency is: ", - "0.44", - "-> The back work ratio is:", - "0.45", - "-> The net power developed, is: 2046.62 kW." - ] - } - ], - "prompt_number": 10 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "Ta = 240.00 # in kelvin", - "pa = 0.8 # in bar", - "Va = 278.00 # in m/s", - "PR = 8.00 # pressure ratio across the compressor", - "T3 = 1200.00 # in kelvin", - "p5 = 0.8 # in bar", - "", - "ha = 240.02 # in kj/kg", - "h1 = ha + ((Va**2)/2)*10**-3 # in kj/kg", - "pr1 = 1.070", - "pra = .6355", - "", - "h2 = 505.5 # in kj/kg", - "h3 = 1277.79 # in kj/kg", - "", - "", - "pr4 = 116.8", - "pr4 = 116.00", - "pr3 = 238.00", - "h5 = 621.3 # in kj/kg", - "", - "p5 = .8 # in bars", - "", - "p1 = (pr1/pra)*pa # in bars", - "h4 = h3+h1-h2 # in kj/kg", - "p2 = PR*p1 # in bars", - "p3 = p2", - "p4 = p3*(pr4/pr3) # in bars", - "pr5 = pr4*(p5/p4)", - "V5 = ((2*(h4-h5)*10**3))**(0.5) # the velocity at the nozzle exit in m/s", - "", - "print '-> The velocity at the nozzle exit in m/s is:'", - "print round(V5,2)", - "print '-> pa in bars = '", - "print round(pa,2)", - "print '-> p1 in bars = '", - "print round(p1,2)", - "print '-> p2 in bars = '", - "print round(p2,2)", - "print '-> p3 in bars = '", - "print round(p3,2)", - "print '-> p4 in bars = '", - "print round(p4,2)", - "print '-> p5 in bars = '", - "print round(p5,2)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The velocity at the nozzle exit in m/s is:", - "926.99", - "-> pa in bars = ", - "0.8", - "-> p1 in bars = ", - "1.35", - "-> p2 in bars = ", - "10.78", - "-> p3 in bars = ", - "10.78", - "-> p4 in bars = ", - "5.25", - "-> p5 in bars = ", - "0.8" - ] - } - ], - "prompt_number": 11 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "Wnetdot = 45.00 # in MW", - "T1 = 300.00 # in kelvin", - "p1 = 100.00 # in kpa", - "etac = 0.84 # The isentropic efficiency of the compressor", - "T3 = 1400.00 # in kelvin", - "p2 = 1200.00 # in kpa", - "p3 = p2", - "etat = 0.88 # isentropic efficiency of the turbine", - "T5 = 400.00 # in kelvin", - "p4 = 100.00 # in kpa", - "p5 = p4", - "T7 = 400.00 # in degree celcius", - "p7 = 8.00 # in MPa", - "etatw =0.9 # isentropic efficiency of turbine of the vapor cycle", - "p8 = 8.00 # in kpa", - "p9 = p8", - "etap = 0.8 # isentropic efficiency of pump of the vapor cycle", - "T0 = 300.00 # in kelvin", - "p0 = 100.00 # -in kpa", - "", - "h1 = 300.19 # in kj/kg", - "h2 = 669.79 # in kj/kg", - "h3 = 1515.42 # in kj/kg", - "h4 = 858.02 # in kj/kg", - "h5 = 400.98 # in kj/kg", - "h6 = 183.96 # in kj/kg", - "h7 = 3138.30 # in kj/kg", - "h8 = 2104.74 # in kj/kg", - "h9 = 173.88 # in kj/kg", - "s1 = 1.7020 # in kj/kg.k", - "s2 = 2.5088 # in kj/kg.k", - "s3 = 3.3620 # in kj/kg.k ", - "s4 = 2.7620 # in kj/kg.k", - "s5 = 1.9919 # in kj/kg.k", - "s6 = 0.5975 # in kj/kg.k", - "s7 = 6.3634 # in kj/kg.k", - "s8 = 6.7282 # in kj/kg.k", - "s9 = 0.5926 # in kj/kg.k", - "", - "mvdotbymgdot = (h4-h5)/(h7-h6) # ratio of mass flow rates of vapor and air", - "mgdot = (Wnetdot*10**3)/(((h3-h4)-(h2-h1)) + mvdotbymgdot*((h7-h8)-(h6-h9))) # mass flow rate of air in kg/s", - "mvdot = mvdotbymgdot*mgdot # mass flow rate of vapor in kg/s", - "Wgasdot = mgdot*((h3-h4)-(h2-h1))*10**-3 # net power developed by gas turbine in MW", - "Wvapdot = mvdot*((h7-h8)-(h6-h9))*10**-3 # net power developed by vapor cycle in MW", - "", - "print '-> Mass flow rate of air is: ',round(mgdot,2),'kg/s.'", - "print '-> Mass flow rate of vapor is: ',round(mvdot,2),'kg/s.'", - "print '-> Net power developed by gas turbine is: ',round(Wgasdot,2),'MW.'", - "print '-> Net power developed by vapor cycle is: ',round(Wvapdot,2),'MW.'", - "", - "", - "import math", - "Edotf32 = mgdot*(h3-h2-T0*(s3-s2))*10**-3 # in MW", - "Edotf51 = mgdot*(h5-h1-T0*(s5-s1))/10**3 # in MW", - "Edotf89 = mvdot*(h8-h9-T0*(s8-s9))*10**-3 # in MW", - "R = 8.314 # universal gas constant, in SI units", - "M = 28.97 # molar mass of air in grams", - "Eddott = mgdot*T0*(s4-s3-(R/M)*math.log(p4/p3))/10**3 # in MW", - "Eddotc = mgdot*T0*(s2-s1-(R/M)*math.log(p2/p1))/10**3 # in MW", - "Eddotst = mvdot*T0*(s8-s7)/10**3 # in MW", - "Eddotp = mvdot*T0*(s6-s9)/10**3 # in MW", - "EddotHE = T0*(mgdot*(s5-s4)+mvdot*(s7-s6))/10**3 # in MW", - "", - "print '-> Balance sheet'", - "print 'Net exergy increase of the gas passing'", - "print '-> Through the combustor: ',round(Edotf32,2),'MW'", - "print 'Disposition of the exergy:'", - "print '\u2022 Net power developed'", - "print 'gas turbine cycle ',round(Wgasdot,2),'MW'", - "print 'vapor cycle ',round(Wvapdot,2),'MW'", - "print '\u2022 Net exergy lost'", - "print 'with exhaust gas at state 5 ',round(Edotf51,2),'MW'", - "print 'from water passing through condenser ',round(Edotf89,2),'MW'", - "print '\u2022 Exergy destruction'", - "print 'air turbine ',round(Eddott,2),'MW'", - "print 'compressor ',round(Eddotc,2),'MW'", - "print 'steam turbine ',round(Eddotst,2),'MW'", - "print 'pump ',round(Eddotp,2),'MW'", - "print 'heat exchanger ',round(EddotHE,2),'MW'" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> Mass flow rate of air is: 100.87 kg/s.", - "-> Mass flow rate of vapor is: 15.6 kg/s.", - "-> Net power developed by gas turbine is: 29.03 MW.", - "-> Net power developed by vapor cycle is: 15.97 MW.", - "-> Balance sheet", - "Net exergy increase of the gas passing", - "-> Through the combustor: 59.48 MW", - "Disposition of the exergy:", - "\u2022 Net power developed", - "gas turbine cycle 29.03 MW", - "vapor cycle 15.97 MW", - "\u2022 Net exergy lost", - "with exhaust gas at state 5 1.39 MW", - "from water passing through condenser 1.41 MW", - "\u2022 Exergy destruction", - "air turbine 3.42 MW", - "compressor 2.83 MW", - "steam turbine 1.71 MW", - "pump 0.02 MW", - "heat exchanger 3.69 MW" - ] - } - ], - "prompt_number": 12 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "Tnot = 360.00 # in kelvin", - "pnot = 1.00 # in MPa", - "A2 = 0.001 # in m^2", - "k = 1.4", - "", - "pstarbypnot = (1+(k-1)/2)**(k/(1-k))", - "pstar = pstarbypnot*pnot", - "", - "M = 1.00", - "p2 = pstar # in MPa", - "T2 = Tnot/(1+((k-1)/2)*(M**2)) # exit temperature in kelvin", - "R = 8.314 # universal gas constant, in SI units", - "Mwt = 28.97 # molar mass of air in grams", - "V2 = ((k*(R/Mwt)*T2*10**3)**0.5) # exit velocity in m/s", - "mdot = (p2/((R/Mwt)*T2))*A2*V2*10**3 # mass flow rate in kg/s", - "", - "print '-> The exit mach number for back pressure of 500kpa is: '", - "print round(M,2)", - "print '-> The mass flow rate in kg/s for back pressure of 500kpa is:'", - "print round(mdot,2)", - "", - "p2 = 784.00 # exit pressure in kpa", - "M2 = (((2.00)/(k-1))*(((pnot*10**3)/p2)**((k-1)/k)-1))**0.5 # exit mach number", - "T2 = Tnot/(1+((k-1)/2)*(M2**2)) # exit temperature in kelvin", - "V2 = M2*((k*(R/Mwt)*10**3*T2)**0.5) # exit velocity in m/s", - "mdot2 = (p2/((R/Mwt)*T2))*A2*V2 # mass flow rate in kg/s", - "print '-> The mass flow rate at the exit for back pressure of 784kpa is: ',round(mdot2,2),'kg/s.'", - "print '-> The exit mach number for back pressure of 784 kpa is: '", - "print round(M2,2)" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> The exit mach number for back pressure of 500kpa is: ", - "1.0", - "-> The mass flow rate in kg/s for back pressure of 500kpa is:", - "2.13", - "-> The mass flow rate at the exit for back pressure of 784kpa is: 1.79 kg/s.", - "-> The exit mach number for back pressure of 784 kpa is: ", - "0.6" - ] - } - ], - "prompt_number": 13 - }, - { - "cell_type": "markdown", - "source": [ - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "", - "Mt = 0.7 # mach mumber at the throat", - "At = 6.25 # throat area in cm^2", - "Ae = 15.00 # exit area in cm^2", - "", - "M2 = 0.24", - "T2byTnot = 0.988", - "p2bypnot = 0.959", - "k = 1.4", - "T0 = 280.00 # in kelvin", - "pnot = 6.8 # in bars", - "AtbyAstar = 1.09437", - "A2byAstar = (Ae/At)*AtbyAstar", - "T2 = T2byTnot*T0 # in kelvin", - "p2 = p2bypnot*pnot # in bars", - "V2 = M2*((k*(8.314/28.97)*T2*10**3)**0.5) # velocity at the exit in m/s", - "mdot = (p2/((8.314/28.97)*T2))*Ae*V2*10**-2 # mass flow rate in kg/s", - "print '-> Part(a) the mass flow rate in kg/s is: '", - "print round(mdot,2)", - "print '-> The exit pressure in bars is: '", - "print round(p2,2)", - "print '-> The exit mach number is: '", - "print round(M2,2)", - "", - "Mt = 1.00 # mach number at the throat", - "M2 = 0.26", - "T2byTnot = 0.986 ", - "p2bypnot = 0.953", - "", - "T0 = 280.00 # in kelvin", - "pnot = 6.8 # in bars", - "T2 = T2byTnot*T0 # in kelvin", - "p2 = p2bypnot*pnot # in bars", - "k = 1.4", - "V2 = M2*((k*(8314/28.97)*T2)**0.5) # exit velocity in m/s", - "mdot = (p2/((8.314/28.97)*T2))*Ae*V2*10**-2 # mass flow rate in kg/s", - "print '-> Part(b) the mass flow rate is: ',mdot,'kg/s.'", - "print '-> The exit pressure is: ',p2,'bars.'", - "print '-> The exit mach number is: ',M2", - "", - "M2 = 2.4", - "p2bypnot = 0.0684", - "pnot = 6.8 # in bars", - "p2 = p2bypnot*pnot # in bars", - "print '> Part(c) the mass flow rate is: ',mdot,'kg/s.'", - "print '-> The exit pressure is: ',p2,'bars.'", - "print '-> The exit mach number is: ',M2", - "", - "Mx = 2.4", - "px = 0.465 # in bars", - "My = 0.52", - "pybypx = 6.5533", - "py = px*pybypx", - "", - "print '-> Part(d) the mass flow rate is: ',mdot,'kg/s.'", - "print '-> The exit pressure is: ',round(py,3),'bars.'", - "print '-> The exit mach number is: ',My", - "", - "Ax = 12.5 # in cm^2", - "Axstar = 6.25 # in cm^2", - "At = Axstar", - "Mx = 2.2", - "", - "pnotybypnotx = 0.62812", - "", - "M2 = 0.43", - "p2bypnoty = 0.88", - "A2byAystar = (Ae/Axstar)*pnotybypnotx", - "p2 = p2bypnoty*pnotybypnotx*pnot # in bars", - "", - "print '-> part(e) the mass flow rate is: ',mdot,'kg/s.'", - "print '-> the exit pressure is: ',p2,'bars.'", - "print '-> the exit mach number is: ',M2" - ], - "language": "python", - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-> Part(a) the mass flow rate in kg/s is: ", - "0.99", - "-> The exit pressure in bars is: ", - "6.52", - "-> The exit mach number is: ", - "0.24", - "-> Part(b) the mass flow rate is: 1.06238566635 kg/s.", - "-> The exit pressure is: 6.4804 bars.", - "-> The exit mach number is: 0.26", - "> Part(c) the mass flow rate is: 1.06238566635 kg/s.", - "-> The exit pressure is: 0.46512 bars.", - "-> The exit mach number is: 2.4", - "-> Part(d) the mass flow rate is: 1.06238566635 kg/s.", - "-> The exit pressure is: 3.047 bars.", - "-> The exit mach number is: 0.52", - "-> part(e) the mass flow rate is: 1.06238566635 kg/s.", - "-> the exit pressure is: 3.75867008 bars.", - "-> the exit mach number is: 0.43" - ] - } - ], - "prompt_number": 14 - } - ] - } - ] -}
\ No newline at end of file diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph1_1.png b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph1_1.png Binary files differdeleted file mode 100644 index 630ef263..00000000 --- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph1_1.png +++ /dev/null diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph1_2.png b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph1_2.png Binary files differdeleted file mode 100644 index 763b903c..00000000 --- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph1_2.png +++ /dev/null diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph1_3.png b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph1_3.png Binary files differdeleted file mode 100644 index 763b903c..00000000 --- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph1_3.png +++ /dev/null diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph2_1.png b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph2_1.png Binary files differdeleted file mode 100644 index 8dbefa98..00000000 --- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph2_1.png +++ /dev/null diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph2_2.png b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph2_2.png Binary files differdeleted file mode 100644 index 418e67d8..00000000 --- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph2_2.png +++ /dev/null diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph2_3.png b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph2_3.png Binary files differdeleted file mode 100644 index 418e67d8..00000000 --- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph2_3.png +++ /dev/null diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph3_1.png b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph3_1.png Binary files differdeleted file mode 100644 index 4253b0e3..00000000 --- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph3_1.png +++ /dev/null diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph3_2.png b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph3_2.png Binary files differdeleted file mode 100644 index e43d18f3..00000000 --- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph3_2.png +++ /dev/null diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph3_3.png b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph3_3.png Binary files differdeleted file mode 100644 index e43d18f3..00000000 --- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph3_3.png +++ /dev/null |