summaryrefslogtreecommitdiff
path: root/Stoichiometry_And_Process_Calculations/ch11.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Stoichiometry_And_Process_Calculations/ch11.ipynb')
-rwxr-xr-xStoichiometry_And_Process_Calculations/ch11.ipynb1955
1 files changed, 1955 insertions, 0 deletions
diff --git a/Stoichiometry_And_Process_Calculations/ch11.ipynb b/Stoichiometry_And_Process_Calculations/ch11.ipynb
new file mode 100755
index 00000000..b8409421
--- /dev/null
+++ b/Stoichiometry_And_Process_Calculations/ch11.ipynb
@@ -0,0 +1,1955 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 11 : Energy Balance Thermophysics"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.1 pageno : 405"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# variables \n",
+ "m = 75. #kg\n",
+ "g = 9.81 #m**2/s\n",
+ "d = 10. #m\n",
+ "t = 2.5*60 #s\n",
+ "\n",
+ "# Calculation \n",
+ "f = m*g \n",
+ "w = f * d \n",
+ "P = w / t \n",
+ "\n",
+ "# Result\n",
+ "print \"The work done = \",w,\"Nm\"\n",
+ "print \"Power required = \",P,\"W\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The work done = 7357.5 Nm\n",
+ "Power required = 49.05 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.2 pageno : 405"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# variables \n",
+ "PE = 1.5*10**3 #J\n",
+ "m = 10. #kg\n",
+ "g = 9.81 #m/s**2\n",
+ "v = 50. #m/s\n",
+ "\n",
+ "# Calculation \n",
+ "#PE = mgz\n",
+ "z = PE / (m*g) \n",
+ "KE = m* (v**2) / 2 \n",
+ "\n",
+ "# Result\n",
+ "print \"Height of the body from the ground = %.1f\"%z,\"m\"\n",
+ "print \"Kinetic energy of the body = \",KE/1000,\"kJ\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Height of the body from the ground = 15.3 m\n",
+ "Kinetic energy of the body = 12.5 kJ\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.3 pageno : 405"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "# Variables \n",
+ "d = 100. /1000 #m\n",
+ "m = 50. #kg\n",
+ "P = 1.01325*10**5. #Pa\n",
+ "\n",
+ "# Calculation \n",
+ "A = math.pi * (d**2)/4 \n",
+ "Fatm = P * A \n",
+ "Fwt = m * g \n",
+ "Ftotal = Fatm + Fwt \n",
+ "P = Ftotal / A\n",
+ "\n",
+ "# Result \n",
+ "print \"(a)Pressure of the gas = %.4f\"%(P/10**5),\"bar\"\n",
+ "z = 500/1000. #m\n",
+ "w = Ftotal * z \n",
+ "print \"(b)Work done by the gas = %.2f\"%w,\"J\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)Pressure of the gas = 1.6378 bar\n",
+ "(b)Work done by the gas = 643.15 J\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.4 pageno : 406"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# variables \n",
+ "Sgr = 0.879 \n",
+ "F = 5. #m**3/h\n",
+ "\n",
+ "# Calculation \n",
+ "D = Sgr * 1000. \n",
+ "m = F * D/3600. #kg/s\n",
+ "P = 3500. #kPa\n",
+ "W = P * m * 1000/ D \n",
+ "\n",
+ "# Result\n",
+ "print \"Power requirement for the pump = %d\"%W,\"W\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power requirement for the pump = 4861 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.5 pageno : 408"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "# Variables \n",
+ "\n",
+ "d = 3. #m\n",
+ "m = 12500. #kg\n",
+ "P = 7000. #kPa\n",
+ "\n",
+ "# Calculation \n",
+ "U = 5.3*10**6 #kJ\n",
+ "Vtank = 4*math.pi*((d/2)**3) / 3 \n",
+ "Vliq = Vtank / 2 \n",
+ "H = U + P * Vliq \n",
+ "\n",
+ "# Result\n",
+ "print \"Specific enthalpy of the fluid in the tank = %.2f\"%(H/m),\"kJ/kg\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Specific enthalpy of the fluid in the tank = 427.96 kJ/kg\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.6 pageno : 409"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# variables \n",
+ "P = 101.3 #kPa\n",
+ "SVl = 1.04 * 10**-3 #m**3/kmol\n",
+ "SVg = 1.675 #m**3/kmol\n",
+ "Q = 1030. #kJ\n",
+ "\n",
+ "# Calculation \n",
+ "W = P * 10**3 * (SVg - SVl)/1000 \n",
+ "U = Q - W \n",
+ "H = U + P * 10**3 * (SVg - SVl)/1000 \n",
+ "\n",
+ "# Result\n",
+ "print \"Change in internal energy = %.2f\"%U,\"kJ/kmol\"\n",
+ "print \"Change in enthalpy = \",H,\"kJ/kmol\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Change in internal energy = 860.43 kJ/kmol\n",
+ "Change in enthalpy = 1030.0 kJ/kmol\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.7 pageno : 409"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# variables \n",
+ "#work is done on the system, hence, W is negative\n",
+ "\n",
+ "W = - 2 * 745.7 #J/s\n",
+ "#heat is transferres to the surrounding, hence, heat transferred is negative,\n",
+ "Q = -3000. #kJ/h\n",
+ "\n",
+ "# Calculation \n",
+ "U = Q*1000/3600 - W \n",
+ "\n",
+ "# Result\n",
+ "print \"Change in internal energy = %.2f\"%U,\"J/s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Change in internal energy = 658.07 J/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.8 pageno : 410"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# variables \n",
+ "#Fe(s) + 2HCl(aq) = FeCl2(aq) + H2(g)\n",
+ "MFe = 55.847 \n",
+ "m = 1. #kg\n",
+ "\n",
+ "# Calculation \n",
+ "Nfe = m * 10**3/MFe \n",
+ "Nh2 = Nfe #(since 1 mole of Fe produces 1 mole of H2)\n",
+ "T = 300. #K\n",
+ "R = 8.314 \n",
+ "\n",
+ "#the change in volume is equal to the volume occupied by hydrogen produced\n",
+ "PV = Nh2 * R * T \n",
+ "W = PV \n",
+ "\n",
+ "# Result\n",
+ "print \"Work done = %.2f\"%W,\"J\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Work done = 44661.31 J\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.9 pageno : 412"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Cp =1.436 + 2.18*10**-3*T \n",
+ "from scipy.integrate import quad \n",
+ "\n",
+ "# variables \n",
+ "m = 1000./3600 #kg/s\n",
+ "T1 = 380. #K\n",
+ "T2 = 550. #K\n",
+ "\n",
+ "# Calculation \n",
+ "def f0(T): \n",
+ "\t return 1.436 + 2.18*10**-3*T\n",
+ "\n",
+ "x = quad(f0,T1,T2)[0]\n",
+ "Q = m*x \n",
+ "\n",
+ "# Result\n",
+ "print \"Heat load on the heater = %.1f\"%Q,\"kW\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Heat load on the heater = 115.7 kW\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.10 page no : 413"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Cp = 26.54 + 42.454*10**-3 * T - 14.298 * 10**-6 * T**2 \n",
+ "\n",
+ "from scipy.integrate import quad \n",
+ "\n",
+ "# variables \n",
+ "T1 = 300. #K\n",
+ "T2 = 1000. #K\n",
+ "m = 1. #kg\n",
+ "N = m/44 #kmol\n",
+ "\n",
+ "# Calculation \n",
+ "def f3(T): \n",
+ "\t return 26.54 + 42.454*10**-3 * T - 14.298 * 10**-6 * T**2\n",
+ "\n",
+ "x = quad(f3,T1,T2)[0]\n",
+ "\n",
+ "Q = N*x \n",
+ "\n",
+ "# Result\n",
+ "print \"(a)Heat required = %.2f\"%Q,\"kJ\"\n",
+ "\n",
+ "#for temperature in t degree celsius\n",
+ "#Cp = 26.54 + 42.454*10**-3 * (t + 273.15) - 14.298 * 10**-6 * (t + 273.15)**2\n",
+ "#Cp = 37.068 + 34.643 * 10**-3*t - 14.298* 10**-6 * t**2 (kJ/kmolC)\n",
+ "#Cp = 8.854 + 8.274*10**-3*t -3.415*10**-6*t**2 ( Kcal/kmolC)\n",
+ "#For degree Fehreneit scale,replacet by ( t1 - 32)/18, we get\n",
+ "#Cp = 8.7058 + 4.6642 * 10**-3 *t1 - 1.0540 * 10**-6 * t1**2 ( Btu/lbmolF)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)Heat required = 755.85 kJ\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.11 pageno : 414"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "%pylab inline\n",
+ "\n",
+ "from matplotlib.pyplot import *\n",
+ "\n",
+ "# variables \n",
+ "T = [273, 373, 473, 573, 673, 773, 873, 973, 1073, 1173, 1273] \n",
+ "Cp = [33.6, 35.1, 36 ,36.6, 37, 37.3, 37.5, 37.6, 37.7, 37.8, 37.9] \n",
+ "\n",
+ "# Calculation \n",
+ "plot(T,Cp)\n",
+ "suptitle(\"Determination of enthalpy change \")\n",
+ "xlabel(\"Temperature, K \")\n",
+ "ylabel(\"Heat capacity, kJ/kmol K\")\n",
+ "\n",
+ "H = 36828. #kJ/kmol\n",
+ "\n",
+ "# Result\n",
+ "print \"Enthalpy change = \",H,\"kJ/kmol\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Populating the interactive namespace from numpy and matplotlib\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x27f4550>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enthalpy change = 36828.0 kJ/kmol\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.12 page no : 415"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Cp = 26.586 + 7.582 * 10 **-3 * T - 1.12 * 10**-6 * T**2\n",
+ "\n",
+ "from scipy.integrate import quad \n",
+ "\n",
+ "# variables \n",
+ "T1 = 500. #K\n",
+ "T2 = 1000. #K\n",
+ "\n",
+ "# Calculation \n",
+ "def f5(T): \n",
+ "\t return 26.586 + 7.582 * 10**-3 * T - 1.12 * 10**-6 * T**2\n",
+ "\n",
+ "x = quad(f5,T1,T2)[0]\n",
+ "\n",
+ "Cpm = 1 *x / ( T2 - T1 ) \n",
+ "\n",
+ "# Result\n",
+ "print \"(a)Mean molal heat capacity = %.3f\"%Cpm,\"kJ/kmolK\"\n",
+ "V = 500. #m**3 \n",
+ "N = V / 22.4143 \n",
+ "Q = N * Cpm * ( T2 - T1 ) \n",
+ "print \"(b)Heat to be supplied = %.3e\"%Q,\"kJ/h\"\n",
+ "T3 = 1500. #K\n",
+ "Q1 = Cpm * (T3 - T1) \n",
+ "\n",
+ "def f6(T): \n",
+ "\t return 26.586 + 7.582 * 10 **-3 * T - 1.12 * 10**-6 * T**2\n",
+ "\n",
+ "y = quad(f6,T1,T3)[0]\n",
+ "\n",
+ "Q2 = y \n",
+ "Perror = (Q2 - Q1) * 100 / Q2 \n",
+ "print \"(c)Percent error = %.1f\"%Perror,\"%\"\n",
+ "\n",
+ "# note : answer may vary because of rounding error.\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)Mean molal heat capacity = 31.619 kJ/kmolK\n",
+ "(b)Heat to be supplied = 3.527e+05 kJ/h\n",
+ "(c)Percent error = 4.1 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.13 page no : 416"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "# variables \n",
+ "T1 = 1500. #K\n",
+ "Tr = 273. #K\n",
+ "T2 = 400. #K\n",
+ "Cpm1 = 50. #kJ/kmol\n",
+ "Cpm2 = 35. #kJ/mol\n",
+ "\n",
+ "# Calculation \n",
+ "H = Cpm1 * ( T1 - Tr ) - Cpm2 * ( T2 - Tr ) \n",
+ "\n",
+ "# Result\n",
+ "print \"Enthalpy change = \",H,\"kJ/kmol\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enthalpy change = 56905.0 kJ/kmol\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.14 pageno : 417"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from scipy.integrate import quad \n",
+ "\n",
+ "# variables \n",
+ "#CO, 26.586 + 7.582*10**-3*T - 1.12*10**-6*T**2\n",
+ "#CO2, 26.540 + 42.454*10**-3*T - 14.298*10**-6*T**2\n",
+ "#O2, 25.74 + 12.987*10**-3*T - 3.864*10**-6*T**2\n",
+ "#N2, 27.03 + 5.815*10**-3*T - 0.289*10**-6*T**2\n",
+ "#Cpmix = summation ( yi*Cpi ) = summation(yi*ai + yi*bi*T + yi*ci*T**2)\n",
+ "\n",
+ "xco2 = 0.09 \n",
+ "xco = 0.02 \n",
+ "xo2 = 0.07 \n",
+ "xn2 = 0.82 \n",
+ "T1 = 600. #K\n",
+ "T2 = 375. #K\n",
+ "\n",
+ "# Calculation \n",
+ "sumai = xco * 26.586 +xco2 * 26.540 + xo2 * 25.74 + xn2*27.03 \n",
+ "sumbi = xco * 7.582*10**-3 + xco2*42.454*10**-3+xo2*12.987*10**-3 + xn2*5.815*10**-3 \n",
+ "sumci = -(xco * 1.12*10**-6 + xco2*14.298*10**-6+xo2*3.864*10**-6+xn2*0.289*10**-6) \n",
+ "\n",
+ "def f8(T): \n",
+ "\t return sumai+sumbi*T+sumci*T**2\n",
+ "\n",
+ "H = quad(f8,T2,T1)[0]\n",
+ "\n",
+ "# Result\n",
+ "print \"Enthalpy change = %.2f\"%H,\"kJ/kmol\"\n",
+ "\n",
+ "# note : Calculating integration using quad may vary answer. Because Python use's its own methodology to calculate quad."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enthalpy change = 7009.12 kJ/kmol\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.15 pageno : 420"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# variables \n",
+ "Hna = 26.04 #J/g-atomK\n",
+ "Hs = 22.6 #J/g-atomK\n",
+ "Ho = 16.8 #J/g-atomK\n",
+ "Hh = 9.6 #J/g-atomK\n",
+ "\n",
+ "# Calculation \n",
+ "Hna2so410h2o = 2*Hna + Hs + 14*Ho + 20*Hh \n",
+ "Hexp = 592.2 #J/molK\n",
+ "Deviation = (Hexp - Hna2so410h2o)*100/Hexp \n",
+ "\n",
+ "# Result\n",
+ "print \"Deviation in heat capacity = %.2f\"%Deviation,\"%\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Deviation in heat capacity = 15.25 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.16 pageno : 421"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# variables \n",
+ "P1 = 75. #kPa\n",
+ "T1 = 573. #K\n",
+ "Tvap = 365. #K\n",
+ "Tbasis = 273. #K\n",
+ "\n",
+ "#Since, the boiling point of water at 75kPa is 375K, the vapour at 573K is superheated \n",
+ "H1 = 3075. #kJ/kg\n",
+ "Cliq = 4.2 #kJ/kgK\n",
+ "Cvap = 1.97 # kJ/kg/K\n",
+ "m = 1. #kg\n",
+ "\n",
+ "\n",
+ "# Calculation \n",
+ "#let assume converting liq. water into superheated stream occurs in 3 steps,\n",
+ "\n",
+ "Hc1 = m*Cliq * ( Tvap - Tbasis ) \n",
+ "\n",
+ "\n",
+ "Hc3 = m*Cvap*(T1 - Tvap) \n",
+ "\n",
+ "#total enthalpy = 3075 = Hc1 + Hc2 + Hc3, therefore\n",
+ "Hc2 = H1 - Hc1 - Hc3 \n",
+ "\n",
+ "# Result\n",
+ "print \"Heat of vapourisation = \",Hc2,\"kJ/kg\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Heat of vapourisation = 2278.84 kJ/kg\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.17 pageno : 422"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from scipy.integrate import quad\n",
+ "\n",
+ "# variables \n",
+ "T1 = 250. #K\n",
+ "T = 273.15 #K\n",
+ "T2 = 400. #K\n",
+ "Cice = 2.037 #kJ/kgK\n",
+ "T3 = 373.15 #K\n",
+ "Cliq = 75.726 #kJ/kmolK\n",
+ "\n",
+ "#Cp = 30.475 + 9.652*10**-3*T + 1.189*10**-6*T**2\n",
+ "Hfusion = 6012. #kJ/kmol\n",
+ "Hvap = 40608. #kJ/kmol\n",
+ "\n",
+ "\n",
+ "# Calculation \n",
+ "#1 - Heat for raising the temperature of ice, H1\n",
+ "H1 = Cice * (T - T1) \n",
+ "#2 - Latent heat of fusion of ice, Hf\n",
+ "Hf = Hfusion / 18.016 #kJ\n",
+ "\n",
+ "#3 - Sensible heat of raising the temperature of water, H2\n",
+ "H2 = Cliq * ( T3 - T)/18.016 \n",
+ "#4 - Latent heat of vaporization of water, Hv\n",
+ "Hv = Hvap / 18.016 \n",
+ "#5 - Sensible heat of raising the temperature of water vapou, H3\n",
+ "\n",
+ "def f4(T): \n",
+ "\t return 30.475 + 9.652*10.**-3*T + 1.189*10.**-6*T**2.\n",
+ "\n",
+ "H3 = 51.243883 #quadrature(f4,T3,T2)[0]\n",
+ "\n",
+ "Q = H1 + H2 + H3 + Hf + Hv \n",
+ "\n",
+ "# Result\n",
+ "print \"Heat required = %.1f\"%Q,\"kJ\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Heat required = 3106.4 kJ\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.18 pageno : 423"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# variables \n",
+ "#Cp = 0.16 + 4.78 * (10**-3) * T ( organic liquid )\n",
+ "#Cp = 0.7935 + 1.298 * (10**-4) * T ( CCL4 )\n",
+ "Tb = 349.9 #K\n",
+ "Hv = 195. #kJ/kg\n",
+ "Cp = 0.4693 #kJ/kgK\n",
+ "\n",
+ "# Calculation \n",
+ "#Let T be the final temperature\n",
+ "#integration(T - 650)(0.16 + 4.78 * (10**-3) * T)dt = integration(295 - T)(0.7935 + 1.298 * (10**-4) * T)dt\n",
+ "# the above equation yields, 2.4549*(10**-3)*T**2 + 0.9535*T - 1353.51 = 0, from this we get\n",
+ "T = 573.3 #K\n",
+ "\n",
+ "#since this temperature is above boiling point of CCl4,\n",
+ "#heat balance is, integration(T - 650)(0.16 + 4.78 * (10**-3) * T)dt = integration(295 - 349.9)(0.7935 + 1.298 * (10**-4) * T)dt + Hv + integration(349.9 - T)*0.4693*dT\n",
+ "#solving above equation, we get,\n",
+ "T1 = 540.1 #K\n",
+ "\n",
+ "# Result\n",
+ "print \"equilibrium temperature of the mixture = \",T1,\"K\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "equilibrium temperature of the mixture = 540.1 K\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.19 pageno : 427"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "# Variables \n",
+ "T1 = 363. #K\n",
+ "T2 = 373. #K\n",
+ "P1s = 70.11 #kPa\n",
+ "P2s = 101.3 #kPa\n",
+ "R = 8.314 #kJ/kmolK\n",
+ "\n",
+ "\n",
+ "# Calculation \n",
+ "# ln(P2s / P1s) = Hv / R * (1/T1 - 1/T2) \n",
+ "Hv = (math.log(P2s/P1s)*R)/(1/T1 - 1/T2) \n",
+ "Hv1 = Hv / (18) \n",
+ "\n",
+ "# Result\n",
+ "print \"Mean heat of vaporization = %.f\"%Hv1,\"kJ/kg\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Mean heat of vaporization = 2302 kJ/kg\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.20 pageno : 427"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# variables \n",
+ "T = 273.15 - 30 \n",
+ "R = 8.314 #K\n",
+ "\n",
+ "# Calculation \n",
+ "#lnPs = 14.2410 - 2137.72 / (T-26.72)\n",
+ "#dlnPs/dT = Hv / RT2\n",
+ "Hv = 2137.72 * R * T**2 / ( T - 26.72 )**2 \n",
+ "\n",
+ "# Result\n",
+ "print \"Heat of vaporization = %.2f\"%Hv,\"kJ/kmol\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Heat of vaporization = 22432.33 kJ/kmol\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.21 pageno : 427"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# variables \n",
+ "Hv1 = 2256. #kJ/kg\n",
+ "T1 = 373. #K\n",
+ "T2 = 473. #K\n",
+ "Tc = 647. #K\n",
+ "\n",
+ "# Calculation \n",
+ "Tr1 = T1 / Tc \n",
+ "Tr2 = T2 / Tc \n",
+ "#Hv2 / Hv1 = ((1-Tr2)/(1-Tr1))**0.38\n",
+ "Hv2 = Hv1*(((1-Tr2)/(1-Tr1))**0.38) \n",
+ "\n",
+ "# Result\n",
+ "print \"Latent heat of vaporization of water at 473K = %d\"%Hv2,\"kJ/kg\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Latent heat of vaporization of water at 473K = 1898 kJ/kg\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.22 pageno : 428"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "from scipy.integrate import quad \n",
+ "\n",
+ "\n",
+ "# Variables \n",
+ "#Cp = a + b*T\n",
+ "\n",
+ "T1 = 293.15 #K\n",
+ "Cp1 = 131.05 #J/molK\n",
+ "T2 = 323. #K\n",
+ "Cp2 = 138.04 #J/molK\n",
+ "\n",
+ "\n",
+ "# Calculation \n",
+ "#a + 293*b = 131.05\n",
+ "#a + 323*b = 138.04\n",
+ "b = (Cp1 - Cp2)/(T1 - T2) \n",
+ "a = Cp1 - b * T1 \n",
+ "\n",
+ "#Cp = 62.781 + 0.233*T\n",
+ "# Hvb / Tb = 36.63 + 8.31lnTb\n",
+ "Tb = 273.15 + 80.1 #K\n",
+ "\n",
+ "Hvb = (36.63 + 8.31*math.log(Tb)) * Tb \n",
+ "m = 100. #kg\n",
+ "\n",
+ "def f7(T): \n",
+ "\t return 62.781 + 0.233*T\n",
+ "\n",
+ "k = quad(f7,T1,Tb)[0]\n",
+ "\n",
+ "H = m*(10.**3) * ( k)/78.048 + m*(10.**3) * Hvb/78.048\n",
+ "\n",
+ "# Result\n",
+ "print \"Heat required = %.3e J\" %H\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Heat required = 4.928e+07 J\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.23 pageno : 430"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# variables \n",
+ "P = 10. #kPa\n",
+ "T1 = 323.15 #K\n",
+ "T2 = 373.15 #K\n",
+ "T = 358.15 #K\n",
+ "H1 = 2592.6 #kJ/kg\n",
+ "H2 = 2687.5 #kJ/kg\n",
+ "\n",
+ "\n",
+ "# Calculation \n",
+ "#H by interpolation,\n",
+ "H = H1 + ((H2 - H1)/(T2 - T1))*(T - T1) \n",
+ "Hl = 697.061 #kJ/kg\n",
+ "Hg = 2762. #kJ/kg\n",
+ "\n",
+ "#H = x*Hl + ( 1 - x )* Hg\n",
+ "x = (H - Hg)/(Hl - Hg) \n",
+ "Pmois = x*100 \n",
+ "Psteam = ( 1 - x )*100 \n",
+ "\n",
+ "# Result\n",
+ "print \"Percentage of moisture = %.f\"%Pmois,\"%\"\n",
+ "print \"Percentage of dry saturated steam = %.f\"%Psteam,\"%\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Percentage of moisture = 5 %\n",
+ "Percentage of dry saturated steam = 95 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.24 pageno : 430"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# variables \n",
+ "P = 3500. #kPa\n",
+ "T = 673.15 #K\n",
+ "SV = 0.08453 #m**3/kg\n",
+ "Vcondensed = 1/2. \n",
+ "m = 100. #kg\n",
+ "\n",
+ "# Calculation \n",
+ "V = m * SV / (m/2) \n",
+ "#m*(Vl+Vg)*Vcondensed = m * SV\n",
+ "#But Vl is negligible,\n",
+ "Vg = m * SV / (m * Vcondensed) \n",
+ "#using steam table\n",
+ "T1 = 459.5 #K\n",
+ "P1 = 1158. #kPa\n",
+ "\n",
+ "#internal energy of superheated steam from steam table\n",
+ "I = 2928.4 #kJ/kg\n",
+ "U1 = m * I \n",
+ "Ul = 790. #kJ/kg\n",
+ "Ug = 2585.9 #kJ/kg\n",
+ "U2 = m*Vcondensed*Ul + m*(1-Vcondensed)*Ug \n",
+ "Q = U2 - U1 \n",
+ "\n",
+ "# Result\n",
+ "print \"The amount of heat removed fromt he system = \",Q,\"kJ\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The amount of heat removed fromt he system = -124045.0 kJ\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.25 pageno : 433"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# variables \n",
+ "m = 1000. #kg/h ( basis mass of 10% NaOH solution )\n",
+ "Pfeed = 10. #%\n",
+ "Ppro = 50. #(Percentage NaOH in product)\n",
+ "\n",
+ "\n",
+ "# Calculation \n",
+ "#Taking NaOH balance,P being the weight of the product\n",
+ "P = Pfeed * m / Ppro \n",
+ "\n",
+ "#W be the weight of water evaporized\n",
+ "W = m - P \n",
+ "\n",
+ "#step1 - cooling 1000kg/h of 10% solution from 305K to 298K\n",
+ "T1 = 305. #K\n",
+ "T2 = 298. #K\n",
+ "Cliq = 3.67 #kJ/kgK\n",
+ "H1 = m*Cliq * (T2 - T1) \n",
+ "\n",
+ "#step2 - separation into pure components\n",
+ "Hsolution = -42.85 #kJ/mol\n",
+ "H2 = -Pfeed * m *1000 *Hsolution/ (40*100) \n",
+ "\n",
+ "#step3 - W kg water is converted to water vapour\n",
+ "Hvap = 2442.5 #kJ/kg\n",
+ "H3 = W * Hvap \n",
+ "\n",
+ "#step4 - water vapour at 298K is heated to 373.15K\n",
+ "Cvap = 1.884 #kJ/kgK\n",
+ "T3 = 373.15 #K\n",
+ "H4 = W * Cvap * ( T3 - T2 ) \n",
+ "\n",
+ "#step5 - formation of 200kg of 50% NaOH solution at 298K\n",
+ "Hsolu = -25.89 #kJ/mol\n",
+ "H5 = Pfeed * m *1000 *Hsolu/ (40*100) \n",
+ "\n",
+ "#step6 - Heating the solution from 298K to 380K\n",
+ "Csolu = 3.34 #kJ/kg\n",
+ "T4 = 380. #K\n",
+ "H6 = P * Csolu * (T4 - T2) \n",
+ "Htotal = H1 + H2 + H3 + H4 + H5 + H6 \n",
+ "\n",
+ "# Result\n",
+ "print \"The enthalpy change accompanying the complete process = %d\"%Htotal,\"kJ\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The enthalpy change accompanying the complete process = 2138752 kJ\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.26 page no : 435"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "\n",
+ "# variables \n",
+ "Nwater = 0.8 #moles\n",
+ "Nethanol = 0.2 #moles\n",
+ "T = 323. #K\n",
+ "Cwater = 4.18*10**3 #J/kgK\n",
+ "Cethanol = 2.58*10**3 #J/kgK\n",
+ "Hmixing1 = -758. #J/mol ( at 298K )\n",
+ "Hmixing2 = -415. #J/mol ( at 323K )\n",
+ "T1 = 298. #K\n",
+ "T2 = 523. #K\n",
+ "\n",
+ "# Calculation \n",
+ "#step1 - 0.8 mol of water is cooled from 323 K to 298K\n",
+ "H1 = Nwater * 18 * Cwater * ( T1 - T )/ 1000 \n",
+ "\n",
+ "#step2 - 0.2 mol ethanol cooled from 323K to 298K\n",
+ "H2 = Nethanol * 46 * Cethanol * ( T1 - T )/1000 \n",
+ "\n",
+ "#step3 - 0.8 mol water and 0.2 mol ethanol are mixed together,\n",
+ "H3 = Hmixing1 \n",
+ "\n",
+ "#step4 solution is heated to 323K, H4 = Cpm * (T - T1)\n",
+ "#Hmixing2 = H1 + H2 + H3 + H4\n",
+ "H4 = Hmixing2 - H1 - H2 - H3 \n",
+ "Cpm = H4 / ( T - T1 ) \n",
+ "\n",
+ "# Result\n",
+ "print \"The mean heat capacity of a 20 percent solution = %.2f\"%Cpm,\"J/molK\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The mean heat capacity of a 20 percent solution = 97.65 J/molK\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.27 page no : 437"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# variables \n",
+ "F = 1000. #kg/h\n",
+ "H1 = 116.3 #kJ/kg ( enthalpy of feed solution - 10% NaOH, 305 K )\n",
+ "H2 = 560.57 #kJ/kg ( enthalpy of thick liquor - 50% NaOH, 380 K )\n",
+ "Hsteam = 2676. #kJ/kg ( 1atm , 373.15K )\n",
+ "\n",
+ "#by doing material balances,\n",
+ "P = 200. #kg/h\n",
+ "mvap = 800. #kg/h\n",
+ "\n",
+ "# Calculation \n",
+ "#Enthalpy balance gives, F*H1 + Q = mvap*Hsteam + P*H2\n",
+ "Q = (mvap*Hsteam + P*H2)-F*H1 \n",
+ "\n",
+ "# Result\n",
+ "print \"Heat to be supplied = \",Q,\"kJ/h\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Heat to be supplied = 2136614.0 kJ/h\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.28 pageno : 439"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# variables \n",
+ "U2 = 0.35*10**3 #kJ\n",
+ "U1 = 0.25*10**3 #kJ\n",
+ "#since the tank is rigid the volume does not change during heating, Under constant volume, the change in the internal energy is equal to the heat supplied\n",
+ "\n",
+ "# Calculation \n",
+ "Q = U2 - U1 \n",
+ "\n",
+ "# Result\n",
+ "print \"Heat transferred to the air = \",Q,\"kJ\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Heat transferred to the air = 100.0 kJ\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.29 pageno : 439"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# variables \n",
+ "W = -2.25*745.7 #W ( work done on the system and 1hp = 745.7W)\n",
+ "Q = -3400. #kJ/h ( Heat transferred to the surrounding )\n",
+ "\n",
+ "# Calculation \n",
+ "U = Q*1000/3600 - W \n",
+ "\n",
+ "# Result\n",
+ "print \"Rise in the Internal energy of the system = %.3f\"%U,\"J/s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Rise in the Internal energy of the system = 733.381 J/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.30 pageno : 440"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# variables \n",
+ "#2Fe + 3/2O2 = Fe2O3\n",
+ "Hliberated = 831.08 #kJ\n",
+ "\n",
+ "# Calculation \n",
+ "Q = -Hliberated*1000 \n",
+ "\n",
+ "# Result\n",
+ "print \"Q = \",Q,\"J\"\n",
+ "\n",
+ "#P(V) = (n)RT\n",
+ "#W = P(V) = (n)RT\n",
+ "n = -1.5 \n",
+ "R = 8.314 \n",
+ "T = 298. #K\n",
+ "W = (n) * R * T \n",
+ "print \"W = %.1f\"%W,\"J\"\n",
+ "U = Q - W \n",
+ "print \"U = %.5e\"%U,\"J\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Q = -831080.0 J\n",
+ "W = -3716.4 J\n",
+ "U = -8.27364e+05 J\n"
+ ]
+ }
+ ],
+ "prompt_number": 34
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.31 pageno : 440"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# variables \n",
+ "Vgas = 0.09 #m**3\n",
+ "Vliq = 0.01 #m**3\n",
+ "SVliq = 1.061*10**-3 #m**3/kg\n",
+ "SVvap = 0.8857 #m**3/kg\n",
+ "\n",
+ "# Calculation \n",
+ "mvap = Vgas / SVvap \n",
+ "mliq = Vliq / SVliq \n",
+ "Ul = 504.5 #kJ/kg\n",
+ "Ug = 2529.5 #kJ/kg\n",
+ "U1 = Ul * mliq + Ug * mvap \n",
+ "SVtotal = (Vgas + Vliq)/(mvap + mliq) \n",
+ "#using steam table , these value of specific volume corresponds to\n",
+ "# pressure of 148.6bar and internal energy of 2464.6kJ/kg\n",
+ "U = 2464. #kJ/kg\n",
+ "Utotal = U * (mvap + mliq) \n",
+ "#Utotal - U1 = Q - W,but W = o, hence, \n",
+ "Q = Utotal - U1 \n",
+ "\n",
+ "# Result\n",
+ "print \"Heat to be added = %.f\"%Q,\"kJ\"\n",
+ "\n",
+ "\n",
+ "# note: answer may vary because of rounding error"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Heat to be added = 18462 kJ\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.32 pageno : 443"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# variables \n",
+ "m = 10. #kg(air)\n",
+ "N = m / 29 #kmol\n",
+ "P1 = 100. #kPa\n",
+ "T1 = 300. #K\n",
+ "R = 8.314 \n",
+ "\n",
+ "# Calculation \n",
+ "V1 = N * R * T1 / P1 \n",
+ "V2 = V1 \n",
+ "T2 = 600. #K\n",
+ "Cv = 20.785 #kJ/kmolK\n",
+ "Cp = 29.099 #kJ/kmolK\n",
+ "U = N * Cv * (T2 - T1) \n",
+ "Q = U \n",
+ "W = Q - U \n",
+ "H = U + N * R * ( T2 - T1 ) \n",
+ "\n",
+ "# Result\n",
+ "print \"(a)Change in internal energy at constant volume = %d\"%U,\"kJ\"\n",
+ "print \"heat supplied at constant volume = %d\"%Q,\"kJ\"\n",
+ "print \"Work done at constant volume = \",W,\"kJ\"\n",
+ "print \"Change in Enthalpy at constant volume = %d\"%H,\"kJ\"\n",
+ "P2 = P1 \n",
+ "H2 = N * Cp * ( T2 - T1 ) \n",
+ "Q2 = H2 \n",
+ "U2 = H2 - N * R * (T2 - T1) \n",
+ "W2 = Q2 - U2 \n",
+ "print \"(b)Change in internal energy at constant Pressure = %d\"%U2,\"kJ\"\n",
+ "print \"heat supplied at constant Pressure = %d\"%Q2,\"kJ\"\n",
+ "print \"Work done at constant Pressure = %d\"%W2,\"kJ\"\n",
+ "print \"Change in Enthalpy at constant Pressure = %d\"%H2,\"kJ\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)Change in internal energy at constant volume = 2150 kJ\n",
+ "heat supplied at constant volume = 2150 kJ\n",
+ "Work done at constant volume = 0.0 kJ\n",
+ "Change in Enthalpy at constant volume = 3010 kJ\n",
+ "(b)Change in internal energy at constant Pressure = 2150 kJ\n",
+ "heat supplied at constant Pressure = 3010 kJ\n",
+ "Work done at constant Pressure = 860 kJ\n",
+ "Change in Enthalpy at constant Pressure = 3010 kJ\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.33 pageno : 444"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# variables \n",
+ "Cp = 29.3 #kJ/kmol\n",
+ "R = 8.314 \n",
+ "Cv = Cp - R \n",
+ "T1 = 300. #K\n",
+ "P1 = 1. #bar\n",
+ "P2 = 2. #bar\n",
+ "\n",
+ "# Calculation \n",
+ "#step1 - Volume remains constant, therefore the work done is\n",
+ "# zero and heat supplied is Cv, Also T2/T1 = P2/P1\n",
+ "T2 = P2 * T1 / P1 \n",
+ "Q1 = Cv * ( T2 - T1 ) \n",
+ "W1 = 0 \n",
+ "\n",
+ "# Result\n",
+ "print \"Work done at constant volume = \",W1,\"kJ\"\n",
+ "print \"Heat supplied at constant volume = \",Q1,\"kJ\"\n",
+ "\n",
+ "#step2 - Process is abdiabatic\n",
+ "Q2 = 0 \n",
+ "r = 1.4 \n",
+ "T3 = T2 * (( P1 / P2 )**((r - 1)/r)) \n",
+ "W2 = Cv * ( T2 - T3 ) \n",
+ "\n",
+ "print \"Work done in adiabatic process = %.1f\"%W2,\"kJ\"\n",
+ "print \"Heat supplied in adiabatic process = \",Q2,\"kJ\"\n",
+ "\n",
+ "#step3 - process is isobaric\n",
+ "Q3 = Cp * (T1 - T3) \n",
+ "U3 = Cv * (T1 - T3) \n",
+ "W3 = Q3 - U3 \n",
+ "print \"Work done at constant pressure = %.2f\"%W3,\"kJ\"\n",
+ "print \"Heat supplied at constant pressure = %.1f\"%Q3,\"kJ\"\n",
+ "\n",
+ "\n",
+ "# Note : Answers in book is wrong. while calculating heat supplied i.e. Cv(T2-T1), value of Cv is been taken wrongly."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Work done at constant volume = 0 kJ\n",
+ "Heat supplied at constant volume = 6295.8 kJ\n",
+ "Work done in adiabatic process = 2262.3 kJ\n",
+ "Heat supplied in adiabatic process = 0 kJ\n",
+ "Work done at constant pressure = -1597.96 kJ\n",
+ "Heat supplied at constant pressure = -5631.5 kJ\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.34 pageno : 445"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "# Variables \n",
+ "P1 = 5. #bar\n",
+ "P2 = 4. #bar\n",
+ "T1 = 600. #K\n",
+ "V = 0.1 #m**3\n",
+ "T2 = 400. #K\n",
+ "T = 298. #K\n",
+ "Cp = 30. #J/molK\n",
+ "\n",
+ "#step1 - isothermal condition\n",
+ "U1 = 0 \n",
+ "H1 = 0 \n",
+ "P = 1. #bar\n",
+ "R = 8.314 \n",
+ "\n",
+ "# Calculation \n",
+ "W1 = R*T1*math.log(P1/P2) \n",
+ "Q1 = W1 \n",
+ "\n",
+ "# Result\n",
+ "print \"(a)Change in the internal energy in isothermal condition = \",U1,\"kJ/kmol\"\n",
+ "print \"Change in the enthalpy energy in isothermal condition = \",H1,\"kJ/kmol\"\n",
+ "print \"Work done in isothermal condition = %.2f\"%W1,\"kJ/kmol\"\n",
+ "print \"Heat supplied in isothermal condition = %.2f\"%Q1,\"kJ/kmol\"\n",
+ "N = round(P * (1.01325 * 10**5) * V / ( R * T ),2) # answer slightly different because of rouding error.\n",
+ "Cv = Cp - R \n",
+ "U2 = Cv * (T2 - T)*N #Answer differes due to slighlty different value of N\n",
+ "H2 = Cp * (T2 - T)*N #Answer differes due to slighlty different value of N\n",
+ "W2 = 0 \n",
+ "Q2 = U2 + W2 \n",
+ "print \n",
+ "print \"\\n(b)Change in the internal energy at constant volume condition = %d\"%U2,\"J\"\n",
+ "print \"Change in the enthalpy energy at constant volume condition = %d\"%H2,\"kJ/kmol\"\n",
+ "print \"Work done at constant volume condition = \",W2,\"kJ/kmol\"\n",
+ "print \"Heat supplied at constant volume condition = %d\"%Q2,\"kJ/kmol\"\n",
+ "\n",
+ "# note : answer varies because of rounding error."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)Change in the internal energy in isothermal condition = 0 kJ/kmol\n",
+ "Change in the enthalpy energy in isothermal condition = 0 kJ/kmol\n",
+ "Work done in isothermal condition = 1113.13 kJ/kmol\n",
+ "Heat supplied in isothermal condition = 1113.13 kJ/kmol\n",
+ "\n",
+ "\n",
+ "(b)Change in the internal energy at constant volume condition = 9046 J\n",
+ "Change in the enthalpy energy at constant volume condition = 12515 kJ/kmol\n",
+ "Work done at constant volume condition = 0 kJ/kmol\n",
+ "Heat supplied at constant volume condition = 9046 kJ/kmol\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.35 pageno : 448"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# variables \n",
+ "m = 1. #kg\n",
+ "u2 = 0.5 #m/s\n",
+ "u1 = 60. #m/s\n",
+ "H = -3000. #kJ/kg\n",
+ "\n",
+ "# Calculation \n",
+ "#KE = (u**2)/2\n",
+ "KE = ((u2 ** 2) - (u1**2))/2000 \n",
+ "g = 9.81 #m/s**2\n",
+ "Z1 = 7.5 #m\n",
+ "Z2 = 2. #m\n",
+ "\n",
+ "#PE = g * (Z)\n",
+ "PE = g * (Z2 - Z1)/1000 \n",
+ "W = 800. #kJ/kg\n",
+ "Q = H + PE + KE + W \n",
+ "\n",
+ "# Result\n",
+ "print \"Heat removed from the fluid = %.2f\"%Q,\"kJ/kg\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Heat removed from the fluid = -2201.85 kJ/kg\n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.37 pageno : 449"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# variables \n",
+ "g = 9.81 #m/s**2\n",
+ "z = 55. \n",
+ "PE = g * z \n",
+ "KE = 0. \n",
+ "T2 = 288. #K\n",
+ "f = 1.5*10**-2 #m**3/min\n",
+ "D = 1000. #kg/m**3\n",
+ "m = f * D \n",
+ "Qsupp = 500. #kJ/min\n",
+ "Qlost = 400. #kJ/min\n",
+ "\n",
+ "# Calculation \n",
+ "Qnet = (Qsupp - Qlost) * D / m \n",
+ "W = 2*745.7 #W\n",
+ "Ws = -W * 0.6 / (m/60) \n",
+ "H = Qnet - Ws - PE - KE \n",
+ "Cp = 4200. \n",
+ "T1 = H / Cp \n",
+ "T = T1 + T2 \n",
+ "\n",
+ "# Result\n",
+ "print \"The temperature of exit water = %.2f\"%T,\"K\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The temperature of exit water = 290.31 K\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.38 pageno : 450"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# variables \n",
+ "m = 1000. #kg/h (dried product)\n",
+ "\n",
+ "# S be the amount of dry solid in the product stream \n",
+ "Pmoisture1 = 4. #%\n",
+ "Pmoisture2 = 0.2 #%\n",
+ "P = 1.\n",
+ "S = m *(1 - P/1000) \n",
+ "\n",
+ "# Calculation \n",
+ "X1 = Pmoisture1/(100 - Pmoisture1) \n",
+ "X2 = Pmoisture2/(100 - Pmoisture2) \n",
+ "\n",
+ "#let G be the weight of dry air in the air stream \n",
+ "Y1 = 0.01 #kg water/kg dry solid\n",
+ "Cp = 1.507 \n",
+ "Cw = 4.2 \n",
+ "T1 = 298. #K\n",
+ "T = 273. #K\n",
+ "T2 = 333. #K\n",
+ "Tg1 = 363. #K\n",
+ "Tg2 = 305. #K\n",
+ "\n",
+ "Hs1 = (Cp + X1 * Cw) * (T1 - T) \n",
+ "Hs2 = (Cp + X2 * Cw) * (T2 - T) \n",
+ "#Hg = Cs(Tg - To) + Y*L\n",
+ "#Cs = 1.005 + 1.884*Y\n",
+ "L = 2502.3 #kJ/kg dry air\n",
+ "Hg1 = (1.005 + 1.884 * Y1)*(Tg1 - T) + Y1 * L \n",
+ "Q = -40000. #kJ/h\n",
+ "\n",
+ "#Calculating for T2, Hg2 = 32.16 + 2562.59*Y \n",
+ "#change in enthalpy = Q\n",
+ "#H1 = S * Hs1 + G * HG1 = 37814.22 + 117.17G\n",
+ "#H2 = 100728.14 + G* (32.16 + 2561.59*Y)\n",
+ "#change in enthalpy = Q\n",
+ "#62913.92 + G *(-85.01 + 2561.59*Y) + 40000 = 0\n",
+ "#102913.92 + G *(-85.01 + 2561.59*Y) = 0 (1)\n",
+ "#moisture balance, S*X1 + G*Y1 = S*X2 + G*Y2\n",
+ "#G*(Y-0.01) = 39.62 (2)\n",
+ "#solving simultaneously ( 1 ) and ( 2 ), \n",
+ "Gdry = 3443. #kg/h\n",
+ "G = Gdry*(1 + Y1) \n",
+ "\n",
+ "# Result\n",
+ "print \"Air requirement = \",G,\"kg/h\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Air requirement = 3477.43 kg/h\n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.39 pageno : 452"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# variables \n",
+ "m = 1000. #kg/h ( feed solution )\n",
+ "\n",
+ "#F - mass of feed distilled, W - mass of the bottom product, D - mass of the distillate, xf, xd and xw - weight fraction of actone in feed, distillate and residue resp_\n",
+ "#total balance, F = D + W\n",
+ "#Acetone balance, F*xf = D*xd + w*xw\n",
+ "F = 1000 \n",
+ "xf = 0.10 \n",
+ "xd = 0.9 \n",
+ "xw = 0.01 \n",
+ "\n",
+ "# Calculation \n",
+ "#substituting in above equations,\n",
+ "D = F * (xf - xw) / (xd - xw) \n",
+ "W = F - D \n",
+ "R = 8 \n",
+ "L = R * D \n",
+ "#material balance around the condenser,G vapour reaching the condenser\n",
+ "G = L + D \n",
+ "Td = 332. #K\n",
+ "T2 = 300. #K\n",
+ "Tw = 370. #K\n",
+ "Tf = 340. #K\n",
+ "Lacetone1 = 620. #kJ/kg\n",
+ "Lwater1 = 2500. #kJ/kg\n",
+ "Ld = xd * Lacetone1 + (1 - xd) * Lwater1 \n",
+ "Cpacetone = 2.2 #kJ/kgK\n",
+ "Cpwater = 4.2 #kJ/kgK\n",
+ "Cp = xd * Cpacetone + (1-xd)*Cpwater \n",
+ "H = Ld + Cp * ( Td - T2 ) \n",
+ "Cpc = 4.2 #kJ/kg\n",
+ "Tc = 30. #K ( change in temperature allowable for cooling water )\n",
+ "m = G * H / ( Cpc * Tc ) \n",
+ "\n",
+ "# Result\n",
+ "print \"(a)The circulation rate of cooling water = %2f\"%m,\"kg/h\"\n",
+ "Qc = G * H \n",
+ "Hd = 0. \n",
+ "Hw = (xw * Cpacetone + (1-xw)*Cpwater)*(Tw - T2) \n",
+ "Hf = (xf * Cpacetone + (1-xf)*Cpwater)*(Tf - T2) \n",
+ "Qb = D * Hd + W * Hw + Qc - F * Hf \n",
+ "Hcondensation = 2730. #kJ/kg\n",
+ "msteam = Qb/Hcondensation \n",
+ "print \"(b)Amount of steam supplied = %.2f\"%msteam,\"kg/h\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)The circulation rate of cooling water = 6391.011236 kg/h\n",
+ "(b)Amount of steam supplied = 332.70 kg/h\n"
+ ]
+ }
+ ],
+ "prompt_number": 41
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file