{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Chapter 8 : Humidity and Humidity chart" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.1 pageno : 206" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "# variables \n", "T = 280. #K\n", "P = 105. #kPa\n", "Pas = 13.25 #kPa ( Vpaour pressure of acetone )\n", "Pa = Pas # ( As gas is saturated, partial pressure = vapour pressure )\n", "\n", "# Calculation \n", "Mfr = Pa / P #(Mole fraction) \n", "Mpr = Mfr * 100 \n", "print \"(a)The mole percent of acetone in the mixture = %.2f %%\"%Mpr\n", "Ma = 58.048 #(molecular weight of acetone)\n", "Mn = 28. #(molecular weight of nitrogen)\n", "N = 1. #mole\n", "Na = Mfr * N \n", "Nn = N - Na \n", "ma = Na * Ma \n", "mn = Nn * Mn \n", "mtotal = ma + mn \n", "maper = ma *100 / mtotal \n", "mnper = mn *100/ mtotal \n", "\n", "# Result\n", "print \"(b)Weight percent of acetone = %.2f %%\"%maper\n", "print \"Weight percent of nitrogen = %.2f %%\"%mnper\n", "Vstp = 22.4 #m**3/kmol\n", "Pstp = 101.3 #kPa\n", "Tstp = 273.15 #K\n", "V = Vstp * Pstp * T / ( Tstp * P ) \n", "C = ma/V \n", "print \"(c)Concentration of vapour = %.4f kg/m**3\"%C\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "(a)The mole percent of acetone in the mixture = 12.62 %\n", "(b)Weight percent of acetone = 23.04 %\n", "Weight percent of nitrogen = 76.96 %\n", "(c)Concentration of vapour = 0.3307 kg/m**3\n" ] } ], "prompt_number": 1 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.2 pageno : 207" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math \n", "\n", "# Variables \n", "P = 101.3 #kPa\n", "Per1 = 10. #%\n", "\n", "# Calculation \n", "Pa = P * Per1 / 100 # ( a - benzene )\n", "Ps = Pa #( saturation )\n", "#lnPs = 13.8858 - 2788.51/(T - 52.36)\n", "T = 2788.51 / ( 13.8858 - math.log(Ps)) + 52.36 \n", "\n", "# Result\n", "print \"Temperature at which saturation occurs = %.1f K\"%T\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Temperature at which saturation occurs = 293.4 K\n" ] } ], "prompt_number": 2 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.3 pageno : 207" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "# variables \n", "Pdryair = 101.3 #kPa\n", "Pacetone = 16.82 #kPa\n", "\n", "# Calculation \n", "Nratio = Pacetone / (Pdryair - Pacetone) \n", "mratio = Nratio * 58.048 / 29 # ( Macetone = 58.048, Mair = 29 )\n", "macetone = 5. #kg ( given )\n", "mdryair = macetone / mratio \n", "\n", "# Result\n", "print \"Minimum air required = %.2f kg\"%mdryair\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Minimum air required = 12.55 kg\n" ] } ], "prompt_number": 3 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.4 pageno : 209" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math \n", "\n", "# Variables \n", "Pa = 15. #kPa ( partial pressure of acetone)\n", "Ptotal = 101.3 #kPa\n", "\n", "# Calculation and Result \n", "Mfr = Pa / Ptotal \n", "print \"(a)Mole fraction of acetone = %.4f \"%Mfr\n", "Macetone = 58.048 \n", "Mnitrogen = 28. \n", "mafr = Mfr * Macetone / ( Mfr * Macetone + (1-Mfr)* Mnitrogen ) \n", "print \"(b)Weight fraction of acetone = %.4f\"%mafr\n", "Y = Mfr / ( 1 - Mfr ) \n", "print \"(c)Molal humidity = %.4f\"%Y,\"moles of acetone/moles of nitrogen\"\n", "Y1 = Y * Macetone / Mnitrogen \n", "print \"(d)Absolute humidity = %.4f\"%Y1,\"kg acetone/kg nitrogen\"\n", "Pas = 26.36 #kPa ( vapour pressure)\n", "Ys = Pas / ( Ptotal - Pas) #saturation humidity\n", "print \"(e)Saturation humidity = %.4f\"%Ys,\"moles of acetone/moles of nitrogen\"\n", "Y1s = Ys * Macetone / Mnitrogen \n", "print \"(f)Absolute saturation humidity = %.4f\"%Y1s,\"kg acetone/kg nitrogen\"\n", "V = 100. #m**3\n", "Vstp =22.4143 #m**3/kmol\n", "Pstp = 101.3 #kPa\n", "Tstp = 273.15 #K\n", "T = 295. #K\n", "N = V * Ptotal * Tstp / (Vstp * Pstp * T ) \n", "Nacetone = N * Mfr \n", "macetone = Nacetone * Macetone \n", "print \"(g)Mass of acetone in 100m**3 of the total gas = %.1f\"%macetone,\"kg\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "(a)Mole fraction of acetone = 0.1481 \n", "(b)Weight fraction of acetone = 0.2649\n", "(c)Molal humidity = 0.1738 moles of acetone/moles of nitrogen\n", "(d)Absolute humidity = 0.3603 kg acetone/kg nitrogen\n", "(e)Saturation humidity = 0.3517 moles of acetone/moles of nitrogen\n", "(f)Absolute saturation humidity = 0.7292 kg acetone/kg nitrogen\n", "(g)Mass of acetone in 100m**3 of the total gas = 35.5 kg\n" ] } ], "prompt_number": 5 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.5 pageno : 211" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "# variables \n", "Pa = 15. #kPa ( Partial pressure )\n", "Pas = 26.36 #kPa ( Vapour pressure )\n", "\n", "# Calculation \n", "RS = Pa * 100 / Pas \n", "Y = 0.1738 \n", "Ys = 0.3517 \n", "PS = Y * 100 / Ys \n", "\n", "# Result\n", "print \"Relative humidity = %.1f\"%RS,\"%\"\n", "print \"Percent humidity = %.2f\"%PS,\"%\"\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Relative humidity = 56.9 %\n", "Percent humidity = 49.42 %\n" ] } ], "prompt_number": 7 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.6 page no : 211" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math \n", "\n", "# Variables \n", "mwater = 0.0109 #kg\n", "V = 1. #m**3\n", "T = 300. #K\n", "P = 101.3 #kPa\n", "Vstp =22.4143 #m**3/kmol\n", "Pstp = 101.3 #kPa\n", "Tstp = 273.15 #K\n", "\n", "# Calculation \n", "N = V * P * Tstp / (Vstp * Pstp * T ) \n", "Nwater = mwater / 18.016 \n", "Nfr = Nwater / N \n", "Pwater = Nfr * P \n", "\n", "# Result\n", "print \"(a)Partial pressure of water vapour = %.2f\"%Pwater,\"kPa\"\n", "Ps = math.exp(16.26205 - 3799.887/(T - 46.854)) \n", "RS = Pwater * 100 / Ps \n", "print \"(b)Relative saturation = %.2f\"%RS,\"%\"\n", "Y1 = Pwater *18 / ((P - Pwater)*29) \n", "print \"(c)Absolute humidity = %.2e\"%Y1,\"kg water / kg dry air\"\n", "Y1s = Ps *18 / ((P - Ps)*29) \n", "PS1 = Y1 * 100 / Y1s \n", "print \"(d)Percent saturation = %.2f\"%PS1,\"%\"\n", "PS = 10. #%\n", "Y1S = Y1 * 100/PS \n", "#Y1S = Pas/(P - Pas ) * 18 /29\n", "Pas1 = 29 * P * Y1S / (18 + 29*Y1s) \n", "T1 = 3799.887 / (16.26205-math.log(Pas1)) + 46.854 \n", "print \"(e)Temperature at which 10%% saturation occurs = %.1f\"%T1,\"K\"\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "(a)Partial pressure of water vapour = 1.51 kPa\n", "(b)Relative saturation = 43.17 %\n", "(c)Absolute humidity = 9.38e-03 kg water / kg dry air\n", "(d)Percent saturation = 42.31 %\n", "(e)Temperature at which 10% saturation occurs = 326.9 K\n" ] } ], "prompt_number": 11 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.7 page no : 213" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "# variables \n", "T = 300. #K\n", "P = 100. #kPa\n", "S = 25000. #kJ/m**3\n", "T1= 295. #K\n", "P1 = 105. #kPa\n", "RS = 50. #%\n", "Ps = 3.5 #kPa\n", "Ps1 = 2.6 #kPa\n", "Vstp = 22.4143 #m**3/kmol\n", "Pstp = 101.3 #kPa\n", "Tstp = 273.15 #K\n", "V = 1. #m**3\n", "\n", "# Calculation \n", "N = V * P * Tstp/(Vstp * Pstp * T) \n", "Nfuel = N * (P - Ps)/P \n", "Smol = S / Nfuel #kJ/kmol\n", "N1 = V * P1 * Tstp/(Vstp * Pstp * T1) \n", "Pwater = Ps1 * RS /100 \n", "Nfuel1 = N1 * (P1 - Pwater )/P1 \n", "S1 = Smol * Nfuel1 \n", "\n", "# Result\n", "print \"Heating value of gas at 295K and 105kPa = %.f\"%S1,\"kJ/m**3\"\n", "\n", "# note : answer may vary because of rounding error.\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Heating value of gas at 295K and 105kPa = 27321 kJ/m**3\n" ] } ], "prompt_number": 13 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.8 pageno : 215" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math \n", "# Variables \n", "T = 300. #K\n", "T1 = 335. #K\n", "P = 150. #kPa\n", "\n", "# Calculation \n", "#lnPs = 13.8858 - 2788.51 / ( T - 52.36)\n", "Ps = math.exp(13.8858 - 2788.51 / ( T - 52.36)) \n", "Ps1 = math.exp(13.8858 - 2788.51 / ( T1 - 52.36)) \n", "Pa = Ps #(Vapour pressure at dew point is equal to the partial pressure of the vapour)\n", "Y = Pa / (P - Pa) \n", "Ys = Ps1 / (P - Ps1) \n", "PS = Y * 100 / Ys \n", "\n", "# Result \n", "print \"(a)Percent saturation = %.2f\"%PS,\"%\"\n", "Ma = 78.048 \n", "Mb = 28 \n", "Q = Y * Ma / Mb \n", "print \"(b)Quantity of benzene per kilgram of nitrogen = %.4f\"%Q,\"kg benzene/kg nitrogen\"\n", "V = 1. #m**3 ( basis )\n", "Vstp = 22.4143 #m**3/kmol\n", "Pstp = 101.3 #kPa\n", "Tstp = 273.15 #K\n", "N = V * P * Tstp/(Vstp * Pstp * T1) \n", "y = Y / ( 1 + Y ) \n", "Nbenzene = N * y \n", "C = Nbenzene * Ma \n", "print \"(c)Kilogram of benzene per m**3 of nitrogen = %.4f\"%C,\"kg/m**3\"\n", "P1 = 100. #kPa\n", "Pbenzene = y * P1 \n", "T1 = 2788.51 / ( 13.8858 - math.log (Pbenzene)) + 52.36 \n", "print \"(d)Dew point = %.2f\"%T1,\"K\"\n", "Per1 = 60 #%\n", "Y2 = Y * (1- Per1/100.) \n", "#Y2 = Pa / (P - Pa)\n", "P = Pa / Y2 + Pa \n", "print \"(e)Pressure required = %.1f\"%P,\"kPa\"\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "(a)Percent saturation = 17.17 %\n", "(b)Quantity of benzene per kilgram of nitrogen = 0.2827 kg benzene/kg nitrogen\n", "(c)Kilogram of benzene per m**3 of nitrogen = 0.3871 kg/m**3\n", "(d)Dew point = 291.39 K\n", "(e)Pressure required = 354.3 kPa\n" ] } ], "prompt_number": 16 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.9 pageno : 216" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "# variables \n", "T = 300. #K\n", "T1 = 285. #K\n", "Pwater = 3.56 #kPa\n", "Pwater1 = 1.4 #kPa\n", "V = 1. #m**3 ( Basis )\n", "Vstp = 22.4143 #m**3/kmol\n", "\n", "# Calculation \n", "N = V / Vstp \n", "Pstp = 101.3 #kPa\n", "Y = Pwater / (Pstp - Pwater) \n", "Y1 = Pwater1 / (Pstp - Pwater1) \n", "Nremoved = Y - Y1 \n", "Ndryair = N * 1 / (1 + Y) \n", "mremoved = Ndryair * Nremoved * 18.016 \n", "\n", "# Result\n", "print \"(a)amount of water removed = %.4f\"%mremoved,\"kg\"\n", "Nremaining = Ndryair * Y1 \n", "V1 = (Ndryair + Nremaining) * Vstp \n", "print \"(b)Volume of gas at stp after drying = %.4f\"%V1,\"m**3\"\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "(a)amount of water removed = 0.0174 kg\n", "(b)Volume of gas at stp after drying = 0.9784 m**3\n" ] } ], "prompt_number": 18 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.11 page no : 220" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "# variables \n", "Td = 328. #K ( dry bulb )\n", "P = 101.3 #kPa\n", "PS = 10. #%\n", "#refering to the psychometric chart, corresponding to 328 K and 10% saturation\n", "Y1 = 0.012 #kg water / kg dry air\n", "print \"(a)Absolute humidity = \",Y1,\"kg water / kg dry air\"\n", "#Y1 = Pa * 18 / ( P - Pa ) * 29\n", "\n", "# Calculation \n", "Pa = Y1 * P * 29 /( 18 + Y1 * 29 ) \n", "\n", "# Result\n", "print \"(b)Partial Pressure of water vapour = %.3f\"%Pa,\"kPa\"\n", "#using psychometric chart, saturation humidity at 328 K is given as\n", "Y1s = 0.115 #kg water / kg dry air\n", "print \"(c)The absolute humidity at 328K = \",Y1s,\"kg water / kg dry air\"\n", "#at saturation partial pressure = vapour pressure\n", "Pas = Y1s * P * 29 /( 18 + Y1s * 29 ) \n", "print \"(d)Vapour Pressure of water vapour = %.1f\"%Pas,\"kPa\"\n", "RS = Pa * 100 / Pas \n", "print \"(e)Percent relative saturation = %.2f\"%RS,\"%\"\n", "#using psychometric chart, moving horizontally keeping humidity constant to 100% saturation, we get dew point as,\n", "T = 290. #K\n", "print \"(f)Dew point = \",T,\"K\"\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "(a)Absolute humidity = 0.012 kg water / kg dry air\n", "(b)Partial Pressure of water vapour = 1.921 kPa\n", "(c)The absolute humidity at 328K = 0.115 kg water / kg dry air\n", "(d)Vapour Pressure of water vapour = 15.8 kPa\n", "(e)Percent relative saturation = 12.13 %\n", "(f)Dew point = 290.0 K\n" ] } ], "prompt_number": 20 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.12 pageno : 222" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "# variables \n", "Ca = 1.884 #kJ/kgK\n", "Cb = 1.005 #kJ/kgK\n", "Y1 = 0.012 \n", "\n", "# Calculation \n", "#Cs = Cb + Y1 * Ca\n", "Cs = Cb + Y1 * Ca \n", "\n", "# Result\n", "print \"Humid heat of the sample = %.4f\"%Cs,\"kJ/kgK\"\n", "P = 101.3 #kPa\n", "V = 100. #m**3\n", "R = 8.314 \n", "T = 328. #K\n", "T1 = 373. #K\n", "N = P * V / ( R * T ) \n", "Pa = 1.921 #kPa\n", "Ndryair = N * (P - Pa)/P \n", "mdryair = Ndryair * 29 \n", "Ht = mdryair * Cs * (T1 - T) \n", "print \"Heat to be supplied = %.f\"%Ht,\"kJ\"\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Humid heat of the sample = 1.0276 kJ/kgK\n", "Heat to be supplied = 4887 kJ\n" ] } ], "prompt_number": 22 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.14 pageno : 224" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "# variables \n", "P = 101.3 #kPa\n", "MW = 58. \n", "T1 = 280.8 #K\n", "Ps = 5. #kPa\n", "pr = 2. #kJ/kgK ( Psychometric ratio )\n", "Hvap = 360. #kJ/kg\n", "Tw = T1 \n", "\n", "# Calculation \n", "Yw1 = Ps * MW / (( P - Ps) * 29) \n", "# Tw = Tg - Hvap * ( Yw1 - Y1) / (hG / kY), where hG/kY is the psychmetric ratio pr\n", "Y1 = 0 \n", "Tg = Tw + Hvap * ( Yw1 - Y1) / pr \n", "\n", "# Result\n", "print \"The air temperature = %.2f\"%Tg,\"K\"\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The air temperature = 299.49 K\n" ] } ], "prompt_number": 23 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.15 pageno : 225" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "# variables \n", "Td = 353.2 #K\n", "Tw = 308. #K\n", "Hvap = 2418.5 #kJ/kg\n", "pr = 0.950 #kJ/kg\n", "Ps = 5.62 #kPa\n", "P = 101.3 #kPa\n", "\n", "# Calculation \n", "Yw1 = (Ps * 18)/ (( P - Ps) * 29) \n", "Y1 = Yw1 - pr * ( Td - Tw ) / Hvap \n", "\n", "# Result\n", "print \"Humidity = %.4f\"%Y1,\"kg water/kg dry air\"\n", "#humidity can also be directly obtained from psychometric chart, which we get to be 0.018 kg water/kg dry air\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Humidity = 0.0187 kg water/kg dry air\n" ] } ], "prompt_number": 24 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.16 page no : 227" ] }, { "cell_type": "code", "collapsed": false, "input": [ "%matplotlib inline\n", "\n", "import math\n", "from matplotlib.pyplot import *\n", "\n", "# Variables\n", "TK = [283,293,303,313]\n", "PaS = []\n", "Ys = []\n", "\n", "# Calculations - part A\n", "for i in range(len(TK)):\n", " Ps = 13.8858 - (2788.51 / (TK[i] - 52.36))\n", " PaS.append(round(math.e**Ps,2))\n", " Ys.append(PaS[i]/(101.3 - PaS[i]) * 78.048/29)\n", " \n", "# Results\n", "plot(TK,Ys)\n", "plot(TK,Ys,\"go\")\n", "xlabel(\"Temperature, K\")\n", "ylabel(\"Y', kg benzene/ kg dry air\")\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] }, { "metadata": {}, "output_type": "pyout", "prompt_number": 1, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 1 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.17 pageno : 228" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "# variables \n", "Tin = 380.7 #K\n", "Pin = 101.3 #kPa\n", "Tdew = 298. #K\n", "mremoved = 2.25 #kg\n", "V = 100. #m**3\n", "#using humidity chart, humidity of air at dry bulb temperature of 380.7K and dew point = 298K is,\n", "Y = 0.02 # kg water /kg dry air\n", "print \"(a)Humidity of air entering the drier = \",Y,\"kg water /kg dry air\"\n", "Tstp = 273.15 #K\n", "Vstp = 22.4143 #m**3/kmol\n", "\n", "# Calculation \n", "N = V * Tstp / ( Vstp * Tin ) \n", "MY = Y * 29 / 18. #molal humidity\n", "Ndryair = N / ( 1 + MY ) \n", "mdryair = Ndryair *29 \n", "mwaterin = mdryair * Y \n", "mwaterout = mwaterin + mremoved \n", "Yout = mwaterout / mdryair \n", "# percent humidity is calculated using the chart, and is\n", "PY = 55. #%\n", "\n", "# Result\n", "print \"(b)exit air humidity = %.3f\"%Yout,\"kg water /kg dry air\"\n", "print \"Percent humidity = \",PY,\"%\"\n", "#from the humidity chart \n", "Twet = 313.2 #K\n", "Td = 322.2 #K\n", "print \"(c)exit air wet bulb temperature = \",Twet,\"K\"\n", "print \"(c)exit air dry bulb temperature = \",Td,\"K\"\n", "MYout = Yout * 29 / 18 \n", "Nout = Ndryair * ( 1 + MYout ) / 1 \n", "V1 = Nout * Vstp * Td / Tstp \n", "print \"(d)Volume of exit air = %.2f\"%V1,\"m**3\"\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "(a)Humidity of air entering the drier = 0.02 kg water /kg dry air\n", "(b)exit air humidity = 0.045 kg water /kg dry air\n", "Percent humidity = 55.0 %\n", "(c)exit air wet bulb temperature = 313.2 K\n", "(c)exit air dry bulb temperature = 322.2 K\n", "(d)Volume of exit air = 87.94 m**3\n" ] } ], "prompt_number": 25 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.18 pageno : 231" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "# variables \n", "P = 101.3 #kPa\n", "Td = 303. #K\n", "Tw = 288. #K\n", "#using psychometric chart,\n", "Y1 = 0.0045 #kg water/ kg dry air\n", "PY = 18. #%\n", "Theated = 356.7 #K\n", "Cb = 1.005 \n", "Ca = 1.884 \n", "\n", "# Calculation \n", "Cs = Cb + Y1 * Ca \n", "Q = 1 * Cs * (Theated - Td) \n", "\n", "# Result\n", "print \"(a)Humidity of the initial air = %.4f\"%Y1,\"kg water/ kg dry air\"\n", "print \"(b)Percent humidity = \",PY,\"%\"\n", "print \"(c)Temperature to which the air is heated = \",Theated,\"K\"\n", "print \"(d)Heat to be suppplied = %.2f\"%Q,\"kJ\"\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "(a)Humidity of the initial air = 0.0045 kg water/ kg dry air\n", "(b)Percent humidity = 18.0 %\n", "(c)Temperature to which the air is heated = 356.7 K\n", "(d)Heat to be suppplied = 54.42 kJ\n" ] } ], "prompt_number": 27 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 8.19 pageno : 232" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "# variables \n", "Tw = 313. #K\n", "Td = 333. #K\n", "#Using th psychometric chart,\n", "Y = 0.04 #kg water/ kg dry air\n", "PS = 26.5 #%\n", "VS = 1.18 #m**3/kg dry air ( volume of saturated air )\n", "VD = 0.94 #m**3/kg dry air ( volume of dry air )\n", "\n", "# Calculation \n", "VH = VD + PS * (VS - VD )/100 \n", "HS = 470. #J / kg dry air ( enthalpy of saturated air )\n", "HD = 60. #J / kg dry air ( enthalpy of dry air )\n", "H = HD + PS * ( HS - HD )/100 \n", "Cs = 1.005 + (Y * 1.884)\n", "H = Cs*(333 - 273.15) + Y*2502.3\n", "# Result\n", "print \"(a)Absolute Humidity of the air = \",Y,\"kg water/ kg dry air\"\n", "print \"(b)Percent humidity = \",PS,\"%\"\n", "print \"(c)Humid volume = \",VH,\"m**3/kg dry air\"\n", "print \"(d)Enthalpy of wet air = \",H,\"kJ/kg dry air\"\n", "print \"Enthalpy of humid air : %.2f kJ/kg dry air\"%H" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "(a)Absolute Humidity of the air = 0.04 kg water/ kg dry air\n", "(b)Percent humidity = 26.5 %\n", "(c)Humid volume = 1.0036 m**3/kg dry air\n", "(d)Enthalpy of wet air = 164.751546 kJ/kg dry air\n", "Enthalpy of humid air : 164.75 kJ/kg dry air\n" ] } ], "prompt_number": 3 } ], "metadata": {} } ] }