summaryrefslogtreecommitdiff
path: root/Process_Heat_Transfer_by_D_Q_Kern/17-Cooling_Towers.ipynb
diff options
context:
space:
mode:
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.ipynb501
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
+}