diff options
author | Jovina Dsouza | 2014-06-18 12:43:07 +0530 |
---|---|---|
committer | Jovina Dsouza | 2014-06-18 12:43:07 +0530 |
commit | 206d0358703aa05d5d7315900fe1d054c2817ddc (patch) | |
tree | f2403e29f3aded0caf7a2434ea50dd507f6545e2 /Industrial_Instrumentation | |
parent | c6f0d6aeb95beaf41e4b679e78bb42c4ffe45a40 (diff) | |
download | Python-Textbook-Companions-206d0358703aa05d5d7315900fe1d054c2817ddc.tar.gz Python-Textbook-Companions-206d0358703aa05d5d7315900fe1d054c2817ddc.tar.bz2 Python-Textbook-Companions-206d0358703aa05d5d7315900fe1d054c2817ddc.zip |
adding book
Diffstat (limited to 'Industrial_Instrumentation')
23 files changed, 17362 insertions, 0 deletions
diff --git a/Industrial_Instrumentation/Chapter_1.ipynb b/Industrial_Instrumentation/Chapter_1.ipynb new file mode 100644 index 00000000..ee337d56 --- /dev/null +++ b/Industrial_Instrumentation/Chapter_1.ipynb @@ -0,0 +1,412 @@ +{ + "metadata": { + "name": "Chapter_1" + }, + "nbformat": 2, + "worksheets": [ + { + "cells": [ + { + "cell_type": "markdown", + "source": [ + "<h1>Chapter 1: Temperature<h1>" + ] + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 1.1, Page Number: 53<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Temperature Conversion'''", + "", + "#variable declaration", + "c=-40.0 #Temp in degree Celcius", + "", + "#calculations", + "k=c+273", + "F=((9.0/5.0)*c)+32.0", + "R=((9.0/5.0)*c)+492.0", + "", + "#Result", + "print('\\nK=%d\u00b0K' %k)", + "print('\\nF=%d\u00b0F' %F)", + "print('\\nR=%d\u00b0R' %R)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "", + "K=233\u00b0K", + "", + "F=-40\u00b0F", + "", + "R=420\u00b0R" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "markdown", + "source": [ + "<h3> Example 1.2, Page Number: 53<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''percentage Accuracy and Error'''", + "", + "#varable Declaration", + "span=1000.0 #given value of span in \u00b0C", + "accuracy=1.0/100.0 #1% accuracy", + "", + "#calculations", + "err=span*accuracy", + "max_scale=1200.0", + "Range_instr=max_scale+span", + "meter_reading=700.0", + "per_of_err=(err/meter_reading)*100.0", + "", + "#result", + "print('(a)\\nAs error can be either positive or negative') ", + "print('\\n the probable error at any point on the scale =\u00b1 %d\u00b0C'%err)", + "print('\\n(b)\\nRange of the Instrument = %d\u00b0C'%Range_instr)", + "print('\\n(c)\\nPercentage of Error = \u00b1 %.2f%% '%per_of_err)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)", + "As error can be either positive or negative", + "", + " the probable error at any point on the scale =\u00b1 10\u00b0C", + "", + "(b)", + "Range of the Instrument = 2200\u00b0C", + "", + "(c)", + "Percentage of Error = \u00b1 1.43% " + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 1.3, Page Number: 54<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Two wire RTD'''", + "", + "#variable declaration", + "resi_per_leg=5.0 # lead wire resistance per leg in Ohm", + "temp_coeff=0.385 # Temperature coefficient of Pt 100 RTD in ohms/\u00b0C", + "", + "#calculation", + "R_due_to_leadwires=2*resi_per_leg", + "err=R_due_to_leadwires/temp_coeff", + "err =round(err,0)", + "temp_obj=200.0", + "temp_measured=temp_obj+err", + "per_of_err=((temp_measured-temp_obj)/temp_obj)*100.0", + "", + "#Result", + "print('(a)\\nThe contribution of 10 ohms lead wire resistance')", + "print('to the measurement error = %d\u00b0C' %err)", + "print('\\n(b)\\nPercentage of Error = %d%%' %per_of_err)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)", + "The contribution of 10 ohms lead wire resistance", + "to the measurement error = 26\u00b0C", + "", + "(b)", + "Percentage of Error = 13%" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 1.4, Page Number: 54<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Thermocouple temperature measurement'''", + "", + "#variable declaration", + "temp=2.022 #Millivolt corresponds to reference junction temp 50\u00b0C", + "millivolt_cor=37.325 #Millivolt corresponds to reference junction temp 900\u00b0C", + "", + "#calculation", + "op=millivolt_cor-temp", + "", + "#result", + "print('Millivolt output available = % .3f' %op)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Millivolt output available = 35.303" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 1.5, Page Number: 54<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Hot junction temperature of thermocouple'''", + "", + "#variable declaration", + "millivolt_cor=2.585 #Millivolt corresponds to reference junction temp 50\u00b0C", + "pot_reading=30.511 #reading on pot", + "", + "#calculation", + "corrected_millivolt=pot_reading+millivolt_cor", + "", + "#result", + "print('Temperature correspond to %.3f mV from the table = 600\u00b0C' %corrected_millivolt)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Temperature correspond to 33.096 mV from the table = 600\u00b0C" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 1.6, Page Number: 54<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Caliberation of an instrument'''", + "", + "#variable Declarion", + "ref_jun=100.0 #reference junction temp.", + "mV_100=0.645 #voltage at 100\u00b0C", + "mV_1000=9.585 #voltage at 1000\u00b0C", + "mV_1200=11.947 #voltage at 1200\u00b0C", + "", + "#calculation", + "op1=mV_1000-mV_100", + "op2=mV_1200-mV_100", + "", + "#result", + "print('Millivolt to be fed checking 1000 C = %.3f mV'%op1)", + "print('\\nMillivolt to be fed checking 1200 C = %.3f mV'%op2)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Millivolt to be fed checking 1000 C = 8.940 mV", + "", + "Millivolt to be fed checking 1200 C = 11.302 mV" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 1.7, page Number: 55<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Wall temperature measurement'''", + "", + "#variable declaration", + "E_rec_pyro=0.95*0.85 #Energy received by pyrometer", + "", + "#calculation", + "T=1100.0/E_rec_pyro", + " ", + "#result", + "print('Pyrometer reading T = %.2f\u00b0C'%T)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Pyrometer reading T = 1362.23\u00b0C" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 1.8, Page Number: 55<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Thermocouple output'''", + "", + "#(a)", + "", + "#variable declaration", + "hot1_mV=41.29 # Millivolt corresponds to hot junction temp ", + "cold1_mV=2.022 # Millivolt corresponds to cold junction temp ", + "", + "#calculation", + "op1=hot1_mV-cold1_mV", + "", + "#(b)", + "", + "#variable declaration", + "hot2_mV=33.096 #Millivolt corresponds to hot junction temp ", + "cold2_mV=2.585 #Millivolt corresponds to cold junction temp ", + "#calculation", + "op2=hot2_mV-cold2_mV", + "", + "#(c)", + "", + "#variable declaration", + "hot3_mV=11.947 #Millivolt corresponds to hot junction temp ", + "cold3_mV=0.299 #Millivolt corresponds to cold junction temp ", + "#calculation", + "op3=hot3_mV-cold3_mV", + "", + "#result", + "print('(a)\\nOutput Millivolt = %.3f'%op1)", + "print('\\n(b)\\nOutput Millivolt = %.3f'%op2)", + "print('\\n(c)\\nAs the wrongly formed thermocouples at J1 and J2 will always oppose')", + "print('the main millivolt output, the net output will be lower than normal value.')", + "print('Output mV<%.3f'%op3)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)", + "Output Millivolt = 39.268", + "", + "(b)", + "Output Millivolt = 30.511", + "", + "(c)", + "As the wrongly formed thermocouples at J1 and J2 will always oppose", + "the main millivolt output, the net output will be lower than normal value.", + "Output mV<11.648" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 1.9, Page Number: 56<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''electtronic temperature transmitter'''", + "", + "#variable declaration", + "Rl_ind=250.0 #load resistor for indicator", + "Rl_rec=250.0 #load resistor for recorder", + "load_allowable=600.0 #allowable load with load independency", + "", + "#calculation", + "load_connected= Rl_ind+Rl_rec", + "max_load_controller=load_allowable-load_connected", + "op_cont=600.0", + "total=Rl_ind+Rl_rec+load_allowable", + "extra_load=total-op_cont", + "", + "#result", + "print('(a)\\nThe max load to the controller = %d ohms'%max_load_controller)", + "print('\\n(b)\\nExtra Load = %d ohms'%extra_load)", + "print('\\nAdditional Power Supply voltage required = 10 V')", + "print('\\nMinimum Power Supply Voltage = 34 ')" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)", + "The max load to the controller = 100 ohms", + "", + "(b)", + "Extra Load = 500 ohms", + "", + "Additional Power Supply voltage required = 10 V", + "", + "Minimum Power Supply Voltage = 34 " + ] + } + ], + "prompt_number": 9 + } + ] + } + ] +}
\ No newline at end of file diff --git a/Industrial_Instrumentation/Chapter_2.ipynb b/Industrial_Instrumentation/Chapter_2.ipynb new file mode 100644 index 00000000..f6c4dada --- /dev/null +++ b/Industrial_Instrumentation/Chapter_2.ipynb @@ -0,0 +1,603 @@ +{ + "metadata": { + "name": "Chapter_2" + }, + "nbformat": 2, + "worksheets": [ + { + "cells": [ + { + "cell_type": "markdown", + "source": [ + "<h1>Chapter 2: Pressure<h1>" + ] + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 2.1, Page Number: 116<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Pressure conversion'''", + "", + "#(a)", + "", + "#variable declaration", + "#1kg/cm^2=10000 mmWG", + "x=10000.0*10.0 #equivalnt to 10kg/cm^2", + "", + "#result", + "print('(a)\\n 10kg/cm^2 = %.0f mmWG' %x)", + "", + "#(b)", + "", + "#variable declaration", + "onemm_Hg=13.546 #pressure of 1 mm Hg", + "", + "#calculation", + "y=10.0**5/onemm_Hg", + "y=y/10.0**3", + "", + "#result", + "print('\\n(b)\\n10kg/cm^2 = 10^5 mmWG = %.2f * 10^3 mmHg' %y)", + "", + "#(c)", + "", + "#variable declaration", + "onebar=1.03 # 1 Bar presssure in kg/cm^2", + "#calculation", + "z=10.0/onebar", + "", + "#result", + "print('\\n(c)\\n10kg/cm^2 = %.2f bars' %z)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)", + " 10kg/cm^2 = 100000 mmWG", + "", + "(b)", + "10kg/cm^2 = 10^5 mmWG = 7.38 * 10^3 mmHg", + "", + "(c)", + "10kg/cm^2 = 9.71 bars" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 2.2, Page Number: 116<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Gauge and absolute pressure'''", + "", + "#(a)", + "", + "#variable Declaration", + "gamm=1000.0 # density of water", + "d=35.0 # depth of water ", + "dens_Hg=13.546 # density of Hg", + "", + "#calculation", + "press_in_kg_cm=gamm*d*10**-4", + "press_in_mmHg=gamm*d/dens_Hg", + "press_in_mmHg=press_in_mmHg/10**3", + "", + "#result", + "print('(a)\\nThe pressure at depth of %d meters in a water tank=%.1f kg/cm^2 = %.2f*10^3 mmHg'%(d, press_in_kg_cm, press_in_mmHg))", + "", + "#(b)", + "", + "#varible declaration", + "press_atm=1.03 #atmospheric pressure", + "", + "#calculation", + "abspress=press_in_kg_cm+press_atm", + "abspress_mmHg=press_in_mmHg*1000.0+760.0", + "abspress_mmHg=abspress_mmHg/1000.0", + "", + "#result", + "print('\\n(b)\\nAbsolute Pressure= %.2f kg/cm^2 Abs = %.2f*10^3 mmHg Abs'%(abspress, abspress_mmHg))" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)", + "The pressure at depth of 35 meters in a water tank=3.5 kg/cm^2 = 2.58*10^3 mmHg", + "", + "(b)", + "Absolute Pressure= 4.53 kg/cm^2 Abs = 3.34*10^3 mmHg Abs" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 2.3, Page Number:116<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "''' Gauge and absolute pressure'''", + "", + "#varible declaration", + "egp=260.0 # equivalent gauge pressure", + "", + "#calculation", + "abspress=760.0-egp", + "", + "#result", + "print('Absolute Presssure = %d mmHg' %abspress)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Absolute Presssure = 500 mmHg" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 2.4,Page Number:117<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''pressure measurement using U tube manometer'''", + "", + "#(a)", + "", + "#variable declaration", + "p_diff=500.0 #pressure difference in mmHg", + "", + "#calculations", + "pdiff=p_diff*13.546/10000", + "", + "#Result", + "print('(a)\\np1-p2 = %.3f kg/cm^2' %pdiff)", + "", + "", + "#(b)", + "", + "#variable declaration", + "p1=6770.0 # Gauge pressure in mmWG", + "p_atm=10300.0 # atmospheric pressure ", + "", + "#calculation", + "abs_p1=p1+p_atm", + "", + "#result", + "print('\\n(b)If p2 is open to atmosphere:\\nAbsolute Pressure P1 = %d mmWG abs.' %abs_p1)", + "", + "#(c)", + "", + "#variable declaration", + "P1=500.0 #mmHg absolute pressure", + "", + "#calculations", + "P1_gauge=P1-760.0", + "", + "#result", + "print('\\n(c)If p2 is evacuated and sealed:\\np1= %d mmHg gauge Pressure' %P1_gauge)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)", + "p1-p2 = 0.677 kg/cm^2", + "", + "(b)If p2 is open to atmosphere:", + "Absolute Pressure P1 = 17070 mmWG abs.", + "", + "(c)If p2 is evacuated and sealed:", + "p1= -260 mmHg gauge Pressure" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 2.5, Page Number: 117<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Specific Gravity and weight density'''", + "", + "#variable declaration", + "spe_grav_water=1.0 # specific gravity of water", + "", + "#calculation", + "spe_grav_X=spe_grav_water*100.0/50.0", + "wt_dens_water=1000.0", + "wt_dens_X=wt_dens_water*2.0", + "", + "#result", + "print('Weight Density of X = %d kg/m^3' %wt_dens_X)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Weight Density of X = 2000 kg/m^3" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 2.6, Page Number: 117<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''water flow rate using mercury manometer'''", + "", + "#variable declaration", + "A=1.0/20.0 # Area ratio", + "p_diff=1500.0 # pressure difference in mmWG", + "", + "#result", + "print('(a)\\nAs Delta_h=A2/A1*h << h and normally negligible for well type manometer')", + "print('hence, p1-p2 = h = %d =111 mmHg' %p_diff)", + "print('\\n(b)\\nh measured above the oriinal reference will be half of H, i.e. 111/2=55.5 mmHg')", + "print('(Since area of both legs are same)')" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)", + "As Delta_h=A2/A1*h << h and normally negligible for well type manometer", + "hence, p1-p2 = h = 1500 =111 mmHg", + "", + "(b)", + "h measured above the oriinal reference will be half of H, i.e. 111/2=55.5 mmHg", + "(Since area of both legs are same)" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 2.7, Page Number: 119<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''readings and errors in Bourdon gauge reading'''", + "", + "print('1 kg/cm^2 = 10 mWG\\n')", + "", + "#(a)", + "", + "#variable declaration", + "press=10+2 #pressure read by the gauge", + "", + "#result", + "print('\\n(a)Bourdon Gauge is mounted 20 meters below water line:')", + "print('\\nPressure read by the Gauge = %d kg/cm^2'%press)", + "", + "", + "#(b)", + "", + "#variable declaration", + "press2=10-3 #pressure read by the gauge", + "", + "#result", + "print('\\n\\n(b)Bourdon Gauge is located 30 meters above the water line:')", + "print('\\nPressure read by the Gauge = %d kg/cm^2'%press2)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "1 kg/cm^2 = 10 mWG", + "", + "", + "(a)Bourdon Gauge is mounted 20 meters below water line:", + "", + "Pressure read by the Gauge = 12 kg/cm^2", + "", + "", + "(b)Bourdon Gauge is located 30 meters above the water line:", + "", + "Pressure read by the Gauge = 7 kg/cm^2" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 2.8, Page Number: 120<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Specific Gravity and density of liquid'''", + "", + "#Variable declaration", + "dens_water=1000.0 # water Density", + "h1=125.0 # height1 mm", + "h2=250.0 # height2 mm", + "d2=h1*dens_water/h2", + "", + "#result", + "", + "#a", + "print('(a)\\nDensity of Liquid = %d kg/m^3' %d2)", + "print('\\nSpecific Density of the liquid = %.1f' %(h1/h2))", + "", + "#(b)", + "print('\\n\\n(b)\\nIf Values of water and liquid interchanged:\\n')", + "d3=h2*dens_water/h1", + "print('\\nDensity of Liquid = %d kg/m^3' %d3)", + "print('\\nSpecific Density of the liquid = %.1f' %(h2/h1))" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)", + "Density of Liquid = 500 kg/m^3", + "", + "Specific Density of the liquid = 0.5", + "", + "", + "(b)", + "If Values of water and liquid interchanged:", + "", + "", + "Density of Liquid = 2000 kg/m^3", + "", + "Specific Density of the liquid = 2.0" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 2.9, Page Number: 120<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''strain gauge wire length and cross section area'''", + "", + "import math", + "#variable Declaration", + "R=120.0 #resistance", + "l=122.0 #length", + "a=0.1 #area", + "R1=140.0 #resistance in ohm", + "", + "#calculation", + "rho=R*a/l", + "l1=math.sqrt(R1*a*l/rho)", + "l1=round(l1,0)", + "", + "#Result", + "print('Length l1 = %d meters' %l1)", + "A1=a*l/l1", + "print('\\nArea A1 = %.4f mm^2' %A1)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Length l1 = 132 meters", + "", + "Area A1 = 0.0924 mm^2" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 2.10, Page Number: 121<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Capacitance calculation for variable dielectric'''", + "", + "c=0.57 #Constant", + "", + "#(a)", + "", + "#variable declaration", + "d=0.1 #distance between plates", + "di1=100.0 #Dielectric constant", + "di2=1000.0 #Dielectric constant", + "", + "#calculation", + "c1=c*di1*10.0/d", + "c1=round(c1,0)", + "", + "#result", + "print('(a)\\nC1=%d pf' %c1)", + "", + "", + "#(b)", + "", + "#calculation", + "c2=c*di2*10/d", + "", + "#result", + "print('\\n(b)\\nC2=%d pf' %c2)", + "", + "", + "#(c)", + "", + "#calculation", + "ds=0.09", + "c11=c*di1*10/ds", + "c12=c*di2*10/ds", + "", + "#result", + "print('\\n(c)\\nC1 = %.1f pf\\nC2 = %d pf'%(c11,c12))" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)", + "C1=5700 pf", + "", + "(b)", + "C2=57000 pf", + "", + "(c)", + "C1 = 6333.3 pf", + "C2 = 63333 pf" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 2.11, Page Number: 121<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''pressure gauge caliberation'''", + "", + "#variable Declaration", + "A=1.0 #area", + "p1=10.0 #pressure", + "", + "#calculation", + "W1=A*p1", + "", + "#Result", + "print('W1 = %d kg' %W1)", + "print('\\nWith the 4 standard weights of 10kg, 20kg, 30kg and 40kg')" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "W1 = 10 kg", + "", + "With the 4 standard weights of 10kg, 20kg, 30kg and 40kg" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 2.12, Page Number: 122<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''pressure calculation using McLeod gauge'''", + "", + "#varable declaration", + "p1=10**-2 #pressure in torr", + "h1=20.0 #height in mm", + "", + "#xalculation", + "K=p1/h1**2", + "p2=K*30**2", + "p2=p2*100.0", + "", + "#Result", + "print('The unknown pressure p2 = %.2f * 10^-2 torr' %p2)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The unknown pressure p2 = 2.25 * 10^-2 torr" + ] + } + ], + "prompt_number": 12 + } + ] + } + ] +}
\ No newline at end of file diff --git a/Industrial_Instrumentation/Chapter_3.ipynb b/Industrial_Instrumentation/Chapter_3.ipynb new file mode 100644 index 00000000..6d26bc18 --- /dev/null +++ b/Industrial_Instrumentation/Chapter_3.ipynb @@ -0,0 +1,391 @@ +{ + "metadata": { + "name": "Chapter_3" + }, + "nbformat": 2, + "worksheets": [ + { + "cells": [ + { + "cell_type": "markdown", + "source": [ + "<h1>Chapter_3: Force Torque and Velocity<h1>" + ] + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 3.1, Page Number: 163<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Force calculation'''", + "", + "#variable declaration", + "m1=20 #mass of the body in Kg ", + "a=5 #acceleration in m/s^2", + "", + "#calculation", + "F=m1*a", + "", + "#result", + "print('F = %d Newtons'%F)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "F = 100 Newtons" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 3.2, Page Number: 163<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Weight calculation'''", + "", + "#variable declaration", + "m1=50 #mass of the body in Kg ", + "g1=9.8 #acceleration due to gravity", + "", + "#calculation", + "W2=m1*g1", + "", + "#result", + "print('W = %d Newtons = %d kgf' %(W2,m1))" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "W = 490 Newtons = 50 kgf" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 3.3, Page Number: 164<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''calculation of specific gravity'''", + "", + "#variable declaration", + "wt_material=2500.0 #weight of 1 m^3 material", + "wt_water=1000.0 #weight of 1 m^3 water", + "", + "#calculation", + "spe_grav=wt_material/wt_water", + "", + "#result", + "print('Specific gravity of the material = %.1f' %spe_grav)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Specific gravity of the material = 2.5" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 3.4, Page Number: 164<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Estimation of uncertainty due to sensitivity'''", + "", + "import math", + "#variable declaration", + "L=20.0 # length in cm", + "W=2000.0 # Weight of mass in gm ", + "db=0.02 # length in cm ", + "Wb=100.0 # Weight of mass in gm ", + "dG=0.5 # length in cm", + "", + "#calculation", + "S=L/(2*W*db+Wb*dG)", + "fi=0.2", + "DeltaW=fi*math.pi/(180*S)", + "", + "#result", + "print('S = %.3f rad/g' %S)", + "print('\\nDeltaW = %.3f g' %DeltaW)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "S = 0.154 rad/g", + "", + "DeltaW = 0.023 g" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 3.5, Page Number: 164<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Torque Calculation'''", + "", + "import math", + "", + "#variable declaration", + "hp=746.0 # horse power", + "P=5*hp # Saft power in Watts", + "N=1500.0 # speed in rpm", + "", + "#calculation", + "n=N/60.0", + "T=P*60/(2*math.pi*n)", + "", + "#result", + "print('T = %.0f Newton meters' %(math.ceil(T)))" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "T = 1425 Newton meters" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 3.6, Page Number: 165<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Force calculation'''", + "", + "#variable declaration", + "ch_l=0.075 #change in length", + "orig_l=50.0 #Original length", + "", + "#calculation", + "S=ch_l/orig_l", + "E=9.66*10**5", + "stress=E*S", + "area=1.5", + "f=stress*area", + "", + "#result", + "print('Strain = %.4f cm/cm\\nStress =%d kg/cm^2\\nForce = %.1f kg'%(S,stress,f))" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Strain = 0.0015 cm/cm", + "Stress =1449 kg/cm^2", + "Force = 2173.5 kg" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 3.7, Page Number: 165<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''resistance strain gauge'''", + "", + "import math", + "", + "#(a)", + "", + "#variable declaration", + "R1=120.0 # resistance in Ohm", + "R2=120.0 # resistance in Ohm", + "R3=120.0 # resistance in Ohm", + "R4=120.0 # resistance in Ohm", + "Rg=100.0 # resistance in Ohm", + "", + "#calculation", + "C=(R1*R2*R4)+(R1*R3*R4)+(R1*R2*R3)+(R2*R3*R4)+(Rg*(R1+R4)*(R2+R3))", + "C=C/(10**7)", + "", + "#result", + "print('(a)\\nC=%.3f*10^7' %C)", + "E=10", + "F=(E*R3*R1*2*10**3)/(C*10**7)", + "print('\\nF = %.1f *10^3 A/mm = %.1f mA/mm'%(F,F))", + "", + "#(b)", + "", + "#calculation", + "Fe=2*10**-4", + "E=10", + "DeltaE=Fe*E/(4+4*10**-4)", + "DeltaE=DeltaE*10**3", + "", + "#Result", + "print('\\n(b)\\nDeltaEg=%.1f mV' %DeltaE)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)", + "C=1.267*10^7", + "", + "F = 22.7 *10^3 A/mm = 22.7 mA/mm", + "", + "(b)", + "DeltaEg=0.5 mV" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 3.8, PAge Number: 167<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''speed measurement using stroboscope'''", + "", + "#(a)", + "import math", + "", + "#variable Declaration", + "r1=2500.0 # Highest flasing rate ", + "r2=1500.0 # next Highest flasing rate ", + "", + "#calculation", + "n=(r1*r2)/(r1-r2)", + "", + "#result", + "print('(a)\\nn = %d rpm'%n)", + "", + "#(b)", + "", + "#variable declaration", + "N=5.0 # Fift time syncronization for same speed", + "", + "#calculation", + "r5=n*r1/((r1*(N-1))+n)", + "r5=math.ceil(r5)", + "", + "#result", + "print('\\n(b)\\nr5=%d Flashes/Minute' %r5)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)", + "n = 3750 rpm", + "", + "(b)", + "r5=682 Flashes/Minute" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 3.9, Page Number: 167<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''speed measurement using proximity'''", + "", + "#variable declaration", + "rpm=1500.0 #rotation in rpm", + "f=200.0 #frequency", + "", + "#calculation", + "N=60*f/rpm", + "", + "#result", + "print('No of teeth on the wheel\\nN=%d' %N)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "No of teeth on the wheel", + "N=8" + ] + } + ], + "prompt_number": 14 + } + ] + } + ] +}
\ No newline at end of file diff --git a/Industrial_Instrumentation/Chapter_4.ipynb b/Industrial_Instrumentation/Chapter_4.ipynb new file mode 100644 index 00000000..f58d6ec6 --- /dev/null +++ b/Industrial_Instrumentation/Chapter_4.ipynb @@ -0,0 +1,554 @@ +{ + "metadata": { + "name": "Chapter_4" + }, + "nbformat": 2, + "worksheets": [ + { + "cells": [ + { + "cell_type": "markdown", + "source": [ + "<h1>Chapter 4: Acceleration Vibration and Density<h1>" + ] + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 4.1, Page Number:209 <h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "''''mechanical system for a seismic instrument'''", + "", + "import math", + "#(a)", + "", + "#variable Declaration", + "k=50.0 #Spring constant ", + "m=0.005 # mass in kg", + "", + "#calculation", + "wn=math.sqrt(k/m)", + "", + "#result", + "print('(a)\\nNatural frequency(wn)= %d rad/s' %wn)", + "", + "", + "#(b)", + "", + "#calculation", + "Cc=2*(m*k)**(0.5)", + "", + "#result", + "print('\\n(b)\\nCc=%d' %Cc)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)", + "Natural frequency(wn)= 100 rad/s", + "", + "(b)", + "Cc=1" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 4.2, Page Number:209<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Frequency and phase angle of motion'''", + "", + "#(a)", + "import math", + "", + "#variable Declaration", + "Cc=1.0 # damping ratio ", + "C=0.7*Cc # Critical damping ratio ", + "m=0.005 # mass", + "k=50.0 # spring constant", + "", + "#calculation", + "w=math.sqrt((k/m)-(C/(2*m))**2)", + "", + "#result", + "print('(a)\\nw=%.1f rad/s' %w)", + "", + "#(b)", + "", + "#variable Declaration", + "w1=250.0 # angular velocity", + "", + "#calculation", + "theta=C*w1/(k-m*w1**2)", + "print('\\ntheta=%f' %theta)", + "fi=math.atan(-theta)", + "fi=fi*180.0/math.pi", + "", + "#result", + "print('\\nfi = %d\u00b0'%fi)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)", + "w=71.4 rad/s", + "", + "theta=-0.666667", + "", + "fi = 33\u00b0" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 4.3, PAge Number: 210<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''time calculation for exponetial transient term'''", + "import math", + "", + "#variable Declaration", + "m=0.005 # mass ", + "c=0.7 # damping ratio", + "", + "#calculation", + "y=-math.log(0.01)", + "t=y*2*m/c", + "", + "#result", + "print('t=%.4f Secs' %t)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "t=0.0658 Secs" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 4.4, Page Number:210<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Acceleration measurement'''", + "", + "#variable Declaration", + "rg1=1200.0 #resistance in Ohm", + "rg2=1200.0 #resistance in Ohm", + "rg3=1200.0 #resistance in Ohm", + "rg4=1200.0 #resistance in Ohm", + "", + "#calculation", + "D1=rg1*5.0/100.0", + "D2=rg2*5.0/100.0", + "D3=rg3*5.0/100.0", + "D4=rg4*5.0/100.0", + "E=12.0", + "v=E*(((rg1+D1)/(rg1+D1+rg2-D2))-((rg4-D4)/(rg3+D3+rg4-D4)))", + "v=v*1000.0", + "", + "#result", + "print('V0=%d mV' %v)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "V0=600 mV" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 4.5, Page Number:211<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''output voltage of quartz piezoelectric crystal'''", + "", + "#variable declaration", + "g=0.06 # voltage sensitivity", + "", + "#calculation", + "t=2.5*10**-3", + "p=20*9.8*10**4", + "E=g*t*p", + "", + "#Result", + "print('E=%d V' %E)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "E=294 V" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 4.6, Page Number: 211<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Differential values of capacitor'''", + "", + "#resistance in Ohm", + "c0=25.0 # capacitance in pF", + "x0=0.5 # distance between plates", + "x1=0.05 # steady state displacement ", + "", + "#calculations", + "c1=c0*x0/(x0-x1)", + "c2=c0*x0/(x0+x1)", + "", + "#result", + "print('C1=%.2f pF\\nC2=%.2f pF'%(c1,c2))" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "C1=27.78 pF", + "C2=22.73 pF" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 4.7, Page Number: 211<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Specific Gravity Conversion'''", + "", + "#(a)", + "", + "#Specific gravity at 60 degree F", + "sg_at_60=1.02", + "", + "#calculation", + "API=(141.5/sg_at_60)-131.5", + "", + "#result", + "print('(a)\\nDegrees API = %.2f\u00b0API' %API)", + "", + "#(b)", + "", + "#calculation", + "Be=145-145/sg_at_60", + "", + "#result", + "print('\\n(b)\\nDegrees Baume(heavy) = %.1f\u00b0Be' %Be)", + "", + "", + "#(c)", + "", + "#calculation", + "Bk=(sg_at_60-1)*1000", + "", + "#result", + "print('\\n(c)\\nDegrees Barkometer = %d\u00b0Bk' %Bk)", + "", + "#(d)", + "", + "#calculation", + "Q=(sg_at_60-1)*1000", + "", + "#result", + "print('\\n(c)\\nDegrees Quevenne = %d\u00b0Q' %Q)", + "", + "#(e)", + "", + "#calculation", + "Tw=200*(sg_at_60-1.0)", + "", + "#result", + "print('\\n(d)\\nDegrees Twaddel = %d\u00b0Tw' %Tw)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)", + "Degrees API = 7.23\u00b0API", + "", + "(b)", + "Degrees Baume(heavy) = 2.8\u00b0Be", + "", + "(c)", + "Degrees Barkometer = 20\u00b0Bk", + "", + "(c)", + "Degrees Quevenne = 20\u00b0Q", + "", + "(d)", + "Degrees Twaddel = 4\u00b0Tw" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 4.8, Page NUmber: 212<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''calculation of the volume of displacer'''", + "", + "import math", + "", + "#variable Declaration", + "T=0.5 # Torque Tube Force", + "sg1=1.02 # Maximum spe.gravity to be measured", + "sg2=0.98 # Minimum spe.gravity to be measured", + "wt=1000*10**-6", + "", + "#calculation", + "v=T/((sg1-sg2)*wt)", + "v=math.ceil(v)", + "", + "#result", + "print('V=%d cm^3' %v)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "V=12500 cm^3" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 4.9, Page Number: 212<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Differential pressure Sensor'''", + "", + "import math", + "", + "#variavle declaration", + "sg1=0.85 # Maximum spe.gravity to be measured", + "sg2=0.8 # Minimum spe.gravity to be measured", + "span=150.0 # D/P cell span", + "", + "", + "#a", + "", + "#calculation", + "H=span/(sg1-sg2)", + "", + "#result", + "print('(a)\\nH=%d mm = %dm' %(H,H/1000))", + "", + "#b", + "", + "#calculation", + "span_min=1500.0", + "span2=span_min*(sg1-sg2)", + "span2=math.ceil(span2)", + "", + "#result", + "print('\\n(b)\\nD/P span = %d mm' %span2)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)", + "H=3000 mm = 3m", + "", + "(b)", + "D/P span = 75 mm" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 4.10, Page Number:212<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Specific Gravity of unknown liquid'''", + "", + "#variable declaration", + "Ww=12-2 # Width of water", + "dw=1000.0 # density of water", + "", + "#calculation", + "v=Ww/dw", + "dx=(10-2)/v", + "sg=dx/dw ", + "", + "#result", + "print('Specific Gravity of X =%.1f' %sg)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Specific Gravity of X =0.8" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 4.11, PAge Number: 213<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''calculation of specific gravity'''", + "", + "#(a)", + "", + "#variable declaration", + "wt=1.5 # weight of object", + " ", + "#calculation", + "v_obj=2.0/1000", + "dx=wt/v_obj", + "sg=dx/1000", + "", + "#result", + "print('(a)\\nSpecific Gravity = %.2f' %sg)", + "", + "#(b)", + "", + "sgl=0.8 # specific grav of liquid", + "dens=800.0 # density", + "", + "#calculation", + "W1=dens*v_obj-wt", + "", + "#result", + "print('\\n(b)\\nW1 = %.1f kg' %W1)", + "", + "", + "#(c)", + "", + "#variable declaration", + "sg2=1.2 # spe. grav.", + "dens2=1200.0 # density", + "", + "#calculation", + "W2=dens2*v_obj-wt", + "", + "#result", + "print('\\n(c)\\nW2 = %.1f kg' %W2)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)", + "Specific Gravity = 0.75", + "", + "(b)", + "W1 = 0.1 kg", + "", + "(c)", + "W2 = 0.9 kg" + ] + } + ], + "prompt_number": 11 + } + ] + } + ] +}
\ No newline at end of file diff --git a/Industrial_Instrumentation/Chapter_5.ipynb b/Industrial_Instrumentation/Chapter_5.ipynb new file mode 100644 index 00000000..fa1d0762 --- /dev/null +++ b/Industrial_Instrumentation/Chapter_5.ipynb @@ -0,0 +1,874 @@ +{ + "metadata": { + "name": "Chapter_5" + }, + "nbformat": 2, + "worksheets": [ + { + "cells": [ + { + "cell_type": "markdown", + "source": [ + "<h1>Chapter 5: Flow <h1>" + ] + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 5.1, Page Number: 310<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''flow rate calulation'''", + "", + "import math", + "#(i)", + "", + "#variable declaration", + "d=75.0*10**-3 # diameter of pipe", + "a=math.pi*d**2/4 # area of cross section of pipe", + "v=760.0*10**-3 # flow velocity", + "", + "#calculation", + "Q=v*a", + "Q=Q*10**3", + "print('(i)\\nVolume Flow Rate Q=%.3f *10^-3 m^3/sec' %Q)", + "rho=1000.0", + "W=rho*Q*10**-3", + "", + "#result", + "print('\\n(ii)\\nMass Flow rate W=%.3f kg/sec' %W)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)", + "Volume Flow Rate Q=3.358 *10^-3 m^3/sec", + "", + "(ii)", + "Mass Flow rate W=3.358 kg/sec" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 5.2, page Number:310<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Volumetric flow rate calculation'''", + "", + "import math", + "", + "#variable declaration", + "D=40.0 # Diameter of pipe", + "d=20.0 # Diameter of Orifice", + "mr=15.0 # Manometer reading", + "", + "#calculation", + "h=(13.6-1)*15.0*10.0", + "B=d/D", + "M=1/math.sqrt(1-(B**4))", + "Cd=0.5999", + "x=math.sqrt(2*9.8*h*(10**-3))", + "Q=x*Cd*M*(math.pi*((20*(10**-3))**2))/4", + "Q=Q*3600.0", + "", + "#result", + "print('Volumetric flow rate Q= %.4f m^3/hr' %Q)", + "#Answer slightly deviates from answer given in the book because of pi value.", + "#if pi=3.14, then answer is same as in textbook " + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Volumetric flow rate Q= 4.2649 m^3/hr" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 5.3, Page Number: 310<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Nominal flow velocity'''", + "", + "import math", + "#variable declaration", + "Re=10.0**5 # Reynolds number", + "D=40.0*10**-3 # Diameter of pipe ", + "v=10**-6 # Kinematic viscosity in m^2/sec", + "", + "#calculation", + "V1=Re*v/D", + "A1=(math.pi*(40.0*10**-3)**2)/4", + "A2=(math.pi*(20.0*10**-3)**2)/4", + "V2=V1*A1/A2", + "", + "#result", + "print('V2=%.1f m/sec' %V2)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "V2=10.0 m/sec" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 5.4, Page Number: 311<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''pressure difference calculation'''", + "", + "import math", + "", + "#variable declaration", + "Cd=0.61 # discharge coefficient", + "D=40.0*10**-3 # Diameter of pipe", + "d=20.0*10**-3 # Diameter of Orifice ", + "", + "#calculation", + "M=1/math.sqrt(1-(d/D)**4)", + "V2=10.0", + "rho=1000.0", + "g=9.8", + "X=V2*math.sqrt(rho/(2*g))/(Cd*M)", + "p_diff=X**2", + "p_diff=math.floor(p_diff/100)", + "p_diff=p_diff/100.0", + "", + "", + "#result", + "print('P1-P2 = %.2f kg/cm^2'%p_diff)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "P1-P2 = 1.28 kg/cm^2" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 5.5, Page Number: 312<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''volume flow rate for orifice and venturi Tubes'''", + "", + "import math", + "", + "#variable declaration", + "Cd=0.6 # discharge coefficient", + "D=150.0*10**-3 # Diameter of pipe", + "d=75.0*10**-3 # Diameter of Orifice ", + "p=250.0 # pressure recorded", + "g=9.8 # acceleration due to gravity", + "rho=1000.0 # Water density ", + "s=75.0*10**-3 # venturi tube size", + "", + "#(a)", + "", + "#calculation", + "Q=Cd*math.pi*s**2*math.sqrt(2*g*p/rho)/(4*math.sqrt(1-(d/D)**4)) ", + "", + "#result", + "print('(a) For orifice plate\\nQ=%f m^3/sec = %.3f litres/sec'%(Q,Q*1000))", + "", + "#calculation", + "Cd1=0.99", + "Q2=Cd1*math.pi*s**2*math.sqrt(2*g*p/rho)/(4*math.sqrt(1-(d/D)**4))", + "", + "#result", + "print('\\n\\n(b)For venturi tube\\nQ=%f m^3/sec = %.2f litres/sec'%(Q2,Q2*1000))", + "#Answer slightly deviates from answer given in the book because of pi value.", + "#if pi=3.14, then answer is same as in textbook " + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a) For orifice plate", + "Q=0.006060 m^3/sec = 6.060 litres/sec", + "", + "", + "(b)For venturi tube", + "Q=0.009999 m^3/sec = 10.00 litres/sec" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 5.6, Page Number: 312<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''determination of Reynolds number'''", + "", + "import math", + "", + "#(i)", + "", + "#variable declaration", + "V=0.02 # volumetric flow rate", + "d=10*10**-2 # Diameter of pipe", + "", + "#calculation", + "A=math.pi*d**2/4", + "v=V/A", + "rho=1000.0", + "Re=rho*v*d/10**-3", + "Re=Re/100000.0", + "", + "#result", + "print('(i)\\nReynolds number(Re) = %.3f * 10^5'%Re)", + "", + "#(ii)", + "", + "#variable declaration", + "Cd=0.98 # discharge coefficient ", + "D=20*10**-2 # Diameter of pipe ", + "d=10*10**-2 # Diameter of orifice", + "", + "#calculation", + "M=1/math.sqrt(1-(d/D)**4)", + "a2=math.pi*d**2/4", + "Q=0.02", + "g=9.8", + "X=Q*math.sqrt(rho)/(M*Cd*a2*math.sqrt(2*g))", + "p_diff=math.ceil(X**2)", + "", + "#result", + "print('\\n(ii)\\nPressur_difference = %d kg/m^2 = %.4f kg/cm^2'%(p_diff,p_diff/10000))", + "#Answer slightly deviates from answer given in the book because of pi value.", + "#if pi=3.14, then answer is same as in textbook " + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)", + "Reynolds number(Re) = 2.546 * 10^5", + "", + "(ii)", + "Pressur_difference = 323 kg/m^2 = 0.0323 kg/cm^2" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 5.7, Page Number: 313<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Fluid velocity and Volumetric flow rate'''", + "", + "import math", + "", + "#1kg/m^2=10 meters water head", + "", + "#variable declaration", + "g=9.81 #acceleration due to gravity", + "h=20.0 #height", + "", + "#calculation", + "v=math.sqrt(2*g*h)", + "d=300.0*10**-3", + "A=(math.pi*d**2)/4", + "A=math.floor(A*1000)", + "A=A/1000.0", + "Q=A*v", + "", + "#result", + "print('Q = %.3f m^3/sec'%Q)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Q = 1.387 m^3/sec" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 5.8, Page Number:313<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Fluid velocity calculation'''", + "", + "import math", + "", + "#variable declaration", + "Cd=0.6 # coefficient of discharge ", + "g=9.8 #acceleration due to gravity", + "h=400*10**-3 #height", + "", + "#calculation", + "V=Cd*math.sqrt(2*g*h)", + "", + "#result", + "print('V = %.2f m/sec' %V)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "V = 1.68 m/sec" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 5.9, Page Number: 314<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''velocity measurement using pilot tube'''", + "", + "import math", + "", + "#variable declaration", + "Cd=0.98 # coefficient of discharge", + "g=9.8 #acceleration due to gravity", + "h=900.0*10**-3 #height", + "", + "#calculation", + "V=Cd*math.sqrt(2*g*h)", + "V=math.floor(V*100)", + "V=(V/100.0)", + "", + "#result", + "print('V = %.2f m/sec' %V)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "V = 4.11 m/sec" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 5.10, Page Number:314<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Determination of flow velocity'''", + "", + "import math", + "", + "#Variable declaration", + "del_p=20*10**3 #Pa", + "dens_water=1000 #kg/m^3", + "dens_air=1.29 #kg/m^3", + "", + "#calculations", + "", + "#(i)When flowing fluid is water", + "v=math.sqrt(2*del_p/dens_water)", + "", + "#(ii)When flowing fluid is air", + "v1=math.sqrt(2*del_p/dens_air)", + "", + "#result", + "print('\\n(i)When flowing fluid is water\\n\\tV=%.3f m/sec'%v)", + "print('\\n(ii)When flowing fluid is air\\n\\tV=%.0f m/sec'%v1)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "", + "(i)When flowing fluid is water", + "\tV=6.325 m/sec", + "", + "(ii)When flowing fluid is air", + "\tV=176 m/sec" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 5.11, Page Number: 314<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''detemination of flow velocity'''", + "", + "import math", + "", + "# variable declaration", + "dens=1026.0 # density of see water", + "p=25.0*10**3 # pressure difference in manometer ", + "", + "#calculation", + "V=math.sqrt(2*p/dens)", + "", + "#result", + "print('V=%.2f m/sec =%.3f km/hr'%(V,V*18/5))" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "V=6.98 m/sec =25.131 km/hr" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 5.12, Page Number: 314<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''calculation of flying speed of aircraft'''", + "import math", + "", + "# variable declaration", + "dens=1.29 # air density at height ", + "", + "#calculation", + "p=12.5*1000", + "V=math.sqrt(2*p/dens)", + "", + "", + "#result", + "print('V=%.2f m/sec =%.2f km/hr'%(V,V*18/5))" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "V=139.21 m/sec =501.16 km/hr" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 5.13, Page Number: 315<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Maximum fluid handling capacity of Rotameter'''", + "", + "import math", + "", + "#variable declaration", + "Cd=0.6 # discharge coefficient", + "Dp=0.05 # inside diameter of metering tube ", + "Df=0.035 # diameter of rotameter ", + "g=9.8 # acceleration due to gravity", + "rho_f=3.9*10**3 # density of cylindrical float", + "rho=1000.0 # water density ", + "Vf=3.36*10**-5 # volume of the float", + "", + "#calculation", + "Q=Cd*((Dp**2-Df**2)/Df)*math.sqrt(math.pi*g*Vf*(rho_f-rho)/(2*rho))", + "Q=Q*10000.0", + "", + "#result", + "print('Volumetric flow Q=%.4f *10^-4 m^3/sec' %Q)", + "#Answer slightly deviates from answer given in the book because of pi value.", + "#if pi=3.14, then answer is same as in textbook " + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Volumetric flow Q=8.4652 *10^-4 m^3/sec" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 5.14, Page number: 315<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Determination of range of flow for ratameter'''", + "", + "import math", + "# variable declaration", + "Cd=1 # discharge coefficient", + "Dp=0.018 # inside diameter of metering tube ", + "Df=0.015 # diameter of rotameter ", + "g=9.81 # acceleration due to gravity", + "rho_f=2.7 # density of cylindrical float", + "rho=0.8 # water density ", + "Vf=520.0*10**-9 # volume of the float", + "", + "#case 1", + "", + "#caculation", + "Qmin=Cd*((Dp**2-Df**2)/Df)*math.sqrt(math.pi*g*Vf*(rho_f-rho)/(2*rho))", + "Qmin=Qmin*100000.0", + "", + "#result", + "print('Case 1: When float is at the bottom\\n Volumetric flow Qmin=%.3f *10^-5 m^3/sec'%Qmin)", + "", + "#case 2", + "", + "#calculation", + "Dp2=0.0617", + "Qmax=Cd*((Dp2**2-Df**2)/Df)*math.sqrt(math.pi*g*Vf*(rho_f-rho)/(2*rho))", + "Qmax=Qmax*100000", + "", + "#result", + "print('\\n\\nCase 2: When float is at the bottom\\n Volumetric flow Qmax=%.2f *10^-5 m^3/sec'%Qmax)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Case 1: When float is at the bottom", + " Volumetric flow Qmin=2.879 *10^-5 m^3/sec", + "", + "", + "Case 2: When float is at the bottom", + " Volumetric flow Qmax=104.17 *10^-5 m^3/sec" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 5.15, Page Number:316<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''calculation of coal delivery for coal conveyor system'''", + "", + "# variable declaration", + "W=165.0 # weight of material on section of length", + "R=328.0 # Conveyor speed m/min", + "L=16.0 # Length of weighting platform in m", + "", + "#calculation", + "Q=W*R/L", + "", + "#result", + "print('Flow Rate Q=%.2f kg/min =%.1f kg/hour'%(Q,Q/60))" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Flow Rate Q=3382.50 kg/min =56.4 kg/hour" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 5.16, Page Number:316<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Fluid velocity calculation'''", + "", + "import math", + "", + "#variable declaration", + "f=100.0 # beat frequency", + "d=300.0*10**-3 # Sound path", + "a=45.0 #angle between transmeter and receiver in degrees", + "", + "#calculation", + "a_rad=45.0*math.pi/180.0", + "v=f*d/(2*math.cos(a_rad))", + "", + "#Result", + "print('Fluid Velocity V=%.1f m/sec'%v)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Fluid Velocity V=21.2 m/sec" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 5.17, Page Number: 316<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''volume flow rate'''", + "", + "# variable declaration", + "r=150.0 # speed of rotation", + "v=120.0 # volume trapped between gears and casting", + "", + "#clculation", + "Q=4.0*v*r", + "", + "#result", + "print('Volume flow rate Q=%d cm^3/min = %d litres/min'%(Q,Q/1000))" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Volume flow rate Q=72000 cm^3/min = 72 litres/min" + ] + } + ], + "prompt_number": 17 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 5.18, Page Number: 317<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''induced emf in electromagnetic flow meter'''", + "", + "import math", + "", + "# variable declaration", + "Q=2500.0 # Quantitty flow rate", + "d=2.75 # inner diameter", + "", + "#calculation", + "a=(math.pi*d**2)/4", + "v=Q/(60*a)", + "B=60.0", + "e=B*d*10**-2*v*10**-2", + "", + "#result", + "print('Induced emf e =%.4f V=%.1f mV'%(e,e*1000))" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Induced emf e =0.1157 V=115.7 mV" + ] + } + ], + "prompt_number": 18 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 5.19, Pae Number:317<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''velocity of flow in electromagnetic flow meter'''", + "", + "# variable declaration", + "e=0.2*10**-3 # voltage of electromagnetic flow meter", + "B=0.08 # Flux density", + "l=10.0*10**-2 # Diameter of pipe", + "", + "#calculation", + "v=e/(B*l)", + "", + "#result", + "print('V = %.3f m/sec = %.2f cm/sec'%(v,v*100))" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "V = 0.025 m/sec = 2.50 cm/sec" + ] + } + ], + "prompt_number": 19 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 5.20, Page Number: 317<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''average velocity of flow in electromagnetic flow meter'''", + "", + "# variable declaration", + "ei=0.15*10**-3 # peak value", + "em=2*ei # p-p amplifier output ", + "B=0.1 # flux density", + "l=60.0*10**-3 # diameter of the pipe", + "", + "#calculation", + "v=em/(B*l)", + "", + "#result", + "print('Velocity of flow V = %.2f m/sec = %.1f cm/sec'%(v,v*100))" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Velocity of flow V = 0.05 m/sec = 5.0 cm/sec" + ] + } + ], + "prompt_number": 20 + } + ] + } + ] +}
\ No newline at end of file diff --git a/Industrial_Instrumentation/Chapter_6.ipynb b/Industrial_Instrumentation/Chapter_6.ipynb new file mode 100644 index 00000000..d3a9a093 --- /dev/null +++ b/Industrial_Instrumentation/Chapter_6.ipynb @@ -0,0 +1,534 @@ +{ + "metadata": { + "name": "Chapter_6" + }, + "nbformat": 2, + "worksheets": [ + { + "cells": [ + { + "cell_type": "markdown", + "source": [ + "<h1>Chapter 6: Level<h1>" + ] + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 6.1,Page Number:370<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''output current of two wire pressure transmitter'''", + "", + "#(a)", + "", + "# variable declaration", + "p=1.5 # pressure applied", + "a=4.0 # mA corresponds to 0 kg/cm^2", + "b=20.0 # mA corresponds to 2 kg/cm^2", + "", + "#calculation", + "wh=(((b-a)/2)*p)+a", + "", + "#result", + "print('(a)just at the bottom level of the tank')", + "print('Water head applied to the transmitter =%d mA'%wh)", + "", + "#(b)", + "", + "#calculation", + "wh2=(((b-a)/2)*p)+2*a", + "", + "#result", + "print('\\n\\n(b)5m below the bottom of the tank')", + "print('Water head applied to the transmitter =%d mA' %wh2)", + "", + "#(c)", + "", + "#calculation", + "wh3=(((b-a)/2)*p)", + "", + "#result", + "print('\\n\\n(c)5m above the bottom of the tank')", + "print('Water head applied to the transmitter =%d mA'%wh3)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)just at the bottom level of the tank", + "Water head applied to the transmitter =16 mA", + "", + "", + "(b)5m below the bottom of the tank", + "Water head applied to the transmitter =20 mA", + "", + "", + "(c)5m above the bottom of the tank", + "Water head applied to the transmitter =12 mA" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 6.2, Page Number:371<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''water level and current at different positions'''", + "", + "#(a)", + "", + "#variable declaration", + "b=20.0 # Maximum output", + "a=4.0 # minimum output ", + "op=16.0 # output in mA", + "", + "#calculation", + "p=(op-a)*2/(b-a)", + "p_h=p*10.0", + "h=p_h-2-5", + "", + "#result", + "print('(a)\\nh = %dm'%h)", + "", + "#(b)", + "", + "#variable declaration", + "p1=1 # pressure applied", + "", + "#calculation", + "t_op=((b-a)/2)*p1+4", + "", + "#result", + "print('\\n(b)\\nTransmitter output =%d mA'%t_op)", + "", + "#(c)", + "", + "#variable declaration", + "p2=0.5 # applied pressure", + "", + "#calculation", + "t_op1=((b-a)/2)*p2+4", + "", + "#result", + "print('\\n(c)\\nTransmitter output =%d mA'%t_op1)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)", + "h = 8m", + "", + "(b)", + "Transmitter output =12 mA", + "", + "(c)", + "Transmitter output =8 mA" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 6.3, Page Number: 372<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Differential pressure output at different levels'''", + "", + "#(a)", + "", + "#variable declaration", + "b=20.0 # Maximum output", + "a=4.0 # minimum output", + "op=16.0 # actual output ", + "wt_l1=25.0 # water level (i)", + "", + "#calculation", + "t_op=((b-a)/100)*(100-75)+4", + "", + "#result", + "print('(a)\\nWater level=+25cm\\nTransmitter output = %d mA' %t_op)", + "", + "#(b)", + "", + "#calculation", + "wt_l2=-25.0 # water level (ii)", + "t_op2=((b-a)/100)*(100-25)+4", + "", + "#result", + "print('\\n(b)\\nWater level=-25cm\\nTransmitter output = %d mA' %t_op2)", + "", + "#(c)", + "", + "#Variable declaration", + "t_op3=12.0 # Transmitter output ", + "", + "#calculation", + "H=(100.0/(b-a))*(12-4) ", + "", + "#result", + "print('\\n(c)\\nHead Applied = %d cm\\nLevel corresponding to 50 cm head =0 cm' %H)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)", + "Water level=+25cm", + "Transmitter output = 8 mA", + "", + "(b)", + "Water level=-25cm", + "Transmitter output = 16 mA", + "", + "(c)", + "Head Applied = 50 cm", + "Level corresponding to 50 cm head =0 cm" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 6.4, Page Number: 373<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Displacer with spring balance'''", + "", + "#(a)", + "", + "#variable declaration", + "a=5.0*10**-4 #area", + "l=8.0 #length", + "dens=6.0*1000.0 #density", + "", + "#calculation", + "w=a*l*dens", + "", + "#result", + "print('(a)\\nWeight of the displacer if weighed in air = %d kg'%w)", + "", + "", + "#(i)", + "", + "#variable declaration", + "sbr1=23.0 # spring balance reading", + "", + "#calculation", + "wloss1=w-sbr1", + "L1=wloss1/(1000.0*a)", + "", + "#result", + "print('\\n(i)\\tL1=%dm'%L1)", + "", + "", + "#(ii)", + "", + "#variable declaration", + "sbr2=22.0 # spring balance reading", + "", + "#calculation", + "wloss2=w-sbr2", + "L2=wloss2/(1000.0*a)", + "", + "#result", + "print('\\n(ii)\\tL2=%dm'%L2)", + "", + "#(iii)", + "", + "#variable declaration", + "sbr3=21.0 # spring balance reading", + "", + "#calculation", + "wloss3=w-sbr3", + "L3=wloss3/(1000.0*a)", + "", + "#result", + "print('\\n(iii)\\tL3=%dm'%L3)", + "", + "#(b)", + "", + "#variable declaration", + "level=8.0 # level wen tank is full ", + "", + "#calculation", + "wt=a*level*1000.0", + "spring=w-wt", + "", + "#result", + "print('\\n(b):when the tank is full\\nSpring Balance reading = %d kg'%spring)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)", + "Weight of the displacer if weighed in air = 24 kg", + "", + "(i)\tL1=2m", + "", + "(ii)\tL2=4m", + "", + "(iii)\tL3=6m", + "", + "(b):when the tank is full", + "Spring Balance reading = 20 kg" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 6.5, Page Number: 374<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Buoyancy Force calculation'''", + "", + "#variable declaration", + "rho=1000.0 # density of water ", + "v=3.0 # displaced volume of water ", + "", + "#calculation", + "Bw=rho*v", + "", + "#Result", + "print('Buoyance Force(Bw) = %d kg'%Bw)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Buoyance Force(Bw) = 3000 kg" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 6.6, Page Number: 374<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Determination of displaced volume from Buoyancy Force'''", + "", + "#variable declaration", + "rho=1000.0 # density of water", + "Bw=5000.0 # Buoyancy Force", + "", + "#calculation", + "v=Bw/rho", + "", + "#result", + "print('V = %d m^3' %v)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "V = 5 m^3" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 6.7, Page Number: 374<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Determination of hydrostatic pressure in open tank'''", + "", + "#variable declaration", + "rho=1000.0 # density of water", + "h=10.0 # height of liquid", + "", + "#calculation", + "P=rho*h", + "", + "#result", + "print('P = %d kg/m^2 = %d kg/cm^2 '%(P,P/10000))" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "P = 10000 kg/m^2 = 1 kg/cm^2 " + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 6.8, Page Number: 374<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Determination of hydrostatic pressure in closed tank'''", + "", + "#variable declaration", + "rho=1000.0 # density of water", + "h=15.0 # height of liquid ", + "ex_p=1.0 # External pressure on liquid", + "", + "#calculation", + "P=(rho*h/10000.0)+ex_p", + "", + "#result", + "print('P = %.1f kg/cm^2' %P)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "P = 2.5 kg/cm^2" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 6.9, Page Number:374<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Determination of height from hydrostatic pressure'''", + "", + "#variable declaration", + "rho=1000.0 # density of water", + "ex_p=0.5*10**4 # External pressure on liquid ", + "P=1.6*10**4 #(rho*h/10000)+ex_p", + "", + "#calculation", + "h=(P-ex_p)/1000.0", + "", + "#result", + "print('h = %d m' %h)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "h = 11 m" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 6.10, Page Number:375<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''calculation of level on the probe'''", + "", + "#variable declaration", + "c2=100.0*10**-6 # capacitance in capacitance probe", + "r1=10.0*10**3 # value of resistor in bride", + "r2=100.0*10**3 # value of resistor in bride", + "r3=50.0*10**3 # value of resistor in bride", + "", + "#calculation", + "Cx=r1*c2/r3", + "Cx=Cx*10**6", + "", + "#result", + "print('Cx = %d microFarad'%Cx)", + "c=5.0", + "", + "#calculation", + "l=Cx/c", + "", + "#result", + "print('\\nLevel on the probe = %dm'%l)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Cx = 20 microFarad", + "", + "Level on the probe = 4m" + ] + } + ], + "prompt_number": 10 + } + ] + } + ] +}
\ No newline at end of file diff --git a/Industrial_Instrumentation/Chapter_7.ipynb b/Industrial_Instrumentation/Chapter_7.ipynb new file mode 100644 index 00000000..f42da02c --- /dev/null +++ b/Industrial_Instrumentation/Chapter_7.ipynb @@ -0,0 +1,567 @@ +{ + "metadata": { + "name": "Chapter_7" + }, + "nbformat": 2, + "worksheets": [ + { + "cells": [ + { + "cell_type": "markdown", + "source": [ + "<h1>Chapter 7: Velocity Humidity and Moisture<h1>" + ] + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 7.1, Page NUmber: 436<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''calculation of absolute viscosity'''", + "", + "#variable declaration", + "f=2*9.8*10**5 # Force in Dynes", + "A=100.0 # area in cm^2", + "V=20.0 # velocity in m/sec", + "l=10.0 # length in cm", + "", + "#calculation", + "mu=(f/A)/(V/l)", + "mu=mu/1000.0", + "", + "#result", + "print('The absolute viscosity mu = %.1f*10^5 centipoises'%mu)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The absolute viscosity mu = 9.8*10^5 centipoises" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 7.2, Page Number:437<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''calculation of kinematic relative and absolute viscosity'''", + "", + "#(a)", + "", + "#variable declaration", + "v=10.0 # absolute viscosity", + "", + "#calculation", + "F=1/v", + "", + "#result", + "print('(a)\\nFluidity = %.1f rhe'%F)", + "", + "#(b)", + "", + "#variable declaration", + "mu=10.0 # absolute viscosity", + "rho=0.8 # density in m/cm^3", + "", + "#calculation", + "ve=mu/rho", + "", + "#result", + "print('\\n(b)\\nKinematic viscosity (v)= %.1f cm^2/sec'%ve)", + "", + "", + "#(c)", + "", + "#variable declaration", + "ab=1000.0 # absolute viscosity ", + "abwt=1.002 # absolute viscosity of water at 20 deree celcius", + "", + "#calculation", + "rv=ab/abwt", + "", + "#result", + "print('\\n(c)\\nRelative viscosity = %d centipoises'%rv)", + "", + "#(d)", + "", + "#variable declaration", + "PAS=10.0", + "", + "#Result", + "print('\\n(c)\\nAbsolute viscosity = 1000 centipoises =10 poises = 1PAS')" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)", + "Fluidity = 0.1 rhe", + "", + "(b)", + "Kinematic viscosity (v)= 12.5 cm^2/sec", + "", + "(c)", + "Relative viscosity = 998 centipoises", + "", + "(c)", + "Absolute viscosity = 1000 centipoises =10 poises = 1PAS" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 7.3, Page Number: 438<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Absolute viscosity of the Newtonian fluid'''", + "", + "import math", + "#b)", + "", + "#variable declaration", + "R=0.5 # radius", + "L=5 # length", + "p_diff=800.0 # pressure difference", + "V=10.0 # volume", + "", + "#calculation", + "mu=(math.pi*R**4)*p_diff/(8*V*L)", + "", + "#result", + "print('(b)\\nmu=%.4f poise =%.2f centipoise'%(mu,mu*100))" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(b)", + "mu=0.3927 poise =39.27 centipoise" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 7.4, Page Number: 439<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''kinematic viscosity and density calculation'''", + "", + "import math ", + "#(a)", + "", + "#variable declaration", + "g=980.0 # acceleration due to gravity", + "h=4 # Height", + "R=0.5 # radius", + "V=10.0 # volume ", + "l=5.0 # length ", + "t=1.0", + "", + "#calculation", + "v=(math.pi*g*h*t*R**4)/(8*l*V)", + "", + "#result", + "print('(a)\\n v = %.2f stokes'%v)", + "", + "#calculation", + "mu=0.3925", + "rho=mu/v", + "", + "#result", + "print('\\n(b)\\n Density of the fluid rho = %.3f gm/cm^3'%rho)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)", + " v = 1.92 stokes", + "", + "(b)", + " Density of the fluid rho = 0.204 gm/cm^3" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 7.5, Page Number: 440<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Kinematic Viscosity in Saybolts Universal viscometer'''", + "", + "#variable declaration", + "", + "#(a)", + "A=0.226 # value of A as per equation", + "B=195.0 # value of B as per equation", + "t=60.0 # Efflux time", + "", + "#calcullation", + "v=A*t-B/t", + "A1=0.220", + "B1=135.0", + "t1=140.0", + "v1=A1*t1-B1/t1", + "", + "#result", + "print('(a) Fluid X\\n v = %.2f centipoises'%v)", + "print('\\n(b)Fluid Y\\n v = %.1f centipoises'%v1)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a) Fluid X", + " v = 10.31 centipoises", + "", + "(b)Fluid Y", + " v = 29.8 centipoises" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 7.6, Page Number: 441<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''calculation of absolute viscosity'''", + "", + "import math", + "", + "#variable declaration", + "t=12.0 # time interval of falling ball in sec ", + "Rsb=7.0 # Specific gravity of ball", + "Rsf=1.12 # Specific gravity of fluid", + "B=1.5 # Ball constant in centipoises", + "", + "#calculation", + "mu=t*(Rsb-Rsf)*B", + "", + "#result", + "print('mu= %.2f centipoises = %d centipoises(approx)'%(mu,math.ceil(mu)))" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "mu= 105.84 centipoises = 106 centipoises(approx)" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 7.7, Page Number: 441<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''calculation of relative humidity'''", + "", + "#(a)", + "", + "#variable declaration", + "B=45.0 # dry bulb temperature", + "W=25.0 # wet bulb temperature", + "", + "#result", + "print('\\n(b)\\nPsychromatic differential : %d\u00b0C'%(B-W))", + "print('\\n Relative humidity is 80%% corresponding to')", + "print(' \\ntemperature 45\u00b0C and psychromatic differential 20\u00b0C')", + "", + "#(b)", + "", + "#variable declaration", + "B1=30.0 # dry bulb temperature", + "W1=27.0 # wet bulb temperature", + "", + "#result", + "print('\\n(b)\\nPsychromatic differential : %d\u00b0C'%(B1-W1))", + "print('\\n Relative humidity is 80%% corresponding to')", + "print(' \\ntemperature 30\u00b0C and psychromatic differential 3\u00b0C')" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "", + "(b)", + "Psychromatic differential : 20\u00b0C", + "", + " Relative humidity is 80%% corresponding to", + " ", + "temperature 45\u00b0C and psychromatic differential 20\u00b0C", + "", + "(b)", + "Psychromatic differential : 3\u00b0C", + "", + " Relative humidity is 80%% corresponding to", + " ", + "temperature 30\u00b0C and psychromatic differential 3\u00b0C" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 7.8, Page Number: 441<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''calculation of Relative Humidity dew point and moisture content'''", + "", + "#variable declaration", + "D=80.0 # intersection point of DB temperature", + "W=66.5 # intersection point of WB temperature", + "", + "#Result", + "", + "#(a)", + "print('(a)\\nThe intersection point of DB temperature 80\u00b0F and WB temperature 66.5\u00b0F')", + "print(' \\nlines on the relative humidity curve for 50%.\\n RH = 50%')", + "", + "#(b)", + "print('\\n(b)\\nFrom the point of intersection of the dry and wet bulb curves, move left')", + "print(' \\nhorizontally to the dew point temperature curve where it meets at 60\u00b0F')", + "print('\\nDew Point = 60\u00b0F')", + "", + "#(c)", + "print('\\n(c)\\nFrom the point of intersection of the dry and wet bulb curves,')", + "print('\\nhorizontally to the right to the moisture content plot where it meets at 76.')", + "print('\\nMoisture Content : 76 grains of water per pound of dry air.')" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)", + "The intersection point of DB temperature 80\u00b0F and WB temperature 66.5\u00b0F", + " ", + "lines on the relative humidity curve for 50%.", + " RH = 50%", + "", + "(b)", + "From the point of intersection of the dry and wet bulb curves, move left", + " ", + "horizontally to the dew point temperature curve where it meets at 60\u00b0F", + "", + "Dew Point = 60\u00b0F", + "", + "(c)", + "From the point of intersection of the dry and wet bulb curves,", + "", + "horizontally to the right to the moisture content plot where it meets at 76.", + "", + "Moisture Content : 76 grains of water per pound of dry air." + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 7.9, Page Number: 442<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''calculation of relative humidity'''", + "", + "#variable declaration", + "wt_vap=500.0 # Amount of water vapour present", + "wt_vap_to_sat=1500.0 # Amount of water vapour added to saturate", + "", + "#calculation", + "total=wt_vap+wt_vap_to_sat", + "Rh=(wt_vap/total)*100", + "", + "#result", + "print('RH = %d%%'%Rh)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "RH = 25%" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 7.10, Page Number: 442<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''percentage relative humidity'''", + "", + "#variable declaration", + "pv=30.0 # partial pressure of water vapour", + "ps=60.0 # Saturation partial pressure ", + "", + "#calculations", + "Rh=(pv/ps)*100", + "", + "#Result", + "print('%%RH = %d%%'%Rh)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "%RH = 50%" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 7.11, Page Number: 442<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''percentage increase in moisture content'''", + "", + "#variable declaration", + "i1=250.0 # ionazation current ", + "i2=350.0 # ionazation current ", + "", + "#calculation", + "m=(i2-i1)*100/i1", + "", + "#result", + "print('%% increase in moisture content = %d%%'%m)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "% increase in moisture content = 40%" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 7.12, Page Number: 443<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''calculation of moisture content'''", + "", + "#variable declaraton", + "i2=150.0 # wet weight", + "i1=125.0 # dry weight", + "", + "#calculation", + "m=(i2-i1)*100/i1", + "", + "#result", + "print('Moisture percentage = %d%%'%m)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Moisture percentage = 20%" + ] + } + ], + "prompt_number": 15 + } + ] + } + ] +}
\ No newline at end of file diff --git a/Industrial_Instrumentation/Chapter_8.ipynb b/Industrial_Instrumentation/Chapter_8.ipynb new file mode 100644 index 00000000..8a84dda0 --- /dev/null +++ b/Industrial_Instrumentation/Chapter_8.ipynb @@ -0,0 +1,485 @@ +{ + "metadata": { + "name": "Chapter_8" + }, + "nbformat": 2, + "worksheets": [ + { + "cells": [ + { + "cell_type": "markdown", + "source": [ + "<h1>Chapter 8:Fundamentals of measuring instruments <h1>" + ] + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 8.1, Page Number: 507<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Flux density calculation'''", + "", + "#variable declaration", + "fi=10.0*10**-6 # fi-flux", + "inch=2.54*10**-2 # length", + "A=inch**2 # area", + "", + "#calculation", + "B =fi/A", + "", + "#Result", + "print('Flux Density B= %.1f mT'%(B*1000))" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Flux Density B= 15.5 mT" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 8.2, Page Number: 508<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Power Dissipation and accuracy of result'''", + "", + "#variable Declaration", + "i=10*10**-3 # current in A", + "R=1000.0 # resistance in ohm", + "P=(i**2)*R # Power", + "err_R=10.0 # Error in Resistance measurement", + "err_I=(2.0/100)*25*100/10 # Error in current measurement", + "", + "#calculation", + "err_I2=2*err_I", + "err_p=err_I2+err_R", + "", + "#Result", + "print('%% error in I^2 = \u00b1 %d%%\\n%% error in Power = \u00b1 %d%%'%(err_I2,err_p))" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "% error in I^2 = \u00b1 10%", + "% error in Power = \u00b1 20%" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 8.3, Page Number: 508<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''max and min levels of input supply current'''", + "", + "#variable Declaration", + "i1=37.0 # current in branch 1 ", + "i2=42.0 # current in branch 2", + "i3=13.0 # current in branch 3", + "i4=6.7 # current in branch 4", + "", + "#Calculation", + "Imax=(i1+i2)+(i1+i2)*(3.0/100)+(i3+i4)+(i3+i4)*(1.0/100)", + "Imin=(i1+i2)-(i1+i2)*(3.0/100)+(i3+i4)-(i3+i4)*(1.0/100)", + "", + "#result", + "print('Maximum level of total supply current = %.3f mA'%Imax)", + "print('\\nMinimum level of total supply current = %.3f mA'%Imin)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum level of total supply current = 101.267 mA", + "", + "Minimum level of total supply current = 96.133 mA" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 8.4, Page Number:508<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Time constant for thermometer'''", + "", + "import math", + "", + "#(a)", + "", + "#variable declaration", + "T=200.0 # intermediate temperature ", + "T0=300.0 # final temperature ", + "Ti=70.0 # initial temperature ", + "t=3.0 # time in seconds ", + "", + "#calculation", + "x=(T-T0)/(Ti-T0)", + "tow=-t/math.log(x)", + "", + "#result", + "print('(a)\\nTime constant tow=%.1f s'%tow)", + "", + "", + "#(b)", + "", + "#variable declaration", + "t1=5.0 # time in seconds ", + "#calculation", + "T5=T0+((Ti-T0)*math.e**(-t1/tow))", + "", + "#result", + "print('\\n(b)\\nTemperature after 5 seconds T5 = %.2f\u00b0C'%T5)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)", + "Time constant tow=3.6 s", + "", + "(b)", + "Temperature after 5 seconds T5 = 242.61\u00b0C" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 8.5, Page Number:<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Error calculation of second order instrument'''", + "", + "import math", + "", + "#variable declaration", + "w=9.0 # excitation frequency", + "wn=6.0 # natural frequency", + "dr=0.6 # damping ratio", + "", + "#calculations", + "", + "x=w/wn", + "Ar=1/math.sqrt(((1-(x)**2)**2)+(2*dr*x)**2)", + "err=(1-Ar)*100", + "", + "#Result", + "print('A=%.3f'%Ar)", + "print('\\nError = %.2f%%'%err)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "A=0.456", + "", + "Error = 54.37%" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 8.6, PAge Number: 510<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Output of first order instrument for unit step input'''", + "", + "#variable Declaration", + "t=2.0 # output to be calculated after t seconds", + "", + "#calculation", + "y=1-math.e**(-(t-1.5)/0.5)", + "", + "#result", + "print('y(t)at t=2 will be y(t)=%.3f'%y)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "y(t)at t=2 will be y(t)=0.632" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 8.7, Page Number: 510<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Statistic of Temperature readings'''", + "", + "import math", + "", + "#variable declaration", + "", + "#Temperature Readings", + "x1=98.5 # Reading 1", + "x2=99.0 # Reading 2", + "x3=99.5 # Reading 3 ", + "x4=100.0 # Reading 4", + "x5=100.5 # Reading 5", + "x6=101.0 # Reading 6", + "x7=101.5 # Reading 7", + "# Frequency", + "f1=4.0 # Reading 1", + "f2=13.0 # Reading 2", + "f3=19.0 # Reading 3", + "f4=35.0 # Reading 4", + "f5=17.0 # Reading 5", + "f6=10.0 # Reading 6", + "f7=2.0 # Reading 7", + "", + "#(i) Arithmatic Mean", + "", + "#calculation", + "x_bar=((x1*f1)+(x2*f2)+(x3*f3)+(x4*f4)+(x5*f5)+(x6*f6)+(x7*f7))/(f1+f2+f3+f4+f5+f6+f7)", + "", + "#result", + "print('(i)\\n\\tArithmatic Mean = %.2f\u00b0C'%x_bar)", + "", + "#(ii) Average Deviation", + "", + "#calculation", + "D=(abs(x1-x_bar)*f1)+(abs(x2-x_bar)*f2)+(abs(x3-x_bar)*f3)+(abs(x4-x_bar)*f4)", + "D=D+(abs(x5-x_bar)*f5)+(abs(x6-x_bar)*f6)+(abs(x7-x_bar)*f7)", + "D=D/(f1+f2+f3+f4+f5+f6+f7)", + "", + "#result", + "print('\\n(ii)\\n\\tAverage Deviation =%.4f\u00b0C'%D)", + "", + "#Standard deviation", + "", + "#Calculation", + "sigma=((x1-x_bar)**2*f1)+((x2-x_bar)**2*f2)+((x3-x_bar)**2*f3)+((x4-x_bar)**2*f4)", + "sigma=sigma+((x5-x_bar)**2*f5)+((x6-x_bar)**2*f6)+((x7-x_bar)**2*f7)", + "sigma=math.sqrt(sigma)", + "sigma=sigma/math.sqrt(f1+f2+f3+f4+f5+f6+f7)", + "", + "#result", + "print('\\n(iii)\\n\\tStandard deviation = %.3f\u00b0C'%sigma)", + "", + "#variance", + "", + "#result", + "print('\\n(iv)\\n\\tVariance = %.4f\u00b0C'%(sigma**2))", + "", + "#Probable Error", + "", + "#result", + "print('\\n(v)\\n\\tProbable Error= %.4f\u00b0C'%(0.6745*sigma))" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)", + "\tArithmatic Mean = 99.93\u00b0C", + "", + "(ii)", + "\tAverage Deviation =0.5196\u00b0C", + "", + "(iii)", + "\tStandard deviation = 0.671\u00b0C", + "", + "(iv)", + "\tVariance = 0.4501\u00b0C", + "", + "(v)", + "\tProbable Error= 0.4525\u00b0C" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 8.8, Page Number: 511<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Calculation of damping coefficient and natural frequency for 2nd order instrument'''", + "", + "import math", + "", + "#variable Declaration", + "wn=math.sqrt(3.0) # natural frequency of osscilation", + "", + "#Calculation", + "x=3.2/(2*wn)", + "", + "#Result", + "print('Damping coefficient = %.3f\\nNatural frequency of Oscillation = %.3f'%(x,wn))" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Damping coefficient = 0.924", + "Natural frequency of Oscillation = 1.732" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 8.9, Page Number: 512<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''calculation of Amplitude inaccuracy and phase shift from transfer function'''", + "", + "import math", + "#variable declaration", + "w=100.0 # natural frequency of osscilation", + "", + "#calculation", + "fi=-math.atan(0.1*w)-math.atan(0.5*w)", + "A=1/(math.sqrt(1+(0.1*w)**2)*(math.sqrt(1+(0.5*w)**2)))", + "A=1*1000.0/math.ceil(1000*A)", + "err=(1-1.0/A)*100", + "", + "#Result", + "print('A=K/%d\\n%% error = %.1f%%\\nfi = %.2f\u00b0'%(A,err,fi*180/math.pi))" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "A=K/500", + "% error = 99.8%", + "fi = -173.14\u00b0" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "markdown", + "source": [ + "<h3>Example 8.10, Page Number: 512<h3>" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''temperature and altitude calculation from first order thermometer placed in balloon'''", + "", + "#calculations", + "R=0.15*10/50 # Temperature gradient", + "K=1.0 # constant", + "tow=15.0 # time constant ", + "", + "#Calculations", + "deg=K*R*tow", + "", + "#(i)", + "a=15-deg", + "", + "#(ii)", + "alt_red=deg*50.0/0.15", + "h=5000-alt_red", + "", + "#result", + "print('(i)The actual temperature when instrument reads 15\u00b0C is %.2f\u00b0C'%a)", + "print('\\n The true temperature at 5000 metres = %.2f '%a)", + "print('\\n(ii)\\nThe true altitude at which 15\u00b0C occurs is %d metres'%h)" + ], + "language": "python", + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)The actual temperature when instrument reads 15\u00b0C is 14.55\u00b0C", + "", + " The true temperature at 5000 metres = 14.55 ", + "", + "(ii)", + "The true altitude at which 15\u00b0C occurs is 4850 metres" + ] + } + ], + "prompt_number": 10 + } + ] + } + ] +}
\ No newline at end of file diff --git a/Industrial_Instrumentation/README.txt b/Industrial_Instrumentation/README.txt new file mode 100644 index 00000000..2f922759 --- /dev/null +++ b/Industrial_Instrumentation/README.txt @@ -0,0 +1,10 @@ +Contributed By: Laxman Sole +Course: btech +College/Institute/Organization: Vishwakarma Institute of Technology, Pune +Department/Designation: Electronics Engineering +Book Title: Industrial Instrumentation +Author: K. Krishnaswamy And S. Vijayachitra +Publisher: New Age International Publishers, New Delhi +Year of publication: 2010 +Isbn: 9788122427509 +Edition: 2nd
\ No newline at end of file diff --git a/Industrial_Instrumentation/ch2.ipynb b/Industrial_Instrumentation/ch2.ipynb new file mode 100644 index 00000000..22755012 --- /dev/null +++ b/Industrial_Instrumentation/ch2.ipynb @@ -0,0 +1,997 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 2 : Basic Concepts Of Thermodynamicsm" + ] + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.1 Page no : 41" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Convert the following readings of pressure to kPa assuming that barometer reads 760 mm of Hg.\n", + "\n", + "# Variables\n", + "rho_Hg = 13596.; \t\t\t#kg/m**3\n", + "g = 9.806; \t\t\t#m/s**2\n", + "h = 0.76; \t\t\t#m\n", + "\n", + "# Calculations and Results\n", + "P = rho_Hg*g*h/1000; \t\t\t#kPa\n", + "\n", + "\n", + "h1 = 0.80; \t\t\t#m\n", + "P1 = h1/h*P;\n", + "print \"(i) Pressure of 80 cm of Hg %.3f kPa\"%P1\n", + "\n", + "\n", + "print (\"(ii) 30 cm Hg vacuum\")\n", + "H2 = 0.30; \t\t\t#cm Hg vacuum\n", + "h2 = h-H2; \t\t\t#cm of Hg absolute\n", + "\n", + "P2 = h2/h*P;\n", + "print \"Pressure due to 46 cm of Hg %.3f kPa\"%P2\n", + "\n", + "rho_H2O = 1000; \t\t\t#kg/m**3\n", + "h3 = 1.35; \t\t\t#m\n", + "P3 = rho_H2O*g*h3/1000;\n", + "print \"(iii) Pressure due to 1.35 m H2O gauge %.3f kPa\"%(P3)\n", + "\n", + "\n", + "P4 = 4.2*10**2;\n", + "print \"(iv) 4.2 bar %.3f kPa\"%(P4),\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Pressure of 80 cm of Hg 106.658 kPa\n", + "(ii) 30 cm Hg vacuum\n", + "Pressure due to 46 cm of Hg 61.328 kPa\n", + "(iii) Pressure due to 1.35 m H2O gauge 13.238 kPa\n", + "(iv) 4.2 bar 420.000 kPa\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.2 page no : 42" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Find the pressure on the piston.\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "d = 0.1; \t\t\t#m\n", + "F = 1000.; \t\t\t#N\n", + "\n", + "# Calculations\n", + "A = math.pi/4*d**2; \t\t\t#m**2\n", + "P = F/A/10**3;\n", + "\n", + "# Results\n", + "print \"Pressure on the piston = %.3f kN/m**2\"%(P),\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Pressure on the piston = 127.324 kN/m**2\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.3 page no : 42" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Find the gauge pressure \n", + "\n", + "# Variables\n", + "SG = 0.9;\n", + "h = 1.2; \t\t\t#m\n", + "g = 9.81; \t\t\t#m/s**2\n", + "rho_w = 1000.; \t\t\t#kg/m**3\n", + "\n", + "# Calculations\n", + "rho = SG*rho_w; \t\t\t#kg/m**3\n", + "P = rho*g*h/10**3;\n", + "\n", + "# Results\n", + "print \"Gauge pressure P = %.3f kN/m**2\"%(P)\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Gauge pressure P = 10.595 kN/m**2\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.4 page no : 43" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Find the absolute pressure in the condenser in Pa. \n", + "\n", + "# Variables\n", + "Vacuum_recorded = 740.; \t\t\t#mm of Hg\n", + "Barometric_reading = 760.; \t\t\t#mm of Hg\n", + "\n", + "# Calculations\n", + "Absolute_pressure = (Barometric_reading-Vacuum_recorded)*133.4;\n", + "\n", + "# Results\n", + "print \"Absolute pressure in the condenser = %.3f Pa\"%(Absolute_pressure),\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Absolute pressure in the condenser = 2668.000 Pa\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.5 page no : 43" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine :\n", + "(i) The absolute pressure of the gas in the vessel in bar.\n", + "(ii) Specific volume and density of the gas.\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "d = 0.5; \t\t\t#m\n", + "h = 0.75; \t\t\t#m\n", + "m = 4.; \t\t\t#kg\n", + "Manometer_reading = 620.; \t\t\t#mm of Hg above atmosphere\n", + "Barometer_reading = 760.; \t\t\t#mm of Hg\n", + "V = math.pi/4*d**2*h; \t\t\t#m**3\n", + "print (\"(i) Total pressure in the vessel\")\n", + "\n", + "# Calculations and Results\n", + "P = (Barometer_reading+Manometer_reading)*133.4/10**5; \t\t\t#bar\n", + "print \"P = %.3f bar\"%(P)\n", + "\n", + "print (\"(ii) Specific volume and density\")\n", + "SV = V/m; \n", + "print \"Specific volume = %.3f m**3/kg\"%(SV)\n", + "\n", + "D = m/V;\n", + "print \"Density = %.3f kg/m**3\"%(D),\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Total pressure in the vessel\n", + "P = 1.841 bar\n", + "(ii) Specific volume and density\n", + "Specific volume = 0.037 m**3/kg\n", + "Density = 27.162 kg/m**3\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.6 page no : 43" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate the gas pressure.\n", + "'''\n", + "\n", + "\n", + "# Variables\n", + "h0 = .761; \t\t\t#m\n", + "h = .55; \t\t\t#m\n", + "g = 9.79; \t\t\t#m/s**2\n", + "rho = 13640.; \t\t\t#kg/m**3\n", + "\n", + "# Calculations\n", + "P = rho*g*(h0+h); \t\t\t#N/m**2\n", + "\n", + "# Results\n", + "print \"Gas pressure = %.3f bar\"%(P/10**5),\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Gas pressure = 1.751 bar\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.7 page no : 44" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Find the absolute pressure of steam.\n", + "'''\n", + "\n", + "# Variables\n", + "h_H2O = 34.; \t\t\t#mm of Hg\n", + "g = 9.81; \t\t\t#m/s**2\n", + "rho = 13600.; \t\t\t#kg/m**3\n", + "P_Hg = 97.5; \t\t\t#mm of Hg\n", + "P_atm = 760.; \t\t\t#mm of Hg\n", + "\n", + "# Calculations\n", + "P_H2O = h_H2O/13.6; \t\t\t#mm of Hg\n", + "Pabs = rho*g*(P_Hg+P_atm-P_H2O)/10**8; \t\t\t#bar\n", + "\n", + "# Results\n", + "print \"absolute pressure = %.3f bar\"%(Pabs)\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "absolute pressure = 1.141 bar\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.8 page no : 44" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Find the absolute pressure of the gas \n", + "'''\n", + "\n", + "# Variables\n", + "SG = 0.8;\n", + "rho_H2O = 1000.; \t\t\t#kg/m**3\n", + "g = 9.81; \t\t\t#ms**2\n", + "h = 0.17; \t\t\t#m\n", + "Patm = 1.01325; \t\t\t#bar\n", + "\n", + "# Calculations\n", + "rho = SG*rho_H2O; \t\t\t#kg/m**3\n", + "P_liq = rho*g*h/10**5; \t\t\t#bar\n", + "P_gas = Patm - P_liq;\n", + "\n", + "# Results\n", + "print \"gas pressure = %.3f bar\"%(P_gas),\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "gas pressure = 1.000 bar\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.9 page no : 45" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Estimate the mass of a piston that can be supported by a gas entrapped\n", + "under the piston '''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "d = 0.2; \t\t\t#m\n", + "g = 9.81; \t\t\t#m/s**2\n", + "h = 0.117; \t\t\t#m\n", + "rho = 13600.; \t\t\t#kg/m**3\n", + "\n", + "# Calculations\n", + "p = rho*g*h;\n", + "m = (p*math.pi/4*d**2)/g;\n", + "\n", + "# Results\n", + "print \"mass = %.3f kg\"%(m),\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "mass = 49.989 kg\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.10 page no : 49" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "calculate the kinetic energy of an artificial satellite revolves round the earth \n", + "'''\n", + "\n", + "# Variables\n", + "v = 800.; \t\t\t#m/s\n", + "g = 9.; \t\t\t#m/s**2\n", + "F = 3600.; \t\t\t#N\n", + "\n", + "# Calculations\n", + "m = F/g;\n", + "KE = 1./2*m*v**2./10**6;\n", + "\n", + "# Results\n", + "print \"Kinetic Energy = %.3f MJ\"%(KE),\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Kinetic Energy = 128.000 MJ\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.11 page no : 49" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "find :\n", + "(i) Heat transferred ;\n", + "(ii) Mean specific heat of the gas.\n", + "'''\n", + "\n", + "import math \n", + "from scipy.integrate import quad \n", + "\n", + "# Variables\n", + "m = 6.; \t\t\t#kg\n", + "T1 = 25.; \t\t\t#0C\n", + "T2 = 125.; \t\t\t#0C\n", + "\n", + "print (\"(i) Heat transferred\")\n", + "\n", + "# Calculations and Results\n", + "def f18(T): \n", + "\t return m*(0.4+0.004*T)\n", + "\n", + "Q = quad(f18,T1,T2)[0]\n", + "\n", + "print \"heat tranferred = %.3f kJ\"%(Q)\n", + "\n", + "print (\"(ii) Mean specific heat of the gas\")\n", + "c_n = Q/m/(T2-T1);\n", + "print \"Mean specific heat = %.3f kJ/kg.0C\"%(c_n),\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Heat transferred\n", + "heat tranferred = 420.000 kJ\n", + "(ii) Mean specific heat of the gas\n", + "Mean specific heat = 0.700 kJ/kg.0C\n" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.12 page no : 50" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "what will be the temperature corresponding to the thermometric property of 3.5 on\n", + "Celsius scale.\n", + "'''\n", + "\n", + "import math \n", + "from numpy import *\n", + "# Variables\n", + "Ice_point = 0.;\n", + "Steam_point = 100.;\n", + "\n", + "# Calculations\n", + "P = [[math.log(1.5),1],[math.log(7.5),1]];\n", + "Q = [0,100];\n", + "X = linalg.inv(P)*Q;\n", + "\n", + "a = X[0,1];\n", + "b = X[1,1];\n", + "p = 3.5;\n", + "t = a*math.log(p)+b;\n", + "\n", + "# Results\n", + "print (\"The value of temperature is given by %.3f\")%(t),(\"\u00b0C\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The value of temperature is given by 52.646 \u00b0C\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.13 page no : 50" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "What will be the reading on the thermometer where the gas thermometer reads 70\u00b0C ?\n", + "'''\n", + "\n", + "def func(t): \n", + "\t return 0.20*t-5*10**(-4)*t**2\n", + "# Variables # Calculations\n", + "t1 = 0; \t\t\t#0C\n", + "e1 = func(t1);\n", + "t2 = 100; \t\t\t#0C\n", + "e2 = func(t2);\n", + "t3 = 70; \t\t\t#0C\n", + "e3 = func(t3);\n", + "t = e3*(t2-t1)/e2-e1;\n", + "\n", + "# Results\n", + "print \"thermocouple will read\",t,\"\u00b0C\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "thermocouple will read 77.0 \u00b0C\n" + ] + } + ], + "prompt_number": 18 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.15 page no : 51" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "What is the amount of work done upon the atmosphere by the balloon ? \n", + "'''\n", + "\n", + "# Variables\n", + "p = 101.325; \t\t#kPa\n", + "V2 = 0.6; \t\t\t#m**3\n", + "V1 = 0; \t\t\t#m**3\n", + "\n", + "# Calculations\n", + "W = p*(V2-V1);\n", + "\n", + "# Results\n", + "print (\"work done by atmosphere = \"),(-W),\"kJ\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "work done by atmosphere = -60.795 kJ\n" + ] + } + ], + "prompt_number": 19 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.16 page no : 52" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine the work done by the air which enters into an evacuated vessel\n", + "from atmosphere when the valve is opened'''\n", + "\n", + "from scipy import integrate\n", + "\n", + "# Variables\n", + "#p = 1.013*10**5; \t#N/m**2\n", + "p = lambda x: 1.013*10**5\n", + "V1 = 1.5; \t\t\t#m**3\n", + "V2 = 0; \t\t\t#m**3\n", + "\n", + "# Calculations\n", + "integ, err = integrate.quad(p,V1,V2)\n", + "\n", + "# Results\n", + "print (\"W = \"),(integ/10**3),\"kJ\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "W = -151.95 kJ\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.17 page no : 53" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "A piston and cylinder machine containing a fluid system has a stirring\n", + "device as shown in Fig. 2.36. Find the net work transfer for the system.\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "T = 1.25; \t\t\t#N.m\n", + "N = 9500.;\n", + "p = 101.3; \t\t\t#kPa\n", + "d = 0.65; \t\t\t#m\n", + "L = 0.6; \t\t\t#m\n", + "\n", + "# Calculations\n", + "W1 = 2*math.pi*N*T/1000; \t#kJ\n", + "A = math.pi/4*d**2; #m**2\n", + "W2 = p*A*L; \t\t#kJ\n", + "Wnet = (-W1)+W2;\n", + "\n", + "# Results\n", + "print \"The net work transfer for the system = %.3f\"%(Wnet),\"kJ\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The net work transfer for the system = -54.444 kJ\n" + ] + } + ], + "prompt_number": 21 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.18 page no : 53" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Find the net work done during the process.\n", + "'''\n", + "\n", + "# Variables\n", + "A = 45.*10**(-4); \t #m**2\n", + "P = 0.9*10**5; \t\t #N/m**2\n", + "Patm = 1.013*10**5; #N/m**2\n", + "L = 0.05; \t\t\t #m\n", + "\n", + "# Calculations\n", + "dV = 300.*10**(-6); \t\t\t#m**3\n", + "W = P*A*L-Patm*dV;\n", + "\n", + "# Results\n", + "print (\"net work done = \"),(W),\"J\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "net work done = -10.14 J\n" + ] + } + ], + "prompt_number": 22 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.19 page no : 54" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate the work done when the pressure increases from 1.5 bar to 7.5 bar.\n", + "'''\n", + "\n", + "import math \n", + "from scipy.integrate import quad \n", + "\n", + "# Variables\n", + "p1 = 1.5; \t\t\t#bar\n", + "p2 = 7.5; \t\t\t#bar\n", + "V1 = 3/p1;\n", + "V2 = 3/p2;\n", + "\n", + "# Calculations\n", + "def f19( V): \n", + "\t return 3./V*10**2\n", + "\n", + "W = quad(f19, V1, V2)[0]\n", + "\n", + "# Results\n", + "print \"Work done = %.3f\"%(W),\"kJ\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Work done = -482.831 kJ\n" + ] + } + ], + "prompt_number": 23 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.20 page no : 55" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "'''\n", + "To a closed system 150 kJ of work is supplied, determine the final volume and pressure of the system.\n", + "'''\n", + "\n", + "# Variables\n", + "W = 150; \t\t\t#kJ\n", + "V1 = 0.6; \t\t\t#m**3\n", + "\n", + "# Calculations and Results\n", + "V2 = (8-math.sqrt(64-4*2*2.58))/4; \t\t\t#m**3\n", + "print (\"Final volume = %.3f\")%V2,\"m**3\"\n", + "\n", + "p2 = 8-4*V2;\n", + "print \"Final pressure = %.2f\"%p2,\"bar\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Final volume = 0.354 m**3\n", + "Final pressure = 6.58 bar\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.21 page no : 56" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate the work done by the fluid on the piston.\n", + "'''\n", + "\n", + "import math \n", + "from scipy.integrate import quad \n", + "\n", + "# Variables\n", + "p1 = 3.*10**5; \t\t\t#Pa\n", + "v1 = 0.18; \t\t\t#m**3/kg\n", + "p2 = 0.6*10**5; \t\t\t#Pa\n", + "\n", + "# Calculations\n", + "C = p1*v1**2;\n", + "v2 = math.sqrt(C/p2);\n", + "\n", + "def f17( v): \n", + " return C/v**2\n", + "\n", + "W = quad(f17, v1,v2)[0]\n", + "\n", + "# Results\n", + "print (\"Work done = %d\")%(W),(\"Nm/kg\")\n", + "\n", + "# Note : output would be differ as rounding error is there. v2 has rounding off error." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Work done = 29850 Nm/kg\n" + ] + } + ], + "prompt_number": 20 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 2.22 page no : 57" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate the net work done by the fluid, for an initial volume of 0.05 m 3 .\n", + "'''\n", + "\n", + "import math \n", + "from scipy.integrate import quad \n", + "\n", + "# Variables\n", + "m = 1.; \t\t\t#kg\n", + "p1 = 20.*10**5; \t#Pa\n", + "V1 = 0.05; \t\t\t#m**3\n", + "\n", + "# Calculations\n", + "V2 = 2*V1;\n", + "p2 = p1*(V1/V2)**2;\n", + "C = p1*V1**2;\n", + "V3 = V1;\n", + "\n", + "def f20( V): \n", + "\t return C/V**2\n", + "\n", + "W_12 = quad(f20, V1,V2)[0]\n", + "W_23 = p2*(V2-V3);\n", + "W_net = W_12-W_23;\n", + "\n", + "# Results\n", + "print (\"Net work done = \"),(W_net),(\"Nm\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Net work done = 25000.0 Nm\n" + ] + } + ], + "prompt_number": 26 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Industrial_Instrumentation/ch3.ipynb b/Industrial_Instrumentation/ch3.ipynb new file mode 100644 index 00000000..8e397388 --- /dev/null +++ b/Industrial_Instrumentation/ch3.ipynb @@ -0,0 +1,1515 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 3 : Properties of Pure Substances" + ] + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3.1 page no : 76" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate the dryness fraction (quality) of steam \n", + "'''\n", + "\n", + "# Variables\n", + "m_s = 50. \t\t\t#kg\n", + "m_w = 1.5; \t\t\t#kg\n", + "\n", + "# Calculations\n", + "x = m_s/(m_s+m_w);\n", + "\n", + "# Results\n", + "print (\"dryness fraction = %.3f\")%(x)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "dryness fraction = 0.971\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3.2 page no : 76" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate :\n", + "(i) Mass and volume of liquid ;\n", + "(ii) Mass and volume of vapour.\n", + "'''\n", + "\n", + "# Variables\n", + "V = 0.6; \t\t\t#m**3\n", + "m = 3.0; \t\t\t#kg\n", + "p = 5.; \t\t\t#bar\n", + "v = V/m;\n", + "\n", + "# At 5 bar: From steam tables\n", + "v_g = 0.375; \t\t\t#m**3/kg\n", + "v_f = 0.00109; \t\t\t#m**3/kg\n", + "\n", + "# Calculations\n", + "v_fg = v_g - v_f;\n", + "x = 1-((v_g - v)/v_fg);\n", + "\n", + "# Results\n", + "print (\"(i) Mass and volume of liquid\")\n", + "m_liq = m*(1-x);\n", + "print (\"mass of liquid = %.3f\")%(m_liq),(\"kg\")\n", + "V_liq = m_liq*v_f;\n", + "print (\"volume of liquid = %.3f\")%(V_liq),(\"m**3\")\n", + "\n", + "print (\"(ii) Mass and volume of vapour\")\n", + "m_vap = m*x;\n", + "print (\"mass of vapour = %.3f\")%(m_vap),(\"kg\")\n", + "V_vap = m_vap*v_g;\n", + "print (\"volume of vapour = %.3f\")%(V_vap),(\"m**3\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Mass and volume of liquid\n", + "mass of liquid = 1.404 kg\n", + "volume of liquid = 0.002 m**3\n", + "(ii) Mass and volume of vapour\n", + "mass of vapour = 1.596 kg\n", + "volume of vapour = 0.598 m**3\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3.3 page no : 76" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Find the following :\n", + "(i) The pressure,\n", + "(ii) The mass,\n", + "(iii) The specific volume,\n", + "(v) The specific entropy, and\n", + "(iv) The specific enthalpy,\n", + "(vi) The specific internal energy.\n", + "'''\n", + "\n", + "# Variables\n", + "V = 0.05; \t\t\t#m**3\n", + "m_f = 10.; \t\t\t#kg\n", + "# From steam tables corresponding to 245 0C\n", + "p_sat = 36.5; \t\t\t#bar\n", + "v_f = 0.001239; \t\t\t#m**3/kg\n", + "v_g = 0.0546; \t\t\t#m**3/kg\n", + "h_f = 1061.4; \t\t\t#kJ/kg\n", + "h_fg = 1740.2; \t\t\t#kJ/kg\n", + "s_f = 2.7474; \t\t\t#kJ/kg.K\n", + "s_fg = 3.3585; \t\t\t#kJ/kg.K\n", + "\n", + "# Calculations and Results\n", + "print (\"(i) The pressure = \"),(p_sat),(\"bar\")\n", + "\n", + "print (\"(ii) The mass\")\n", + "V_f = m_f*v_f;\n", + "V_g = V - V_f;\n", + "m_g = V_g/v_g;\n", + "m = m_f+m_g;\n", + "print (\"The total mass of mixture = %.3f\")%(m),(\"kg\")\n", + "\n", + "print (\"(iii) The specific volume\")\n", + "v_fg = v_g-v_f;\n", + "x = m_g/(m_g+ m_f);\n", + "v = v_f+x*v_fg;\n", + "print (\"specific volume = %.3f\")%(v),(\"m**3/kg\")\n", + "\n", + "print (\"(iv)The specific enthalpy\")\n", + "h = h_f+x*h_fg;\n", + "print (\"specific enthalpy = %.3f\")%(h),(\"kJ/kg\")\n", + "\n", + "print (\"(v)The specific entropy\")\n", + "s = s_f+x*s_fg;\n", + "print (\"specific entropy = %.3f\")%(s),(\"kJ/kg.K\")\n", + "\n", + "print (\"(vi)The specific internal enegy\")\n", + "u = h-(p_sat*v*10**2); \t\t\t#kJ/kg\n", + "print (\"specific internal energy = %.3f\")%(u),(\"kJ/kg\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) The pressure = 36.5 bar\n", + "(ii) The mass\n", + "The total mass of mixture = 10.689 kg\n", + "(iii) The specific volume\n", + "specific volume = 0.005 m**3/kg\n", + "(iv)The specific enthalpy\n", + "specific enthalpy = 1173.545 kJ/kg\n", + "(v)The specific entropy\n", + "specific entropy = 2.964 kJ/kg.K\n", + "(vi)The specific internal enegy\n", + "specific internal energy = 1156.471 kJ/kg\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3.4 page no : 77" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine the amount of heat\n", + "'''\n", + "\n", + "# Variables\n", + "m_w = 2.; \t\t\t#kg\n", + "t_w = 25.; \t\t\t#0C\n", + "p = 5.; \t\t\t#bar\n", + "x = 0.9;\n", + "c_pw = 4.18;\n", + "# at 5 bar; from steam tables\n", + "h_f = 640.1; \t\t\t#kJ/kg\n", + "h_fg = 2107.4; \t\t\t#kJ/kg\n", + "\n", + "# Calculations and Results\n", + "h = h_f+x*h_fg;\n", + "\n", + "Qw = c_pw*(t_w-0);\n", + "print (\"Sensible heat associated with 1kg of water, Qw = %.3f\")%(Qw),(\"kJ\")\n", + "\n", + "Q = h-Qw;\n", + "print (\"Net quantity of heat to be supplies per kg of water, Q = %.3f\")%(Q),(\"kJ\")\n", + "\n", + "Q_total = m_w*Q;\n", + "print (\"Total amount of heat supplied, Q_total = \"),(Q_total),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Sensible heat associated with 1kg of water, Qw = 104.500 kJ\n", + "Net quantity of heat to be supplies per kg of water, Q = 2432.260 kJ\n", + "Total amount of heat supplied, Q_total = 4864.52 kJ\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3.5 page no : 78" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "What amount of heat would be required to produce 4.4 kg of steam \n", + "'''\n", + "\n", + "# Variables\n", + "m = 4.4; \t\t\t#kg\n", + "p = 6.; \t\t\t#bar\n", + "t_sup = 250.; \t\t\t#0C\n", + "t_w = 30.; \t\t\t#0C\n", + "c_ps = 2.2; \t\t\t#kJ/kg\n", + "c_pw = 4.18;\n", + "# At 6 bar, 250 0C; From steam tables\n", + "t_s = 158.8; \t\t\t#0C\n", + "h_f = 670.4; \t\t\t#kJ/kg\n", + "h_fg = 2085; \t\t\t#kJ/kg\n", + "\n", + "# Calculations and Results\n", + "h_sup = h_f+h_fg+ c_ps*(t_sup-t_s);\n", + "\n", + "Qw = c_pw*(t_w-0);\n", + "print (\"Amount of heat added per kg of water, Qw = \"),(Qw)\n", + "\n", + "Q = h_sup-Qw;\n", + "print (\"Net amount of heat required to be supplied per kg, Q = \"),(Q)\n", + "\n", + "Q_total = m*Q;\n", + "print (\"Total amount of heat required, Q_total = \"),(Q_total),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Amount of heat added per kg of water, Qw = 125.4\n", + "Net amount of heat required to be supplied per kg, Q = 2830.64\n", + "Total amount of heat required, Q_total = 12454.816 kJ\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3.6 page no : 78" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine the mass of 0.15 m 3 of wet steam and calculate the heat of 1 m 3 of steam.\n", + "'''\n", + "# Variables\n", + "v = 0.15; \t\t\t#m**3\n", + "p = 4.; \t\t\t#bar\n", + "x = 0.8;\n", + "# At 4 bar: From steam tables\n", + "v_g = 0.462; \t\t\t#m**3/kg\n", + "h_f = 604.7; \t\t\t#kJ/kg\n", + "h_fg = 2133.; \t\t\t#kJ/kg\n", + "\n", + "# Calculations and Results\n", + "density = 1/x/v_g;\n", + "\n", + "m = v*density;\n", + "print (\"mass of 0.15 m**3 steam, m = %.3f\")%(m),(\"kg\")\n", + "\n", + "Q = density*(h_f+x*h_fg);\n", + "print (\"Total heat of 1 m3 of steam which has a mass of 2.7056 kg, Q = %.3f\")%(Q),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "mass of 0.15 m**3 steam, m = 0.406 kg\n", + "Total heat of 1 m3 of steam which has a mass of 2.7056 kg, Q = 6252.976 kJ\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3.7 page no : 78" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "determine\n", + "(i) The total heat supplied to feed water per hour to produce wet steam.\n", + "(ii) The total heat absorbed per hour in the superheater.\n", + "'''\n", + "\n", + "# Variables\n", + "m = 1000.; \t\t\t#kJ/kg.K\n", + "p = 16.; \t\t\t#bar\n", + "x = 0.9;\n", + "T_sup = 653.; \t\t\t#K\n", + "T_w = 30.; \t\t\t#0C\n", + "c_ps = 2.2; \t\t\t#kJ/kg\n", + "c_pw = 4.18;\n", + "# At 16 bar:From steam tables\n", + "T_s = 474.4; \t\t\t#K\n", + "h_f = 858.6; \t\t\t#kJ/kg\n", + "h_fg = 1933.2; \t\t\t#kJ/kg\n", + "\n", + "# Calculations and Results\n", + "H = m*((h_f+x*h_fg)-c_pw*(T_w-0));\n", + "print (\"(i) Heat supplied to feed water per hour to produce wet steam is given by\"),(H),(\"kJ\")\n", + "\n", + "Q = m*((1-x)*h_fg+c_ps*(T_sup-T_s));\n", + "print (\"(ii) Heat absorbed by superheater per hour, Q = \"),(Q),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Heat supplied to feed water per hour to produce wet steam is given by 2473080.0 kJ\n", + "(ii) Heat absorbed by superheater per hour, Q = 586240.0 kJ\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3.8 page no : 79" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "determine the mean specific heat for superheated steam :\n", + "(i) at 0.75 bar, between 100\u00b0C and 150\u00b0C ;\n", + "(ii) at 0.5 bar, between 300\u00b0C and 400\u00b0C\n", + "'''\n", + "\n", + "\n", + "print (\"(i) at 0.75 bar, between 100\u00b0C and 150\u00b0C\")\n", + "\n", + "# Variables\n", + "# At 100 \u00b0C\n", + "T1 = 100.; \t\t\t#\u00b0C\n", + "h_sup1 = 2679.4; \t\t\t#kJ/kg\n", + "# At 150 \u00b0C\n", + "T2 = 150.; \t\t\t#\u00b0C\n", + "h_sup2 = 2778.2; \t\t\t#kJ/kg\n", + "\n", + "# Calculations and Results\n", + "c_ps = (h_sup2-h_sup1)/(T2-T1);\n", + "print (\"mean specific heat = \"),(c_ps)\n", + "\n", + "print (\"(ii) at 0.5 bar, between 300\u00b0C and 400\u00b0C\")\n", + "T1 = 300; \t\t\t#\u00b0C\n", + "h_sup1 = 3075.5; \t#kJ/kg\n", + "T2 = 400; \t\t\t#\u00b0C\n", + "h_sup2 = 3278.9; \t#kJ/kg\n", + "\n", + "c_ps = (h_sup2-h_sup1)/(T2-T1);\n", + "print (\"mean specific heat c_ps = \"),(c_ps)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) at 0.75 bar, between 100\u00b0C and 150\u00b0C\n", + "mean specific heat = 1.976\n", + "(ii) at 0.5 bar, between 300\u00b0C and 400\u00b0C\n", + "mean specific heat c_ps = 2.034\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3.9 page no : 79" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine the pressure and temperature of the steam at the new state.\n", + "'''\n", + "# Variables\n", + "m = 1.5; \t\t\t#kg\n", + "p = 5.; \t\t\t#bar\n", + "x1 = 1.;\n", + "x2 = 0.6;\n", + "p1 = 5.*10**5; \t\t\t#N/m\n", + "# At 5 bar: From steam tables\n", + "t_s = 151.8; \t\t\t#0C\n", + "h_f = 640.1; \t\t\t#kJ/kg\n", + "h_fg = 2107.4; \t\t\t#kJ/kg\n", + "v_g = 0.375; \t\t\t#m**3/kg\n", + "v_g1 = 0.375*10**(-3);\n", + "\n", + "# Calculations and Results\n", + "h1 = h_f+h_fg;\n", + "V = m*v_g;\n", + "u1 = h1-p1*v_g1;\n", + "v_g2 = V/m/x2; \t\t\t#m**3/kg\n", + "\n", + "# From steam table corresponding to 0.625 m**3/kg\n", + "p2 = 2.9; \t\t\t#bar\n", + "print (\"Pressure at new state = \"),(p2),(\"bar\")\n", + "\n", + "t_s = 132.4; \t\t\t#0C\n", + "print (\"Temperature at new state = \"),(t_s),(\"\u00b0C\")\n", + "h_f2 = 556.5; \t\t\t#kJ/kg\n", + "h_fg2 = 2166.6; \t\t\t#kJ/kg\n", + "u2 = (h_f2+x2*h_fg2)-p2*x2*v_g2*10**2;\n", + "\n", + "Q = u2-u1; \t\t\t#heat transferred at consmath.tant volume per kg\n", + "\n", + "Q_total = m*Q;\n", + "print (\"Total heat transfered,Q_total = \"),(Q_total),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Pressure at new state = 2.9 bar\n", + "Temperature at new state = 132.4 \u00b0C\n", + "Total heat transfered,Q_total = -1218.435 kJ\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3.10 page no : 80" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "determine :\n", + "(i) The mass of steam blown off ;\n", + "(ii) The dryness fraction of steam in the vessel after cooling ;\n", + "(iii) The heat lost by steam per kg during cooling.\n", + "'''\n", + "\n", + "# Variables\n", + "V = 0.9; \t\t\t#m**3\n", + "p1 = 8.; \t\t\t#bar\n", + "x1 = 0.9;\n", + "p2 = 4.; \t\t\t#bar\n", + "p3 = 3.; \t\t\t#bar\n", + "v_g1 = 0.24; \t\t#m**3/kg\n", + "\n", + "print (\"(i) The mass of steam blown off :\")\n", + "m1 = V/x1/v_g1;\n", + "h_f1 = 720.9; \t\t\t#kJ/kg\n", + "h_fg1 = 2046.5; \t\t#kJ/kg\n", + "h_f2 = 604.7; \t\t\t#kJ/kg\n", + "h_fg2 = 2133; \t\t\t#kJ/kg\n", + "v_g2 = 0.462; \t\t\t#m**3/kg\n", + "\n", + "# Calculations and Results\n", + "h1 = h_f1+x1*h_fg1; \t\t\t#The enthalpy of steam before blowing off\n", + "h2 = h1;\n", + "x2 = (h1-h_f2)/h_fg2;\n", + "m2 = x1/(x2*v_g2);\n", + "\n", + "m = m1-m2;\n", + "print (\"Mass of steam blown off = %.3f\")%(m),(\"kg\")\n", + "\n", + "print (\"(ii) Dryness fraction of steam in the vessel after cooling\")\n", + "v_g3 = 0.606; \t\t\t#m**3/kg\n", + "x3 = x2*v_g2/v_g3;\n", + "print (\"dryness fraction = %.4f\")%(x3)\n", + "x3 = 0.699\n", + "\n", + "print (\"(iii) Heat lost during cooling\")\n", + "h_f3 = 561.4; \t\t\t #kJ/kg\n", + "h_fg3 = 2163.2; \t\t\t#kJ/kg\n", + "h3 = h_f3+x3*h_fg3;\n", + "u2 = h2-p2*x2*v_g2*10**2; \t\t\t#kJ/kg\n", + "u3 = h3-p3*x3*v_g3*10**2; \t\t\t#kJ/kg\n", + "Q = m*(u3-u2);\n", + "print (\"Heat lost during cooling = %.3f\")%(-Q),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) The mass of steam blown off :\n", + "Mass of steam blown off = 2.045 kg\n", + "(ii) Dryness fraction of steam in the vessel after cooling\n", + "dryness fraction = 0.6998\n", + "(iii) Heat lost during cooling\n", + "Heat lost during cooling = 913.322 kJ\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3.11 page no : 82" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate :\n", + "(i) External work done during evaporation.\n", + "(ii) Internal latent heat of steam.\n", + "'''\n", + "\n", + "# Variables\n", + "p = 8*10**5; \t\t\t#Pa\n", + "x = 0.8; \n", + "v_g = 0.240; \t\t\t#m**3/kg\n", + "h_fg = 2046.5; \t\t\t#kJ/kg\n", + "\n", + "# Calculations and Results\n", + "print (\"(i) External work done during evaporation\")\n", + "W = p*x*v_g/10**3; \t\t\t#kJ\n", + "print (\"W = \"),(W),(\"kJ\")\n", + "\n", + "print (\"(ii) Internal latent heat\")\n", + "Q = x*h_fg-W;\n", + "print (\"Q = \"),(Q),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) External work done during evaporation\n", + "W = 153.6 kJ\n", + "(ii) Internal latent heat\n", + "Q = 1483.6 kJ\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3.12 page no : 82" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine the heat supplied to raise the temperature of the steam to 300\u00b0C at constant pressure and\n", + "percentage of this heat which appears as external work.\n", + "'''\n", + "\n", + "p1 = 10; \t\t\t#bar\n", + "import math \n", + "p2 = 10; \t\t\t#bar\n", + "x1 = 0.85;\n", + "V1 = 0.15; \t\t\t#m**3\n", + "t_sup2 = 300; \t\t\t#0C\n", + "t_sup1 = 179.9; \t\t\t#0C\n", + "c_ps = 2.2; \t\t\t#kJ/kg.K\n", + "v_g1 = 0.194; \t\t\t#m**3/kg\n", + "m = V1/(x1*v_g1);\n", + "h_fg1 = 2013.6; \t\t\t#kJ/kg\n", + "Q = (1-x1)*h_fg1+c_ps*(t_sup2-t_sup1);\n", + "Q_total = m*Q;\n", + "\n", + "print (\"Total heat supplied = %.3f\")%(Q_total),(\"kJ\")\n", + "\n", + "v_sup2 = v_g1*(t_sup2+273)/(t_sup1+273)\n", + "W = p1*(v_sup2 - (x1*v_g1))*10**2;\n", + "Percentage = W/Q*100;\n", + "\n", + "print (\"Percentage of total heat supplied = %.3f\")%(Percentage),(\"%\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Total heat supplied = 515.094 kJ\n", + "Percentage of total heat supplied = 14.224 %\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3.13 page no : 83" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Find the specific volume, enthalpy and internal energy of wet steam \n", + "'''\n", + "\n", + "# Variables\n", + "p = 18.; \t\t\t#bar\n", + "x = 0.85;\n", + "h_f = 884.6; \t\t\t#kJ/kg\n", + "h_fg = 1910.3; \t\t\t#kJ/kg\n", + "v_g = 0.110; \t\t\t#m**3/kg\n", + "u_f = 883.; \t\t\t#kJ/kg\n", + "u_g = 2598.; \t\t\t#kJ/kg\n", + "\n", + "# Calculations and Results\n", + "v = x*v_g;\n", + "print (\"Specific volume of wet steam = \"),(v),(\"m**3/kg\")\n", + "\n", + "h = h_f+x*h_fg;\n", + "print (\"Specific enthalpy of wet steam = \"),(h),(\"kJ/kg\")\n", + "u = (1-x)*u_f+ x*u_g;\n", + "print (\"Specific internal energy of wet steam = \"),(u),(\"kJ/kg\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Specific volume of wet steam = 0.0935 m**3/kg\n", + "Specific enthalpy of wet steam = 2508.355 kJ/kg\n", + "Specific internal energy of wet steam = 2340.75 kJ/kg\n" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3.14 page no : 83" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Find the dryness fraction, specific volume and internal energy of steam \n", + "'''\n", + "\n", + "# Variables\n", + "p = 7.; \t\t\t#bar\n", + "h = 2550.; \t\t\t#kJ/kg\n", + "h_f = 697.1; \t\t\t#kJ/kg\n", + "h_fg = 2064.9; \t\t\t#kJ/kg\n", + "v_g = 0.273; \t\t\t#m**3/kg\n", + "u_f = 696.; \t\t\t#kJ/kg\n", + "u_g = 2573.; \t\t\t#kJ/kg\n", + "\n", + "# Calculations and Results\n", + "x = (h-h_f)/h_fg;\n", + "print (\"(i) Dryness fraction = %.3f\")%(x)\n", + "\n", + "v = x*v_g;\n", + "print (\"(ii) Specific volume of wet steam = %.3f\")%(v),(\"m**3/kg\")\n", + "\n", + "u = (1-x)*u_f+ x*u_g;\n", + "print (\"(iii) Specific internal energy of wet steam = %.3f\")%(u),(\"kJ/kg\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Dryness fraction = 0.897\n", + "(ii) Specific volume of wet steam = 0.245 m**3/kg\n", + "(iii) Specific internal energy of wet steam = 2380.291 kJ/kg\n" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3.15 page no : 84" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "find the temperature, enthalpy and the internal energy.\n", + "'''\n", + "\n", + "# Variables\n", + "p = 120.; \t\t\t#bar\n", + "v = 0.01721; \t\t\t#m**3/kg\n", + "\n", + "T = 350.; \t\t\t#\u00b0C\n", + "print (\"Temperature = \"), (T),(\"\u00b0C\")\n", + "\n", + "h = 2847.7; \t\t\t#kJ/kg\n", + "print (\"specific enthalpy = \"), (h),(\"kJ/kg\")\n", + "\n", + "u = h-p*v*10**2; \t\t\t#kJ/kg\n", + "print (\"Internal energy = \"), (u),(\"kJ/kg\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Temperature = 350.0 \u00b0C\n", + "specific enthalpy = 2847.7 kJ/kg\n", + "Internal energy = 2641.18 kJ/kg\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3.16 page no : 84" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "find the temperature,the specific volume and the internal energy.\n", + "'''\n", + "\n", + "# Variables\n", + "p = 140.; \t\t\t#bar\n", + "h = 3001.9; \t\t\t#kJ/kg\n", + "T = 400; \t\t\t#0C\n", + "\n", + "# Calculations and Results\n", + "print (\"Temperature = \"),(T), (\"\u00b0C\")\n", + "\n", + "v = 0.01722; \t\t\t#m**3/kg\n", + "print (\"The specific volume %.3f\")%(v), (\"m**3/kg\")\n", + "\n", + "u = h-p*v*10**2;\n", + "print (\"specific internal energy = \"),(u),(\"kJ/kg\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Temperature = 400 \u00b0C\n", + "The specific volume 0.017 m**3/kg\n", + "specific internal energy = 2760.82 kJ/kg\n" + ] + } + ], + "prompt_number": 18 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3.17 page no : 85" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate the internal energy per kg of superheated steam \n", + "'''\n", + "\n", + "# At 10 bar: From steam table for superheated steam\n", + "\n", + "# Variables\n", + "h_sup = 3051.2; \t\t\t#kJ/kg\n", + "T_sup = 573; \t\t\t#K\n", + "T_s = 452.9; \t\t\t#K\n", + "v_g = 0.194; \t\t\t#m**3/kg\n", + "v_sup = v_g*T_sup/T_s;\n", + "p = 10.; \t\t\t#bar\n", + "\n", + "# Calculations and Results\n", + "u1 = h_sup-p*v_sup*10**2; \t\t\t#kJ/kg\n", + "print (\"Internal energy of superheated steam at 10 bar = %.3f\")%(u1), (\"kJ/kg\")\n", + "\n", + "# At 1.4 bar: From steam tables\n", + "p = 1.4; \t\t\t#bar\n", + "h_f = 458.4; \t\t\t#kJ/kg\n", + "h_fg = 2231.9; \t\t\t#kJ/kg\n", + "v_g = 1.236; \t\t\t#m**3/kg\n", + "x = 0.8;\n", + "h = h_f+x*h_fg;\n", + "u2 = h-p*x*v_g*10**2; \t\t\t#kJ\n", + "du = u2-u1;\n", + "print (\"Change in internal energy = %.3f\")%(du),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Internal energy of superheated steam at 10 bar = 2805.755 kJ/kg\n", + "Change in internal energy = -700.267 kJ\n" + ] + } + ], + "prompt_number": 19 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3.18 page no : 85" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Find the internal energy of 1 kg of steam at 20 bar when\n", + "(i) it is superheated, its temperature being 400\u00b0C ;\n", + "(ii) it is wet, its dryness being 0.9.\n", + "'''\n", + "\n", + "# Variables\n", + "m = 1.; \t\t\t#kg\n", + "p = 20.; \t\t\t#bar\n", + "T_sup = 400.; \t\t\t#0C\n", + "x = 0.9;\n", + "c_ps = 2.3; \t\t\t#kJ/kg.K\n", + "\n", + "print (\"(i) Internal energy of 1 kg of superheated steam\")\n", + "# At 20 bar: From steam tables\n", + "T_s = 212.4; \t\t\t#0C\n", + "h_f = 908.6; \t\t\t#kJ/kg\n", + "h_fg = 1888.6; \t\t\t#kJ/kg\n", + "v_g = 0.0995; \t\t\t#m**3/kg\n", + "\n", + "# Calculations and Results\n", + "h_sup = h_f+h_fg+c_ps*(T_sup-T_s);\n", + "v_sup = v_g*(T_sup+273)/(T_s+273);\n", + "u = h_sup-p*v_sup*10**2;\n", + "print (\"Internal energy = %.3f\")%(u),(\"kJ/kg\")\n", + "\n", + "print (\"(ii) Internal energy of 1 kg of wet steam\")\n", + "h = h_f+x*h_fg;\n", + "u = h-p*x*v_g*10**2;\n", + "print (\"Internal energy = %.3f\")%(u),(\"kJ/kg\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Internal energy of 1 kg of superheated steam\n", + "Internal energy = 2952.769 kJ/kg\n", + "(ii) Internal energy of 1 kg of wet steam\n", + "Internal energy = 2429.240 kJ/kg\n" + ] + } + ], + "prompt_number": 20 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3.19 page no : 86" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine the quality of steam supplied by the other boiler. Take c ps = 2.25 kJ/kg.\n", + "'''\n", + "# Variables\n", + "h_g1 = 2797.2; \t\t\t#kJ/kg\n", + "c_ps = 2.25;\n", + "T_sup = 350.; \t\t\t#0C\n", + "T_s = 212.4; \t\t\t#0C\n", + "\n", + "# Calculations\n", + "h1 = h_g1+c_ps*(T_sup-T_s);\n", + "h_f2 = 908.6; \t\t\t#kJ/kg\n", + "h_fg2 = 1888.6; \t\t\t#kJ/kg\n", + "\n", + "# Main:20 bar, 250 0C\n", + "T_sup = 250.; \t\t\t#0C\n", + "Q = 2*(h_g1+c_ps*(T_sup-T_s));\n", + "x2 = (Q-h1-h_f2)/h_fg2;\n", + "\n", + "# Results\n", + "print (\"Quality of steam %.3f\")%(x2)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Quality of steam 0.926\n" + ] + } + ], + "prompt_number": 21 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3.20 page no : 87" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine the entropy of 1 kg of wet steam \n", + "'''\n", + "\n", + "import math\n", + "\n", + "# Variables\n", + "m = 1.; \t\t\t#kg\n", + "p = 6.; \t\t\t#bar\n", + "x = 0.8;\n", + "T_s = 473.; \t\t\t#K\n", + "h_fg = 2085.; \t\t\t#kJ/kg\n", + "c_pw = 4.18;\n", + "\n", + "# Calculations\n", + "s_wet = c_pw*math.log(T_s/273)+x*h_fg/T_s;\n", + "\n", + "# Results\n", + "print (\"Entropy of wet steam = %.3f\")%(s_wet),(\"kJ/kg.K\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Entropy of wet steam = 5.824 kJ/kg.K\n" + ] + } + ], + "prompt_number": 22 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3.21 page no : 87" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Find :\n", + "(i) Drop in enthalpy ;\n", + "(ii) Change in entropy.\n", + "'''\n", + "\n", + "# Variables\n", + "p1 = 10.; \t\t\t#bar\n", + "t_sup = 400.; \t\t#0C\n", + "p2 = 0.2; \t\t\t#bar\n", + "x2 = 0.9;\n", + "h_sup = 3263.9; \t\t\t#kJ/kg\n", + "s_sup = 7.465; \t\t\t#kJ/kg\n", + "h1 = 3263.9; \t\t\t#kJ/kg\n", + "s1 = s_sup;\n", + "h_f2 = 251.5; \t\t\t#kJ/kg\n", + "h_fg2 = 2358.4; \t\t#kJ/kg\n", + "s_f2 = 0.8321; \t\t\t#kJ/kg.K\n", + "s_g2 = 7.9094; \t\t\t#kJ/kg.K\n", + "\n", + "# Calculations and Results\n", + "s_fg2 = s_g2-s_f2;\n", + "h2 = h_f2+x2*h_fg2;\n", + "s2 = s_f2+x2*s_fg2;\n", + "\n", + "print (\"(i) Drop in enthalpy\")\n", + "dh = h1-h2;\n", + "print (\"Drop in enthalpy = %.3f\")%(dh),(\"kJ/kg\")\n", + "\n", + "print (\"(ii) Change in entropy\")\n", + "ds = s1-s2;\n", + "print (\"Change in entropy = %.3f\")%(ds),(\"kJ/kg.K\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Drop in enthalpy\n", + "Drop in enthalpy = 889.840 kJ/kg\n", + "(ii) Change in entropy\n", + "Change in entropy = 0.263 kJ/kg.K\n" + ] + } + ], + "prompt_number": 23 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3.22 page no : 88" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Find the entropy of 1 kg of superheated steam \n", + "'''\n", + "\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "m = 1.; \t\t \t #kg\n", + "p = 12.; \t\t \t#bar\n", + "T_sup = 523.; \t\t\t#K\n", + "c_ps = 2.1; \t\t\t#kJ/kg.K\n", + "T_s = 461.; \t\t\t#K\n", + "h_fg = 1984.3; \t\t\t#kJ/kg\n", + "c_pw = 4.18;\n", + "\n", + "# Calculations\n", + "s_sup = c_pw*math.log(T_s/273)+h_fg/T_s+c_ps*math.log(T_sup/T_s);\n", + "\n", + "# Results\n", + "print (\"Entropy = %.3f\")%(s_sup),(\"kJ/kg.K\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Entropy = 6.759 kJ/kg.K\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3.23 page no : 88" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine the amount of work and heat transfer to or from steam\n", + "'''\n", + "# Variables\n", + "m = 3.; \t\t\t#kg\n", + "v1 = 0.75; \t\t\t#m**3/kg\n", + "v2 = 1.2363; \t\t\t#m**3/kg\n", + "x = v1/v2;\n", + "h_f = 458.4; \t\t\t#kJ/kg\n", + "h_fg = 2231.9; \t\t\t#kJ/kg\n", + "h_s = m*(h_f+x*h_fg); \t\t\t#kJ\n", + "v_sup = 1.55; \t\t\t#m**3/kg\n", + "p = 2; \t\t\t#bar\n", + "t_s = 120.2; \t\t\t#0C\n", + "t_sup = 400; \t\t\t#0C\n", + "h = 3276.6; \t\t\t#kJ/kg\n", + "U = 1708.; \t\t\t#kJ/kg\n", + "\n", + "# Calculations and Results\n", + "Degree = t_sup-t_s;\n", + "h_sup = m*h;\n", + "\n", + "Q_added = h_sup - h_s;\n", + "print (\"Heat added = %.3f\")%(Q_added),(\"kJ\")\n", + "\n", + "U_s = m*U;\n", + "U_sup = m*(h-p*v_sup*10**2);\n", + "dU = U_sup - U_s;\n", + "W = Q_added - dU;\n", + "print (\"work done = %.3f\")%(W),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Heat added = 4392.661 kJ\n", + "work done = 616.861 kJ\n" + ] + } + ], + "prompt_number": 25 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3.24 page no : 91" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate the dryness fraction of steam as it enters the tank \n", + "'''\n", + "\n", + "# Variables\n", + "p = 5.; \t\t\t#bar\n", + "m = 50.; \t\t\t#kg\n", + "T1 = 20.; \t\t\t#0C\n", + "m_s = 3.; \t\t\t#kg\n", + "T2 = 40.; \t\t\t#0C\n", + "m_eq = 1.5; \t\t\t#kg\n", + "h_f = 640.1; \t\t\t#kJ/kg\n", + "h_fg = 2107.4; \t\t\t#kJ/kg\n", + "c_pw = 4.18;\n", + "\n", + "# Calculations\n", + "m_w = m+m_eq;\n", + "x = ((m_w*c_pw*(T2-T1))/m_s + c_pw*T2 - h_f)/h_fg;\n", + "\n", + "# Results\n", + "print (\"Dryness fraction of steam %.3f\")%(x)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Dryness fraction of steam 0.457\n" + ] + } + ], + "prompt_number": 26 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3.25 page no : 91" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "determine the mass of steam condensed\n", + "'''\n", + "\n", + "# Variables\n", + "p = 1.1; \t\t\t#bar\n", + "x = 0.95;\n", + "c_pw = 4.18;\n", + "m1 = 90.; \t\t\t#kg\n", + "m2 = 5.25; \t\t\t#kg\n", + "T1 = 25.; \t\t\t#0C\n", + "T2 = 40.; \t\t\t#0C\n", + "\n", + "# Calculations\n", + "m = m1+m2;\n", + "h_f = 428.8; \t\t\t#kJ/kg\n", + "h_fg = 2250.8; \t\t\t#kJ/kg\n", + "m_s = (m*c_pw*(T2-T1))/((h_f + x*h_fg) - c_pw*T2)\n", + "\n", + "# Results\n", + "print (\"Mass of steam condensed = %.3f\")%(m_s),(\"kg\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Mass of steam condensed = 2.489 kg\n" + ] + } + ], + "prompt_number": 27 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3.26 page no : 93" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate the dryness fraction of the steam \n", + "'''\n", + "\n", + "# Variables\n", + "p1 = 8.; \t\t\t#bar\n", + "p2 = 1.; \t\t\t#bar\n", + "T_sup2 = 115.; \t\t#0C\n", + "T_s2 = 99.6; \t\t#0C\n", + "h_f1 = 720.9; \t\t#kJ/kg\n", + "h_fg1 = 2046.5; \t#kJ/kg\n", + "h_f2 = 417.5; \t\t#kJ/kg\n", + "h_fg2 = 2257.9; \t#kJ/kg\n", + "c_ps = 2.1;\n", + "\n", + "# Calculations\n", + "x1 = (h_f2+h_fg2+c_ps*(T_sup2-T_s2)-h_f1)/h_fg1;\n", + "\n", + "# Results\n", + "print (\"Dryness fraction of the steam in the main = %.3f\")%(x1)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Dryness fraction of the steam in the main = 0.971\n" + ] + } + ], + "prompt_number": 28 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3.27 page no : 94" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Estimate the quality of steam supplied.\n", + "'''\n", + "\n", + "# Variables\n", + "m_w = 2.; \t\t\t#kg\n", + "m_s = 20.5; \t\t#kg\n", + "t_sup = 110.; \t\t#0C\n", + "p1 = 12.; \t\t\t#bar\n", + "p3 = 1.; \t\t\t#bar\n", + "p2 = p1;\n", + "h_f2 = 798.4; \t\t#kJ/kg\n", + "h_fg2 = 1984.3; \t#kJ/kg\n", + "T_s = 99.6; \t\t#0C\n", + "h_f3 = 417.5; \t\t#kJ/kg\n", + "h_fg3 = 2257.9; \t#kJ/kg\n", + "T_sup = 110.; \t\t#0C\n", + "c_ps = 2.; \t\t\t#kJ/kg.K\n", + "\n", + "# Calculations\n", + "x2 = (h_f3+h_fg3 + c_ps*(T_sup-T_s) - h_f2)/h_fg2;\n", + "x1 = x2*m_s/(m_w+m_s);\n", + "\n", + "# Results\n", + "print (\"Quality of steam supplied = %.3f\")%(x1)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Quality of steam supplied = 0.871\n" + ] + } + ], + "prompt_number": 29 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 3.28 page no : 95" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine the dryness fraction of the sample steam.\n", + "'''\n", + "\n", + "# Variables\n", + "p1 = 15.; \t\t\t#bar\n", + "p2 = p1;\n", + "p3 = 1.; \t\t\t#bar\n", + "t_sup3 = 150.; \t\t#0C\n", + "m_w = 0.5; \t\t\t#kg/min\n", + "m_s = 10.; \t\t\t#kg/min\n", + "h_f2 = 844.7; \t\t#kJ/kg\n", + "h_fg2 = 1945.2; \t#kJ/kg\n", + "h_sup3 = 2776.4; \t#kJ/kg\n", + "\n", + "# Calculations\n", + "x2 = (h_sup3 - h_f2)/h_fg2;\n", + "x1 = x2*m_s/(m_s + m_w);\n", + "\n", + "\n", + "# Results\n", + "print (\"Quality of steam supplied = %.3f\")%(x1)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Quality of steam supplied = 0.946\n" + ] + } + ], + "prompt_number": 30 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Industrial_Instrumentation/ch4.ipynb b/Industrial_Instrumentation/ch4.ipynb new file mode 100644 index 00000000..35fec4af --- /dev/null +++ b/Industrial_Instrumentation/ch4.ipynb @@ -0,0 +1,3551 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 4 : First Law of Thermodynamics" + ] + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.1 page no : 119" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Calculate the change in internal energy of the working fluid stating whether it is a gain or loss.\n", + "\n", + "# Variables\n", + "Q = -50.; \t\t\t#kJ/kg\n", + "W = -100.; \t\t\t#kJ/kg\n", + "\n", + "# Calculations\n", + "dU = Q-W;\n", + "\n", + "# Results\n", + "print (\"gain in internal energy = \"),(dU),(\"kJ/kg\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "gain in internal energy = 50.0 kJ/kg\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.2 page no : 119" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "calculate the heat flow to and from the cylinder\n", + "'''\n", + "\n", + "# Variables\n", + "u1 = 450.; \t\t\t#kJ/kg\n", + "u2 = 220; \t\t\t#kJ/kg\n", + "W = 120; \t\t\t#kJ/kg\n", + "\n", + "# Calculations\n", + "Q = (u2-u1) + W;\n", + "\n", + "# Results\n", + "print (\"Heat rejected by air = \"),(-Q),(\"kJ/kg\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Heat rejected by air = 110.0 kJ/kg\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.3 page no : 119" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate the heat transferred from the nitrogen to the surroundings.\n", + "'''\n", + "\n", + "# Variables\n", + "m = 0.3; \t\t\t#kg\n", + "cv = 0.75; \t\t\t#kJ/kg.K\n", + "T1 = 313.; \t\t\t#K\n", + "T2 = 433.; \t\t\t#K\n", + "W = -30.; \t\t\t#kJ\n", + "\n", + "# Calculations\n", + "dU = m*cv*(T2-T1);\n", + "Q = dU + W;\n", + "\n", + "# Results\n", + "print (\"Heat rejected during the process = \"),(-Q),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Heat rejected during the process = 3.0 kJ\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.4 page no : 120" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "How much did the internal energy of the gas change ?\n", + "'''\n", + "# Variables\n", + "p1 = 105.; \t\t\t#kPa\n", + "V1 = 0.4; \t\t\t#m**3\n", + "p2 = p1;\n", + "V2 = 0.20; \t\t\t#m**3\n", + "Q = -42.5; \t\t\t#kJ\n", + "\n", + "# Calculations\n", + "W = p1*(V2-V1);\n", + "dU = Q-W;\n", + "\n", + "# Results\n", + "print (\"change in internal energy = \"),(dU),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "change in internal energy = -21.5 kJ\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.6 Page no :121" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine : (i) Work done ;\n", + "(ii) Change in internal energy ; and\n", + "(iii) Heat transferred\n", + "'''\n", + "import math\n", + "\n", + "# Variables\n", + "p1 = 10.**5 # Pa\n", + "T1 = 25 + 273 # K\n", + "p2 = 5 * 10**5 # Pa\n", + "T2 = T1 \n", + "\n", + "# Calculations and Result\n", + "print \"(i) For isothermal process :\"\n", + "W12 = -p1 * (1.8)* math.log(p1/p2)\n", + "print \"Work done on the air = %.3e kJ/kg.\"%W12\n", + "\n", + "print \"(ii) Since temperature is constant,\"\n", + "print \"u2 \u2013 u1 = 0\"\n", + "print \"Change in internal energy = zero.\"\n", + "\n", + "print \"(iii) Again,\"\n", + "Q12 = 0 + W12\n", + "print \"Heat rejected = %.3e kJ/kg.\"%Q12\n", + "\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) For isothermal process :\n", + "Work done on the air = 2.897e+05 kJ/kg.\n", + "(ii) Since temperature is constant,\n", + "u2 \u2013 u1 = 0\n", + "Change in internal energy = zero.\n", + "(iii) Again,\n", + "Heat rejected = 2.897e+05 kJ/kg.\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.7 page no : 122" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate the quantity of heat added to the system.\n", + "'''\n", + "\n", + "\n", + "# Variables\n", + "W_12 = -82.; \t\t\t#kJ\n", + "Q_12 = -45.; \t\t\t#kJ\n", + "dU_12 = Q_12 - W_12;\n", + "W_21 = 100.; \t\t\t#kJ\n", + "dU_21 = -dU_12;\n", + "\n", + "# Calculations\n", + "Q_21 = dU_21 + W_21;\n", + "\n", + "# Results\n", + "print (\"Heat added to the system = \"),(Q_21),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Heat added to the system = 63.0 kJ\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.8 page no : 123" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine : \n", + "(i) Work done ;\n", + "(ii) Change in internal energy of the system.\n", + "'''\n", + "\n", + "# Variables\n", + "Q2 = 9000.; \t\t\t#kJ\n", + "Q1 = 3000.; \t\t\t#kJ\n", + "Q = Q1-Q2; \n", + "W = 0;\n", + "\n", + "# Calculations\n", + "dU = W-Q;\n", + "\n", + "# Results\n", + "print (\"Work done = \"),(W)\n", + "\n", + "print (\"Change in internal energy = \"),(dU),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Work done = 0\n", + "Change in internal energy = 6000.0 kJ\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.9 page no : 124" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "determine \u2206U, \u2206PE, \u2206KE, Q and W, when\n", + "(i) the stone is about to enter the water,\n", + "(ii) the stone has come to rest in the tank, and\n", + "(iii) the heat is transferred to the surroundings in such an amount that the stone and water\n", + "come to their initial temperature.\n", + "'''\n", + "\n", + "# Variables\n", + "m = 20.; \t\t\t#kg\n", + "g = 9.81; \t\t\t#m/s**2\n", + "z2 = 0.;\n", + "z1 = 15.;\n", + "\n", + "# Calculations and Results\n", + "print (\"(i) When the stone is about to enter the water\")\n", + "Q = 0\n", + "W = 0\n", + "dU = 0\n", + "PE = m*g*(z2-z1)\n", + "KE = -PE\n", + "print \"\u2206 PE = %.3f\"%KE,\"J\"\n", + "\n", + "print (\"(ii) When the stone dips into the math.tank and comes to rest\")\n", + "Q = 0\n", + "W = 0\n", + "KE = 0\n", + "PE = m*g*(z2-z1)\n", + "dU = -PE\n", + "print \"\u2206U = %.3f\"%dU\n", + "\n", + "print (\"(iii) When the water and stone come to their initial temperature\")\n", + "W = 0\n", + "KE = 0\n", + "Q = -dU\n", + "print \"Q = %.3f\"%Q\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) When the stone is about to enter the water\n", + "\u2206 PE = 2943.000 J\n", + "(ii) When the stone dips into the math.tank and comes to rest\n", + "\u2206U = 2943.000\n", + "(iii) When the water and stone come to their initial temperature\n", + "Q = -2943.000\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.10 page no : 125" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "(i) How much will be the heat that flows into the system along path lnm if the work done\n", + "is 21 kJ ?\n", + "(ii) When the system is returned from m to l along the curved path, the work done on the\n", + "system is 42 kJ. Does the system absorb or liberate heat, and how much of the heat is absorbed\n", + "or liberated ?\n", + "(iii) If U l = 0 and U n = 84 kJ, find the heat absorbed in the processes ln and nm.\n", + "'''\n", + "\n", + "# Variables\n", + "Q_lqm = 168.; \t\t\t#kJ\n", + "W_lqm = 64.; \t\t\t#kJ\n", + "dU_lm = Q_lqm - W_lqm;\n", + "W_lnm = 21.; \t\t\t#kJ\n", + "W_ml = -42.; \t\t\t#kJ\n", + "\n", + "# Calculations and Results\n", + "Q_lnm = dU_lm + W_lnm;\n", + "print (\"(i)Q_lnm = \"),(Q_lnm), (\"kJ\")\n", + "\n", + "Q_ml = W_ml - dU_lm;\n", + "print (\"(ii)Q_ml = \"),(Q_ml),(\"kJ\")\n", + "\n", + "W_ln = 21.; \t\t\t#kJ\n", + "dU_ln = 84.; \t\t\t#kJ\n", + "Q_ln = dU_ln + W_ln;\n", + "Q_nm = Q_lnm-Q_ln;\n", + "print (\"(iii)Q_nm = \"), (Q_nm), (\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)Q_lnm = 125.0 kJ\n", + "(ii)Q_ml = -146.0 kJ\n", + "(iii)Q_nm = 20.0 kJ\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.11 page no : 126" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "What will be the change of internal energy of the system when its temperature changes\n", + "'''\n", + "\n", + "import math \n", + "from scipy.integrate import quad \n", + "\n", + "# Variables\n", + "T1 = 55.; \t\t\t#0C\n", + "T2 = 95.; \t\t\t#0C\n", + "\n", + "# Calculations\n", + "def f1( T): \n", + "\t return 200\n", + "W = quad(f1, T1, T2)[0]\n", + "\n", + "\n", + "def f2( T): \n", + "\t return 160\n", + "Q = quad(f2, T1, T2)[0]\n", + "dU = Q-W;\n", + "\n", + "# Results\n", + "print (\"change in internal energy = \"),(dU/10**3),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "change in internal energy = -1.6 kJ\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.12 page no : 127" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Completeing the table\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "Q = -340.; \t\t\t#kJ\n", + "n = 200.; \t\t\t#cycles/min\n", + "\n", + "#For Process 1-2\n", + "W_12 = 4340.; \t\t\t#kJ/min\n", + "Q_12 = 0.;\n", + "\n", + "# Calculations and Results\n", + "dE_12 = Q_12-W_12;\n", + "print (\"dE_12 = \"),(dE_12),(\"kJ/min\")\n", + "\n", + "#For process 2-3\n", + "Q_23 = 42000.; \t\t\t#kJ/min\n", + "W_23 = 0;\n", + "\n", + "dE_23 = Q_23-W_23;\n", + "print (\"dE_23 = \"),(dE_23),(\"kJ/min\")\n", + "\n", + "#For process 3-4\n", + "Q_34 = -4200.; \t\t\t#kJ/min\n", + "dE_34 = -73200.; \t\t\t#kJ/min\n", + "\n", + "W_34 = Q_34-dE_34;\n", + "print (\"W_34 = \"), (W_34), (\"kJ/min\")\n", + "\n", + "#For process 4-1\n", + "Q_41 = Q*n-Q_12-Q_23-Q_34;\n", + "print (\"Q_41 = \"), (Q_41), (\"kJ/min\")\n", + "\n", + "dE_41 = 0-dE_12-dE_23-dE_34;\n", + "print (\"dE_41 = \"), (dE_41), (\"kJ/min\")\n", + "\n", + "W_41 = Q_41-dE_41;\n", + "print (\"W_41 = \"), (W_41), (\"kJ/min\")\n", + "\n", + "print \"Since sum(Q) = sum(W), \"\n", + "print \"Rate of work output = -68000 KJ/min\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "dE_12 = -4340.0 kJ/min\n", + "dE_23 = 42000.0 kJ/min\n", + "W_34 = 69000.0 kJ/min\n", + "Q_41 = -105800.0 kJ/min\n", + "dE_41 = 35540.0 kJ/min\n", + "W_41 = -141340.0 kJ/min\n", + "Since sum(Q) = sum(W), \n", + "Rate of work output = -68000 KJ/min\n" + ] + } + ], + "prompt_number": 30 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.13 page no : 128" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate the steam flow round the cycle in kg/s.\n", + "'''\n", + "\n", + "# Variables\n", + "P = 1200.; \t\t\t#kW\n", + "Qin = 3360.; \t\t\t#kJ/kg\n", + "Qout = 2520.; \t\t\t#kJ/kg\n", + "F = 6.; \t\t\t#kW\n", + "\n", + "# Calculations\n", + "dQ = Qin - Qout;\n", + "dW = P-F; \t\t\t#kJ/s\n", + "m = dW/dQ;\n", + "\n", + "# Results\n", + "print (\"Steam flow round the cycle %.3f\")%(m), (\"kg/s\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Steam flow round the cycle 1.421 kg/s\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.14 page no : 129" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine :\n", + "(i) The change in internal energy ;\n", + "(ii) The work done.\n", + "'''\n", + "\n", + "# Variables\n", + "dT = 25.; \t\t\t#0C\n", + "Q = 30.; \t\t\t#kJ\n", + "cv = 1.2; \t\t\t#kJ/kg.0C\n", + "m = 2.5; \t\t\t#kg\n", + "\n", + "# Calculations\n", + "dU = m*cv*dT;\n", + "\n", + "# Results\n", + "print (\"change in internal energy = \"),(dU), (\"kJ\")\n", + "\n", + "W = Q - dU;\n", + "print (\"Work done = \"),(W),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "change in internal energy = 75.0 kJ\n", + "Work done = -45.0 kJ\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.15 page no : 129" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "(i) Find the change in energy of the system.\n", + "(ii) The system is returned to its initial volume by an adiabatic process which requires\n", + "110 kJ of work. Find the change in energy of the system.\n", + "(iii) For the combined processes of (i) and (ii) determine the change in energy of the system.\n", + "'''\n", + "\n", + "# Variables\n", + "Q = 50.; \t\t\t#kJ\n", + "dV = 0.14; \t\t\t#m**3\n", + "p = 1.2*10**5; \t\t#N/m**2\n", + "m = 90.; \t\t\t#kg\n", + "d = 5.5; \t\t\t#m\n", + "g = 9.8; \t\t\t#m/s**2\n", + "W_adb = -110.; \t#kJ\n", + "Wnet = m*g*d/1000; \t#kJ\n", + "\n", + "# Calculations and Results\n", + "W = p*dV/1000 + Wnet; \t\t\t#kJ\n", + "dE = Q-W;\n", + "print (\"(i)Change in internal energy %.3f kJ\")%(dE)\n", + "\n", + "Q = 0;\n", + "dE = -W_adb;\n", + "print (\"(ii) Adiabatic process %.3f kJ\")%(dE)\n", + "\n", + "\n", + "Q = 50.; \t\t\t#kJ\n", + "dE = Q - (W_adb+W);\n", + "print (\"(iii)Change in internal energy %.3f kJ\")%(dE)\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)Change in internal energy 28.349 kJ\n", + "(ii) Adiabatic process 110.000 kJ\n", + "(iii)Change in internal energy 138.349 kJ\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.16 page no : 130" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine :\n", + "(i) Change in internal energy ;\n", + "(ii) Change in enthalpy.\n", + "'''\n", + "\n", + "import math \n", + "from scipy.integrate import quad \n", + "\n", + "# Variables\n", + "V1 = 0.15; \t\t\t#m**3\n", + "V2 = 0.05; \t\t\t#m**3\n", + "Q = -45.; \t\t\t#kJ\n", + "p1 = (5./V1+1.5)*10**5; \t\t\t#N/m**2\n", + "p2 = (5./V2+1.5)*10**5; \t\t\t#N/m**2\n", + "\n", + "# Calculations\n", + "def f0( V): \n", + "\t return (5/V+1.5)*10**2\n", + "\n", + "W = quad(f0, V1, V2)[0]\n", + "\n", + "dU = Q-W;\n", + "print (\"(i)Change in internal energy = %.3f kJ\")%(dU)\n", + "\n", + "dH = (dU*10**3+(p2*V2-p1*V1))/10**3;\n", + "print (\"(ii) Change in enthalpy = %.3f kJ\")%(dH)\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)Change in internal energy = 519.306 kJ\n", + "(ii) Change in enthalpy = 504.306 kJ\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.17 page no : 131" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine:\n", + "(i) If the expansion is quasi-static, find Q, \u2206U and W for the process.\n", + "(ii) In another process, the same system expands according to the same pressure-volume\n", + "relationship as in part (i), and from the same initial state to the same final state as in part (i), but\n", + "the heat transfer in this case is 32 kJ. Find the work transfer for this process.\n", + "(iii) Explain the difference in work transfer in parts (i) and (ii).\n", + "'''\n", + "\n", + "# Variables\n", + "V1 = 0.25; \t\t\t#m**3\n", + "p1 = 500.; \t\t\t#kPa\n", + "p2 = 100.; \t\t\t#kPa\n", + "\n", + "# Calculations and Results\n", + "V2 = V1*(p1/p2)**(1/1.25)\n", + "n = 1.25\n", + "dU = 3.64*(p2*V2 - p1*V1)\n", + "\n", + "print (\"(i) If the expansion is quasi-static\")\n", + "W = (p1*V1-p2*V2)/(n-1);\n", + "Q = dU+W\n", + "print (\"Heat transfered = %.3f\")%(Q),(\"kJ\")\n", + "\n", + "print (\"(ii) In another process\")\n", + "Q = 32; \t\t\t#kJ\n", + "W = Q-dU;\n", + "print (\"Work done = %.3f\")%(W),(\"kJ\")\n", + "\n", + "print (\"(iii)The difference\")\n", + "print (\" The work in (ii) is not equal to \u222b p dV math.since the process is not quasi-static.\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) If the expansion is quasi-static\n", + "Heat transfered = 12.385 kJ\n", + "(ii) In another process\n", + "Work done = 157.225 kJ\n", + "(iii)The difference\n", + " The work in (ii) is not equal to \u222b p dV math.since the process is not quasi-static.\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.18 page no : 132" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "find\n", + "(i) Heat added/kg ;\n", + "(ii) Work done/kg ;\n", + "(iii) Change in internal energy/kg ;\n", + "(iv) Change in enthalpy/kg.\n", + "'''\n", + "\n", + "import math \n", + "from scipy.integrate import quad \n", + "\n", + "# Variables\n", + "v1 = 0.3; \t\t\t#m**3/kg\n", + "T1 = 20.; \t\t\t#0C\n", + "v2 = 0.55; \t\t\t#m**3/kg\n", + "T2 = 260; \t\t\t#0C\n", + "p = 1.6*10**5; \t\t\t#Pa\n", + "\n", + "print (\"(i)Heat added per kg = \")\n", + "\n", + "# Calculations and Results\n", + "def f5( T): \n", + "\t return 1.5 + 75/(T+45)\n", + "\n", + "Q = quad(f5, T1,T2)[0]\n", + "\n", + "print (\"Q = %.3f\")%(Q), (\"kJ/kg\")\n", + "\n", + "\n", + "print (\"(ii)The work done per kg of fluid\")\n", + "W = p*(v2-v1)/1000; \t\t\t#kJ/kg\n", + "print (\"W = %.3f\")%(W),(\"kJ/kg\")\n", + "\n", + "\n", + "print (\"(iii)Change in internal energy\")\n", + "dU = Q-W;\n", + "print (\"dU = %.3f\")%(dU),(\"kJ/kg\")\n", + "\n", + "\n", + "print (\"(iv)Change in enthalpy\")\n", + "dH = Q;\n", + "print (\"dH = %.3f\")%(dH),(\"kJ/kg\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)Heat added per kg = \n", + "Q = 475.944 kJ/kg\n", + "(ii)The work done per kg of fluid\n", + "W = 40.000 kJ/kg\n", + "(iii)Change in internal energy\n", + "dU = 435.944 kJ/kg\n", + "(iv)Change in enthalpy\n", + "dH = 475.944 kJ/kg\n" + ] + } + ], + "prompt_number": 17 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.19 page no : 133" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine the work done during the process.\n", + "'''\n", + "\n", + "# Variables\n", + "m = 1.; \t\t\t#kg\n", + "du = -42000.; \t\t\t#J\n", + "cp = 840.; \t\t\t#J/kg.0C\n", + "cv = 600.; \t\t\t#J/kg.0C\n", + "\n", + "# Calculations\n", + "dT = du/m/cv;\n", + "Q = m*cp*dT;\n", + "W = (Q-du)/10**3;\n", + "\n", + "# Results\n", + "print (\"Work done = \"),(W),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Work done = -16.8 kJ\n" + ] + } + ], + "prompt_number": 18 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + " Example 4.20 page no : 133" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "find the direction and magnitude of the work and heat transfer.\n", + "'''\n", + "\n", + "from numpy import *\n", + "from scipy.integrate import quad \n", + "\n", + "# Variables\n", + "p1 = 190.; \t\t\t#kPa\n", + "V1 = 0.035; \t\t\t#m**3\n", + "p2 = 420.; \t\t\t#kPa\n", + "V2 = 0.07; \t\t\t#m**3\n", + "dU = 3.6*(p2*V2-p1*V1);\n", + "p = [[1,0.035],[1,0.07]]\n", + "q = [190,420];\n", + "#X = linalg.inv(p)*q;\n", + "X = linalg.solve(p,q)\n", + "a = X[0]\n", + "b = X[1]\n", + "\n", + "# Calculations\n", + "def f4( V): \n", + "\t return a+b*V\n", + "\n", + "W = quad(f4, V1, V2)[0]\n", + "\n", + "# Results\n", + "print (\"Work done by the system = \"),(W),(\"kJ\")\n", + "\n", + "\n", + "Q = dU+W;\n", + "print (\"Heat transfer into the system = \"),(Q),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Work done by the system = 10.675 kJ\n", + "Heat transfer into the system = 92.575 kJ\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.21 page no : 134" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine :\n", + "(i) The adiabatic work ;\n", + "(ii) The values of internal energy at all end states if initial value is 105 kJ.\n", + "'''\n", + "\n", + "# Variables\n", + "Qv = 90.; \t\t\t#kJ\n", + "Qp = -95; \t\t\t#kJ\n", + "W = -18; \t\t\t#kJ\n", + "U_l = 105; \t\t\t#kJ\n", + "W_lm = 0;\n", + "Q_lm = 90;\n", + "\n", + "# Calculations\n", + "U_m = U_l+90;\n", + "dU_mn = Qp-W;\n", + "U_n = U_m+dU_mn;\n", + "dQ = Qv+Qp;\n", + "dW = dQ;\n", + "W_nl = dW-W;\n", + "\n", + "# Results\n", + "print (\"W_nl(in kJ) = \"),(W_nl)\n", + "\n", + "print (\"U_l in kJ = \"),(U_l)\n", + "\n", + "print (\"U_m in kJ = \"),(U_m)\n", + "print (\"U_n in kJ\"), (U_n)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "W_nl(in kJ) = 13.0\n", + "U_l in kJ = 105\n", + "U_m in kJ = 195\n", + "U_n in kJ 118\n" + ] + } + ], + "prompt_number": 20 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.23 page no : 136" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate :\n", + "(i) The work done ;\n", + "(ii) The index of expansion, if the above processes are replaced by a single reversible polytropic\n", + "process giving the same work between the same initial and final states.\n", + "'''\n", + "\n", + "# Variables\n", + "V1 = 0.2; \t\t\t#m**3\n", + "p1 = 4.*10**5; \t\t#N/m**2\n", + "T1 = 403.; \t\t\t#K\n", + "p2 = 1.02*10**5; \t#N/m**2\n", + "dH = 72.5; \t\t\t#kJ\n", + "Q_23 = dH;\n", + "cp = 1.; \t\t\t#kJ/kg\n", + "cv = 0.714; \t\t#kJ/kg\n", + "y = 1.4;\n", + "\n", + "# Calculations\n", + "V2 = round(V1*(p1/p2)**(1/y),2);\n", + "T2 = round(T1*((p2/p1)**((y-1)/y)),1);\n", + "R = (cp-cv)*1000; \t\t\t#J/kg.K\n", + "m = round(p1*V1/R/T1,3);\n", + "T3 = round(Q_23/(m*cp) +T2);\n", + "V3 = 0.732 # round(V2*T3/T2,2);\n", + "W_12 = (p1*V1 - p2*V2)/(y-1);\n", + "W_23 = p2*(V3-V2);\n", + "W_123 = W_12+W_23;\n", + "\n", + "# Results\n", + "print (\"Total work done = %.3f\")%(W_123),(\"J\")\n", + "\n", + "print (\"(ii) Index of expansion, n\")\n", + "p3 = p2;\n", + "n = (p1*V1-p3*V3)/W_123 + 1;\n", + "print (\"value of index = %.3f\")%(n)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Total work done = 85454.000 J\n", + "(ii) Index of expansion, n\n", + "value of index = 1.062\n" + ] + } + ], + "prompt_number": 27 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.25 page no : 139" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Evaluate :\n", + "(i) The work ;\n", + "(ii) Decrease in internal energy of the system.\n", + "'''\n", + "\n", + "# Variables\n", + "d = 0.15; \t\t\t#m\n", + "T = 303.; \t\t\t#K\n", + "p = 3.*10**5; \t\t#N/m**2\n", + "l = 0.085; \t\t\t#m\n", + "Q = -4000.; \t\t#J\n", + "\n", + "# Calculations and Results\n", + "print (\"(i) Workdone by the system\")\n", + "dv = math.pi/4*d**2*l;\n", + "W = p*dv;\n", + "print (\"W = %.3f\")%(W/10**3),(\"kJ\")\n", + "\n", + "print (\"(ii) Decrease in internal energy of the system\")\n", + "dU = (Q-W)/10**3;\n", + "print (\"Decrease in internal energy = %.3f\")%(-dU),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Workdone by the system\n", + "W = 0.451 kJ\n", + "(ii) Decrease in internal energy of the system\n", + "Decrease in internal energy = 4.451 kJ\n" + ] + } + ], + "prompt_number": 23 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.27 page no : 140" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine :\n", + "(i) The mass of gas ;\n", + "(ii) The value of index \u2018n\u2019 for compression ;\n", + "(iii) The increase in internal energy of the gas ;\n", + "(iv) The heat received or rejected by the gas during compression.\n", + "Take \u03b3 = 1.4, R = 294.2 J/kg\u00b0C.\n", + "'''\n", + "import math\n", + "\n", + "# Variables\n", + "y = 1.4\n", + "R = 294.2; \t\t\t#J/kg.0C\n", + "p1 = 1.*10**5; \t\t#N/m**2\n", + "T1 = 353.; \t\t\t#K\n", + "V1 = 0.45; \t\t\t#m**3\n", + "V2 = 0.13; \t\t\t#m**3\n", + "p2 = 5.*10**5; \t\t#N/m**2\n", + "\n", + "# Calculations and Results\n", + "cv = R/(y-1);\n", + "print (\"(i) The mass of gas\")\n", + "m = p1*V1/R/T1;\n", + "print (\"m = %.3f\")%(m),(\"kg\")\n", + "\n", + "print (\"(ii) The value of index \u2018n\u2019 for compression\")\n", + "n = math.log(p2/p1)/math.log(V1/V2);\n", + "print (\"n = %.3f\")%(n)\n", + "\n", + "print (\"(iii) The increase in internal energy of the gas\")\n", + "T2 = T1*(V1/V2)**(n-1);\n", + "dU = m*cv*(T2-T1)/10**3;\n", + "print (\"dU = %.3f\")%(dU),(\"kJ\")\n", + "\n", + "print (\"(iv) The heat received or rejected by the gas during compression.\")\n", + "W = m*R*(T1-T2)/(n-1)/10**3;\n", + "Q = dU+W;\n", + "print (\"Q = %.3f\")%(Q),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) The mass of gas\n", + "m = 0.433 kg\n", + "(ii) The value of index \u2018n\u2019 for compression\n", + "n = 1.296\n", + "(iii) The increase in internal energy of the gas\n", + "dU = 50.000 kJ\n", + "(iv) The heat received or rejected by the gas during compression.\n", + "Q = -17.535 kJ\n" + ] + } + ], + "prompt_number": 24 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.28 page no : 141" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate :\n", + "(i) The final temperature ;\n", + "(ii) The final volume ;\n", + "(iii) The work done.\n", + "'''\n", + "\n", + "# Variables\n", + "p1 = 1.02*10**5; \t#Pa\n", + "T1 = 295.; \t\t\t#K\n", + "V1 = 0.015; \t\t#m**3\n", + "p2 = 6.8*10**5; \t#Pa\n", + "y = 1.4;\n", + "\n", + "# Calculations and Results\n", + "print (\"(i) Final temperature\")\n", + "T2 = T1*(p2/p1)**((y-1)/y);\n", + "t2 = T2-273; \n", + "print (\"t2 = %.3f\")%(t2),(\"\u00b0C\")\n", + "\n", + "\n", + "print (\"(ii) Final volume :\")\n", + "V2 = V1*(p1/p2)**(1/y);\n", + "print (\"V2 = %.3f\")%(V2),(\"m**3\")\n", + "\n", + "\n", + "print (\"(iii)Work done\")\n", + "R = 287;\n", + "m = p1*V1/R/T1;\n", + "W = m*R*(T1-T2)/(y-1)/10**3;\n", + "print (\"W = %.3f\")%(W),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Final temperature\n", + "t2 = 234.253 \u00b0C\n", + "(ii) Final volume :\n", + "V2 = 0.004 m**3\n", + "(iii)Work done\n", + "W = -2.752 kJ\n" + ] + } + ], + "prompt_number": 25 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.29 page no : 142" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate c p and c v .\n", + "'''\n", + "\n", + "from numpy import *\n", + "import math\n", + "\n", + "# Variables\n", + "m = 0.44; \t\t\t#kg\n", + "T1 = 453.; \t\t\t#K\n", + "ratio = 3.; \t\t#ratio = V2/V1\n", + "T2 = 288.; \t\t\t#K\n", + "W_12 = 52.5; \t\t#kJ\n", + "\n", + "# Calculations\n", + "y = math.log(T2/T1)/ math.log(1/ratio) + 1;\n", + "R = W_12*(y-1)/m/(T1-T2);\n", + "M = [[1,-1],[1,-y]];\n", + "N = [R,0];\n", + "X = linalg.inv(M)*N;\n", + "cp = X[0][0];\n", + "cv = X[1][0];\n", + "\n", + "# Results\n", + "print (\"cp = %.3f\")%(cp),(\"kJ/kg.K\")\n", + "\n", + "print (\"cv = %.3f\")%(cv),(\"kJ/kg.K\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "cp = 1.021 kJ/kg.K\n", + "cv = 0.723 kJ/kg.K\n" + ] + } + ], + "prompt_number": 26 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.30 page no : 143" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate the heat flow to or from the cylinder walls.\n", + "'''\n", + "\n", + "# Variables\n", + "n = 1.3;\n", + "m = 1; \t\t\t#kg\n", + "p1 = 1.1; \t\t\t#bar\n", + "T1 = 300.; \t\t\t#K\n", + "p2 = 6.6; \t\t\t#bar\n", + "R0 = 8314.;\n", + "M = 30.;\n", + "cp = 1.75; \t\t\t#kJ/kg.K\n", + "\n", + "\n", + "# Calculations\n", + "R = R0/M/1000; \t\t\t#kJ/kg.K\n", + "cv = cp - R;\n", + "y = cp/cv;\n", + "T2 = T1 *(p2/p1)**((n-1)/n);\n", + "W = R*(T1-T2)/(n-1);\n", + "Q = ((y-n)/(y-1))*W;\n", + "\n", + "# Results\n", + "print (\"Heat supplied = %.3f\")%(Q),(\"kJ/kg\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Heat supplied = 84.352 kJ/kg\n" + ] + } + ], + "prompt_number": 27 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.31 page no : 144" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate :\n", + "(i) Pressure at the end of constant volume cooling.\n", + "(ii) Change in internal energy during constant volume process.\n", + "(iii) Net work done and heat transferred during the cycle. Assume\n", + "'''\n", + "import math\n", + "\n", + "# Variables\n", + "cp = 14.3; \t\t\t#kJ/kg.K\n", + "cv = 10.2; \t\t\t#kJ/kg.K\n", + "V1 = 0.1; \t\t\t#m**3\n", + "T1 = 300.; \t\t\t#K\n", + "p1 = 1.; \t\t\t#bar\n", + "p2 = 8.; \t\t\t#bar\n", + "y = cp/cv;\n", + "R = cp-cv;\n", + "V2 = V1*(p1/p2)**(1/y);\n", + "V3 = V2;\n", + "T2 = T1*(p2/p1)**((y-1)/y);\n", + "p3 = p1*V1/V3;\n", + "T3 = 300.; \t\t\t#K\n", + "\n", + "\n", + "# Calculations and Results\n", + "print (\"(i) Pressure at the end of consmath.tant volume cooling = %.3f\")%(p3),(\"bar\")\n", + "\n", + "print (\"(ii) Change in internal energy during consmath.tant volume process\")\n", + "m = p1*V1/R/T1*10**2; \t\t\t#kg\n", + "\n", + "dU_23 = m*cv*(T3-T2);\n", + "print (\"dU_23 = %.3f\")%(dU_23),(\"kJ\")\n", + "\n", + "print (\"(iii) Net work done and heat transferred during the cycle\")\n", + "W_12 = m*R*(T1-T2)/(y-1);\n", + "W_23 = 0;\n", + "W_31 = p3*V3*math.log(V1/V3)*10**2; \t\t\t#kJ\n", + "Wnet = W_12+W_23+W_31;\n", + "print (\"Net work done = %.3f\")%(Wnet),(\"kJ\")\n", + "Qnet = Wnet;\n", + "print (\"Heat transferred during the complete cycle = %.3f\")%(Qnet),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Pressure at the end of consmath.tant volume cooling = 4.407 bar\n", + "(ii) Change in internal energy during consmath.tant volume process\n", + "dU_23 = -20.281 kJ\n", + "(iii) Net work done and heat transferred during the cycle\n", + "Net work done = -5.449 kJ\n", + "Heat transferred during the complete cycle = -5.449 kJ\n" + ] + } + ], + "prompt_number": 28 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.32 page no : 145" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate the net work done and heat transferred during the cycle.\n", + "'''\n", + "\n", + "import math\n", + "\n", + "# Variables\n", + "V1 = 0.15; \t\t\t#m**3\n", + "p1 = 15.; \t\t\t#bar\n", + "T1 = 550.; \t\t\t#K\n", + "T2 = T1;\n", + "r = 4.; \t\t\t#r = V2/V1\n", + "V2 = r*V1;\n", + "T3 = 290.; \t\t\t#K\n", + "\n", + "# Calculations\n", + "p2 = p1*V1/V2;\n", + "W_12 = p1*V1*math.log(V2/V1)*10**2; \t\t\t#kJ\n", + "V3 = V2;\n", + "p3 = p2*T3/T2;\n", + "W_23 = 0;\n", + "n = math.log(p1/p3)/math.log(V3/V1);\n", + "W_31 = (p3*V3-p1*V1)/(n-1)*10**2; \t\t\t#kJ\n", + "\n", + "# Results\n", + "\n", + "Wnet = W_12+W_23+W_31\n", + "print (\"net work done = %.3f\")%Wnet , (\"kJ\")\n", + "\n", + "Qnet = Wnet;\n", + "print (\"Heat transferred during the cycle = %.3f\")%(Qnet),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "net work done = 81.537 kJ\n", + "Heat transferred during the cycle = 81.537 kJ\n" + ] + } + ], + "prompt_number": 29 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.33 page no : 146" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "(i) Sketch the cycle on p-V diagram.\n", + "(ii) Calculate the work done in each process starting whether it is done on or by the system\n", + "and evaluate the net cyclic work and heat transfer.\n", + "'''\n", + "\n", + "%pylab inline\n", + "\n", + "import math \n", + "from scipy.integrate import quad \n", + "from matplotlib.pyplot import *\n", + "from numpy import *\n", + "\n", + "# Variables\n", + "m = 1; \t\t\t#kg\n", + "p1 = 5; \t\t\t#bar\n", + "V1 = 0.02; \t\t\t#m**3\n", + "V2 = 0.08; \t\t\t#m**3\n", + "p2 = 1.5; \t\t\t#bar\n", + "\n", + "\n", + "# Calculations and Results\n", + "def f(V):\n", + " return a+b*V;\n", + "\n", + "A = [[1,0.02],[1,0.08]]\n", + "B = [5,1.5];\n", + "#X = linalg.inv(A)*B;\n", + "X = linalg.solve(A,B)\n", + "a = X[0]\n", + "b = X[1]\n", + "\n", + "print (\"(i) p-V diagram\")\n", + "\n", + "V = linspace(0.02,0.08,80);\n", + "p = a+b*V;\n", + "plot(V,p,'b')\n", + "\n", + "V = [0.0667 ,0.08];\n", + "p = [1.5 ,1.5];\n", + "plot(V,p,'g')\n", + "\n", + "V = linspace(0.02,0.0667,447)\n", + "def fa(V):\n", + " return 0.1/V;\n", + "f = fa(V)\n", + "plot(V,f,'r')\n", + "suptitle(\"p-V diagram\")\n", + "\n", + "V = [0.0667, 0.0667];\n", + "p = [1.5, 0];\n", + "plot(V,p,'--')\n", + "xlabel(\"V(m)**3\")\n", + "ylabel(\"P(bar)\")\n", + "text(.04,4,'Reversible Expansion')\n", + "text(0.04,2.3,\"pV = C\")\n", + "text(0.07,1.2,\"p = C\")\n", + "\n", + "print (\"(ii) Work done and heat transfer\")\n", + "\n", + "\n", + "def f7(V): \n", + "\t return (a+b*V)*10**2\n", + "\n", + "W_12 = quad(f7,V1,V2)[0]\n", + "\n", + "print (\"Work done by the system = \"),(W_12), (\"kJ\")\n", + "\n", + "p3 = p2;\n", + "V3 = round(p1*V1/p3,4);\n", + "W_23 = p2*(V3-V2)*10**2; \t\t\t#kJ\n", + "\n", + "W_31 = round(p3*V3*math.log(V1/V3)*10**2,2); \t\t\t#kJ\n", + "print (\"Work done on the system = %.3f\")% (W_31), (\"kJ\")\n", + "\n", + "W_net = W_12+W_23+W_31;\n", + "print (\"Net work done = %.3f\")% (W_net), (\"kJ\")\n", + "\n", + "Q_net = W_net;\n", + "print (\"Heat transferred during the complete cycle = %.3f\")% (Q_net),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n", + "(i) p-V diagram" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "(ii) Work done and heat transfer" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Work done by the system = 19.5 kJ\n", + "Work done on the system = -12.050 kJ\n", + "Net work done = 5.455 kJ\n", + "Heat transferred during the complete cycle = 5.455 kJ\n" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "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\n", + "text": [ + "<matplotlib.figure.Figure at 0x1dbbbd0>" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.34 page no : 147" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine theamount of heat added to the system so that piston moves by 3.5 cm.\n", + "'''\n", + "\n", + "import math \n", + "from scipy.integrate import quad \n", + "\n", + "\n", + "# Variables\n", + "cv = 0.71; \t\t\t#kJ/kg.K\n", + "R = 0.287; \t\t\t#kJ/kg.K\n", + "d = 8.; \t\t\t#cm\n", + "l = 3.5; \t\t\t#cm\n", + "S = 150.; \t\t\t#N/cm\n", + "p1 = 30.; \t\t\t#N/cm\n", + "V1 = 45.; \t\t\t#cm**3\n", + "T1 = 293.; \t\t\t#K\n", + "cv = 0.71; \t\t\t#kJ/kg.K\n", + "R = 0.287; \t\t\t#kJ/kg.K\n", + "\n", + "# Calculations\n", + "A = math.pi/4*d**2;\n", + "C = p1-S/A**2*V1;\n", + "dV = l*A;\n", + "V2 = V1+dV;\n", + "p2 = S/A**2*V2 + C;\n", + "\n", + "def f3( p): \n", + "\t return A**2/S*p/100\n", + "\n", + "W = quad(f3, p1, p2)[0]\n", + "\n", + "T2 = p2*V2*T1/p1/V1;\n", + "m = p1*V1/R/T1/10**5; \t\t\t#kg\n", + "dU = m*cv*(T2-T1);\n", + "Q_12 = dU + W*10**(-3);\n", + "\n", + "# Results\n", + "print (\"Amount of heat added to the system = %.3f\")% (Q_12), (\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Amount of heat added to the system = 0.250 kJ\n" + ] + } + ], + "prompt_number": 31 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.35 page no : 164" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine :\n", + "(i) The change in enthalpy (\u2206 h) ;\n", + "(ii) Work done during the process (W).\n", + "'''\n", + "\n", + "# Variables\n", + "r = 10.; \t\t\t#kg/min\n", + "p1 = 1.5*10**5; \t\t\t#N/m**2\n", + "rho1 = 26.; \t\t\t#kg/m**3\n", + "C1 = 110.; \t\t\t#m/s\n", + "u1 = 910.; \t\t\t#kJ/kg\n", + "p2 = 5.5*10**5; \t\t\t#N/m**2\n", + "rho2 = 5.5; \t\t\t#kg/m**3\n", + "C2 = 190.; \t\t\t#m/s\n", + "u2 = 710.; \t\t\t#kJ/kg\n", + "Q = 55.; \t\t\t#kJ/s\n", + "h = 55.; \t\t\t#m\n", + "g = 9.81; \t\t\t#m/s**2\n", + "v2 = 1/rho2;\n", + "v1 = 1/rho1;\n", + "\n", + "# Calculations and Results\n", + "\n", + "dh = u2-u1+ (p2*v2-p1*v1)/10**3;\n", + "print (\"(i) Change in enthalpy %.3f\")%(dh), (\"kJ/kg\")\n", + "\n", + "print (\"(ii) Work done during the process (W).\")\n", + "\n", + "Q = 330.; \t\t\t#kJ/kg\n", + "KE = (C2**2-C1**2)/2/10**3; \t\t\t#kJ\n", + "PE = g*h/10**3; \t\t\t#kJ\n", + "W = -Q-KE-PE-dh;\n", + "print (\"Work done = %.3f\")%(W),(\"kJ\")\n", + "\n", + "\n", + "P = W*10/60.;\n", + "print (\"Work done per second = %.3f\")%(P),(\"kW\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Change in enthalpy -105.769 kJ/kg\n", + "(ii) Work done during the process (W).\n", + "Work done = -236.770 kJ\n", + "Work done per second = -39.462 kW\n" + ] + } + ], + "prompt_number": 32 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.36 page no : 166" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate :\n", + "(i) The rate at which heat is rejected to the turbine, and\n", + "(ii) The area of the inlet pipe given that the specific volume of the gases at the inlet is\n", + "0.45 m 3 /kg.\n", + "'''\n", + "\n", + "# Variables\n", + "\n", + "import math \n", + "\n", + "m = 15.; \t\t\t#kg/s\n", + "v = 0.45; \t\t\t#m**3/kg\n", + "P = 12000.; \t\t#kW\n", + "W = P/m; \t\t\t#kJ/kg\n", + "h1 = 1260.; \t\t#kJ/kg\n", + "h2 = 400.; \t\t\t#kJ/kg\n", + "C1 = 50.; \t\t\t#m/s\n", + "C2 = 110.; \t\t\t#m/s\n", + "\n", + "# Calculations and Results\n", + "print (\"(i) Heat rejected = \"),\n", + "Q = h2-h1+(C2**2-C1**2)/2/10**3 +W;\n", + "Qnet = m*Q;\n", + "print (\"Qnet = %.3f\")%(-Qnet),(\"kW\")\n", + "\n", + "print (\"(ii) Inlet area\")\n", + "A = v*m/C1;\n", + "print (\"A = %.3f\")%(A),(\"m**2\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Heat rejected = Qnet = 828.000 kW\n", + "(ii) Inlet area\n", + "A = 0.135 m**2\n" + ] + } + ], + "prompt_number": 33 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.37 page no : 167" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate :\n", + "(i) The power required to drive the compressor ;\n", + "(ii) The inlet and output pipe cross-sectional areas.\n", + "'''\n", + "\n", + "# Variables\n", + "m = 0.5; \t\t\t#kg/s\n", + "C1 = 6.; \t\t\t#m/s\n", + "C2 = 5.; \t\t\t#m/s\n", + "p1 = 1.; \t\t\t#bar\n", + "p2 = 7.; \t\t\t#bar\n", + "v1 = 0.85; \t\t\t#m**3/kg\n", + "v2 = 0.16; \t\t\t#m**3/kg\n", + "du = 90.; \t\t\t#kJ/kg\n", + "Q = -120.; \t\t\t#kJ/kg\n", + "\n", + "# Calculations and Results\n", + "print (\"(i) Power required to drive the compressor\")\n", + "W = -du+(C1**2-C2**2)/2/1000 + (p1*v1 - p2*v2)*10**2 + Q;\n", + "Power = m*W; \n", + "print (\"Power = %.3f\")%(-Power),(\"kW\")\n", + "\n", + "\n", + "print (\"(ii) Inlet and outlet pipe cross-sectional areas\")\n", + "A1 = m*v1/C1;\n", + "A2 = m*v2/C2;\n", + "print (\"Inlet crosssectional area = %.3f\")% (A1), (\"m**2\")\n", + "\n", + "print (\"Outlet crossectional area = %.3f\")%(A2), (\"m**2\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Power required to drive the compressor\n", + "Power = 118.497 kW\n", + "(ii) Inlet and outlet pipe cross-sectional areas\n", + "Inlet crosssectional area = 0.071 m**2\n", + "Outlet crossectional area = 0.016 m**2\n" + ] + } + ], + "prompt_number": 34 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.38 page no : 168" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "calculate the power developed by the turbine. Consider the boiler and turbine as single system\n", + "'''\n", + "\n", + "# Variables\n", + "h1 = 800.; \t\t\t#kJ/kg\n", + "C1 = 5.; \t\t\t#m/s\n", + "h2 = 2520.; \t\t\t#kJ/kg\n", + "C2 = 50.; \t\t\t#m/s\n", + "dZ = 4.; \t\t\t#m\n", + "g = 9.81; \t\t\t#m/s**2\n", + "Q = 2180.; \t\t\t#kJ/kg\n", + "\n", + "# Calculations\n", + "W = h1-h2+(C1**2 - C2**2)/2/1000 +dZ*g/1000+Q;\n", + "\n", + "# Results\n", + "print (\"Power developed = %.3f\")%(W), (\"kW\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Power developed = 458.802 kW\n" + ] + } + ], + "prompt_number": 35 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.39 page no : 169" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine the power output of the turbine.\n", + "'''\n", + "\n", + "# Variables\n", + "g = 9.8; \t\t\t#m/s**2\n", + "m = 4500./3600; \t#kg/s\n", + "C1 = 2800./60; \t\t#m/s\n", + "Z1 = 5.5; \t\t\t#m\n", + "h1 = 2800.; \t\t#kJ/g\n", + "C2 = 5600./60; \t\t#m/s\n", + "Z2 = 1.5; \t\t\t#m\n", + "h2 = 2300.; \t\t#kJ/kg\n", + "Q = -16000./3600; \t#kJ/s\n", + "\n", + "# Calculations\n", + "W = Q-m*((h1-h2) + (C2**2 - C1**2)/2/1000 + (Z2-Z1)*g/1000);\n", + "\n", + "# Results\n", + "print (\"Power output of the turbine = %.3f\")% (-W),(\"kW\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Power output of the turbine = 633.479 kW\n" + ] + } + ], + "prompt_number": 36 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.40 page no : 170" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine the final enthalpy of steam.\n", + "'''\n", + "\n", + "# Variables\n", + "p1 = 6.87; \t\t\t#bar\n", + "C1 = 50.; \t\t\t#m/s\n", + "p2 = 1.37; \t\t\t#bar\n", + "C2 = 500.; \t\t\t#m/s\n", + "print (\"From steam table corresponding to p1\")\n", + "h1 = 2850.; \t\t\t#kJ/kg\n", + "\n", + "# Calculations\n", + "h2 = h1 - (C2**2-C1**2)/2/1000;\n", + "\n", + "# Results\n", + "print (\"Final enthalpy of steam = \"), (h2),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "From steam table corresponding to p1\n", + "Final enthalpy of steam = 2726.25 kJ\n" + ] + } + ], + "prompt_number": 37 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.41 page no : 171" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine the power capacity of the system in MW.\n", + "'''\n", + "\n", + "# Variables\n", + "m = 220./60; \t\t\t#kg/s\n", + "C1 = 320.; \t\t\t#m/s\n", + "p1 = 6*10.**5; \t\t\t#N/m**2\n", + "u1 = 2000.*10**3; \t\t\t#J/kg\n", + "v1 = 0.36; \t\t\t#m**3/kg\n", + "C2 = 140.; \t\t\t#m/s\n", + "p2 = 1.2*10**5; \t\t\t#N/m**2\n", + "u2 = 1400.*10**3; \t\t\t#J/kg\n", + "v2 = 1.3; \t\t\t#m**3/kg\n", + "Q = 100*10.**3; \t\t\t#J/s\n", + "\n", + "# Calculations\n", + "W = (m*((u1-u2)+ (p1*v1 - p2*v2) + (C1**2-C2**2)/2) -Q)/10**6;\n", + "\n", + "# Results\n", + "print (\"power capacity of the system = %.3f\")% (W),(\"MW\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "power capacity of the system = 2.472 MW\n" + ] + } + ], + "prompt_number": 38 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.42 page no : 172" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine the capacity of the turbine if the gas flow is 5 kg/s.\n", + "'''\n", + "\n", + "\n", + "# Variables\n", + "p1 = 7.5*10**5; \t\t\t#N/m**2\n", + "C1 = 140.; \t\t\t#m/s\n", + "h1 = 950.*10**3; \t\t\t#J/kg\n", + "p2 = 2*10.**5; \t\t\t#N/m**2\n", + "C2 = 280.; \t\t\t#m/s\n", + "h2 = 650.*10**3; \t\t\t#J/kg\n", + "m = 5.; \t\t\t#kg/s\n", + "\n", + "# Calculations\n", + "W = (h1-h2)+(C1**2-C2**2)/2\n", + "Power = m*W/1000;\n", + "\n", + "# Results\n", + "print (\"Power capacity of turbine = \"), (Power), (\"kW\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Power capacity of turbine = 1353.0 kW\n" + ] + } + ], + "prompt_number": 39 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.43 page no : 173" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Find : (i) Motor power required to drive the compressor ;\n", + "(ii) Ratio of inlet to outlet pipe diameter.\n", + "'''\n", + "\n", + "# Variables\n", + "C1 = 12.; \t\t\t#m/s\n", + "p1 = 1.*10**5; \t\t\t#N/m**2\n", + "v1 = 0.5; \t\t\t#m**3/kg\n", + "C2 = 90.; \t\t\t#m/s\n", + "p2 = 8.*10**5; \t\t\t#N/m**2\n", + "v2 = 0.14; \t\t\t#m**3/kg\n", + "dh = 150.; \t\t\t#kJ/kg\n", + "Q = -11.67; \t\t\t#kJ/s\n", + "m = 0.2; \t\t\t#kg/s\n", + "\n", + "# Calculations and Results\n", + "print (\"(i) Motor power required to drive the compressor\")\n", + "W = m*(-dh + (C1**2-C2**2)/2/1000) +Q;\n", + "print (\"Power = %.3f\")% (-W), (\"kW\")\n", + "\n", + "\n", + "print (\"(ii)Ratio of inlet to outlet pipi diameter\")\n", + "ratio = math.sqrt(C2/C1*v1/v2);\n", + "print (\"ratio = %.3f\")% (ratio)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Motor power required to drive the compressor\n", + "Power = 42.466 kW\n", + "(ii)Ratio of inlet to outlet pipi diameter\n", + "ratio = 5.175\n" + ] + } + ], + "prompt_number": 40 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.44 page no : 175" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Compute the amount of heat transfer to the atmosphere from the compressor per kg of air.\n", + "'''\n", + "\n", + "# Variables\n", + "W = -175.; \t\t\t #kJ/kg\n", + "dh = 70.; \t\t \t#kJ/kg\n", + "Q_water = -92.; \t\t\t#kJ/kg\n", + "\n", + "# Calculations\n", + "Q = dh+W;\n", + "Q_atm = Q-Q_water;\n", + "\n", + "# Results\n", + "print (\"Heat transferred to the atmosphere = \"),(-Q_atm), (\"kJ/kg\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Heat transferred to the atmosphere = 13.0 kJ/kg\n" + ] + } + ], + "prompt_number": 41 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.45 page no : 176" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "'''\n", + "(i) Find the velocity at exit of the nozzle.\n", + "(ii) If the inlet area is 900 cm 2 and the specific volume at inlet is 0.187 m 3 /kg, find the mass\n", + "flow rate.\n", + "(iii) If the specific volume at the nozzle exit is 0.498 m 3 /kg, find the exit area of nozzle.\n", + "'''\n", + "import math\n", + "\n", + "# Variables\n", + "h1 = 2800.*10**3; \t\t\t#J/kg\n", + "C1 = 50.; \t\t\t#m/s\n", + "A1 = 900.*10**(-4); \t\t\t#m**2\n", + "v1 = 0.187; \t\t\t#m**3/kg\n", + "h2 = 2600.*10**3; \t\t\t#J/kg\n", + "v2 = 0.498; \t\t\t#m**3/kJ\n", + "\n", + "# Calculations and Results\n", + "print (\"(i) Velocity at exit of the nozzle\")\n", + "C2 = math.sqrt(2*((h1-h2) + C1**2/2));\n", + "\n", + "print (\"C2 = %.3f\")% (C2),(\"m/s\")\n", + "\n", + "\n", + "print (\"(ii) Mass flow rate\")\n", + "m = A1*C1/v1;\n", + "print (\"m = %.3f\")% (m), (\"kg/s\")\n", + "\n", + "\n", + "print (\"(iii) Area at the exit\")\n", + "A2 = m*v2/C2*10**4;\n", + "print (\"A2 = %.3f\")%(A2), (\"cm**2\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Velocity at exit of the nozzle\n", + "C2 = 634.429 m/s\n", + "(ii) Mass flow rate\n", + "m = 24.064 kg/s\n", + "(iii) Area at the exit\n", + "A2 = 188.894 cm**2\n" + ] + } + ], + "prompt_number": 42 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.46 page no : 177" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "evaluate the heat transfer from the water per kg of water flowing.\n", + "'''\n", + "\n", + "# Variables\n", + "h1 = 240.; \t\t\t#kJ/kg\n", + "h2 = 192.; \t\t\t#kJ/kg\n", + "dZ = 20.; \t\t\t#m\n", + "g = 9.81; \t\t\t#m/s**2\n", + "\n", + "# Calculations\n", + "Q = (h2-h1)+dZ*g/1000;\n", + "\n", + "# Results\n", + "print (\"heat transfer = %.3f\")% (-Q), (\"kJ/kg\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "heat transfer = 47.804 kJ/kg\n" + ] + } + ], + "prompt_number": 43 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.47 page no : 178" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "evaluate the relative velocity of gas leaving the jet pipe. For the gas at t = 820\u00b0C, h = 800 kJ/kg and at 910\u00b0C, 915 kJ/kg.\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "p1 = 2.; \t\t\t#bar\n", + "C1 = 300.; \t\t\t#m/s\n", + "Q = 0.;\n", + "h1 = 915.*10**3; \t\t\t#J/kg\n", + "h2 = 800.*10**3; \t\t\t#J/kg\n", + "\n", + "# Calculations\n", + "C2 = math.sqrt(2*(h1-h2 + C1**2/2));\n", + "\n", + "# Results\n", + "print (\"Relative velocity of gas leaving the pipe = %.3f\")% (C2), (\"m/s\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Relative velocity of gas leaving the pipe = 565.685 m/s\n" + ] + } + ], + "prompt_number": 44 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.48 page no : 179" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine the capacity of the electric motor to run the pump.\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "mw = 50; \t\t\t#kg/s\n", + "p1 = 10.**5; \t\t\t#N/m**2\n", + "p2 = 4.2*10**5; \t\t\t#N/m**2\n", + "h = 10.7; \t\t\t#m\n", + "d1 = 0.2; \t\t\t#m\n", + "d2 = 0.1; \t\t\t#m\n", + "v1 = 1./1000;\n", + "v2 = 1./1000;\n", + "g = 9.81; \t\t\t#m/s**2\n", + "\n", + "# Calculations\n", + "C1 = mw*4/math.pi/d1**2*v1;\n", + "C2 = mw*4/math.pi/d2**2*v2;\n", + "W = mw*((p1*v1-p2*v2) + (g*(0-h))+(C1**2-C2**2)/2)/10**3;\n", + "\n", + "# Results\n", + "print (\"Capacity of electric motor %.3f\")%(-W), (\"kW\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Capacity of electric motor 22.198 kW\n" + ] + } + ], + "prompt_number": 45 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + " Example 4.49 page no : 180" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate the velocity of the exhaust jet.\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "Ca = 250.; \t\t\t#m/s\n", + "t = -14.; \t\t\t#0C\n", + "ha = 250.; \t\t\t#kJ/kg\n", + "hg = 900.; \t\t\t#kJ/kg\n", + "ratio = 0.0180;\n", + "Ef = 45.*10**3; \t\t\t#kJ/kg\n", + "Q = -21.; \t\t\t#kJ/kg\n", + "ma = 1.; \t\t\t#kg\n", + "mg = 1.018; \t\t\t#kg\n", + "mf = 0.018; \t\t\t#kg\n", + "\n", + "#Calculations\n", + "Eg = 0.06*mf/mg*Ef;\n", + "Cg = math.sqrt(2000*((ma*(ha+Ca**2/2/1000) + mf*Ef + Q)/mg -hg-Eg));\n", + "\n", + "# Results\n", + "print (\"velocity of exhaust gas jet = %.3f\")%(Cg),(\"m/s\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "velocity of exhaust gas jet = 455.160 m/s\n" + ] + } + ], + "prompt_number": 46 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.50 page no : 181" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "calculate :\n", + "(i) Rate of heat transfer to the air in the heat exchanger ;\n", + "(ii) The power output from the turbine assuming no heat loss ;\n", + "'''\n", + "\n", + "# Variables\n", + "t1 = 20.; \t\t\t#0C\n", + "C1 = 40.; \t\t\t#m/s\n", + "t2 = 820.; \t\t\t#0C\n", + "C2 = 40.; \t\t\t#m/s\n", + "t3 = 620.; \t\t\t#0C\n", + "C3 = 55.; \t\t\t#m/s\n", + "t4 = 510.; \t\t\t#0C\n", + "m = 2.5; \t\t\t#kg/s\n", + "cp = 1.005; \t\t\t#kJ/kg.0C\n", + "\n", + "# Calculations and Results\n", + "print (\"(i) Heat exchanger\")\n", + "Q_12 = m*cp*(t2-t1);\n", + "print (\"rate of heat transfer = \"),(Q_12), (\"kJ/s\")\n", + "\n", + "print (\"(ii) Turbine\")\n", + "W_23 = m*((cp*(t2-t3))+(C2**2-C3**2)/2/1000);\n", + "print (\"Power output of turbine = %.3f\")%(W_23), (\"kW\")\n", + "\n", + "print (\"(iii) Nozzle\")\n", + "C4 = math.sqrt(2*1000*(cp*(t3-t4)+C3**2/2/1000));\n", + "print (\"Velocity at exit from the nozzle = %.3f\")%(C4), (\"m/s\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Heat exchanger\n", + "rate of heat transfer = 2010.0 kJ/s\n", + "(ii) Turbine\n", + "Power output of turbine = 500.719 kW\n", + "(iii) Nozzle\n", + "Velocity at exit from the nozzle = 473.418 m/s\n" + ] + } + ], + "prompt_number": 47 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.51 page no : 185" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate :\n", + "(i) The state of steam after cooling ;\n", + "(ii) The amount of heat rejected by the steam.\n", + "'''\n", + "\n", + "# Variables\n", + "V = 0.028; \t\t\t#m**3\n", + "p1 = 80.; \t\t\t#bar\n", + "t = 350.; \t\t\t#0C\n", + "p2 = 50.; \t\t\t#bar\n", + "v1 = 0.02995; \t\t\t#m**3/kg\n", + "h1 = 2987.3; \t\t\t#kJ/kg\n", + "v2 = 0.02995; \t\t\t#m**3/kg\n", + "vg2 = 0.0394; \t\t\t#m**3/kg\n", + "uf2 = 1149.; \t\t\t#kJ/kg\n", + "ug2 = 2597.; \t\t\t#kJ/kg\n", + "\n", + "# Calculations and Results\n", + "m = V/v1;\n", + "u1 = h1 - (p1*v1*10**2); \t\t\t#kJ/kg\n", + "\n", + "print (\"(i) State of steam after cooling\")\n", + "x2 = v2/vg2;\n", + "print (\"dryness fraction = %.3f\")%(x2)\n", + "\n", + "\n", + "print (\"(ii) Heat rejected by the steam\")\n", + "u2 = (1-x2)*uf2 + x2*ug2;\n", + "Q = m*(u2-u1);\n", + "print (\"Heat rejected = %.3f\")% (-Q), (\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) State of steam after cooling\n", + "dryness fraction = 0.760\n", + "(ii) Heat rejected by the steam\n", + "Heat rejected = 465.575 kJ\n" + ] + } + ], + "prompt_number": 48 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.52 page no : 188" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate :\n", + "(i) Heat supplied ;\n", + "(ii) Work done\n", + "'''\n", + "\n", + "# Variables\n", + "m = 0.08; \t\t\t#kg\n", + "p = 2.*10**5; \t\t\t#Pa\n", + "V = 0.10528; \t\t\t#m**3\n", + "h1 = 2706.3; \t\t\t#kJ/kg\n", + "h2 = 3071.8; \t\t\t#kJ/kg\n", + "v1 = 0.885; \t\t\t#m**3/kg\n", + "\n", + "# Calculations and Results\n", + "v2 = V/m; \t\t\t#m**3/kg\n", + "\n", + "print (\"(i) Heat supplied\")\n", + "Q = m*(h2-h1);\n", + "print (\"Q = \"),(Q), (\"kJ\")\n", + "\n", + "\n", + "W = p*(v2-v1);\n", + "W_total = m*W/10**3;\n", + "print (\"(ii)Total work done = \"), (W_total), (\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Heat supplied\n", + "Q = 29.24 kJ\n", + "(ii)Total work done = 6.896 kJ\n" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.53 page no : 189" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate the heat supplied, and show on a T-s diagram the area which represents the heat flow.\n", + "'''\n", + "from numpy import *\n", + "from matplotlib.pyplot import *\n", + "\n", + "# Variables\n", + "m = 1.; \t\t\t#kg\n", + "p = 8.; \t\t\t#bar\n", + "s1 = 6.55; \t\t\t#kJ/kg.K\n", + "T = 200.; \t\t\t#0C\n", + "s_f1 = 2.0457; \t\t\t#kJ/kg.K\n", + "s_fg1 = 4.6139; \t\t\t#kJ/kg.K\n", + "h_f1 = 720.9; \t\t\t#kJ/kg\n", + "h_fg1 = 2046.5; \t\t\t#kJ/kg\n", + "h2 = 2839.3; \t\t\t#kJ/kg\n", + "\n", + "# Calculations and Results\n", + "x1 = (s1-s_f1)/s_fg1;\n", + "h1 = h_f1+x1*h_fg1;\n", + "Q = h2-h1;\n", + "print (\"Heat supplied = %.3f\")%(Q), (\"kJ/kg\")\n", + "\n", + "# For T-s diagram\n", + "\n", + "s = linspace(0,.10,10);\n", + "T = (-(s-5)**2+298);\n", + "plot(s,T)\n", + "\n", + "T = [295.44 ,295.44];\n", + "s = [6.6 ,3.45];\n", + "plot(s,T,'g')\n", + "\n", + "s = [6.6 ,7];\n", + "T = [295.44, 300];\n", + "plot(s,T,'g')\n", + "\n", + "s = [6.55 ,6.55];\n", + "T = [270 ,295.44];\n", + "plot(s,T,'r')\n", + "\n", + "s = [6.6, 6.6];\n", + "T = [270 ,295.44];\n", + "plot(s,T,'--r')\n", + "\n", + "s = [6.66, 6.66];\n", + "T = [270, 295.44];\n", + "plot(s,T,'r')\n", + "\n", + "\t\t\t#The area in red represents the heat flow and it goes upto x-axis\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Heat supplied = 120.513 kJ/kg\n" + ] + }, + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 50, + "text": [ + "[<matplotlib.lines.Line2D at 0x3e9d150>]" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "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\n7sf4EZKFzwAAAABJRU5ErkJggg==\n", + "text": [ + "<matplotlib.figure.Figure at 0x319ff90>" + ] + } + ], + "prompt_number": 50 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.54 page no : 192" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate per kg :\n", + "(i) The change of internal energy ;\n", + "(ii) The change of enthalpy ;\n", + "(iii) The work done.\n", + "'''\n", + "\n", + "# Variables\n", + "p1 = 7.*10**5; \t\t\t#Pa\n", + "p2 = 1.5*10**5; \t\t\t#Pa\n", + "Q = 420.; \t\t\t#kJ/kg\n", + "uf = 696.; \t\t\t#kJ/kg\n", + "x = 0.95;\n", + "ug = 2573.; \t\t\t#kJ/kg\n", + "u_f2 = 2580.; \t\t\t#kJ/kg\n", + "u_g2 = 2856.; \t\t\t#kJ/kg\n", + "x2 = 15./50;\n", + "h_f1 = 697.1; \t\t\t#kJ/kg\n", + "h_fg1 = 2064.9; \t\t\t#kJ.kg\n", + "h_f2 = 2772.6; \t\t\t#kJ/kg\n", + "h_g2 = 2872.9; \t\t\t#kJ/kg\n", + "\n", + "# Calculations and Results\n", + "print (\"(i) Change of internal energy\")\n", + "u1 = (1-x)*uf + x*ug;\n", + "u2 = 2602.8; \t\t\t#kJ/kg\n", + "du = u2-u1;\n", + "print (\"du = \"),(du), (\"kJ/kg\")\n", + "\n", + "print (\"(ii) Change in enthalpy\")\n", + "h1 = h_f1+x*h_fg1;\n", + "h2 = h_f2+x2*(h_g2-h_f2);\n", + "dh = h2-h1;\n", + "print (\"dh = \"), (dh), (\"kJ/kg\")\n", + "\n", + "print (\"(iii) Work done \")\n", + "W = Q-du;\n", + "print (\"W = \"), (W), (\"kJ/kg\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Change of internal energy\n", + "du = 123.65 kJ/kg\n", + "(ii) Change in enthalpy\n", + "dh = 143.935 kJ/kg\n", + "(iii) Work done \n", + "W = 296.35 kJ/kg\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.55 page no : 194" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "calculate per kg of steam :\n", + "(i) Work done ;\n", + "(ii) Heat flow to or from the cylinder walls.\n", + "'''\n", + "\n", + "import math \n", + "from scipy.integrate import quad \n", + "\n", + "\n", + "p1 = 5.5*10**5; \t\t\t#Pa\n", + "x1 = 1.;\n", + "p2 = 0.75*10**5; \t\t\t#Pa\n", + "v1 = 0.3427; \t\t\t#m**3/kg\n", + "v2 = p1*v1/p2;\n", + "\n", + "# Since v2 > vg (at 0.75 bar), therefore, the steam is superheated at state 2.\n", + "u2 = 2567.25; \t\t\t#kJ/kg\n", + "u1 = 2565.; \t\t\t#kJ/kg\n", + "\n", + "# Calculations and Results\n", + "du = u2-u1; \t\t\t#kJ/kg\n", + "C = p1*v1;\n", + "\n", + "print (\"Work done \"),\n", + "\n", + "def f6( v): \n", + "\t return C/v\n", + "\n", + "W = quad(f6, v1,v2)[0]\n", + "\n", + "print (\"W =\"),(W), (\"N-m/kg\")\n", + "\n", + "\n", + "\n", + "Q = du+W/10**3;\n", + "\n", + "print (\"Heat supplied = %.3f\")%(Q),(\"kJ/kg\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Work done W = 375543.199592 N-m/kg\n", + "Heat supplied = 377.793 kJ/kg\n" + ] + } + ], + "prompt_number": 19 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.56 page no : 195" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate per kg of steam :\n", + "(i) The heat supplied ;\n", + "(ii) The work done.\n", + "'''\n", + "\n", + "# Variables\n", + "p1 = 100.; \t\t\t#bar\n", + "p2 = 10.; \t\t\t#bar\n", + "s1 = 5.619; \t\t\t#kJ/kg.K\n", + "T = 584.; \t\t\t#K\n", + "s2 = 7.163; \t\t\t#kJ/kg.K\n", + "u1 = 2545.; \t\t\t#kJ/kg\n", + "u2 = 2811.8; \t\t\t#kJ/kg\n", + "\n", + "# Calculations and Results\n", + "print (\"(i)Heat supplied \")\n", + "Q = T*(s2-s1);\n", + "print (\"Q = \"),(Q),(\"kJ/kg\")\n", + "\n", + "print (\"(ii) Work done\")\n", + "W = Q-(u2-u1);\n", + "print (\"W = \"), (W), (\"kJ/kg\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)Heat supplied \n", + "Q = 901.696 kJ/kg\n", + "(ii) Work done\n", + "W = 634.896 kJ/kg\n" + ] + } + ], + "prompt_number": 53 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.57 page no : 198" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate the work done by the steam.\n", + "'''\n", + "\n", + "# Variables\n", + "m = 1.; \t\t\t#kg\n", + "p1 = 120.*10**5; \t#N/m**2\n", + "t1 = 400.; \t\t\t#0C\n", + "p2 = 38.; \t\t\t#bar\n", + "h1 = 3051.3; \t\t#kJ/kg\n", + "v1 = 0.02108; \t\t#m**3/kg\n", + "\n", + "# Calculations\n", + "u1 = h1-p1*v1/10**3; \t#kJ/kg\n", + "u2 = 2602; \t\t\t #kJ/kg\n", + "\n", + "# Results\n", + "W = u1-u2; \n", + "print (\"Work done = %.3f\")%(W),(\"kJ/kg\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Work done = 196.340 kJ/kg\n" + ] + } + ], + "prompt_number": 20 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.58 page no : 201 " + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate per kg of steam :\n", + "(i) The work done during expansion ;\n", + "(ii) The heat flow to or from the cylinder walls during the expansion.\n", + "'''\n", + "\n", + "# Variables\n", + "p1 = 7.*10**5; \t\t\t#N/m**2\n", + "x1 = 0.98;\n", + "p2 = 0.34*10**5; \t\t#N/m**2\n", + "vg = 0.273; \t\t\t#m**3/kg\n", + "n = 1.1;\n", + "v_g2 = 4.65; \t\t\t#m**3/kg\n", + "u_f1 = 696.; \t\t\t#kJ/kg\n", + "u_g1 = 2573.; \t\t\t#kJ/kg\n", + "u_f2 = 302.; \t\t\t#kJ/kg\n", + "u_g2 = 2472.; \t\t\t#kJ/kg\n", + "\n", + "# Calculations and Results\n", + "v1 = x1*vg;\n", + "v2 = v1*(p1/p2)**(1/n);\n", + "x2 = v2/v_g2;\n", + "\n", + "\n", + "print (\"(i) Work done by the steam during the process\")\n", + "W = (p1*v1-p2*v2)/(n-1)/10**3; \t\t\t#kJ/kg\n", + "print (\"W = %.3f\")%(W), (\"kJ/kg\")\n", + "\n", + "\n", + "print (\"(ii) Heat transferred\")\n", + "u1 = (1-x1)*u_f1+x1*u_g1;\n", + "u2 = (1-x2)*u_f2+x2*u_g2;\n", + "Q = u2-u1 + W;\n", + "print (\"Q = %.3f\")%(Q), (\"kJ/kg\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Work done by the steam during the process\n", + "W = 450.232 kJ/kg\n", + "(ii) Heat transferred\n", + "Q = 169.289 kJ/kg\n" + ] + } + ], + "prompt_number": 55 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.59 page no : 203" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "determine the work done per kg of steam flow through the turbine\n", + "'''\n", + "\n", + "# Variables\n", + "p1 = 15.; \t\t\t#bar\n", + "t1 = 350.; \t\t\t#0C\n", + "C1 = 60.; \t\t\t#m/s\n", + "p2 = 1.2; \t\t\t#bar\n", + "C2 = 180.; \t\t\t#m/s\n", + "s1 = 7.102; \t\t\t#kJ/kg\n", + "s_f2 = 1.3609; \t\t\t#kJ/kg\n", + "s_g2 = 7.2884; \t\t\t#kJ/kg\n", + "h_f2 = 439.4; \t\t\t#kJ/kg\n", + "h_fg2 = 2241.1; \t\t\t#kJ/kg\n", + "h1 = 3147.5; \t\t\t#kJ/kg\n", + "\n", + "# Calculations\n", + "x2 = (s1 - s_f2)/(s_g2-s_f2);\n", + "h2 = h_f2+x2*h_fg2;\n", + "W = (h1-h2) + (C1**2 - C2**2)/2/1000;\n", + "\n", + "# Results\n", + "print (\"Work done = %.3f\")%(W),(\"kJ/kg\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Work done = 523.075 kJ/kg\n" + ] + } + ], + "prompt_number": 56 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.60 page no : 204" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "determine the quality of the steam leaving the nozzle.\n", + "'''\n", + "# Variables\n", + "p1 = 10.; \t\t\t#bar\n", + "t1 = 200.; \t\t\t#0C\n", + "C1 = 60.; \t\t\t#m/s**2\n", + "c2 = 650.; \t\t\t#m/s\n", + "p2 = 1.5; \t\t\t#bar\n", + "h1 = 2827.9; \t\t\t#kJ/kg\n", + "h_f2 = 467.1; \t\t\t#kJ/kg\n", + "h2 = 2618.45; \t\t\t#kJ/kg\n", + "h_g2 = 2693.4; \t\t\t#kJ/kg\n", + "\n", + "# Calculations\n", + "x2 = (h2-h_f2)/(h_g2-h_f2);\n", + "\n", + "# Results\n", + "print (\"quality of steam leaving the nozzle = %.3f\")%(x2)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "quality of steam leaving the nozzle = 0.966\n" + ] + } + ], + "prompt_number": 57 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.61 page no : 206" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate the initial dryness fraction of the steam.\n", + "'''\n", + "\n", + "# Variables\n", + "h1 = 2776.4; \t\t\t#kJ/kg\n", + "h2 = h1;\n", + "h_f1 = 884.6; \t\t\t#kJ/kg\n", + "h_fg1 = 1910.3; \t\t#kJ/kg\n", + "\n", + "# Calculations\n", + "x1 = (h1-h_f1)/h_fg1;\n", + "\n", + "# Results\n", + "print (\"Initial dryness fraction = %.3f\")%(x1)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Initial dryness fraction = 0.990\n" + ] + } + ], + "prompt_number": 58 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.62 page no : 207" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine the exit condition of steam using Mollier chart.\n", + "'''\n", + "\n", + "# Variables\n", + "p1 = 10.; \t\t\t#bar\n", + "x1 = 0.9; \t\t\t#bar\n", + "p2 = 2.; \t\t\t#bar\n", + "\n", + "# Calculations\n", + "# Umath.sing Mollier chart, we get\n", + "x2 = 0.94;\n", + "\n", + "# Results\n", + "print (\"x2 = \"),(x2)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "x2 = 0.94\n" + ] + } + ], + "prompt_number": 59 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.63 Page no :208" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "(i) Change in entropy ;\n", + "(ii) Change in enthalpy ;\n", + "(iii) Change in internal energy.\n", + "'''\n", + "\n", + "\n", + "import math \n", + "print (\"(a)From steam tables\")\n", + "\n", + "# Variables\n", + "p1 = 15*10**5; \t\t\t#Pa\n", + "p2 = 7.5*10**5; \t\t\t#Pa\n", + "h_f1 = 844.7; \t\t\t#kJ/kg\n", + "ts1 = 198.3; \t\t\t#0C\n", + "s_f1 = 2.3145; \t\t\t#kJ/kg.K\n", + "s_g1 = 6.4406; \t\t\t#kJ/kg.K\n", + "v_g1 = 0.132; \t\t\t#m**3/kg\n", + "h_fg1 = 1945.2; \t\t\t#kJ/kg\n", + "x1 = 0.95;\n", + "h_f2 = 709.3; \t\t\t#kJ/kg\n", + "h_fg2 = 2055.55; \t\t\t#kJ/kg\n", + "s_f2 = 2.0195; \t\t\t#kJ/kg\n", + "s_g2 = 6.6816; \t\t\t#kJ/kg.K\n", + "v_g2 = 0.255; \t\t\t#m**3/kg\n", + "x2 = 0.9;\n", + "x3 = 1;\n", + "s_f3 = 0.521; \t\t\t#kJ/kg K\n", + "s_g3 = 8.330; \t\t\t#kJ/kg K\n", + "\n", + "# Calculations\n", + "h2 = h_f2+x2*h_fg2;\n", + "h1 = h_f1 + x1*h_fg1;\n", + "s1 = s_f1 + x1*(s_g1-s_f1);\n", + "s2 = s1;\n", + "ds_12 = s2-s1;\n", + "\n", + "s3 = s_f3+x3*(s_g3-s_f3);\n", + "ds_23 = s3-s2;\n", + "\n", + "ds = 709.3 + 0.9 * 2055.55\n", + "\n", + "# Results\n", + "print (\"(i) Change in entropy = %.3f\")% (ds), (\"kJ/kg K\")\n", + "\n", + "h3 = h2;\n", + "\n", + "dh = h2-h1;\n", + "print (\"(ii) Change in enthalpy %.2f\")%(dh), (\"kJ/kg\")\n", + "\n", + "\n", + "print (\"(iii) Change in internal energy\"),\n", + "u1 = h1-p1*x1*v_g1/10**3;\n", + "u2 = h2-p2*x2*v_g2/10**3;\n", + "du = u2-u1;\n", + "print (\"du = %.3f\")% (du), (\"kJ/kg\")\n", + "\n", + "\n", + "\t\t\t# Only the expansion of steam from point 1 to 2 (i.e., isentropic expansion) is reversible because of unresisted flow whereas the expansion from point 2 to point 3 (i.e., throttling expansion) is irreversible because of frictional resismath.tance to flow. Increase of entropy also shows that expansion from point 2 to point 3 is irreversible.\n", + "\n", + "\n", + "print (\"(b) Using Mollier chart\")\n", + "h1 = 2692; \t\t\t#kJ/kg\n", + "h2 = 2560; \t\t\t#kJ/kg\n", + "s1 = 6.23; \t\t\t#kJ/kg K\n", + "s2 = s1;\n", + "s3 = 8.3; \t\t\t#kJ/kg K\n", + "\n", + "ds = s3-s1;\n", + "print (\"(i) Change in entropy = %.3f\")%(ds), (\"kJ/kg K\")\n", + "\n", + "\n", + "dh = h2-h1;\n", + "print (\"(ii) Change in enthalpy = %.3f\")%(dh),(\"kJ/kg\")\n", + "\n", + "u3=u2-u1\n", + "print (\"(iii) Change in internal energy =%.3f\")%(u3),(\"kJ/kg\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)From steam tables\n", + "(i) Change in entropy = 2559.295 kJ/kg K\n", + "(ii) Change in enthalpy -133.35 kJ/kg\n", + "(iii) Change in internal energy du = -117.370 kJ/kg\n", + "(b) Using Mollier chart\n", + "(i) Change in entropy = 2.070 kJ/kg K\n", + "(ii) Change in enthalpy = -132.000 kJ/kg\n", + "(iii) Change in internal energy =-117.370 kJ/kg\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.64 Page no :212" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Calculate the mass of air which has left the receiver.\n", + "\n", + "\n", + "# Variables\n", + "V1 = 5.5; \t\t\t#m**3\n", + "p1 = 16.*10**5; \t\t\t#Pa\n", + "T1 = 315.; \t\t\t#K\n", + "V2 = V1;\n", + "p2 = 12.*10**5; \t\t\t#Pa\n", + "R = 0.287*10**3;\n", + "y = 1.4;\n", + "\n", + "# Calculations\n", + "m1 = p1*V1/R/T1;\n", + "T2 = T1*(p2/p1)**((y-1)/y);\n", + "m2 = p2*V2/R/T2;\n", + "\n", + "# Results\n", + "m = m1-m2;\n", + "print (\"Mass of air which left the receiver = %.3f\")% (m), (\"kg\")\n", + "\n", + "# Note : Rounding error is there." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Mass of air which left the receiver = 18.081 kg\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.65 Page no :213" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "determine the work obtainable by utilising the kinetic energy of the discharge air to run a frictionless\n", + "turbine\n", + "'''\n", + "# Variables\n", + "cp = 1.; \t\t\t#kJ/kg.K\n", + "cv = 0.711; \t\t\t#kJ/kg.K\n", + "V1 = 1.6; \t\t\t#m**3\n", + "V2 = V1;\n", + "p1 = 5.*10**5; \t\t\t#Pa\n", + "T1 = 373.; \t\t\t#K\n", + "p2 = 1.*10**5; \t\t\t#Pa\n", + "R = 287.;\n", + "y = 1.4;\n", + "\n", + "# Calculations\n", + "m1 = round(p1*V1/R/T1,2);\n", + "T2 = round(T1*(p2/p1)**((y-1)/y),2);\n", + "m2 = round(p2*V2/R/T2,3);\n", + "KE = (m1*cv*T1)-(m2*cv*T2)-(m1-m2)*cp*T2;\n", + "\n", + "# Results\n", + "print \"Kinetic energy of discharge air = %.3f\"% (KE), (\"kJ\")\n", + "print (\"This is the exact answer when using proper value of cv\")\n", + "\n", + "# Book answer is wrong." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Kinetic energy of discharge air = 382.910 kJ\n", + "This is the exact answer when using proper value of cv\n" + ] + } + ], + "prompt_number": 27 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 4.66 Page no :214" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "(i) Final state condition ;\n", + "(ii) Work done by the piston ;\n", + "(iii) Heat transferred to oxygen.\n", + "'''\n", + "\n", + "#For oxygen\n", + "import math \n", + "\n", + "# Variables\n", + "cpa = 0.88; \t\t\t#kJ/kg K\n", + "Ra = 0.24; \t\t\t#kJ/kg K\n", + "V1a = 0.035; \t\t\t#m**3\n", + "p1a = 4.5; \t\t\t#bar\n", + "T1a = 333.; \t\t\t#K\n", + "V2a = 0.07; \t\t\t#m**3\n", + "\n", + "#For methane\n", + "V1b = 0.07; \t\t\t#m**3\n", + "V2b = 0.035; \t\t\t#m**3\n", + "p1b = 4.5; \t\t\t#bar\n", + "T1b = 261; \t\t\t#K\n", + "cpb = 1.92; \t\t\t#kJ/kg K\n", + "Rb = 0.496; \t\t\t#kJ/kg K\n", + "\n", + "# Calculations and Results\n", + "yb = cpb/(cpb-Rb); \t\t\t#for methane\n", + "cva = cpa-Ra; \t\t\t#for oxygen\n", + "\n", + "print (\"(i) Final state condition\")\n", + "\n", + "p2b = p1b*(V1b/V2b)**yb;\n", + "print (\"p2 for methane = %.3f\")% (p2b), (\"bar\")\n", + "\n", + "T2b = p2b*V2b*T1b/p1b/V1b;\n", + "print (\"T2 for methane = %.3f\")% (T2b), (\"K\")\n", + "\n", + "p2a = p2b;\n", + "\n", + "T2a = p2a*V2a/p1a/V1a*T1a;\n", + "print (\"T2 for oxygen = %.3f\")% (T2a), (\"K\")\n", + "\n", + "Wb = (p1b*V1b - p2b*V2b)/(yb-1)*100; \t\t\t#kJ\n", + "\n", + "print (\"(ii)The piston will be in virtual equilibrium and hence zero work is effected by the piston.\")\n", + "\n", + "Wa = -Wb;\n", + "\n", + "ma = p1a*V1a/Ra/T1a*10**2;\n", + "\n", + "Q = ma*cva*(T2a-T1a) + Wa;\n", + "print \"(iii) Heat transferred to oxygen = %.3f\"% (Q), (\"kJ\")\n", + "\n", + "# Rouding error is there." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Final state condition\n", + "p2 for methane = 11.458 bar\n", + "T2 for methane = 332.272 K\n", + "T2 for oxygen = 1695.733 K\n", + "(ii)The piston will be in virtual equilibrium and hence zero work is effected by the piston.\n", + "(iii) Heat transferred to oxygen = 196.572 kJ\n" + ] + } + ], + "prompt_number": 4 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Industrial_Instrumentation/ch5.ipynb b/Industrial_Instrumentation/ch5.ipynb new file mode 100644 index 00000000..575e68d6 --- /dev/null +++ b/Industrial_Instrumentation/ch5.ipynb @@ -0,0 +1,2760 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Chapter 5 : Second Law of Thermodynamics and Entropy" + ] + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.1 Page no : 237" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine :\n", + "(i) The thermal efficiency \n", + "(ii) The rate of heat rejection.\n", + "'''\n", + "\n", + "# Variables\n", + "Q1 = 1500./60; \t\t#kJ/s\n", + "W = 8.2; \t\t\t#kW\n", + "\n", + "# Calculations and Results\n", + "print (\"(i) Thermal efficiency\")\n", + "n = W/Q1;\n", + "print (\"n = \"),(n)\n", + "\n", + "print (\"(ii) Rate of heat rejection\")\n", + "Q2 = Q1-W; \n", + "print (\"Q2 = \"),(Q2), (\"kW\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Thermal efficiency\n", + "n = 0.328\n", + "(ii) Rate of heat rejection\n", + "Q2 = 16.8 kW\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.2 Page no : 238" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Is it possible to reach initial state by an adiabatic process ?\n", + "'''\n", + "\n", + "# Variables\n", + "Q_12 = 30.; \t\t#kJ\n", + "W_12 = 60; \t\t\t#kJ\n", + "\n", + "# Calculations\n", + "dU_12 = Q_12-W_12;\n", + "Q_21 = 0;\n", + "W_21 = Q_21+dU_12;\n", + "\n", + "# Results\n", + "print (\"W_21 = \"),(W_21)\n", + "print (\"Thus 30 kJ work has to be done on the system to restore it to original state, by adiabatic process.\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "W_21 = -30.0\n", + "Thus 30 kJ work has to be done on the system to restore it to original state, by adiabatic process.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.3 Page no : 239" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Find the co-efficient of performance and heat transfer rate in the condenser of a refrigerator \n", + "'''\n", + "# Variables\n", + "Q2 = 12000.; \t\t\t#kJ/h\n", + "W = 0.75*60*60; \t\t#kJ/h\n", + "\n", + "# Calculations and Results\n", + "COP = Q2/W;\n", + "print (\"Coefficient of performance %.3f\")%(COP)\n", + "\n", + "Q1 = Q2+W;\n", + "print (\"heat transfer rate = %.3f\")%(Q1), (\"kJ/h\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Coefficient of performance 4.444\n", + "heat transfer rate = 14700.000 kJ/h\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.4 Page no : 239" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "determine the least power necessary to pump this heat out continuously\n", + "'''\n", + "# Variables\n", + "T2 = 261.; \t\t\t#K\n", + "T1 = 308.; \t\t\t#K\n", + "Q2 = 2.; \t\t\t#kJ/s\n", + "\n", + "# Calculations\n", + "Q1 = Q2*(T1/T2);\n", + "W = Q1-Q2;\n", + "\n", + "# Results\n", + "print (\"Least power required to pump the heat continuosly %.3f\")%(W),(\"kW\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Least power required to pump the heat continuosly 0.360 kW\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.5 Page no :239" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine :\n", + "(i) Heat abstracted from outside ;\n", + "(ii) Co-efficient of performance.\n", + "'''\n", + "\n", + "import math \n", + "\n", + "\n", + "# Variables\n", + "Q1 = 2*10**5; \t\t\t#kJ/h\n", + "W = 3*10**4; \t\t\t#kJ/h\n", + "\n", + "# Calculations and Results\n", + "Q2 = Q1-W;\n", + "print (\"Heat abstracted from outside = \"),(Q2), (\"kJ/h\")\n", + "\n", + "\n", + "COP_hp = Q1/(Q1-Q2);\n", + "print (\"Co-efficient of performance = %.2f\")%(COP_hp)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Heat abstracted from outside = 170000 kJ/h\n", + "Co-efficient of performance = 6.00\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.6 Page no : 240" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "What is the highest possible theoretical efficiency of a heat engine operating\n", + "with a hot reservoir of furnace gases \n", + "'''\n", + "\n", + "# Variables\n", + "T1 = 2373; \t\t\t#K\n", + "T2 = 288.; \t\t\t#K\n", + "\n", + "# Calculations\n", + "n_max = 1-T2/T1;\n", + "\n", + "# Results\n", + "print (\"Highest possible theoritical efficiency = %.3f\")% (n_max*100), (\"%\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Highest possible theoritical efficiency = 87.863 %\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.7 Page no : 240" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "find :\n", + "(i) Efficiency of the system ;\n", + "(ii) The net work transfer ;\n", + "(iii) Heat rejected to sink.\n", + "'''\n", + "\n", + "# Variables\n", + "T1 = 523.; \t\t\t#K\n", + "T2 = 258.; \t\t\t#K\n", + "Q1 = 90.; \t\t\t#kJ\n", + "\n", + "# Calculations and Results\n", + "n = 1-T2/T1;\n", + "print (\"(i) Efficiency of the system %.3f\")%(n*100), (\"%\")\n", + "\n", + "W = n*Q1;\n", + "print (\"(ii) The net work transfer\"),(\"W = %.3f\")%(W),(\"kJ\")\n", + " \n", + "Q2 = Q1-W;\n", + "print (\"(iii) Heat rejected to the math.sink\"),(\"Q2 = %.3f\")%(Q2),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Efficiency of the system 50.669 %\n", + "(ii) The net work transfer W = 45.602 kJ\n", + "(iii) Heat rejected to the math.sink Q2 = 44.398 kJ\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.8 Page no : 241" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "An inventor claims that his engine has few specifications :\n", + "State whether his claim is valid or not.\n", + "'''\n", + "\n", + "# Variables\n", + "T1 = 1023.; \t\t#K\n", + "T2 = 298.; \t\t\t#K\n", + "\n", + "# Calculations\n", + "n_carnot = 1-T2/T1;\n", + "W = 75*1000*60*60;\n", + "Q = 3.9*74500*1000;\n", + "n_thermal = W/Q;\n", + "\n", + "# Results\n", + "print (\"n_carnot = %.3f\")%(n_carnot)\n", + "\n", + "print (\"n_thermal = %.3f\")%(n_thermal)\n", + "\n", + "print (\"Since \u03b7thermal > \u03b7carnot, therefore claim of the inventor is not valid (or possible)\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "n_carnot = 0.709\n", + "n_thermal = 0.929\n", + "Since \u03b7thermal > \u03b7carnot, therefore claim of the inventor is not valid (or possible)\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.9 Page no : 241" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Find the least rate of heat rejection per kW net output of the engine ?\n", + "'''\n", + "\n", + "# Variables\n", + "T1 = 1273.; \t\t#K\n", + "T2 = 313.; \t\t\t#K\n", + "n_max = 1-T2/T1;\n", + "Wnet = 1.;\n", + "\n", + "# Calculations\n", + "Q1 = Wnet/n_max;\n", + "Q2 = Q1-Wnet;\n", + "\n", + "# Results\n", + "print (\"the least rate of heat rejection = %.3f\")%(Q2), (\"kW\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "the least rate of heat rejection = 0.326 kW\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.10 Page no : 242" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "calculate the power required\n", + "'''\n", + "\n", + "# Variables\n", + "one_ton_of_refrigeration = 210.; \t\t\t#kJ/min\n", + "Cooling_required = 40*(one_ton_of_refrigeration); \t\t\t#kJ/min\n", + "T1 = 303.; \t\t\t#K\n", + "T2 = 238.; \t\t\t#K\n", + "\n", + "# Calculations\n", + "COP_refrigerator = T2/(T1-T2);\n", + "COP_actual = 0.20*COP_refrigerator;\n", + "W = Cooling_required/COP_actual/60;\n", + "\n", + "# Results\n", + "print (\"power required = %.1f\")% (W), (\"kW\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "power required = 191.2 kW\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.11 Page no : 242" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Which source (1 or 2) would you choose to supply energy to an ideal reversible heat engine that is to produce large amount of\n", + "power if the temperature of the surroundings is 35\u00b0C ?\n", + "'''\n", + "\n", + "# Variables\n", + "E = 12000.; \t\t#kJ/min\n", + "T2 = 308.; \t\t\t#K\n", + "# Source 1\n", + "T1 = 593.; \t\t\t#K\n", + "\n", + "# Calculations\n", + "n1 = 1-T2/T1;\n", + "# Source 2\n", + "T1 = 343.; \t\t\t#K\n", + "n2 = 1-T2/T1;\n", + "W1 = E*n1;\n", + "\n", + "# Results\n", + "print (\"W1 = %.3f\")% (W1),(\"kJ/min\")\n", + "\n", + "W2 = E*n2;\n", + "print (\"W2 = %.3f\")% (W2),(\"kJ/min\")\n", + "\n", + "print (\"Thus, choose source 2.\")\n", + "print (\"The source 2 is selected even though efficiency in this case is lower, because the criterion for selection is the larger output.\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "W1 = 5767.285 kJ/min\n", + "W2 = 1224.490 kJ/min\n", + "Thus, choose source 2.\n", + "The source 2 is selected even though efficiency in this case is lower, because the criterion for selection is the larger output.\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + " Example 5.12 Page no : 243" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + ".'''\n", + "(i) Determine the heat transfer to the refrigerant and the net heat transfer to the reservoir\n", + "at 50\u00b0C ;\n", + "(ii) Reconsider (i) given that the efficiency of the heat engine and the C.O.P. of the refrig-\n", + "erator are each 45 per cent of their maximum possible values.\n", + "'''\n", + "\n", + "\n", + "# Variables\n", + "T1 = 973.; \t\t\t#K\n", + "T2 = 323.; \t\t\t#K\n", + "T3 = 248.; \t\t\t#K\n", + "\n", + "Q1 = 2500.; \t\t\t#kJ\n", + "W = 400.; \t\t\t#kJ\n", + "\n", + "# Calculations and Results\n", + "n_max = 1-T2/T1;\n", + "W1 = n_max*Q1;\n", + "COP_max = T3/(T2-T3);\n", + "W2 = W1-W;\n", + "Q4 = COP_max*W2;\n", + "COP1 = round(Q4/W2,3);\n", + "Q3 = Q4+W2;\n", + "Q2 = Q1-W1;\n", + "print (\"Heat rejection to the 50\u00b0C reservoir = %.3f\")%(Q2+Q3), (\"kJ\")\n", + "\n", + "\n", + "n = 0.45*n_max;\n", + "W1 = n*Q1;\n", + "W2 = W1-W;\n", + "COP2 = 0.45*COP1;\n", + "Q4 = W2*COP2;\n", + "Q3 = Q4+W2;\n", + "Q2 = Q1-W1;\n", + "\n", + "print (\"Heat rejected to 50\u00b0C reservoir = %.3f\")% (Q2+Q3), (\"kJ\")\n", + "\n", + "# Note : Answers are slightly different then book because of Rounding Error." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Heat rejection to the 50\u00b0C reservoir = 6299.773 kJ\n", + "Heat rejected to 50\u00b0C reservoir = 2623.147 kJ\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.13 Page no : 244" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "(i) determine the C.O.P. of the machine and work input required.\n", + "(ii) determine the overall C.O.P. of the system.\n", + "'''\n", + "\n", + "# Variables\n", + "T1 = 298.; \t\t\t#K\n", + "T2 = 273.; \t\t\t#K\n", + "Q1 = 24.; \t\t\t#kJ/s\n", + "T3 = 653.; \t\t\t#K\n", + "\n", + "# Calculations and Results\n", + "COP = T1/(T1-T2);\n", + "print (\"(i) determine COP and work input required\")\n", + "\n", + "print (\"Coefficient of performance = \"),(COP)\n", + "\n", + "COP_ref = T2/(T1-T2);\n", + "W = Q1/COP_ref;\n", + "print (\"Work input required = %.3f\")%(W),(\"kW\")\n", + "\n", + " \n", + "Q4 = T1*W/(T3-T1);\n", + "Q3 = Q4+W;\n", + "Q2 = Q1+W;\n", + "COP = Q1/Q3;\n", + "print (\"(ii)Determine overall COP of the system \"),(\"COP = %.3f\")%(COP)\n", + "\n", + "COP_overall = (Q2+Q4)/Q3;\n", + "print (\"Overall COP = %.3f\")%(COP_overall)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) determine COP and work input required\n", + "Coefficient of performance = 11.92\n", + "Work input required = 2.198 kW\n", + "(ii)Determine overall COP of the system COP = 5.937\n", + "Overall COP = 6.937\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.14 Page no : 245" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine :\n", + "(i) Power developed by the engine ;\n", + "(ii) Fuel consumed per hour.\n", + "Take enthalpy of fusion of ice = 334.5 kJ/kg.\n", + "'''\n", + "\n", + "# Variables\n", + "T_e1 = 493.; \t\t\t#K\n", + "T_e2 = 298.; \t\t\t#K\n", + "T_p1 = 298.; \t\t\t#K\n", + "T_p2 = 273.; \t\t\t#K\n", + "Amt = 15.; \t\t \t#tonnes produced per day\n", + "h = 334.5; \t\t\t #kJ/kg\n", + "Q_abs = 44500.; \t\t#kJ/kg\n", + "\n", + "# Calculations and Results\n", + "Q_p2 = Amt*10**3*h/24/60;\n", + "COP_hp = T_p2/(T_p1-T_p2);\n", + "W = Q_p2/COP_hp/60;\n", + "print (\"(i)Power developed by the engine = %.3f\")%(W),(\"kW\")\n", + "\n", + "print (\"(ii) Fuel consumed per hour\")\n", + "n_carnot = 1-(T_e2/T_e1);\n", + "Q_e1 = W/n_carnot*3600; \t\t\t#kJ/h\n", + "fuel_consumed = Q_e1/Q_abs;\n", + "print (\"Quantity of fuel consumed/hour = %.3f\")%(fuel_consumed),(\"kg/h\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)Power developed by the engine = 5.318 kW\n", + "(ii) Fuel consumed per hour\n", + "Quantity of fuel consumed/hour = 1.088 kg/h\n" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.15 Page no : 247" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "determine the intermediate temperature.\n", + "'''\n", + "\n", + "# Variables\n", + "T1 = 550.; \t\t\t#K\n", + "T3 = 350.; \t\t\t#K\n", + "\n", + "# Calculations\n", + "T2 = (T1+T3)/2;\n", + "\n", + "# Results\n", + "print (\"Intermediate temperature = \"), (T2),(\"K\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Intermediate temperature = 450.0 K\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.16 Page no : 247" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "determine :\n", + "(i) The temperature T 3 such that heat supplied to engine Q 1 is equal to the heat absorbed\n", + "by refrigerator Q 2 .\n", + "(ii) The efficiency of Carnot engine and C.O.P. of Carnot refrigerator.\n", + "'''\n", + "\n", + "# Variables\n", + "T1 = 600.; \t\t\t#K\n", + "T2 = 300.; \t\t\t#K\n", + "\n", + "# Calculations and Results\n", + "T3 = 2*T1/(T1/T2+1);\n", + "print (\"(i) When Q1 = Q2\"),(\"T3 = \"),(T3),(\"K\")\n", + "\n", + "\n", + "print (\"(ii) Efficiency of Carnot engine and COP of carnot refrigerator\")\n", + "n = (T1-T3)/T1; \t\t\t#carnot engine\n", + "COP = T2/(T3-T2); \t\t\t#refrigerator\n", + "\n", + "print (\"Efficiency of carnot engine = %.3f\")% (n)\n", + "\n", + "print (\"COP of carnot refrigerator = \"), (COP)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) When Q1 = Q2 T3 = 400.0 K\n", + "(ii) Efficiency of Carnot engine and COP of carnot refrigerator\n", + "Efficiency of carnot engine = 0.333\n", + "COP of carnot refrigerator = 3.0\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.17 Page no : 249" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "estimate the energy taken from the reservoir at 1077\u00b0C.\n", + "'''\n", + "\n", + "# Variables\n", + "T3 = 278.; \t\t\t#K\n", + "T2 = 350.; \t\t\t#K\n", + "T4 = T2;\n", + "T1 = 1350.; \t\t\t#K\n", + "\n", + "# Calculations\n", + "Q1 = 100/(((T4/T1)*(T1-T2)/(T4-T3))+T2/T1) \t#Q4+Q2 = 100; Q4 = Q1*((T4/T1)*(T1-T2)/(T4-T3)); Q2 = T2/T1*Q1;\n", + "\n", + "# Results\n", + "print (\"Q1 = %.3f\")%(Q1),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Q1 = 25.906 kJ\n" + ] + } + ], + "prompt_number": 18 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.18 Page no : 250" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Classify which of the result report a reversible cycle or irreversible cycle or impossible\n", + "results.\n", + "'''\n", + "# Variables\n", + "Q1 = 300.; \t\t\t#kJ/s\n", + "T1 = 290.; \t\t\t#0C\n", + "T2 = 8.5; \t\t\t#0C\n", + "\n", + "# Calculations and Results\n", + "print (\"let \u03a3dQ/T = A\")\n", + "\n", + "print (\"(i) 215 kJ/s are rejected\")\n", + "Q2 = 215.; \t\t\t#kJ/s\n", + "A = Q1/(T1+273) - Q2/(T2+273)\n", + "print (\"Since, A<0, Cycle is irreversible.\")\n", + "\n", + "\n", + "print (\"(ii) 150 kJ/s are rejected\")\n", + "Q2 = 150; \t\t\t#kJ/s\n", + "A = Q1/(T1+273) - Q2/(T2+273)\n", + "print (\"Since A = 0, cycle is reversible\")\n", + "\n", + "\n", + "print (\"(iii) 75 kJ/s are rejected.\")\n", + "Q2 = 75; \t\t\t#kJ/s\n", + "A = Q1/(T1+273) - Q2/(T2+273)\n", + "print (\"Since A>0, cycle is impossible\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "let \u03a3dQ/T = A\n", + "(i) 215 kJ/s are rejected\n", + "Since, A<0, Cycle is irreversible.\n", + "(ii) 150 kJ/s are rejected\n", + "Since A = 0, cycle is reversible\n", + "(iii) 75 kJ/s are rejected.\n", + "Since A>0, cycle is impossible\n" + ] + } + ], + "prompt_number": 65 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.19 Page no : 251" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Verify the Clausius inequality for the cycle.\n", + "'''\n", + "\n", + "# Variables\n", + "P1 = 0.124*10**5; \t\t\t#N/m**2\n", + "T1 = 433; \t\t\t#K\n", + "T2 = 323; \t\t\t#K\n", + "h_f1 = 687; \t\t\t#kJ/kg\n", + "h2 = 2760; \t\t\t#kJ/kg\n", + "h3 = 2160; \t\t\t#kJ/kg\n", + "h_f4 = 209; \t\t\t#kJ/kg\n", + "\n", + "# Calculations and Results\n", + "Q1 = h2-h_f1;\n", + "Q2 = h_f4-h3;\n", + "print (\"Let A = \u03a3dQ/T\")\n", + "A = Q1/T1+Q2/T2;\n", + "print (A)\n", + "print (\"A<0. Hence classius inequality is verified\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Let A = \u03a3dQ/T\n", + "-3\n", + "A<0. Hence classius inequality is verified\n" + ] + } + ], + "prompt_number": 66 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.20 Page no :251" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''Verify the Clausius Inequality'''\n", + "\n", + "# Variables\n", + "T1 = 437.; \t\t\t#K\n", + "T2 = 324.; \t \t\t#K\n", + "h2 = 2760.; \t\t\t#kJ/kg\n", + "h1 = 690.; \t\t \t#kJ/kg\n", + "h3 = 2360.; \t\t\t#kJ/kg\n", + "h4 = 450.; \t\t\t #kJkg\n", + "\n", + "# Calculations\n", + "Q1 = h2-h1;\n", + "Q2 = h4-h3;\n", + "\n", + "# Results\n", + "print (\"Let A = \u03a3dQ/T\")\n", + "A = Q1/T1 + Q2/T2;\n", + "print \"%.3f\"%(A)\n", + "print (\"Since A<0, Classius inequality is verified\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Let A = \u03a3dQ/T\n", + "-1.158\n", + "Since A<0, Classius inequality is verified\n" + ] + } + ], + "prompt_number": 19 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.21 Page no : 266" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Find the entropy changes for the iron cube and the water. Is the process reversible ? If so why ?\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "T0 = 273.; \t\t\t#K\n", + "T1 = 673.; \t\t\t#K\n", + "T2 = 298.; \t\t\t#K\n", + "m_w = 10.; \t\t\t#kg\n", + "T3 = 323.; \t\t\t#K\n", + "c_pw = 4186.; \t\t#kJ/kg.K\n", + "\n", + "# Calculations and Results\n", + "print (\"Let C = mi*cpi\")\n", + "C = m_w*c_pw*(T3-T2)/(T1-T3);\n", + "S_iT1 = C*math.log(T1/T0); \t\t\t# Entropy of iron at 673 K\n", + "S_wT2 = m_w*c_pw*math.log(T2/T0); \t#Entropy of water at 298 K\n", + "S_iT3 = C*math.log(T3/T0); \t\t\t#Entropy of iron at 323 K\n", + "S_wT3 = m_w*c_pw*math.log(T3/T0); \t#Entropy of water at 323 K\n", + "\n", + "dS_i = S_iT3 - S_iT1;\n", + "dS_w = S_wT3 - S_wT2; \n", + "dS_net = dS_i + dS_w\n", + "\n", + "print (\"Since dS>0, process is irreversible\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Let C = mi*cpi\n", + "Since dS>0, process is irreversible\n" + ] + } + ], + "prompt_number": 68 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.23 Page no : 267" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate :\n", + "(i) The net heat flow from the air.\n", + "(ii) The net entropy change.\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "T1 = 293.; \t\t\t#K\n", + "V1 = 0.025; \t\t\t#m**3\n", + "V3 = V1;\n", + "p1 = 1.05*10**5; \t\t\t#N/m**2\n", + "p2 = 4.5*10**5; \t\t\t#N/m**2\n", + "R = 0.287*10**3; \n", + "cv = 0.718;\n", + "cp = 1.005;\n", + "T3 = 293.; \t\t\t#K\n", + "\n", + "# Calculations and Results\n", + "m = p1*V1/R/T1;\n", + "T2 = p2/p1*T1;\n", + "Q_12 = m*cv*(T2-T1);\n", + "Q_23 = m*cp*(T3-T2)\n", + "\n", + "Q_net = Q_12+Q_23;\n", + "print (\"Net heat flow = \"),(Q_net), (\"kJ\")\n", + "\n", + "\n", + "dS_32 = m*cp*math.log(T2/T1);\n", + "dS_12 = m*cv*math.log(T2/T1);\n", + "dS_31 = dS_32 - dS_12;\n", + "print (\"Decrease in entropy = %.3f\")% (dS_31), (\"kJ/K\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Net heat flow = -8.625 kJ\n", + "Decrease in entropy = 0.013 kJ/K\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.24 Page no : 269" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate :\n", + "(i) The change of entropy,\n", + "(ii) The heat flow, and\n", + "(iii) The work done.\n", + "'''\n", + "\n", + "%pylab inline\n", + "\n", + "from matplotlib.pyplot import *\n", + "from numpy import *\n", + "import math \n", + "\n", + "# Variables\n", + "p1 = 1.05*10**5; \t#N/m**2\n", + "V1 = 0.04; \t\t\t#m**3\n", + "T1 = 288.; \t\t\t#K\n", + "p2 = 4.8*10**5;\n", + "T2 = T1;\n", + "R0 = 8314.;\n", + "M = 28.;\n", + "\n", + "# Calculations and Results\n", + "R = R0/M;\n", + "m = p1*V1/R/T1;\n", + "dS = m*R*math.log(p1/p2)\n", + "print (\"Decrease in entropy = %.3f\")% (-dS), (\"J/K\")\n", + "\n", + "\n", + "print \n", + "Q = T1*(-dS);\n", + "print (\"(ii)Heat rejected = \"),(\"Q = %.3f\")%(Q),(\"J\")\n", + "\n", + "\n", + "W = Q;\n", + "print (\"Work done = %.3f\")% (W), (\"J\")\n", + "\n", + "V2 = p1*V1/p2;\n", + "v1 = V1/m; \t\t\t#specific volume\n", + "v2 = V2/m; \t\t\t#specific volume\n", + "\n", + "v = linspace(v2,0.8081571,64);\n", + "\n", + "\n", + "def f(v):\n", + " return p1*v1/v\n", + "plot(v,f(v))\n", + "\n", + "p = []\n", + "for i in range(len(v)):\n", + " p.append(p1)\n", + "plot(v,p,'--')\n", + "\n", + "p = [0 ,p2]\n", + "v = [v2 ,v2]\n", + "plot(v,p,'--')\n", + "\n", + "p = [0 ,p1]\n", + "v = [v1 ,v1]\n", + "plot(v,p,'--')\n", + "\n", + "T = [288, 288]\n", + "s = [10 ,(10-dS)]\n", + "plot(s,T)\n", + "\n", + "s = [10 ,10]\n", + "T = [0 ,288]\n", + "plot(s,T,'--')\n", + "\n", + "s = [(10-dS), (10-dS)]\n", + "T = [0 ,288]\n", + "plot(s,T,'--')\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n", + "Decrease in entropy = 22.164 J/K\n", + "\n", + "(ii)Heat rejected = Q = 6383.268 J\n", + "Work done = 6383.268 J\n" + ] + }, + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 13, + "text": [ + "[<matplotlib.lines.Line2D at 0x2c3da90>]" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "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\nZgAAAABJRU5ErkJggg==\n", + "text": [ + "<matplotlib.figure.Figure at 0x2124290>" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.25 Page no : 270" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine the change in entropy.\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "R = 287.; \t\t\t#kJ/kg.K\n", + "dU = 0;\n", + "W = 0;\n", + "Q = dU+W;\n", + "\n", + "# Calculations\n", + "dS = R*math.log(2); \t\t\t#v2/v1 = 2\n", + "\n", + "# Results\n", + "print (\"Change in entropy = %.3f\")%(dS),(\"kJ/kg.K\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Change in entropy = 198.933 kJ/kg.K\n" + ] + } + ], + "prompt_number": 22 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.26 Page no : 271" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate the change of entropy\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "m = 0.04; \t\t\t#kg\n", + "p1 = 1*10.**5; \t\t\t#N/m**2\n", + "T1 = 293.; \t\t\t#K\n", + "p2 = 9*10.**5; \t\t\t#N/m**2\n", + "V2 = 0.003; \t\t\t#m**3\n", + "cp = 0.88; \t\t\t#kJ/kg.K\n", + "R0 = 8314.;\n", + "M = 44.;\n", + "\n", + "# Calculations\n", + "R = R0/M;\n", + "T2 = p2*V2/m/R;\n", + "ds_2A = R/10**3*math.log(p2/p1);\n", + "ds_1A = cp*math.log(T2/T1);\n", + "ds_21 = ds_2A - ds_1A;\n", + "dS_21 = m*ds_21;\n", + "\n", + "# Results\n", + "print (\"Decrease in entropy = %.3f\")% (dS_21),(\"kJ/K\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Decrease in entropy = 0.010 kJ/K\n" + ] + } + ], + "prompt_number": 23 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.27 Page no : 272" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate the change of entropy \n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "p1 = 7.*10**5; \t\t\t#N/m**2\n", + "T1 = 873.; \t\t\t#K\n", + "p2 = 1.05*10**5; \t\t\t#N/M62\n", + "n = 1.25;\n", + "m = 1.; \t\t\t#kg\n", + "R = 0.287;\n", + "cp = 1.005;\n", + "\n", + "# Calculations\n", + "T2 = T1*(p2/p1)**((n-1)/n);\n", + "\n", + "# At constant temperature from 1 to A\n", + "ds_1A = R*math.log(p1/p2);\n", + "# At constant pressure from A to 2\n", + "ds_2A = cp*math.log(T1/T2);\n", + "ds_12 = ds_1A - ds_2A;\n", + "\n", + "# Results\n", + "print (\"Increase in entropy = %.3f\")% (ds_12), (\"kJ/kg.K\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Increase in entropy = 0.163 kJ/kg.K\n" + ] + } + ], + "prompt_number": 24 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.28 Page no : 274" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "(i) Show that the process is irreversible ;\n", + "(ii) Calculate the change of entropy per kg of air.\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "p1 = 7*10**5; \t\t#Pa\n", + "T1 = 733.; \t\t\t#K\n", + "p2 = 1.012*10**5; \t#Pa\n", + "T2a = 433.; \t\t#K\n", + "y = 1.4;\n", + "cp = 1.005;\n", + "\n", + "# Calculations and Results\n", + "print (\"(i) To prove that the process is irreversible\")\n", + "T2 = T1*(p2/p1)**((y-1)/y);\n", + "print (\"T2 = %.3f\")% (T2)\n", + "print (\"But the actual temperature is 433K at th epressure of 1.012 bar, Hence the process is irreversible. Proved.\")\n", + "\n", + "\n", + "print (\"(ii) Change of entropy per kg of air\")\n", + "ds = cp*math.log(T2a/T2);\n", + "print (\"Increase of entropy = %.3f\")% (ds), (\"kJ/kg.K\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) To prove that the process is irreversible\n", + "T2 = 421.820\n", + "But the actual temperature is 433K at th epressure of 1.012 bar, Hence the process is irreversible. Proved.\n", + "(ii) Change of entropy per kg of air\n", + "Increase of entropy = 0.026 kJ/kg.K\n" + ] + } + ], + "prompt_number": 25 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.29 Page no : 275" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine : \n", + "(i) Change in enthalpy ;\n", + "(ii) Change in internal energy ;\n", + "(iii) Change in entropy ;\n", + "(iv) Heat transfer ;\n", + "(v) Work transfer.\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "V1 = 0.3; \t\t\t#m**3\n", + "p1 = 4*10**5; \t\t#N/m**2\n", + "V2 = 0.08; \t\t\t#m**3\n", + "n = 1.25; \n", + "\n", + "# Calculations and Results\n", + "p2 = p1*(V1/V2)**n;\n", + "\n", + "dH = n*(p2*V2-p1*V1)/(n-1)/10**3;\n", + "print (\"(i) Change in enthalpy\"), (\"dH = %.3f\")% (dH), (\"kJ\")\n", + "\n", + "dU = dH-(p2*V2 - p1*V1)/10**3;\n", + "print (\"(ii) Change in internal energy\"),(\"dU = %.3f\")% (dU), (\"kJ\")\n", + "\n", + "dS = 0;\n", + "print (\"(iii) Change in entropy\"),(\"dS\"), (dS)\n", + "\n", + "Q = 0;\n", + "print (\"(iv)Heat transfer\"),(\"Q = \"), (Q)\n", + "\n", + "W = Q-dU;\n", + "print (\"(v) Work transfer\"),(\"W = %.3f\")%(W),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Change in enthalpy dH = 234.947 kJ\n", + "(ii) Change in internal energy dU = 187.958 kJ\n", + "(iii) Change in entropy dS 0\n", + "(iv)Heat transfer Q = 0\n", + "(v) Work transfer W = -187.958 kJ\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.30 Page no : 277" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine :\n", + "(i) Change in internal energy,\n", + "(ii) Work done,\n", + "(iii) Heat transferred, and\n", + "(iv) Change in entropy\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "m = 20.; \t\t\t#kg\n", + "p1 = 4.*10**5; \t\t\t#Pa\n", + "p2 = 8.*10**5; \t\t\t#Pa\n", + "V1 = 4.; \t\t\t#m**3\n", + "V2 = V1;\n", + "cp = 1.04; \t\t\t#kJ/kg.K\n", + "cv = 0.7432; \t\t\t#kJ/kg.K\n", + "R = cp-cv;\n", + "T1 = p1*V1/R/1000.; \t\t\t#kg.K; T = mass*temperature\n", + "T2 = p2*V2/R/1000.; \t\t\t#kg.K\n", + "\n", + "# Calculations and Results\n", + "dU = cv*(T2-T1);\n", + "print (\"(i) Change in internal energy\"),(\"dU = %.3f\")% (dU), (\"kJ\")\n", + "\n", + "Q = 0;\n", + "W = Q-dU;\n", + "print (\"(ii) Work done\"),(\"W %.3f\")% (W), (\"kJ\")\n", + "\n", + "print (\"(iii) Heat transferred = \"), (Q)\n", + "\n", + "dS = m*cv*math.log(T2/T1);\n", + "print (\"(iv) Change in entropy = %.3f\")%(dS), (\"kJ/K\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Change in internal energy dU = 4006.469 kJ\n", + "(ii) Work done W -4006.469 kJ\n", + "(iii) Heat transferred = 0\n", + "(iv) Change in entropy = 10.303 kJ/K\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.31 Page no : 278" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "determine the net work. Also plot the processes on T-S diagram\n", + "'''\n", + "\n", + "import math \n", + "from matplotlib.pyplot import *\n", + "%pylab inline\n", + "\n", + "# Variables\n", + "V1 = 5.; \t\t\t#m**3\n", + "p1 = 2.*10**5; \t\t\t#Pa\n", + "T1 = 300.; \t\t\t#K\n", + "p2 = 6.*10**5; \t\t\t#Pa\n", + "p3 = 2.*10**5; \t\t\t#Pa\n", + "R = 287.;\n", + "n = 1.3;\n", + "y = 1.4;\n", + "\n", + "# Calculations and Results\n", + "m = p1*V1/R/T1;\n", + "T2 = T1*(p2/p1)**((n-1)/n);\n", + "T3 = T2*(p3/p2)**((y-1)/y);\n", + "W_12 = m*R*(T1-T2)/(n-1)/1000; \t\t\t#polytropic compression\n", + "W_23 = m*R*(T2-T3)/(y-1)/1000; \t\t\t#Adiabatic expansion\n", + "\n", + "\n", + "W_net = W_12+W_23;\n", + "print (\"Net work done on the air = %.3f\")%(-W_net), (\"kJ\")\n", + "\n", + "T = [T1, 310, 320, 330, 340, 350, 360, 370, 380, T2];\n", + "def f(T):\n", + " return (y-n)/(y-1)/(1-n)*R/10**3*math.log(T);\n", + "\n", + "s = [f(T1), f(310), f(320), f(330), f(340), f(350), f(360), f(370), f(380), f(T2)]\n", + "\n", + "plot(s,T)\n", + "\n", + "T = [T2, T3];\n", + "s = [f(T2), f(T2)];\n", + "plot(s,T,'r')\n", + "\n", + "# Answers are slightly diffferent because of rounding error." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n", + "Net work done on the air = 94.023 kJ\n" + ] + }, + { + "output_type": "stream", + "stream": "stderr", + "text": [ + "WARNING: pylab import has clobbered these variables: ['f', 'draw_if_interactive']\n", + "`%pylab --no-import-all` prevents importing * from pylab and numpy\n" + ] + }, + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 9, + "text": [ + "[<matplotlib.lines.Line2D at 0x2aa0d90>]" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "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\n", + "text": [ + "<matplotlib.figure.Figure at 0x2aa0bd0>" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.32 Page no : 279" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine :\n", + "(i) The heat supplied.\n", + "(ii) The entropy change.\n", + "'''\n", + "\n", + "# Variables\n", + "V1 = 0.004; \t\t\t#m**3\n", + "p1 = 1.*10**5; \t\t\t#Pa\n", + "T1 = 300.; \t\t\t#K\n", + "T2 = 400.; \t\t\t#K\n", + "y = 1.4;\n", + "M = 28.;\n", + "R0 = 8.314;\n", + "R = R0/M;\n", + "\n", + "# Calculations and Results\n", + "print (\"(i) The heat supplied\")\n", + "m = p1*V1/R/1000/T1; \t\t\t#kg\n", + "cv = R/(y-1);\n", + "Q = m*cv*(T2-T1);\n", + "print (\"Q %.3f\")%(Q), (\"kJ\")\n", + "\n", + "print (\"(ii) The entropy change\")\n", + "dS = m*cv*math.log(T2/T1);\n", + "print (\"dS = %.8f\")%(dS), (\"kJ/kg.K\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) The heat supplied\n", + "Q 0.333 kJ\n", + "(ii) The entropy change\n", + "dS = 0.00095894 kJ/kg.K\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.33 Page no : 279" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine :\n", + "(i) Change in entropy.\n", + "(ii) Work done\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "V1 = 0.05; \t\t\t#m**3\n", + "p1 = 1.*10**5; \t\t\t#Pa\n", + "T1 = 280.; \t\t\t#K\n", + "p2 = 5.*10**5; \t\t\t#Pa\n", + "\n", + "# Calculations\n", + "print (\"(i) Change in entropy\")\n", + "R0 = 8.314;\n", + "M = 28.;\n", + "R = R0/M;\n", + "m = p1*V1/R/T1/1000;\n", + "dS = m*R*math.log(p1/p2);\n", + "\n", + "# Results\n", + "print (\"dS = %.3f\")%(dS), (\"kJ/K\")\n", + "\n", + "print (\"(ii)Work done\")\n", + "Q = T1*dS;\n", + "print (\"Q = %.3f\")%(Q),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Change in entropy\n", + "dS = -0.029 kJ/K\n", + "(ii)Work done\n", + "Q = -8.047 kJ\n" + ] + } + ], + "prompt_number": 30 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.34 Page no : 280" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate :\n", + "(i) Final specific volume and temperature.\n", + "(ii) Change of internal energy, work done and heat interaction.\n", + "(iii) Change in entropy.\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "R = 0.287; \t\t\t#kJ/kg.K\n", + "m = 1.; \t\t\t#kg\n", + "p1 = 8.*10**5; \t\t\t#Pa\n", + "p2 = 1.6*10**5; \t\t\t#Pa\n", + "T1 = 380.; \t\t\t#K\n", + "n = 1.2;\n", + "y = 1.4;\n", + "\n", + "\n", + "# Calculations and Results\n", + "print (\"(i) Final specific volume and temperature\")\n", + "v1 = R*T1/p1*10**3; \t\t\t#m**3/kg\n", + "v2 = v1*(p1/p2)**(1/n);\n", + "T2 = T1*(p2/p1)**((n-1)/n);\n", + "\n", + "print (\"v2 = %.3f\")%(v2), (\"m**3/kg\")\n", + "print (\"T2 = %.3f\")% (T2),(\"K\")\n", + "\n", + "print (\"(ii) Change of internal energy, work done and heat interaction\")\n", + "dU = R/(y-1)*(T2-T1);\n", + "print (\"dU = %.3f\")%(dU), (\"kJ/kg\")\n", + "\n", + "W = R*(T1-T2)/(n-1);\n", + "print (\"W = %.3f\")%(W), (\"kJ/kg\")\n", + "\n", + "Q = dU + W;\n", + "print (\"Q = %.3f\")%(Q),(\"kJ/kg\")\n", + "\n", + "print (\"(iii) Change in entropy\")\n", + "dS = R/(y-1)*math.log(T2/T1) + R*math.log(v2/v1)\n", + "print (\"dS = %.3f\")%(dS),(\"kJ/kg.K\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Final specific volume and temperature\n", + "v2 = 0.521 m**3/kg\n", + "T2 = 290.595 K\n", + "(ii) Change of internal energy, work done and heat interaction\n", + "dU = -64.148 kJ/kg\n", + "W = 128.296 kJ/kg\n", + "Q = 64.148 kJ/kg\n", + "(iii) Change in entropy\n", + "dS = 0.192 kJ/kg.K\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.35 Page no : 281" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "(b)What would be the percentage error if the entropy change is calculated by dividing the\n", + "quantity of heat exchanged by the mean absolute temperature during the process ?\n", + "\n", + "'''\n", + "%pylab inline\n", + "import math\n", + "from matplotlib.pyplot import *\n", + "\n", + "# Variables\n", + "y = 1.4;\n", + "cv = 0.718; \t\t#kJ/kg.K\n", + "m = 1.; \t\t\t #kg\n", + "T1 = 290.; \t\t\t#K\n", + "n = 1.3;\n", + "r = 16.;\n", + "y = 1.4;\n", + "\n", + "# Calculations and Results\n", + "T2 = T1*(r)**(n-1);\n", + "\n", + "print (\"(a)\")\n", + "\n", + "T = [T1, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, T2];\n", + "def f(T):\n", + " return (y-n)*cv/(1-n)/10**3*math.log(T);\n", + "\n", + "s = [f(T1),f(300),f(310),f(320),f(330),f(340),f(350),f(360),f(370),f(380),f(390),f(400),f(410),f(420),f(430),f(440),f(450),f(460),f(470),f(480),f(490),f(500),f(510),f(520),f(530),f(540),f(550),f(560),f(570),f(580),f(590),f(600),f(610),f(620),f(630),f(640),f(650),f(660), f(T2)];\n", + "plot(s,T)\n", + "\n", + "T = [0, T2];\n", + "s = [f(T2), f(T2)];\n", + "plot(s,T,'r--')\n", + "\n", + "T = [0 ,T1];\n", + "s = [f(T1),f(T1)];\n", + "plot(s,T,'r--')\n", + "\n", + "T = [T1 ,T2];\n", + "s = [f(T1), f(T2)];\n", + "plot(s,T,'r--' )\n", + "suptitle(\"T-S diagram\")\n", + "xlabel(\"S\")\n", + "ylabel(\"T\")\n", + "text(-0.00150,400,\"pV**n = C\")\n", + "\n", + "print (\"(b)Entropy change\")\n", + "dS = cv*((n-y)/(n-1))*math.log(T2/T1);\n", + "print (\"dS = %.3f\")%(dS), (\"kJ/kg.K\")\n", + "print (\"There is decrease in entropy\")\n", + "\n", + "Q = cv*((y-n)/(n-1))*(T1-T2);\n", + "Tmean = (T1+T2)/2;\n", + "dS_app = Q/Tmean;\n", + "\n", + "error = ((-dS) - (-dS_app))/(-dS) * 100;\n", + "print (\"age error = %.3f\")%(error), (\"%\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n", + "(a)\n", + "(b)Entropy change" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "dS = -0.199 kJ/kg.K\n", + "There is decrease in entropy\n", + "age error = 5.393 %\n" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "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\nQmCC\n", + "text": [ + "<matplotlib.figure.Figure at 0x3b860d0>" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.36 Page no : 282" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "calculate :\n", + "(i) The net heat flow.\n", + "(ii) The overall change in entropy.\n", + "'''\n", + "\n", + "from matplotlib.pyplot import *\n", + "from numpy import *\n", + "# Variables\n", + "cp = 1.005; \t\t\t#kJ/kg.K\n", + "R = 0.287; \t\t\t#kJ/kg.K\n", + "V1 = 1.2; \t\t\t#m**3\n", + "p1 = 1.*10**5; \t\t\t#Pa\n", + "p2 = p1;\n", + "T1 = 300.; \t\t\t#K\n", + "T2 = 600.; \t\t\t#K\n", + "T3 = T1;\n", + "p1 = 1.*10**5; \t\t\t#Pa\n", + "cv = cp-R;\n", + "\n", + "# Calculations and Results\n", + "print (\"(i) The net heat flow\")\n", + "m = p1*V1/R/1000/T1; \t\t\t#kg\n", + "Q = m*R*(T2-T1);\n", + "print (\"Q = \"), (Q), (\"kJ\")\n", + "\n", + "print (\"(ii) The overall change in entropy\")\n", + "dS_12 = m*cp*math.log(T2/T1);\n", + "dS_23 = m*(cp-R)*math.log(T3/T2); \t\t\t#cv = cp-R\n", + "dS_overall = dS_12+dS_23;\n", + "print (\"Overall change in entropy = %.3f\")%(dS_overall),(\"kJ/K\")\n", + "\n", + "s = linspace(math.sqrt(300),math.sqrt(600),100);\n", + "T = s**2;\n", + "plot(s,T)\n", + "\n", + "s = linspace(22.18,math.sqrt(600),100)\n", + "T = 10*(s-16.725)**2;\n", + "plot(s,T,'r')\n", + "\n", + "s = [17, 25];\n", + "T = [600, 600];\n", + "plot(s,T,'--')\n", + "\n", + "s = [17 ,25];\n", + "T = [300 ,300];\n", + "plot(s,T,'--')\n", + "\n", + "suptitle(\"T-s diagram \")\n", + "xlabel(\"S\")\n", + "ylabel(\"T\")\n", + "text(24,400,\"v = C\")\n", + "text(20,450,\"p = C\")" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) The net heat flow\n", + "Q = 120.0 kJ\n", + "(ii) The overall change in entropy\n", + "Overall change in entropy = 0.277 kJ/K\n" + ] + }, + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 2, + "text": [ + "<matplotlib.text.Text at 0x4787450>" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "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\nWXM+AAAAAElFTkSuQmCC\n", + "text": [ + "<matplotlib.figure.Figure at 0x46d17d0>" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.37 Page no : 283" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "(i) Constant volume heat addition till pressure becomes 5 bar, \n", + "(ii) Constant pressure cooling, and \n", + "(iii) Isothermal heating to initial state.\n", + "'''\n", + "\n", + "import math \n", + "from matplotlib.pyplot import *\n", + "\n", + "# Variables\n", + "cv = 0.718; \t\t\t#kJ/kg.K\n", + "R = 0.287 \t\t\t#kJ/kg.K\n", + "p1 = 1.*10**5; \t\t\t#Pa\n", + "T1 = 300. \t\t\t#K\n", + "V1 = 0.018; \t\t\t#m**3\n", + "p2 = 5.*10**5 \t\t\t#Pa\n", + "T3 = T1;\n", + "cp = cv+R;\n", + "p3 = p2;\n", + "\n", + "# Calculations and Results\n", + "m = p1*V1/R/T1/1000; \t\t\t#kg\n", + "T2 = T1*p2/p1;\n", + "\n", + "print (\"(i) constant volume process\")\n", + "dS_12 = m*cv*math.log(T2/T1);\n", + "print (\"dS = %.3f\")%(dS_12), (\"kJ/K\")\n", + "\n", + "print (\"(ii) Constant prssure process \")\n", + "dS_23 = m*cp*math.log(T3/T2);\n", + "print (\"dS = %.3f\")%(dS_23), (\"kJ/K\")\n", + "\n", + "print (\"(iii) Isothermal process\")\n", + "dS_31 = m*R*math.log(p3/p1);\n", + "print (\"dS = %.5f\")%(dS_31),(\"kJ/K\")\n", + "\n", + "print (\"T-s diagram\")\n", + "s = linspace(math.sqrt(300),math.sqrt(600),72);\n", + "T = s**2;\n", + "#plot(s,T)\n", + "\n", + "s = linspace(22.18,math.sqrt(600),24)\n", + "T = 10*(s-16.725)**2;\n", + "#plot(s,T,'r')\n", + "\n", + "s = [math.sqrt(300), 22.18];\n", + "T = [300 ,300];\n", + "#plot(s,T,'g')\n", + "\n", + "print (\"p-V diagram\")\n", + "\n", + "V = [0.018, 0.018];\n", + "p = [1 ,5];\n", + "#plot(V,p)\n", + "\n", + "p = [5 ,5];\n", + "V = [0.0036, 0.018];\n", + "#plot(V,p,'r')\n", + "\n", + "V = linspace(0.0036,0.018,145)\n", + "\n", + "def f():\n", + " return 1*0.018/V;\n", + "f1 = f()\n", + "\n", + "plot(V,f1,'g')\n", + "suptitle(\"p-V diagram\")\n", + "xlabel(\"V\")\n", + "ylabel(\"p\")\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) constant volume process\n", + "dS = 0.024 kJ/K\n", + "(ii) Constant prssure process \n", + "dS = -0.034 kJ/K\n", + "(iii) Isothermal process\n", + "dS = 0.00966 kJ/K\n", + "T-s diagram\n", + "p-V diagram\n" + ] + }, + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 3, + "text": [ + "<matplotlib.text.Text at 0x4047ad0>" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "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\n", + "text": [ + "<matplotlib.figure.Figure at 0x4232ad0>" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.39 Page no : 285" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine the entropy change of 4 kg of a perfect gas \n", + "'''\n", + "\n", + "import math \n", + "from scipy.integrate import quad \n", + "\n", + "# Variables\n", + "m = 4; \t\t\t #kg\n", + "T1 = 400; \t\t\t#K\n", + "T2 = 500; \t\t\t#K\n", + "\n", + "# Calculations\n", + "def f12( T): \n", + "\t return m*(0.48+0.0096*T)/T\n", + "\n", + "dS = quad(f12, T1,T2)[0]\n", + "\n", + "# Results\n", + "print (\"dS = %.3f\")%(dS), (\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "dS = 4.268 kJ\n" + ] + } + ], + "prompt_number": 34 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.40 Page no : 286" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "find the entropy of the gas at 25 bar and 750 K temperature.\n", + "'''\n", + "\n", + "import math \n", + "from scipy.integrate import quad \n", + "\n", + "# Variables\n", + "p1 = 1*10**5; \t\t\t#Pa\n", + "T1 = 273; \t\t\t#K\n", + "p2 = 25*10**5; \t\t\t#Pa\n", + "T2 = 750; \t\t\t#K\n", + "R = 0.29; \t\t\t#kJ/kg.K ; cp = 0.85+0.00025*T; cv = 0.56+0.00025*T; R = cp-cv;\n", + "\n", + "# Calculations\n", + "v2 = R*T2/p2;\n", + "v1 = R*T1/p1;\n", + "\n", + "def f8( T): \n", + "\t return (0.56+0.00025*T)/T\n", + "\n", + "def f9(v):\n", + " return R/v\n", + "ds = quad(f8, T1, T2)[0] + quad(f9,v1,v2)[0]\n", + "\n", + "# Results\n", + "print (\"ds = %.3f\")%(ds),(\"kJ/kg K\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "ds = 0.045 kJ/kg K\n" + ] + } + ], + "prompt_number": 35 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.41 Page no : 287" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate :\n", + "(i) Final equilibrium temperature,\n", + "(ii) Final pressure on each side of the diaphragm, and\n", + "(iii) Entropy change of system.\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "cv = 0.715; \t\t\t#kJ/kg K\n", + "R = 0.287; \t\t\t#kJ/kg K\n", + "V_A = 0.25; \t\t\t#m**3\n", + "p_Ai = 1.4; \t\t\t#bar\n", + "T_Ai = 290; \t\t\t#K\n", + "V_B = 0.25; \t\t\t#m**3\n", + "p_Bi = 4.2; \t\t\t#bar\n", + "T_Bi = 440; \t\t\t#K\n", + "\n", + "# Calculations and Results\n", + "print (\"(i) Final equilibrium temperature\")\n", + "m_A = p_Ai * 10**5 * V_A / R / 1000/ T_Ai; \t\t\t#kg\n", + "m_B = p_Bi * 10**5 * V_B / R / 1000/ T_Bi; \t\t\t#kg\n", + "\n", + "T_f = (m_B * T_Bi + m_A * T_Ai)/(m_A + m_B);\n", + "print (\"T_f = %.3f\")% (T_f), (\"K\")\n", + "\n", + "\n", + "print (\"(ii) Final pressure on each side of the diaphragm\")\n", + "p_Af = p_Ai*T_f/T_Ai;\n", + "print (\"p_Af = %.3f\")%(p_Af),(\"bar\")\n", + "\n", + "p_Bf = p_Bi*T_f/T_Bi;\n", + "print (\"p_Bf = %.3f\")%(p_Bf),(\"bar\")\n", + "\n", + "\n", + "print (\"(iii) Entropy change of the system\")\n", + "dS_A = m_A*cv*math.log(T_f/T_Ai);\n", + "dS_B = m_B*cv*math.log(T_f/T_Bi);\n", + "dS_net = dS_A+dS_B;\n", + "print (\"Net change of entropy = %.3f\")%(dS_net), (\"kJ/K\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Final equilibrium temperature\n", + "T_f = 389.618 K\n", + "(ii) Final pressure on each side of the diaphragm\n", + "p_Af = 1.881 bar\n", + "p_Bf = 3.719 bar\n", + "(iii) Entropy change of the system\n", + "Net change of entropy = 0.016 kJ/K\n" + ] + } + ], + "prompt_number": 36 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.42 Page no : 287" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Find the change in entropy in each of the adiabatic processes.\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "cv = 1.25; \t\t\t#kJ/kg.K\n", + "T1 = 530.; \t\t\t#K\n", + "v1 = 0.0624; \t\t\t#m**3/kg\n", + "v2 = 0.186; \t\t\t#m**3/kg\n", + "dT_31 = 25.; \t\t\t#K\n", + "T3 = T1-dT_31; \t\t\t#K\n", + "dT_21 = 165.; \t\t\t#K\n", + "\n", + "# Calculations\n", + "T2 = T1-dT_21; \t\t\t#K\n", + "# Path 1-2 : Reversible adiabatic process\n", + "ds_12 = 0;\n", + "v3 = 0.186; \t\t\t#m**3/kg\n", + "v3 = v2;\n", + "ds_13 = cv*math.log(T3/T2);\n", + "\n", + "# Results\n", + "print (\"Chang in entropy = %.4f\")%(ds_13), (\"kJ/kgK\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Chang in entropy = 0.4058 kJ/kgK\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.44 Page no : 289" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "(i) Determine the heat interactions with the other two sources of heat.\n", + "(ii) Evaluate the entropy change due to each heat interaction with the engine.\n", + "(iii) Total entropy change during the cycle.\n", + "'''\n", + "\n", + "import math \n", + "from numpy import *\n", + "\n", + "# Variables\n", + "T1 = 500.; \t\t\t#K\n", + "T2 = 400.; \t\t\t#K\n", + "T3 = 300.; \t\t\t#K\n", + "Q1 = 1500.; \t\t\t#kJ/min\n", + "W = 200.; \t\t\t#kJ/min\n", + "\n", + "# Calculations and Results\n", + "A = [[1,-1],[(1./400),(-1./300)]];\n", + "B = [(-1300),(-3)];\n", + "X = linalg.solve(A,B)\n", + "\n", + "Q2 = X[0];\n", + "print (\"Q2 = \"), (Q2), (\"kJ/min\")\n", + "\n", + "Q3 = X[1];\n", + "print (\"Q3 = \"), (Q3), (\"kJ/min\")\n", + "\n", + "print (\"(ii) Entropy change \")\n", + "dS1 = (-Q1)/T1;\n", + "print (\"Entropy change of source 1 = \"), (dS1), (\"kJ/K\")\n", + "\n", + "dS2 = (-Q2)/T2;\n", + "print (\"Entropy change of math.sink 2 = \"), (dS2), (\"kJ/K\")\n", + "\n", + "dS3 = Q3/T3;\n", + "print (\"Entropy change of source 3 = \"),(dS3), (\"kJ/K\")\n", + "\n", + "\n", + "print (\"(iii) Net change of the entropy\")\n", + "dSnet = dS1 + dS2 + dS3;\n", + "print (\"dSnet = %d\")% (dSnet)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Q2 = -1600.0 kJ/min\n", + "Q3 = -300.0 kJ/min\n", + "(ii) Entropy change \n", + "Entropy change of source 1 = -3.0 kJ/K\n", + "Entropy change of math.sink 2 = 4.0 kJ/K\n", + "Entropy change of source 3 = -1.0 kJ/K\n", + "(iii) Net change of the entropy\n", + "dSnet = 0\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.45 Page no : 291" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine the maximum amount of work that can be recovered as the system is cooled down to the temperature of the reservoir.\n", + "'''\n", + "\n", + "import math \n", + "from scipy.integrate import quad \n", + "\n", + "# Variables\n", + "T1 = 250; \t\t\t#K\n", + "T2 = 125; \t\t\t#K\n", + "\n", + "# Calculations\n", + "#cv = 0.0045*T**2\n", + "def f10( T): \n", + "\t return 0.045*T**2\n", + "\n", + "Q1 = quad(f10, T1, T2)[0]\n", + "\n", + "def f11( T): \n", + "\t return 0.045*T\n", + "\n", + "dS_system = quad(f11, T1, T2)[0]\n", + "\n", + "dS_universe = 0;\n", + "\n", + "W_max = ((-Q1) -T2*(dS_universe-dS_system))/1000;\n", + "\n", + "# Results\n", + "print (\"W_max = %.3f\")%(W_max), (\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "W_max = 73.242 kJ\n" + ] + } + ], + "prompt_number": 39 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.46 Page no : 292" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Establish the direction of the flow of the air in the duct.\n", + "'''\n", + "\n", + "import math \n", + "from scipy.integrate import quad \n", + "\n", + "# Variables\n", + "cp = 1.005; \t\t\t#kJ/kg K\n", + "T_A = 333.; \t\t\t#K\n", + "T_B = 288.; \t\t\t#K\n", + "p_A = 140.; \t\t\t#kPa\n", + "p_B = 110.; \t\t\t#kPa\n", + "#h = cp*T\n", + "#v/T = 0.287/p\n", + "\n", + "# Calculations\n", + "def f9( T): \n", + "\t return cp/T\n", + "\n", + "def f10(p):\n", + " return 0.287/p\n", + " \n", + "ds_system = quad(f9, T_B, T_A)[0] + quad(f10,p_A,p_B)[0]\n", + "ds_surr = 0;\n", + "ds_universe = ds_system+ds_surr;\n", + "\n", + "# Results\n", + "print (\"change in entropy of universe = -%.4f\")% (ds_universe), (\"kJ/kgK\")\n", + "print (\"Since change in entropy of universe from A to B is -ve\")\n", + "print (\"The flow is from B to A\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "change in entropy of universe = -0.0767 kJ/kgK\n", + "Since change in entropy of universe from A to B is -ve\n", + "The flow is from B to A\n" + ] + } + ], + "prompt_number": 20 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.47 Page no : 292" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate the change of entropy due to mixing process.\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "m1 = 3.; \t\t\t#kg\n", + "m2 = 4.; \t\t\t#kg\n", + "T0 = 273.; \t\t\t#K\n", + "T1 = 80.+273; \t\t\t#K\n", + "T2 = 15.+273; \t\t\t#K\n", + "c_pw = 4.187; \t\t\t#kJ/kgK\n", + "\n", + "# Calculations\n", + "tm = (m1*T1 + m2*T2)/(m1+m2);\n", + "Si = m1*c_pw*math.log(T1/T0) + m2*c_pw*math.log(T2/T0);\n", + "Sf = (m1+m2)*c_pw*math.log(tm/T0);\n", + "dS = Sf-Si;\n", + "\n", + "# Results\n", + "print (\"Net change in entropy = %.3f\")%(dS),(\"kJ/K\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Net change in entropy = 0.150 kJ/K\n" + ] + } + ], + "prompt_number": 41 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.49 Page no : 294" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "(a)find :\n", + "(i) Entropy change of water ;\n", + "(ii) Entropy change of the heat reservoir ;\n", + "(iii) Entropy change of the universe.\n", + "(b)what will the entropy change of the universe be ?\n", + "(c) Explain how water might be heated from 0\u00b0C to 90\u00b0C \n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "m = 1.; \t\t\t#kg\n", + "T1 = 273.; \t\t\t#K\n", + "T2 = 363.; \t\t\t#K\n", + "c = 4.187;\n", + "\n", + "# Calculations and Results\n", + "print (\"(a)\")\n", + "ds_water = m*c*math.log(T2/T1);\n", + "print (\"(i) Entropy of water = %.3f\")%(ds_water), (\"kJ/kgK\")\n", + "\n", + "print (\"(ii) Entropy change of the reservoir \")\n", + "Q = m*c*(T2-T1);\n", + "ds_reservoir = -Q/T2;\n", + "print (\"ds_reservoir = %.3f\")% (ds_reservoir), (\"kJ/K\")\n", + "\n", + "ds_universe = ds_water+ds_reservoir;\n", + "print (\"(iii) Entropy change of universe = %.3f\")% (ds_universe), (\"kJ/K\")\n", + "\n", + "print (\"(b)\")\n", + "T3 = 313; \t\t\t#K\n", + "ds_water = m*c*(math.log(T3/T1) + math.log(T2/T3));\n", + "ds_res1 = -m*c*(T3-T1)/T3;\n", + "ds_res2 = -m*c*(T2-T3)/T2;\n", + "\n", + "ds_universe = ds_water+ds_res1+ds_res2;\n", + "print (\"(iii) Entropy change of universe = %.3f\")%(ds_universe), (\"kJ/K\")\n", + "\n", + "print (\"(c) The entropy change of universe would be less and less, if the water is heated in more and more stages, by bringing\")\n", + "print (\"the water in contact successively with more and more heat reservoirs, each succeeding reservoir being at a higher temperature\") \n", + "print (\"than the preceding one.\")\n", + "\n", + "print (\"When water is heated in infinite steps, by bringing in contact with an infinite number of reservoirs in succession, so that\") \n", + "print (\"at any insmath.tant the temperature difference between the water and the reservoir in contact is infinitesimally small, then\") \n", + "print (\"the entropy change of the universe would be zero and the water would be reversibly heated.\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a)\n", + "(i) Entropy of water = 1.193 kJ/kgK\n", + "(ii) Entropy change of the reservoir \n", + "ds_reservoir = -1.038 kJ/K\n", + "(iii) Entropy change of universe = 0.155 kJ/K\n", + "(b)\n", + "(iii) Entropy change of universe = 0.081 kJ/K\n", + "(c) The entropy change of universe would be less and less, if the water is heated in more and more stages, by bringing\n", + "the water in contact successively with more and more heat reservoirs, each succeeding reservoir being at a higher temperature\n", + "than the preceding one.\n", + "When water is heated in infinite steps, by bringing in contact with an infinite number of reservoirs in succession, so that\n", + "at any insmath.tant the temperature difference between the water and the reservoir in contact is infinitesimally small, then\n", + "the entropy change of the universe would be zero and the water would be reversibly heated.\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 5.50 Page no : 295" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "(i) Determine the entropy increase of the universe.\n", + "(ii) What is the minimum amount of work necessary to convert the water back into ice at \u2013 5\u00b0C ?\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "cp = 2.093; \t\t\t#kJ/kg0C\n", + "c = 4.187;\n", + "Lf = 333.33; \t\t\t#kJ/kg\n", + "m = 1.; \t\t\t#kg\n", + "T0 = 273.; \t\t\t#K\n", + "T1 = 268.; \t\t\t#K\n", + "T2 = 298.; \t\t\t#K\n", + "\n", + "# Calculations and Results\n", + "Q_s = m*cp*(T0-T1);\n", + "Q_f = m*Lf;\n", + "Q_l = m*c*(T2-T0);\n", + "Q = Q_s+Q_f+Q_l;\n", + "\n", + "print (\"(i) Entropy increase of the universe\")\n", + "ds_atm = -Q/T2;\n", + "ds_sys1 = m*cp*math.log(T0/T1);\n", + "ds_sys2 = Lf/T0;\n", + "ds_sys3 = m*c*math.log(T2/T0);\n", + "ds_total = ds_sys1+ds_sys2+ds_sys3;\n", + "ds_universe = ds_total+ds_atm;\n", + "\n", + "print (\"Entropy increase of universe = %.3f\")%(ds_universe), (\"kJ/K\")\n", + "\n", + "\n", + "print (\"(ii) Minimum amount of work necessary to convert the water back into ice at \u2013 5\u00b0C, Wmin.\")\n", + "dS_refrigerator = 0;\n", + "\n", + "dS_system = -1.6263; \t\t\t#kJ/kg K\n", + "T = 298; \t\t\t#K\n", + "#For minimum work \n", + "W_min = T*(-dS_system)-Q;\n", + "\n", + "print (\"Minimum work done = %.3f\")% (W_min), (\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Entropy increase of the universe\n", + "Entropy increase of universe = 0.122 kJ/K\n", + "(ii) Minimum amount of work necessary to convert the water back into ice at \u2013 5\u00b0C, Wmin.\n", + "Minimum work done = 36.167 kJ\n" + ] + } + ], + "prompt_number": 43 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Industrial_Instrumentation/ch6.ipynb b/Industrial_Instrumentation/ch6.ipynb new file mode 100644 index 00000000..a3874b6a --- /dev/null +++ b/Industrial_Instrumentation/ch6.ipynb @@ -0,0 +1,1286 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 6 : Availability and Irreversibility" + ] + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 6.1 Page no : 313" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine the irreversibility if the sink temperature is 293 K. \n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "T0 = 293.; \t\t\t#K\n", + "T1 = 300.; \t\t\t#K\n", + "T2 = 370.; \t\t\t#K\n", + "cv = 0.716;\n", + "cp = 1.005;\n", + "R = 0.287;\n", + "p1 = 1.; \t\t\t#bar\n", + "p2 = 6.8; \t\t\t#bar\n", + "m = 1.; \t\t\t#kg\n", + "\n", + "# Calculations\n", + "Wmax = -(cv*(T2-T1) - T0*(cp*math.log(T2/T1)-R*math.log(p2/p1)));\n", + "n = 1/(1-(math.log(T2/T1)/math.log(p2/p1)));\n", + "Wact = m*R*(T1-T2)/(n-1);\n", + "I = Wmax - Wact;\n", + "\n", + "# Results\n", + "print (\"Irreversibility = %.3f\")%(I),(\"kJ/kg\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Irreversibility = 13.979 kJ/kg\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 6.2 Page no : 313" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "find\n", + "(i) The entropy produced during heat transfer ;\n", + "(ii) The decrease in available energy after heat transfer.\n", + "'''\n", + "\n", + "# Variables\n", + "T1 = 1000.; \t\t\t#K\n", + "T2 = 500.; \t\t\t#K\n", + "T0 = 300.; \t\t\t#K\n", + "Q = 7200.; \t\t\t#kJ/min\n", + "\n", + "# Calculations and Results\n", + "print (\"(i) Net change of entropy :\")\n", + "dS_source = -Q/T1;\n", + "dS_system = Q/T2;\n", + "dS_net = dS_source+dS_system;\n", + "print (\"dS_net = \"), (dS_net), (\"kJ/min.K\")\n", + "\n", + "\n", + "print (\"(ii) Decrease in available energy :\")\n", + "AE_source = (T1-T0)*(-dS_source); \t\t\t#Available energy with the source\n", + "AE_system = (T2-T0)*dS_system; \t\t\t#Available energy with the system\n", + "dAE = AE_source - AE_system; \t\t\t#Decrease in available energy\n", + "print (\"dAE = \"), (dAE), (\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Net change of entropy :\n", + "dS_net = 7.2 kJ/min.K\n", + "(ii) Decrease in available energy :\n", + "dAE = 2160.0 kJ\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 6.3 Page no : 315" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine :\n", + "(i) The availability if the system goes through the ideal work producing process.\n", + "(ii) The availability and effectiveness if the air is cooled at constant pressure to atmos-\n", + "pheric temperature without bringing it to complete dead state. Take c v = 0.718 kJ/kg K ;\n", + "c p = 1.005 kJ/kg K\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "m = 8.; \t\t\t#kg\n", + "T1 = 650.; \t\t\t#K\n", + "p1 = 5.5*10**5; \t\t\t#Pa\n", + "p0 = 1*10.**5; \t\t\t#Pa\n", + "T0 = 300.; \t\t\t#K\n", + "cp = 1.005; \t\t\t#kJ/kg.K\n", + "cv = 0.718;\n", + "R = 0.287;\n", + "#p1*v1/T1 = p0*v0/T0\n", + "#Let r = v1/v0 = 1/2.54\n", + "r = 1/2.54;\n", + "\n", + "# Calculations and Results\n", + "print (\"(i) Change in available energy(for bringing the system to dead state) = \")\n", + "ds = cv*math.log(T1/T0) + R*math.log(r);\n", + "dAE = m*(cv*(T1-T0) - T0*ds);\n", + "#dAE is the change in available energy in kJ\n", + "V1 = m*R*10**3*T1/p1;\n", + "V0 = V1/r;\n", + "L = p0*(V0 - V1)/10**3;\n", + "print (\"Loss of availability, L = \"), (L), (\"kJ\")\n", + "\n", + "print (\"(ii) Available Energy and Effectiveness\")\n", + "Q = m*cp*(T1-T0);\n", + "ds = m*cp*math.log(T1/T0);\n", + "Unavailable_energy = T0*ds;\n", + "Available_energy = Q - Unavailable_energy;\n", + "print (\"Available energy = %.3f\")% (Available_energy), (\"kJ\")\n", + "\n", + "Effectiveness = Available_energy/dAE;\n", + "print (\"Effectiveness = %.3f\")% (Effectiveness)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Change in available energy(for bringing the system to dead state) = \n", + "Loss of availability, L = 417.872 kJ\n", + "(ii) Available Energy and Effectiveness\n", + "Available energy = 949.066 kJ\n", + "Effectiveness = 0.719\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 6.4 Page no : 316" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Obtain the results on the basis of 1 kg of water.\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "c_pg = 1.; \t\t\t#kJ/kgK\n", + "h_fg = 1940.7; \t\t\t#kJ/kg\n", + "Ts = 473.; \t \t\t#K ; Temperature of saturation of steam\n", + "T1 = 1273.; \t\t\t#K ; Initial temperature of gases\n", + "T2 = 773.; \t\t \t#K ; Final temperature of gases\n", + "T0 = 293.; \t\t\t #K ; atmospheric temperature\n", + "\n", + "# Calculations\n", + "#Heat lost by gases = Heat gained by 1 kg saturated water when it is converted to steam at 200 0C\n", + "m_g = h_fg/c_pg/(T1-T2);\n", + "dS_g = m_g*c_pg*math.log(T2/T1);\n", + "dS_w = h_fg/Ts;\n", + "dS_net = dS_g + dS_w;\n", + "\n", + "# Results\n", + "print (\"Net change in entropy = %.3f\")% (dS_net), (\"kJ/K\")\n", + "\n", + "E = T0*dS_net; \t\t\t#Increase in unavailable energy due to hea transfer\n", + "print (\"Increase in unavailable energy = %.3f\")%(E), (\"kJ per kg of steam formed\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Net change in entropy = 2.167 kJ/K\n", + "Increase in unavailable energy = 634.847 kJ per kg of steam formed\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 6.5 Page no : 317" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "find the loss in available energy due to above heat transfer.\n", + "'''\n", + "\n", + "import math\n", + "\n", + "# Variables\n", + "m_g = 3.; \t\t\t#kg\n", + "p1 = 2.5; \t\t\t#bar\n", + "T1 = 1200.; \t\t\t#K; Temperature of infinite source\n", + "T1a = 400.; \t\t\t#K; Initial temperature\n", + "Q = 600.; \t\t\t#kJ\n", + "cv = 0.81; \t\t\t#kJ/kg.K\n", + "T0 = 290.; \t\t\t#K; Surrounding Temperature\n", + "\n", + "# Calculations\n", + "#final temperature = T2a\n", + "T2a = Q/m_g/cv + T1a;\n", + "AE = (T1-T0)*Q/T1; \t\t\t#Available energy with the source\n", + "dS = m_g*cv*math.log(T2a/T1a); \t\t\t#Change in entropy of the gas\n", + "UAE = T0*dS; \t\t\t#Unavailability of the gas \n", + "A = Q-UAE; \t\t\t#Available energy with the gas\n", + "loss = AE-A;\n", + "\n", + "# Results\n", + "print (\"Loss in available energy due to heat transfer = %.3f\")%(loss),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Loss in available energy due to heat transfer = 193.783 kJ\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 6.6 Page no : 318" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate the unavailable energy in 60 kg of water at 60\u00b0C \n", + "'''\n", + "\n", + "import math \n", + "from scipy.integrate import quad \n", + "\n", + "# Variables\n", + "m = 60.; \t\t\t#kg\n", + "T1 = 333.; \t\t\t#K\n", + "T0 = 279.; \t\t\t#K\n", + "p = 1.; \t\t\t#atm\n", + "cp = 4.187;\n", + "\n", + "# Calculations\n", + "def f16( T): \n", + "\t return m*cp*(1-T0/T)\n", + "\n", + "Wmax = quad(f16, T0, T1)[0]\n", + "Q1 = m*cp*(T1-T0);\n", + "#Let unavailable energy = E\n", + "E = Q1-Wmax;\n", + "\n", + "# Results\n", + "print (\"unavailable energy = %.3f\")%(E), (\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "unavailable energy = 12401.141 kJ\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 6.7 Page no : 319" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "find the loss in availability for the process.\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "m = 15.; \t\t\t#kg\n", + "T1 = 340.; \t\t\t#K\n", + "T0 = 300.; \t\t\t#K\n", + "cp = 4.187; \t\t\t#kJ/kgK\n", + "\n", + "# Calculations\n", + "#Work added during churning = Increase in enthalpy of water\n", + "W = m*cp*(T1-T0);\n", + "ds = cp*math.log(T1/T0);\n", + "AE = m*(cp*(T1-T0)-T0*ds);\n", + "AE_loss = W-AE; \t\t\t#Loss in availability\n", + "\n", + "# Results\n", + "print (\"Loss in availability %.3f\")% (AE_loss), (\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Loss in availability 2358.261 kJ\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 6.8 Page no : 320" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "(i) Determine the availability of the system if the surrounding pressure and temperature\n", + "are 1 bar and 290 K respectively.\n", + "(ii) determine the availability and effectiveness\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "m = 5.; \t\t\t#kg\n", + "T1 = 550.; \t\t\t#K\n", + "p1 = 4*10.**5; \t\t\t#Pa\n", + "T2 = 290.; \t\t\t#K\n", + "T0 = T2;\n", + "p2 = 1.*10**5; \t\t\t#Pa\n", + "p0 = p2;\n", + "cp = 1.005; \t\t\t#kJ/kg K\n", + "cv = 0.718; \t\t\t#kJ/kg K\n", + "R = 0.287; \t\t\t#kJ/kg K\n", + "\n", + "# Calculations and Results\n", + "print (\"(i) Availability of the system :\")\n", + "ds = cp*math.log(T1/T0) - R*math.log(p1/p0);\n", + "Availability = m*(cv*(T1-T0) - T0*ds);\n", + "print (\"Availability of the system = %.3f\")% (Availability), (\"kJ\")\n", + "\n", + "print (\"(ii) Available energy and Effectiveness\")\n", + "Q = m*cp*(T1-T0);\n", + "dS = m*cp*math.log(T1/T0);\n", + "E = T0*dS; \t\t\t#Unavailable energy\n", + "AE = Q-E;\n", + "print (\"Available Energy = %.3f\")%(AE), (\"kJ\")\n", + "\n", + "Effectiveness = AE/Availability;\n", + "print (\"Effectiveness = %.3f\")%(Effectiveness)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Availability of the system :\n", + "Availability of the system = 577.612 kJ\n", + "(ii) Available energy and Effectiveness\n", + "Available Energy = 373.806 kJ\n", + "Effectiveness = 0.647\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 6.9 Page no : 321" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine actual and minimum power required to run the compressor. \n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "R = 0.287; \t\t\t#kJ/kgK\n", + "cp = 1.005; \t\t\t#kJ/kgK\n", + "m = 25./60; \t\t\t#kg/s\n", + "p1 = 1.; \t\t\t#bar\n", + "p2 = 2.; \t\t\t#bar\n", + "T1 = 288.; \t\t\t#K\n", + "T0 = T1;\n", + "T2 = 373.; \t\t\t#K\n", + "\n", + "# Calculations and Results\n", + "W_act = cp*(T2-T1); \t\t\t#W_actual\n", + "W_total = m*W_act;\n", + "\n", + "print (\"Total actual power required = %.3f\")%(W_total), (\"kW\")\n", + "\n", + "ds = cp*math.log(T2/T1) - R*math.log(p2/p1);\n", + "Wmin = cp*(T2-T1) - T0*(ds);\n", + "\n", + "\n", + "W = m*Wmin;\n", + "print (\"Minimuumm work required = %.3f\")%(W), (\"kW\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Total actual power required = 35.594 kW\n", + "Minimuumm work required = 28.276 kW\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 6.10 Page no : 322" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine the loss in availability if the surrounding temperature is 290 K.\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "m_O2 = 1.; \t\t\t#kg\n", + "m_H2 = 1.; \t\t\t#kg\n", + "p = 1*10.**5; \t\t\t#Pa\n", + "T_O2 = 450.; \t\t\t#K\n", + "T_H2 = 450.; \t\t\t#K\n", + "T0 = 290.; \t\t\t#K\n", + "R0 = 8.314;\n", + "M_O2 = 32.;\n", + "M_H2 = 2.;\n", + "\n", + "# Calculations\n", + "R_O2 = R0/M_O2;\n", + "v_O2 = m_O2*R_O2*T_O2/p;\n", + "R_H2 = R0/M_H2;\n", + "v_H2 = m_H2*R_H2*T_H2/p;\n", + "v_f = v_O2 + v_H2; \t\t\t#total volume after mixing\n", + "dS_O2 = R_O2*math.log(v_f/v_O2);\n", + "dS_H2 = R_H2*math.log(v_f/v_H2);\n", + "dS_net = dS_O2 + dS_H2;\n", + "#Let E be the loss in availability \n", + "E = T0*dS_net;\n", + "\n", + "# Results\n", + "print (\"Loss in availability = %.3f\")% (E), (\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Loss in availability = 286.555 kJ\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 6.11 Page no : 323" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate the decrease in available energy \n", + "'''\n", + "\n", + "import math \n", + "from scipy.integrate import quad \n", + "\n", + "# Variables\n", + "T0 = 283.; \t\t\t#K\n", + "cp = 4.18; \t\t\t#kJ/kgK\n", + "m1 = 20.; \t\t\t#kg\n", + "T1 = 363.; \t\t\t#K\n", + "m2 = 30.; \t\t\t#kg\n", + "T2 = 303.; \t\t\t#K\n", + "T3 = 327.; \t\t\t#K\n", + "\n", + "\n", + "# Calculations\n", + "def f13( T): \n", + "\t return m1*cp*(1-T0/T)\n", + "\n", + "AE1 = quad(f13, T0, T1)[0]\n", + "\n", + "def f14( T): \n", + "\t return m2*cp*(1-T0/T)\n", + "\n", + "AE2 = quad(f14, T0, T2)[0]\n", + "AE_total = AE1 + AE2; \t\t\t#before mixing\n", + "#If T K is the final temperature after mixing\n", + "T = (m1*T1+m2*T2)/(m1+m2);\n", + "m_total = m1+m2;\n", + "\n", + "#Available energy of 50kg of water at 54 0C\n", + "AE3 = m_total*cp*((T3-T0) - T0*math.log(T3/T0));\n", + "\n", + "#Decrease in available energy due to mixing dAE\n", + "dAE = AE_total - AE3;\n", + "\n", + "# Results\n", + "print (\"Decrease in avialble energy = %.3f\")% (dAE), (\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Decrease in avialble energy = 234.184 kJ\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 6.12 Page no : 324" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine the loss in availability on the basis of one kg of oil per second.\n", + "'''\n", + "\n", + "import math\n", + "\n", + "# Variables\n", + "T_w1 = 323.; \t\t\t#K\n", + "T_w2 = 343.; \t\t\t#K\n", + "T_o1 = 513.; \t\t\t#K\n", + "T_o2 = 363.; \t\t\t#K\n", + "SG_oil = 0.82;\n", + "c_po = 2.6; \t\t\t#kJ/kg K\n", + "c_pw = 4.18; \t\t\t#kJ/kg K\n", + "T0 = 300.; \t\t\t#K\n", + "m_o = 1.; \t\t\t#kg\n", + "\n", + "# Calculations\n", + "#Heat lost by oil = Heat gained by water\n", + "m_w = (m_o*c_po*(T_o1-T_o2))/(c_pw*(T_w2-T_w1));\n", + "dS_w = m_w*c_pw*math.log(T_w2/T_w1);\n", + "dS_o = m_o*c_po*math.log(T_o2/T_o1);\n", + "dAE_w = m_w*(c_pw*(T_w2-T_w1))-T0*dS_w;\n", + "dAE_o = m_o*(c_po*(T_o2-T_o1))-T0*dS_o;\n", + "\n", + "# Loss in availability E = \n", + "E = dAE_w+dAE_o;\n", + "\n", + "# Results\n", + "print (\"Loss in availability = %.3f\")%(E),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Loss in availability = -81.676 kJ\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 6.13 Page no : 325" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "calculate the net increase in entropy and unavailable energy when the system reaches common temperature\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "m_i = 1.; \t\t\t#kg\n", + "T_i = 273.; \t\t\t#K\n", + "m_w = 12.; \t\t\t#kg\n", + "T_w = 300.; \t\t\t#K\n", + "T0 = 288.; \t\t\t#K\n", + "c_pw = 4.18; \t\t\t#kJ/kg K\n", + "c_pi = 2.1; \t\t\t#kJ/kg K\n", + "L_i = 333.5; \t\t\t#kJ/kg\n", + "\n", + "# Calculations\n", + "Tc = (m_w*c_pw*T_w + m_i*c_pw*T_i - L_i)/(m_w*c_pw + m_i*c_pw);\n", + "dS_w = m_w*c_pw*math.log(Tc/T_w);\n", + "dS_i = m_i*c_pw*math.log(Tc/T_i) + L_i/T_i;\n", + "dS_net = dS_w+dS_i;\n", + "\n", + "# Results\n", + "print (\"Increase in entropy = %.3f\")% (dS_net), (\"kJ/K\")\n", + "\n", + "dAE = T0*dS_net;\n", + "print (\"Increase in unavailable energy = %.3f\")% (dAE),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Increase in entropy = 0.107 kJ/K\n", + "Increase in unavailable energy = 30.878 kJ\n" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 6.14 Page no : 326" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "What is the fraction of the available energy in the heat transferred from the process vapour\n", + "at 400\u00b0C that is lost due to the irreversible heat transfer at 200\u00b0C ?\n", + "'''\n", + "\n", + "# Variables\n", + "T1 = 673.; \t\t\t#K\n", + "T2 = 473.; \t\t\t#K\n", + "T0 = 303.; \t\t\t#K\n", + "T1a = T2;\n", + "\n", + "# Calculations\n", + "UAE = T0*(T1-T1a)/T1a/(T1-T0);\n", + "\n", + "# Results\n", + "print (\"the fraction of energy that becomes unavailable = %.3f\")%(UAE)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "the fraction of energy that becomes unavailable = 0.346\n" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 6.15 Page no : 327" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate the effectiveness of the heating process when the atmospheric temperature is 15\u00b0C.\n", + "'''\n", + "import math \n", + "\n", + "# Variables\n", + "T1 = 293.; \t\t\t#K\n", + "T2 = 353.; \t\t\t#K\n", + "Tf = 1773.; \t\t\t#K\n", + "T0 = 288.; \t\t\t#K\n", + "c_pl = 6.3; \t\t\t#kJ/kg K\n", + "\n", + "# Calculations\n", + "dAE = c_pl*(T2-T1) - T0*c_pl*math.log(T2/T1);\n", + "n = (1-T0/Tf); \t\t\t#efficiency\n", + "E = c_pl*(T2-T1)*n;\n", + "Effectiveness = dAE/E;\n", + "\n", + "# Results\n", + "print (\"Effectiveness of the heating process = %.3f\")%(Effectiveness)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Effectiveness of the heating process = 0.126\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 6.16 Page no : 328" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "calculate :\n", + "(i) The ratio of mass flow of air initially at 100\u00b0C to that initially at 20\u00b0C.\n", + "(ii) The effectiveness of heating process, if the atmospheric temperature is 20\u00b0C.\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "T0 = 293.; \t\t\t#K\n", + "T1 = 293.; \t\t\t#K\n", + "T2 = 373.; \t\t\t#K\n", + "T3 = 323.; \t\t\t#K\n", + "cp = 1.005;\n", + "\n", + "# Calculations and Results\n", + "print (\"(i) The ratio of mass flow\")\n", + "x = (T3-T1)/(T2-T3);\n", + "print (\"x = \"), (x)\n", + "\n", + "ds_13 = cp*math.log(T3/T1);\n", + "ds_32 = cp*math.log(T2/T3);\n", + "A = cp*(T3-T1) - T1*ds_13; \t \t\t#Increase of availability of system\n", + "B = x*(cp*(T2-T3)-T0*(ds_32));\t\t\t# Loss of availability of surroundings\n", + "Effectiveness = A/B;\n", + "print (\"Effectiveness of heating process = %.3f\")%(Effectiveness)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) The ratio of mass flow\n", + "x = 0.6\n", + "Effectiveness of heating process = 0.306\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 6.17 Page no : 329" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "determine :\n", + "(i) The maximum work ;\n", + "(ii) The change in availability ;\n", + "(iii) The irreversibility.\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "m = 2.5; \t\t\t#kg\n", + "p1 = 6.*10**5; \t\t\t#Pa\n", + "r = 2.; \t\t\t#r = V2/V1\n", + "cv = 0.718; \t\t\t#kJ/kg K\n", + "R = 0.287; \t\t\t#kJ/kg K\n", + "T1 = 363.; \t\t\t#K\n", + "p2 = 1.*10**5; \t\t\t#Pa\n", + "T2 = 278.; \t\t\t#K\n", + "V1 = m*R*T1/p1;\n", + "V2 = 2*V1;\n", + "T0 = 278.; \t\t\t#K\n", + "p0 = 1.*10**5; \t\t\t#Pa\n", + "Q = 0.; \t\t\t#adiabatic process\n", + "\n", + "# Calculations and Results\n", + "dS = m*cv*math.log(T2/T1) + m*R*math.log(V2/V1);\n", + "Wmax = m*(cv*(T1-T2)) + T0*(cv*math.log(T2/T1) + R*math.log(V2/V1));\n", + "print (\"(i)The maximum work\"),(\"Wmax = %.3f\")% (Wmax), (\"kJ\")\n", + "\n", + "dA = Wmax+p0*(V1-V2);\n", + "print (\"(ii)Change in availability = %.3f\")%(dA), (\"kJ\")\n", + "\n", + "I = T0*m*(cv*math.log(T2/T1)+R*math.log(V2/V1));\n", + "print (\"(iii)Irreversibility = %.3f\")% (I),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)The maximum work Wmax = 154.628 kJ\n", + "(ii)Change in availability = 111.219 kJ\n", + "(iii)Irreversibility = 5.132 kJ\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 6.18 Page no : 330" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "determine per kg of air :\n", + "(i) The decrease in availability ;\n", + "(ii) The maximum work ;\n", + "(iii) The irreversibility.\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "m = 1.; \t\t\t#kg\n", + "p1 = 7.*10**5; \t\t\t#Pa\n", + "T1 = 873.; \t\t\t#K\n", + "p2 = 1.*10**5; \t\t\t#Pa\n", + "T2 = 523.; \t\t\t#K\n", + "T0 = 288.; \t\t\t#K\n", + "Q = -9.; \t\t\t#kJ/kg\n", + "cp = 1.005; \t\t\t#kJ/kg K\n", + "R = 0.287; \t\t\t#kJ/kg K\n", + "\n", + "# Calculations and Results\n", + "print (\"(i) The decrease in availability \")\n", + "dA = cp*(T1-T2) - T0*(R*math.log(p2/p1) - cp*math.log(T2/T1));\n", + "print (\"dA = %.3f\")%(dA), (\"kJ/kg\")\n", + "\n", + "print (\"(ii) The maximum work\")\n", + "Wmax = dA; \t\t\t#change in availability\n", + "print (\"Wmax %.3f\")% (Wmax), (\"kJ/kg\")\n", + "\n", + "\n", + "W = cp*(T1-T2) + Q;\n", + "I = Wmax - W;\n", + "print (\"(iii)Irreversibility = %.3f\")%(I), (\"kJ/kg\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) The decrease in availability \n", + "dA = 364.295 kJ/kg\n", + "(ii) The maximum work\n", + "Wmax 364.295 kJ/kg\n", + "(iii)Irreversibility = 21.545 kJ/kg\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 6.19 Page no : 331" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "determine\n", + "(i) The irreversibility ;\n", + "(ii) The effectiveness.\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "cp = 1.005; \t\t\t#kJ/kg K\n", + "cv = 0.718; \t\t\t#kJ/kg K\n", + "R = 0.287; \t\t\t#kJ/kg K\n", + "m = 1.; \t\t\t#kg\n", + "T1 = 290.; \t\t\t#K\n", + "T0 = 290.; \t\t\t#K\n", + "T2 = 400.; \t\t\t#K\n", + "p1 = 1.; \t\t\t#bar\n", + "p0 = 1.; \t\t\t#bar\n", + "p2 = 6.; \t\t\t#bar\n", + "\n", + "# Calculations and Results\n", + "#Wrev = change in internal energy - T0*change in entropy\n", + "Wrev = -(cv*(T2-T1) - T0*(cp*math.log(T2/T1) - R*math.log(p2/p1)));\n", + "n = (1./(1-math.log(T2/T1)/math.log(p2/p1)));\n", + "Wact = m*R*(T1-T2)/(n-1);\n", + "\n", + "I = Wrev-Wact;\n", + "print (\"(i)Irreversibility = %.3f\")% (I), (\"kJ\")\n", + "\n", + "effectiveness = Wrev/Wact*100;\n", + "print (\"(ii)The effectiveness = %.3f\")%(effectiveness), (\"%\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)Irreversibility = 9.945 kJ\n", + "(ii)The effectiveness = 93.109 %\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 6.20 Page no : 333" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "(i) find the rise in the temperature of the bearings when the flywheel has come to rest.\n", + "(ii) Calculate the greatest possible amount of the above heat which may be returned to the\n", + "flywheel? What would be the final r.p.m. of the flywheel, if it is set in motion with this available energy ?\n", + "'''\n", + "\n", + "import math \n", + "from scipy.integrate import quad \n", + "\n", + "# Variables\n", + "I = 0.62; \t\t\t#kg/m**2\n", + "N1 = 2500.; \t\t\t#rpm\n", + "w1 = 2*math.pi*N1/60; \t\t\t#rad/s\n", + "m = 1.9; \t\t\t#kg; Water equivalent of shaft bearings\n", + "cp = 4.18;\n", + "T0 = 293.; \t\t\t#K\n", + "t0 = 20.; \t\t\t#0C\n", + "\n", + "# Calculations and Results\n", + "print (\"(i)Rise in temperature of bearings\")\n", + "KE = 1./2*I*w1**2/1000; \t\t\t#kJ\n", + "dT = KE/(m*cp); \t\t\t#rise in temperature of bearings\n", + "print (\"dT = %.3f\")% (dT), (\"0C\")\n", + "\n", + "t2 = t0+dT;\n", + "print (\"Final temperature of the bearings = %.3f\")% (t2), (\"0C\")\n", + "\n", + "T2 = t2+273;\n", + "print (\"(ii)Final r.p.m. of the flywheel\")\n", + "def f15( T): \n", + "\t return m*cp*(1-T0/T)\n", + "\n", + "AE = quad(f15, T0, T2)[0]\n", + "UE = KE - AE;\n", + "\n", + "print (\"Available energy = %.3f\")% (AE), (\"kJ\")\n", + "\n", + "UAE = KE-AE;\n", + "print (\"Unavailable energy = %.3f\")%(UAE), (\"kJ\")\n", + "\n", + "w2 = math.sqrt(AE*10**3*2/I);\n", + "N2 = w2*60/2/math.pi;\n", + "print (\"Final rpm of the flywheel = %.3f\")%(N2), (\"rpm\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)Rise in temperature of bearings\n", + "dT = 2.675 0C\n", + "Final temperature of the bearings = 22.675 0C\n", + "(ii)Final r.p.m. of the flywheel\n", + "Available energy = 0.096 kJ\n", + "Unavailable energy = 21.151 kJ\n", + "Final rpm of the flywheel = 168.407 rpm\n" + ] + } + ], + "prompt_number": 21 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 6.21 Page no : 334" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine :\n", + "(i) Reversible work and actual work assuming the process to be adiabatic ;\n", + "(ii) Irreversibility and effectiveness of the system on the basis of 1 kg of air flow.\n", + "'''\n", + "\n", + "import math\n", + "\n", + "# Variables\n", + "p1 = 8.; \t\t\t#bar\n", + "T1 = 453.; \t\t\t#K\n", + "p2 = 1.4; \t\t\t#bar\n", + "T2 = 293.; \t\t\t#K\n", + "T0 = T2;\n", + "p0 = 1.; \t\t\t#bar\n", + "m = 1.; \t\t\t#kg\n", + "C1 = 80.; \t\t\t#m/s\n", + "C2 = 40.; \t\t\t#m/s\n", + "cp = 1.005; \t\t\t#kJ/kg K\n", + "R = 0.287; \t\t\t#kJ/kg K \n", + "\n", + "# Calculations and Results\n", + "print (\"(i) Reversible work and actual work \")\n", + "A1 = cp*(T1-T0)-T0*(cp*math.log(T1/T0)-R*math.log(p1/p0))+C1**2/2/10**3; \t\t\t#Availability at the inlet\n", + "A2 = cp*(T2-T0)-T0*(cp*math.log(T2/T0)-R*math.log(p2/p0))+C2**2/2/10**3; \t\t\t#Availability at the exit\n", + "\n", + "W_rev = A1-A2;\n", + "print (\"W_rev = %.3f\")%(W_rev), (\"kJ/kg\")\n", + "\n", + "W_act = cp*(T1-T2) + (C1**2-C2**2)/2/10**3;\n", + "print (\"W_act = %.3f\")%(W_act),(\"kJ/kg\")\n", + "\n", + "print (\"(ii) Irreversibilty and effectiveness = \")\n", + "\n", + "I = W_rev-W_act;\n", + "print (\"Irreversibilty = %.3f\")% (I), (\"kJ/kg\")\n", + "\n", + "Effectiveness = W_act/W_rev*100;\n", + "print (\"Effectiveness = %.3f\")%(Effectiveness),(\"%\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Reversible work and actual work \n", + "W_rev = 181.464 kJ/kg\n", + "W_act = 163.200 kJ/kg\n", + "(ii) Irreversibilty and effectiveness = \n", + "Irreversibilty = 18.264 kJ/kg\n", + "Effectiveness = 89.935 %\n" + ] + } + ], + "prompt_number": 22 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + " Example 6.22 Page no : 335 " + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate :\n", + "(i) The isentropic efficiency of the process ;\n", + "(ii) The loss of availability of the system assuming an atmospheric temperature of 20\u00b0C ;\n", + "(iii) The effectiveness of the process ;\n", + "'''\n", + "\n", + "# Variables\n", + "p1 = 20.; \t\t\t#bar\n", + "t1 = 400.; \t\t\t#0C\n", + "p2 = 4.; \t\t\t#bar\n", + "t2 = 250.; \t\t\t#0C\n", + "t0 = 20.; \t\t\t#0C\n", + "T0 = t0+273;\n", + "h1 = 3247.6; \t\t\t#kJ/kg\n", + "s1 = 7.127; \t\t\t#kJ/kg K\n", + "#let h2' = h2a and s2' = s2a\n", + "h2a = 2964.3; \t\t\t#kJ/kg\n", + "s2a = 7.379; \t\t\t#kJ/kg K\n", + "s2 = s1;\n", + "s1a = s1;\n", + "#By interpolation, we get\n", + "h2 = 2840.8; \t\t\t#kJ/kg\n", + "\n", + "# Calculations and Results\n", + "n_isen = (h1-h2a)/(h1-h2);\n", + "print (\"(i)Isentropic efficiency = %.3f\")%(n_isen)\n", + "\n", + "A = h1-h2a + T0*(s2a-s1a);\n", + "print (\"(ii)Loss of availability = %.3f\")%(A), (\"kJ/kg\")\n", + "\n", + "Effectiveness = (h1-h2a)/A;\n", + "print (\"(iii)Effectiveness = %.3f\")% (Effectiveness)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i)Isentropic efficiency = 0.696\n", + "(ii)Loss of availability = 357.136 kJ/kg\n", + "(iii)Effectiveness = 0.793\n" + ] + } + ], + "prompt_number": 10 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Industrial_Instrumentation/ch7.ipynb b/Industrial_Instrumentation/ch7.ipynb new file mode 100644 index 00000000..f35bb080 --- /dev/null +++ b/Industrial_Instrumentation/ch7.ipynb @@ -0,0 +1,210 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 7 : Thermodynamic Relations" + ] + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 7.17 Page no : 370" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine the following :\n", + "(i) Work done on the copper during the process,\n", + "(ii) Change in entropy,\n", + "(iii) The heat transfer,\n", + "(iv) Change in internal energy, and\n", + "(v) (c p \u2013 c v ) for this change of state.\n", + "'''\n", + "\n", + "# Variables\n", + "B = 5.*10**(-5); \t\t\t# /K\n", + "K = 8.6*10**(-12); \t\t\t# m**2/N\n", + "v = 0.114*10**(-3); \t\t\t#m**3/kg\n", + "p2 = 800.*10**5; \t\t\t#Pa\n", + "p1 = 20.*10**5; \t\t\t#Pa\n", + "T = 288.; \t\t\t#K\n", + "\n", + "# Calculations and Results\n", + "W = -v*K/2*(p2**2-p1**2);\n", + "print (\"(i) Work done on the copper = %.3f\")%(W),(\"J/kg\")\n", + "\n", + "ds = -v*B*(p2-p1);\n", + "print (\"(ii) Change in entropy = %.3f\")% (ds), (\"J/kg K\")\n", + "\n", + "Q = T*ds;\n", + "print (\"(iii) The heat transfer = %.3f\")%(Q), (\"J/kg\")\n", + "\n", + "du = Q-W;\n", + "print (\"(iv) Change in internal energy = %.3f\")%(du),(\"J/kg\")\n", + "\n", + "R = B**2*T*v/K;\n", + "print (\"(v) cp \u2013 cv = %.3f\")%(R),(\"J/kg K\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Work done on the copper = -3.135 J/kg\n", + "(ii) Change in entropy = -0.445 J/kg K\n", + "(iii) The heat transfer = -128.045 J/kg\n", + "(iv) Change in internal energy = -124.909 J/kg\n", + "(v) cp \u2013 cv = 9.544 J/kg K\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 7.18 Page no : 371" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Using Clausius-Claperyon\u2019s equation, find enthalpy of vapourisation.\n", + "'''\n", + "\n", + "# Variables\n", + "vg = 0.1274; \t\t\t#m**3/kg\n", + "vf = 0.001157; \t\t\t#m**3/kg\n", + "# dp/dT = 32; \t\t\t#kPa/K\n", + "T3 = 473; \t\t\t#K\n", + "\n", + "# Calculations\n", + "h_fg = 32*10**3*T3*(vg-vf)/10**3;\n", + "\n", + "# Results\n", + "print (\" enthalpy of vapourisation = %.3f\")%(h_fg),(\"kJ/kg\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " enthalpy of vapourisation = 1910.814 kJ/kg\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 7.19 Page no : 372" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine the pressure an ice skate blade must exert to allow smooth ice skate at \u2013 10\u00b0C.\n", + "'''\n", + "\n", + "import math\n", + "\n", + "# Variables\n", + "h_fg = 334.; \t\t\t#kJ/kg\n", + "v_liq = 1.; \t\t\t#m**3/kg\n", + "v_ice = 1.01; \t\t\t#m**3/kg\n", + "T1 = 273.; \t\t\t#K\n", + "T2 = 263.; \t\t\t#K\n", + "p1 = 1.013*10**5; \t\t\t#Pa\n", + "\n", + "# Calculations\n", + "p2 = (p1+h_fg*10**3/(v_ice-v_liq)*math.log(T1/T2))/10**5;\n", + "\n", + "# Results\n", + "print (\"pressure = %.3f\")%(p2),(\"bar\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "pressure = 13.477 bar\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 7.20 Page no : 372" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate the specific volume v g of saturation mercury vapour at 0.1 bar\n", + "'''\n", + "\n", + "# Variables\n", + "h_fg = 294.54; \t\t\t#kJ/kg\n", + "p = 0.1; \t\t\t#bar\n", + "T = 523; \t\t\t#K\n", + "\n", + "# Calculations\n", + "vg = h_fg*10**3/T/(2.302*3276.6*p*10**5/T**2 - 0.652*p*10**5/T);\n", + "\n", + "# Results\n", + "print (\"specific volume = %.3f\")%(vg),(\"m**3/kg\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "specific volume = 2.139 m**3/kg\n" + ] + } + ], + "prompt_number": 3 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Industrial_Instrumentation/ch8.ipynb b/Industrial_Instrumentation/ch8.ipynb new file mode 100644 index 00000000..5b548006 --- /dev/null +++ b/Industrial_Instrumentation/ch8.ipynb @@ -0,0 +1,966 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 8 : Ideal and Real Gases" + ] + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 8.1 Page no : 392" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "How many kg of air must be removed from the chamber during the process ? Express this\n", + "mass as a volume measured at 1 bar and 25\u00b0C.\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "R = 287.; \t\t\t#J/kg K\n", + "V1 = 40.; \t\t\t#m**3\n", + "V2 = 40.; \t\t\t#m**3\n", + "p1 = 1.*10**5; \t\t\t#Pa\n", + "p2 = 0.4*10**5; \t\t\t#Pa\n", + "T1 = 298.; \t\t\t#K\n", + "T2 = 278.; \t\t\t#K\n", + "\n", + "# Calculations\n", + "m1 = p1*V1/R/T1;\n", + "m2 = p2*V2/R/T2;\n", + "#Let mass of air removed be m\n", + "m = m1-m2;\n", + "\n", + "# Results\n", + "print (\"Mass of air removed = %.3f\")% (m),(\"kg\")\n", + "\n", + "V = m*R*T1/p1;\n", + "print (\"Volume of gas removed = %.3f\")% (V), (\"m**3\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Mass of air removed = 26.716 kg\n", + "Volume of gas removed = 22.849 m**3\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 8.2 Page no : 393" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "(i) How many kg of nitrogen will the flask hold at the designed conditions ?\n", + "(ii) At what temperature must the fusible plug melt in order to limit the pressure of a full\n", + "flask to a maximum of 150 bar ?\n", + "'''\n", + "\n", + "# Variables\n", + "V = 0.04; \t\t\t#m**3\n", + "p = 120.*10**5; \t\t\t#Pa\n", + "T = 293.; \t\t\t#K\n", + "R0 = 8314.; \n", + "\n", + "# Calculations and Results\n", + "print (\"(i) kg of nitrogen the flask can hold\")\n", + "M = 28; \t\t\t#molecular weight of Nitrogen\n", + "R = R0/M;\n", + "\n", + "m = p*V/R/T;\n", + "print (\"kg of nitrogen = %.3f\")% (m), (\"kg\")\n", + "\n", + "print (\"(ii) Temperature at which fusible plug should melt\")\n", + "p = 150.*10**5; \t\t\t#Pa\n", + "T = p*V/R/m; \t\t\t#K\n", + "t = T-273; \t\t\t#0C\n", + "print (\"Temperature = %.3f\")% (t),(\"\u00b0C\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) kg of nitrogen the flask can hold\n", + "kg of nitrogen = 5.517 kg\n", + "(ii) Temperature at which fusible plug should melt\n", + "Temperature = 93.250 \u00b0C\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 8.3 Page no : 393" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "(i) What mass of original gas must have escaped if the dimensions of the balloon is not\n", + "changed ?\n", + "(ii) Find the amount of heat to be removed to cause the same drop in pressure at constant\n", + "volume.\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "p1 = 1.*10**5; \t\t\t#Pa\n", + "T1 = 293.; \t\t\t#K\n", + "d = 6.; \t\t\t#m; diameter of the spherical balloon\n", + "p2 = 0.94*p1;\n", + "T2 = T1;\n", + "cv = 10400.; \t\t\t#J/kg K\n", + "R = 8314/2.;\n", + "r = 3.; \t\t\t#m\n", + "\n", + "# Calculations and Results\n", + "print (\"(i) Mass of original gas escaped\")\n", + "\n", + "mass_escaped = (p1-p2)/p1*100;\n", + "print (\"%mass_escaped = \"), (mass_escaped), (\"%\")\n", + "\n", + "print (\"(ii)Amount of heat to be removed \")\n", + "T2 = 0.94*T1;\n", + "m = p1*4/3*math.pi*r**3/R/T1;\n", + "\n", + "Q = m*cv*(T1-T2)/10**6;\n", + "print (\"Q = %.3f\")% (Q),(\"MJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Mass of original gas escaped\n", + "%mass_escaped = 6.0 %\n", + "(ii)Amount of heat to be removed \n", + "Q = 1.698 MJ\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 8.4 Page no : 394" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "(i) Calculate pressure and the specific volume of the gas.\n", + "(ii) evaluate the values of c p and c v .\n", + "(iii) evaluate the final pressure of gas.\n", + "(iv) Evaluate the increase in specific internal energy, the increase in specific enthalpy, increase\n", + "in specific entropy and magnitude and sign of heat transfer.\n", + "'''\n", + "\n", + "from numpy import *\n", + "import math \n", + "\n", + "# Variables\n", + "m = 28.; \t\t\t#kg\n", + "V1 = 3.; \t\t\t#m**3\n", + "T1 = 363.; \t\t\t#K\n", + "R0 = 8314.;\n", + "M = 28.; \t\t\t#Molecular mass of N2\n", + "R = R0/m;\n", + "V2 = V1;\n", + "T2 = 293.; \t\t\t#K\n", + "\n", + "# Calculations and Results\n", + "print (\"(i) Pressure (p1) and specific volume (v1) of the gas\")\n", + "\n", + "p1 = m*R*T1/V1/10**5; \t\t\t#bar\n", + "print (\"Pressure = %.3f\")% (p1), (\"bar\")\n", + "\n", + "v1 = V1/m;\n", + "print (\"specific volume = %.3f\")% (v1), (\"m**3/kg\")\n", + "\n", + "\n", + "#cp-cv = R/1000;\n", + "#cp-1.4cv = 0;\n", + "#solving the above two eqns \n", + "A = [[1,-1],[1,-1.4]];\n", + "B = [R/1000,0];\n", + "X = linalg.inv(A)*B;\n", + "cp = X[0,0]\n", + "print (\"cp = %.3f\")% (cp), (\"kJ/kg K\")\n", + "\n", + "cv = X[1][0];\n", + "print (\"cv = %.3f\")% (cv),(\"kJ/kg K\")\n", + "\n", + "print (\"(iii) Final pressure of the gas after cooling to 20\u00b0C\")\n", + "p2 = p1*T2/T1;\n", + "print (\"p2 = %.3f\")% (p2), (\"bar\")\n", + "\n", + "\n", + "du = cv*(T2-T1);\n", + "print (\"Increase in specific internal energy = %.3f\")% (du), (\"kJ/kg\")\n", + "\n", + "dh = cp*(T2-T1);\n", + "print (\"Increase in specific Enthalpy = %.3f\")%(dh), (\"kJ/kg\")\n", + "\n", + "v2 = v1;\n", + "ds = cv*math.log(T2/T1) + R*math.log(v2/v1);\n", + "print (\"Increase in specific entropy = %.3f\")%(ds),(\"kJ/kg K\")\n", + "\n", + "W = 0; \t\t\t#constant volume process\n", + "Q = m*du+W;\n", + "print (\"Heat transfer = %.3f\")%(Q), (\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Pressure (p1) and specific volume (v1) of the gas\n", + "Pressure = 10.060 bar\n", + "specific volume = 0.107 m**3/kg\n", + "cp = 1.039 kJ/kg K\n", + "cv = 0.742 kJ/kg K\n", + "(iii) Final pressure of the gas after cooling to 20\u00b0C\n", + "p2 = 8.120 bar\n", + "Increase in specific internal energy = -51.963 kJ/kg\n", + "Increase in specific Enthalpy = -72.748 kJ/kg\n", + "Increase in specific entropy = -0.159 kJ/kg K\n", + "Heat transfer = -1454.950 kJ\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 8.5 Page no : 396" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "(a) \n", + "determine :\n", + "(i) The final specific volume, temperature and increase in entropy ;\n", + "(ii) The work done and the heat transfer.\n", + "(b) Repeat (a) assuming the process to be irreversible and adiabatic between end states.\n", + "'''\n", + "\n", + "import math \n", + "\n", + "print (\"Part (a)\")\n", + "# Variables\n", + "R = 0.287; \t\t\t#kJ/kg K\n", + "y = 1.4;\n", + "m1 = 1.; \t\t\t#kg\n", + "p1 = 8.*10**5; \t\t\t#Pa\n", + "T1 = 373.; \t\t\t#K\n", + "p2 = 1.8*10**5; \t\t\t#Pa\n", + "cv = 0.717; \t\t\t#kJ/kg K\n", + "n = 1.2;\n", + "\n", + "# Calculations and Results\n", + "#pv**1.2 = consmath.tant\n", + "print (\"(i) The final specific volume, temperature and increase in entropy\")\n", + "\n", + "v1 = R*10**3*T1/p1;\n", + "v2 = v1*(p1/p2)**(1./n);\n", + "print (\"v2 = %.3f\")%(v2), (\"m**3/kg\")\n", + "\n", + "T2 = p2*v2/R/10**3; \t\t\t#K\n", + "t2 = T2-273; \t\t\t#0C\n", + "print (\"Final temperature = %.3f\")% (t2), (\"0C\")\n", + "\n", + "ds = cv*math.log(T2/T1) + R*math.log(v2/v1);\n", + "print (\"ds = %.3f\")%(ds), (\"kJ/kg K\")\n", + "\n", + "\n", + "W = R*(T1-T2)/(n-1);\n", + "print (\"Work done = %.3f\")% (W), (\"kJ/kg\")\n", + "\n", + "Q = cv*(T2-T1) + W;\n", + "print (\"Heat transfer = %.3f\")%(Q),(\"kJ/kg\")\n", + "\n", + "print (\"Part (b)\")\n", + "\n", + "print (\"(i) Though the process is assumed now to be irreversible and adiabatic, the end states are given to be the same as in (a). Therefore, all the properties at the end of the process are the same as in (a).\")\n", + "\n", + "\n", + "print (\"(ii) Adiabatic process\")\n", + "Q = 0;\n", + "print (\"Heat transfer = %.3f\")%(Q), (\"kJ/kg\")\n", + "\n", + "W = -cv*(T2-T1);\n", + "print (\"Work done = %.3f\")%(W),(\"kJ/kg\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Part (a)\n", + "(i) The final specific volume, temperature and increase in entropy\n", + "v2 = 0.464 m**3/kg\n", + "Final temperature = 17.897 0C\n", + "ds = 0.179 kJ/kg K\n", + "Work done = 117.818 kJ/kg\n", + "Heat transfer = 58.950 kJ/kg\n", + "Part (b)\n", + "(i) Though the process is assumed now to be irreversible and adiabatic, the end states are given to be the same as in (a). Therefore, all the properties at the end of the process are the same as in (a).\n", + "(ii) Adiabatic process\n", + "Heat transfer = 0.000 kJ/kg\n", + "Work done = 58.868 kJ/kg\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 8.6 Page no : 397" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "determine the pressure in the spheres when the system attains equilibrium.\n", + "'''\n", + "\n", + "# Variables\n", + "d = 2.5; \t\t\t#m; diameter\n", + "V1 = 4./3*math.pi*(d/2)**3; \t\t\t#volume of each sphere\n", + "T1 = 298.; \t\t\t#K\n", + "T2 = 298.; \t\t\t#K\n", + "m1 = 16.; \t\t\t#kg\n", + "m2 = 8.; \t\t\t#kg\n", + "V = 2.*V1; \t\t\t#total volume\n", + "m = m1+m2;\n", + "R = 287.; \t\t\t#kJ/kg K\n", + "\n", + "# Calculations\n", + "p = m*R*T1/V/10**5; \t\t\t#bar\n", + "\n", + "\n", + "# Results\n", + "print (\"pressure in the spheres when the system attains equilibrium = %.3f\")%(p),(\"bar\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "pressure in the spheres when the system attains equilibrium = 1.254 bar\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 8.7 Page no : 398" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "evaluate the heat transfer rate from the gas and the power delivered by the turbine.\n", + "'''\n", + "\n", + "# Variables\n", + "m = 6.5/60; \t\t\t#kg/s\n", + "import math \n", + "cv = 0.837; \t\t\t#kJ/kg K\n", + "p1 = 10*10**5; \t\t\t#Pa\n", + "p2 = 1.05*10**5; \t\t\t#Pa\n", + "T1 = 453; \t\t\t#K\n", + "R0 = 8.314;\n", + "M = 44.; \t\t\t#Molecular mass of CO2\n", + "\n", + "\n", + "# Calculations and Results\n", + "R = R0/M;\n", + "cp = cv+R;\n", + "y = cp/cv;\n", + "\n", + "T2 = T1*(p2/p1)**((y-1)/y);\n", + "print T2\n", + "t2 = T2-273;\n", + "print (\"Final temperature = %.3f\")%(t2),(\"0C\")\n", + "\n", + "v2 = R*10**3*T2/p2; \t\t\t#m**3/kg\n", + "print (\"final specific volume = %.3f\")%(v2), (\"m**3/kg\")\n", + "\n", + "ds = 0; \t\t\t#Reversible and adiabatic process\n", + "print (\"Increase in entropy = \"), (ds)\n", + "\n", + "Q = 0; \t\t\t#Adiabatic process\n", + "print (\"Heat transfer rate from turbine = \"), (Q)\n", + "\n", + "W = m*cp*(T1-T2);\n", + "print (\"Power delivered by the turbine = %.3f\")% (W), (\"kW\")\n", + "\n", + "\n", + "# Note : answers wont match with the book because of the rounding error." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "299.106840283\n", + "Final temperature = 26.107 0C\n", + "final specific volume = 0.538 m**3/kg\n", + "Increase in entropy = 0\n", + "Heat transfer rate from turbine = 0\n", + "Power delivered by the turbine = 17.104 kW\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 8.8 Page no : 400" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Evaluate the following :\n", + "(i) The heat received in the cycle ;\n", + "(ii) The heat rejected in the cycle ;\n", + "(iii) Efficiency of the cycle.\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "p1 = 8.*10**5; \t\t\t#Pa\n", + "V1 = 0.035; \t\t\t#m**3\n", + "T1 = 553.; \t\t\t#K\n", + "p2 = 8.*10**5; \t\t\t#Pa\n", + "V2 = 0.1; \t\t\t#m**3\n", + "n = 1.4;\n", + "R = 287.; \t\t\t#J/kg K\n", + "T3 = 553.; \t\t\t#K\n", + "cv = 0.71; \t\t\t#kJ/kg K\n", + "\n", + "# Calculations and Results\n", + "m = p1*V1/R/T1;\n", + "T2 = p2*V2/m/R;\n", + "p3 = p2/((T2/T3)**(n/(n-1)));\n", + "V3 = m*R*T3/p3;\n", + "\n", + "print (\"(i) The heat received in the cycle\")\n", + "\n", + "#constant pressure process 1-2\n", + "W_12 = p1*(V2-V1)/10**3; \t\t\t#kJ\n", + "Q_12 = m*cv*(T2-T1) + W_12; \t\t\t#kJ\n", + "\n", + "#polytropic process 2-3\n", + "W_23 = m*R/10**3*(T2-T3)/(n-1);\n", + "Q_23 = m*cv*(T3-T2) + W_23;\n", + "\n", + "Q_received = Q_12 + Q_23;\n", + "print (\"Total heat received in the cycle = \"),(Q_received), (\"kJ\")\n", + "\n", + "print (\"(ii) The heat rejected in the cycle\")\n", + "\n", + "#Isothermal process 3-1\n", + "W_31 = p3*V3*math.log(V1/V3)/10**3; \t\t\t#kJ\n", + "Q_31 = m*cv*(T3-T1) + W_31;\n", + "print (\"Heat rejected in the cycle = %.3f\")% (-Q_31), (\"kJ\")\n", + "\n", + "\n", + "n = (Q_received - (-Q_31))/Q_received*100;\n", + "print (\"Efficiency of the cycle = %.3f\")% (n), (\"%\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) The heat received in the cycle\n", + "Total heat received in the cycle = 182.0 kJ\n", + "(ii) The heat rejected in the cycle\n", + "Heat rejected in the cycle = 102.883 kJ\n", + "Efficiency of the cycle = 43.471 %\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 8.9 Page no : 424" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Compute the pressure by\n", + "(i) Van der Waals\u2019 equation\n", + "(ii) Perfect gas equation.\n", + "'''\n", + "\n", + "\n", + "# Variables\n", + "v = 44.; \t\t\t#m**3/kg-mol\n", + "T = 373.; \t\t\t#K\n", + "\n", + "\n", + "# Calculations and Results\n", + "print (\"(i) Using Van der Waals\u2019 equation\")\n", + "a = 362850.; \t\t\t#N*m**4/(kg-mol)**2\n", + "b = 0.0423; \t\t\t#M**3/kg-mol\n", + "R0 = 8314.; \t\t\t#J/kg K\n", + "\n", + "p = ((R0*T/(v-b)) - a/v**2);\n", + "print (\"Pressure umath.sing Van der Waals equation = %.3f\")%(p), (\"N/m**2\")\n", + "\n", + "print (\"(ii) Using perfect gas equation\")\n", + "\n", + "p = R0*T/v;\n", + "print (\"Pressure using perfect gas equation = %.3f\")% (p), (\"N/m**2\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Using Van der Waals\u2019 equation\n", + "Pressure umath.sing Van der Waals equation = 70360.445 N/m**2\n", + "(ii) Using perfect gas equation\n", + "Pressure using perfect gas equation = 70480.045 N/m**2\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 8.10 Page no : 425" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Estimate the\n", + "pressure exerted by CO 2 by using :\n", + "(i) Perfect gas equation\n", + "(ii) Van der Waals\u2019 equation\n", + "(iii) Beattie Bridgeman equation.\n", + "'''\n", + "# Variables\n", + "V = 3.; \t\t\t#m**3\n", + "m = 10.; \t\t\t#kg\n", + "T = 300.; \t\t\t#K\n", + "\n", + "# Calculations and Results\n", + "R0 = 8314.;\n", + "M = 44.; \n", + "R = R0/M;\n", + "p = m*R*T/V;\n", + "print (\"Pressure Using perfect gas equation = %.3f\")% (p),(\"N/m**2\")\n", + "\n", + "a = 362850; \t\t\t#Nm**4/(kg-mol)**2\n", + "b = 0.0423; \t\t\t#m**3/(kg-mol)\n", + "v = 13.2; \t\t\t #m**3/kg-mol\n", + "\n", + "p = R0*T/(v-b) - a/v**2;\n", + "print (\"Pressure Using Van der Waals\u2019 equation = %.3f\")%(p), (\"N/m**2\")\n", + "\n", + "\n", + "A0 = 507.2836;\n", + "a = 0.07132;\n", + "B0 = 0.10476;\n", + "b = 0.07235;\n", + "C = 66*10**4;\n", + "A = A0*(1-a/v);\n", + "B = B0*(1-b/v);\n", + "e = C/v/T**3;\n", + "\n", + "p = R0*T*(1-e)/v**2*(v+B) - A/v**2;\n", + "print (\"Pressure Using Beattie Bridgeman equation = %.3f\")%(p), (\"N/m**2\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Pressure Using perfect gas equation = 188954.545 N/m**2\n", + "Pressure Using Van der Waals\u2019 equation = 187479.533 N/m**2\n", + "Pressure Using Beattie Bridgeman equation = 190090.365 N/m**2\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 8.11 Page no : 404" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "find :\n", + "(i) The work done during the process\n", + "(ii) The final pressure.\n", + "'''\n", + "\n", + "import math \n", + "from scipy.integrate import quad \n", + "\n", + "# Variables\n", + "a = 139250; \t\t\t#Nm**4/(kg-mol)**2\n", + "b = 0.0314; \t\t\t#m**3/kg-mol\n", + "R0 = 8314; \t\t\t#Nm/kg-mol K\n", + "v1 = 0.2*32; \t\t\t#m**3/kg-mol\n", + "v2 = 0.08*32; \t\t\t#m**3/kg-mol\n", + "T = 333; \t\t\t#K\n", + "print (\"(i) Work done during the process\")\n", + "\n", + "# Calculations\n", + "def f21( v): \n", + "\t return R0*T/(v-b) - a/v**2\n", + "\n", + "W = quad(f21, v1, v2)[0]\n", + "\n", + "\n", + "# Results\n", + "print (\"W = %.3f\")% (W),(\"Nm/kg-mol\")\n", + "\n", + "\n", + "print (\"(ii) The final pressure\")\n", + "p2 = R0*T/(v2-b) - a/v2**2;\n", + "print (\"p2 = %.3f\")%(p2), (\"N/m**2\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Work done during the process\n", + "W = -2524722.415 Nm/kg-mol\n", + "(ii) The final pressure\n", + "p2 = 1073651.290 N/m**2\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 8.12 Page no : 404" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "compute the temperature.\n", + "'''\n", + "\n", + "# Variables\n", + "pr = 20;\n", + "Z = 1.25;\n", + "Tr = 8.0;\n", + "Tc = 282.4; \t\t\t#K\n", + "\n", + "# Calculations\n", + "T = Tc*Tr;\n", + "\n", + "# Results\n", + "print (\"Temperature = %.3f\")%(T),(\"K\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Temperature = 2259.200 K\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 8.13 Page no : 405" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate the density using the compressibility chart\n", + "'''\n", + "\n", + "# Variables\n", + "p = 260.*10**5; \t\t\t#Pa\n", + "T = 288.; \t\t\t#K\n", + "pc = 33.94*10**5; \t\t\t#Pa\n", + "Tc = 126.2; \t\t\t#K\n", + "R = 8314./28;\n", + "\n", + "# Calculations\n", + "pr = p/pc;\n", + "Tr = T/Tc;\n", + "Z = 1.08;\n", + "rho = p/Z/R/T;\n", + "\n", + "# Results\n", + "print (\"Density of N2 = %.3f\")% (rho), (\"kg/m**3\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Density of N2 = 281.517 kg/m**3\n" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 8.14 Page no : 405" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "What should be the temperature of 1.3 kg of CO 2 gas to behave as an ideal ?\n", + "'''\n", + "# Variables\n", + "p = 200.*10**5; \t\t\t#Pa\n", + "pc = 73.86*10**5; \t\t\t#Pa\n", + "Tc = 304.2; \t\t\t#K\n", + "pr = p/pc;\n", + "Z = 1;\n", + "Tr = 2.48;\n", + "\n", + "# Calculations\n", + "T = Tr*Tc;\n", + "\n", + "# Results\n", + "print (\"Temperature = \"), (T), (\"K\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Temperature = 754.416 K\n" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 8.15 Page no : 405" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Find the mass of H 2 in the balloon using real gas equation.\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "d = 12.; \t\t\t#m; diameter of spherical balloon\n", + "V = 4./3*math.pi*(d/2)**3;\n", + "T = 303.; \t\t\t#K\n", + "p = 1.21*10**5; \t\t\t#Pa\n", + "pc = 12.97*10**5; \t\t\t#Pa\n", + "Tc = 33.3; \t\t\t#K\n", + "R = 8314./2;\n", + "\n", + "# Calculations\n", + "pr = p/pc;\n", + "Tr = T/Tc;\n", + "Z = 1;\n", + "m = p*V/Z/R/T;\n", + "\n", + "# Results\n", + "print (\"Mass of H2 in the balloon = %.3f\")% (m), (\"kg\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Mass of H2 in the balloon = 86.917 kg\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 8.16 Page no : 406" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine the value of compressibility factor \n", + "'''\n", + "# Calculations\n", + "Z_cp = 3./2-9./8;\n", + "\n", + "# Results\n", + "print (\"Z_cp = \"),(Z_cp)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Z_cp = 0.375\n" + ] + } + ], + "prompt_number": 17 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Industrial_Instrumentation/ch9.ipynb b/Industrial_Instrumentation/ch9.ipynb new file mode 100644 index 00000000..db39a5a3 --- /dev/null +++ b/Industrial_Instrumentation/ch9.ipynb @@ -0,0 +1,1647 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 9 : Gases and Vapour Mixtures" + ] + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 9.1 Page no : 420" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate :\n", + "(i) The partial pressure of each constituent,\n", + "(ii) The total pressure in the vessel, and\n", + "'''\n", + "\n", + "# Variables\n", + "V = 0.35; \t\t\t#m**3\n", + "import math \n", + "m_CO = 0.4; \t\t\t#kg\n", + "m_air = 1; \t\t\t#kg\n", + "m_O2 = 0.233; \t\t\t#kg\n", + "m_N2 = 0.767; \t\t\t#kg\n", + "T = 293.; \t\t\t#K\n", + "R0 = 8.314; \t\t\t#kJ/kg K\n", + "M_O2 = 32.; \t\t\t#Molecular mass of O2\n", + "M_N2 = 28.; \t\t\t#Molecular mass of N2\n", + "M_CO = 28.; \t\t\t#Molecular mass of CO\n", + "\n", + "# Calculations and Results\n", + "\n", + "p_O2 = m_O2*R0*10**3*T/M_O2/V/10**5; \t\t\t#bar\n", + "print (\"partial pressure for p_O2 %.3f\")% (p_O2), (\"bar\")\n", + "\n", + "p_N2 = m_N2*R0*10**3*T/M_N2/V/10**5; \t\t\t#bar\n", + "print (\"partial pressure for p_N2 %.3f\")% (p_N2), (\"bar\")\n", + "\n", + "p_CO = m_CO*R0*10**3*T/M_CO/V/10**5; \t\t\t#bar\n", + "print (\"partial pressure for p_CO %.3f\")%(p_CO), (\"bar\")\n", + "\n", + "\n", + "print (\"(ii) Total pressure in the vessel\")\n", + "p = p_O2+p_N2+p_CO;\n", + "print (\"p = %.3f\")% (p), (\"bar\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "partial pressure for p_O2 0.507 bar\n", + "partial pressure for p_N2 1.907 bar\n", + "partial pressure for p_CO 0.994 bar\n", + "(ii) Total pressure in the vessel\n", + "p = 3.408 bar\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 9.2 Page no : 421" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate : (i) Gas constant for air ;\n", + "(ii) Apparent molecular weight.\n", + "'''\n", + "\n", + "# Variables\n", + "R0 = 8.314;\n", + "M_O2 = 32.;\n", + "M_N2 = 28.;\n", + "M_Ar = 40.;\n", + "M_CO2 = 44.;\n", + "\n", + "# Calculations\n", + "R_O2 = R0/M_O2; \t\t\t#kJ/kg K\n", + "R_N2 = R0/M_N2; \t\t\t#kJ/kg K\n", + "R_Ar = R0/M_Ar; \t\t\t#kJ/kg K\n", + "R_CO2 = R0/M_CO2; \t\t\t#kJ/kg K\n", + "\n", + "O2 = 0.2314;\n", + "N2 = 0.7553;\n", + "Ar = 0.0128;\n", + "CO2 = 0.0005;\n", + "\n", + "# Results\n", + "print (\"(i) Gas constant for air\")\n", + "R = O2*R_O2 + N2*R_N2 + Ar*R_Ar + CO2*R_CO2;\n", + "print (\"R = %.3f\")%(R), (\"kJ/kg K\")\n", + "\n", + "print (\"(ii) Apparent molecular weight.\")\n", + "M = R0/R;\n", + "print (\"M = %.3f\")%(M)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Gas constant for air\n", + "R = 0.287 kJ/kg K\n", + "(ii) Apparent molecular weight.\n", + "M = 28.954\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 9.3 Page no : 422" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate the analysis by volume and the partial pressure \n", + "'''\n", + "\n", + "# Variables\n", + "p = 1.; \t\t\t#bar\n", + "#For oxygen\n", + "m_O2 = 0.2314;\n", + "M_O2 = 32;\n", + "n_O2 = m_O2/M_O2;\n", + "#For Nitrogen\n", + "m_N2 = 0.7553;\n", + "M_N2 = 28.;\n", + "n_N2 = m_N2/M_N2;\n", + "#For Argon\n", + "m_Ar = 0.0128;\n", + "M_Ar = 40;\n", + "n_Ar = m_Ar/M_Ar;\n", + "\n", + "#For CO2\n", + "m_CO2 = 0.0005;\n", + "M_CO2 = 44;\n", + "n_CO2 = m_CO2/M_CO2;\n", + "\n", + "# Calculations and Results\n", + "n = n_O2 + n_N2 + n_Ar + n_CO2;\n", + "\n", + "#Let Vi/V be A\n", + "A_O2 = n_O2/n * 100;\n", + "print (\"Vi/V of O2 = %.3f\")%(A_O2),(\"%\")\n", + "\n", + "A_N2 = n_N2/n * 100;\n", + "print (\"Vi/V of N2 = %.3f\")%(A_N2), (\"%\")\n", + "\n", + "A_Ar = n_Ar/n *100;\n", + "print (\"Vi/V of Ar %.3f\")% (A_Ar), (\"%\")\n", + "\n", + "A_CO2 = n_CO2/n * 100;\n", + "print (\"Vi/V of CO2 = %.3f\")% (A_CO2), (\"%\")\n", + "\n", + "\n", + "P_O2 = n_O2/n*p;\n", + "print (\"Partial pressure of O2 = %.3f\")% (P_O2), (\"bar\")\n", + "\n", + "P_N2 = n_N2/n*p;\n", + "print (\"Partial pressure of N2 = %.3f\")% (P_N2), (\"bar\")\n", + "\n", + "P_Ar = n_Ar/n*p;\n", + "print (\"Partial pressure of Ar = %.3f\")% (P_Ar), (\"bar\")\n", + "\n", + "P_CO2 = n_CO2/n*p;\n", + "print (\"Partial pressure of CO2 = %.4f\")% (P_CO2), (\"bar\")\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Vi/V of O2 = 20.937 %\n", + "Vi/V of N2 = 78.103 %\n", + "Vi/V of Ar 0.927 %\n", + "Vi/V of CO2 = 0.033 %\n", + "Partial pressure of O2 = 0.209 bar\n", + "Partial pressure of N2 = 0.781 bar\n", + "Partial pressure of Ar = 0.009 bar\n", + "Partial pressure of CO2 = 0.0003 bar\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 9.4 Page no : 423" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate for the mixture :\n", + "(i) The masses of CO 2 , O 2 and N 2 , and the total mass ;\n", + "(ii) The percentage carbon content by mass ;\n", + "(iii) The apparent molecular weight and the gas constant for the mixture ;\n", + "(iv) The specific volume of the mixture\n", + "'''\n", + "\n", + "# Variables\n", + "p = 1.*10**5; \t\t\t#Pa\n", + "T = 293.; \t\t\t#K\n", + "n_CO2 = 1.; \t\t\t#moles of CO2\n", + "n = 4.; \t\t\t#moles of air\n", + "M_CO2 = 44.;\n", + "M_N2 = 28.;\n", + "M_O2 = 32.;\n", + "\n", + "#Let A be the volumeetric analysis\n", + "A_O2 = 0.21;\n", + "A_N2 = 0.79;\n", + "\n", + "# Calculations and Results\n", + "n_O2 = A_O2*n;\n", + "n_N2 = A_N2*n;\n", + "\n", + "print (\"(i) The masses of CO2, O2 and N2, and the total mass\")\n", + "\n", + "m_CO2 = n_CO2*M_CO2;\n", + "print (\"Mass of CO2 = %.3f\")%(m_CO2),(\"kg\")\n", + "\n", + "m_O2 = n_O2*M_O2;\n", + "print (\"Mass of O2 = %.3f\")%(m_O2),(\"kg\")\n", + "\n", + "m_N2 = n_N2*M_N2;\n", + "print (\"Mass of N2 = %.3f\")%(m_N2),(\"kg\")\n", + "\n", + "m = m_CO2 + m_O2 + m_N2;\n", + "print (\"Total mass = %.3f\")% (m), (\"kg\")\n", + "\n", + "\n", + "print (\"(ii) The percentage carbon content by mass\")\n", + "#Since the molecular weight of carbon is 12, therefore, there are 12 kg of carbon present for every mole of CO2\n", + "m_C = 12; \t\t\t#kg\n", + "\n", + "C = m_C/m*100;\n", + "print (\"Percentage carbon in mixture %.3f\")%(C),(\"%\")\n", + "\n", + "\n", + "print (\"(iii) The apparent molecular weight and the gas consmath.tant for the mixture\")\n", + "n = n_CO2 + n_O2 + n_N2;\n", + "M = n_CO2/n*M_CO2 + n_O2/n*M_O2 + n_N2/n*M_N2;\n", + "print (\"Apparent Molecular weight %.3f\")%(M)\n", + "\n", + "R0 = 8.314;\n", + "R = R0/M;\n", + "print (\"Gas constant for the mixture = %.3f\")%(R),(\"kJ/kg K\")\n", + "\n", + "\n", + "print (\"(iv) The specific volume of the mixture\")\n", + "v = R*10**3*T/p;\n", + "print (\"specific volume = %.3f\")%(v),(\"m**3/kg\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) The masses of CO2, O2 and N2, and the total mass\n", + "Mass of CO2 = 44.000 kg\n", + "Mass of O2 = 26.880 kg\n", + "Mass of N2 = 88.480 kg\n", + "Total mass = 159.360 kg\n", + "(ii) The percentage carbon content by mass\n", + "Percentage carbon in mixture 7.530 %\n", + "(iii) The apparent molecular weight and the gas consmath.tant for the mixture\n", + "Apparent Molecular weight 31.872\n", + "Gas constant for the mixture = 0.261 kJ/kg K\n", + "(iv) The specific volume of the mixture\n", + "specific volume = 0.764 m**3/kg\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 9.5 Page no : 424" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "calculate :\n", + "(ii) The volume of the container.\n", + "(i) The mass of O 2 required ;\n", + "'''\n", + "\n", + "# Variables\n", + "p = 1.*10**5; \t\t\t#Pa\n", + "T = 298.; \t\t\t#K\n", + "M_H2 = 2.;\n", + "M_O2 = 32.;\n", + "R0 = 8314.;\n", + "# ratio = V_H2/V_O2 = 2;\n", + "ratio = 2;\n", + "\n", + "# Calculations and Results\n", + "print (\"(i) The mass of O2 required\")\n", + "\t\t\t#Let the mass of O2 per kg of H2 = x kg\n", + "m_H2 = 1; \t\t\t#kg\n", + "n_H2 = m_H2/M_H2;\n", + "\n", + "# n_O2 = x/M_O2\n", + "x = M_O2*n_H2/ratio;\n", + "print (\"Mass of O2 per kg of H2 = %.3f\")%(x), (\"kg\")\n", + "\n", + "print (\"(ii) The volume of the container\")\n", + "n_O2 = x/M_O2;\n", + "n = n_H2 + n_O2;\n", + "V = n*R0*T/p;\n", + "print (\"V = %.3f\")%(V), (\"m**3\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) The mass of O2 required\n", + "Mass of O2 per kg of H2 = 8.000 kg\n", + "(ii) The volume of the container\n", + "V = 18.582 m**3\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 9.6 Page no : 424" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate per mole of mixture the mass of mixture to be removed, and mass of CO to be added.\n", + "'''\n", + "\n", + "#Let composition of mixture by volume be denoted by c1\n", + "#Let Final composition desired be denoted by c2\n", + "\n", + "# Variables\n", + "c1_H2 = 0.78;\n", + "c1_CO = 0.22;\n", + "c2_H2 = 0.52;\n", + "c2_CO = 0.48;\n", + "M_H2 = 2.;\n", + "M_CO = 28.;\n", + "\n", + "# Calculations\n", + "M = c1_H2*M_H2 + c1_CO*M_CO;\n", + "# Let x kg of mixture be removed and y kg of CO be added.\n", + "x = (c1_H2 - c2_H2)/c1_H2*M;\n", + "\n", + "# Results\n", + "print (\"Mass of mixture removed = %.3f\")%(x), (\"kg\")\n", + "\n", + "y = M_CO/M*x;\n", + "print (\"Mass of CO added = %.3f\")%(y),(\"kg\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Mass of mixture removed = 2.573 kg\n", + "Mass of CO added = 9.333 kg\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 9.7 Page no : 425" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate per kg of gas :\n", + "(i) The workdone ;\n", + "(ii) The heat flow ;\n", + "(iii) Change of entropy per kg of mixture.\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "ratio = 1./8; \t\t\t#volume ratio; v1/v2\n", + "T1 = 1223.; \t\t\t#K\n", + "cp_CO2 = 1.235; \t\t\t#kJ/kg K\n", + "cp_O2 = 1.088; \t\t\t#kJ/kg K\n", + "cp_N2 = 1.172; \t\t\t#kJ/kg K\n", + "n_CO2 = 0.13;\n", + "n_O2 = 0.125;\n", + "n_N2 = 0.745;\n", + "M_CO2 = 44.;\n", + "M_O2 = 32.;\n", + "M_N2 = 28.;\n", + "\n", + "\n", + "# Calculations\n", + "m_CO2 = M_CO2*n_CO2;\n", + "m_O2 = M_O2*n_O2;\n", + "m_N2 = M_N2*n_N2;\n", + "m = m_CO2 + m_O2 + m_N2;\n", + "\n", + "# Let Fraction by mass be denoted by F\n", + "F_CO2 = m_CO2/m;\n", + "F_O2 = m_O2/m;\n", + "F_N2 = m_N2/m;\n", + "cp = F_CO2*cp_CO2 + F_O2*cp_O2 + F_N2*cp_N2;\n", + "R0 = 8.314;\n", + "R = F_CO2*R0/M_CO2 + F_O2*R0/M_O2 + F_N2*R0/M_N2;\n", + "\n", + "cv = cp - R;\n", + "n = 1.2;\n", + "\n", + "print (\"(i) The workdone\")\n", + "T2 = T1*(ratio)**(n-1);\n", + "W = R*(T1-T2)/(n-1);\n", + "print (\"W = %.3f\")%(W), (\"kJ/kg\")\n", + "\n", + "print (\"(ii) The heat flow\")\n", + "du = cv*(T2-T1);\n", + "Q = du + W;\n", + "print (\"Q = %.3f\")%(Q), (\"kJ/kg\")\n", + "\n", + "\n", + "print (\"(iii) Change of entropy per kg of mixture\")\n", + "ds_1A = R*math.log(1/ratio); \t\t\t#isothermal process\n", + "ds_2A = cv*math.log(T1/T2);\n", + "\n", + "ds_12 = ds_1A - ds_2A;\n", + "print (\"change of entropy = %.3f\")% (ds_12), (\"kJ/kg K\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) The workdone\n", + "W = 565.669 kJ/kg\n", + "(ii) The heat flow\n", + "Q = 190.777 kJ/kg\n", + "(iii) Change of entropy per kg of mixture\n", + "change of entropy = 0.191 kJ/kg K\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 9.8 Page no : 427" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "# Calculate the values of C p , C v , c p and c v for the mixture.\n", + "import math \n", + "\n", + "# Variables\n", + "M_CO2 = 44.;\n", + "M_H2 = 2.;\n", + "M_N2 = 28.;\n", + "M_CH4 = 16.;\n", + "M_CO = 28.;\n", + "\n", + "# Let volumetric analysis be denoted by V\n", + "V_CO = 0.28;\n", + "V_H2 = 0.13;\n", + "V_CH4 = 0.04;\n", + "V_CO2 = 0.04;\n", + "V_N2 = 0.51;\n", + "Cp_CO = 29.27; \t\t\t#kJ/mole K\n", + "Cp_H2 = 28.89; \t\t\t#kJ/mole K\n", + "Cp_CH4 = 35.8; \t\t\t#kJ/mole K\n", + "Cp_CO2 = 37.22; \t\t\t#kJ/mole K\n", + "Cp_N2 = 29.14; \t\t\t#kJ/mole K\n", + "R0 = 8.314; \n", + "\n", + "# Calculations and Results\n", + "Cp = V_CO*Cp_CO + V_H2*Cp_H2 + V_CO2*Cp_CO2 + V_CH4*Cp_CH4 + V_N2*Cp_N2;\n", + "print (\"Cp = %.3f\")%(Cp), (\"kJ/mole K\")\n", + "\n", + "Cv = Cp-R0;\n", + "print (\"Cv = %.3f\")% (Cv), (\"kJ/mole K\")\n", + "\n", + "M = V_CO*M_CO + V_H2*M_H2 + V_CO2*M_CO2 + V_CH4*M_CH4 + V_N2*M_N2;\n", + "\n", + "cp = Cp/M;\n", + "print (\"cp = %.3f\")%(cp), (\"kJ/kg K\")\n", + "\n", + "cv = Cv/M;\n", + "print (\"cv %.3f\")% (cv), (\"kJ/kg K\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Cp = 29.733 kJ/mole K\n", + "Cv = 21.419 kJ/mole K\n", + "cp = 1.200 kJ/kg K\n", + "cv 0.864 kJ/kg K\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 9.9 Page no : 427" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# determine :\n", + "# (i) Partial pressures of the constituents ; (ii) Gas constant of mixture.\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "p = 1.3 \t\t\t#bar\n", + "R0 = 8.314;\n", + "M_CO2 = 44.;\n", + "M_O2 = 32.;\n", + "M_N2 = 28.;\n", + "M_CO = 28.;\n", + "m_O2 = 0.1;\n", + "m_N2 = 0.7;\n", + "m_CO2 = 0.15;\n", + "m_CO = 0.05;\n", + "#Considering 1 kg of mixture\n", + "m = 1; \t\t\t#kg\n", + "\n", + "# Calculations\n", + "#let moles be denoted by n\n", + "n_O2 = m_O2/M_O2;\n", + "n_N2 = m_N2/M_N2;\n", + "n_CO2 = m_CO2/M_CO2;\n", + "n_CO = m_CO/M_CO;\n", + "M = 1/(m_O2/M_O2 + m_N2/M_N2 + m_CO2/M_CO2 + m_CO/M_CO);\n", + "n = m/M;\n", + "x_O2 = n_O2/n;\n", + "x_N2 = n_N2/n;\n", + "x_CO2 = n_CO2/n;\n", + "x_CO = n_CO/n;\n", + "\n", + "# Results\n", + "print (\"(i) Partial pressures of the constituents\")\n", + "P_O2 = x_O2*p;\n", + "print (\"Partial pressure of O2 = %.3f\")% (P_O2), (\"bar\")\n", + "\n", + "P_N2 = x_N2*p;\n", + "print (\"Partial pressure of N2 = %.3f\")% (P_N2), (\"bar\")\n", + "\n", + "P_CO2 = x_CO2*p;\n", + "print (\"Partial pressure of CO2 = %.3f\")% (P_CO2), (\"bar\")\n", + "\n", + "P_CO = x_CO*p;\n", + "print (\"Partial pressure of CO = %.3f\")% (P_CO), (\"bar\")\n", + "\n", + "R_mix = R0/M;\n", + "print (\"Gas constant of mixture = %.3f\")%(R_mix), (\"kJ/kg K\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Partial pressures of the constituents\n", + "Partial pressure of O2 = 0.122 bar\n", + "Partial pressure of N2 = 0.975 bar\n", + "Partial pressure of CO2 = 0.133 bar\n", + "Partial pressure of CO = 0.070 bar\n", + "Gas constant of mixture = 0.277 kJ/kg K\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 9.10 Page no : 428" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Find :\n", + "(i) The mole fraction of each constituent,\n", + "(ii) The equivalent molecular weight of the mixture,\n", + "(iii) The equivalent gas constant of the mixture,\n", + "(iv) The partial pressures and partial volumes,\n", + "(v) The volume and density of the mixture, and\n", + "(vi) The c p and c v of the mixture.\n", + "\n", + "'''\n", + "\n", + "# Variables\n", + "p = 4.*10**5; \t\t \t#Pa\n", + "import math \n", + "T = 293.; \t\t\t #K\n", + "R0 = 8.314;\n", + "\n", + "m_N2 = 4.; \t \t\t #kg\n", + "m_CO2 = 6.; \t\t\t #kg\n", + "\n", + "M_N2 = 28.; \t\t \t #Molecular mass\n", + "M_CO2 = 44.; \t\t\t #Molecular mass\n", + "\n", + "n_N2 = m_N2/M_N2; \t\t\t#moles of N2\n", + "n_CO2 = m_CO2/M_CO2; \t\t\t#moles of CO2\n", + "\n", + "x_N2 = n_N2/(n_N2+n_CO2);\n", + "print (\"x_N2 = %.3f\")% (x_N2)\n", + "\n", + "x_CO2 = n_CO2/(n_CO2+n_N2);\n", + "print (\"x_CO2 = %.3f\")% (x_CO2)\n", + "\n", + "\n", + "print (\"(ii) The equivalent molecular weight of the mixture\")\n", + "M = x_N2*M_N2 + x_CO2*M_CO2;\n", + "print (\"M = %.3f\")%(M), (\"kg/kg-mole\")\n", + "\n", + "print (\"(iii) The equivalent gas consmath.tant of the mixture\")\n", + "m = m_N2+m_CO2;\n", + "Rmix = (m_N2*(R0/M_N2) + m_CO2*(R0/M_CO2))/m;\n", + "print (\"Rmix = %.3f\")% (Rmix), (\"kJ/kg K\")\n", + "\n", + "print (\"(iv) The partial pressures and partial volumes\")\n", + "P_N2 = x_N2*p/10**5;\n", + "print (\"P_N2 = %.3f\")% (P_N2), (\"bar\")\n", + "\n", + "P_CO2 = x_CO2*p/10**5;\n", + "print (\"P_CO2 = %.3f\")% (P_CO2), (\"bar\")\n", + "\n", + "V_N2 = m_N2*R0/M_N2*T/p*10**3;\n", + "print (\"V_N2 %.3f\")% (V_N2), (\"m**3\")\n", + "\n", + "V_CO2 = m_CO2*R0/M_CO2*T/p*10**3;\n", + "print (\"V_CO2 %.3f\")% (V_CO2), (\"m**3\")\n", + "\n", + "print (\"(v) The volume and density of the mixture\")\n", + "\n", + "V = m*Rmix*10**3*T/p;\n", + "print (\"V = %.3f\")% (V), (\"m**3\")\n", + "\n", + "rho_mix = m/V;\n", + "print (\"Density of mixture = %.3f\")% (rho_mix), (\"kg/m**3\")\n", + "\n", + "\n", + "print (\"(vi) cp and cv of the mixture\")\n", + "\n", + "y_N2 = 1.4;\n", + "cv_N2 = (R0/M_N2)/(y_N2 - 1);\n", + "cp_N2 = cv_N2*y_N2;\n", + "\n", + "y_CO2 = 1.286;\n", + "cv_CO2 = (R0/M_CO2)/(y_CO2 - 1);\n", + "cp_CO2 = cv_CO2*y_CO2;\n", + "\n", + "cp = (m_N2*cp_N2 + m_CO2*cp_CO2)/(m_N2+m_CO2);\n", + "print (\"cp = %.3f\")%(cp),(\"kJ/kg K\")\n", + "\n", + "cv = (m_N2*cv_N2 + m_CO2*cv_CO2)/(m_N2+m_CO2);\n", + "print (\"cv = %.3f\")%(cv),(\"kJ/kg K\")\n", + "\n", + "T1 = 293.; \t\t\t#K\n", + "T2 = 323.; \t\t\t#K\n", + "dU = m*cv*(T2-T1);\n", + "print (\"Change in internal energy = %.3f\")% (dU), (\"kJ\")\n", + "\n", + "dH = m*cp*(T2-T1);\n", + "print (\"Change in enthalpy = %.3f\")% (dH), (\"kJ\")\n", + "\n", + "dS = m*cv*math.log(T2/T1); \t\t\t#Consmath.tant volume process\n", + "print (\"Change in entropy = %.3f\")% (dS), (\"kJ/kg K\")\n", + "\n", + "\n", + "print (\"When the mixture is heated at constant pressure\")\n", + "\n", + "print (\"If the mixture is heated at constant pressure \u0394U and \u0394H will remain the same\")\n", + "\n", + "dS = m*cp*math.log(T2/T1);\n", + "print (\"Change in entropy = %.3f\")% (dS), (\"kJ/kg K\")\n", + "\n", + "\n", + "# Note : Answers are slightly different because of rounding error." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "x_N2 = 0.512\n", + "x_CO2 = 0.488\n", + "(ii) The equivalent molecular weight of the mixture\n", + "M = 35.814 kg/kg-mole\n", + "(iii) The equivalent gas consmath.tant of the mixture\n", + "Rmix = 0.232 kJ/kg K\n", + "(iv) The partial pressures and partial volumes\n", + "P_N2 = 2.047 bar\n", + "P_CO2 = 1.953 bar\n", + "V_N2 0.870 m**3\n", + "V_CO2 0.830 m**3\n", + "(v) The volume and density of the mixture\n", + "V = 1.700 m**3\n", + "Density of mixture = 5.881 kg/m**3\n", + "(vi) cp and cv of the mixture\n", + "cp = 0.925 kJ/kg K\n", + "cv = 0.693 kJ/kg K\n", + "Change in internal energy = 208.001 kJ\n", + "Change in enthalpy = 277.644 kJ\n", + "Change in entropy = 0.676 kJ/kg K\n", + "When the mixture is heated at constant pressure\n", + "If the mixture is heated at constant pressure \u0394U and \u0394H will remain the same\n", + "Change in entropy = 0.902 kJ/kg K\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 9.11 Page no : 430" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate :\n", + "(i) The final temperature and pressure of the mixture ;\n", + "(ii) The change of entropy of the system.\n", + "\n", + "'''\n", + "\n", + "# Variables\n", + "Cv_O2 = 21.07; \t\t\t#kJ/mole K\n", + "Cv_CO = 20.86; \t\t\t#kJ/mole K\n", + "p_O2 = 8*10**5; \t\t\t#Pa\n", + "p_CO = 1*10**5; \t\t\t#Pa\n", + "V_O2 = 1.8; \t\t\t#m**3\n", + "V_CO = 3.6; \t\t\t#m**3\n", + "T_O2 = 323.; \t\t\t#K\n", + "T_CO = 293.; \t\t\t#K\n", + "R0 = 8314.;\n", + "\n", + "# Calculations and Results\n", + "n_O2 = p_O2*V_O2/R0/T_O2;\n", + "n_CO = p_CO*V_CO/R0/T_CO;\n", + "n = (n_O2+n_CO);\n", + "V = (V_O2+V_CO);\n", + "\n", + "print (\"(i) Final temperature (T) and pressure (p) of the mixture\")\n", + "\n", + "#Before mixing\n", + "U1 = n_O2*Cv_O2*T_O2 + n_CO*Cv_CO*T_CO;\n", + "\n", + "T = U1/(n_O2*Cv_O2 + n_CO*Cv_CO);\n", + "t = T-273;\n", + "\n", + "print (\"Final temperature = %.3f\")% (t), (\"\u00b0C\")\n", + "\n", + "p = n*R0*T/V/10**5;\n", + "print (\"Final pressure = %.3f\")% (p), (\"bar\")\n", + "\n", + "\n", + "#For oxygen\n", + "dS_O1A = n_O2*R0*math.log(V/V_O2); \t\t\t#isothermal process\n", + "dS_O2A = n_O2*Cv_O2*math.log(T_O2/T); \t\t\t#consmath.tant volume process\n", + "dS_O12 = dS_O1A - dS_O2A; \t\t\t# Change of entropy of O2\n", + "\n", + "#For CO\n", + "dS_CO12 = n_CO*R0*math.log(V/V_CO) + n_CO*Cv_CO*math.log(T/T_CO); \t\t\t#Change of entropy of CO\n", + "dS = (dS_O12 + dS_CO12)/10**3;\n", + "print (\"(ii)Change of entropy of system = %.3f\")% (dS), (\"kJ/K\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Final temperature (T) and pressure (p) of the mixture\n", + "Final temperature = 43.569 \u00b0C\n", + "Final pressure = 3.334 bar\n", + "(ii)Change of entropy of system = 5.396 kJ/K\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 9.12 Page no : 432" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "(a) Calculate : (i) The final equilibrium pressure ;\n", + "(ii) The amount of heat transferred to the surroundings ;\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "p_A = 16.*10**5; \t\t\t#Pa\n", + "p_B = 6.4*10**5; \t\t\t#Pa\n", + "\n", + "T_A = 328.; \t\t\t#K\n", + "T_B = 298.; \t\t\t#K\n", + "\n", + "n_A = 0.6 \t\t\t#kg-mole\n", + "m_B = 3; \t \t\t#kg\n", + "\n", + "R0 = 8314.;\n", + "M_A = 28.; \n", + "y = 1.4;\n", + "\n", + "V_A = n_A*R0*T_A/p_A;\n", + "m_A = n_A*M_A;\n", + "R = R0/M_A;\n", + "V_B = m_B*R*T_B/p_B;\n", + "V = V_A+V_B;\n", + "m = m_A+m_B;\n", + "T = 303.; \t\t\t#K\n", + "\n", + "print (\"(a) (i) Final equilibrium pressure, p\")\n", + "p = m*R*T/V/10**5;\n", + "print (\"p = %.3f\")% (p), (\"bar\")\n", + "\n", + "cv = R/10**3/(y-1);\n", + "\n", + "print (\"(ii) Amount of heat transferred, Q :\")\n", + "\n", + "U1 = cv*(m_A*T_A + m_B*T_B);\n", + "U2 = m*cv*T;\n", + "Q = U2-U1;\n", + "print (\"Q = %.3f\")% (Q),(\"kJ\")\n", + "\n", + "print (\"(b) If the vessel were insulated :\")\n", + "\n", + "print (\"(i) Final temperature,\")\n", + "\n", + "T = cv*(m_A*T_A + m_B*T_B)/(m*cv);\n", + "t = T-273;\n", + "print (\"T = %.3f\")% (t), (\"\u00b0C\")\n", + "\n", + "\n", + "print (\"(ii) Final pressure\")\n", + "\n", + "p = m*R*T/V/10**5;\n", + "print (\"p = %.3f\")% (p), (\"bar\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(a) (i) Final equilibrium pressure, p\n", + "p = 12.393 bar\n", + "(ii) Amount of heat transferred, Q :\n", + "Q = -300.640 kJ\n", + "(b) If the vessel were insulated :\n", + "(i) Final temperature,\n", + "T = 50.455 \u00b0C\n", + "(ii) Final pressure\n", + "p = 13.230 bar\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 9.13 Page no : 434" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate the increase in entropy \n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "m_O2 = 3.; \t\t\t#kg\n", + "M_O2 = 32.;\n", + "m_N2 = 9.; \t\t\t#kg\n", + "M_N2 = 28.;\n", + "R0 = 8.314;\n", + "\n", + "# Calculations\n", + "R_O2 = R0/M_O2;\n", + "R_N2 = R0/M_N2;\n", + "x_O2 = (m_O2/M_O2)/((m_O2/M_O2) + (m_N2/M_N2));\n", + "x_N2 = (m_N2/M_N2)/((m_O2/M_O2) + (m_N2/M_N2));\n", + "dS = -m_O2*R_O2*math.log(x_O2) -m_N2*R_N2*math.log(x_N2);\n", + "\n", + "# Results\n", + "print (\"Change in entropy = %.3f\")% (dS),(\"kJ/kg K\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Change in entropy = 1.844 kJ/kg K\n" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 9.14 Page no : 434" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Calculate the mass of O 2 added.\n", + "# Variables\n", + "m_N2 = 2.5; \t\t\t#kg \n", + "M_N2 = 28.;\n", + "p_N2 = 15.; \t\t\t#bar\n", + "p_total = 20.; \t\t\t#bar\n", + "\n", + "# Calculations\n", + "n_N2 = m_N2/M_N2;\n", + "p_O2 = p_total-p_N2;\n", + "n_O2 = p_O2/p_N2*n_N2;\n", + "M_O2 = 32;\n", + "m_O2 = n_O2*M_O2;\n", + "\n", + "# Results\n", + "print (\"Mass of O2 added = %.3f\")% (m_O2), (\"kg\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Mass of O2 added = 0.952 kg\n" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 9.15 Page no : 435" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine :\n", + "(i) The moles of nitrogen per mole of oxygen ;\n", + "(ii) The partial pressure of oxygen and nitrogen if the total pressure is atmosphere ;\n", + "(iii) The kg of nitrogen per kg of mixture.\n", + "\n", + "'''\n", + "\n", + "# Variables\n", + "n_O2 = 1.;\n", + "M_N2 = 28.;\n", + "M_O2 = 32.;\n", + "\n", + "# Calculations and Results\n", + "print (\"(i) Moles of N2 per mole of O2 :\")\n", + "n_N2 = n_O2*0.79/0.21;\n", + "print (\"n_N2 = %.3f\")%(n_N2),(\"moles\")\n", + "\n", + "n = n_O2+n_N2;\n", + "print (\"(ii)\")\n", + "p = 1; \t\t\t#atm\n", + "\n", + "p_O2 = n_O2/n*p;\n", + "print (\"p_O2 = %.3f\")% (p_O2), (\"atm\")\n", + "\n", + "p_N2 = n_N2/n*p;\n", + "print (\"p_N2 = %.3f\")% (p_N2), (\"atm\")\n", + "\n", + "\n", + "x = n_N2*M_N2/(n_N2*M_N2+n_O2*M_O2);\n", + "print (\"(iii) The kg of nitrogen per kg of mixture = %.3f\")% (x), (\"kg N2/kg mix\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Moles of N2 per mole of O2 :\n", + "n_N2 = 3.762 moles\n", + "(ii)\n", + "p_O2 = 0.210 atm\n", + "p_N2 = 0.790 atm\n", + "(iii) The kg of nitrogen per kg of mixture = 0.767 kg N2/kg mix\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 9.16 Page no : 436" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + " # Find the masses of O 2 , N 2 and CO 2 in the cylinder.\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "V = 0.6; \t\t\t#m**3\n", + "p1 = 12.*10**5; \t\t\t#Pa\n", + "p2 = 18.*10**5; \t\t\t#Pa\n", + "T = 298.; \t\t\t#K\n", + "R0 = 8.314;\n", + "x_O2 = 0.23;\n", + "x_N2 = 0.77;\n", + "\n", + "n = p1*V/R0/10**3/T;\n", + "#Considering 100 kg of air\n", + "m_O2 = 23.; \t\t\t#kg\n", + "m_N2 = 77.; \t\t\t#kg\n", + "M_O2 = 32.;\n", + "M_N2 = 28.;\n", + "m = 100.; \t\t\t#kg\n", + "\n", + "# Calculations and Results\n", + "R = (m_O2/M_O2 + m_N2/M_N2)*R0/m; \t\t\t#for air\n", + "M = R0/R \t \t\t#for air\n", + "\n", + "m = p1*V/R/T/10**3;\n", + "\n", + "m_O2 = x_O2*m;\n", + "print (\"Mass of O2 = %.3f\")% (m_O2), (\"kg\")\n", + "\n", + "m_N2 = x_N2*m;\n", + "print (\"Mass of N2 = %.3f\")% (m_N2), (\"kg\")\n", + "\n", + "#After adding CO2 in the vessel\n", + "p2 = 18.*10**5; \t\t\t#Pa;\n", + "\n", + "p_CO2 = 6.*10**5; \t\t\t#Pa\n", + "M_CO2 = 44.;\n", + "R_CO2 = R0/M_CO2;\n", + "\n", + "m_CO2 = p_CO2*V/(R_CO2*10**3*T);\n", + "print (\"Mass of CO2 = %.3f\")% (m_CO2), (\"kg\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Mass of O2 = 1.927 kg\n", + "Mass of N2 = 6.451 kg\n", + "Mass of CO2 = 6.393 kg\n" + ] + } + ], + "prompt_number": 18 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 9.17 Page no : 437" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate-\n", + "(i) The partial pressure ;\n", + "(ii) The total pressure ;\n", + "(iii) The mean value of R for the mixture.\n", + "'''\n", + "# Variables\n", + "V = 6; \t\t \t#m**3\n", + "A = 0.45; \n", + "B = 0.55;\n", + "R_A = 0.288; \t\t\t#kJ/kg K\n", + "R_B = 0.295; \t\t\t#kJ/kg K\n", + "m = 2. \t\t\t#kg\n", + "T = 303. \t\t\t #K\n", + "\n", + "# Calculations\n", + "print (\"(i) The partial pressures\")\n", + "m_A = A*m;\n", + "m_B = B*m;\n", + "\n", + "p_A = m_A*R_A*10**3*T/V/10**5; \t\t\t#bar\n", + "print (\"p_A = %.3f\")% (p_A), (\"bar\")\n", + "\n", + "p_B = m_B*R_B*10**3*T/V/10**5; \t\t\t#bar\n", + "print (\"p_B = %.3f\")% (p_B), (\"bar\")\n", + "\n", + "\n", + "print (\"(ii) The total pressure\")\n", + "p = p_A+p_B;\n", + "print (\"p = %.3f\")% (p), (\"bar\")\n", + "\n", + "\n", + "print (\"(iii) The mean value of R for the mixture\")\n", + "Rm = (m_A*R_A + m_B*R_B)/(m_A + m_B);\n", + "print (\"Rm = %.3f\")% (Rm), (\"kJ/kg K\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) The partial pressures\n", + "p_A = 0.131 bar\n", + "p_B = 0.164 bar\n", + "(ii) The total pressure\n", + "p = 0.295 bar\n", + "(iii) The mean value of R for the mixture\n", + "Rm = 0.292 kJ/kg K\n" + ] + } + ], + "prompt_number": 19 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 9.18 Page no : 438" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine-\n", + "(i) The mole fraction of each component ; (ii) The average molecular weight ;\n", + "(iii) The specific gas constant ;\n", + "(iv) The volume and density ;\n", + "(v) The partial pressures and partial volumes.\n", + "'''\n", + "\n", + "# Variables\n", + "m_O2 = 4.; \t\t\t#kg\n", + "m_N2 = 6.; \t\t\t#kg\n", + "p = 4.*10**5; \t\t\t#Pa\n", + "T = 300.; \t\t\t#K\n", + "M_O2 = 32.;\n", + "M_N2 = 28.;\n", + "m = 10.; \t\t\t#kg\n", + "\n", + "# Calculations and Results\n", + "print (\"(i) The mole fraction of each component\")\n", + "n_O2 = m_O2/M_O2;\n", + "n_N2 = m_N2/M_N2;\n", + "\n", + "x_O2 = n_O2/(n_O2+n_N2);\n", + "print (\"x_O2 = %.3f\")% (x_O2)\n", + "\n", + "x_N2 = n_N2/(n_N2+n_O2);\n", + "print (\"x_N2 = %.3f\")% (x_N2)\n", + "\n", + "\n", + "print (\"(ii) The average molecular weight\")\n", + "M = (n_O2*M_O2 + n_N2*M_N2)/(n_O2 + n_N2);\n", + "print (\"M = %.3f\")%(M)\n", + "\n", + "print (\"(iii) The specific gas consmath.tant\")\n", + "R0 = 8.314;\n", + "R = R0/M;\n", + "print (\"R = %.3f\")% (R), (\"kJ/kg K\")\n", + "\n", + "print (\"(iv) The volume and density\")\n", + "V = m*R*T*10**3/p;\n", + "print (\"V = %.3f\")%(V), (\"m**3\")\n", + "\n", + "rho = (m_O2/V) + (m_N2/V);\n", + "print (\"density = %.3f\")% (rho), (\"kg/m**3\")\n", + "\n", + "\n", + "print (\"(v) The partial pressures and partial volumes\")\n", + "p_O2 = n_O2*R0*10**3*T/V/10**5; \t\t\t#bar\n", + "print (\"p_O2 = %.3f\")%(p_O2), (\"bar\")\n", + "\n", + "p_N2 = n_N2*R0*10**3*T/V/10**5; \t\t\t#bar\n", + "print (\"p_N2 = %.3f\")% (p_N2), (\"bar\")\n", + "\n", + "V_O2 = x_O2*V;\n", + "print (\"V_O2 = %.3f\")% (V_O2), (\"m**3\")\n", + "\n", + "V_N2 = x_N2*V;\n", + "print (\"V_N2 = %.3f\")% (V_N2), (\"m**3\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) The mole fraction of each component\n", + "x_O2 = 0.368\n", + "x_N2 = 0.632\n", + "(ii) The average molecular weight\n", + "M = 29.474\n", + "(iii) The specific gas consmath.tant\n", + "R = 0.282 kJ/kg K\n", + "(iv) The volume and density\n", + "V = 2.116 m**3\n", + "density = 4.727 kg/m**3\n", + "(v) The partial pressures and partial volumes\n", + "p_O2 = 1.474 bar\n", + "p_N2 = 2.526 bar\n", + "V_O2 = 0.779 m**3\n", + "V_N2 = 1.336 m**3\n" + ] + } + ], + "prompt_number": 20 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 9.19 Page no : 439" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Calculate :\n", + "(i) The final temperature of the mixture ; \n", + "(ii) The change in entropy.\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "cp_CO2 = 0.85; \t\t\t#kJ/kg K\n", + "cp_N2 = 1.04; \t\t\t#kJ/kg K\n", + "m_CO2 = 4.; \t\t\t#kg\n", + "T1_CO2 = 313.; \t\t\t#K\n", + "m_N2 = 8.; \t\t\t#kg\n", + "T1_N2 = 433.; \t\t\t#K\n", + "p2 = 0.7; \t\t\t#bar\n", + "p1_CO2 = 1.4; \t\t\t#bar\n", + "p1_N2 = 1.;\n", + "R = 8.314;\n", + "M_CO2 = 44.;\n", + "M_N2 = 28.;\n", + "R_CO2 = R/M_CO2;\n", + "R_N2 = R/M_N2;\n", + "\n", + "# Calculations and Results\n", + "print (\"(i) Final temperature, T2\")\n", + "T2 = (m_CO2*cp_CO2*T1_CO2 + m_N2*cp_N2*T1_N2)/(m_CO2*cp_CO2 + m_N2*cp_N2);\n", + "print (\"T2 = %.3f\")%(T2),(\"K\")\n", + "\n", + "print (\"(ii) Change in entropy\")\n", + "n_CO2 = 0.0909;\n", + "n_N2 = 0.2857;\n", + "n = n_CO2 + n_N2;\n", + "x_CO2 = n_CO2/n;\n", + "x_N2 = n_N2/n;\n", + "p2_CO2 = x_CO2*p2;\n", + "p2_N2 = x_N2*p2;\n", + "\n", + "dS = m_CO2*cp_CO2*math.log(T2/T1_CO2) - m_CO2*R_CO2*math.log(p2_CO2/p1_CO2) + m_N2*cp_N2*math.log(T2/T1_N2) - m_N2*R_N2*math.log(p2_N2/p1_N2);\n", + "print (\"dS = %.3f\")%(dS), (\"kJ/K\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Final temperature, T2\n", + "T2 = 398.188 K\n", + "(ii) Change in entropy\n", + "dS = 3.223 kJ/K\n" + ] + } + ], + "prompt_number": 21 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 9.20 Page no : 440" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "calculate the entropy change in the mixing process.\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "cv_O2 = 0.39; \t\t\t#kJ/kg K\n", + "cv_N2 = 0.446; \t\t\t#kJ/kg K\n", + "n_O2 = 1.;\n", + "n_N2 = 2.;\n", + "M_O2 = 32.;\n", + "M_N2 = 28.;\n", + "m_O2 = 32.; \t\t\t#kg\n", + "m_N2 = 2*28.; \t\t\t#kg\n", + "T_O2 = 293.; \t\t\t#K\n", + "T_N2 = 301.; \t\t\t#K\n", + "R0 = 8.314;\n", + "\n", + "# Calculations\n", + "p_O2 = 2.5*10**5; \t\t\t#Pa\n", + "p_N2 = 1.5*10**5; \t\t\t#Pa\n", + "T2 = (m_O2*cv_O2*T_O2 + m_N2*cv_N2*T_N2)/(m_O2*cv_O2 + m_N2*cv_N2);\n", + "V_O2 = n_O2*R0*10**5*T_O2/p_O2;\n", + "V_N2 = n_N2*R0*10**5*T_N2/p_N2;\n", + "V = V_O2+V_N2;\n", + "dS = m_O2*(cv_O2*math.log(T2/T_O2) + R0/M_O2*math.log(V/V_O2)) + m_N2*(cv_N2*math.log(T2/T_N2) + R0/M_N2*math.log(V/V_N2));\n", + "\n", + "# Results\n", + "print (\"Entropy change in the mixing process = %.3f\")%(dS),(\"kJ\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Entropy change in the mixing process = 16.627 kJ\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 9.21 Page no : 421" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "'''\n", + "Determine :\n", + "(i) The temperature of the equilibrium mixture ;\n", + "(ii) The pressure of the mixture ;\n", + "(iii) The change in entropy for each component and total value.\n", + "'''\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "cv_N2 = 0.744; \t\t\t#kJ/kg K\n", + "cv_H2 = 10.352; \t\t\t#kJ/kg K\n", + "cp_N2 = 1.041; \t\t\t#kJ/kg K\n", + "cp_H2 = 14.476; \t\t\t#kJ/kg K\n", + "V = 0.45; \t\t\t#m**3\n", + "V_H2 = 0.3; \t\t\t#m**3\n", + "V_N2 = 0.15; \t\t\t#m**3\n", + "p_H2 = 3.*10**5; \t\t\t#Pa\n", + "p_N2 = 6.*10**5; \t\t\t#Pa\n", + "T_H2 = 403.; \t\t\t#K\n", + "T_N2 = 303.; \t\t\t#K\n", + "\n", + "# Calculations and Results\n", + "R_H2 = 8.314/2;\n", + "R_N2 = 8.314/28;\n", + "\n", + "print (\"(i) Temperature of equilibrium mixture\")\n", + "\n", + "m_H2 = p_H2*V_H2/(R_H2*10**3)/T_H2;\n", + "m_N2 = p_N2*V_N2/(R_N2*10**3)/T_N2;\n", + "T2 = (m_H2*cv_H2*T_H2 + m_N2*cv_N2*T_N2)/(m_H2*cv_H2 + m_N2*cv_N2);\n", + "print (\"T2 = %.3f\")%(T2),(\"K\")\n", + "\n", + "print (\"(ii) Pressure of the mixture\")\n", + "p2_H2 = m_H2*R_H2*10**3*T2/V;\n", + "p2_N2 = m_N2*R_N2*10**3*T2/V;\n", + "\n", + "p2 = p2_H2+p2_N2;\n", + "print (\"p2 = %.3f\")%(p2/10**5),(\"bar\")\n", + "\n", + "print (\"(iii) Change in entropy :\")\n", + "\n", + "dS_H2 = m_H2*(cp_H2*math.log(T2/T_H2) - R_H2*math.log(p2_H2/p_H2));\n", + "print (\"Change in entropy of H2 = %.3f\")%(dS_H2),(\"kJ/K\")\n", + "\n", + "dS_N2 = m_N2*(cp_N2*math.log(T2/T_N2) - R_N2*math.log(p2_N2/p_N2));\n", + "print (\"Change in entropy of N2 = %.3f\")%(dS_N2),(\"kJ/K\")\n", + "\n", + "dS = dS_H2+dS_N2;\n", + "\n", + "print (\"Total change in entropy = %.3f\")%(dS),(\"kJ/K\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "(i) Temperature of equilibrium mixture\n", + "T2 = 345.767 K\n", + "(ii) Pressure of the mixture\n", + "p2 = 3.998 bar\n", + "(iii) Change in entropy :\n", + "Change in entropy of H2 = 0.006 kJ/K\n", + "Change in entropy of N2 = 0.425 kJ/K\n", + "Total change in entropy = 0.430 kJ/K\n" + ] + } + ], + "prompt_number": 23 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Example 9.22 Page no : 443" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Calculate c v and c p of the mixture.\n", + "\n", + "import math \n", + "\n", + "# Variables\n", + "cv_N2 = 0.745; \t\t\t#kJ/kg K\n", + "cv_CO2 = 0.653; \t\t#kJ/kg K\n", + "cp_N2 = 1.041; \t\t\t#kJ/kg K\n", + "cp_CO2 = 0.842; \t\t#kJ/kg K\n", + "m_N2 = 4.; \t\t\t#kg\n", + "m_CO2 = 6.; \t\t#kg\n", + "pmix = 4.; \t\t \t#bar\n", + "m = m_N2+m_CO2;\n", + "\n", + "T1 = 298.; \t\t\t #K\n", + "T2 = 323.; \t\t\t #K\n", + "\n", + "# Calculations and Results\n", + "cv_mix = (m_N2*cv_N2 + m_CO2*cv_CO2)/(m_N2+m_CO2);\n", + "print (\"cv_mix = %.3f\")% (cv_mix), (\"kJ/kg K\")\n", + "\n", + "cp_mix = (m_N2*cp_N2 + m_CO2*cp_CO2)/(m_N2+m_CO2);\n", + "print (\"cp_mix = %.3f\")% (cp_mix), (\"kJ/kg K\")\n", + "\n", + "dU = m*cv_mix*(T2-T1);\n", + "print (\"Change in internal energy = %.3f\")% (dU), (\"kJ\")\n", + "\n", + "dH = m*cp_mix*(T2-T1);\n", + "print (\"Change in enthalpy = %.3f\")% (dH), (\"kJ\")\n", + "\n", + "dS = m_N2*cv_N2*math.log(T2/T1) + m_CO2*cv_CO2*math.log(T2/T1);\n", + "print (\"Change in entropy = %.3f\")% (dS), (\"kJ/K\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "cv_mix = 0.690 kJ/kg K\n", + "cp_mix = 0.922 kJ/kg K\n", + "Change in internal energy = 172.450 kJ\n", + "Change in enthalpy = 230.400 kJ\n", + "Change in entropy = 0.556 kJ/K\n" + ] + } + ], + "prompt_number": 24 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Industrial_Instrumentation/screenshots/chapter8.png b/Industrial_Instrumentation/screenshots/chapter8.png Binary files differnew file mode 100644 index 00000000..d0d66354 --- /dev/null +++ b/Industrial_Instrumentation/screenshots/chapter8.png diff --git a/Industrial_Instrumentation/screenshots/coldair-stardotto.png b/Industrial_Instrumentation/screenshots/coldair-stardotto.png Binary files differnew file mode 100644 index 00000000..7234c1fa --- /dev/null +++ b/Industrial_Instrumentation/screenshots/coldair-stardotto.png diff --git a/Industrial_Instrumentation/screenshots/decreaseentropy.png b/Industrial_Instrumentation/screenshots/decreaseentropy.png Binary files differnew file mode 100644 index 00000000..718cfb9f --- /dev/null +++ b/Industrial_Instrumentation/screenshots/decreaseentropy.png diff --git a/Industrial_Instrumentation/screenshots/mechanicsesmicinst.png b/Industrial_Instrumentation/screenshots/mechanicsesmicinst.png Binary files differnew file mode 100644 index 00000000..535bb827 --- /dev/null +++ b/Industrial_Instrumentation/screenshots/mechanicsesmicinst.png diff --git a/Industrial_Instrumentation/screenshots/pvdiagram.png b/Industrial_Instrumentation/screenshots/pvdiagram.png Binary files differnew file mode 100644 index 00000000..bd945aff --- /dev/null +++ b/Industrial_Instrumentation/screenshots/pvdiagram.png diff --git a/Industrial_Instrumentation/screenshots/rangeflowratameter.png b/Industrial_Instrumentation/screenshots/rangeflowratameter.png Binary files differnew file mode 100644 index 00000000..3a5df08f --- /dev/null +++ b/Industrial_Instrumentation/screenshots/rangeflowratameter.png |