diff options
Diffstat (limited to 'Process_Heat_Transfer_by_D_Q_Kern/17-Cooling_Towers.ipynb')
-rw-r--r-- | Process_Heat_Transfer_by_D_Q_Kern/17-Cooling_Towers.ipynb | 501 |
1 files changed, 501 insertions, 0 deletions
diff --git a/Process_Heat_Transfer_by_D_Q_Kern/17-Cooling_Towers.ipynb b/Process_Heat_Transfer_by_D_Q_Kern/17-Cooling_Towers.ipynb new file mode 100644 index 0000000..ba69e54 --- /dev/null +++ b/Process_Heat_Transfer_by_D_Q_Kern/17-Cooling_Towers.ipynb @@ -0,0 +1,501 @@ +{ +"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 +} |