{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Chapter 17: Cooling Towers" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 17.1: Calculation_of_the_Enthalpy_of_Saturated_Air.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "printf('\t example 17.1 \n');\n", "pw=0.4298; // psia, at 75F, table 7\n", "pt=14.696; // psia\n", "t=75;\n", "Mw=18;\n", "Ma=29;\n", "X=(pw/(pt-pw))*(Mw/Ma);\n", "printf('\t humidity is : %.4f lb water/lb air \n',X);\n", "H=(X*t)+(1051.5*X)+(0.24*t); // eq 17.54\n", "printf('\t enthalpy at 75F is : %.1f Btu/lb dry air \n',H);\n", "// end" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 17.2: Calculation_of_the_Number_of_Diffusion_Units.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "printf('\t example 17.2 \n');\n", "printf('\t approximate values are mentioned in the book \n');\n", "printf('\t by numerical integration \n');\n", "T1=85;\n", "T2=120;\n", "A=576; // ground area, from fig 17.12\n", "L=1500*(500/576);\n", "G=1400;\n", "R=(L/G);\n", "printf('\t R is : %.2f \n',R);\n", "H1=39.1; // fig 17.12\n", "H2=H1+(R*(T2-T1));\n", "printf('\t H2 is : %.1f Btu \n',H2);\n", "// The area between the saturation line and the operating line represents the potential for heat transfer\n", "// at T=85F\n", "Hs=50; // fig 17.12\n", "d1=(Hs-H1);\n", "printf('\t difference is : %.1f \n',d1);\n", "//at t=90\n", "Hs=56.7; // fig 17.12\n", "H=43.7; // fig 17.12\n", "d2=Hs-H;\n", "printf('\t difference is : %.1f \n',d2);\n", "d=(d1+d2)/(2);\n", "printf('\t average of difference is : %.1f \n',d);\n", "dT=5; // F\n", "nd1=(dT/d);\n", "printf('\t nd1 is : %.3f \n',nd1);\n", "// similarly calculating nd at each temperature and adding them will give you total nd value\n", "nd=1.70;\n", "printf('\t number of diffusing units : %.2f \n',nd);\n", "printf('\t log mean enthalpy difference \n');\n", "dt=49.9; // diff. of enthalpies at top of the tower, from table in solution\n", "db=10.9; // diff of enthalpies at bottom of the tower,from table in solution\n", "LME=(dt-db)/(2.3*log10(dt/db));\n", "printf('\t log mean of enthalpy : %.1f Btu/lb \n',LME);\n", "nd=(T2-T1)/(LME);\n", "printf('\t number of diffusing units are : %.2f \n',nd);\n", "// The error is naturally larger the greater the range\n", "//end" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 17.3: Calculation_of_the_Required_Height_of_Fill.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "printf('\t example 17.3 \n');\n", "printf('\t approximate values are mentioned in the book \n');\n", "// Since the loading is based on 1 ft2 of ground area\n", "nd=1.7;\n", "L=1302;\n", "Kxa=115;\n", "Z=(nd*L)/(Kxa);\n", "printf('\t Z is : %.1f ft \n',Z);\n", "HDU=(Z/nd);\n", "printf('\t height of diffusion unit : %.1ff ft \n',HDU);\n", "// end" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 17.4: Determination_of_a_Cooling_tower_Guarantee.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "printf('\t example 17.4 \n');\n", "printf('\t approximate values are mentioned in the book \n');\n", "// The area between the saturation line and the operating line represents the potential for heat transfer\n", "// at T=79.3F\n", "Hs=43.4; // fig 17.12\n", "H=30.4; // fig 17.12\n", "d1=(Hs-H);\n", "printf('\t difference is : %.1f \n',d1);\n", "//at t=85\n", "Hs=50; // fig 17.12\n", "H=35.7; // fig 17.12\n", "d2=Hs-H;\n", "printf('\t difference is : %.1f \n',d2);\n", "d=(d1+d2)/(2);\n", "printf('\t average of difference is : %.2f \n',d);\n", "dT=(85-79.3); // F\n", "nd1=(dT/d);\n", "printf('\t nd1 is : %.3f \n',nd1);\n", "// similarly calculating nd at each temperature and adding them will give you total nd value\n", "nd=1.72;\n", "printf('\t number of diffusing units : %.2f \n',nd);\n", "// end" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 17.5: The_Recalculation_of_Cooling_tower_Performance.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "printf('\t example 17.5 \n');\n", "printf('\t approximate values are mentioned in the book \n');\n", "T1=85;\n", "T2=120;\n", "R=0.93; // R=(L/G), for 1500 gpm\n", "printf('\t for 120percent of design \n');\n", "R1=1.2*R;\n", "printf('\t R is : %.3f \n',R1);\n", "H1=39.1; // at 87.2F\n", "H2=H1+(R1*(T2-T1)); \n", "printf('\t H2 is : %.1f Btu \n',H2);\n", "// The area between the saturation line and the operating line represents the potential for heat transfer\n", "// at T=87.2F\n", "Hs=53.1; // from table in the solution\n", "d1=(Hs-H1);\n", "printf('\t difference is : %.1f \n',d1);\n", "//at t=90\n", "Hs=56.7; // fig 17.12\n", "H=42; // fig 17.12\n", "d2=Hs-H;\n", "printf('\t difference is : %.1f \n',d2);\n", "d=(d1+d2)/(2);\n", "printf('\t average of difference is : %.1f \n',d);\n", "dT=(90-87.2); // F\n", "nd1=(dT/d);\n", "printf('\t nd1 is : %.3f \n',nd1);\n", "// similarly calculating nd at each temperature and adding them will give you total nd value\n", "nd=1.53;\n", "printf('\t number of diffusing units : %.2f \n',nd);\n", "printf('\t for 80 percent of design \n');\n", "R2=0.8*R;\n", "printf('\t R is : %.3f \n',R2);\n", "H1=39.1; // at 87.2F\n", "H2=H1+(R2*(T2-T1)); \n", "printf('\t H2 is : %.0f Btu \n',H2);\n", "// The area between the saturation line and the operating line represents the potential for heat transfer\n", "// at T=82.5F\n", "Hs=47.2; // from table in the solution\n", "d1=(Hs-H1);\n", "printf('\t difference is : %.1f \n',d1);\n", "//at t=85\n", "Hs=50; // fig 17.12\n", "H=40.8; // fig 17.12\n", "d2=Hs-H;\n", "printf('\t difference is : %.1f \n',d2);\n", "d=(d1+d2)/(2);\n", "printf('\t average of difference is : %.1f \n',d);\n", "dT=(85-82.5); // F\n", "nd1=(dT/d);\n", "printf('\t nd1 is : %.3f \n',nd1);\n", "// similarly calculating nd at each temperature and adding them will give you total nd value\n", "nd=1.92;\n", "printf('\t number of diffusing units : %.2f \n',nd);\n", "X=[1.115 0.93 0.74];\n", "Y=[1.53 1.70 1.92];\n", "plot2d(X,Y,style=3,rect=[0.7,1.4,1.3,2]);\n", "xtitle('KxaV/L vs L/G','L/G','nd');\n", "printf('\t trial 1 \n');\n", "R3=1.1;\n", "printf('\t R is : %.3f \n',R3);\n", "H1=34.5; // at 87.2F\n", "H2=H1+(R3*(T2-T1)); \n", "printf('\t H2 is : %.0f Btu \n',H2);\n", "// The area between the saturation line and the operating line represents the potential for heat transfer\n", "// at T=85F\n", "Hs=50; // from table in the solution\n", "d1=(Hs-H1);\n", "printf('\t difference is : %.1f \n',d1);\n", "//at t=90\n", "Hs=56.7; // fig 17.12\n", "H=40; // fig 17.12\n", "d2=Hs-H;\n", "printf('\t difference is : %.1f \n',d2);\n", "d=(d1+d2)/(2);\n", "printf('\t average of difference is : %.1f \n',d);\n", "dT=(90-85); // F\n", "nd1=(dT/d);\n", "printf('\t nd1 is : %.3f \n',nd1);\n", "// similarly calculating nd at each temperature and adding them will give you total nd value\n", "nd=1.48;\n", "printf('\t number of diffusing units : %.2f \n',nd);\n", "R3=1.19; // from fig 17.14\n", "printf('\t L/G is : %.2f \n',R3);\n", "printf('\t trial 2 \n');\n", "R4=1.2;\n", "printf('\t R4 is : %.3f \n',R4);\n", "H1=34.5; // at 87.2F\n", "H2=H1+(R4*(T2-T1)); \n", "printf('\t H2 is : %.1f Btu \n',H2);\n", "// The area between the saturation line and the operating line represents the potential for heat transfer\n", "// at T=85F\n", "Hs=50; // from table in the solution\n", "d1=(Hs-H1);\n", "printf('\t difference is : %.1f \n',d1);\n", "//at t=90\n", "Hs=56.7; // fig 17.12\n", "H=40.5; // fig 17.12\n", "d2=Hs-H;\n", "printf('\t difference is : %.1f \n',d2);\n", "d=(d1+d2)/(2);\n", "printf('\t average of difference is : %.1f \n',d);\n", "dT=(90-85); // F\n", "nd1=(dT/d);\n", "printf('\t nd1 is : %.3f \n',nd1);\n", "// similarly calculating nd at each temperature and adding them will give you total nd value\n", "nd=1.56;\n", "printf('\t number of diffusing units : %.2f \n',nd);\n", "R3=1.08; // from fig 17.14\n", "printf('\t L/G is : %.2f \n',R3);\n", "// end" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 17.6: Calculation_of_a_Direct_contact_Gas_Cooler.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "printf('\t example 17.6 \n');\n", "printf('\t approximate values are mentioned in the book \n');\n", "// basis 1ft^2 ground area\n", "//Assumption: 20 per cent of the initial vapor content of the gas enters the water body\n", "X1=(1.69/(14.7-1.69))*(18/29);\n", "printf('\t X1 : %.4f lb/lb \n',X1);\n", "G=1500;\n", "w1=G*X1;\n", "printf('\t total water in inlet gas : %.2f lb/hr \n',w1);\n", "// The inlet gas is at 300F and a 120F dew point. Use 0.25 Btu/(lb)(°F) for the specific heat of nitrogen\n", "H1=(0.0807*120)+(0.0807*1025.8)+(0.45*0.0807*(300-120))+(0.25*300); // eq 17.55\n", "printf('\t H1 : %.0f Btu/lb dry air \n',H1);\n", "X2=(w1*(1-.2)/G);\n", "printf('\t outlet gas humidity : %.5f lb/lb \n',X2);\n", "pw=(X2*29*14.7/18)/(1+(X2*29/18));\n", "printf('\t pw : %.3f psia \n',pw);\n", "Tw=112.9; // F, from table 7 for above pw\n", "// The outlet gas has a temperature of 200°F and a 112.9°F dew point\n", "H2=(X2*Tw)+(X2*1029.8)+(X2*0.45*(200-Tw))+(0.25*200); // eq 17.55\n", "printf('\t H2 : %.1f Btu/lb dry air \n',H2);\n", "q=G*(H1-H2);\n", "printf('\t total heat load : %.2e Btu/hr \n',q);\n", "w2=q/(120-85);\n", "printf('\t water loading : %.2e lb/hr \n',w2);\n", "printf('\t interval 1 \n');\n", "// (Kxa*delV/L)= 0 t0 0.05\n", "nd=0.05; // nd=Kxa*V/L\n", "Le=0.93; // fig 17.4 at 300F\n", "C=(0.25)+(0.45*X1);\n", "printf('\t C : %.3f Btu/(lb)*(F) \n',C);\n", "haV=(nd*w2*Le*C);\n", "printf('\t haV : %.1f Btu/(hr)*(F) \n',haV);\n", "qc=(haV*(300-120));\n", "printf('\t qc : %.2e Btu/hr \n',qc);\n", "delT=(qc/(C*G));\n", "printf('\t delT : %.1f F \n',delT);\n", "T1=(300-delT);\n", "printf('\t T(0.05) : %.1f F \n',T1);\n", "delt=(qc/w2);\n", "printf('\t delt : %.2f F \n',delt);\n", "t1=(120-delt);\n", "printf('\t t(0.05) : %.1f F \n',t1);\n", "printf('\t interval 2 \n');\n", "// (Kxa*delV/L)= 0.05 to 0.15\n", "nd1=0.1;\n", "haV1=(nd1*w2*Le*C);\n", "printf('\t haV1 : %.1f Btu/(hr)*(F) \n',haV1);\n", "qc1=(haV1*(T1-t1));\n", "printf('\t qc1 : %.1e Btu/hr \n',qc1);\n", "delT1=(qc1/(C*G));\n", "printf('\t delT1 : %.1f F \n',delT1);\n", "T2=(T1-delT1);\n", "printf('\t T(0.15) : %.2f F \n',T2);\n", "X3=0.0748; // at 117.6F\n", "w3=(nd1*w2*(0.0807-X3));\n", "printf('\t water diffused during interval : %.3f lb/hr \n',w3);\n", "w4=(w1-w3);\n", "printf('\t water remaining : %.2f lb/hr \n',w4);\n", "l1=1027; // Btu/lb, l1= lamda at 117.6F\n", "qd=(w3*l1);\n", "printf('\t qd : %.0f Btu/hr \n',qd);\n", "q1=(qd+qc1);\n", "printf('\t q1 : %.0f Btu/hr \n',q1);\n", "delt1=(q1/w2);\n", "printf('\t delt1 : %.2f F \n',delt1);\n", "t2=(t1-delt1);\n", "printf('\t t(0.15) : %.1f F \n',t2);\n", "X4=0.0640; // at 112.5\n", "X5=(w4/G);\n", "printf('\t X(112.5F) : %.4f lb/lb \n',X5);\n", "printf('\t interval 3 \n');\n", "// (Kxa*delV/L)= 0.15 to 0.25\n", "nd1=0.1;\n", "haV1=(nd1*w2*Le*C);\n", "printf('\t haV1 : %.1f Btu/(hr)*(F) \n',haV1);\n", "qc2=(haV1*(T2-t2));\n", "printf('\t qc2 : %.2e Btu/hr \n',qc2);\n", "delT2=(qc2/(C*G));\n", "printf('\t delT2 : %.1f F \n',delT2);\n", "T3=(T2-delT2);\n", "printf('\t T(0.25) : %.1f F \n',T3);\n", "w5=(nd1*w2*(X5-X4));\n", "printf('\t water diffused during interval : %.3f lb/hr \n',w5);\n", "w6=(w4-w5);\n", "printf('\t water remaining : %.2f lb/hr \n',w6);\n", "l2=1030; // Btu/lb, l1= lamda at 112.5F\n", "qd1=(w5*l2);\n", "printf('\t qd1 : %.2e Btu/hr \n',qd1);\n", "q2=(qd1+qc2);\n", "printf('\t q2 : %.3e Btu/hr \n',q2);\n", "delt2=(q2/w2);\n", "printf('\t delt2 : %.2f F \n',delt2);\n", "t3=(t2-delt2);\n", "printf('\t t(0.25) : %.1f F \n',t3);\n", "X6=0.0533; // at 106.5\n", "X7=(w6/G);\n", "printf('\t X(106.5F) : %.4f lb/lb \n',X7);\n", "// The calculations of the remaining intervals until a. gas temperature of 200°F is reached are shown in Fig. 17.17\n", "w7=21.92; // total water diffused from table in solution\n", "d=(w7/w1)*100;\n", "printf('\t calculated diffusion : %.0f \n',d);\n", "printf('\t Using some standard low-pressure-drop data \n');\n", "// For G = 1500, extrapolate to L = 2040 on logarithmic coordinates. Kxa = 510.\n", "ndt=.54; // from 1st table in solution\n", "Kxa=510; // from 2nd table in solution\n", "Z=(ndt*w2/Kxa);\n", "printf('\t tower height : %.2f ft \n',Z);\n", "A=(50000/G);\n", "printf('\t cross section : %.1f ft^2 \n',A);\n", "// end\n", "\n", "\n", "" ] } , { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 17.7: Approximate_Calculation_of_a_Gas_Cooler.sce" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "printf('\t example 17.7 \n');\n", "printf('\t approximate values are mentioned in the book \n');\n", "C=0.28; // assumption\n", "w=50000; // lb/hr\n", "G=1500;\n", "Qs=(w*C*(500-200));\n", "Qd=(w/G)*(22685); // qd=22685, from previous prblm\n", "printf('\t sensible heat : %.1e Btu/hr \n',Qs);\n", "printf('\t approximate diffusion : %.2e Btu/hr \n',Qd);\n", "Q=(Qs+Qd);\n", "printf('\t total heat : %.3e Btu/hr \n',Q);\n", "// an allowance as high as 30 per cent of the sensible load can be made and the excess water compensated for by throttling when the tower is in operation\n", "w1=(Q/(120-85));\n", "printf('\t total water quantity : %.2e lb/hr \n',w1);\n", "// If the maximum liquid loading is taken as 2040 lb/(hr)(ft'!), the required tower cross section\n", "A=(w1/2040);\n", "printf('\t tower cross section : %.1f ft^2 \n',A);\n", "w3=(w/A);\n", "printf('\t new gas rate : %.0f lb/(hr)(ft^2) \n',w3);\n", "// The two terminal temperature differences are (200 - 85) and (500 - 120).\n", "LMTD=((500-120)-(200-85))/(log((500-120)/(200-85)));\n", "printf('\t LMTD : %.0f \n',LMTD);\n", "dt=35;\n", "N=(dt/LMTD); // eq 17.88\n", "printf('\t haV/L : %.2f \n',N);\n", "Le=0.93;\n", "nd=(N/(C*Le));\n", "printf('\t number diffusion units : %.2f \n',nd);\n", "// By extrapolation for G = 718 and L = 2040,Kxa=215\n", "L=2040;\n", "Kxa=215;\n", "Z=(nd*L/Kxa); // calculation mistake\n", "printf('\t height of tower : %.1f ft \n',Z);\n", "di=(A)^(1/2);\n", "printf(' ground dimensions : %.1f ft \n',di);\n", "// ground dimensions are 5.8*8.3*8.3 ft\n", "// end" ] } ], "metadata": { "kernelspec": { "display_name": "Scilab", "language": "scilab", "name": "scilab" }, "language_info": { "file_extension": ".sce", "help_links": [ { "text": "MetaKernel Magics", "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md" } ], "mimetype": "text/x-octave", "name": "scilab", "version": "0.7.1" } }, "nbformat": 4, "nbformat_minor": 0 }