diff options
Diffstat (limited to 'Basic_Engineering_Thermodynamics_by_Rayner_Joel/Chapter14_1.ipynb')
-rw-r--r-- | Basic_Engineering_Thermodynamics_by_Rayner_Joel/Chapter14_1.ipynb | 552 |
1 files changed, 552 insertions, 0 deletions
diff --git a/Basic_Engineering_Thermodynamics_by_Rayner_Joel/Chapter14_1.ipynb b/Basic_Engineering_Thermodynamics_by_Rayner_Joel/Chapter14_1.ipynb new file mode 100644 index 00000000..93b514ee --- /dev/null +++ b/Basic_Engineering_Thermodynamics_by_Rayner_Joel/Chapter14_1.ipynb @@ -0,0 +1,552 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 14 - Air and gas compressors" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1: pg 400" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Example 14.1\n", + " (a) The free air delivered is (m^3/min) = 3.814\n", + " (b) The volumetric efficiency is (percent) = 80.9\n", + " (c) The air delivery temperature is (C) = 164.3\n", + " (d) The cycle power is (kW) = 14.0\n", + " (e) The isothermal efficiency neglecting clearence is (percent) = 81.3\n" + ] + } + ], + "source": [ + "#pg 400\n", + "print(' Example 14.1');\n", + "\n", + "# aim : To determine \n", + "# (a) the free air delivered\n", + "# (b) the volumetric efficiency\n", + "# (c) the air delivery temperature\n", + "# (d) the cycle power\n", + "# (e) the isothermal efficiency\n", + "from math import pi,log\n", + "# given values\n", + "d = 200.*10**-3;# bore, [m]\n", + "L = 300.*10**-3;# stroke, [m]\n", + "N = 500.;# speed, [rev/min]\n", + "n = 1.3;# polytropic index\n", + "P1 = 97.;# intake pressure, [kN/m**2]\n", + "T1 = 273.+20;# intake temperature, [K]\n", + "P3 = 550.;# compression pressure, [kN/m**2]\n", + "\n", + "# solution\n", + "# (a)\n", + "P4 = P1;\n", + "P2 = P3;\n", + "Pf = 101.325;# free air pressure, [kN/m**2]\n", + "Tf = 273+15;# free air temperature, [K]\n", + "SV = pi/4*d**2*L;# swept volume, [m**3]\n", + "V3 = .05*SV;# [m**3]\n", + "V1 = SV+V3;# [m**3]\n", + "V4 = V3*(P3/P4)**(1/n);# [m**3]\n", + "ESV = (V1-V4)*N;# effective swept volume/min, [m**3]\n", + "# using PV/T=constant\n", + "Vf = P1*ESV*Tf/(Pf*T1);# free air delivered, [m**3/min]\n", + "print ' (a) The free air delivered is (m^3/min) = ',round(Vf,3)\n", + "\n", + "# (b)\n", + "VE = Vf/(N*(V1-V3));# volumetric efficiency\n", + "print ' (b) The volumetric efficiency is (percent) = ',round(VE*100,1)\n", + "\n", + "# (c)\n", + "T2 = T1*(P2/P1)**((n-1)/n);# free air temperature, [K]\n", + "print ' (c) The air delivery temperature is (C) = ',round(T2-273,1)\n", + "\n", + "# (d)\n", + "CP = n/(n-1)*P1*(V1-V4)*((P2/P1)**((n-1)/n)-1)*N/60;# cycle power, [kW]\n", + "print ' (d) The cycle power is (kW) = ',round(CP)\n", + "\n", + "# (e)\n", + "# neglecting clearence\n", + "W = n/(n-1)*P1*V1*((P2/P1)**((n-1)/n)-1)\n", + "Wi = P1*V1*log(P2/P1);# isothermal efficiency\n", + "IE = Wi/W;# isothermal efficiency\n", + "print ' (e) The isothermal efficiency neglecting clearence is (percent) = ',round(IE*100,1)\n", + "\n", + "# End\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2: pg 408" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Example 14.2\n", + " (a) The intermediate pressure is (MN/m^2) = 0.265\n", + " (b) The total volume of the HP cylinder is (litres) = 7.6\n", + " (c) The cycle power is (MW) = 43.0\n", + " there is rounding mistake in the book so answer is not matching\n" + ] + } + ], + "source": [ + "#pg 408\n", + "print(' Example 14.2');\n", + "\n", + "# aim : To determine \n", + "# (a) the intermediate pressure\n", + "# (b) the total volume of each cylinder\n", + "# (c) the cycle power\n", + "from math import sqrt\n", + "# given values\n", + "v1 = .2;# air intake, [m^3/s]\n", + "P1 = .1;# intake pressure, [MN/m^2]\n", + "T1 = 273.+16;# intake temperature, [K]\n", + "P3 = .7;# final pressure, [MN/m^2]\n", + "n = 1.25;# compression index\n", + "N = 10;# speed, [rev/s]\n", + "\n", + "# solution\n", + "# (a)\n", + "P2 = sqrt(P1*P3);# intermediate pressure, [MN/m^2]\n", + "print ' (a) The intermediate pressure is (MN/m^2) = ',round(P2,3)\n", + "\n", + "# (b)\n", + "V1 = v1/N;# total volume,[m^3]\n", + "# since intercooling is perfect so 2 lie on the isothermal through1, P1*V1=P2*V2\n", + "V2 = P1*V1/P2;# volume, [m^3]\n", + "print ' (b) The total volume of the HP cylinder is (litres) = ',round(V2*10**3,1)\n", + "\n", + "# (c)\n", + "CP = 2*n/(n-1)*P1*v1*((P2/P1)**((n-1)/n)-1);# cycle power, [MW]\n", + "print ' (c) The cycle power is (MW) = ',round(CP*10**3)\n", + "\n", + "print ' there is rounding mistake in the book so answer is not matching'\n", + "\n", + "# End\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 3: pg 409" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Example 14.3\n", + " (a) The intermediate pressure is P2 (bar) = 2.466\n", + " The intermediate pressure is P3 (bar) = 6.082\n", + " (b) The effective swept volume of the LP cylinder is (litres) = 45.32\n", + " (c) The delivery temperature is (C) = 85.4\n", + " The delivery volume is (litres) = 3.72\n", + " (d) The work done per kilogram of air is (kJ) = 254.1\n", + "The answer is a bit different due to rounding off error in textbook\n" + ] + } + ], + "source": [ + "#pg 409\n", + "print(' Example 14.3');\n", + "\n", + "# aim : To determine \n", + "# (a) the intermediate pressures\n", + "# (b) the effective swept volume of the LP cylinder\n", + "# (c) the temperature and the volume of air delivered per stroke at 15 bar\n", + "# (d) the work done per kilogram of air\n", + "import math\n", + "# given values\n", + "d = 450.*10**-3;# bore , [m]\n", + "L = 300.*10**-3;# stroke, [m]\n", + "cl = .05;# clearence\n", + "P1 = 1.; # intake pressure, [bar]\n", + "T1 = 273.+18;# intake temperature, [K]\n", + "P4 = 15.;# final delivery pressure, [bar]\n", + "n = 1.3;# compression and expansion index\n", + "R = .29;# gas constant, [kJ/kg K]\n", + "\n", + "# solution\n", + "# (a)\n", + "k=(P4/P1)**(1./3); \n", + "# hence\n", + "P2 = k*P1;# intermediare pressure, [bar]\n", + "P3 = k*P2;# intermediate pressure, [bar]\n", + "\n", + "print ' (a) The intermediate pressure is P2 (bar) = ',round(P2,3)\n", + "print ' The intermediate pressure is P3 (bar) = ',round(P3,3)\n", + "\n", + "# (b)\n", + "SV = math.pi*d**2/4*L;# swept volume of LP cylinder, [m**3]\n", + "# hence\n", + "V7 = cl*SV;# volume, [m**3]\n", + "V1 = SV+V7;# volume, [m**3]\n", + "# also\n", + "P7 = P2;\n", + "P8 = P1;\n", + "V8 = V7*(P7/P8)**(1/n);# volume, [m**3]\n", + "ESV = V1-V8;# effective swept volume of LP cylinder, [m**3]\n", + "\n", + "print ' (b) The effective swept volume of the LP cylinder is (litres) = ',round(ESV*10**3,2)\n", + "\n", + "# (c)\n", + "T9 = T1;\n", + "P9 = P3;\n", + "T4 = T9*(P4/P9)**((n-1)/n);# delivery temperature, [K]\n", + "# now using P4*(V4-V5)/T4=P1*(V1-V8)/T1\n", + "V4_minus_V5 = P1*T4*(V1-V8)/(P4*T1);# delivery volume, [m**3]\n", + " \n", + "print ' (c) The delivery temperature is (C) = ',round(T4-273,1)\n", + "print ' The delivery volume is (litres) = ',round(V4_minus_V5*10**3,2)\n", + "\n", + "# (d)\n", + "\n", + "W = 3*n*R*T1*((P2/P1)**((n-1)/n)-1)/(n-1);# work done/kg ,[kJ]\n", + "print ' (d) The work done per kilogram of air is (kJ) = ',round(W,1)\n", + " \n", + "print 'The answer is a bit different due to rounding off error in textbook'\n", + "# End\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4: pg 416" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Example 14.4\n", + " (a) The final temperature is (C) = 221.0\n", + " (b) The final pressure is (kN/m^2) = 500.0\n", + " (b) The energy required to drive the compressor is (kW) = -2023.0\n", + "The negative sign indicates energy input\n", + "The answer is a bit different due to rounding off error in textbook\n" + ] + } + ], + "source": [ + "#pg 416\n", + "print(' Example 14.4');\n", + "\n", + "# aim : To determine \n", + "# (a) the final pressure and temperature\n", + "# (b) the energy required to drive the compressor\n", + "\n", + "# given values\n", + "rv = 5.;# pressure compression ratio\n", + "m_dot = 10.;# air flow rate, [kg/s]\n", + "P1 = 100.;# initial pressure, [kN/m**2]\n", + "T1 = 273.+20;# initial temperature, [K]\n", + "n_com = .85;# isentropic efficiency of compressor\n", + "Gama = 1.4;# heat capacity ratio\n", + "cp = 1.005;# specific heat capacity, [kJ/kg K]\n", + "\n", + "# solution\n", + "# (a)\n", + "T2_prim = T1*(rv)**((Gama-1)/Gama);# temperature after compression, [K]\n", + "# using isentropic efficiency=(T2_prim-T1)/(T2-T1)\n", + "T2 = T1+(T2_prim-T1)/n_com;# final temperature, [K]\n", + "P2 = rv*P1;# final pressure, [kN/m**2]\n", + "print ' (a) The final temperature is (C) = ',round(T2-273)\n", + "print ' (b) The final pressure is (kN/m^2) = ',P2\n", + "\n", + "# (b)\n", + "E = m_dot*cp*(T1-T2);# energy required, [kW]\n", + "print ' (b) The energy required to drive the compressor is (kW) = ',round(E)\n", + "if(E<0):\n", + " print('The negative sign indicates energy input');\n", + "else:\n", + " print('The positive sign indicates energy output');\n", + "\n", + "print 'The answer is a bit different due to rounding off error in textbook'\n", + " # End\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5: pg 417" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Example 14.5\n", + " The power absorbed by compressor is (kW) = 12.64\n" + ] + } + ], + "source": [ + "#pg 417\n", + "print(' Example 14.5');\n", + "\n", + "# aim : To determine \n", + "# the power absorbed in driving the compressor\n", + "\n", + "# given values\n", + "FC = .68;# fuel consumption rate, [kg/min]\n", + "P1 = 93.;# initial pressure, [kN/m^2]\n", + "P2 = 200.;# final pressure, [kN/m^2]\n", + "T1 = 273.+15;# initial temperature, [K]\n", + "d = 1.3;# density of mixture, [kg/m^3]\n", + "n_com = .82;# isentropic efficiency of compressor\n", + "Gama = 1.38;# heat capacity ratio\n", + "\n", + "# solution\n", + "R = P1/(d*T1);# gas constant, [kJ/kg K]\n", + "# for mixture\n", + "cp = Gama*R/(Gama-1);# heat capacity, [kJ/kg K]\n", + "T2_prim = T1*(P2/P1)**((Gama-1)/Gama);# temperature after compression, [K]\n", + "# using isentropic efficiency=(T2_prim-T1)/(T2-T1)\n", + "T2 = T1+(T2_prim-T1)/n_com;# final temperature, [K]\n", + "m_dot = FC*15/60.;# given condition, [kg/s]\n", + "P = m_dot*cp*(T2-T1);# power absorbed by compressor, [kW]\n", + "#results\n", + "print ' The power absorbed by compressor is (kW) = ',round(P,2)\n", + "\n", + "# End\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 6: pg 418" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Example 14.6\n", + " The power required to drive the blower is (kW) = 99.5\n" + ] + } + ], + "source": [ + "#pg 418\n", + "print(' Example 14.6');\n", + "\n", + "# aim : To determine \n", + "# the power required to drive the blower\n", + "\n", + "# given values\n", + "m_dot = 1;# air capacity, [kg/s]\n", + "rp = 2;# pressure ratio\n", + "P1 = 1*10**5;# intake pressure, [N/m^2]\n", + "T1 = 273+70.;# intake temperature, [K]\n", + "R = .29;# gas constant, [kJ/kg k]\n", + "\n", + "# solution\n", + "V1_dot = m_dot*R*T1/P1*10**3;# [m^3/s]\n", + "P2 = rp*P1;# final pressure, [n/m^2]\n", + "P = V1_dot*(P2-P1);# power required, [W]\n", + "#results\n", + "print ' The power required to drive the blower is (kW) = ',round(P*10**-3,1)\n", + "\n", + "# End\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7: pg 418" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Example 14.7\n", + " The power required to drive the vane pump is (kW) = 78.0\n" + ] + } + ], + "source": [ + "#pg 418\n", + "print(' Example 14.7');\n", + "\n", + "# aim : To determine \n", + "# the power required to drive the vane pump\n", + "\n", + "# given values\n", + "m_dot = 1;# air capacity, [kg/s]\n", + "rp = 2;# pressure ratio\n", + "P1 = 1*10**5;# intake pressure, [N/m^2]\n", + "T1 = 273.+70;# intake temperature, [K]\n", + "Gama = 1.4;# heat capacity ratio\n", + "rv = .7;# volume ratio\n", + "\n", + "# solution\n", + "V1 = .995;# intake pressure(as given previous question),[m^3/s] \n", + "# using P1*V1^Gama=P2*V2^Gama, so\n", + "P2 = P1*(1/rv)**Gama;# pressure, [N/m^2]\n", + "V2 = rv*V1;# volume,[m^3/s]\n", + "P3 = rp*P1;# final pressure, [N/m^2]\n", + "P = Gama/(Gama-1)*P1*V1*((P2/P1)**((Gama-1)/Gama)-1)+V2*(P3-P2);# power required,[W]\n", + "#results\n", + "print ' The power required to drive the vane pump is (kW) = ',round(P*10**-3)\n", + "\n", + "# End\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 8: pg 420" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Example 14.8\n", + " The power required to drive compressor is (kW) = 54.6\n", + " The temperature in the engine is (C) = 109.19\n", + " The pressure in the engine cylinder is (kN/m^2) = 160.5\n" + ] + } + ], + "source": [ + "#pg 420\n", + "print(' Example 14.8');\n", + "\n", + "# aim : To determine \n", + "# the total temperature and pressure of the mixture\n", + "\n", + "# given values\n", + "rp = 2.5;# static pressure ratio\n", + "FC = .04;# fuel consumption rate, [kg/min]\n", + "P1 = 60.;# inilet pressure, [kN/m^2]\n", + "T1 = 273.+5;# inilet temperature, [K]\n", + "n_com = .84;# isentropic efficiency of compressor\n", + "Gama = 1.39;# heat capacity ratio\n", + "C2 = 120.;#exit velocity from compressor, [m/s]\n", + "rm = 13.;# air-fuel ratio\n", + "cp = 1.005;# heat capacity ratio\n", + "\n", + "# solution\n", + "P2 = rp*P1;# given condition, [kN/m^2]\n", + "T2_prim = T1*(P2/P1)**((Gama-1)/Gama);# temperature after compression, [K]\n", + "# using isentropic efficiency=(T2_prim-T1)/(T2-T1)\n", + "T2 = T1+(T2_prim-T1)/n_com;# final temperature, [K]\n", + "m_dot = FC*(rm+1);# mass of air-fuel mixture, [kg/s]\n", + "P = m_dot*cp*(T2-T1);# power to drive compressor, [kW]\n", + "print ' The power required to drive compressor is (kW) = ',round(P,1)\n", + "\n", + "Tt2 = T2+C2**2/(2*cp*10**3);# total temperature,[K]\n", + "Pt2 = P2*(Tt2/T2)**(Gama/(Gama-1));# total pressure, [kN/m^2]\n", + "print ' The temperature in the engine is (C) = ',round(Tt2-273,2)\n", + "print ' The pressure in the engine cylinder is (kN/m^2) = ',round(Pt2,1)\n", + "\n", + "print ' There is rounding mistake in the book'\n", + "\n", + "\n", + "# End\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.11" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} |