{ "metadata": { "name": "", "signature": "sha256:0627e1083498e0e37e89924d5c259017b46e7f004ea51c86bbdc5e0e6e777fe9" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Chapter 7: Humidification Operations" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex7.1: Page 222" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "\n", "# Illustration 7.1\n", "# Page: 222\n", "\n", "print'Illustration 7.1 - Page: 222\\n\\n'\n", "\n", "# Solution\n", "\n", "import math\n", "from scipy.optimize import fsolve\n", "# ****Data****#\n", "Temp1 = 273+26.1;# [K]\n", "P1 = 100;# [mm Hg]\n", "Temp2 = 273+60.6;# [K]\n", "P2 = 400;# [mm Hg]\n", "P = 200;# [mm Hg]\n", "#*****#\n", "\n", "def f12(T):\n", " return ((1/Temp1)-(1/T))/((1/Temp1)-(1/Temp2))-((math.log(P1)-math.log(P))/(math.log(P1)-math.log(P2)))\n", "T = fsolve(f12,37);# [K]\n", "print\"At\",round(T-273,1),\" degree C, the vapour pressure of benzene is 200 mm Hg\\n\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Illustration 7.1 - Page: 222\n", "\n", "\n", "At" ] }, { "output_type": "stream", "stream": "stdout", "text": [ " 42.4 degree C, the vapour pressure of benzene is 200 mm Hg\n", "\n" ] } ], "prompt_number": 1 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex7.2: Page 223" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "\n", "# Illustration 7.2:\n", "# Page: 223\n", "\n", "print'Illustration 7.2 - Page: 223\\n\\n'\n", "#part(a) and part(b) are table based and doesn't require an calculation\n", "\n", "print'Illustration 7.2 (c)\\n\\n'\n", "\n", "# Solution (c)\n", "\n", "# Reference: H20\n", "# At 25 OC\n", "m = 0.775;\n", "Mr = 18.02;# [kg/kmol]\n", "lambdar = 2443000;# [N/m.kg]\n", "M = 78.05;# [kg/kmol]\n", "# From Eqn. 7.6:\n", "Lambda = m*lambdar*Mr/M;# [N/m.kg]\n", "print\"Latent Heat of Vaporization at 25 degree C is\",round(Lambda/1000,2),\" kN/m.kg\\n\"\n", "# the answer is slightly different in textbook due to approximation " ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Illustration 7.2 - Page: 223\n", "\n", "\n", "Illustration 7.2 (c)\n", "\n", "\n", "Latent Heat of Vaporization at 25 degree C is 437.13 kN/m.kg\n", "\n" ] } ], "prompt_number": 5 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex7.3: Page 226" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "\n", "# Illustration 7.3\n", "# Page: 226\n", "\n", "print'Illustration 7.3 - Page: 226\\n\\n'\n", "\n", "# solution\n", "\n", "# ****Data****#\n", "m = 10;# [kg]\n", "Cvap = 1.256;# [kJ/kg.K]\n", "Cliq = 1.507;# [kJ/kg.K]\n", "Temp1 = 100;# [OC]\n", "Temp4 = 10;# [OC]\n", "#******#\n", "\n", "# Using Fig 7.2 (Pg 224):\n", "Temp2 = 25;# [OC]\n", "# Using the notation of Fig. 7.3:\n", "H1_diff_H2 = Cvap*(Temp1-Temp2);# [kJ/kg]\n", "# From Illustration 7.2:\n", "H2_diff_H3 = 434;# [Latent Heat of Vaporisation, kJ/kg]\n", "H3_diff_H4 = Cliq*(Temp2-Temp4);# [kJ/kg]\n", "H1_diff_H4 = H1_diff_H2+H2_diff_H3+H3_diff_H4;# [kJ/kg]\n", "H = m*H1_diff_H4;# [kJ]\n", "print\"Heat evolved for 10 kg Benzene is \",int(H),\" kJ\\n\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Illustration 7.3 - Page: 226\n", "\n", "\n", "Heat evolved for 10 kg Benzene is 5508 kJ\n", "\n" ] } ], "prompt_number": 8 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex7.4: Page 227" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "\n", "# Illustration 7.4\n", "# Page: 227\n", "\n", "print'Illustration 7.4 - Page: 227\\n\\n'\n", "\n", "# solution\n", "\n", "#****Data****#\n", "# A = benzene vapour; B = Nitrogen Gas\n", "P = 800.0;# [mm Hg]\n", "Temp = 273.0+60;# [K]\n", "pA = 100.0;# [mm Hg]\n", "#******#\n", "\n", "pB = P-pA;# [mm Hg]\n", "MA = 78.05;# [kg/kmol]\n", "MB = 28.08;# [kg/kmol]\n", "\n", "# Mole Fraction\n", "print\"On the Basis of Mole Fraction\\n\"\n", "yAm = pA/P;\n", "yBm = pB/P;\n", "print\"Mole Fraction of Benzene is \",yAm\n", "print\"\\nMole Fraction of Nitrogen is \",yBm\n", "print\"\\n\"\n", "\n", "# Volume Fraction\n", "print\"On the Basis of Volume Fraction\\n\"\n", "# Volume fraction is same as mole Fraction\n", "yAv = yAm;\n", "yBv = yBm;\n", "print\"Volume Fraction of Benzene is \",yAv\n", "print\"\\n Volume Fraction of Nitrogen is \",yBv\n", "print\"\\n\"\n", "\n", "# Absolute Humidity\n", "print\"On the basis of Absolute humidity\\n\"\n", "Y = pA/pB;# [mol benzene/mol nitrogen]\n", "Y_prime = Y*(MA/MB);# [kg benzene/kg nitrogen]\n", "print\"The concentration of benzene is \",round(Y_prime,3),\" kg benzene/kg nitrogen\\n\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Illustration 7.4 - Page: 227\n", "\n", "\n", "On the Basis of Mole Fraction\n", "\n", "Mole Fraction of Benzene is 0.125\n", "\n", "Mole Fraction of Nitrogen is 0.875\n", "\n", "\n", "On the Basis of Volume Fraction\n", "\n", "Volume Fraction of Benzene is 0.125\n", "\n", " Volume Fraction of Nitrogen is 0.875\n", "\n", "\n", "On the basis of Absolute humidity\n", "\n", "The concentration of benzene is 0.397 kg benzene/kg nitrogen\n", "\n" ] } ], "prompt_number": 11 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex7.5: Page 228" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "\n", "# Illustration 7.5\n", "# Page: 228\n", "\n", "print'Illustration 7.5 - Page: 228\\n\\n'\n", "\n", "print'Illustration 7.5 (a)\\n\\n'\n", "# solution(a)\n", "\n", "#****Data****#\n", "# A = benzene vapour; B = Nitrogen Gas\n", "P = 1.0;# [atm]\n", "#*****#\n", "\n", "MA = 78.05;# [kg/kmol]\n", "MB = 28.02;# [kg/kmol]\n", "# Since gas is saturated, from Fig. 7.2 (Pg 224):\n", "pA = 275.0/760;# [atm]\n", "Y = pA/(P-pA);# [kmol benzene/kmol nitrogen]\n", "Y_prime = Y*(MA/MB);# [kg benzene/kg nitrogen]\n", "print\"The concentration of benzene is \",round(Y_prime,3),\" kg benzene/kg nitrogen\\n\\n\"\n", "\n", "print'Illustration 7.5 (b)\\n\\n'\n", "# solution(b)\n", "\n", "# A = benzene vapour; B = CO2\n", "MA = 78.05;# [kg/kmol]\n", "MB = 44.01;# [kg/kmol]\n", "# Since gas is saturated, from Fig. 7.2:\n", "pA = 275.0/760;# [atm]\n", "Y = pA/(P-pA);# [kmol benzene/kmol CO2]\n", "Y_prime = Y*(MA/MB);# [kg benzene/kg CO2]\n", "print\"The concentration of benzene is\",round(Y_prime,3),\" kg benzene/kg CO2\\n\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Illustration 7.5 - Page: 228\n", "\n", "\n", "Illustration 7.5 (a)\n", "\n", "\n", "The concentration of benzene is 1.579 kg benzene/kg nitrogen\n", "\n", "\n", "Illustration 7.5 (b)\n", "\n", "\n", "The concentration of benzene is 1.006 kg benzene/kg CO2\n", "\n" ] } ], "prompt_number": 14 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex7.6: Page 234" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "\n", "# Illustration 7.6\n", "# Page: 234\n", "\n", "print'Illustration 7.6 - Page: 234\\n\\n'\n", "\n", "# solution\n", "\n", "#****Data****#\n", "# A = water vapour; B = air\n", "TempG = 55;# [OC]\n", "P = 1.0133*10**(5);# [N/square m]\n", "Y_prime = 0.030;# [kg water/kg dry air]\n", "#******#\n", "\n", "MA = 18.02;# [kg/kmol]\n", "MB = 28.97;# [kg/kmol]\n", "\n", "# Percent Humidity\n", "# From psychrometric chart, at 55 OC\n", "Ys_prime = 0.115;# [kg water/kg dry air]\n", "percent_Humidity = (Y_prime/Ys_prime)*100;\n", "print\"The sample has percent Humidity =\",round(percent_Humidity,1),\"%\"\n", "\n", "# Molal Absolute Humidity\n", "Y = Y_prime*(MB/MA);# [kmol water/kmol dry air]\n", "print\"\\n Molal Absolute Humidity of the sample is\",round(Y,4),\" kmol water/kmol dry air\\n\"\n", "\n", "# Partial Pressure\n", "pA = Y*P/(1+Y);# [N/square m]\n", "print\"The Partial Pressure Of Water is\",int(pA),\" N/square m\\n\"\n", "\n", "# Relative Humidity\n", "pa = 118*133.3;# [vapour pressure of water at 55 OC,N/square m]\n", "relative_Humidity = (pA/pa)*100;\n", "print\"The sample has relative Humidity = \",round(relative_Humidity,1),\" %\\n\"\n", "\n", "# Dew Point\n", "# From psychrometric chart,\n", "dew_point = 31.5;# [OC]\n", "print\"Dew point Of the Sample is\",dew_point,\" degree C\\n\"\n", "\n", "# Humid Volume\n", "# At 55 OC\n", "vB = 0.93;# [specific volume of dry air,cubic m/kg]\n", "vsB = 1.10;# [specific volume of saturated air,cubic m/kg]\n", "vH = vB+((vsB-vB)*(percent_Humidity/100));# [cubic m/kg]\n", "print\"The Humid Volume of the Sample is \",round(vH,3),\" cubic m/kg\\n\"\n", "\n", "# Humid Heat\n", "CB = 1005;# [J/kg.K]\n", "CA = 1884;# [J/kg.K]\n", "Cs = CB+(Y_prime*CA);# [J/kg]\n", "print\"The Humid Heat is \",round(Cs,1),\" J/kg dry air.K\\n\"\n", "\n", "# Enthalpy\n", "HA = 56000;# [J/kg dry air]\n", "HsA = 352000;# [J/kg dry air]\n", "H_prime = HA+((HsA-HA)*(percent_Humidity/100));# [J/kg dry air]\n", "print\"The Enthalphy of the sample is \",round(H_prime/1000,1),\"KJ/kg dry air\\n\"\n", "# the answer is slightly different in textbook due to approximation " ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Illustration 7.6 - Page: 234\n", "\n", "\n", "The sample has percent Humidity = 26.1 %\n", "\n", " Molal Absolute Humidity of the sample is 0.0482 kmol water/kmol dry air\n", "\n", "The Partial Pressure Of Water is 4662 N/square m\n", "\n", "The sample has relative Humidity = 29.6 %\n", "\n", "Dew point Of the Sample is 31.5 degree C\n", "\n", "The Humid Volume of the Sample is 0.974 cubic m/kg\n", "\n", "The Humid Heat is 1061.5 J/kg dry air.K\n", "\n", "The Enthalphy of the sample is 133.2 KJ/kg dry air\n", "\n" ] } ], "prompt_number": 23 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex7.7: Page 236" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "\n", "# Illustration 7.7\n", "# Page: 236\n", "\n", "print'Illustration 7.7 - Page: 236\\n\\n'\n", "\n", "# solution\n", "\n", "#****Data****#\n", "# A = water vapour; B = air\n", "V = 100;# [m**3]\n", "Tempi = 55;# [OC]\n", "Tempf = 110;# [OC]\n", "#*****#\n", "\n", "# From Illustration 7.6\n", "vH = 0.974;# [m**3/kg]\n", "Cs = 1061.5;# [J/kg]\n", "WB = V/vH;# [kg]\n", "Q = WB*Cs*(Tempf-Tempi);# [J]\n", "print\"Heat required is \",round(Q,3),\" J\\n\"\n", "# the answer is slightly different in textbook due to approximation in book" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Illustration 7.7 - Page: 236\n", "\n", "\n", "Heat recquired is 5994096.509 J\n", "\n" ] } ], "prompt_number": 24 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex7.9: Page 240" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "\n", "# Illustration 7.9\n", "# Page:240\n", "from scipy.optimize import fsolve \n", "print'Illustration 7.9 - Page:240\\n\\n'\n", "\n", "# solution\n", "\n", "#****Data****#\n", "Tempw = 35;# [OC]\n", "Tempg = 65;# [OC]\n", "#******#\n", "\n", "# From psychrometric chart\n", "lambda_w = 2419300;# [J/kg]\n", "Y_prime_w = 0.0365;# [kg H2O/kg dry air]\n", "# From fig 7.5(a)\n", "hG_by_kY = 950;# [J/kg]\n", "# From Eqn. 7.26\n", "def f13(Y_prime):\n", " return (Tempg-Tempw)-((lambda_w*(Y_prime_w-Y_prime))/hG_by_kY)\n", "Y_prime = fsolve(f13,2);# [kg H2O/kg dry air]\n", "print\"Humidity of air is\",round(Y_prime[0],4),\"kg H2O/kg dry air\\n\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Illustration 7.9 - Page:240\n", "\n", "\n", "Humidity of air is 0.0247 kg H2O/kg dry air\n", "\n" ] } ], "prompt_number": 31 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex7.10: Page 241" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "\n", "# Illustration 7.10\n", "# Page:241\n", "\n", "print'Illustration 7.10 - Page:241\\n\\n'\n", "\n", "# solution\n", "\n", "#****Data****#\n", "Tg = 60;# [OC]\n", "Y_prime = 0.050;# [kg toulene/kg air]\n", "#*****#\n", "\n", "# Wet Bulb temparature\n", "Dab = 0.92*10**(-5);# [square m/s]\n", "density_air = 1.060;# [kg/cubic cm];\n", "viscocity_G = 1.95*10**(-5);# [kg/m.s]\n", "Sc = viscocity_G/(density_air*Dab);\n", "# From Eqn. 7.28\n", "hG_by_kY = 1223*(Sc**0.567);# [J/kg.K]\n", "# Soln. of Eqn. 7.26 by trial & error method:\n", "# (Tg-Tw) = (Yas_prime-Y_prime)*(lambda_w/hG_by_kY)\n", "Tw = 31.8;# [OC]\n", "print\"Wet Bulb Temparature:\",Tw,\" degree C\\n\"\n", "\n", "# Adiabatic Saturation Temparature\n", "C_air = 1005;# [J/kg.K]\n", "C_toulene = 1256;# [J/kg.K]\n", "Cs = C_air+(C_toulene*Y_prime);# [J/kg.K]\n", "# Soln. of Eqn. 7.21 by trial & error method:\n", "# (Tg-Tas) = (Yas_prime-Y_prime)*(lambda_as/Cs)\n", "Tas = 25.7;# [OC]\n", "print\"Adiabatic Saturation Temparature: \",round(Tas,1),\" degree C\\n\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Illustration 7.10 - Page:241\n", "\n", "\n", "Wet Bulb Temparature: 31.8 degree C\n", "\n", "Adiabatic Saturation Temparature: 25.7 degree C\n", "\n" ] } ], "prompt_number": 32 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex7.11: Page 249" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "\n", "# Illustration 7.11\n", "# Page: 249\n", "\n", "print'Illustration 7.11 - Page: 249\\n\\n'\n", "\n", "# solution\n", "\n", "\n", "#****Data****#\n", "L_min = 2.27;# [kg/square m.s]\n", "G_min = 2;# [kg/square m.s]\n", "L2_prime = 15;# [kg/s]\n", "Q = 270.0;# [W]\n", "Templ2 = 45.0;# [OC]\n", "Tempg1 = 30.0;# [OC]\n", "Tempw1 = 24.0;# [OC]\n", "Kya = 0.90;# [kg/cubic m.s]\n", "#*******#\n", "\n", "H1_prime = 72;# [kJ/kg dry air]\n", "Y1_prime = 0.0160;# [kg water/kg dry air]\n", "Templ1 = 29;# [OC]\n", "Cal = 4.187;# [kJ/kg]\n", "\n", "# Tower cross section Area:\n", "Al = L2_prime/L_min;# [square m]\n", "Ag = Gs/G_min;# [square m]\n", "A = min(Al,Ag);# [square m]\n", "Area = 3.25;\n", "# From Eqn. 7.54\n", "def f16(Z):\n", " return Area-(Kya*Z/G_min)\n", "Z = fsolve(f16,2);\n", "print\"The height of tower is\",round(Z,2),\" m\\n\"\n", "NtoG = 3.25;\n", "HtoG = G_min/Kya;# [m]\n", "\n", "# Make up water\n", "# Assuming the outlet air is essentially saturated:\n", "Y2_prime = 0.0475;# [kg water/kg dry air]\n", "E = G_min*(A)*(Y2_prime-Y1_prime);# [kg/s]\n", "# Windage loss estimated as 0.2 percent\n", "W = 0.002*L2_prime;# [kg/s]\n", "ppm_blowdown = 2000;# [ppm]\n", "ppm_makeup = 500;# [ppm]\n", "# Since the weight fraction are proportional to the corresponding ppm values:\n", "B = (E*ppm_makeup/(ppm_blowdown-ppm_makeup))-W;# [kg/s]\n", "M = B+E+W;# [kg/s]\n", "print\"The makeup water requirement is estimated to be\",round(M,2),\" kg/s\\n\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Illustration 7.11 - Page: 249\n", "\n", "\n", "The height of tower is 7.22 m\n", "\n", "The makeup water requirement is estimated to be 0.46 kg/s\n", "\n" ] } ], "prompt_number": 81 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex7.13: Page 254" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "\n", "# Illustration 7.13\n", "# Page: 254\n", "\n", "\n", "print'Illustration 7.13\\n\\n'\n", "\n", "# solution\n", "\n", "import math\n", "from scipy.optimize import fsolve \n", "# Given\n", "Tempg1=65;# [OC]\n", "Y1_prime=0.0170;# [kg water/kg dry air]\n", "# Using adiabatic satursion line on Fig. 7.5 (Pg 232)\n", "Tempas=32;# [OC]\n", "Yas_prime=0.0309;# [kg water/kg dry air]\n", "Tempg2=45;# [OC]\n", "Z=2;# [m]\n", "#*******#\n", "\n", "Y2_prime=0.0265;# [kg water/kg dry air]\n", "def f19(Kya_by_Gs):\n", " return math.log((Yas_prime-Y1_prime)/(Yas_prime-Y2_prime))-(Kya_by_Gs*Z)\n", "Kya_by_Gs=fsolve(f19,1);# [1/m]\n", "\n", "# For the extended chamber:\n", "Z=4;# [m]\n", "def f20(Y2_prime):\n", " return math.log((Yas_prime-Y1_prime)/(Yas_prime-Y2_prime))-(Kya_by_Gs*Z)\n", "Y2_prime=fsolve(f20,0.029);#[kg water/kg dry air] \n", "# With the same adiabatic curve:\n", "Tempg2=34;# [OC] from the curve\n", "print\"The Outlet Conditions are:\\n\"\n", "print\"Absolute Humidity is\",round(Y2_prime,4),\" kg water/kg dry air\\n\"\n", "print\"Dry Bulb Temperature is\",round(Tempg2), \"degree C\\n\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Illustration 7.13\n", "\n", "\n", "The Outlet Conditions are:\n", "\n", "Absolute Humidity is 0.0295 kg water/kg dry air\n", "\n", "Dry Bulb Temperature is 34.0 degree C\n", "\n" ] } ], "prompt_number": 137 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex7.14: Page 256" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "\n", "# Illustration 7.14\n", "# Page: 256\n", "\n", "print'Illustration 7.14 - Page: 256\\n\\n'\n", "\n", "# solution\n", "\n", "import math\n", "from scipy.optimize import fsolve\n", "#****Data****#\n", "# a = N2 b = CO\n", "# Entering gas\n", "Y1_prime = 0.0;# [kg water/kg dry air]\n", "Pt = 1.0;# [atm]\n", "Tempg1 = 315.0;# [OC]\n", "G_prime = 5.0;# [square m/s]\n", "\n", "# Temp of the tower:\n", "Templ2 = 18.0;# [OC]\n", "Density_L2 = 1000.0; #[kg/square m]\n", "viscocity_L2 = 1.056*10**(-3);# [kg/m.s]\n", "Tempg2 = 27.0;# [OC]\n", "\n", "Mb = 28.0;# [kg/kmol]\n", "Ma = 18.02;# [kg/kmol]\n", "Density_G1 = (Mb/22.41)*(273/(Tempg1+273));# [kg/square m]\n", "G1 = G_prime*(Density_G1);# [kg/s]\n", "\n", "# Since the outlet gas is nearly saturated:\n", "Y_prime = 0.024;# [kg water/kg dry air]\n", "Y2_prime = 0.022;# [kg water/kg dry air, assumed]\n", "G2 = G1*(1+Y2_prime);# [kg/s]\n", "Mav = (1+Y2_prime)/((1/Mb)+(Y2_prime/Ma));# [kg/kmol]\n", "Density_G2 = (Mav/22.4)*(273.0/(Templ2+273));# [kg/square m]\n", "L2_by_G2 = 2.0;\n", "abcissa = L2_by_G2*(Density_G2/(Density_L2-Density_G2))**(1/2);\n", "# From Fig. 6.34:\n", "# For a gas pressure drop of 400 N/square m/m\n", "ordinate = 0.073;\n", "# From Table 6.3:\n", "Cf = 65.0;\n", "J = 1.0;\n", "def f21(G2_prime):\n", " return ((G2_prime**2)*Cf*(viscocity_L2**0.1)*J/(Density_G2*(Density_L2-Density_G2)))-ordinate\n", "# Tentative data:\n", "G2_prime = fsolve(f21,2);# [kg/square m.s]\n", "Area = G1/G2_prime;# [square m]\n", "dia = math.sqrt(4*Area/math.pi);# [m]\n", "\n", "# Final data:\n", "dia = 1.50;# [m]\n", "Area = math.pi*dia**2.0/4;# [square m]\n", "Gs_prime = G1/Area;# [kg/square m.s]\n", "G2_prime = G2/Area;# [kg/square m.s]\n", "L2_prime = L2_by_G2*G2_prime;# [kg/square m.s]\n", "# From Eqn. 7.29:\n", "def f22(L1_prime):\n", " return (L2_prime-L1_prime)-(Gs_prime*(Y2_prime-Y1_prime))\n", "L1_prime = fsolve(f22,2);\n", "Cb = 1089;# [J/kg.K]\n", "Ca = 1884;# [J/kg.K]\n", "Cs1 = Cb+(Y1_prime*Ca);# [J/(kg dry air).K]\n", "Cs2 = Cb+(Y2_prime*Ca);# [J/(kg dry air).K]\n", "Tempo = Templ2;# [base temp.,K]\n", "Lambda = 2.46*10**6;# [J/kg]\n", "CaL = 4187;# [J/kg K]\n", "# From Eqn. 7.31:\n", "def f23(Templ1):\n", " return ((L2_prime*CaL*(Templ2-Tempo))+(Gs_prime*Cs1*(Tempg1-Tempo)))-((L1_prime*CaL*(Templ1-Tempo))+(Gs_prime*(Cs2*(Tempg2-Tempo))+(Y2_prime*Lambda)))\n", "Templ1 = fsolve(f23,2);\n", "# At Templ1 = 49.2 OC\n", "viscocity_L = 0.557*10**(-3);# [kg/m.s]\n", "Density_L = 989.0;# [kg/square m]\n", "K = 0.64;# [w/m.K]\n", "Prl = CaL*viscocity_L/K;\n", "\n", "# For Entering Gas:\n", "viscocity_G1 = 0.0288*10**(-3);# [kg*/m.s]\n", "Dab = 0.8089*10**(-4);# [square m/s]\n", "ScG = viscocity_G1/(Density_G1*Dab);\n", "PrG = 0.74;\n", "\n", "# From Illustration 6.7:\n", "a = 53.1;# [square m/square m]\n", "Fga = 0.0736;# [kmol/square m]\n", "Hga = 4440.0;# [W/square m.K]\n", "Hla = 350500.0;# [W/square m.K]\n", "# At the bottom, by several trial:\n", "Tempi = 50.3;# [OC]\n", "pai = 93.9/760;# [atm]\n", "paG = 0;# [atm]\n", "# By Eqn. 7.64:\n", "dY_prime_by_dZ = -(Ma*Fga/Gs_prime)*math.log((1-(pai/Pt))/(1-(paG/Pt)));# [(kg H2O/kg dry gas)/m]\n", "Hg_primea = -(Gs_prime*Ca*dY_prime_by_dZ)/(1-math.exp((Gs_prime*Ca*dY_prime_by_dZ)/(Hga)));# [W/square m.K]\n", "dTempg_by_dZ = -(Hg_primea*(Tempg1-Tempi)/(Gs_prime*Cs1));# [OC/m]\n", "Tempi = (Templ1)+((Gs_prime*(Cs1*dTempg_by_dZ)+((Ca*(Tempg1))-(CaL*(Templ1))+(((CaL-Ca)*(Tempo))+Lambda))*dY_prime_by_dZ)/((Gs_prime*CaL*dY_prime_by_dZ)-Hla));#[OC]\n", "# Assume:\n", "delta_Tempg = -30;# [OC]\n", "delta_Z = delta_Tempg/(dTempg_by_dZ);# [m]\n", "Tempg = Tempg1+delta_Tempg;# [OC]\n", "Y_prime = Y1_prime+(dY_prime_by_dZ)*delta_Z;# [kg H2O/kg dry gas]\n", "paG = Y_prime/(Y_prime+(Ma/Mb));# [atm]\n", "Cs = Cb+Ca*(Y_prime);# [J/(kg dry air).K]\n", "# Water balance, From Eqn. 7.29:\n", "def f24(L_prime):\n", " return (L2_prime-L_prime)-(Gs_prime*(Y_prime-Y1_prime))\n", "L_prime = fsolve(f24,2);# [kg/square m.s]\n", "\n", "def f25(Templ):\n", " return ((L_prime*CaL*(Templ-Tempo))+(Gs_prime*Cs1*(Tempg1-Tempo)))-((L1_prime*CaL*(Templ1-Tempo))+(Gs_prime*(Cs*(Tempg-Tempo))+(Y_prime*Lambda)))\n", "Templ = fsolve(f25,2);\n", "\n", "# This process is repeated several times until gas temp falls to Tempg2\n", "Z = 1.54;# [m] Z = sum of all delta_Z\n", "# The value of Y2_prime was calculated to be 0.0222 which is sufficiently close to the assumed value.\n", "print\"The diameter of tower is \",dia,\" m\\n\"\n", "print\"The packed height is\",Z, \"m\\n\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Illustration 7.14 - Page: 256\n", "\n", "\n", "The diameter of tower is " ] }, { "output_type": "stream", "stream": "stdout", "text": [ " 1.5 m\n", "\n", "The packed height is 1.54 m\n", "\n" ] } ], "prompt_number": 1 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Ex7.15: Page 267" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "\n", "# Illustration 7.15\n", "# Page: 267\n", "\n", "print'Illustration 7.15 - Page: 267\\n\\n'\n", "\n", "from scipy.optimize import fsolve\n", "import math\n", "import numpy\n", "# solution\n", "\n", "#***Data***#\n", "w = 0.75;# [m]\n", "OD = 19.05/1000;# [m]\n", "l = 3.75;# [m]\n", "n = 20;\n", "t = 1.65/1000;# [m]\n", "Ws = 2.3;# [kg/s]\n", "Wal = 10.0;# [kg/s]\n", "Wt = 4.0;# [kg/s]\n", "Density = 800;# [kg/cubic m]\n", "viscocity = 0.005;# [kg/m.s]\n", "K = 0.1436;# [W/m.K]\n", "Ct = 2010.0;# [J/kg.K]\n", "Cal = 4187.0;# [J/kg.K]\n", "Y1_prime = 0.01;# [kg H2O/kg dry air]\n", "Y2_prime = 0.06;# [kg H2O/kg dry air]\n", "TempT = 95.0;# [OC]\n", "#*****#\n", "\n", "Free_area = (w-(n*OD))*l;# [square m]\n", "Gs_min = 2.3/Free_area;# [kg/square m.s]\n", "M1 = 1.461;Yav_prime = (Y1_prime+Y2_prime)/2;# [kg H2O/kg dry air]\n", "# From Eqn. 7.86:\n", "ky = 0.0493*(Gs_min*(1+Yav_prime))**0.905;# [kg/square m.s.delta_Y_prime]\n", "# From Fig. 7.5:\n", "H1_prime = 56000.0;# [J/kg]\n", "Ao = 400*math.pi*OD*l;# [square m]\n", "# Cooling water is distributed over 40 tubes & since tubes are staggered\n", "geta = Wal/(40.0*2*l);# [kg/m.s]\n", "geta_by_OD = geta/OD;# [kg/square m.s]\n", "# Assume:\n", "TempL = 28.0;# [OC]\n", "# From Eqn. 7.84:\n", "hL_prime = (982+(15.58*TempL))*(geta_by_OD**(1/3));# [W/square m.K]\n", "# From Eqn. 7.85:\n", "hL_dprime = 11360;# [W/square m.K]\n", "# From Fig. 7.5 (Pg 232)\n", "m = 5000.0;# [J/kg.K]\n", "Ky = 1.0/((1/ky)+(m/hL_dprime));\n", "ID = (OD-(2.0*t));# [m]\n", "Ai = math.pi*(ID**2)/4;# [square m]\n", "Gt_prime = Wt/(n*Ai);# [kg/square m.s]\n", "M2 = -0.7204;Re = ID*Gt_prime/viscocity;\n", "Pr = Ct*viscocity/K;\n", "# From a standard correlation:\n", "hT = 364.0;# [W/square m.K]\n", "Dav = (ID+OD)/2.0;# [m]\n", "Zm = (OD-ID)/2;# [m]\n", "Km = 112.5;# [W/m.K]\n", "# From Eqn. 7.67:\n", "Uo = 1/((OD/(ID*hT))+((OD/Dav)*(Zm/Km))+(1/hL_prime));# [W/square m.K]\n", "# From Eqn. 7.75:\n", "alpha1 = -(((Uo*Ao)/(Wt*Ct))+((Uo*Ao)/(Wal*Cal)));\n", "alpha2 = m*Uo*Ao/(Wt*Ct);\n", "# From Eqn. 7.76:\n", "beeta1 = Ky*Ao/(Wal*Cal);\n", "beeta2 = -((m*Ky*Ao/(Wal*Cal))-(Ky*Ao/Ws));\n", "def f26(r):\n", " return (r**2)+((alpha1+beeta2)*r)+((alpha1*beeta2)-(alpha2*beeta1))\n", "r1 = fsolve(f26,10);\n", "r2 = fsolve(f26,0);\n", "beeta2 = 1.402;\n", "# From Eqn. 7.83:\n", "# N1-(M1*(r1+alpha1)/beeta1) = 0............................................(1)\n", "# N2-(M2*(r2+alpha2)/beeta2) = 0............................................(2)\n", "# From Eqn. 7.77:\n", "# At the top:\n", "x1 = 1.0;\n", "# TempL2+(M1*exp(r1*x1))+(M2*exp(-(r2*x1))) = TempL.........................(3)\n", "# From Eqn. 7.78:\n", "# At the bottom:\n", "x2 = 0.0;\n", "# H1_star-N1-N2 = H1_prime..................................................(4)\n", "# From Eqn. 7.80:\n", "# ((M1/r1)*(exp(r1)-1))+((M2*r2)*(exp(r2)-1)) = (Tempt-TempL)...............(5)\n", "# From Eqn. 7.81:\n", "# ((N1/r1)*(exp(r1)-1))+((N2*r2)*(exp(r2)-1)) = (H1_star-H1_prime)..........(6)\n", "# From Eqn. 7.91 & Eqn. 7.92:\n", "# Uo*Ao*(TempT-TempL)=Ky*Ao*(H1_star-H1_prime)..............................(7)\n", "\n", "# Elimination of M's & N's by solving Eqn. (1) to (4) and (7) simultaneously:\n", "# and from Fig. 7.5 (Pg 232):\n", "TempL1=28.0;# [OC]\n", "H1_star=(Uo*Ao*(TempT-TempL)/(Ky*Ao))+H1_prime;# [J/kmol]\n", "\n", "\n", "N1 = 3594.0*M1\n", "N2 =-43288.0*M2;\n", "\n", "# By Eqn. 5\n", "delta_Temp = ((M1/r1)*(math.exp(r1)-1))+((M2*r2)*(math.exp(r2)-1));# [OC]\n", "Q = Uo*delta_Temp*Ao;\n", "TempT1 = TempT-(Q/(Wt*Ct));# [OC]\n", "H2_prime = Q/(Ws)+H1_prime;# [J/kg]\n", "print\"Temperature to which oil was cooled:\",int(TempT1),\" degree C\\n\"\n", "# The solution in the textbook is wrong " ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Illustration 7.15 - Page: 267\n", "\n", "\n", "Temperature to which oil was cooled:" ] }, { "output_type": "stream", "stream": "stdout", "text": [ " 57 degree C\n", "\n" ] } ], "prompt_number": 1 } ], "metadata": {} } ] }