summaryrefslogtreecommitdiff
path: root/Engineering_Heat_Transfer/CHAPTER2.ipynb
blob: 6e5857d6c132c69c413a2e7c76d67b4d062afacc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
{
 "metadata": {
  "name": "CHAPTER2"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": [
      "chapter 2 :Steady state Conduction in one dimension"
     ]
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 2.1 Page No.42"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "T3=-10.00\t\t# temperature of inside wall in degree Fahrenheit\n",
      "T0=70.0 \t  \t# temperature of outside wall in degree Fahrenheit\n",
      "dT=T0-T3          # overall temperature difference\n",
      "k1=0.38           # brick masonry\n",
      "k2=0.02           # glass fibre\n",
      "k3=0.063          # plywood\n",
      "dx1=4/12.0          # thickness of brick layer in ft\n",
      "dx2=3.5/12.0        # thickness of glass fibre layer in ft\n",
      "dx3=0.5/12.0        # thickness of plywood layer in ft\n",
      "A=1.0 # cross sectional area taken as 1 ft**2\n",
      "\n",
      "R1=dx1/(k1*A) # resistance of brick layer in (hr.degree Rankine)/BTU\n",
      "R2=dx2/(k2*A) # resistance of glass fibre layer in (hr.degree Rankine)/BTU\n",
      "R3=dx3/(k3*A) # resistance of plywood layer in (hr.degree Rankine)/BTU\n",
      "qx=(T0-T3)/(R1+R2+R3) \n",
      "\n",
      "print\"Resistance of brick layer is  \",round(R1,3),\"(hr.degree Rankine)/BTU\"\n",
      "print\"Resistance of glass fibre layer is \",round(R2,1),\"(hr.degree Rankine)/BTU\"\n",
      "print\"Resistance of plywood layer is  \",round(R3,3),\"(hr.degree Rankine)/BTU\"\n",
      "print\"Heat transfer through the composite wall is \",round(qx,2),\"(hr.degree Rankine)/BTU\"\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Resistance of brick layer is   0.877 (hr.degree Rankine)/BTU\n",
        "Resistance of glass fibre layer is  14.6 (hr.degree Rankine)/BTU\n",
        "Resistance of plywood layer is   0.661 (hr.degree Rankine)/BTU\n",
        "Heat transfer through the composite wall is  4.96 (hr.degree Rankine)/BTU\n"
       ]
      }
     ],
     "prompt_number": 10
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 2.2 Page No.45"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "k1=0.45           # thermal conductivity of brick\n",
      "k2a=0.15          # thermal conductivity of pine\n",
      "k3=0.814         # thermal conductivity of plaster board\n",
      "k2b=0.025       # thermal conductivity of air from appendix table D1\n",
      "A1=0.41*3       # cross sectional area of brick layer \n",
      "A2a=0.038*3     # cross sectional area of wall stud\n",
      "A2b=(41-3.8)*0.01*3 # cross sectional area of air layer\n",
      "A3=0.41*3     # cross sectional area of plastic layer \n",
      "dx1=0.1        # thickness of brick layer in m\n",
      "dx2=0.089      # thickness of wall stud and air layer in m\n",
      "dx3=0.013      # thickness of plastic layer in m\n",
      "\n",
      "R1=dx1/(k1*A1) # Resistance of brick layer in K/W\n",
      "R2=dx2/(k2a*A2a+k2b*A2b) # Resistance of wall stud and air layer in K/W\n",
      "R3=dx3/(k3*A3) # Resistance of plastic layer in K/W\n",
      "T1=25          # temperature of inside wall in degree celsius\n",
      "T0=0           # temperature of outside wall in degree celsius\n",
      "qx=(T1-T0)/(R1+R2+R3) # heat transfer through the composite wall in W\n",
      "\n",
      "print\"Resistance of brick layer is \",round(R1,3),\"k/W\"\n",
      "print\"Resistance of wall stud and air layer is  \",round(R2,2),\"k/W\"\n",
      "print\"Resistance of plastic layer is \",round(R3,3),\"k/W\"\n",
      "print\"Heat transfer through the composite wall is\",round(qx,1),\"W\"\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Resistance of brick layer is  0.181 k/W\n",
        "Resistance of wall stud and air layer is   1.98 k/W\n",
        "Resistance of plastic layer is  0.013 k/W\n",
        "Heat transfer through the composite wall is 11.5 W\n"
       ]
      }
     ],
     "prompt_number": 15
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 2.3 Page No. 50"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "k1=24.8      # thermal conductivity of 1C steel in BTU/(hr.ft.degree Rankine)from appendix table B2 \n",
      "k2=0.02      # thermal conductivity of styrofoam steel in BTU/(hr.ft.degree Rankine)\n",
      "k3=0.09      # thermal conductivity of fibreglass in BTU/(hr.ft.degree Rankine)\n",
      "hc1=0.79     # convection coefficient between the air and the vertical steel wall in BTU/(hr.ft**2.degree Rankine)\n",
      "hc2=150.0      # the convection coefficient between the ice water and the fiberglass\n",
      "A=1.0          # calculation based on per square foot\n",
      "dx1=0.04/12.0  #  thickness of steel in ft\n",
      "dx2=0.75/12.0  # thickness of styrofoam in ft\n",
      "dx3=0.25/12.0  # thickness of fiberglass in ft\n",
      "\n",
      "\n",
      "Rc1=1/(hc1*A) # Resistance from air to sheet metal\n",
      "Rk1=dx1/(k1*A) # Resistance of steel layer\n",
      "Rk2=dx2/(k2*A) # Resistance of styrofoam layer\n",
      "Rk3=dx3/(k3*A) # Resistance of fiberglass layer\n",
      "Rc2=1/(hc2*A) # Resistance from ice water to fiberglass\n",
      "U=1/(Rc1+Rk1+Rk2+Rk3+Rc2) # overall heat transfer coefficient \n",
      "T_inf1=90     # temperature of air in degree F\n",
      "T_inf2=32    # temperature of mixture of ice and water in degree F\n",
      "q=U*A*(T_inf1-T_inf2)\n",
      "\n",
      "print\"Resistance from air to sheet metal:  \",round(Rc1,3),\"degree F.hr/BTU\"\n",
      "print\"Resistance of steel layer is \",round(Rk1,4),\"degree F.hr/BTU\"\n",
      "print\"Resistance of styrofoam layer is \",round(Rk2,3),\"degree F.hr/BTU\"\n",
      "print\"Resistance of fiberglass layer is \",round(Rk3,3),\"degree F.hr/BTU\"\n",
      "print\"Resistance from ice water to fiberglass is \",round(Rc2,4),\"degree F.hr/BTU\"\n",
      "print\"The overall heat transfer coefficient is  \",round(U,3),\"BTU/hr ft**2\"\n",
      "print\"The heat transfer rate is %.1f BTU/hr\",round(q,2),\"BTU/hr\"\n",
      "\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Resistance from air to sheet metal:   1.266 degree F.hr/BTU\n",
        "Resistance of steel layer is  0.0001 degree F.hr/BTU\n",
        "Resistance of styrofoam layer is  3.125 degree F.hr/BTU\n",
        "Resistance of fiberglass layer is  0.231 degree F.hr/BTU\n",
        "Resistance from ice water to fiberglass is  0.0067 degree F.hr/BTU\n",
        "The overall heat transfer coefficient is   0.216 BTU/hr ft**2\n",
        "The heat transfer rate is %.1f BTU/hr 12.53 BTU/hr\n"
       ]
      }
     ],
     "prompt_number": 21
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 2.4 Page No 55."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "k=14.4       # thermal conductivity of 304 stainless steel in W/(m.K) from appendix table B2\n",
      "D2=32.39     #Diameter (cm)\n",
      "D1=29.53\n",
      "T1=40         #Temprature\n",
      "T2=38\n",
      "\n",
      "import math\n",
      "Qr_per_length=(2*3.14*k)*(T1-T2)/math.log(D2/D1)#format(6)\n",
      "\n",
      "print\"The heat transfer through the pipe wall per unit length of pipe is \",round(Qr_per_length/1000,2),\"kw/m\"\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The heat transfer through the pipe wall per unit length of pipe is  1.96 kw/m\n"
       ]
      }
     ],
     "prompt_number": 23
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 2.5 Page NO. 58"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "k1=231             # thermal conductivity of copper in BTU/(hr.ft.degree Rankine)from appendix table B1 \n",
      "k2=0.02            # thermal conductivity of insuLtion in BTU/(hr.ft.degree Rankine)\n",
      "D2=1.125/12       # outer diameter in ft\n",
      "D1=0.08792        # inner diameter in ft\n",
      "R2=D2/2          # outer radius\n",
      "R1=D1/2          # inner radius\n",
      "t=0.5/12          # wall thickness of insulation in ft\n",
      "R3=R2+t\n",
      "LRk1=(log(R2/R1))/(2*3.14*k1) # product of length and copper layer resistance\n",
      "LRk2=(log(R3/R2))/(2*3.14*k2) # product of length and insulation layer resistance\n",
      "T1=40 # temperature of inside wall of tubing in degree fahrenheit\n",
      "T3=70 # temperature of surface temperature of insulation degree fahrenheit\n",
      "q_per_L=(T1-T3)/(LRk1+LRk2) # heat transferred per unit length in BTU/(hr.ft)\n",
      "\n",
      "print\"The heat transferred per unit length is \",round(q_per_L,2),\" BTU/(hr.ft\"\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The heat transferred per unit length is  -5.92  BTU/(hr.ft\n"
       ]
      }
     ],
     "prompt_number": 26
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 2.6 Page No 63"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "k12=24.8      # thermal conductivity of 1C steel in BTU/(hr.ft.degree Rankine)from appendix table B2 \n",
      "k23=.023      # thermal conductivity of glass wool insulation in BTU/(hr.ft.degree Rankine)from appendix table B3 \n",
      "D2=6.625/12.0  # outer diameter in ft\n",
      "D1=0.5054    # inner diameter in ft\n",
      "t=2/12.0        # wall thickness of insulation in ft\n",
      "D3=D2+t\n",
      "hc1=12        # convection coefficient between the air and the pipe wall in BTU/(hr. sq.ft.degree Rankine).\n",
      "hc2=1.5       # convection coefficient between the glass wool and the ambient air in  BTU/(hr. sq.ft.degree Rankine).\n",
      "\n",
      "U=1/((1/hc1)+(D1*log(D2/D1)/k12)+(D1*log(D3/D2)/k23)+(D1/(hc2*D3)))\n",
      "\n",
      "print\"Overall heat transfer coefficient is  \",round(U,4),\" BTU/(hr.sq.ft. Fahrenheit)\"\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Overall heat transfer coefficient is   0.1596  BTU/(hr.sq.ft. Fahrenheit)\n"
       ]
      }
     ],
     "prompt_number": 31
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 2.7 Page NO.72"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "k=14.4       # thermal conductivity of 304 stainless steel in  W/(m.K)from appendix table B2 \n",
      "T1=543.0     # temperature in K at point 1\n",
      "T2=460.0     # temperature in K at point 2\n",
      "dT=T1-T2     # temperature difference between point 1 and 2\n",
      "dz12=0.035   # distance between thermocouple 1 and 2 in cm\n",
      "\n",
      "dz56=4.45    # distance between thermocouple 5 and 6 in cm\n",
      "dz6i=3.81    # distance between thermocouple 6 and interface in cm\n",
      "dz5i=dz56+dz6i # distance between thermocouple 5 and interface in cm\n",
      "T5=374       # temperature in K at point 5\n",
      "T6=366       # temperature in K at point 6\n",
      "dzi7=2.45       # distance between thermocouple 7 and interface in cm\n",
      "dz78=4.45       # distance between thermocouple 7 and 8 in cm\n",
      "dzi8=dzi7+dz78  # distance between thermocouple 8 and interface in cm\n",
      "T7=349          #  temperature in K at point 7\n",
      "T8=337          # temperature in K at point 8\n",
      "\n",
      "qz_per_A=k*dT/dz12 # heat flow calculated in W/m**2 calculated using Fourier's law\n",
      "T_ial=T5-(dz5i*(T5-T6)/dz56) # temperature of aluminium interface in K\n",
      "T_img=dzi8*(T7-T8)/dz78+T8   # temperature of magnesium interface in K\n",
      "T_img_=355.8                 #Approx value in the book\n",
      "Rtc=(T_ial-T_img_)/(qz_per_A)\n",
      "\n",
      "\n",
      "print\"The required thermal contact resistance is\",round(Rtc,7),\"K sq.m/W\"\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The required thermal contact resistance is 9.81e-05 K sq.m/W\n"
       ]
      }
     ],
     "prompt_number": 30
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 2.8 Page No. 85"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "%pylab inline"
     ],
     "language": "python",
     "metadata": {},
     "outputs": []
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "import math\n",
      "k=24.8                  # thermal conductivity of 1C steel in BTU/(hr.ft.degree Rankine)from appendix table B2\n",
      "D=(5.0/16.0)/12.0           # diameter of the rod in ft\n",
      "P=(math.pi*D)           # Circumference of the rod in ft\n",
      "A=(math.pi/4)*D**2      # Cross sectional area of the rod in sq.ft\n",
      "hc=1.0 # assuming the convective heat transfer coefficient as 1 BTU/(hr. sq.ft. degree Rankine)\n",
      "\n",
      "m=math.sqrt(hc*P/(k*A))\n",
      "L=(9/2.0)/12.0 # length of rod in ft\n",
      "T_inf=70.0\n",
      "T_w=200.0\n",
      "dT=T_w-T_inf\n",
      "const=dT/math.cosh(m*L)\n",
      "\n",
      "qz=k*A*m*dT*tanh(m*L)\n",
      "\n",
      "mL=m*L\n",
      "efficiency=0.78       # from fig. 2.30\n",
      "\n",
      "effectiveness=math.sqrt(k*P/(hc*A))*tanh(mL)\n",
      "\n",
      "\n",
      "print\"(b)The heat transferred is \",round(qz,2),\"BTU/hr\"\n",
      "print\"(c)The efficiency found from the graph in figure 2.30 is\",efficiency\n",
      "print\"(d)The effectiveness is found to be\",round(effectiveness,1)\n",
      "\n",
      "\n",
      "import matplotlib.pyplot as plt\n",
      "fig = plt.figure()\n",
      "ax = fig.add_subplot(111)\n",
      "\n",
      "mL1=[0,1,1.2,5]\n",
      "n1=[0,0.2,0.25,0.25]\n",
      "\n",
      "mL2=[0,1,1.8,5]\n",
      "n2=[0,0.35,0.5,0.5]\n",
      "\n",
      "mL3=[0,1,2,5]\n",
      "n3=[0,0.75,1,1]\n",
      "mL4=[0,1,2,5]\n",
      "n4=[0,1.5,2,2]\n",
      "\n",
      "xlabel(\"mL\") \n",
      "ylabel(\"n  \") \n",
      "plt.xlim((0,6))\n",
      "plt.ylim((0,2.5))\n",
      "\n",
      "ax.annotate('(0.25)', xy=(5,0.25))\n",
      "ax.annotate('(0.5)', xy=(5,0.5))\n",
      "ax.annotate('(1)', xy=(5,1))\n",
      "ax.annotate('(2)', xy=(5,2))\n",
      "a1=plot(mL1,n1)\n",
      "a2=plot(mL2,n2)\n",
      "a3=plot(mL3,n3)\n",
      "a4=plot(mL4,n4)\n",
      "\n",
      "import matplotlib.pyplot as plt\n",
      "fig = plt.figure()\n",
      "ax = fig.add_subplot(111)\n",
      "\n",
      "z1=[0,3,4.8]\n",
      "T1=[200,165,158]\n",
      "z2=[0,4.8]\n",
      "T2=[140,140]\n",
      "z3=[0,4.8]\n",
      "T3=[130,130]\n",
      "z4=[4.8,4.8]\n",
      "T4=[140,130]\n",
      "\n",
      "xlabel(\"z (m)\") \n",
      "ylabel(\"T  (K)\") \n",
      "plt.xlim((0,5.5))\n",
      "plt.ylim((120,200))\n",
      "\n",
      "ax.annotate('(5/16 in)', xy=(4.85,135))\n",
      "a1=plot(z1,T1)\n",
      "a2=plot(z2,T2)\n",
      "a3=plot(z3,T3)\n",
      "a4=plot(z4,T4)\n",
      "\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "(b)The heat transferred is  3.13 BTU/hr\n",
        "(c)The efficiency found from the graph in figure 2.30 is 0.78\n",
        "(d)The effectiveness is found to be 45.2\n"
       ]
      },
      {
       "output_type": "display_data",
       "png": "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\n"
      },
      {
       "output_type": "display_data",
       "png": "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\n"
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 2.9 Page No. 90"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "k=136.0             # thermal conductivity of aluminium in BTU/(hr.ft.degree Rankine)from appendix table B1\n",
      "L=9/(8*12.0)        #length in ft\n",
      "W=9/(4*12.0)          #width in ft\n",
      "delta=0.002604       #ft\n",
      "hc=0.8             # the convective heat transfer coefficient estimated as 1 BTU/(hr.ft**2. degree Rankine)\n",
      "T_w=1000.0             # the root temperature in degree fahrenheit\n",
      "T_inf=90.0             # the ambient temperature in degree fahrenheit\n",
      "\n",
      "import math\n",
      "m=math.sqrt(hc/(k*delta))\n",
      "P=2*W\n",
      "A=2*delta*W\n",
      "qz1=math.sqrt(hc*P*k*A)*(T_w-T_inf)*(sinh(m*L)+(hc/(m*k)*cosh(m*L)))/(cosh(m*L)+(hc/(m*k)*sinh(m*L)))\n",
      "qz2=math.sqrt(k*A*hc*P)*(T_w-T_inf)*math.tanh(m*L)\n",
      "Lc=L+delta\n",
      "qz3=k*A*m*(T_w-T_inf)*math.tanh(m*L*(1+delta/Lc))\n",
      "\n",
      "print\"(a)The heat transferred is  \",round(qz1,2),\"BTU/hr\"\n",
      "print\"(b)The heat transferred is \",round(qz2,2),\"BTU/hr      In the book the answer is incorrect\"\n",
      "print\"(c)The heat transferred is \",round(qz3,2),\" BTU/hr\"\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "(a)The heat transferred is   26.12 BTU/hr\n",
        "(b)The heat transferred is  25.43 BTU/hr      In the book the answer is incorrect\n",
        "(c)The heat transferred is  26.1  BTU/hr\n"
       ]
      }
     ],
     "prompt_number": 75
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 2.10 Page No 94"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "k=8.32           # thermal conductivity  BTU/(hr.ft.degree Rankine)\n",
      "hc=400.0           # the convective heat transfer coefficient given in BTU/(hr.ft**2. degree Rankine)\n",
      "\n",
      "import math\n",
      "delta_opt=0.55/(12*2)\n",
      "Lc=math.sqrt(delta_opt*k/(0.583*hc))\n",
      "\n",
      "A=Lc*delta_opt\n",
      "parameter=Lc**1.5*math.sqrt(hc/(k*A))\n",
      "efficiency=0.6\n",
      "W=1/(2.0*12.0)   # width in ft\n",
      "T_w=190.0       # wall temperature in degree fahrenheit\n",
      "T_inf=58.0      # ambient temperature in degree fahrenheit\n",
      "L=1.0           # length in ft\n",
      "delta=W/2.0 \n",
      "q_ac=efficiency*hc*2*W*math.sqrt(L**2+delta**2)*(T_w-T_inf)\n",
      "\n",
      "print\"(a)The optimum length is  \",round(Lc*12,2),\"inch\"\n",
      "print\"(b)The actual heat transferred is \",round(q_ac,2),\"BTU/hr.  NOTE: In the book answer is incorrect\"\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "(a)The optimum length is   0.34 inch\n",
        "(b)The actual heat transferred is  2640.57 BTU/hr.  NOTE: In the book answer is incorrect\n"
       ]
      }
     ],
     "prompt_number": 35
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 2.11 Page No 95"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "N=9            # number of fins\n",
      "delta=0.003/2.0 \n",
      "L=0.025\n",
      "Lc=L+delta\n",
      "R=0.219/2\n",
      "R2c=R+delta\n",
      "R1=R-L\n",
      "T_w=260       # root wall temperature in degree celsius\n",
      "T_inf=27      # ambient temperature in degree celsius\n",
      "hc=15 \n",
      "k=52          # thermal conductivity of cast iron in W/(m.K)from appendix table B2\n",
      "\n",
      "import math\n",
      "Ap=2*delta*Lc\n",
      "As=2*math.pi*(R2c**2-R1**2)\n",
      "radius_ratio=R2c/R1    # for finding efficiency from figure 2.38\n",
      "variable=Lc**1.5*math.sqrt(hc/(k*Ap))\n",
      "efficiency=0.93        # efficiency from figure 2.38\n",
      "qf=N*efficiency*As*hc*(T_w-T_inf)\n",
      "Sp=0.0127              # fin spacing\n",
      "Asw=2*math.pi*R1*Sp*N     # exposed surface area\n",
      "qw=hc*Asw*(T_w-T_inf)\n",
      "q=qf+qw\n",
      "\n",
      "H=N*(Sp+2*delta)\n",
      "Aso=2*math.pi*R1*H       # surface area without fins\n",
      "qo=hc*Aso*(T_w-T_inf)\n",
      "\n",
      "effectiveness=q/qo     # effectiveness defined as ratio of heat transferred with fins to heat transferred without fins\n",
      "\n",
      "print\"(a)The total heat transferred from the cylinder is  \",round(q,0),\"W\"\n",
      "print\"(b)The Heat transferred without fins is W\",round(qo,0),\"W\"\n",
      "print\"(c)The fin effectiveness is \",round(effectiveness,2)\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "(a)The total heat transferred from the cylinder is   1164.0 W\n",
        "(b)The Heat transferred without fins is W 262.0 W\n",
        "(c)The fin effectiveness is  4.44\n"
       ]
      }
     ],
     "prompt_number": 9
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [],
     "language": "python",
     "metadata": {},
     "outputs": []
    }
   ],
   "metadata": {}
  }
 ]
}