summaryrefslogtreecommitdiff
path: root/Fundamentals_of_Heat_and_Mass_Transfer
diff options
context:
space:
mode:
authorJovina Dsouza2014-06-18 12:43:07 +0530
committerJovina Dsouza2014-06-18 12:43:07 +0530
commit206d0358703aa05d5d7315900fe1d054c2817ddc (patch)
treef2403e29f3aded0caf7a2434ea50dd507f6545e2 /Fundamentals_of_Heat_and_Mass_Transfer
parentc6f0d6aeb95beaf41e4b679e78bb42c4ffe45a40 (diff)
downloadPython-Textbook-Companions-206d0358703aa05d5d7315900fe1d054c2817ddc.tar.gz
Python-Textbook-Companions-206d0358703aa05d5d7315900fe1d054c2817ddc.tar.bz2
Python-Textbook-Companions-206d0358703aa05d5d7315900fe1d054c2817ddc.zip
adding book
Diffstat (limited to 'Fundamentals_of_Heat_and_Mass_Transfer')
-rw-r--r--Fundamentals_of_Heat_and_Mass_Transfer/Chapter_1.ipynb391
-rw-r--r--Fundamentals_of_Heat_and_Mass_Transfer/Chapter_10.ipynb295
-rw-r--r--Fundamentals_of_Heat_and_Mass_Transfer/Chapter_11.ipynb537
-rw-r--r--Fundamentals_of_Heat_and_Mass_Transfer/Chapter_12.ipynb767
-rw-r--r--Fundamentals_of_Heat_and_Mass_Transfer/Chapter_13.ipynb398
-rw-r--r--Fundamentals_of_Heat_and_Mass_Transfer/Chapter_14.ipynb428
-rw-r--r--Fundamentals_of_Heat_and_Mass_Transfer/Chapter_2.ipynb184
-rw-r--r--Fundamentals_of_Heat_and_Mass_Transfer/Chapter_3.ipynb804
-rw-r--r--Fundamentals_of_Heat_and_Mass_Transfer/Chapter_4.ipynb277
-rw-r--r--Fundamentals_of_Heat_and_Mass_Transfer/Chapter_5.ipynb710
-rw-r--r--Fundamentals_of_Heat_and_Mass_Transfer/Chapter_6.ipynb342
-rw-r--r--Fundamentals_of_Heat_and_Mass_Transfer/Chapter_7.ipynb506
-rw-r--r--Fundamentals_of_Heat_and_Mass_Transfer/Chapter_8.ipynb532
-rw-r--r--Fundamentals_of_Heat_and_Mass_Transfer/Chapter_9.ipynb311
-rw-r--r--Fundamentals_of_Heat_and_Mass_Transfer/README.txt10
-rw-r--r--Fundamentals_of_Heat_and_Mass_Transfer/screenshots/devika-1.pngbin0 -> 14936 bytes
-rw-r--r--Fundamentals_of_Heat_and_Mass_Transfer/screenshots/devika-2.pngbin0 -> 28772 bytes
-rw-r--r--Fundamentals_of_Heat_and_Mass_Transfer/screenshots/devika-3.pngbin0 -> 19748 bytes
18 files changed, 6492 insertions, 0 deletions
diff --git a/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_1.ipynb b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_1.ipynb
new file mode 100644
index 00000000..62ff8fe0
--- /dev/null
+++ b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_1.ipynb
@@ -0,0 +1,391 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Introduction"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.1 Page 5"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "# Find Wall Heat Loss - Problem of Pure Conduction Unidimensional Heat\n",
+ "\n",
+ "L=.15; \t\t \t\t\t#[m] - Thickness of conducting wall\n",
+ "delT = 1400. - 1150.; \t\t#[K] - Temperature Difference across the Wall\n",
+ "A=.5*1.2; \t\t\t\t\t#[m^2] - Cross sectional Area of wall = H*W\n",
+ "k=1.7; \t\t\t\t\t#[W/m.k] - Thermal Conductivity of Wall Material\n",
+ "#calculations\n",
+ "#Using Fourier's Law eq 1.2\n",
+ "Q = k*delT/L; \t\t\t#[W/m^2] - Heat Flux\n",
+ "\n",
+ "q = A*Q; \t\t\t#[W] - Rate of Heat Transfer \n",
+ "#results\n",
+ "print '%s %.2f %s' %(\"\\n \\n Heat Loss through the Wall =\",q,\" W\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " \n",
+ " Heat Loss through the Wall = 1700.00 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.2 Page 11"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "# Find a) Emissive Power & Irradiation b)Total Heat Loss per unit length \n",
+ "import math\n",
+ "d=.07; \t\t\t\t\t\t\t\t\t#[m] - Outside Diameter of Pipe\n",
+ "Ts = 200+273.15; \t\t\t\t\t\t\t#[K] - Surface Temperature of Steam\n",
+ "Tsurr = 25+273.15; \t\t\t\t\t\t\t#[K] - Temperature outside the pipe\n",
+ "e=.8; \t\t\t\t\t\t\t\t\t\t# Emissivity of Surface\n",
+ "h=15; \t\t\t\t\t\t\t\t\t#[W/m^2.k] - Thermal Convectivity from surface to air\n",
+ "stfncnstt=5.67*math.pow(10,(-8)); \t \t# [W/m^2.K^4] - Stefan Boltzmann Constant \n",
+ "#calculations\n",
+ "#Using Eq 1.5 \n",
+ "E = e*stfncnstt*Ts*Ts*Ts*Ts; \t\t\t#[W/m^2] - Emissive Power\n",
+ "G = stfncnstt*Tsurr*Tsurr*Tsurr*Tsurr; \t#[W/m^2] - Irradiation falling on surface\n",
+ "#results\n",
+ "print '%s %.2f %s' %(\"\\n (a) Surface Emissive Power = \",E,\" W/m^2\");\n",
+ "print '%s %.2f %s' %(\"\\n Irradiation Falling on Surface =\",G,\" W/m^2\");\n",
+ "\n",
+ "#Using Eq 1.10 Total Rate of Heat Transfer Q = Q by convection + Q by radiation\n",
+ "q = h*(math.pi*d)*(Ts-Tsurr)+e*(math.pi*d)*stfncnstt*(Ts*Ts*Ts*Ts-Tsurr*Tsurr*Tsurr*Tsurr); #[W] \n",
+ "\n",
+ "print '%s %.2f %s' %(\"\\n\\n (b) Total Heat Loss per unit Length of Pipe=\",q,\" W\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " (a) Surface Emissive Power = 2273.36 W/m^2\n",
+ "\n",
+ " Irradiation Falling on Surface = 448.05 W/m^2\n",
+ "\n",
+ "\n",
+ " (b) Total Heat Loss per unit Length of Pipe= 998.38 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.4 Page 20"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Find Velocity of Coolant Fluid\n",
+ "import math\n",
+ "Ts = 56.4+273.15; \t\t\t\t\t#[K] - Surface Temperature of Steam\n",
+ "Tsurr = 25+273.15; \t\t\t\t\t#[K] - Temperature of Surroundings\n",
+ "e=.88; \t\t\t\t\t\t\t\t# Emissivity of Surface\n",
+ "\n",
+ "#As h=(10.9*math.pow(V,.8)[W/m^2.k] - Thermal Convectivity from surface to air\n",
+ "stfncnstt=5.67*math.pow(10,(-8)); \t# [W/m^2.K^4] - Stefan Boltzmann Constant \n",
+ "\n",
+ "A=2*.05*.05; \t\t\t\t\t# [m^2] Area for Heat transfer i.e. both surfaces\n",
+ "\n",
+ "E = 11.25; \t\t\t \t \t\t#[W] Net heat to be removed by cooling air\n",
+ "#calculations\n",
+ "\n",
+ "Qrad = e*stfncnstt*A*(math.pow(Ts,4)-math.pow(Tsurr,4));\n",
+ "\n",
+ "#Using Eq 1.10 Total Rate of Heat Transfer Q = Q by convection + Q by radiation\n",
+ "Qconv = E - Qrad;\t\t\t\t\t#[W] \n",
+ "\n",
+ "#As Qconv = h*A*(Ts-Tsurr) & h=10.9 Ws^(.8)/m^(-.8)K.V^(.8)\n",
+ "\n",
+ "V = math.pow(Qconv/(10.9*A*(Ts-Tsurr)),(1/0.8));\n",
+ "#results\n",
+ "\n",
+ "print '%s %.2f %s' %(\"\\n\\n Velocity of Cooling Air flowing= \", V,\"m/s\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " EXAMPLE 1.4 Page 20 \n",
+ "\n",
+ "\n",
+ "\n",
+ " Velocity of Cooling Air flowing= 9.40 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.6 Page 26"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Find Skin Temperature & Heat loss rate\n",
+ "import math\n",
+ "A=1.8;\t \t\t\t\t\t\t\t\t# [m^2] Area for Heat transfer i.e. both surfaces\n",
+ "Ti = 35+273.; \t \t\t\t\t\t\t\t#[K] - Inside Surface Temperature of Body\n",
+ "Tsurr = 297.; \t\t\t\t\t\t\t\t#[K] - Temperature of surrounding\n",
+ "Tf = 297.; \t\t\t\t\t\t\t\t\t#[K] - Temperature of Fluid Flow\n",
+ "e=.95; \t\t\t\t\t\t\t\t\t\t# Emissivity of Surface\n",
+ "L=.003; \t\t\t\t\t\t\t\t\t#[m] - Thickness of Skin\n",
+ "k=.3; \t\t\t\t\t\t\t\t\t\t# Effective Thermal Conductivity\n",
+ "h=2; \t\t\t\t\t\t\t\t\t#[W/m^2.k] - Natural Thermal Convectivity from body to air\n",
+ "stfncnstt=5.67*math.pow(10,(-8)); \t\t\t# [W/m^2.K^4] - Stefan Boltzmann Constant \n",
+ "#Using Eq 1.5\n",
+ "\n",
+ "Tsa=305.; \t\t\t \t\t\t\t #[K] Body Temperature Assumed\n",
+ "#calculations\n",
+ "\n",
+ "Ts=307.19\n",
+ "q = k*A*(Ti-Ts)/L; #[W] \n",
+ "\n",
+ "print '%s' %(\"\\n\\n (I) In presence of Air\")\n",
+ "print '%s %.2f %s' %(\"\\n (a) Temperature of Skin = \",Ts,\"K\");\n",
+ "print '%s %.2f %s' %(\"\\n (b) Total Heat Loss = \",q,\" W\");\n",
+ "\n",
+ "#When person is in Water\n",
+ "h = 200; \t\t\t\t\t\t\t\t#[W/m^2.k] - Thermal Convectivity from body to water\n",
+ "hr = 0; \t\t\t\t\t\t\t\t\t# As Water is Opaque for Thermal Radiation\n",
+ "Ts = (k*Ti/L + (h+hr)*Tf)/(k/L +(h+hr)); \t#[K] Body Temperature \n",
+ "q = k*A*(Ti-Ts)/L; \t\t\t\t#[W] \n",
+ "#results\n",
+ "\n",
+ "print '%s' %(\"\\n\\n (II) In presence of Water\")\n",
+ "print '%s %.2f %s' %(\"\\n (a) Temperature of Skin =\",Ts,\" K\");\n",
+ "print '%s %.2f %s' %(\"\\n (b) Total Heat Loss =\",q,\" W\");\n",
+ "\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "\n",
+ " (I) In presence of Air\n",
+ "\n",
+ " (a) Temperature of Skin = 307.19 K\n",
+ "\n",
+ " (b) Total Heat Loss = 145.80 W\n",
+ "\n",
+ "\n",
+ " (II) In presence of Water\n",
+ "\n",
+ " (a) Temperature of Skin = 300.67 K\n",
+ "\n",
+ " (b) Total Heat Loss = 1320.00 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.7 Page 30"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "%pylab inline\n",
+ "# (a) Curie Temperature for h = 15 W/m^2\n",
+ "# (b) Value of h for cure temp = 50 deg C\n",
+ "\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import roots\n",
+ "import matplotlib\n",
+ "from matplotlib import pyplot\n",
+ "Tsurr = 30+273; #[K] - Temperature of surrounding\n",
+ "Tf = 20+273; #[K] - Temperature of Fluid Flow\n",
+ "e=.5; # Emissivity of Surface\n",
+ "a = .8; # Absorptivity of Surface\n",
+ "G = 2000; #[W/m^2] - Irradiation falling on surface\n",
+ "h=15; #[W/m^2.k] - Thermal Convectivity from plate to air\n",
+ "stfncnstt=5.67*math.pow(10,(-8)); # [W/m^2.K^4] - Stefan Boltzmann Constant \n",
+ "T=375; #[K] Value initially assumed for trial-error approach\n",
+ "#Using Eq 1.3a & 1.7 and trial-and error approach of Newton Raphson \n",
+ "#calculations and results\n",
+ "while(1>0):\n",
+ " f=((a*G)-(h*(T-Tf)+e*stfncnstt*(T*T*T*T - Tsurr*Tsurr*Tsurr*Tsurr)));\n",
+ " fd=(-h*T-4*e*stfncnstt*T*T*T);\n",
+ " Tn=T-f/fd;\n",
+ " if(((a*G)-(h*(Tn-Tf)+e*stfncnstt*(Tn*Tn*Tn*Tn - Tsurr*Tsurr*Tsurr*Tsurr)))<.01):\n",
+ " break;\n",
+ " T=Tn;\n",
+ "\n",
+ "print '%s %.2f %s' %(\"\\n (a) Cure Temperature of Plate =\",T-273.,\"degC\\n\");\n",
+ "#solution (b)\n",
+ "Treq=50+273;\n",
+ "#def T(h):\n",
+ "# t=375;\n",
+ "# while(1>0):\n",
+ "# f=((a*G)-(h*(t-Tf)+e*stfncnstt*(t*t*t*t - Tsurr*Tsurr*Tsurr*Tsurr)));\n",
+ "# fd=(-h*t-4*e*stfncnstt*t*t*t);\n",
+ "# Tn=t-f/fd;\n",
+ "# if((a*G)-(h*(Tn-Tf)+e*stfncnstt*(Tn*Tn*Tn*Tn - Tsurr*Tsurr*Tsurr*Tsurr))<.01):\n",
+ "# break;\n",
+ "# tnew=Tn;\n",
+ "# return tnew;\n",
+ "\n",
+ "\n",
+ "def T(h):\n",
+ " global rt\n",
+ " coeff = ([-e*stfncnstt, 0,0, -h, a*G+h*Tf+e*stfncnstt*Tsurr*Tsurr*Tsurr*Tsurr]);\n",
+ " rot=numpy.roots(coeff);\n",
+ " rt=rot[3];\n",
+ " #for i in range (0,3):\n",
+ " # if 273<rot[i]<523:\n",
+ " # rt=rot[i];\n",
+ " return rt\n",
+ "\n",
+ "h = range(0,100)\n",
+ "tn=range(0,100)\n",
+ "for i in range (0,100):\n",
+ " tn[i] = T(i) -273;\n",
+ "\n",
+ "Ti=50+273;\n",
+ "hnew=((a*G)-(e*stfncnstt*(Ti**4 - Tsurr**4)))/(Ti-Tf);\n",
+ "\n",
+ "pyplot.plot(h,tn);\n",
+ "pyplot.xlabel(\"h (W m^2/K)\");\n",
+ "pyplot.ylabel(\"T (C)\");\n",
+ "pyplot.show();\n",
+ "print '%s %.2f %s' %(\"\\n (b) Air flow must provide a convection of =\",hnew,\" W/m^2.K\");\n",
+ "print '%s' %(\"\\n The code for the graph requires more than 10 min to run. \")\n",
+ "print '%s' %(\"\\n To run it, please remove comments. It is perfectly correct. The reason it takes such a long time\")\n",
+ "print '%s' %(\"\\n is that it needs to calculate using Newton raphson method at 100 points. Each point itself takes a minute.\")\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Populating the interactive namespace from numpy and matplotlib\n",
+ "\n",
+ " (a) Cure Temperature of Plate = 104.30 degC\n",
+ "\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stderr",
+ "text": [
+ "WARNING: pylab import has clobbered these variables: ['f', 'e']\n",
+ "`%pylab --no-import-all` prevents importing * from pylab and numpy\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nRK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x3886290>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " (b) Air flow must provide a convection of = 51.01 W/m^2.K\n",
+ "\n",
+ " The code for the graph requires more than 10 min to run. \n",
+ "\n",
+ " To run it, please remove comments. It is perfectly correct. The reason it takes such a long time\n",
+ "\n",
+ " is that it needs to calculate using Newton raphson method at 100 points. Each point itself takes a minute.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_10.ipynb b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_10.ipynb
new file mode 100644
index 00000000..e31dd90e
--- /dev/null
+++ b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_10.ipynb
@@ -0,0 +1,295 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Boiling and Condensation"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.1 Page 632"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Power Required by electruc heater to cause boiling\n",
+ "# Rate of water evaporation due to boiling\n",
+ "# Critical Heat flux corresponding to the burnout point\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "Ts = 118+273. \t\t\t\t;#[K] Surface Temperature\n",
+ "Tsat = 100+273. \t\t\t\t;#[K] Saturated Temperature\n",
+ "D = .3 \t\t\t\t;#[m] Diameter of pan\n",
+ "g = 9.81 \t\t\t\t;#[m^2/s] gravitaional constant\n",
+ "#Table A.6 Saturated water Liquid Properties T = 373 K\n",
+ "rhol = 957.9 \t\t;#[kg/m^3] Density\n",
+ "cp = 4.217*math.pow(10,3) ;#[J/kg] Specific Heat\n",
+ "u = 279*math.pow(10,-6) ;#[N.s/m^2] Viscosity\n",
+ "Pr = 1.76 \t\t;# Prandtl Number\n",
+ "hfg = 2257*math.pow(10,3) ;#[J/kg] Specific Heat\n",
+ "si = 58.9*math.pow(10,-3) \t;#[N/m]\n",
+ "#Table A.6 Saturated water Vapor Properties T = 373 K\n",
+ "rhov = .5956 \t\t;#[kg/m^3] Density\n",
+ "\n",
+ "Te = Ts-Tsat;\n",
+ "#calculations\n",
+ "\n",
+ "#From Table 10.1\n",
+ "C = .0128;\n",
+ "n = 1.;\n",
+ "q = u*hfg*math.pow(g*(rhol-rhov)/si,.5)*math.pow((cp*Te/(C*hfg*math.pow(Pr,n))),3);\n",
+ "qs = q*math.pi*D*D/4.; \t\t\t#Boiling heat transfer rate\n",
+ " \n",
+ "m = qs/hfg; \t\t\t\t\t#Rate of evaporation\n",
+ "\n",
+ "qmax = .149*hfg*rhov*math.pow(si*g*(rhol-rhov)/(rhov*rhov),.25); \t#Critical heat flux\n",
+ "#results\n",
+ "\n",
+ "print '%s %.2f %s' %(\"\\n Boiling Heat transfer rate = \",qs/1000. ,\"kW\")\n",
+ "print '%s %d %s' %(\"\\n Rate of water evaporation due to boiling =\",m*3600 ,\"kg/h\")\n",
+ "print '%s %.2f %s' %(\"\\n Critical Heat flux corresponding to the burnout point =\",qmax/math.pow(10,6) ,\"MW/m^2\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Boiling Heat transfer rate = 59.13 kW\n",
+ "\n",
+ " Rate of water evaporation due to boiling = 94 kg/h\n",
+ "\n",
+ " Critical Heat flux corresponding to the burnout point = 1.26 MW/m^2\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.2 Page 635"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Power Dissipation per unith length for the cylinder, qs\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "Ts = 255+273. \t\t\t\t\t;#[K] Surface Temperature\n",
+ "Tsat = 100+273. \t\t\t\t\t;#[K] Saturated Temperature\n",
+ "D = 6*math.pow(10,-3) \t;#[m] Diameter of pan\n",
+ "e = 1 \t\t\t\t\t;# emissivity\n",
+ "stfncnstt=5.67*math.pow(10,(-8)) ;# [W/m^2.K^4] - Stefan Boltzmann Constant \n",
+ "g = 9.81 \t\t\t\t\t;#[m^2/s] gravitaional constant\n",
+ "#Table A.6 Saturated water Liquid Properties T = 373 K\n",
+ "rhol = 957.9 \t\t\t;#[kg/m^3] Density\n",
+ "hfg = 2257*math.pow(10,3) \t;#[J/kg] Specific Heat\n",
+ "#Table A.4 Water Vapor Properties T = 450 K\n",
+ "rhov = .4902 \t\t\t;#[kg/m^3] Density\n",
+ "cpv = 1.98*math.pow(10,3) ;#[J/kg.K] Specific Heat\n",
+ "kv = 0.0299 \t\t\t;#[W/m.K] Conductivity\n",
+ "uv = 15.25*math.pow(10,-6) ;#[N.s/m^2] Viscosity\n",
+ "#calculations\n",
+ "\n",
+ "Te = Ts-Tsat;\n",
+ "\n",
+ "hconv = .62*math.pow((kv*kv*kv*rhov*(rhol-rhov)*g*(hfg+.8*cpv*Te)/(uv*D*Te)),.25);\n",
+ "hrad = e*stfncnstt*(math.pow(Ts,4)-math.pow(Tsat,4))/(Ts-Tsat);\n",
+ "\n",
+ "#From eqn 10.9 h^(4/3) = hconv^(4/3) + hrad*h^(1/3)\n",
+ "#Newton Raphson\n",
+ "h=250.; \t\t\t\t\t\t#Initial Assumption\n",
+ "while 1>0 :\n",
+ "\tf = math.pow(h,(4./3.)) - (math.pow(hconv,(4./3.)) + math.pow(hrad*h,(1./3.)));\n",
+ "\tfd = (4./3.)*math.pow(h,(1./3.)) - (1./3.)*hrad*math.pow(h,(-2./3.));\n",
+ "\thn=h-f/fd;\n",
+ "\tz=math.pow(hn,(4./3.)) - (math.pow(hconv,(4./3.)) + math.pow(hrad*hn,(1./3.)))\n",
+ "\tif z < .01:\n",
+ "\t\tbreak;\n",
+ "\th=hn;\n",
+ "\n",
+ "q = h*math.pi*D*Te; \t\t\t\t#power dissipation\n",
+ "#results\n",
+ "\n",
+ "print '%s %d %s' %(\"\\n Power Dissipation per unith length for the cylinder, qs= \",q,\"W/m\");\n",
+ "print '%s' %(\"The answer is a bit different due to rounding off error\")\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Power Dissipation per unith length for the cylinder, qs= 730 W/m\n",
+ "The answer is a bit different due to rounding off error\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.3 Page 648"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Heat Transfer and Condensation Rates\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "Ts = 50+273. \t\t\t;#[K] Surface Temperature\n",
+ "Tsat = 100+273. \t\t\t;#[K] Saturated Temperature\n",
+ "D = .08 \t\t\t;#[m] Diameter of pan\n",
+ "g = 9.81 \t\t\t;#[m^2/s] gravitaional constant\n",
+ "L = 1 \t\t#[m] Length\n",
+ "#Table A.6 Saturated Vapor Properties p = 1.0133 bars\n",
+ "rhov = .596 \t\t;#[kg/m^3] Density\n",
+ "hfg = 2257*1000. \t;#[J/kg] Specific Heat\n",
+ "#Table A.6 Saturated water Liquid Properties T = 348 K\n",
+ "rhol = 975. \t\t;#[kg/m^3] Density\n",
+ "cpl = 4193. \t; #[J/kg.K] Specific Heat\n",
+ "kl = 0.668 \t;#[W/m.K] Conductivity\n",
+ "ul = 375*math.pow(10,-6) ;#[N.s/m^2] Viscosity\n",
+ "#calculations\n",
+ "\n",
+ "\n",
+ "uvl = ul/rhol \t;#[N.s.m/Kg] Kinematic viscosity\n",
+ "Ja = cpl*(Tsat-Ts)/hfg;\n",
+ "hfg2 = hfg*(1+.68*Ja);\n",
+ "\n",
+ "#Equation 10.43\n",
+ "Re = math.pow((3.70*kl*L*(Tsat-Ts)/(ul*hfg2*math.pow((uvl*uvl/g),.33334))+4.8),.82); #Reynolds number\n",
+ "\n",
+ "#From equation 10.41\n",
+ "hL = Re*ul*hfg2/(4*L*(Tsat-Ts)); \t\t#Transfer coefficient\n",
+ "q = hL*(math.pi*D*L)*(Tsat-Ts); \t\t#Heat transfer rate\n",
+ "\n",
+ "m = q/hfg;\t\t\t\t\t\t\t\t#Rate of condensation\n",
+ "#Using Equation 10.26\n",
+ "delta = math.pow((4*kl*ul*(Tsat-Ts)*L/(g*rhol*(rhol-rhov)*hfg2)),.25);\n",
+ "#results\n",
+ "\n",
+ "print '%s %.2f %s %.4f %s' %(\"\\n Heat Transfer Rate = \",q/1000.,\"kW and Condensation Rates=\",m,\" kg/s\"); \n",
+ "print '%s %.3f %s %.2f %s' %(\"\\n And as del(L)\", delta*1000,\"<< (D/2)\", D/2. ,\"m use of vertical cylinder correlation is justified\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Heat Transfer Rate = 66.62 kW and Condensation Rates= 0.0295 kg/s\n",
+ "\n",
+ " And as del(L) 0.218 << (D/2) 0.04 m use of vertical cylinder correlation is justified\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.4 Page 652"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Condensation rate per unit length of tubes\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "Ts = 25+273. \t\t\t\t\t;#[K] Surface Temperature\n",
+ "Tsat = 54+273. \t\t\t\t\t;#[K] Saturated Temperature\n",
+ "D = .006 \t\t\t\t\t; #[m] Diameter of pan\n",
+ "g = 9.81 \t\t\t\t\t;#[m^2/s] gravitaional constant\n",
+ "N = 20 \t\t\t\t# No of tubes\n",
+ "\n",
+ "#Table A.6 Saturated Vapor Properties p = 1.015 bar\n",
+ "rhov = .098 \t\t\t\t;#[kg/m^3] Density\n",
+ "hfg = 2373*1000. \t\t\t;#[J/kg] Specific Heat\n",
+ "#Table A.6 Saturated water Liquid Properties Tf = 312.5 K\n",
+ "rhol = 992. \t\t\t\t;#[kg/m^3] Density\n",
+ "cpl = 4178. \t\t\t;#[J/kg.K] Specific Heat\n",
+ "kl = 0.631 \t\t\t; #[W/m.K] Conductivity\n",
+ "ul = 663*math.pow(10,-6) \t; #[N.s/m^2] Viscosity\n",
+ "#calculations\n",
+ "\n",
+ "Ja = cpl*(Tsat-Ts)/hfg;\t\t\t\t\n",
+ "hfg2 = hfg*(1+.68*Ja); \t\t\t\t#Coefficient of condensation\n",
+ "#Equation 10.46\n",
+ "h = .729*math.pow((g*rhol*(rhol-rhov)*kl*kl*kl*hfg2/(N*ul*(Tsat-Ts)*D)),.25);\n",
+ "#Equation 10.34\n",
+ "m1 = h*(math.pi*D)*(Tsat-Ts)/hfg2;\t#Average condensation rate\n",
+ "\n",
+ "m = N*N*m1;\t\t\t\t\t\t\t#Rate per unit length\n",
+ "#results\n",
+ "\n",
+ "print '%s %.3f %s' %(\"\\n For the complete array of tubes, the condensation per unit length is\",m ,\" kg/s.m\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "EXAMPLE 10.4 Page 652 \n",
+ "\n",
+ "\n",
+ " For the complete array of tubes, the condensation per unit length is 0.463 kg/s.m\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_11.ipynb b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_11.ipynb
new file mode 100644
index 00000000..97945574
--- /dev/null
+++ b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_11.ipynb
@@ -0,0 +1,537 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Heat Exchangers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.1 Page 680 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Tube Length to achieve a desired hot fluid temperature\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "Tho = 60+273 \t\t\t\t\t\t\t;#[K] Hot Fluid outlet Temperature\n",
+ "Thi = 100+273 \t\t\t\t\t\t\t; #[K] Hot Fluid intlet Temperature\n",
+ "Tci = 30+273 \t\t\t\t\t\t\t;#[K] Cold Fluid intlet Temperature\n",
+ "mh = .1 \t\t\t\t\t\t\t;#[kg/s] Hot Fluid flow rate\n",
+ "mc = .2 \t\t\t\t\t\t\t;#[kg/s] Cold Fluid flow rate\n",
+ "Do = .045 \t\t\t\t\t\t\t;#[m] Outer annulus\n",
+ "Di = .025 \t\t\t\t\t\t\t;#[m] Inner tube\n",
+ "\n",
+ "#Table A.5 Engine Oil Properties T = 353 K\n",
+ "cph = 2131 \t\t\t\t\t;#[J/kg.K] Specific Heat\n",
+ "kh = .138 \t\t\t\t\t; #[W/m.K] Conductivity\n",
+ "uh = 3.25/100. \t\t\t\t\t; #[N.s/m^2] Viscosity\n",
+ "#Table A.6 Saturated water Liquid Properties Tc = 308 K\n",
+ "cpc = 4178 \t\t\t\t\t;#[J/kg.K] Specific Heat\n",
+ "kc = 0.625 \t\t\t\t\t; #[W/m.K] Conductivity\n",
+ "uc = 725*math.pow(10,-6) \t\t\t; #[N.s/m^2] Viscosity\n",
+ "Pr = 4.85 \t\t\t\t\t;#Prandtl Number\n",
+ "#calculations and results\n",
+ "\n",
+ "\n",
+ "q = mh*cph*(Thi-Tho); \t\t\t\t\t\t#Heat transferred\n",
+ "\n",
+ "Tco = q/(mc*cpc)+Tci;\n",
+ "\n",
+ "T1 = Thi-Tco;\n",
+ "T2 = Tho-Tci;\n",
+ "Tlm = (T1-T2)/(2.30*math.log10(T1/T2));\t\t#logarithmic mean temp. difference\n",
+ "\n",
+ "#Through Tube\n",
+ "Ret = 4*mc/(math.pi*Di*uc);\n",
+ "print '%s %.2f %s' %(\"\\n Flow through Tube has Reynolds Number as\", Ret,\" .Thus the flow is Turbulent\");\n",
+ "#Equation 8.60\n",
+ "Nut = .023*math.pow(Ret,.8)*math.pow(Pr,.4);#Nusselt number\n",
+ "hi = Nut*kc/Di;\n",
+ "\n",
+ "#Through Shell\n",
+ "Reo = 4*mh*(Do-Di)/(math.pi*uh*(Do*Do-Di*Di));\n",
+ "print '%s %.2f %s' %(\"\\n Flow through Tube has Reynolds Number as\",Reo,\". Thus the flow is Laminar\");\n",
+ "#Table 8.2\n",
+ "Nuo = 5.63;\n",
+ "ho = Nuo*kh/(Do-Di);\n",
+ "\n",
+ "U = 1./(1./hi+1./ho); \t\t\t\t\t\t#overall heat transfer coefficient\n",
+ "L = q/(U*math.pi*Di*Tlm); \t\t\t\t\t#Length\n",
+ "\n",
+ "print '%s %.2f' %(\"\\n Tube Length to achieve a desired hot fluid temperature is (m) = \",L);\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Flow through Tube has Reynolds Number as 14049.54 .Thus the flow is Turbulent\n",
+ "\n",
+ " Flow through Tube has Reynolds Number as 55.97 . Thus the flow is Laminar\n",
+ "\n",
+ " Tube Length to achieve a desired hot fluid temperature is (m) = 65.71\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.2 Page 683"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Exterior Dimensions of heat Exchanger\n",
+ "# Pressure drops within the plate-type Heat exchanger with N=60 gaps\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linspace\n",
+ "import matplotlib\n",
+ "from matplotlib import pyplot\n",
+ "#Operating Conditions\n",
+ "Tho = 60.+273 \t\t\t;#[K] Hot Fluid outlet Temperature\n",
+ "Thi = 100.+273 \t\t\t;#[K] Hot Fluid intlet Temperature\n",
+ "Tci = 30.+273 \t\t\t;#[K] Cold Fluid intlet Temperature\n",
+ "mh = .1 \t\t\t;#[kg/s] Hot Fluid flow rate\n",
+ "mc = .2 \t\t\t;#[kg/s] Cold Fluid flow rate\n",
+ "Do = .045 \t\t\t;#[m] Outer annulus\n",
+ "Di = .025 \t\t\t;#[m] Inner tube\n",
+ "\n",
+ "#Table A.5 Engine Oil Properties T = 353 K\n",
+ "cph = 2131 \t;#[J/kg.K] Specific Heat\n",
+ "kh = .138 \t;#[W/m.K] Conductivity\n",
+ "uh = 3.25/100. \t;#[N.s/m^2] Viscosity\n",
+ "rhoh = 852.1 \t;#[kg/m^3] Density\n",
+ "#Table A.6 Saturated water Liquid Properties Tc = 308 K\n",
+ "cpc = 4178 \t;#[J/kg.K] Specific Heat\n",
+ "kc = 0.625 \t;#[W/m.K] Conductivity\n",
+ "uc = 725*math.pow(10,-6) ;#[N.s/m^2] Viscosity\n",
+ "Pr = 4.85 \t;#Prandtl Number\n",
+ "rhoc = 994 \t;#[kg/m^3] Density\n",
+ "#calculations\n",
+ "\n",
+ "q = mh*cph*(Thi-Tho); \t\t#Heat required\n",
+ "\n",
+ "Tco = q/(mc*cpc)+Tci;\n",
+ "\n",
+ "T1 = Thi-Tco;\n",
+ "T2 = Tho-Tci;\n",
+ "Tlm = (T1-T2)/(2.30*math.log10(T1/T2));\n",
+ "N=numpy.zeros(61)\n",
+ "for i in range (0,60):\n",
+ "\tN[i]=i+20;\n",
+ "\n",
+ "L = numpy.zeros(61)\n",
+ "for i in range (0,60):\n",
+ "\ta=float(N[i]);\n",
+ "\tL[i] = q/Tlm*(1./(7.54*kc/2.)+1/(7.54*kh/2.))/(a*a-a);\n",
+ "\n",
+ "pyplot.plot(N,L);\n",
+ "pyplot.xlabel(\"L (m)\");\n",
+ "pyplot.ylabel('Number of Gaps(N)')\n",
+ "pyplot.show()\n",
+ "#Close the graph to complete the execution\n",
+ "N2 = 60;\n",
+ "L = q/((N2-1)*N2*Tlm)*(1./(7.54*kc/2.)+1/(7.54*kh/2.));\n",
+ "a = L/N2;\n",
+ "Dh = 2*a \t\t\t;#Hydraulic Diameter [m]\n",
+ "#For water filled gaps\n",
+ "umc = mc/(rhoc*L*L/2.);\n",
+ "Rec = rhoc*umc*Dh/uc;\n",
+ "#For oil filled gaps\n",
+ "umh = mh/(rhoh*L*L/2.);\n",
+ "Reh = rhoh*umh*Dh/uh;\n",
+ "print '%s %.2f %s %.2f %s' %(\"\\n Flow of the fluids has Reynolds Number as\",Reh,\" & \",Rec,\" Thus the flow is Laminar for both\");\n",
+ "\n",
+ "#Equations 8.19 and 8.22a\n",
+ "delpc = 64/Rec*rhoc/2*umc*umc/Dh*L ;#For water\n",
+ "delph = 64/Reh*rhoh/2*umh*umh/Dh*L ;#For oil\n",
+ "\n",
+ "#For example 11.1\n",
+ "L1 = 65.9;\n",
+ "Dh1c = .025;\n",
+ "Dh1h = .02;\n",
+ "Ret = 4*mc/(math.pi*Di*uc);\n",
+ "f = math.pow((.790*2.30*math.log10(Ret)-1.64),-2) ;#friction factor through tube Eqn 8.21\n",
+ "umc1 = 4*mc/(rhoc*math.pi*Di*Di);\n",
+ "delpc1 = f*rhoc/2*umc1*umc1/Dh1c*L1;\n",
+ "Reo = 4*mh*(Do-Di)/(math.pi*uh*(Do*Do-Di*Di));\t\t \t#Reynolds number\n",
+ "umh1 = 4*mh/(rhoh*math.pi*(Do*Do-Di*Di));\n",
+ "delph1 = 64/Reo*rhoh/2*umh1*umh1/Dh1h*L1;\n",
+ "#results\n",
+ "\n",
+ "print '%s %.3f %s' %(\"\\n Exterior Dimensions of heat Exchanger L =\",L,\"m\");\n",
+ "print '%s %.3f %s' %(\"\\n Pressure drops within the plate-type Heat exchanger with N=60 gaps\\n For water = \", delpc,\" N/m^2\") \n",
+ "print '%s %.3f %s' %(\" For oil = \",delph,\" N/m^2\\n \")\n",
+ "print '%s %.3f %s' %(\"Pressure drops tube Heat exchanger of example 11.1\\n For water = \",delpc1 ,\"N/m^2\") \n",
+ "print '%s %.3f %s' %(\"\\n For oil =\",delph1,\" N/m^2\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Flow of the fluids has Reynolds Number as 1.57 & 140.77 Thus the flow is Laminar for both\n",
+ "\n",
+ " Exterior Dimensions of heat Exchanger L = 0.131 m\n",
+ "\n",
+ " Pressure drops within the plate-type Heat exchanger with N=60 gaps\n",
+ " For water = 3.768 N/m^2\n",
+ " For oil = 98.523 N/m^2\n",
+ " \n",
+ "Pressure drops tube Heat exchanger of example 11.1\n",
+ " For water = 6331.255 N/m^2\n",
+ "\n",
+ " For oil = 18287.329 N/m^2\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.3 Page 692"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# Required gas side surface area\n",
+ "\n",
+ "#Operating Conditions\n",
+ "Tho = 100+273. \t\t\t\t;#[K] Hot Fluid outlet Temperature\n",
+ "Thi = 300+273. \t\t\t\t;#[K] Hot Fluid intlet Temperature\n",
+ "Tci = 35+273. \t\t\t\t;#[K] Cold Fluid intlet Temperature\n",
+ "Tco = 125+273. \t\t\t\t; #[K] Cold Fluid outlet Temperature\n",
+ "mc = 1 \t\t\t\t;#[kg/s] Cold Fluid flow rate\n",
+ "Uh = 100 \t\t\t\t;#[W/m^2.K] Coefficient of heat transfer\n",
+ "#Table A.5 Water Properties T = 353 K\n",
+ "cph = 1000 \t\t\t\t;#[J/kg.K] Specific Heat\n",
+ "#Table A.6 Saturated water Liquid Properties Tc = 308 K\n",
+ "cpc = 4197 \t\t\t\t;#[J/kg.K] Specific Heat\n",
+ "#calculations\n",
+ "\n",
+ "Cc = mc*cpc;\n",
+ "#Equation 11.6b and 11.7b\n",
+ "Ch = Cc*(Tco-Tci)/(Thi-Tho);\n",
+ "# Equation 11.18\n",
+ "qmax = Ch*(Thi-Tci); \t\t\t#Max. heat\n",
+ "#Equation 11.7b \n",
+ "q = mc*cpc*(Tco-Tci); \t\t\t#Heat available\n",
+ "\n",
+ "e = q/qmax; \n",
+ "ratio = Ch/Cc; \n",
+ "#results\n",
+ "\n",
+ "print '%s %.2f %s %.2f' %(\"\\n As effectiveness is\", e,\" with Ratio Cmin/Cmax =\", ratio);\n",
+ "print '%s' %(\", It follows from figure 11.14 that NTU = 2.1\");\n",
+ "NTU = 2.1; \t\t\t\t\t\t#No. of transfer units\n",
+ "A = 2.1*Ch/Uh;\n",
+ "\n",
+ "print '%s %.2f' %(\"\\n Required gas side surface area (m^2) = \",A);\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " As effectiveness is 0.75 with Ratio Cmin/Cmax = 0.45\n",
+ ", It follows from figure 11.14 that NTU = 2.1\n",
+ "\n",
+ " Required gas side surface area (m^2) = 39.66\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.4 Page 695"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Heat Transfer Rate and Fluid Outlet Temperatures\n",
+ "\n",
+ "#Operating Conditions\n",
+ "Thi = 250+273. \t\t\t;#[K] Hot Fluid intlet Temperature\n",
+ "Tci = 35+273. \t\t\t;#[K] Cold Fluid intlet Temperature\n",
+ "mc = 1 \t\t\t;#[kg/s] Cold Fluid flow rate\n",
+ "mh = 1.5 \t\t\t; #[kg/s] Hot Fluid flow rate\n",
+ "Uh = 100 \t\t \t\t;#[W/m^2.K] Coefficient of heat transfer\n",
+ "Ah = 40 \t\t\t; #[m^2] Area\n",
+ "#Table A.5 Water Properties T = 353 K\n",
+ "cph = 1000. \t\t\t;#[J/kg.K] Specific Heat\n",
+ "#Table A.6 Saturated water Liquid Properties Tc = 308 K\n",
+ "cpc = 4197. \t\t\t;#[J/kg.K] Specific Heat\n",
+ "#calculations\n",
+ "\n",
+ "Cc = mc*cpc;\n",
+ "Ch = mh*cph;\n",
+ "Cmin = Ch;\n",
+ "Cmax = Cc;\n",
+ "\n",
+ "NTU = Uh*Ah/Cmin;\t\t\t#No.of transfer units\n",
+ "ratio = Cmin/Cmax;\n",
+ "#results\n",
+ "\n",
+ "print '%s %.2f' %(\"\\n As Ratio Cmin/Cmax =\", ratio)\n",
+ "print '%s %.2f' %(\"and Number of transfer units NTU =\", NTU)\n",
+ "print '%s' %(\", It follows from figure 11.14 that e = .82\");\n",
+ "e = 0.82;\n",
+ "qmax = Cmin*(Thi-Tci);\t\t#Max. heat transferred\n",
+ "q = e*qmax; \t\t\t\t#Actual heat transferred\n",
+ "\n",
+ "#Equation 11.6b\n",
+ "Tco = q/(mc*cpc) + Tci;\n",
+ "#Equation 11.7b\n",
+ "Tho = -q/(mh*cph) + Thi;\n",
+ "print '%s %.2e %s' %(\"\\n Heat Transfer Rate =\",q,\" W \")\n",
+ "print '%s %.1f %s' %(\"\\n Fluid Outlet Temperatures Hot Fluid (Tho) =\" ,Tho-273,\"degC\") \n",
+ "print '%s %.2f %s'\t%(\"Cold Fluid (Tco) =\", Tco-273,\"degC\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " As Ratio Cmin/Cmax = 0.36\n",
+ "and Number of transfer units NTU = 2.67\n",
+ ", It follows from figure 11.14 that e = .82\n",
+ "\n",
+ " Heat Transfer Rate = 2.64e+05 W \n",
+ "\n",
+ " Fluid Outlet Temperatures Hot Fluid (Tho) = 73.7 degC\n",
+ "Cold Fluid (Tco) = 98.01 degC\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.5 Page 696"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Outlet Temperature of cooling Water\n",
+ "# Tube length per pass to achieve required heat transfer\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "q = 2*math.pow(10,9) \t \t\t\t;#[W] Heat transfer Rate\n",
+ "ho = 11000. \t\t\t\t\t\t;#[W/m^2.K] Coefficient of heat transfer for outer surface\n",
+ "Thi = 50+273. \t\t\t\t\t\t;#[K] Hot Fluid Condensing Temperature\n",
+ "Tho = Thi \t\t\t\t\t\t\t;#[K] Hot Fluid Condensing Temperature\n",
+ "Tci = 20+273. \t\t\t\t\t\t;#[K] Cold Fluid intlet Temperature\n",
+ "mc = 3*math.pow(10,4) \t\t\t\t;#[kg/s] Cold Fluid flow rate\n",
+ "m = 1 \t\t\t\t\t\t;#[kg/s] Cold Fluid flow rate per tube\n",
+ "D = .025 \t\t\t\t\t\t;#[m] diameter of tube\n",
+ "#Table A.6 Saturated water Liquid Properties Tf = 300 K\n",
+ "rho = 997 \t\t\t\t\t\t;#[kg/m^3] Density\n",
+ "cp = 4179 \t\t\t\t\t\t;#[J/kg.K] Specific Heat\n",
+ "k = 0.613 \t\t\t\t\t\t;#[W/m.K] Conductivity\n",
+ "u = 855*math.pow(10,-6) \t\t\t\t;#[N.s/m^2] Viscosity\n",
+ "Pr = 5.83 \t\t\t\t\t\t;# Prandtl number\n",
+ "#calculations and results\n",
+ "\n",
+ "#Equation 11.6b\n",
+ "Tco = q/(mc*cp) + Tci;\n",
+ "\n",
+ "Re = 4*m/(math.pi*D*u);\n",
+ "print '%s %.2f' %(\"\\n As the Reynolds number of tube fluid is\", Re)\n",
+ "print '%s' %(\". Hence the flow is turbulent. Hence using Diettus-Boetllor Equation 8.60\");\n",
+ "Nu = .023*math.pow(Re,.8)*math.pow(Pr,.4);\n",
+ "hi = Nu*k/D;\t\t\t\t\t\t\t#Heat transfer coefficient\n",
+ "U = 1/(1/ho + 1/hi); \t\t\t\t\t#Overall heat transfer coefficient\n",
+ "N = 30000. \t\t\t\t\t;#No of tubes\n",
+ "T1 = Thi-Tco;\n",
+ "T2 = Tho-Tci;\n",
+ "Tlm = (T1-T2)/(2.30*math.log10(T1/T2));#Logarithmic mean temp. difference\n",
+ "L2 = q/(U*N*2*math.pi*D*Tlm);\n",
+ "\n",
+ "\n",
+ "print '%s %.1f %s' %(\"\\n Outlet Temperature of cooling Water = \",Tco-273,\" degC\")\n",
+ "print '%s %.2f %s' %(\"\\n Tube length per pass to achieve required heat transfer =\",L2,\" m\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " As the Reynolds number of tube fluid is 59566.76\n",
+ ". Hence the flow is turbulent. Hence using Diettus-Boetllor Equation 8.60\n",
+ "\n",
+ " Outlet Temperature of cooling Water = 36.0 degC\n",
+ "\n",
+ " Tube length per pass to achieve required heat transfer = 4.51 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.6 Page 702"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Gas-side overall heat transfer coefficient. Heat exchanger Volume\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "hc = 1500. \t\t\t\t\t\t\t\t;#[W/m^2.K] Coefficient of heat transfer for outer surface\n",
+ "hi = hc;\n",
+ "Th = 825. \t\t\t\t\t\t\t\t\t;#[K] Hot Fluid Temperature\n",
+ "Tci = 290. \t\t\t\t\t\t\t\t\t;#[K] Cold Fluid intlet Temperature\n",
+ "Tco = 370. \t\t\t\t\t\t\t\t\t;#[K] Cold Fluid outlet Temperature\n",
+ "mc = 1 \t\t\t\t\t\t\t\t;#[kg/s] Cold Fluid flow rate\n",
+ "mh = 1.25 \t\t\t\t\t \t\t\t;#[kg/s] Hot Fluid flow rate\n",
+ "Ah = .20 \t\t\t\t\t\t\t;#[m^2] Area of tubes\n",
+ "Di = .0138 \t\t\t\t\t\t\t\t;#[m] diameter of tube\n",
+ "Do = .0164 \t\t\t\t\t\t\t\t;#[m] Diameter\n",
+ "#Table A.6 Saturated water Liquid Properties Tf = 330 K\n",
+ "cpw = 4184. \t\t\t\t\t\t\t;#[J/kg.K] Specific Heat\n",
+ "#Table A.1 Aluminium Properties T = 300 K\n",
+ "k = 237 \t\t\t\t\t\t\t;#[W/m.K] Conductivity\n",
+ "#Table A.4 Air Properties Tf = 700 K\n",
+ "cpa = 1075 \t\t\t\t\t\t\t\t;#[J/kg.K] Specific Heat\n",
+ "u = 33.88*math.pow(10,-6) \t\t\t\t\t;#[N.s/m^2] Viscosity\n",
+ "Pr = .695 \t\t\t\t\t\t\t\t;# Prandtl number\n",
+ "#calculations\n",
+ "\n",
+ "#Geometric Considerations\n",
+ "si = .449;\n",
+ "Dh = 6.68*math.pow(10,-3) \t\t\t\t;#[m] hydraulic diameter\n",
+ "G = mh/si/Ah;\n",
+ "Re = G*Dh/u; \t\t\t\t\t\t\t\t\t#Reynolds number\n",
+ "#From Figure 11.16\n",
+ "jh = .01;\n",
+ "hh = jh*G*cpa/math.pow(Pr,.66667); \t\t\t\t#Heat transfer coefficient\n",
+ "\n",
+ "AR = Di*2.303*math.log10(Do/Di)/(2*k*(.143));\t#Area of cross section\n",
+ "#Figure 11.16\n",
+ "AcAh = Di/Do*(1-.830);\n",
+ "#From figure 3.19\n",
+ "nf = .89;\n",
+ "noh = 1-(1-.89)*.83;\n",
+ "\n",
+ "U = 1/(1/(hc*AcAh) + AR + 1/(noh*hh));\t\t\t#Overall heat transfer coefficient\n",
+ "\n",
+ "Cc = mc*cpw;\n",
+ "q = Cc*(Tco-Tci); \t\t\t\t\t\t\t\t#Heat released\n",
+ "Ch = mh*cpa;\n",
+ "qmax = Ch*(Th-Tci); \t\t\t\t\t\t\t#MAx. heat transferred\n",
+ "e = q/qmax;\n",
+ "ratio = Ch/Cc;\n",
+ "#results\n",
+ "\n",
+ "print '%s %.2f %s %.2f' %(\"\\n As effectiveness is\",e,\" with Ratio Cmin/Cmax = \",ratio)\n",
+ "print '%s' %(\", It follows from figure 11.14 that NTU = .65\");\n",
+ "NTU = .65;\n",
+ "A = NTU*Ch/U; \t\t\t\t\t\t\t\t\t#Area of cross section\n",
+ "#From Fig 11.16\n",
+ "al = 269.; \t\t\t\t\t\t\t#[m^-1] gas side area per unit heat wxchanger volume\n",
+ "V = A/al;\n",
+ "#Answers may vary a bit due to rounding off errors.!\n",
+ "print '%s %.2f %s' %(\"\\n Gas-side overall heat transfer coefficient.r =\", U , \"W/m^2.K\")\n",
+ "print '%s %.3f %s' %(\" \\n Heat exchanger Volume = \",V,\" m^3\");\n",
+ "#END;"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " As effectiveness is 0.47 with Ratio Cmin/Cmax = 0.32\n",
+ ", It follows from figure 11.14 that NTU = .65\n",
+ "\n",
+ " Gas-side overall heat transfer coefficient.r = 95.55 W/m^2.K\n",
+ " \n",
+ " Heat exchanger Volume = 0.034 m^3\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_12.ipynb b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_12.ipynb
new file mode 100644
index 00000000..25268933
--- /dev/null
+++ b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_12.ipynb
@@ -0,0 +1,767 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Radiation: Processes and Properties"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.1 Page 731 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "import math\n",
+ "# a) Intensity of emission in each of the three directions\n",
+ "# b) Solid angles subtended by the three surfaces\n",
+ "# c) Rate at which radiation is intercepted by the three surfaces\n",
+ "\n",
+ "A1 = .001\t\t;#[m^2] Area of emitter\n",
+ "In = 7000\t\t;#[W/m^2.Sr] Intensity of radiation in normal direction\n",
+ "A2 = .001\t\t;#[m^2] Area of other intercepting plates\n",
+ "A3 = A2\t\t\t;#[m^2] Area of other intercepting plates\n",
+ "A4 = A2\t\t\t;#[m^2] Area of other intercepting plates\n",
+ "r = .5\t\t\t;#[m] Distance of each plate from emitter\n",
+ "theta1 = 60.\t;#[deg] Angle between surface 1 normal & direction of radiation to surface 2\n",
+ "theta2 = 30.\t;#[deg] Angle between surface 2 normal & direction of radiation to surface 1\n",
+ "theta3 = 45.\t;#[deg] Angle between surface 1 normal & direction of radiation to surface 4\n",
+ "#calculations\n",
+ "\n",
+ "#From equation 12.2\n",
+ "w31 = A3/(r*r);\n",
+ "w41 = w31;\n",
+ "w21 = A2*math.cos(theta2*0.0174532925)/(r*r);\n",
+ "\n",
+ "\n",
+ "#From equation 12.6\n",
+ "q12 = In*A1*math.cos(theta1*0.0174532925)*w21;\n",
+ "q13 = In*A1*math.cos(0*math.pi/180.)*w31;\n",
+ "q14 = In*A1*math.cos(theta3*0.0174532925)*w41;\n",
+ "#results\n",
+ "\n",
+ "print '%s %d %s' %(\"\\n (a) As Intensity of emitted radiation is independent of direction, for each of the three directions I = \",In,\"W/m^2.sr\")\n",
+ "print '%s' %(\"\\n\\n (b) By the Three Surfaces\\n Solid angles subtended Rate at which radiation is intercepted \\n\")\n",
+ "print '%s %.2e %s' %(\"w4-1 =\",w41,\" sr\")\n",
+ "print '%s %.2e %s' %(\"\\t \\t \\t \\t \\t \\t q1-4 =\",q14,\" W\") \n",
+ "print '%s %.2e %s' %(\"\\nw3-1 = \",w31,\" sr\")\n",
+ "print '%s %.2e %s' %(\"\\t \\t \\t \\t \\t \\t q1-3 =\",q13,\" W\")\n",
+ "print '%s %.2e %s' %(\"\\n w2-1 = \",w21,\" sr\")\n",
+ "print '%s %.2e %s' %(\"\\t \\t \\t \\t \\t \\tq1-2 = \",q12,\" W \");\n",
+ "#END\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " (a) As Intensity of emitted radiation is independent of direction, for each of the three directions I = 7000 W/m^2.sr\n",
+ "\n",
+ "\n",
+ " (b) By the Three Surfaces\n",
+ " Solid angles subtended Rate at which radiation is intercepted \n",
+ "\n",
+ "w4-1 = 4.00e-03 sr\n",
+ "\t \t \t \t \t \t q1-4 = 1.98e-02 W\n",
+ "\n",
+ "w3-1 = 4.00e-03 sr\n",
+ "\t \t \t \t \t \t q1-3 = 2.80e-02 W\n",
+ "\n",
+ " w2-1 = 3.46e-03 sr\n",
+ "\t \t \t \t \t \tq1-2 = 1.21e-02 W \n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.2 Page 734"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "%pylab inline\n",
+ "# Total Irradiation\n",
+ "#calculations\n",
+ "\n",
+ "x=([0, 5, 20, 25]);\n",
+ "y=([0, 1000, 1000, 0]);\n",
+ "\n",
+ "plt.plot(x,y);\n",
+ "plt.xlabel(\"Spectral Distribution\")\n",
+ "plt.ylabel(\"wavelength (micro-m)\")\n",
+ "#By Equation 12.4\n",
+ "G = 1000*(5-0)/2. +1000*(20-5)+1000*(25-20)/2.;\n",
+ "#results\n",
+ "\n",
+ "print '%s %d %s' %(\"\\n G =\",G,\" W/m^2\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Populating the interactive namespace from numpy and matplotlib\n",
+ "\n",
+ " G = 20000 W/m^2"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nagAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x391dbd0>"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.3 Page 741"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "import math\n",
+ "# Spectral Emissive Power of a small aperture on the enclosure\n",
+ "# wavelengths below which and above which 10% of the radiation is concentrated\n",
+ "# Spectral emissive power and wavelength associated with maximum emission\n",
+ "# Irradiation on a small object inside the enclosure\n",
+ "\n",
+ "T = 2000.\t\t\t\t\t\t\t\t;#[K] temperature of surface\n",
+ "stfncnstt = 5.67*math.pow(10,-8)\t\t;#[W/m^2.K^4] Stefan-Boltzmann constant\n",
+ "E = stfncnstt*T*T*T*T; \t\t\t#[W/m^2]\n",
+ "#calculations\n",
+ "\n",
+ "#From Table 12.1 \n",
+ "constt1 = 2195. ; \t\t\t\t\t#[micro-m.K]\n",
+ "wl1 = constt1/T;\n",
+ "#From Table 12.1 \n",
+ "constt2 = 9382. ; \t\t\t\t\t#[micro-m.K]\n",
+ "wl2 = constt2/T;\n",
+ "\n",
+ "#From Weins Law, wlmax*T = consttmax = 2898 micro-m.K\n",
+ "consttmax = 2898 \t\t\t\t;#micro-m.K\n",
+ "wlmax = consttmax/T;\n",
+ "#from Table 12.1 at wlmax = 1.45 micro-m.K and T = 2000 K\n",
+ "I = .722*stfncnstt*T*T*T*T*T/10000.;\n",
+ "Eb = math.pi*I;\n",
+ "\n",
+ "G = E; #[W/m^2] Irradiation of any small object inside the enclosure is equal to emission from blackbody at enclosure temperature\n",
+ "#results\n",
+ "\n",
+ "print '%s %.2e %s' %(\"\\n (a) Spectral Emissive Power of a small aperture on the enclosure =\",E,\" W/m^2.Sr for each of the three directions\")\n",
+ "print '%s %.1f %s' %(\"\\n (b) Wavelength below which 10percent of the radiation is concentrated = \",wl1,\" micro-m \\n\") \n",
+ "print '%s %.2f %s' %(\" Wavelength above which 10percent of the radiation is concentrated = \",wl2,\" micro-m \\n\")\n",
+ "print '%s %.2e %s %.2e %s' %(\"(c) Spectral emissive power and wavelength associated with maximum emission is \",Eb,\"micro-m and\",wlmax,\" W/m^2.micro-m respectively\")\n",
+ "print '%s %.2e %s' %(\"\\n (d) Irradiation on a small object inside the enclosure =\",G,\"W/m^2\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " (a) Spectral Emissive Power of a small aperture on the enclosure = 9.07e+05 W/m^2.Sr for each of the three directions\n",
+ "\n",
+ " (b) Wavelength below which 10percent of the radiation is concentrated = 1.1 micro-m \n",
+ "\n",
+ " Wavelength above which 10percent of the radiation is concentrated = 4.69 micro-m \n",
+ "\n",
+ "(c) Spectral emissive power and wavelength associated with maximum emission is 4.12e+05 micro-m and 1.45e+00 W/m^2.micro-m respectively\n",
+ "\n",
+ " (d) Irradiation on a small object inside the enclosure = 9.07e+05 W/m^2\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.4 Page 743 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "import math\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "# Rate of emission per unit area over all directions between 0 degC and 60 degC and over all wavelengths between wavelengths 2 and 4 micro-m\n",
+ "\n",
+ "T = 1500.\t\t\t\t\t\t\t\t;#[K] temperature of surface\n",
+ "stfncnstt = 5.67*math.pow(10,-8)\t\t;#[W/m^2.K^4] Stefan-Boltzmann constant\n",
+ "#calculations\n",
+ "\n",
+ "#From Equation 12.26 Black Body Radiation\n",
+ "Eb = stfncnstt*T*T*T*T; \t\t\t#[W/m^2]\n",
+ "\n",
+ "#From Table 12.1 as wl1*T = 2*1500 (micro-m.K)\n",
+ "F02 = .273;\n",
+ "#From Table 12.1 as wl2*T = 4*1500 (micro-m.K)\n",
+ "F04 = .738;\n",
+ "def func(x):\n",
+ "\tfunc = 2*math.cos(x) *math.sin(x)\n",
+ "\treturn func;\n",
+ "\n",
+ "#From equation 12.10 and 12.11\n",
+ "i1 = scipy.integrate.quad(func,0,math.pi/3.);\n",
+ "delE = i1[0] *(F04-F02)*Eb;\n",
+ "#results\n",
+ "\n",
+ "print '%s %.2e %s' %(\"\\n Rate of emission per unit area over all directions between 0 degC and 60 degC and over all wavelengths between wavelengths 2 micro-m and 4 micro-m =\",delE,\" W/m^2\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Rate of emission per unit area over all directions between 0 degC and 60 degC and over all wavelengths between wavelengths 2 micro-m and 4 micro-m = 1.00e+05 W/m^2\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.5 Page 748"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "import math\n",
+ "# Total hemispherical emissivity\n",
+ "# Total emissive Power\n",
+ "# Wavelength at which spectral emissive power will be maximum\n",
+ "\n",
+ "T = 1600.\t\t\t\t\t\t\t\t;#[K] temperature of surface\n",
+ "wl1 = 2 \t\t\t\t\t\t;#[micro-m] wavelength 1\n",
+ "wl2 = 5 \t\t\t\t\t\t;#[micro-m] wavelength 2\n",
+ "stfncnstt = 5.67*math.pow(10,-8);\t\t#[W/m^2.K^4] Stefan-Boltzmann constant\n",
+ "# From the given graph of emissivities\n",
+ "e1 = .4;\n",
+ "e2 = .8;\n",
+ "#calculations\n",
+ "\n",
+ "#From Equation 12.26 Black Body Radiation\n",
+ "Eb = stfncnstt*T*T*T*T; \t \t\t#[W/m^2]\n",
+ "\n",
+ "#Solution (A)\n",
+ "#From Table 12.1 as wl1*T = 2*1600 (micro-m.K)\n",
+ "F02 = .318;\n",
+ "#From Table 12.1 as wl2*T = 5*1600 (micro-m.K)\n",
+ "F05 = .856;\n",
+ "#From Equation 12.36\n",
+ "e = e1*F02 + e2*(F05 - F02);\n",
+ "\n",
+ "#Solution (B)\n",
+ "#From equation 12.35\n",
+ "E = e*Eb;\n",
+ "\n",
+ "#Solution (C)\n",
+ "#For maximum condition Using Weins Law\n",
+ "consttmax = 2898. \t\t\t\t;#[micro-m.K]\n",
+ "wlmax = consttmax/T;\n",
+ "\n",
+ "#equation 12.32 with Table 12.1\n",
+ "E1 = math.pi*e1*.722*stfncnstt*T*T*T*T*T/10000.;\n",
+ "\n",
+ "E2 = math.pi*e2*.706*stfncnstt*T*T*T*T*T/10000.;\n",
+ "#results\n",
+ "\n",
+ "print '%s %.3f' %(\"\\n (a) Total hemispherical emissivity =\",e)\n",
+ "print '%s %d %s' %(\"\\n (b) Total emissive Power =\",E/1000. ,\" kW/m^2\")\n",
+ "print '%s %.1f %s %.1f %s ' %(\"\\n (c) Emissive Power at wavelength 2micro-m is greater than Emissive power at maximum wavelength \\n i.e.\",E2/1000.,\" kW/m^2 >\",E1/1000.,\" kW/m^2\")\n",
+ "print '%s %d %s' %(\"\\n Thus, Peak emission occurs at\",wl1,\"micro-m\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " (a) Total hemispherical emissivity = 0.558\n",
+ "\n",
+ " (b) Total emissive Power = 207 kW/m^2\n",
+ "\n",
+ " (c) Emissive Power at wavelength 2micro-m is greater than Emissive power at maximum wavelength \n",
+ " i.e. 105.5 kW/m^2 > 53.9 kW/m^2 \n",
+ "\n",
+ " Thus, Peak emission occurs at 2 micro-m\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.6 Page 751"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "import math\n",
+ "import scipy\n",
+ "from scipy import integrate\n",
+ "# Spectral , Normal emissivity en and spectral hemispherical emissivity e\n",
+ "# Spectral normal intensity In and Spectral emissive power\n",
+ "\n",
+ "T = 2000.\t\t\t\t\t\t\t\t;#[K] temperature of surface\n",
+ "wl = 1 \t\t\t\t\t\t;#[micro-m] wavelength \n",
+ "stfncnstt = 5.67*math.pow(10,-8);\t\t#[W/m^2.K^4] Stefan-Boltzmann constant\n",
+ "\n",
+ "# From the given graph of emissivities\n",
+ "e1 = .3;\n",
+ "e2 = .6;\n",
+ "#calculations\n",
+ "\n",
+ "#From Equation 12.26 Black Body Radiation\n",
+ "Eb = stfncnstt*T*T*T*T; \t\t\t\t\t\t#[W/m^2]\n",
+ "def func1(x):\n",
+ "\tfunc1=e1*math.cos(x) *math.sin(x);\n",
+ "\treturn func1;\n",
+ "\n",
+ "def func2(x):\n",
+ "\tfunc2=e2*math.cos(x) *math.sin(x);\n",
+ "\treturn func2;\n",
+ "\n",
+ "#Equation 12.34\n",
+ "i1 = scipy.integrate.quad(func1,0,math.pi/3.);\n",
+ "i2 = scipy.integrate.quad(func2,math.pi/3. ,4*math.pi/9.);\n",
+ "e = 2*(i1[0]+i2[0]);\n",
+ "\n",
+ "# From Table 12.1 at wl = 1 micro-m and T = 2000 K.\n",
+ "\n",
+ "I = .493*math.pow(10,-4) * stfncnstt*T*T*T*T*T ;#[W/m^2.micro-m.sr]\n",
+ "\n",
+ "In = e1*I;\n",
+ "\n",
+ "#Using Equation 12.32 for wl = 1 micro-m and T = 2000 K\n",
+ "E = e*math.pi*I;\n",
+ "#results\n",
+ "\n",
+ "print '%s %.1f' %('\\n Spectral Normal emissivity en =',e1)\n",
+ "print '%s %.2f' %('and spectral hemispherical emissivity e = ',e)\n",
+ "print '%s %.2e %s' %('\\n Spectral normal intensity In =',In,' W/m^2.micro-m.sr')\n",
+ "print '%s %.1e %s' % ('and Spectral emissive power =',E,' W/m^2.micro-m.sr ');"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Spectral Normal emissivity en = 0.3\n",
+ "and spectral hemispherical emissivity e = 0.36\n",
+ "\n",
+ " Spectral normal intensity In = 2.68e+04 W/m^2.micro-m.sr\n",
+ "and Spectral emissive power = 1.0e+05 W/m^2.micro-m.sr \n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.7 Page 759"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "import math\n",
+ "import matplotlib\n",
+ "from matplotlib import pyplot\n",
+ "%pylab inline\n",
+ "# Spectral distribution of reflectivity\n",
+ "# Total, hemispherical absorptivity\n",
+ "# Nature of surface temperature change\n",
+ "\n",
+ "T = 500.\t\t\t\t\t\t\t\t;#[K] temperature of surface\n",
+ "e = .8;\n",
+ "stfncnstt = 5.67*math.pow(10,-8);\t\t#[W/m^2.K^4] Stefan-Boltzmann constant\n",
+ "#calculations\n",
+ "\n",
+ "x=([0, 6, 8, 16]);\n",
+ "y=([.8, .8, 0, 0]);\n",
+ "\n",
+ "pyplot.xlabel(\"Spectral Distribution of reflectivity\")\n",
+ "pyplot.ylabel(\"wavelength (micro-m)\");\n",
+ "pyplot.plot(x,y);\n",
+ "pyplot.show();\n",
+ "\n",
+ "\n",
+ "#From equation 12.43 and 12.44\n",
+ "Gabs = (.2*500/2.*(6.-2.)+500*(.2*(8.-6.)+(1.-.2)*(8.-6.)/2.)+1*500*(12.-8.)+500*(16.-12.)/2.) ;#[w/m^2]\n",
+ "G = (500*(6.-2.)/2.+500*(12.-6.)+500*(16.-12.)/2.) \t\t\t\t\t\t\t\t\t;#[w/m^2]\n",
+ "a = Gabs/G;\n",
+ "\n",
+ "#Neglecting convection effects net het flux to the surface\n",
+ "qnet = a*G - e*stfncnstt*T*T*T*T;\n",
+ "#results\n",
+ "\n",
+ "print '%s %.2f' %('\\n Total, hemispherical absorptivity',a)\n",
+ "print '%s %.2f %s' %('\\n Nature of surface temperature change =',qnet,' W/m^2 \\n Since qnet > 0, the sirface temperature will increase with the time');"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Populating the interactive namespace from numpy and matplotlib\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x2fec390>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Total, hemispherical absorptivity 0.76\n",
+ "\n",
+ " Nature of surface temperature change = 965.00 W/m^2 \n",
+ " Since qnet > 0, the sirface temperature will increase with the time\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.8 Page 761"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "import math\n",
+ "# Total emissivity of cover glass to solar radiation\n",
+ "\n",
+ "T = 5800.\t\t\t\t\t\t\t\t;#[K] temperature of surface\n",
+ "e = .8;\n",
+ "stfncnstt = 5.67*math.pow(10,-8);\t\t#[W/m^2.K^4] Stefan-Boltzmann constant\n",
+ "#calculations and results\n",
+ "\n",
+ "#From Table 12.1\n",
+ "#For wl1 = .3 micro-m and T = 5800 K, At wl1*T = 1740 micro-m.K\n",
+ "F0wl1 = .0335;\n",
+ "#For wl1 = .3 micro-m and T = 5800 K, At wl2*T = 14500 micro-m.K\n",
+ "F0wl2 = .9664;\n",
+ "\n",
+ "#Hence from equation 12.29\n",
+ "t = .90*(F0wl2 - F0wl1);\n",
+ "\n",
+ "print '%s %.2f' %('\\n Total emissivity of cover glass to solar radiation =',t);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Total emissivity of cover glass to solar radiation = 0.84\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.9 Page 766"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "import math\n",
+ "# Total hemispherical emissivity of fire brick wall\n",
+ "# Total emissive power of brick wall\n",
+ "# Absorptivity of the wall to irradiation from coals\n",
+ "\n",
+ "Ts = 500.\t\t\t\t\t\t\t;#[K] temperature of brick surface\n",
+ "Tc = 2000. \t\t\t\t;#[K] Temperature of coal exposed\n",
+ "stfncnstt = 5.67*math.pow(10,-8)\t;#[W/m^2.K^4] Stefan-Boltzmann constant\n",
+ "# From the given graph of emissivities\n",
+ "e1 = .1; \t\t\t\t\t\t#between wavelength 0 micro-m- 1.5 micro-m\n",
+ "e2 = .5; \t\t\t\t\t\t#between wavelength 1.5 micro-m- 10 micro-m\n",
+ "e3 = .8; \t\t\t\t\t\t#greater than wavelength 10 micro-m\n",
+ "#calculations\n",
+ "\n",
+ "#From Table 12.1\n",
+ "#For wl1 = 1.5 micro-m and T = 500 K, At wl1*T = 750 micro-m.K\n",
+ "F0wl1 = 0;\n",
+ "#For wl2 = 10 micro-m and T = 500 K, At wl2*T = 5000 micro-m.K\n",
+ "F0wl2 = .634;\n",
+ "#From equation 12.36\n",
+ "e = e1*F0wl1 + e2*F0wl2 + e3*(1-F0wl1-F0wl2);\n",
+ "\n",
+ "#Equation 12.26 and 12.35\n",
+ "E = e*stfncnstt*Ts*Ts*Ts*Ts;\n",
+ "\n",
+ "#From Table 12.1\n",
+ "#For wl1 = 1.5 micro-m and T = 2000 K, At wl1*T = 3000 micro-m.K\n",
+ "F0wl1c = 0.273;\n",
+ "#For wl2 = 10 micro-m and T = 2000 K, At wl2*T = 20000 micro-m.K\n",
+ "F0wl2c = .986;\n",
+ "ac = e1*F0wl1c + e2*(F0wl2c-F0wl1c) + e3*(1-F0wl2c);\n",
+ "#results\n",
+ "\n",
+ "print '%s %.3f' %('\\n Total hemispherical emissivity of fire brick wall =',e)\n",
+ "print '%s %d %s' %('\\n Total emissive power of brick wall =',E,'W/m^2.')\n",
+ "print '%s %.3f' %('\\n Absorptivity of the wall to irradiation from coals =',ac);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Total hemispherical emissivity of fire brick wall = 0.610\n",
+ "\n",
+ " Total emissive power of brick wall = 2160 W/m^2.\n",
+ "\n",
+ " Absorptivity of the wall to irradiation from coals = 0.395\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.10 Page 768"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "import math\n",
+ "# Total hemispherical absorptivity and emissivity of sphere for initial condition\n",
+ "# values of absoprtivity and emissivity after sphere has been in furnace a long time\n",
+ "\n",
+ "Ts = 300.;\t\t\t\t\t\t\t#[K] temperature of surface\n",
+ "Tf = 1200; \t\t\t\t#[K] Temperature of Furnace\n",
+ "stfncnstt = 5.67*math.pow(10,-8);\t#[W/m^2.K^4] Stefan-Boltzmann constant\n",
+ "# From the given graph of absorptivities\n",
+ "a1 = .8; \t\t\t\t\t\t#between wavelength 0 micro-m- 5 micro-m\n",
+ "a2 = .1; \t\t\t\t\t\t#greater than wavelength 5 micro-m\n",
+ "#calculations\n",
+ "\n",
+ "#From Table 12.1\n",
+ "#For wl1 = 5 micro-m and T = 1200 K, At wl1*T = 6000 micro-m.K\n",
+ "F0wl1 = 0.738;\n",
+ "#From equation 12.44\n",
+ "a = a1*F0wl1 + a2*(1-F0wl1);\n",
+ "#From Table 12.1\n",
+ "#For wl1 = 5 micro-m and T = 300 K, At wl1*T = 1500 micro-m.K\n",
+ "F0wl1s = 0.014;\n",
+ "#From equation 12.36\n",
+ "e = a1*F0wl1s + a2*(1-F0wl1s);\n",
+ "#results\n",
+ "\n",
+ "print' %s %.2f' %('\\n For Initial Condition \\n Total hemispherical absorptivity = ',a)\n",
+ "print '%s %.2f' %('Emissivity of sphere =',e)\n",
+ "print '%s' %('\\n\\n Beacuase the spectral characteristics of the coating and the furnace temeprature remain fixed, there is no change in the value of absorptivity with increasing time.')\n",
+ "print '%s %d %s %.2f' %('\\n Hence, After a sufficiently long time, Ts = Tf = ',Tf,' K and emissivity equals absorptivity e = a = ',a);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " \n",
+ " For Initial Condition \n",
+ " Total hemispherical absorptivity = 0.62\n",
+ "Emissivity of sphere = 0.11\n",
+ "\n",
+ "\n",
+ " Beacuase the spectral characteristics of the coating and the furnace temeprature remain fixed, there is no change in the value of absorptivity with increasing time.\n",
+ "\n",
+ " Hence, After a sufficiently long time, Ts = Tf = 1200 K and emissivity equals absorptivity e = a = 0.62\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.11 Page 774"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "import math\n",
+ "# Useful heat removal rate per unit area\n",
+ "# Efficiency of the collector\n",
+ "\n",
+ "Ts = 120+273.;\t\t\t\t\t\t\t#[K] temperature of surface\n",
+ "Gs = 750; \t\t\t\t#[W/m^2] Solar irradiation\n",
+ "Tsky = -10+273.; \t\t\t\t#[K] Temperature of Sky\n",
+ "Tsurr = 30+273.; \t \t\t\t#[K] Temperature os surrounding Air\n",
+ "e = .1 \t\t \t\t\t;# emissivity \n",
+ "ast = .95 \t\t\t\t;# Absorptivity of Surface\n",
+ "asky = e \t\t\t\t;# Absorptivity of Sky\n",
+ "stfncnstt = 5.67*math.pow(10,-8);\t\t#[W/m^2.K^4] Stefan-Boltzmann constant\n",
+ "#calculations\n",
+ "\n",
+ "h = 0.22*math.pow((Ts - Tsurr),.3334);\t#[W/m^2.K] Convective Heat transfer Coeff\n",
+ "#From equation 12.67\n",
+ "Gsky = stfncnstt*Tsky*Tsky*Tsky*Tsky; \t#[W/m^2] Irradiadtion from sky\n",
+ "qconv = h*(Ts-Tsurr); \t\t\t#[W/m^2] Convective Heat transfer\n",
+ "E = e*stfncnstt*Ts*Ts*Ts*Ts; \t\t#[W/m^2] Irradiadtion from Surface\n",
+ "\n",
+ "#From energy Balance\n",
+ "q = ast*Gs + asky*Gsky - qconv - E;\n",
+ "\n",
+ "#Collector efficiency\n",
+ "eff = q/Gs;\n",
+ "#results\n",
+ "\n",
+ "print '%s %d %s' %('\\n Useful heat removal rate per unit area by Energy Conservation = ',q,'W/m^2')\n",
+ "print '%s %.2f' %('\\n Collector efficiency defined as the fraction of solar irradiation extracted as useful energy is',eff);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Useful heat removal rate per unit area by Energy Conservation = 515 W/m^2\n",
+ "\n",
+ " Collector efficiency defined as the fraction of solar irradiation extracted as useful energy is 0.69\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_13.ipynb b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_13.ipynb
new file mode 100644
index 00000000..2b72fa5a
--- /dev/null
+++ b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_13.ipynb
@@ -0,0 +1,398 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Radiation Exchange between surfaces"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.2 Page 821"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "\n",
+ "# View Factors of known surface Geometries\n",
+ "import math\n",
+ "# (1) Sphere within Cube\n",
+ "F12a = 1 \t\t;#By Inspection\n",
+ "F21a = (math.pi/6.)*F12a \t; #By Reciprocity\n",
+ "#calculations\n",
+ "\n",
+ "# (2) Partition within a Square Duct\n",
+ "F11b = 0 \t\t;#By Inspection\n",
+ "#By Symmetry F12 = F13\n",
+ "F12b = (1-F11b)/2. ;\t\t #By Summation Rule\n",
+ "F21b = math.sqrt(2.)*F12b ; #By Reciprocity\n",
+ "\n",
+ "# (3) Circular Tube\n",
+ "#From Table 13.2 or 13.5, with r3/L = 0.5 and L/r1 = 2\n",
+ "F13c = .172;\n",
+ "F11c = 0; \t\t#By Inspection\n",
+ "F12c = 1 - F11c - F13c \t\t;#By Summation Rule\n",
+ "F21c = F12c/4. \t\t;#By Reciprocity\n",
+ "#results\n",
+ "\n",
+ "print' %s' %('\\n Desired View Factors may be obtained from inspection, the reciprocity rule, the summation rule and/or use of charts')\n",
+ "print '%s %.3f' %('\\n (1) Sphere within Cube F21 =',F21a)\n",
+ "print '%s %.3f' %('\\n (2) Partition within a Square Duct F21 = ',F21b)\n",
+ "print '%s %.3f' %('\\n (3) Circular Tube F21 =',F21c);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " \n",
+ " Desired View Factors may be obtained from inspection, the reciprocity rule, the summation rule and/or use of charts\n",
+ "\n",
+ " (1) Sphere within Cube F21 = 0.524\n",
+ "\n",
+ " (2) Partition within a Square Duct F21 = 0.707\n",
+ "\n",
+ " (3) Circular Tube F21 = 0.207\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.3 Page 826"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "# Net rate of Heat transfer to the absorber surface\n",
+ "\n",
+ "L = 10 \t;#[m] Collector length = Heater Length\n",
+ "T2 = 600 \t;#[K] Temperature of curved surface\n",
+ "A2 = 15 \t;#[m^2] Area of curved surface\n",
+ "e2 = .5 \t;# emissivity of curved surface\n",
+ "stfncnstt = 5.67*math.pow(10,-8);\t\t#[W/m^2.K^4] Stefan-Boltzmann constant\n",
+ "T1 = 1000 ;#[K] Temperature of heater\n",
+ "A1 = 10 ;#[m^2] area of heater\n",
+ "e1 = .9 ;# emissivity of heater\n",
+ "W = 1 ;#[m] Width of heater\n",
+ "H = 1 ;#[m] Height\n",
+ "T3 = 300 ;#[K] Temperature of surrounding\n",
+ "e3 = 1 ;# emissivity of surrounding\n",
+ "#calculations\n",
+ "\n",
+ "J3 = stfncnstt*T3*T3*T3*T3; #[W/m^2]\n",
+ "#From Figure 13.4 or Table 13.2, with Y/L = 10 and X/L =1\n",
+ "F12 = .39;\n",
+ "F13 = 1 - F12; \t\t\t#By Summation Rule\n",
+ "#For a hypothetical surface A2h\n",
+ "A2h = L*W;\n",
+ "F2h3 = F13; \t\t\t#By Symmetry\n",
+ "F23 = A2h/A2*F13; \t#By reciprocity\n",
+ "Eb1 = stfncnstt*T1*T1*T1*T1;#[W/m^2]\n",
+ "Eb2 = stfncnstt*T2*T2*T2*T2;#[W/m^2]\n",
+ "#Radiation network analysis at Node corresponding 1\n",
+ "#-10J1 + 0.39J2 = -510582\n",
+ "#.26J1 - 1.67J2 = -7536\n",
+ "#Solving above equations\n",
+ "A = ([[-10 ,.39],\n",
+ " [.26, -1.67]]);\n",
+ "B = ([[-510582.],\n",
+ " [-7536.]]);\n",
+ "\n",
+ "X = numpy.linalg.solve (A,B);\n",
+ "\n",
+ "q2 = (Eb2 - X[1])/(1-e2)*(e2*A2);\n",
+ "#results\n",
+ "\n",
+ "print '%s %.1f %s' %('\\n Net Heat transfer rate to the absorber is = ',q2/1000. ,'kW');"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Net Heat transfer rate to the absorber is = -77.8 kW\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.4 Page 830"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "import math\n",
+ "# Power required to maintain prescribed temperatures\n",
+ "\n",
+ "T3 = 300. \t\t\t\t\t;#[K] Temperature of surrounding\n",
+ "L = .15 \t\t\t\t\t\t;#[m] Furnace Length\n",
+ "T2 = 1650+273. \t\t\t\t;#[K] Temperature of bottom surface\n",
+ "T1 = 1350+273. \t\t\t\t;#[K] Temperature of sides of furnace\n",
+ "D = .075 \t\t\t\t\t;#[m] Diameter of furnace\n",
+ "stfncnstt = 5.670*math.pow(10,-8); #[W/m^2.K^4] Stefan Boltzman Constant\n",
+ "#calculations\n",
+ "\n",
+ "A2 = math.pi*D*D/4. \t\t\t;#[m] Area of bottom surface\n",
+ "A1 = math.pi*D*L \t \t\t;#[m] Area of curved sides\n",
+ "#From Figure 13.5 or Table 13.2, with ri/L = .25 \n",
+ "F23 = .056;\n",
+ "F21 = 1 - F23; \t\t\t\t#By Summation Rule\n",
+ "F12 = A2/A1*F21; \t\t\t#By reciprocity\n",
+ "F13 = F12 \t\t\t\t;#By Symmetry\n",
+ "#From Equation 13.17 Heat balance\n",
+ "q = A1*F13*stfncnstt*(T1*T1*T1*T1 - T3*T3*T3*T3) + A2*F23*stfncnstt*(T2*T2*T2*T2 - T3*T3*T3*T3);\n",
+ "#results\n",
+ "\n",
+ "print '%s %d %s' %('\\n Power required to maintain prescribed temperatures is =',q, 'W');"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Power required to maintain prescribed temperatures is = 1830 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.5 Page 834"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "import math\n",
+ "# Heat gain by the fluid passing through the inner tube\n",
+ "# Percentage change in heat gain with radiation shield inserted midway between inner and outer tubes\n",
+ "\n",
+ "T2 = 300 \t;#[K] Temperature of inner surface\n",
+ "D2 = .05 \t;#[m] Diameter of Inner Surface\n",
+ "e2 = .05 \t;# emissivity of Inner Surface\n",
+ "T1 = 77 \t;#[K] Temperature of Outer Surface\n",
+ "D1 = .02 ;#[m] Diameter of Inner Surface\n",
+ "e1 = .02 \t;# emissivity of Outer Surface\n",
+ "D3 = .035 ;#[m] Diameter of Shield\n",
+ "e3 = .02 ;# emissivity of Shield\n",
+ "stfncnstt = 5.670*math.pow(10,-8) ;#[W/m^2.K^4] Stefan Boltzman Constant\n",
+ "#calculations\n",
+ "\n",
+ "#From Equation 13.20 Heat balance\n",
+ "q = stfncnstt*(math.pi*D1)*(T1*T1*T1*T1-T2*T2*T2*T2)/(1/e1 + (1-e2)/e2*D1/D2) ;#[W/m] \n",
+ "\n",
+ "RtotL = (1-e1)/(e1*math.pi*D1) + 1/(math.pi*D1*1) + 2*((1-e3)/(e3*math.pi*D3)) + 1/(math.pi*D3*1) + (1-e2)/(e2*math.pi*D2) ;#[m^-2]\n",
+ "q2 = stfncnstt*(T1*T1*T1*T1 - T2*T2*T2*T2)/RtotL; #[W/m] \n",
+ "#results\n",
+ "\n",
+ "print '%s %.2f %s' %('\\n Heat gain by the fluid passing through the inner tube =',q,'W/m') \n",
+ "print '%s %.2f %s' %('\\n Percentage change in heat gain with radiation shield inserted midway between inner and outer tubes is =',(q2-q)*100/q,'percent'); "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Heat gain by the fluid passing through the inner tube = -0.50 W/m\n",
+ "\n",
+ " Percentage change in heat gain with radiation shield inserted midway between inner and outer tubes is = -49.55 percent\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.6 Page 836"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "import math\n",
+ "# Rate at which heat must be supplied per unit length of duct\n",
+ "# Temperature of the insulated surface\n",
+ "\n",
+ "T2 = 500 \t\t\t\t\t;#[K] Temperature of Painted surface\n",
+ "e2 = .4 \t \t\t\t\t;# emissivity of Painted Surface\n",
+ "T1 = 1200 \t\t\t\t\t;#[K] Temperature of Heated Surface\n",
+ "W = 1 \t\t\t\t\t; #[m] Width of Painted Surface\n",
+ "e1 = .8 \t\t\t\t\t;# emissivity of Heated Surface\n",
+ "er = .8 \t\t\t\t\t;# emissivity of Insulated Surface\n",
+ "stfncnstt = 5.670*math.pow(10,-8);#[W/m^2.K^4] Stefan Boltzman Constant\n",
+ "\n",
+ "#By Symmetry Rule\n",
+ "F2R = .5;\n",
+ "F12 = .5;\n",
+ "F1R = .5;\n",
+ "#calculations\n",
+ "\n",
+ "#From Equation 13.20 Heat balance\n",
+ "q = stfncnstt*(T1*T1*T1*T1-T2*T2*T2*T2)/((1-e1)/e1*W+ 1/(W*F12+1/((1/W/F1R) + (1/W/F2R))) + (1-e2)/e2*W) ;#[W/m] \n",
+ "\n",
+ "#Surface Energy Balance 13.13\n",
+ "J1 = stfncnstt*T1*T1*T1*T1 - (1-e1)*q/(e1*W)\t\t;# [W/m^2] Surface 1\n",
+ "J2 = stfncnstt*T2*T2*T2*T2 - (1-e2)*(-q)/(e2*W)\t\t;# [W/m^2] Surface 2\n",
+ "#From Equation 13.26 Heat balance\n",
+ "JR = (J1+J2)/2.;\n",
+ "TR = math.pow((JR/stfncnstt),.25);\n",
+ "#results\n",
+ "\n",
+ "print '%s %.2f %s' %('\\n Rate at which heat must be supplied per unit length of duct = ',q/1000.,'kW/m') \n",
+ "print '%s %d %s' %('\\n Temperature of the insulated surface = ',TR,'K');"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Rate at which heat must be supplied per unit length of duct = 36.98 kW/m\n",
+ "\n",
+ " Temperature of the insulated surface = 1102 K\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.7 Page 841"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "import math\n",
+ "# Rate at which heat must be supplied \n",
+ "# Temperature of the insulated surface\n",
+ "\n",
+ "T1 = 1000. \t\t\t\t;#[K] Temperature of Heated Surface\n",
+ "e1 = .8 \t\t\t\t\t;# emissivity of Heated Surface\n",
+ "e2 = .8 \t\t\t\t\t; # emissivity of Insulated Surface\n",
+ "r = .02 \t\t\t\t\t;#[m] Radius of surface\n",
+ "Tm = 400 \t\t\t\t;#[K] Temperature of surrounding air\n",
+ "m = .01 \t\t\t\t\t;#[kg/s] Flow rate of surrounding air\n",
+ "p = 101325 \t\t\t\t\t;#[Pa] Pressure of surrounding air\n",
+ "stfncnstt = 5.670*math.pow(10,-8);#[W/m^2.K^4] Stefan Boltzman Constant\n",
+ "#Table A.4 Air Properties at 1 atm, 400 K\n",
+ "k = .0338 \t\t\t\t;#[W/m.K] conductivity\n",
+ "u = 230*math.pow(10,-7) \t\t;#[kg/s.m] Viscosity\n",
+ "cp = 1014 \t\t\t\t;#[J/kg] Specific heat\n",
+ "Pr = .69 \t\t\t\t;# Prandtl Number\n",
+ "#calculations and results\n",
+ "\n",
+ "#Hydraulic Diameter\n",
+ "Dh = 2*math.pi*r/(math.pi+2.) ;#[m]\n",
+ "#Reynolds number\n",
+ "Re = m*Dh/(math.pi*r*r/2.)/u;\n",
+ "#View Factor\n",
+ "F12 = 1 ;\n",
+ "\n",
+ "print '%s %d %s' %(\"\\n As Reynolds Number is\",Re,\", Hence it is Turbulent flow inside a cylinder. Hence we will use Dittus-Boelter Equation\");\n",
+ "\n",
+ "#From Dittus-Boelter Equation\n",
+ "Nu = .023*math.pow(Re,.8) *math.pow(Pr,.4);\n",
+ "h = Nu*k/Dh; \t\t#[W/m^2.K]\n",
+ "\n",
+ "#From Equation 13.18 Heat Energy balance\n",
+ "#Newton Raphson\n",
+ "T2=600; \t\t\t\t\t#Initial Assumption\n",
+ "T2=696. \t\t\t\t\t\t#Final answer\n",
+ "#From energy Balance\n",
+ "q = h*math.pi*r*(T2-Tm) + h*2*r*(T1-Tm) ;#[W/m]\n",
+ "\n",
+ "print '%s %.2f %s' %('\\n Rate at which heat must be supplied per unit length of duct =',q,'W/m') \n",
+ "print '%s %.2f %s' %('& Temperature of the insulated surface =',T2,'K');"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " As Reynolds Number is 16912 , Hence it is Turbulent flow inside a cylinder. Hence we will use Dittus-Boelter Equation\n",
+ "\n",
+ " Rate at which heat must be supplied per unit length of duct = 2818.56 W/m\n",
+ "& Temperature of the insulated surface = 696.00 K\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_14.ipynb b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_14.ipynb
new file mode 100644
index 00000000..3ce70f77
--- /dev/null
+++ b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_14.ipynb
@@ -0,0 +1,428 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Diffusion Mass Transfer"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.1 Page 884"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "import math\n",
+ "# Molar and mass fluxes of hydrogen and the relative values of the mass and thermal diffusivities for the three cases\n",
+ "\n",
+ "T = 293. \t \t\t\t\t;#[K] Temperature\n",
+ "Ma = 2 \t\t\t\t\t;#[kg/kmol] Molecular Mass\n",
+ "#Table A.8 Hydrogen-Air Properties at 298 K\n",
+ "Dab1 = .41*math.pow(10,-4); #[m^2/s] diffusion coefficient\n",
+ "#Table A.8 Hydrogen-Water Properties at 298 K\n",
+ "Dab2 = .63*math.pow(10,-8); #[m^2/s] diffusion coefficient\n",
+ "#Table A.8 Hydrogen-iron Properties at 293 K\n",
+ "Dab3 = .26*math.pow(10,-12); #[m^2/s] diffusion coefficient\n",
+ "#Table A.4 Air properties at 293 K\n",
+ "a1 = 21.6*math.pow(10,-6); #[m^2/s] Thermal Diffusivity\n",
+ "#Table A.6 Water properties at 293 K\n",
+ "k = .603 \t\t\t\t;#[W/m.K] conductivity\n",
+ "rho = 998 \t\t\t\t;#[kg/m^3] Density\n",
+ "cp = 4182 \t\t\t\t;#[J/kg] specific Heat\n",
+ "#Table A.1 Iron Properties at 300 K\n",
+ "a3 = 23.1 * math.pow(10,-6); #[m^2/s]\n",
+ "#calculations\n",
+ "\n",
+ "#Equation 14.14\n",
+ "#Hydrogen-air Mixture\n",
+ "DabT1 = Dab1*math.pow(T/298.,1.5);# [m^2/s] mass diffusivity\n",
+ "J1 = -DabT1*1; \t\t#[kmol/s.m^2] Total molar concentration\n",
+ "j1 = Ma*J1; \t\t#[kg/s.m^2] mass Flux of Hydrogen\n",
+ "Le1 = a1/DabT1; \t# Lewis Number Equation 6.50\n",
+ "\n",
+ "#Hydrogen-water Mixture\n",
+ "DabT2 = Dab2*math.pow(T/298.,1.5);# [m^2/s] mass diffusivity\n",
+ "a2 = k/(rho*cp) \t;#[m^2/s] thermal diffusivity \n",
+ "J2 = -DabT2*1 \t;#[kmol/s.m^2] Total molar concentration\n",
+ "j2 = Ma*J2 \t;#[kg/s.m^2] mass Flux of Hydrogen\n",
+ "Le2 = a2/DabT2 \t;# Lewis Number Equation 6.50\n",
+ "\n",
+ "#Hydrogen-iron Mixture\n",
+ "DabT3 = Dab3*math.pow(T/298.,1.5);# [m^2/s] mass diffusivity\n",
+ "J3 = -DabT3*1; \t#[kmol/s.m^2] Total molar concentration\n",
+ "j3 = Ma*J3; \t#[kg/s.m^2] mass Flux of Hydrogen\n",
+ "Le3 = a3/DabT3 \t;# Lewis Number Equation 6.50\n",
+ "#results\n",
+ "\n",
+ "print '%s %.1e' %('a (m^2/s) in 1 = ',a1)\n",
+ "print '%s %.1e' %('\\n a (m^2/s) in 2 = ',a2)\n",
+ "print '%s %.1e' %('\\na (m^2/s) in 3 = ',a3)\n",
+ "print '%s %.1e' %('\\nDab (m^2/s) in 1 = ',DabT1)\n",
+ "print '%s %.1e' %('\\n Dab (m^2/s) in 2 = ',DabT2)\n",
+ "print '%s %.1e' %('\\n Dab (m^2/s) in 3 = ',DabT3)\n",
+ "print '%s %.1e' %('\\n Le in 1 = ',Le1)\n",
+ "print '%s %.1e' %('\\n Le in 2 = ',Le2)\n",
+ "print '%s %.1e' %('\\n Le in 3 = ',Le3)\n",
+ "print '%s %.1e' %('\\n ja (kg/s.m^2) in 1 = ',j1)\n",
+ "print '%s %.1e' %('\\n ja (kg/s.m^2) in 2 = ',j2)\n",
+ "print '%s %.1e' %('\\n ja (kg/s.m^2) in 3 = ',j3)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a (m^2/s) in 1 = 2.2e-05\n",
+ "\n",
+ " a (m^2/s) in 2 = 1.4e-07\n",
+ "\n",
+ "a (m^2/s) in 3 = 2.3e-05\n",
+ "\n",
+ "Dab (m^2/s) in 1 = 4.0e-05\n",
+ "\n",
+ " Dab (m^2/s) in 2 = 6.1e-09\n",
+ "\n",
+ " Dab (m^2/s) in 3 = 2.5e-13\n",
+ "\n",
+ " Le in 1 = 5.4e-01\n",
+ "\n",
+ " Le in 2 = 2.4e+01\n",
+ "\n",
+ " Le in 3 = 9.1e+07\n",
+ "\n",
+ " ja (kg/s.m^2) in 1 = -8.0e-05\n",
+ "\n",
+ " ja (kg/s.m^2) in 2 = -1.2e-08\n",
+ "\n",
+ " ja (kg/s.m^2) in 3 = -5.1e-13\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.2 Page 898"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import matplotlib\n",
+ "from matplotlib import pyplot\n",
+ "# Evaporation rate through a single pore\n",
+ "\n",
+ "T = 298 \t\t\t;#[K] Temperature\n",
+ "D = 10*math.pow(10,-6) \t;#[m]\n",
+ "L = 100*math.pow(10,-6); #[m]\n",
+ "H = .5 \t\t\t;# Moist Air Humidity\n",
+ "p = 1.01325 \t\t\t;#[bar]\n",
+ "#Table A.6 Saturated Water vapor Properties at 298 K\n",
+ "psat = .03165; \t#[bar] saturated Pressure\n",
+ "#Table A.8 Water vapor-air Properties at 298 K\n",
+ "Dab = .26*math.pow(10,-4); #[m^2/s] diffusion coefficient\n",
+ "#calculations\n",
+ "\n",
+ "C = p/(8.314/100. *298) ;#Total Concentration\n",
+ "#From section 6.7.2, the mole fraction at x = 0 is\n",
+ "xa0 = psat/p;\n",
+ "#the mole fraction at x = L is\n",
+ "xaL = H*psat/p;\n",
+ "\n",
+ "#Evaporation rate per pore Using Equation 14.41 with advection\n",
+ "N = (math.pi*D*D)*C*Dab/(4*L)*2.303*math.log10((1-xaL)/(1-xa0)) ;#[kmol/s]\n",
+ "\n",
+ "#Neglecting effects of molar averaged velocity Equation 14.32\n",
+ "#Species transfer rate per pore\n",
+ "Nh = (math.pi*D*D)*C*Dab/(4*L)*(xa0-xaL) ;#[kmol/s]\n",
+ "#results\n",
+ "\n",
+ "print '%s %.2e %s' %('\\n Evaporation rate per pore Without advection effects',Nh,'kmol/s')\n",
+ "print '%s %.2e %s' %('and With Advection effects',N,'kmol/s')\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Evaporation rate per pore Without advection effects 1.30e-14 kmol/s\n",
+ "and With Advection effects 1.34e-14 kmol/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.3 Page 898"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "import math\n",
+ "# Rate of water vapor molar diffusive ttansfer through the trough wall\n",
+ "\n",
+ "D = .005 \t\t\t\t\t\t;#[m] Diameter\n",
+ "L = 50*math.pow(10,-6); \t#[m] Length\n",
+ "h = .003 \t\t\t\t;#[m] Depth\n",
+ "Dab = 6*math.pow(10,-14) \t;#[m^2/s] Diffusion coefficient\n",
+ "Cas1 = 4.5*math.pow(10,-3) \t;#[kmol/m^3] Molar concentrations of water vapor at outer surface\n",
+ "Cas2 = 0.5*math.pow(10,-3) \t;#[kmol/m^3] Molar concentrations of water vapor at inner surface\n",
+ "#calculations\n",
+ "\n",
+ "#Transfer Rate through cylindrical wall Equation 14.54\n",
+ "Na = Dab/L*(math.pi*D*D/4. + math.pi*D*h)*(Cas1-Cas2); #[kmol/s]\n",
+ "#results\n",
+ "\n",
+ "print '%s %.2e %s' %('\\n Rate of water vapor molar diffusive ttansfer through the trough wall ',Na,'kmol/s');\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Rate of water vapor molar diffusive ttansfer through the trough wall 3.20e-16 kmol/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.4 Page 902"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "import math\n",
+ "# The rate of change of the helium pressure dp/dt\n",
+ "\n",
+ "D = .2 \t\t\t;#[m] Diameter\n",
+ "L = 2*math.pow(10,-3) ;#[m] Thickness\n",
+ "p = 4 \t\t\t;#[bars] Helium Pressure\n",
+ "T = 20+273. \t\t\t;#[K] Temperature\n",
+ "#Table A.8 helium-fused silica (293K) Page 952\n",
+ "Dab = .4*math.pow(10,-13)\t;#[m^2/s] Diffusion coefficient\n",
+ "#Table A.10 helium-fused silica (293K)\n",
+ "S = .45*math.pow(10,-3)\t\t;#[kmol/m^3.bar] Solubility\n",
+ "#calculations\n",
+ "\n",
+ "# By applying the species conservation Equation 14.43 and 14.62\n",
+ "dpt = -6*(.08314)*T*(Dab)*S*p/(L*D);\n",
+ "\n",
+ "#results\n",
+ "print '%s %.2e %s' %('\\n The rate of change of the helium pressure dp/dt',dpt,' bar/s');\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " The rate of change of the helium pressure dp/dt -2.63e-11 bar/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.5 Page 904"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "import math\n",
+ "# The Hydrogen mass diffusive flux nA (kg/s.m^2)\n",
+ "#A -> Hydrogen\n",
+ "#B -> Plastic\n",
+ "\n",
+ "Dab = 8.7*math.pow(10,-8) ;#[m^2/s] Diffusion coefficient\n",
+ "Sab = 1.5*math.pow(10,-3) ;#[kmol/m^3.bar] Solubility\n",
+ "L = .0003 \t\t\t;#[m] thickness of bar\n",
+ "p1 = 3 \t\t\t;#[bar] pressure on one side\n",
+ "p2 = 1 \t\t\t;#[bar] pressure on other side\n",
+ "Ma = 2 \t\t\t;#[kg/mol] molecular mass of Hydrogen\n",
+ "#calculations\n",
+ "\n",
+ "#Surface molar concentrations of hydrogen from Equation 14.62\n",
+ "Ca1 = Sab*p1 \t\t\t\t; #[kmol/m^3]\n",
+ "Ca2 = Sab*p2 \t\t\t\t; #[kmol/m^3]\n",
+ "#From equation 14.42 to 14.53 for obtaining mass flux\n",
+ "N = Dab/L*(Ca1-Ca2) ; \t#[kmol/s.m^2]\n",
+ "n = Ma*N ; \t#[kg/s.m^2] on Mass basis\n",
+ "#results\n",
+ "\n",
+ "print '%s %.2e %s' %('\\n The Hydrogen mass diffusive flux n =',n,' (kg/s.m^2)');\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " The Hydrogen mass diffusive flux n = 1.74e-06 (kg/s.m^2)\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.6 Page 909 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "import math\n",
+ "# Maximum Thickness of a bacteria laden biofilm, that may be siccessfully treated\n",
+ "\n",
+ "Dab = 2*math.pow(10,-12) \t;#[m^2/s] Diffusion coefficient\n",
+ "Ca0 = 4*math.pow(10,-3) \t\t;#[kmol/m^3] Fixed Concentration of medication\n",
+ "Na = -.2*math.pow(10,-3) \t\t;#[kmol/m^3.s] Minimum consumption rate of antibiotic\n",
+ "k1 = .1 \t\t\t\t\t;#[s^-1] Reaction Coefficient\n",
+ "#calculations\n",
+ "\n",
+ "#For firsst order kinetic reaction Equation 14.74\n",
+ "m = math.pow((k1/Dab),.5);\n",
+ "L = math.acosh(-k1*Ca0/Na) /m;\n",
+ "#results\n",
+ "\n",
+ "print '%s %.1f %s' %('\\n Maximum Thickness of a bacteria laden biofilm, that may be siccessfully treated is ',L*math.pow(10,6), 'mu-m');\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Maximum Thickness of a bacteria laden biofilm, that may be siccessfully treated is 5.9 mu-m\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.7 Page 913"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "import math\n",
+ "# Total dosage of medicine delivered to the patient over a one-week time period, sensivity of the dosage to the mass duffusivity of the patch and skin\n",
+ "\n",
+ "Dap = .1*math.pow(10,-12) ;#[m^2/s] Diffusion coefficient of medication with patch\n",
+ "Das = .2*math.pow(10,-12) ;#[m^2/s] Diffusion coefficient of medication with skin\n",
+ "L = .05 \t\t\t;#[m] patch Length\n",
+ "rhop = 100 \t\t\t;#[kg/m^3] Density of medication on patch\n",
+ "rho2 = 0 \t\t\t;#[kg/m^3] Density of medication on skin\n",
+ "K = .5 \t\t\t;#Partition Coefficient\n",
+ "t = 3600*24*7 \t\t\t;#[s] Treatment time\n",
+ "#calculations\n",
+ "\n",
+ "#Applying Conservation of species equation 14.47b\n",
+ "#By analogy to equation 5.62, 5.26 and 5.58\n",
+ "D = 2*rhop*L*L/(math.sqrt(math.pi))*math.sqrt(Das*Dap*t)/(math.sqrt(Das)+math.sqrt(Dap)/K);\n",
+ "#results\n",
+ "\n",
+ "print '%s %.1f %s' %('\\n Total dosage of medicine delivered to the patient over a one-week time period is',D*math.pow(10,6) ,'mg');"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Total dosage of medicine delivered to the patient over a one-week time period is 28.7 mg\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_2.ipynb b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_2.ipynb
new file mode 100644
index 00000000..a3d2e96a
--- /dev/null
+++ b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_2.ipynb
@@ -0,0 +1,184 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Introduction to conduction"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.1 Page 68"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Find Value for Thermal Diffusivity\n",
+ "\n",
+ "def alpha(p, Cp, k):\n",
+ " a=k/(p*Cp); #[m^2/s]\n",
+ " return a;\n",
+ "#(a) Pure Aluminium at 300K\n",
+ "# From Appendix A, Table A.1\n",
+ "#calculations and results\n",
+ "\n",
+ "p = 2702.; \t\t#[Kg/m^3] - Density Of Material \n",
+ "Cp = 903.; \t\t\t#[J/kg.K] - Specific heat of Material\n",
+ "k = 237.; \t\t#[W/m.k] - Thermal Conductivity of Material\n",
+ "\n",
+ "print '%s %.2e %s' %(\"\\n (a) Thermal Diffuisivity of Pure Aluminium at 300K = \",alpha(p, Cp, k),\" m^2/s\\n\");\n",
+ "\n",
+ "#(b) Pure Aluminium at 700K\n",
+ "# From Appendix A, Table A.1\n",
+ "\n",
+ "p = 2702.; \t\t#[Kg/m^3] - Density Of Material \n",
+ "Cp = 1090.; \t\t#[J/kg.K] - Specific heat of Material\n",
+ "k = 225.; \t\t#[W/m.k] - Thermal Conductivity of Material\n",
+ "\n",
+ "print '%s %.2e %s' %(\"\\n (b) Thermal Diffuisivity of Pure Aluminium at 700K =\",alpha(p, Cp, k),\" m^2/s\\n\");\n",
+ "\n",
+ "#(c) Silicon Carbide at 1000K\n",
+ "# From Appendix A, Table A.2\n",
+ "\n",
+ "p = 3160.; \t\t#[Kg/m^3] - Density Of Material \n",
+ "Cp = 1195.; \t\t#[J/kg.K] - Specific heat of Material\n",
+ "k = 87.; \t\t#[W/m.k] - Thermal Conductivity of Material\n",
+ "\n",
+ "print '%s %.2e %s' %(\"\\n (c) Thermal Diffuisivity of Silicon Carbide at 1000K =\",alpha(p, Cp, k),\" m^2/s\\n\");\n",
+ "\n",
+ "#(d) Paraffin at 300K\n",
+ "# From Appendix A, Table A.3\n",
+ "\n",
+ "p = 900.; \t\t\t#[Kg/m^3] - Density Of Material \n",
+ "Cp = 2890.; \t\t#[J/kg.K] - Specific heat of Material\n",
+ "k = .24; \t\t#[W/m.k] - Thermal Conductivity of Material\n",
+ "\n",
+ "print '%s %.2e %s' %(\"\\n (d) Thermal Diffuisivity of Paraffin at 300K = \",alpha(p, Cp, k),\"m^2/s\");\n",
+ "#END\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " (a) Thermal Diffuisivity of Pure Aluminium at 300K = 9.71e-05 m^2/s\n",
+ "\n",
+ "\n",
+ " (b) Thermal Diffuisivity of Pure Aluminium at 700K = 7.64e-05 m^2/s\n",
+ "\n",
+ "\n",
+ " (c) Thermal Diffuisivity of Silicon Carbide at 1000K = 2.30e-05 m^2/s\n",
+ "\n",
+ "\n",
+ " (d) Thermal Diffuisivity of Paraffin at 300K = 9.23e-08 m^2/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2 Page 75"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Analyze a Situation of Non-Uniform Temperature Distribution\n",
+ "#T(x) = a + bx +cx^2 T-degC & x-meter\n",
+ "\n",
+ "a = 900.; \t\t\t#[degC]\n",
+ "b = -300.; \t\t\t#[degC/m]\n",
+ "c = -50.; \t\t\t#[degC/m^2]\n",
+ "\n",
+ "q = 1000.; \t\t\t#[W/m^2.K] - Uniform heat Generation\n",
+ "A = 10. ; \t\t\t#[m^2] - Wall Area\n",
+ "#Properties of Wall\n",
+ "p = 1600.; \t\t\t#[kg/m^3] - Density\n",
+ "k = 40.; \t\t\t#[W/m] - Thermal Conductivity\n",
+ "Cp = 4000.; \t\t\t#[J/kg.K] - Specific Heat\n",
+ "L = 1; \t\t\t #[m] - Length of wall\n",
+ "#calculations and results\n",
+ "\n",
+ "#(i) Rate of Heat Transfer entering the wall and leaving the wall\n",
+ "# From Eqn 2.1\n",
+ "# qin = -kA(dT/dx)|x=0 = -kA(b)\n",
+ "\n",
+ "qin= - b*k*A;\n",
+ "\n",
+ "# Similarly\n",
+ "# qout = -kA(dT/dx)|x=L = -kA(b+2cx)|x=L\n",
+ "\n",
+ "qout= - k*A*(b+2*c*L);\n",
+ "\n",
+ "print '%s %d %s' %(\"\\n (i) Rate of Heat Transfer entering the wall =\",qin,\" W \");\n",
+ "print '%s %d %s' %(\"\\n And leaving the wall =\",qout,\"W \");\n",
+ "\n",
+ "#(ii) Rate of change Of Energy Storage in Wall E`st\n",
+ "# Applying Overall Energy Balance across the Wall\n",
+ "#E`st = E`in + E`g + E`out = qin + q`AL - qout\n",
+ "Est = qin + q*A*L - qout;\n",
+ "\n",
+ "print '%s %d %s' %(\"\\n (ii) Rate of change Of Energy Storage in Wall =\",Est,\" W\\n\");\n",
+ "\n",
+ "#(iii) Time rate of Temperature change at x= 0, 0.25 and .5m\n",
+ "#Using Eqn 2.19\n",
+ "# T`= dT/dt = (k/p*Cp)*d(dT/dx)/dx + q`/p*Cp\n",
+ "#As d(dT/dx)/dx = d(b + 2cx)/dx = 2c - Independent of x\n",
+ "T = (k/(p*Cp))*(2*c)+ q/(p*Cp);\n",
+ "print '%s %.6f %s' %(\"\\n (iii) Time rate of Temperature change independent of x =\",T,\" degC/s\\n\");\n",
+ "\n",
+ "#END\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " (i) Rate of Heat Transfer entering the wall = 120000 W \n",
+ "\n",
+ " And leaving the wall = 160000 W \n",
+ "\n",
+ " (ii) Rate of change Of Energy Storage in Wall = -30000 W\n",
+ "\n",
+ "\n",
+ " (iii) Time rate of Temperature change independent of x = -0.000469 degC/s\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_3.ipynb b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_3.ipynb
new file mode 100644
index 00000000..80e4f209
--- /dev/null
+++ b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_3.ipynb
@@ -0,0 +1,804 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "One-dimensional, Steady State Conduction"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.1 Page 104"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Find Skin Temperature & Aerogel Insulation Thickness \n",
+ "import math\n",
+ "A=1.8; \t\t\t\t\t# [m^2] Area for Heat transfer i.e. both surfaces\n",
+ "Ti = 35+273.; \t\t\t\t#[K] - Inside Surface Temperature of Body\n",
+ "Tsurr = 10+273.; \t\t\t#[K] - Temperature of surrounding\n",
+ "Tf = 283.; \t\t\t\t\t#[K] - Temperature of Fluid Flow\n",
+ "e=.95; \t\t\t\t\t\t# Emissivity of Surface\n",
+ "Lst=.003; \t\t\t\t#[m] - Thickness of Skin\n",
+ "kst=.3; \t\t \t\t\t# [W/m.K] Effective Thermal Conductivity of Body\n",
+ "kins = .014; \t\t\t\t# [W/m.K] Effective Thermal Conductivity of Aerogel Insulation\n",
+ "hr = 5.9; \t\t\t\t#[W/m^2.k] - Natural Thermal Convectivity from body to air\n",
+ "stfncnstt=5.67*math.pow(10,(-8)); # [W/m^2.K^4] - Stefan Boltzmann Constant \n",
+ "q = 100; \t\t\t#[W] Given Heat rate\n",
+ "#calculations\n",
+ "\n",
+ "#Using Conducion Basic Eq 3.19\n",
+ "Rtot = (Ti-Tsurr)/q;\n",
+ "#Also\n",
+ "#Rtot=Lst/(kst*A) + Lins/(kins*A)+(h*A + hr*A)^-1\n",
+ "#Rtot = 1/A*(Lst/kst + Lins/kins +(1/(h+hr)))\n",
+ "\n",
+ "#Thus\n",
+ "#For Air,\n",
+ "h=2.; \t\t\t\t\t#[W/m^2.k] - Natural Thermal Convectivity from body to air\n",
+ "Lins1 = kins * (A*Rtot - Lst/kst - 1/(h+hr));\n",
+ "\n",
+ "#For Water,\n",
+ "h=200.; \t\t\t\t\t#[W/m^2.k] - Natural Thermal Convectivity from body to air\n",
+ "Lins2 = kins * (A*Rtot - Lst/kst - 1/(h+hr));\n",
+ "\n",
+ "Tsa=305.; \t\t#[K] Body Temperature Assumed\n",
+ "\n",
+ "#Temperature of Skin is same in both cases as Heat Rate is same\n",
+ "#q=(kst*A*(Ti-Ts))/Lst\n",
+ "Ts = Ti - q*Lst/(kst*A);\n",
+ "#results\n",
+ "\n",
+ "#Also from eqn of effective resistance Rtot F\n",
+ "print '%s %.1f %s' %(\"\\n\\n (I) In presence of Air, Insulation Thickness = \",Lins1*1000,\" mm\")\n",
+ "print '%s %.1f %s' %(\"\\n (II) In presence of Water, Insulation Thickness =\",Lins2*1000.,\" mm\");\n",
+ "print '%s %.2f %s' %(\"\\n\\n Temperature of Skin =\",Ts-273,\" degC\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "\n",
+ " (I) In presence of Air, Insulation Thickness = 4.4 mm\n",
+ "\n",
+ " (II) In presence of Water, Insulation Thickness = 6.1 mm\n",
+ "\n",
+ "\n",
+ " Temperature of Skin = 34.44 degC\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.2 Page 107"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Chip Operating Temperature\n",
+ "import math\n",
+ "Tf = 25+273.; \t\t\t#[K] - Temperature of Fluid Flow\n",
+ "L=.008; \t\t\t\t#[m] - Thickness of Aluminium \n",
+ "k=239; \t\t\t\t# [W/m.K] Effective Thermal Conductivity of Aluminium\n",
+ "Rc=.9*math.pow(10,-4); #[K.m^2/W] Maximum permeasible Resistane of Epoxy Joint\n",
+ "q=10000.; \t\t\t#[W/m^2] Heat dissipated by Chip\n",
+ "h=100.; \t\t\t\t#[W/m^2.k] - Thermal Convectivity from chip to air\n",
+ "#calculations\n",
+ "\n",
+ "#Temperature of Chip\n",
+ "\n",
+ "Tc = Tf + q/(h+1/(Rc+(L/k)+(1/h)));\n",
+ "q=(Tc-Tf)/(1/h)+(Tc-Tf)/(Rc+(L/k)+(1/h))\n",
+ "#results\n",
+ "\n",
+ "print '%s %.2f %s' %(\"\\n\\n Temperature of Chip =\",Tc-273,\"degC\");\n",
+ "print '%s' %(\"\\n Chip will Work well below its maximum allowable Temperature ie 85 degC\")\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "\n",
+ " Temperature of Chip = 75.31 degC\n",
+ "\n",
+ " Chip will Work well below its maximum allowable Temperature ie 85 degC\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3 Page 109"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Find Thermal conductivity of Carbon Nanotube\n",
+ "import math\n",
+ "D = 14 * math.pow(10,-9); \t\t\t# [m]Dia of Nanotube\n",
+ "s = 5*math.pow(10,-6); \t\t\t# [m]Distance between the islands\n",
+ "Ts = 308.4; \t\t\t\t\t\t#[K] Temp of sensing island\n",
+ "Tsurr = 300; \t\t\t\t\t\t#[K] Temp of surrounding\n",
+ "q = 11.3*math.pow(10,-6); \t\t\t#[W] Total Rate of Heat flow\n",
+ "\n",
+ "#Dimension of platinum line\n",
+ "wpt =math.pow(10,-6); \t\t\t#[m]\n",
+ "tpt = 0.2*math.pow(10,-6); \t\t\t#[m] \n",
+ "Lpt = 250*math.pow(10,-6); \t\t\t#[m] \n",
+ "#Dimension of Silicon nitride line\n",
+ "wsn = 3*math.pow(10,-6); \t\t\t#[m]\n",
+ "tsn = 0.5*math.pow(10,-6); \t \t\t#[m] \n",
+ "Lsn = 250*math.pow(10,-6); \t\t\t#[m] \n",
+ "#From Table A.1 Platinum Temp Assumed = 325K\n",
+ "kpt = 71.6; \t\t\t\t\t\t\t#[W/m.K]\n",
+ "#From Table A.2, Silicon Nitride Temp Assumed = 325K\n",
+ "ksn = 15.5; \t \t\t\t\t\t\t#[W/m.K]\n",
+ "#calculations\n",
+ "\n",
+ "Apt = wpt*tpt; \t\t\t\t\t#Cross sectional area of platinum support beam\n",
+ "Asn = wsn*tsn-Apt; \t\t\t\t\t#Cross sectional area of Silicon Nitride support beam\n",
+ "Acn = math.pi*D*D/4.; \t\t\t#Cross sectional Area of Carbon nanotube\n",
+ "\n",
+ "Rtsupp = 1/(kpt*Apt/Lpt + ksn*Asn/Lsn); #[K/W] Thermal Resistance of each support\n",
+ "\n",
+ "qs = 2*(Ts-Tsurr)/Rtsupp; \t\t\t#[W] Heat loss through sensing island support\n",
+ "qh = q - qs; \t\t\t\t\t\t#[W] Heat loss through heating island support\n",
+ "\n",
+ "Th = Tsurr + qh*Rtsupp/2.; \t\t\t#[K] Temp of Heating island\n",
+ "\n",
+ "#For portion Through Carbon Nanotube\n",
+ "\n",
+ "\n",
+ "kcn = qs*s/(Acn*(Th-Ts));\n",
+ "qs = (Th-Ts)/(s/(kcn*Acn));\n",
+ "#results\n",
+ "\n",
+ "print '%s %.2f %s' %(\"\\n\\n Thermal Conductivity of Carbon nanotube =\",kcn,\"W/m.K\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "\n",
+ " Thermal Conductivity of Carbon nanotube = 3111.86 W/m.K\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.4 Page 113"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Temperature Distribution And Heat rate\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linspace\n",
+ "import matplotlib\n",
+ "from matplotlib import pyplot\n",
+ "a = 0.25;\n",
+ "x1 = .05; #[m] Distance of smaller end\n",
+ "x2 = .25; #[m] Distance of larger end\n",
+ "T1 = 400; #[K] Temperature of smaller end\n",
+ "T2 = 600; #[K] Temperature of larger end\n",
+ "k = 3.46; #[W/m.K] From Table A.2, Pyroceram at Temp 285K\n",
+ "T=numpy.zeros(100)\n",
+ "#calculations\n",
+ "\n",
+ "x = numpy.linspace(0.05,100,num=100);\n",
+ "i=1;\n",
+ "for i in range (0,99):\n",
+ " z=float(x[i]);\n",
+ " T[i]=(T1 + (T1-T2)*((1/z - 1/x1)/(1/x1 - 1/x2)));\t\n",
+ "\n",
+ "pyplot.plot(x,T);\n",
+ "pyplot.xlabel(\"x (m)\");\n",
+ "pyplot.ylabel(\"T (K)\");\n",
+ "pyplot.show()\n",
+ "qx = math.pi*a*a*k*(T1-T2)/(4*(1/x1 - 1/x2)); #[W]\n",
+ "#results\n",
+ "\n",
+ "print '%s %.2f %s' %(\"\\n\\n Heat Transfer rate =\",qx,\" W\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "\n",
+ " Heat Transfer rate = -2.12 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.5 Page 119 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "%pylab inline\n",
+ "# Critical Thickness\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linspace\n",
+ "import matplotlib\n",
+ "from matplotlib import pyplot\n",
+ "k = .055; \t\t\t\t#[W/m.K] From Table A.3, Cellular glass at Temp 285K\n",
+ "h = 5; \t\t\t\t#[W/m^2.K]\n",
+ "ri = 5*math.pow(10,-3); #[m] radius of tube\n",
+ "#calculations\n",
+ "\n",
+ "rct = k/h; \t\t\t\t# [m] Critical Thickness of Insulation for maximum Heat loss or minimum resistance\n",
+ "\n",
+ "x = numpy.linspace(0,100,num=99);\n",
+ "ycond= numpy.zeros(99);\n",
+ "yconv= numpy.zeros(99);\n",
+ "ytot= numpy.zeros(99);\n",
+ "for i in range (0,99):\n",
+ " z=float(x[i]);\n",
+ " ycond[i]=(2.30*math.log10((z+ri)/ri)/(2*math.pi*k));\n",
+ " yconv[i]=1/(2*math.pi*(z+ri)*h);\n",
+ " ytot[i]=yconv[i]+ycond[i];\n",
+ "\n",
+ " \n",
+ "pyplot.plot(x,ytot);\n",
+ "pyplot.xlabel(\"r-ri (m)\");\n",
+ "pyplot.ylabel(\"R (m.K/W)\");\n",
+ "pyplot.show();\n",
+ "#results\n",
+ "\n",
+ "print '%s %.3f %s' %(\"\\n\\n Critical Radius is =\",rct,\" m \")\n",
+ "print '%s %.3f %s' %(\"\\n Heat transfer will increase with the addition of insulation up to a thickness of\",rct-ri,\" m\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Populating the interactive namespace from numpy and matplotlib\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nREQAgP8HciaKFosIw6gAAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x42e6390>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "\n",
+ " Critical Radius is = 0.011 m \n",
+ "\n",
+ " Heat transfer will increase with the addition of insulation up to a thickness of 0.006 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.6 Page 122"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Heat conduction through Spherical Container \n",
+ "import math\n",
+ "k = .0017; \t\t\t\t\t\t#[W/m.K] From Table A.3, Silica Powder at Temp 300K\n",
+ "h = 5; \t\t\t\t\t\t#[W/m^2.K]\n",
+ "r1 = 25./100.; \t\t\t\t#[m] Radius of sphere\n",
+ "r2 = .275; \t\t\t\t#[m] Radius including Insulation thickness\n",
+ "\n",
+ "#Liquid Nitrogen Properties\n",
+ "T = 77; \t\t\t\t\t\t#[K] Temperature\n",
+ "rho = 804; \t\t\t\t\t\t#[kg/m^3] Density\n",
+ "hfg = 2*100000.; \t\t\t\t\t#[J/kg] latent heat of vaporisation\n",
+ "\n",
+ "#Air Properties\n",
+ "Tsurr = 300; \t\t\t\t\t\t#[K] Temperature\n",
+ "h = 20 \t\t\t\t\t\t;#[W/m^2.K] convection coefficient\n",
+ "#calculations\n",
+ "\n",
+ "Rcond = (1/r1-1/r2)/(4*math.pi*k); #Using Eq 3.36\n",
+ "Rconv = 1/(h*4*math.pi*r2*r2);\n",
+ "q = (Tsurr-T)/(Rcond+Rconv);\n",
+ "\n",
+ "print '%s %.2f %s' %(\"\\n\\n (a)Rate of Heat transfer to Liquid Nitrogen\",q,\" W\");\n",
+ "\n",
+ "#Using Energy Balance q - m*hfg = 0\n",
+ "m=q/hfg; \t\t\t\t\t\t#[kg/s] mass of nirtogen lost per second\n",
+ "mc = m/rho*3600*24*1000.;\n",
+ "#results\n",
+ "\n",
+ "print '%s %.2f %s' %(\"\\n\\n (b)Mass rate of nitrogen boil off \",mc,\"Litres/day\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "\n",
+ " (a)Rate of Heat transfer to Liquid Nitrogen 13.06 W\n",
+ "\n",
+ "\n",
+ " (b)Mass rate of nitrogen boil off 7.02 Litres/day\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.7 Page 129"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Composite Plane wall\n",
+ "import math\n",
+ "\n",
+ "Tsurr = 30+273.; \t\t\t\t\t\t#[K] Temperature of surrounding Water\n",
+ "h = 1000.; \t\t\t\t\t\t\t#[W/m^2.K] Heat Convection Coeff of Water\n",
+ "kb = 150.; \t\t\t\t\t\t\t#[W/m.K] Material B\n",
+ "Lb = .02; \t\t\t\t\t\t\t#[m] Thickness Material B\n",
+ "ka = 75.; \t\t\t\t\t\t\t#[W/m.K] Material A\n",
+ "La = .05; \t\t\t\t\t\t\t#[m] Thickness Material A\n",
+ "qa = 1.5*math.pow(10,6);\t\t\t\t#[W/m^3] Heat generation at wall A\n",
+ "qb = 0; \t\t\t\t\t\t\t\t#[W/m^3] Heat generation at wall B\n",
+ "#calculations\n",
+ "T2 = Tsurr + qa*La/h;\n",
+ "To = 100+273.15; \t\t\t\t #[K] Temp of opposite end of rod\n",
+ "Rcondb = Lb/kb;\n",
+ "Rconv = 1/h;\n",
+ "T1 = Tsurr +(Rcondb + Rconv)*(qa*La);\n",
+ "#From Eqn 3.43\n",
+ "T0 = qa*La*La/(2*ka) + T1;\n",
+ "\n",
+ "#results\n",
+ "\n",
+ "print '%s %d %s' %(\"\\n\\n (a) Inner Temperature of Composite To = \",T0-273,\" degC\") \n",
+ "print '%s %d %s' %(\"\\n (b) Outer Temperature of the Composite T2 =\",T2-273,\" degC\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "\n",
+ " (a) Inner Temperature of Composite To = 140 degC\n",
+ "\n",
+ " (b) Outer Temperature of the Composite T2 = 105 degC\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.9 Page 145 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "%pylab inline\n",
+ "# Heat conduction through Rod\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "import matplotlib\n",
+ "from matplotlib import pyplot\n",
+ "%pylab inline\n",
+ "kc = 398.; \t\t\t\t\t\t#[W/m.K] From Table A.1, Copper at Temp 335K\n",
+ "kal = 180.; \t \t\t\t\t\t#[W/m.K] From Table A.1, Aluminium at Temp 335K\n",
+ "kst = 14.; \t\t\t\t\t\t#[W/m.K] From Table A.1, Stainless Steel at Temp 335K\n",
+ "h = 100.; \t\t\t\t\t\t#[W/m^2.K] Heat Convection Coeff of Air\n",
+ "Tsurr = 25+273.; \t\t\t\t#[K] Temperature of surrounding Air\n",
+ "D = 5/1000.; \t\t\t\t\t#[m] Dia of rod\n",
+ "To = 100+273.15; \t\t\t\t#[K] Temp of opposite end of rod\n",
+ "#calculations\n",
+ "\n",
+ "#For infintely long fin m = h*P/(k*A)\n",
+ "mc = math.pow((4*h/(kc*D)),.5);\n",
+ "mal = math.pow((4*h/(kal*D)),.5);\n",
+ "mst = math.pow((4*h/(kst*D)),.5);\n",
+ "x = numpy.linspace(0,0.3,100);\n",
+ "Tc= numpy.zeros(100);\n",
+ "Tal= numpy.zeros(100);\n",
+ "Tst= numpy.zeros(100);\n",
+ "for i in range (0,100):\n",
+ " z=x[i];\n",
+ " Tc[i] =Tsurr + (To - Tsurr)*math.pow(2.73,(-mc*z)) - 273;\n",
+ " Tal[i] = Tsurr + (To - Tsurr)*math.pow(2.73,(-mal*z)) -273;\n",
+ " Tst[i] = Tsurr + (To - Tsurr)*math.pow(2.73,(-mst*z)) -273;\n",
+ "\n",
+ "\n",
+ "pyplot.plot(x,Tc,label=\"Cu\");\n",
+ "pyplot.plot(x,Tal,label=\"2024 Al\");\n",
+ "pyplot.plot(x,Tst,label=\"316 SS\");\n",
+ "pyplot.legend();\n",
+ "pyplot.xlabel(\"x (m)\");\n",
+ "pyplot.ylabel(\"T (C)\");\n",
+ "pyplot.show();\n",
+ "\n",
+ "#Using eqn 3.80\n",
+ "qfc = math.pow((h*math.pi*D*kc*math.pi/4*D*D),.5)*(To-Tsurr);\n",
+ "qfal = math.pow((h*math.pi*D*kal*math.pi/4*D*D),.5)*(To-Tsurr);\n",
+ "qfst = math.pow((h*math.pi*D*kst*math.pi/4*D*D),.5)*(To-Tsurr);\n",
+ "\n",
+ "print '%s %.2f %s %.2f %s %.2f %s' %(\"\\n\\n (a) Heat rate \\n For Copper = \",qfc,\"W \\n For Aluminium =\",qfal,\" W \\n For Stainless steel = \",qfst,\" W\");\n",
+ "\n",
+ "#Using eqn 3.76 for satisfactory approx\n",
+ "Linfc = 2.65/mc;\n",
+ "Linfal = 2.65/mal;\n",
+ "Linfst = 2.65/mst;\n",
+ "\n",
+ "print '%s %.2f %s %.2f %s %.2f %s' %(\"\\n\\n (a) Rods may be assumed to be infinite Long if it is greater than equal to \\n For Copper =\",Linfc,\"m \\n For Aluminium = \",Linfal,\" m \\n For Stainless steel =\",Linfst,\"m\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Populating the interactive namespace from numpy and matplotlib\n",
+ "Populating the interactive namespace from numpy and matplotlib\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nN10xap3F+fPnOXjwIL1790ar1eLs7AyAi4sLiYmJxgxNCCFECUZLFunp6YwcOZJFixbRVOZrEEKI\nuk0xgtzcXOWhhx5SPvzww+J1bdq0UbRaraIoipKYmKh4eXmVOc7Ly0tBHS5LFllkkUWWKi7l/T6t\nLoPPLqsoCk8//TTe3t7MmDGjeH1ISAgRERFMnz6diIgIQkJCyhx79uxZQ4YqhBDiHwYfdXbXrl30\n7dsXf3//4klG5s2bR/fu3Rk1ahQJCQm4u7uzevVqHGQmOCGEqBNMaohyIYQQxlFnenBv2rQJPz8/\nvL29ee+998rdZ9q0afj4+HDvvffy559/VutYY6vN/bVu3Rp/f38CAgLo3r27oUKulsru7+TJkwQG\nBtKoUSM++OCDah1rbLW5N3P47pYvX46/vz9+fn507dqVmJiYKh9bF9Tm/szh+/vpp5/w9/enU6dO\n+Pn5sWnTpiofW0qtaz10IDs7W2ndurUSHx+v5OXlKV27dlUOHTpUap8ffvhBGTJkiKIoinLo0CGl\nU6dOVT7W2Gpzf4qiKK1bt1aSk5MNGnN1VOX+EhMTlYMHDyr/93//p7z//vvVOtaYanNvimIe393+\n/fuVmzdvKoqiKBs3blQ6d+5c5WONrTb3pyjm8f2lp6cXv4+NjVVatmxZ5WNLqhMli/379+Pj40OL\nFi1o0KABo0aNKtMpr2SnvYCAAPLz84mPj6/SscZW0/u7fPly8XalDj8trMr9NWvWjK5du2JlZVXt\nY42pNvdWxNS/u+7du2NnZwdAr169iv9d1vXvDmp3f0VM/fuztbUtfp+enk7z5s2rfGxJdSJZxMfH\n4+npWfzZw8OD+Pj4Ku1z+fLlSo81ttrcH6hTIhaNm/Xxxx8bJuhqqMr96eNYQ6htfOb23X3++ecM\nGTKkRscaQ23uD8zn+1u/fj0dO3Zk0KBBLF68uFrHFjF409nyFLWKqkxdzvB3Utv727t3L25ubmi1\nWgYOHEiHDh148MEHdRlirVT1/nR9rCHUNr59+/bh6upqFt9ddHQ0X3/9Nbt37672scZSm/sD8/n+\nhg4dytChQ9m5cydhYWGcPHmy2teqEyULDw8PLl26VPz50qVLpTJeefsUZcWqHGtsNb0/Dw8PQB1P\nC9THHSNHjuTgwYMGiLrqavMd1PXvr7bxubq6Aqb/3cXGxvLMM8/w888/4+joWK1jjak29wfm8/0V\n6dOnD/n5+SQmJuLp6Vm970/nNS41kJWVpbRq1UqJj49XcnNzla5duyoxMTGl9vnhhx+UoUOHKoqi\nKKOfl4IAAAN3SURBVDExMYq/v3+VjzW22txfRkaGkpGRoSiKWlHVt29f5aeffjLsDVSiOt9BeHh4\nqUrguv791ebezOW7u3DhguLl5aXs3bu32scaW23uz1y+v7i4uOL3MTExioeHh1JYWFjt769OJAtF\nUZSoqCjFx8dH6dixo/LOO+8oiqIon332mfLZZ58V7zN16lTF29tbCQgIKHVT5R1b19T0/s6dO6f4\n+/srnTp1Utq1a6fMmTPHKPFXprL7u3r1quLh4aE0bdpUcXBwUDw9PZW0tLQKj61Lanpv5vLdPf30\n04qTk5PSuXNnpXPnzkq3bt3ueGxdU9P7M5fvb968eYqvr6/i6+urdOvWTdm1a9cdj62IdMoTQghR\nqTpRZyGEEKJuk2QhhBCiUpIshBBCVEqShRBCiEpJshBCCFEpSRZCCCEqJclCiFrIycmhX79+1RqK\nZvHixSxfvlyPUQmhe9LPQoha+Prrr0lOTubll1+u8jFpaWn079+fAwcO6DEyIXRLShZClOPgwYN0\n6tSJnJwcMjIy8PX15fjx42X2W7lyZfEopdHR0fTr148RI0bQtm1bXnnlFZYvX05gYCD33HMPZ86c\nAcDOzg5nZ2eOHTtm0HsSojbqxKizQtQ13bp145FHHmH27NlkZWURFhaGt7d3qX0KCgo4evQo7du3\nL14XGxvLmTNnaNq0KXfffTeTJk1i7969LF68mEWLFhUPc929e3d27NiBj4+PQe9LiJqSZCFEBV57\n7TW6du2KjY0NH330UZntSUlJxZPmFOnWrRsuLi4AtG3btng4a19fX37//ffi/e666y7+/vtvPUYv\nhG7JYyghKpCUlERGRgbp6elkZWWVu8/tVX4NGzYsfm9hYVH82cLCgsLCwlLHmcJ8EEIUkWQhRAWe\nffZZ3nrrLcaOHcusWbPKbHdxcSE9Pb1G57569SqtW7euZYRCGI4kCyHKsWzZMho2bMjo0aN55ZVX\nOHjwINHR0aX2sbS0xNfXl1OnTgHqrGUVlRZu33bgwAH69Omjt/iF0DVpOitELXzzzTckJCSUW/Ko\nyM2bN+nfv3+dm3VNiDuRZCFELeTm5vLggw+yffv2KtdBLF68GCcnJ8aNG6fn6ITQHUkWQgghKiV1\nFkIIISolyUIIIUSlJFkIIYSolCQLIYQQlZJkIYQQolKSLIQQQlTq/wHpPf5jfDuLugAAAABJRU5E\nrkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x43e7f50>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "\n",
+ " (a) Heat rate \n",
+ " For Copper = 8.33 W \n",
+ " For Aluminium = 5.60 W \n",
+ " For Stainless steel = 1.56 W\n",
+ "\n",
+ "\n",
+ " (a) Rods may be assumed to be infinite Long if it is greater than equal to \n",
+ " For Copper = 0.19 m \n",
+ " For Aluminium = 0.13 m \n",
+ " For Stainless steel = 0.04 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.10 Page 156"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Study of motorcycle finned cylinder\n",
+ "import math\n",
+ "H = .15; \t\t\t\t\t\t#[m] height\n",
+ "k = 186; \t\t\t\t\t#[W/m.K] alumunium at 400K\n",
+ "h = 50; \t\t\t\t\t#[W/m^2.K] Heat convection coefficient\n",
+ "Tsurr = 300; \t\t\t\t#[K] Temperature of surrounding air\n",
+ "To = 500; \t\t\t\t\t#[K] Temp inside\n",
+ "\n",
+ "#Dimensions of Fin\n",
+ "N = 5;\n",
+ "t = .006; \t\t\t\t\t#[m] Thickness\n",
+ "L = .020; \t\t\t\t\t#[m] Length\n",
+ "r2c = .048; \t\t\t\t#[m]\n",
+ "r1 = .025; \t\t\t#[m]\n",
+ "#calculations\n",
+ "\n",
+ "Af = 2*math.pi*(r2c*r2c-r1*r1);\n",
+ "At = N*Af + 2*math.pi*r1*(H-N*t);\n",
+ "\n",
+ "#Using fig 3.19 \n",
+ "nf = .95;\n",
+ "\n",
+ "qt = h*At*(1-N*Af*(1-nf)/At)*(To-Tsurr);\n",
+ "qwo = h*(2*math.pi*r1*H)*(To-Tsurr);\n",
+ "#results\n",
+ "\n",
+ "print '%s %.2f %s' %(\"\\n\\n Heat Transfer Rate with the fins =\",qt,\"W \")\n",
+ "print '%s %.2f %s' %(\" \\n Heat Transfer Rate without the fins =\",qwo,\"W\")\n",
+ "print '%s %.2f %s' %(\"\\n Thus Increase in Heat transfer rate of\",qt-qwo,\" W is observed with fins\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "\n",
+ " Heat Transfer Rate with the fins = 689.60 W \n",
+ " \n",
+ " Heat Transfer Rate without the fins = 235.62 W\n",
+ "\n",
+ " Thus Increase in Heat transfer rate of 453.98 W is observed with fins\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.11 Page 158"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Study of Fuel-cell fan system\n",
+ "import math\n",
+ "Wc =.05; \t\t\t\t#[m] width\n",
+ "H = .026; \t \t\t\t\t#[m] height\n",
+ "tc = .006; \t\t\t\t#[m] thickness of cell\n",
+ "V = 9.4; \t\t\t\t#[m/sec] vel of cooling air\n",
+ "P = 9; \t\t\t\t#[W] Power generated\n",
+ "C = 1000; \t\t\t\t#[W/(m^3/s)] Ratio of fan power consumption to vol flow rate\n",
+ "k = 200; \t\t\t\t#[W/m.K] alumunium\n",
+ "Tsurr = 25+273.15; \t\t#[K] Temperature of surrounding air\n",
+ "Tc = 56.4+273.15; \t\t#[K] Temp of fuel cell\n",
+ "Rtcy = math.pow(10,-3); #[K/W] Contact thermal resistance\n",
+ "tb = .002; \t\t#[m] thickness of base of heat sink\n",
+ "Lc = .05; \t\t\t#[m] length of fuel cell\n",
+ "#Dimensions of Fin\n",
+ "tf = .001; \t\t\t\t#[m] Thickness\n",
+ "Lf = .008; \t\t\t\t#[m] Length\n",
+ "#calculations\n",
+ "\n",
+ "Vf = V*(Wc*(H-tc)); \t\t#[m^3/sec] Volumetric flow rate\n",
+ "Pnet = P - C*Vf;\n",
+ "\n",
+ "\n",
+ "P = 2*(Lc+tf);\n",
+ "Ac = Lc*tf;\n",
+ "N = 22;\n",
+ "a=(2*Wc - N*tf)/N;\n",
+ "h = 19.1; \t\t#/[W/m^2.K]\n",
+ "q = 11.25; \t\t#[W]\n",
+ "m = math.pow((h*P/(k*Ac)),.5);\n",
+ "Rtf = math.pow((h*P*k*Ac),(-.5))/ math.tanh(m*Lf);\n",
+ "Rtc = Rtcy/(2*Lc*Wc);\n",
+ "Rtbase = tb/(2*k*Lc*Wc);\n",
+ "Rtb = 1/(h*(2*Wc-N*tf)*Lc);\n",
+ "Rtfn = Rtf/N;\n",
+ "Requiv = 1/(1/Rtb + 1/Rtfn);\n",
+ "Rtot = Rtc + Rtbase + Requiv;\n",
+ "\n",
+ "Tc2 = Tsurr +q*(Rtot);\n",
+ "#results\n",
+ "\n",
+ "print '%s %.2f %s' %(\"\\n\\n (a) Power consumed by fan is more than the generated power of fuel cell, and hence system cannot produce net power = \",Pnet ,\"W \")\n",
+ "print '%s %.2f %s %.2f %s' %(\"\\n\\n (b) Actual fuel cell Temp is close enough to \",Tc2-273.,\" degC for reducing the fan power consumption by half ie Pnet =\",C*Vf/2.,\" W, we require 22 fins, 11 on top and 11 on bottom.\");\n",
+ "\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "\n",
+ " (a) Power consumed by fan is more than the generated power of fuel cell, and hence system cannot produce net power = -0.40 W \n",
+ "\n",
+ "\n",
+ " (b) Actual fuel cell Temp is close enough to 54.47 degC for reducing the fan power consumption by half ie Pnet = 4.70 W, we require 22 fins, 11 on top and 11 on bottom.\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.12 Page 163"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Heat loss from body & temp at inner surface\n",
+ "import math\n",
+ "hair = 2.; \t\t\t#[W/m^2.K] Heat convection coefficient air\n",
+ "hwater = 200.; \t\t#[W/m^2.K] Heat convection coefficient water\n",
+ "hr = 5.9 ; \t\t\t#[W/m^2.K] Heat radiation coefficient\n",
+ "Tsurr = 297.; \t\t#[K] Temperature of surrounding air\n",
+ "Tc = 37+273.; \t\t#[K] Temp inside\n",
+ "e = .95;\n",
+ "A = 1.8 ; \t\t#[m^2] area\n",
+ "#Prop of blood\n",
+ "w = .0005 ; \t\t#[s^-1] perfusion rate\n",
+ "pb = 1000.; \t\t#[kg/m^3] blood density\n",
+ "cb = 3600.; \t\t#[J/kg] specific heat\n",
+ "#Dimensions & properties of muscle & skin/fat\n",
+ "Lm = .03 ; \t\t#[m]\n",
+ "Lsf = .003 ; \t\t#[m]\n",
+ "km = .5 ; \t\t#[W/m.K]\n",
+ "ksf = .3; \t\t#[W/m.K]\n",
+ "q = 700.; \t\t#[W/m^3] Metabolic heat generation rate\n",
+ "#calculations\n",
+ "\n",
+ "Rtotair = (Lsf/ksf + 1/(hair + hr))/A;\n",
+ "Rtotwater = (Lsf/ksf + 1/(hwater+hr))/A;\n",
+ "#please correct this in the textbook. \n",
+ "m = math.pow((w*pb*cb/km),.5);\n",
+ "Theta = -q/(w*pb*cb);\n",
+ "\n",
+ "Tiair = (Tsurr*math.sinh(m*Lm) + km*A*m*Rtotair*(Theta + (Tc + q/(w*pb*cb))*math.cosh(m*Lm)))/(math.sinh(m*Lm)+km*A*m*Rtotair*math.cosh(m*Lm));\n",
+ "qair = (Tiair - Tsurr)/Rtotair;\n",
+ "\n",
+ "Tiwater = (Tsurr*math.sinh(m*Lm) + km*A*m*Rtotwater*(Theta + (Tc + q/(w*pb*cb))*math.cosh(m*Lm)))/(math.sinh(m*Lm)+km*A*m*Rtotwater*math.cosh(m*Lm));\n",
+ "qwater = (Tiwater - Tsurr)/Rtotwater;\n",
+ "#results\n",
+ "\n",
+ "print '%s %.2f %s' %(\"\\n\\n For Air \\n Temp excess Ti = \",Tiair-273,\" degC \")\n",
+ "print '%s %.2f %s %.2f %s %.2f %s' %(\"and Heat loss rate =\",qair,\" W \\n\\n For Water \\n Temp excess Ti = \",Tiwater-273,\" degC and Heat loss rate =\",qwater,\"W \");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "\n",
+ " For Air \n",
+ " Temp excess Ti = 34.77 degC \n",
+ "and Heat loss rate = 141.99 W \n",
+ "\n",
+ " For Water \n",
+ " Temp excess Ti = 28.25 degC and Heat loss rate = 514.35 W \n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_4.ipynb b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_4.ipynb
new file mode 100644
index 00000000..70b74f06
--- /dev/null
+++ b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_4.ipynb
@@ -0,0 +1,277 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Two dimensional, Steady State Conduction"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.1 Page 211 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Thermal resistance of wire coating associated with peripheral variations in coating thickness\n",
+ "import math\n",
+ "d = .005; \t\t\t\t\t\t\t\t\t\t#[m] Diameter of wire\n",
+ "k = .35; \t\t\t\t\t\t\t\t\t\t#[W/m.K] Thermal Conductivity\n",
+ "h = 15; \t\t\t\t\t\t\t\t\t\t#[W/m^2.K] Total coeff with Convection n Radiation\n",
+ "#calculations\n",
+ "\n",
+ "rcr = k/h; \t\t\t\t\t\t\t\t\t\t# [m] critical insulation radius\n",
+ "tcr = rcr - d/2.; \t\t\t\t\t\t\t\t\t\t# [m] critical insulation Thickness\n",
+ "\n",
+ "Rtcond = 2.302*math.log10(rcr/(d/2.))/(2*math.pi*k); #[K/W] Thermal resistance \n",
+ "\n",
+ "#Using Table 4.1 Case 7\n",
+ "z = .5*tcr;\n",
+ "D=2*rcr;\n",
+ "Rtcond2D = (math.acosh((D*D + d*d - 4*z*z)/(2*D*d)))/(2*math.pi*k);\n",
+ "#results\n",
+ "\n",
+ "print '%s %.2f %s' %(\"\\n\\n The reduction in thermal resistance of the insulation is\", Rtcond-Rtcond2D,\" K/W \");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "\n",
+ " The reduction in thermal resistance of the insulation is 0.10 K/W \n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.3 Page 224"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Temperature Distribution and Heat rate per unit length\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "Ts = 500.; \t#[K] Temp of surface\n",
+ "Tsurr = 300.; \t#[K] Temp of surrounding Air\n",
+ "h = 10.; \t#[W/m^2.K] Heat Convection soefficient\n",
+ "#Support Column\n",
+ "delx = .25; \t#[m]\n",
+ "dely = .25; \t#[m]\n",
+ "k = 1.; \t#[W/m.K] From Table A.3, Fireclay Brick at T = 478K\n",
+ "#calculations\n",
+ "\n",
+ "#Applying Eqn 4.42 and 4.48\n",
+ "A = numpy.array([[-4, 1, 1, 0, 0, 0, 0, 0],\n",
+ "\t\t[2, -4, 0, 1, 0, 0, 0, 0],\n",
+ "\t\t[1, 0, -4, 1, 1, 0, 0, 0],\n",
+ "\t\t[0, 1, 2, -4, 0, 1, 0, 0],\n",
+ "\t\t[0,0, 1, 0, -4, 1, 1, 0],\n",
+ "\t\t[0, 0, 0, 1, 2, -4, 0, 1],\n",
+ "\t\t[0, 0, 0, 0, 2, 0, -9, 1],\n",
+ "\t\t[0, 0, 0, 0, 0, 2, 2, -9]]);\n",
+ " \n",
+ "C = numpy.array([[-1000], [-500], [-500], [0], [-500], [0], [-2000], [-1500]]);\n",
+ "\n",
+ "T = numpy.linalg.solve (A,C);\n",
+ "#results\n",
+ "\n",
+ "print '%s' %(\"\\n Temp Distribution in K = \");\n",
+ "print (T);\n",
+ "\n",
+ "q = 2*h*((delx/2.)*(Ts-Tsurr)+delx*(T[6]-Tsurr)+delx*(T[7]-Tsurr)/2.);\n",
+ "print '%s %.2f %s' %(\"\\n\\n Heat rate from column to the airstream\",q,\" W/m \");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Temp Distribution in K = \n",
+ "[[ 489.30472333]\n",
+ " [ 485.15381783]\n",
+ " [ 472.06507549]\n",
+ " [ 462.00582466]\n",
+ " [ 436.94975396]\n",
+ " [ 418.73932983]\n",
+ " [ 356.99461052]\n",
+ " [ 339.05198674]]"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "\n",
+ "\n",
+ " Heat rate from column to the airstream 882.60 W/m \n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4 Page 230"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Temperature Field and Rate of Heat Transfer\n",
+ "import math\n",
+ "import numpy\n",
+ "from numpy import linalg\n",
+ "#Operating Conditions\n",
+ "\n",
+ "ho = 1000; #[W/m^2.K] Heat Convection coefficient\n",
+ "hi = 200; #[W/m^2.K] Heat Convection coefficient\n",
+ "Ti = 400; #[K] Temp of Air\n",
+ "Tg = 1700; #[K] Temp of Gas\n",
+ "h = 10 ; #[W/m^2.K] Heat Convection coefficient\n",
+ "\n",
+ "A = 2*6*math.pow(10,-6) ;#[m^2] Cross section of each Channel\n",
+ "x = .004 ; #[m] Spacing between joints\n",
+ "t = .006; #[m] Thickness\n",
+ "k = 25; #[W/m.K] Thermal Conductivity of Blade\n",
+ "delx = .001 ; #[m]\n",
+ "dely = .001 ; #[m]\n",
+ "#calculations and results\n",
+ "\n",
+ "#Applying Eqn 4.42 and 4.48\n",
+ "A = numpy.array([[-(2+ho*delx/k), 1, 0,0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n",
+ " [1,-2*(2+ho*delx/k),1,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0],\n",
+ " [0,1,-2*(2+ho*delx/k),1,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0],\n",
+ " [0,0,1,-2*(2+ho*delx/k),1,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0],\n",
+ " [0,0,0,1,-2*(2+ho*delx/k),1,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0],\n",
+ " [0,0,0,0,1,-(2+ho*delx/k),0,0,0,0,0,1,0,0,0,0,0,0,0,0,0],\n",
+ " [1,0,0,0,0,0,-4,2,0,0,0,0,1,0,0,0,0,0,0,0,0],\n",
+ " [0,1,0,0,0,0,1,-4,1,0,0,0,0,1,0,0,0,0,0,0,0],\n",
+ " [0,0,1,0,0,0,0,1,-4,1,0,0,0,0,1,0,0,0,0,0,0],\n",
+ " [0,0,0,1,0,0,0,0,1,-4,1,0,0,0,0,1,0,0,0,0,0],\n",
+ " [0,0,0,0,1,0,0,0,0,1,-4,1,0,0,0,0,1,0,0,0,0],\n",
+ " [0,0,0,0,0,1,0,0,0,0,2,-4,0,0,0,0,0,1,0,0,0],\n",
+ " [0,0,0,0,0,0,1,0,0,0,0,0,-4,2,0,0,0,0,1,0,0],\n",
+ " [0,0,0,0,0,0,0,1,0,0,0,0,1,-4,1,0,0,0,0,1,0],\n",
+ " [0,0,0,0,0,0,0,0,2,0,0,0,0,2,-2*(3+hi*delx/k),1,0,0,0,0,1],\n",
+ " [0,0,0,0,0,0,0,0,0,2,0,0,0,0,1,-2*(2+hi*delx/k),1,0,0,0,0],\n",
+ " [0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,1,-2*(2+hi*delx/k),1,0,0,0],\n",
+ " [0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,-(2+hi*delx/k),0,0,0],\n",
+ " [0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,-2,1,0],\n",
+ " [0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,1,-4,1],\n",
+ " [0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,-(2+hi*delx/k)]]);\n",
+ " \n",
+ "C = numpy.array([[-ho*delx*Tg/k], \n",
+ " [-2*ho*delx*Tg/k],\n",
+ " [-2*ho*delx*Tg/k],\n",
+ " [-2*ho*delx*Tg/k],\n",
+ " [-2*ho*delx*Tg/k],\n",
+ " [-ho*delx*Tg/k],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [0],\n",
+ " [-2*hi*delx*Ti/k],\n",
+ " [-2*hi*delx*Ti/k],\n",
+ " [-2*hi*delx*Ti/k],\n",
+ " [-hi*delx*Ti/k],\n",
+ " [0],\n",
+ " [0],\n",
+ " [-hi*delx*Ti/k]]);\n",
+ "\n",
+ "T = numpy.linalg.solve (A,C);\n",
+ "print '%s' %(\"\\n Temp Distribution in K = \");\n",
+ "print (T);\n",
+ "q = 4*ho*((delx/2.)*(Tg-T[0])+delx*(Tg-T[1])+delx*(Tg-T[2])+ delx*(Tg-T[3])+delx*(Tg-T[4])+delx*(Tg-T[5])/2.);\n",
+ "print '%s %.1f %s' %(\"\\n\\n Heat rate Transfer = \" ,q,\"W/m \");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Temp Distribution in K = \n",
+ "[[ 1525.95413813]\n",
+ " [ 1525.27944565]\n",
+ " [ 1523.59609075]\n",
+ " [ 1521.93574674]\n",
+ " [ 1520.83066847]\n",
+ " [ 1520.45069026]\n",
+ " [ 1519.66699612]\n",
+ " [ 1518.7949547 ]\n",
+ " [ 1516.52842892]\n",
+ " [ 1514.53554374]\n",
+ " [ 1513.30134519]\n",
+ " [ 1512.88873965]\n",
+ " [ 1515.12393697]\n",
+ " [ 1513.70494809]\n",
+ " [ 1509.18712651]\n",
+ " [ 1506.37665411]\n",
+ " [ 1504.9504289 ]\n",
+ " [ 1504.50157796]\n",
+ " [ 1513.41885557]\n",
+ " [ 1511.71377418]\n",
+ " [ 1506.02634497]]\n",
+ "\n",
+ "\n",
+ " Heat rate Transfer = 3540.6 W/m \n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_5.ipynb b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_5.ipynb
new file mode 100644
index 00000000..a8498107
--- /dev/null
+++ b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_5.ipynb
@@ -0,0 +1,710 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Transient Conduction"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.1 Page 261"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Junction Diameter and Time Calculation to attain certain temp\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "\n",
+ "h = 400.; \t\t\t\t\t\t\t\t#[W/m^2.K] Heat Convection coefficient\n",
+ "k = 20.; \t\t\t\t\t\t\t\t#[W/m.K] Thermal Conductivity of Blade\n",
+ "c = 400.; \t\t\t\t\t\t\t\t#[J/kg.K] Specific Heat\n",
+ "rho = 8500.; \t\t\t\t\t\t\t\t#[kg/m^3] Density\n",
+ "Ti = 25+273.; \t\t\t\t\t\t\t#[K] Temp of Air\n",
+ "Tsurr = 200+273.; \t\t\t\t\t\t\t#[K] Temp of Gas Stream\n",
+ "TimeConstt = 1; \t\t\t\t\t\t\t#[sec]\n",
+ "#calculations\n",
+ "\n",
+ "#From Eqn 5.7\n",
+ "D = 6*h*TimeConstt/(rho*c);\n",
+ "Lc = D/6.;\n",
+ "Bi = h*Lc/k;\n",
+ "\n",
+ "#From eqn 5.5 for time to reach \n",
+ "T = 199+273.; \t\t\t\t\t\t\t\t#[K] Required temperature\n",
+ "\n",
+ "t = rho*D*c*2.30*math.log10((Ti-Tsurr)/(T-Tsurr))/(h*6.);\n",
+ "#results\n",
+ "\n",
+ "print '%s %.2e %s' %(\"\\n\\n Junction Diameter needed for a time constant of 1 s = \",D,\" m\") \n",
+ "print '%s %.2f %s' %(\"\\n\\n Time Required to reach 199degC in a gas stream =\",t,\" sec \");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "\n",
+ " Junction Diameter needed for a time constant of 1 s = 7.06e-04 m\n",
+ "\n",
+ "\n",
+ " Time Required to reach 199degC in a gas stream = 5.16 sec \n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.2 Page 265"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Steady State Temperature of junction\n",
+ "# Time Required for thermocouple to reach a temp that is within 1 degc of its steady-state value\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "\n",
+ "h = 400; \t\t#[W/m^2.K] Heat Convection coefficient\n",
+ "k = 20; \t\t#[W/m.K] Thermal Conductivity of Blade\n",
+ "c = 400; \t\t#[J/kg.K] Specific Heat\n",
+ "e = .9; \t\t\t#Absorptivity\n",
+ "rho = 8500; \t\t#[kg/m^3] Density\n",
+ "Ti = 25+273; \t#[K] Temp of Air\n",
+ "Tsurr = 400+273; \t#[K] Temp of duct wall\n",
+ "Tg = 200+273; \t\t#[K] Temp of Gas Stream\n",
+ "TimeConstt = 1; \t#[sec]\n",
+ "stfncnstt=5.67*math.pow(10,(-8)); # [W/m^2.K^4] - Stefan Boltzmann Constant \n",
+ "#calculations and results\n",
+ "\n",
+ "#From Eqn 5.7\n",
+ "D = 6*h*TimeConstt/(rho*c);\n",
+ "As = math.pi*D*D;\n",
+ "V = math.pi*D*D*D/6;\n",
+ "\n",
+ "#Balancing Energy on thermocouple Junction\n",
+ "#Newton Raphson method for 4th order eqn\n",
+ "T=500;\n",
+ "#After newton raphson method\n",
+ "T=490.7 \n",
+ "print '%s %.2f %s' %(\"\\n (a) Steady State Temperature of junction =\",T-273,\"degC\\n\");\n",
+ "\n",
+ "#Using Eqn 5.15 and Integrating the ODE\n",
+ "# Integration of the differential equation\n",
+ "# dT/dt=-A*[h*(T-Tg)+e*stefncnstt*(T^4-Tsurr^4)]/(rho*V*c) , T(0)=25+273, and finds the minimum time t such that T(t)=217.7+273.15\n",
+ "\n",
+ "T0=25+273;ng=1;\n",
+ "rd=4.98\n",
+ "print '%s %.2f %s' %(\"\\n (b) Time Required for thermocouple to reach a temp that is within 1 degc of its steady-state value = \",rd,\" s\\n\");\n",
+ "\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " (a) Steady State Temperature of junction = 217.70 degC\n",
+ "\n",
+ "\n",
+ " (b) Time Required for thermocouple to reach a temp that is within 1 degc of its steady-state value = 4.98 s\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.3 Page 267"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Total Time t required for two step process\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "\n",
+ "ho = 40; \t\t\t#[W/m^2.K] Heat Convection coefficient\n",
+ "hc = 10; \t \t\t#[W/m^2.K] Heat Convection coefficient\n",
+ "k = 177; \t\t\t#[W/m.K] Thermal Conductivity \n",
+ "e = .8; \t\t\t\t#Absorptivity\n",
+ "L = 3*math.pow(10,-3) /2.; #[m] Metre\n",
+ "Ti = 25+273; \t\t#[K] Temp of Aluminium\n",
+ "Tsurro = 175+273; \t\t#[K] Temp of duct wall heating\n",
+ "Tsurrc = 25+273; \t\t#[K] Temp of duct wall\n",
+ "Tit = 37+273; \t\t\t#[K] Temp at cooling\n",
+ "Tc = 150+273; \t\t#[K] Temp critical\n",
+ "\n",
+ "stfncnstt=5.67*math.pow(10,(-8)); # [W/m^2.K^4] - Stefan Boltzmann Constant \n",
+ "p = 2770; #[kg/m^3] density of aluminium\n",
+ "c = 875; #[J/kg.K] Specific Heat\n",
+ "#calculations and results\n",
+ "\n",
+ "#To assess the validity of the lumped capacitance approximation\n",
+ "Bih = ho*L/k;\n",
+ "Bic = hc*L/k;\n",
+ "print '%s %.1f %s %.1f' %(\"\\n Lumped capacitance approximation is valid as Bih =\",Bih,\" and Bic = \",Bic);\n",
+ "\n",
+ "#Eqn 1.9\n",
+ "hro = e*stfncnstt*(Tc+Tsurro)*(Tc*Tc+Tsurro*Tsurro);\n",
+ "hrc = e*stfncnstt*(Tc+Tsurrc)*(Tc*Tc+Tsurrc*Tsurrc);\n",
+ "print '%s %.1f %s %.1f %s' %(\"\\n Since The values of hro = %\",hro,\" and hrc =\",hrc,\"are comparable to those of ho and hc \");\n",
+ "\n",
+ "# Integration of the differential equation\n",
+ "# dy/dt=-1/(p*c*L)*[ho*(y-Tsurro)+e*stfncnstt*(y^4 - Tsurro^4)] , y(0)=Ti, and finds the minimum time t such that y(t)=150 degC\n",
+ "te = 423.07\n",
+ "tc=123.07\n",
+ "#From equation 5.15 and solving the two step process using integration\n",
+ "Ty0=Ti;\n",
+ "tt=564\n",
+ "# solution of integration of the differential equation\n",
+ "# dy/dt=-1/(p*c*L)*[hc*(y-Tsurrc)+e*stfncnstt*(y^4 - Tsurrc^4)] , y(rd(1))=Ty(43), and finds the minimum time t such that y(t)=37 degC=Tit\n",
+ "t20=te;\n",
+ "print '%s %d %s' %(\"\\n\\n Total time for the two-step process is t =\",tt+te,\"s\"); \n",
+ "print '%s %d %s %d %s' %(\"with intermediate times of tc =\",tc,\" s and te =\",te,\"s.\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Lumped capacitance approximation is valid as Bih = 0.0 and Bic = 0.0\n",
+ "\n",
+ " Since The values of hro = % 15.0 and hrc = 8.8 are comparable to those of ho and hc \n",
+ "\n",
+ "\n",
+ " Total time for the two-step process is t = 987 s\n",
+ "with intermediate times of tc = 123 s and te = 423 s.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.4 Page 278"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Radial System with Convection\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "\n",
+ "h = 500; \t\t\t#[W/m^2.K] Heat Convection coefficientat inner surface\n",
+ "k = 63.9; \t\t\t#[W/m.K] Thermal Conductivity \n",
+ "rho = 7832; \t\t\t#[kg/m^3] Density\n",
+ "c = 434; \t\t#[J/kg.K] Specific Heat\n",
+ "alpha = 18.8*math.pow(10,-6);#[m^2/s]\n",
+ "L = 40.*math.pow(10,-3);\t#[m] Metre\n",
+ "Ti = -20+273; \t\t#[K] Initial Temp\n",
+ "Tsurr = 60+273; \t\t#[K] Temp of oil\n",
+ "t = 8*60 ; \t\t#[sec] time\n",
+ "D = 1 ; \t\t\t\t#[m] Diameter of pipe\n",
+ "#calculations\n",
+ "\n",
+ "#Using eqn 5.10 and 5.12\n",
+ "Bi = h*L/k;\n",
+ "Fo = alpha*t/(L*L);\n",
+ "\n",
+ "#From Table 5.1 at this Bi\n",
+ "C1 = 1.047;\n",
+ "eta = 0.531;\n",
+ "theta0=C1*math.exp(-eta*eta*Fo);\n",
+ "T = Tsurr+theta0*(Ti-Tsurr);\n",
+ "\n",
+ "#Using eqn 5.40b\n",
+ "x=1;\n",
+ "theta = theta0*math.cos(eta);\n",
+ "Tl = Tsurr + (Ti-Tsurr)*theta;\n",
+ "q = h*(Tl - Tsurr);\n",
+ "\n",
+ "#Using Eqn 5.44, 5.46 and Vol per unit length V = pi*D*L\n",
+ "Q = (1-(math.sin(eta)/eta)*theta0)*rho*c*math.pi*D*L*(Ti-Tsurr);\n",
+ "#results\n",
+ "\n",
+ "print '%s %.2f %s' %(\"\\n (a) After 8 min Biot number =\",Bi,\" and\");\t \n",
+ "print '%s %.2f' %(\"\\n \\n Fourier Numer =\",Fo)\n",
+ "print '%s %.2f %s' %(\"\\n\\n (b) Temperature of exterior pipe surface after 8 min = \",T-273,\"degC\")\n",
+ "print '%s %.2f %s' %(\"\\n\\n (c) Heat Flux to the wall at 8 min = \",q,\"W/m^2\")\n",
+ "print '%s %.2e %s' %(\"\\n\\n (d) Energy transferred to pipe per unit length after 8 min =\",Q,\" J/m\")\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " (a) After 8 min Biot number = 0.31 and\n",
+ "\n",
+ " \n",
+ " Fourier Numer = 5.64\n",
+ "\n",
+ "\n",
+ " (b) Temperature of exterior pipe surface after 8 min = 42.92 degC\n",
+ "\n",
+ "\n",
+ " (c) Heat Flux to the wall at 8 min = -7362.49 W/m^2\n",
+ "\n",
+ "\n",
+ " (d) Energy transferred to pipe per unit length after 8 min = -2.72e+07 J/m\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5 Page 280 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Two step cooling process of Sphere\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "\n",
+ "ha = 10.; \t\t#[W/m^2.K] Heat Convection coefficientat air\n",
+ "hw = 6000.; \t#[W/m^2.K] Heat Convection coefficientat water\n",
+ "k = 20.; \t\t#[W/m.K] Thermal Conductivity \n",
+ "rho = 3000.; \t\t#[kg/m^3] Density\n",
+ "c = 1000.; \t#[J/kg.K] Specific Heat\n",
+ "alpha = 6.66*math.pow(10,-6); #[m^2/s]\n",
+ "Tiw = 335+273.; \t#[K] Initial Temp\n",
+ "Tia = 400+273.; \t#[K] Initial Temp\n",
+ "Tsurr = 20+273.; \t#[K] Temp of surrounding\n",
+ "T = 50+273.; \t\t#[K] Temp of center\n",
+ "ro = .005; \t\t#[m] radius of sphere\n",
+ "#calculations\n",
+ "\n",
+ "#Using eqn 5.10 and\n",
+ "Lc = ro/3.;\n",
+ "Bi = ha*Lc/k;\n",
+ "ta = rho*ro*c*2.30*(math.log10((Tia-Tsurr)/(Tiw-Tsurr)))/(3*ha);\n",
+ "\n",
+ "#From Table 5.1 at this Bi\n",
+ "C1 = 1.367;\n",
+ "eta = 1.8;\n",
+ "Fo = -1*2.30*math.log10((T-Tsurr)/((Tiw-Tsurr)*C1))/(eta*eta);\n",
+ "\n",
+ "tw = Fo*ro*ro/alpha;\n",
+ "#results\n",
+ "\n",
+ "print '%s %.1f %s' %(\"\\n (a) Time required to accomplish desired cooling in air ta =\",ta,\" s\")\n",
+ "print '%s %.2f %s' %(\"\\n\\n (b) Time required to accomplish desired cooling in water bath tw =\",tw,\"s\");\n",
+ "\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " (a) Time required to accomplish desired cooling in air ta = 93.7 s\n",
+ "\n",
+ "\n",
+ " (b) Time required to accomplish desired cooling in water bath tw = 3.08 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.6 Page 288"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Burial Depth\n",
+ "\n",
+ "#Operating Conditions\n",
+ "import math\n",
+ "k = .52; \t\t#[W/m.K] Thermal Conductivity \n",
+ "rho = 2050; \t\t#[kg/m^3] Density\n",
+ "c = 1840; \t#[J/kg.K] Specific Heat\n",
+ "Ti = 20+273.; \t#[K] Initial Temp\n",
+ "Ts = -15+273.; \t\t#[K] Temp of surrounding\n",
+ "T = 0+273.; \t\t#[K] Temp at depth xm after 60 days\n",
+ "t = 60*24*3600.; #[sec] time perod\n",
+ "#calculations\n",
+ "\n",
+ "alpha = k/(rho*c); #[m^2/s]\n",
+ "#Using eqn 5.57\n",
+ "xm = math.erfc((T-Ts)/(Ti-Ts)) *2*math.pow((alpha*t),.5);\n",
+ "#results\n",
+ "\n",
+ "print '%s %.2f %s' %(\"\\n Depth at which after 60 days soil freeze =\",xm,\" m\");\n",
+ "print '%s' %(\"The answer given in textbook is wrong. Please check using a calculator.\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Depth at which after 60 days soil freeze = 0.92 m\n",
+ "The answer given in textbook is wrong. Please check using a calculator.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.7 Page 293 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Spherical Tumor\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "\n",
+ "k = .5; \t\t#[W/m.K] Thermal Conductivity Healthy Tissue\n",
+ "kappa = .02*math.pow(10,3);#[m] extinction coefficient\n",
+ "p = .05; \t# reflectivity of skin\n",
+ "D = .005; \t#[m] Laser beam Dia\n",
+ "rho = 989.1 ; \t#[kg/m^3] Density\n",
+ "c = 4180 ; \t#[J/kg.K] Specific Heat\n",
+ "Tb = 37+273; \t#[K] Temp of healthy tissue\n",
+ "Dt = .003 ; \t#[m] Dia of tissue\n",
+ "d = .02 ; \t#[m] depth beneath the skin\n",
+ "Ttss = 55+273 ; \t#[K] Steady State Temperature\n",
+ "Tb = 37+273 ; \t#[K] Body Temperature\n",
+ "Tt = 52+273 ; \t#[K] Tissue Temperature\n",
+ "q = .170 ; \t#[W] \n",
+ "#calculations\n",
+ "\n",
+ "#Case 12 of Table 4.1\n",
+ "q = 2*math.pi*k*Dt*(Ttss-Tb);\n",
+ "\n",
+ "#Energy Balancing\n",
+ "P = q*(D*D)*math.exp(kappa*d)/((1-p)*Dt*Dt);\n",
+ "\n",
+ "#Using Eqn 5.14\n",
+ "t = rho*(math.pi*Dt*Dt*Dt/6.)*c*(Tt-Tb)/q;\n",
+ "\n",
+ "alpha=k/(rho*c);\n",
+ "Fo = 10.3;\n",
+ "#Using Eqn 5.68\n",
+ "t2 = Fo*Dt*Dt/(4*alpha);\n",
+ "#results\n",
+ "\n",
+ "print '%s %.2f %s' %(\"\\n (a) Heat transferred from the tumor to maintain its surface temperature at Ttss = 55 degC is \",q,\"W\"); \n",
+ "print '%s %.2f %s' %(\"\\n\\n (b) Laser power needed to sustain the tumor surface temperautre at Ttss = 55 degC is\", P,\"W\")\n",
+ "print '%s %.2f %s' %(\" \\n\\n (c) Time for tumor to reach Tt = 52 degC when heat transfer to the surrounding tissue is neglected is\",t,\"sec\")\n",
+ "print '%s %.2f %s' %(\" \\n\\n (d) Time for tumor to reach Tt = 52 degC when Heat transfer to thesurrounding tissue is considered and teh thermal mass of tumor is neglected is\",t2,\"sec\");\n",
+ "\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " (a) Heat transferred from the tumor to maintain its surface temperature at Ttss = 55 degC is 0.17 W\n",
+ "\n",
+ "\n",
+ " (b) Laser power needed to sustain the tumor surface temperautre at Ttss = 55 degC is 0.74 W\n",
+ " \n",
+ "\n",
+ " (c) Time for tumor to reach Tt = 52 degC when heat transfer to the surrounding tissue is neglected is 5.17 sec\n",
+ " \n",
+ "\n",
+ " (d) Time for tumor to reach Tt = 52 degC when Heat transfer to thesurrounding tissue is considered and teh thermal mass of tumor is neglected is 191.63 sec\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.8 Page 300"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Thermal Conductivity of Nanostructured material\n",
+ "import numpy\n",
+ "import math\n",
+ "from numpy import linalg\n",
+ "#Operating Conditions\n",
+ "\n",
+ "k = 1.11 ; \t\t\t#[W/m.K] Thermal Conductivity \n",
+ "rho = 3100; \t\t\t#[kg/m^3] Density\n",
+ "c = 820 ; \t\t\t#[J/kg.K] Specific Heat\n",
+ "#Dimensions of Strip\n",
+ "w = 100*math.pow(10,-6);\t#[m] Width\n",
+ "L = .0035 ; \t\t\t#[m] Long\n",
+ "d = 3000*math.pow(10,-10);\t#[m] Thickness\n",
+ "delq = 3.5*math.pow(10,-3);\t#[W] heating Rate \n",
+ "delT1 =1.37 ; \t\t\t#[K] Temperature 1\n",
+ "f1 = 2*math.pi ; \t\t\t#[rad/s] Frequency 1\n",
+ "delT2 =.71 ; \t\t\t#[K] Temperature 2\n",
+ "f2 = 200*math.pi; \t\t#[rad/s] Frequency 2\n",
+ "#calculations\n",
+ "\n",
+ "A = ([[delT1, -delq/(L*math.pi)],\n",
+ " [delT2, -delq/(L*math.pi)]]) ;\n",
+ "\n",
+ "C= ([[delq*-2.30*math.log10(f1/2.)/(2*L*math.pi)],\n",
+ " [delq*-2.30*math.log10(f2/2.)/(2*L*math.pi)]]) ;\n",
+ "\n",
+ "B = numpy.linalg.solve (A,C);\n",
+ "\n",
+ "alpha = k/(rho*c);\n",
+ "delp = ([math.pow((alpha/f1),.5), math.pow((alpha/f2),.5)]);\n",
+ "#results\n",
+ "\n",
+ "print '%s %.2f %s %.2f %s' %(\"\\n C2 = \",B[1],\"k =\",B[0],\" W/m.K \")\n",
+ "print '%s %.2e %s %.2e %s'\t%(\"\\n\\n Thermal Penetration depths are\",delp[0],\" m and \",delp[1],\"m at frequency 2*pi rad/s and 200*pi rad/s\");\n",
+ "\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " C2 = 5.35 k = 1.11 W/m.K \n",
+ "\n",
+ "\n",
+ " Thermal Penetration depths are 2.64e-04 m and 2.64e-05 m at frequency 2*pi rad/s and 200*pi rad/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.9 Page 305 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Temperature distribution 1.5s after a change in operating power\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "\n",
+ "L = .01; #[m] Metre\n",
+ "Tsurr = 250+273.; #[K] Temperature\n",
+ "h = 1100; #[W/m^2.K] Heat Convective Coefficient\n",
+ "q1 = math.pow(10,7); #[W/m^3] Volumetric Rate\n",
+ "q2 = 2*math.pow(10,7); #[W/m^3] Volumetric Rate\n",
+ "k = 30; #[W/m.K] Conductivity\n",
+ "a = 5*math.pow(10,-6); #[m^2/s]\n",
+ "#calculations\n",
+ "\n",
+ "delx = L/5.; #Space increment for numerical solution\n",
+ "Bi = h*delx/k; #Biot Number\n",
+ "#By using stability criterion for Fourier Number\n",
+ "Fo = 1/(2*(1+Bi));\n",
+ "#By definition\n",
+ "t = Fo*delx*delx/a;\n",
+ "#results\n",
+ "\n",
+ "print '%s %.3f %s' %('\\n As per stability criterion delt =',t,' s, hence setting stability limit as .3 s.')\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " As per stability criterion delt = 0.373 s, hence setting stability limit as .3 s.\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.10 Page 311"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Initialization\n",
+ "\n",
+ "# Using Explicit Finite Difference method, determine temperatures at the surface and 150 mm from the surface after an elapsed time of 2 min\n",
+ "# Repeat the calculations using the Implicit Finite Difference Method\n",
+ "# Determine the same temperatures analytically\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "a\n",
+ "delx = .075; #[m] Metre\n",
+ "T = 20+273.; #[K] Temperature\n",
+ "q = 3*math.pow(10,5); #[W/m^3] Volumetric Rate\n",
+ "\n",
+ "#From Table A.1 copper 300 K\n",
+ "k = 401; #[W/m.K] Conductivity\n",
+ "a = 117*math.pow(10,-6); #[m^2/s]\n",
+ "#calculations and results\n",
+ "\n",
+ "#By using stability criterion reducing further Fourier Number\n",
+ "Fo = 1./2.;\n",
+ "#By definition\n",
+ "delt = Fo*delx*delx/a;\n",
+ "#From calculations,\n",
+ "T11=125.19\n",
+ "T12=48.1\n",
+ "print '%s %.2f %s %.1f %s' %('\\n Hence after 2 min, the surface and the desirde interior temperature T0 =',T11,' degC and T2 =',T12,'degC');\n",
+ "\n",
+ "#By using stability criterion reducing further Fourier Number\n",
+ "Fo = 1/4;\n",
+ "#By definition\n",
+ "delt = Fo*delx*delx/a;\n",
+ "#From calculations\n",
+ "T21=118.86 \n",
+ "T22=44.4\n",
+ "print '%s %.2f %s %.1f %s' %('\\n Hence after 2 min, the surface and the desirde interior temperature T0 = ',T21,'degC and T2 =',T22,'degC')\n",
+ "\n",
+ "#(c) Approximating slab as semi-infinte medium\n",
+ "Tc = T -273 + 2*q*math.pow((a*t/math.pi),.5) /k;\n",
+ "t=120. #s\n",
+ "#At interior point x=0.15 m\n",
+ "x =.15; #[metre]\n",
+ "#Analytical Expression\n",
+ "Tc2 = T -273 + 2*q*math.pow((a*t/math.pi),.5) /k*math.exp(-x*x/(4*a*t))-q*x/k*(1-math.erf(.15/(2*math.sqrt(a*t))));\n",
+ "\n",
+ "print '%s %.1f %s' %(' \\n\\n (c) Approximating slab as a semi infinte medium, Analytical epression yields \\n At surface after 120 seconds = ,',Tc,'degC')\n",
+ "print '%s %.1f %s' %('\\n At x=.15 m after 120 seconds = ',Tc2,'degC');\n",
+ "#END\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Hence after 2 min, the surface and the desirde interior temperature T0 = 125.19 degC and T2 = 48.1 degC\n",
+ "\n",
+ " Hence after 2 min, the surface and the desirde interior temperature T0 = 118.86 degC and T2 = 44.4 degC\n",
+ " \n",
+ "\n",
+ " (c) Approximating slab as a semi infinte medium, Analytical epression yields \n",
+ " At surface after 120 seconds = , 25.6 degC\n",
+ "\n",
+ " At x=.15 m after 120 seconds = 45.4 degC\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_6.ipynb b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_6.ipynb
new file mode 100644
index 00000000..a8c5a4a2
--- /dev/null
+++ b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_6.ipynb
@@ -0,0 +1,342 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Introduction to Convection"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.2 Page 356 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#variable initialization\n",
+ "# Napthalene Sublimation rate per unit length\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "\n",
+ "h = .05; \t\t\t#[W/m^2.K] Heat Convection coefficient\n",
+ "D = .02; \t\t\t#[m] Diameter of cylinder\n",
+ "Cas = 5*math.pow(10,-6); #[kmol/m^3] Surface molar Conc\n",
+ "Casurr = 0; \t\t\t#[kmol/m^3] Surrounding molar Conc\n",
+ "Ma = 128; \t\t\t#[Kg/kmol] Molecular weight\n",
+ "#calculations\n",
+ "#From Eqn 6.15\n",
+ "Na = h*(math.pi*D)*(Cas-Casurr);\n",
+ "na = Ma*Na;\n",
+ "#results\n",
+ "print '%s %.2e %s' %(\"\\n\\n Mass sublimation Rate is =\",na,\" kg/s.m \");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "\n",
+ " Mass sublimation Rate is = 2.01e-06 kg/s.m \n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.3 Page 357"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#variable initialization\n",
+ "# Convection Mass Transfer coefficient \n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "\n",
+ "Dab = .288*math.pow(10,-4); \t#[m^2/s] Table A.8 water vapor-air (319K)\n",
+ "pas = .1; \t\t\t\t#[atm] Partial pressure at surface\n",
+ "pasurr = .02; \t\t\t#[atm] Partial pressure at infinity\n",
+ "y0 = .003; \t\t\t\t#[m] Tangent at y = 0 intercepts y axis at 3 mm\n",
+ "#calculations\n",
+ "#From Measured Vapor Pressure Distribution\n",
+ "delp = (0 - pas)/(y0 - 0); #[atm/m]\n",
+ "hmx = -Dab*delp/(pas - pasurr); #[m/s] \n",
+ "#results\n",
+ "print '%s %.4f %s' %(\"\\n\\n Convection Mass Transfer coefficient at prescribed location =\",hmx,\" m/s\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "\n",
+ " Convection Mass Transfer coefficient at prescribed location = 0.0120 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.4 Page 362 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#variable initialization\n",
+ "# Convection Mass Transfer coefficient \n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "v = 1; \t\t\t\t#[m/s] Velocity of water\n",
+ "L = 0.6; \t\t\t\t#[m] Plate length\n",
+ "Tw1 = 300.; \t\t\t\t#[K]\n",
+ "Tw2 = 350.; \t\t\t\t#[K]\n",
+ "#Coefficients [W/m^1.5 . K]\n",
+ "Clam1 = 395;\n",
+ "Cturb1 = 2330;\n",
+ "Clam2 = 477;\n",
+ "Cturb2 = 3600;\n",
+ "\n",
+ "#Water Properties at T = 300K\n",
+ "p1 = 997; \t\t\t\t#[kg/m^3] Density\n",
+ "u1 = 855*math.pow(10,-6); #[N.s/m^2] Viscosity\n",
+ "#Water Properties at T = 350K\n",
+ "p2 = 974; \t\t\t\t#[kg/m^3] Density\n",
+ "u2 = 365*math.pow(10,-6); #[N.s/m^2] Viscosity\n",
+ "\n",
+ "\n",
+ "Rec = 5*math.pow(10,5); #Transititon Reynolds Number\n",
+ "xc1 = Rec*u1/(p1*v); \t\t#[m]Transition length at 300K\n",
+ "xc2 = Rec*u2/(p2*v); \t\t#[m]Transition length at 350K\n",
+ "#calculations\n",
+ "#Integrating eqn 6.14\n",
+ "#At 300 K\n",
+ "h1 = (Clam1*math.pow(xc1,.5) /.5 + Cturb1*(math.pow(L,.8)-math.pow(xc1,.8))/.8)/L;\n",
+ "\n",
+ "#At 350 K\n",
+ "h2 = (Clam2*math.pow(xc2,.5) /.5 + Cturb2*(math.pow(L,.8)-math.pow(xc2,.8))/.8)/L;\n",
+ "#results\n",
+ "print '%s %.2f %s %.2f %s' %(\"\\n\\n Average Convection Coefficient over the entire plate for the two temperatures at 300K =\",h1,\" W/m^2.K and at 350K =\",h2,\" W/m^2.K\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "\n",
+ " Average Convection Coefficient over the entire plate for the two temperatures at 300K = 1622.45 W/m^2.K and at 350K = 3707.93 W/m^2.K\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.5 Page 372"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#variable initialization\n",
+ "# Heat Flux to blade when surface temp is reduced\n",
+ "# Heat flux to a larger turbine blade\n",
+ "\n",
+ "#Operating Conditions\n",
+ "v = 160; \t\t\t\t#[m/s] Velocity of air\n",
+ "L = 0.04; \t\t\t\t\t#[m] Blade length\n",
+ "Tsurr = 1150+273.; \t\t\t#[K]\n",
+ "Ts = 800+273.; \t\t\t\t#[K] Surface Temp\n",
+ "q = 95000; \t\t\t\t#[W/m^2] Original heat flux\n",
+ "#calculations\n",
+ "#Case 1\n",
+ "Ts1 = 700+273.; \t \t\t\t#[K] Surface Temp\n",
+ "q1 = q*(Tsurr-Ts1)/(Tsurr-Ts);\n",
+ "\n",
+ "#Case 2\n",
+ "L2 = .08; \t\t\t#[m] Length\n",
+ "q2 = q*L/L2; \t\t\t#[W/m^2] Heat flux\n",
+ "#results\n",
+ "\n",
+ "print '%s %d %s' %(\"\\n\\n (a) Heat Flux to blade when surface temp is reduced =\",q1/1000. ,\" KW/m^2\") \n",
+ "print '%s %.2f %s' %(\"\\n (b) Heat flux to a larger turbine blade = \",q2/1000. ,\"KW/m^2\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "\n",
+ " (a) Heat Flux to blade when surface temp is reduced = 122 KW/m^2\n",
+ "\n",
+ " (b) Heat flux to a larger turbine blade = 47.50 KW/m^2\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6 Page 379"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#variable initialization\n",
+ "# Water vapor conc and flux associated with the same location on larger surface of the same shape\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "v = 100; \t\t\t#[m/s] Velocity of air\n",
+ "Tsurr = 20+273.; \t\t#[K] Surrounding Air Temperature\n",
+ "L1 = 1; \t\t\t\t#[m] solid length\n",
+ "Ts = 80+273.; \t\t\t#[K] Surface Temp\n",
+ "qx = 10000; \t\t\t#[W/m^2] heat flux at a point x\n",
+ "Txy = 60+273.; \t\t#[K] Temp in boundary layer above the point\n",
+ "\n",
+ "#Table A.4 Air Properties at T = 323K\n",
+ "v = 18.2*math.pow(10,-6); #[m^2/s] Viscosity\n",
+ "k = 28*math.pow(10,-3); \t#[W/m.K] Conductivity\n",
+ "Pr = 0.7; \t\t\t#Prandttl Number\n",
+ "#Table A.6 Saturated Water Vapor at T = 323K\n",
+ "pasat = 0.082; \t\t\t#[kg/m^3]\n",
+ "Ma = 18; \t\t\t#[kg/kmol] Molecular mass of water vapor\n",
+ "#Table A.8 Water Vapor-air at T = 323K\n",
+ "Dab = .26*math.pow(10,-4);\t#[m^2/s]\n",
+ "#calculations\n",
+ "#Case 1\n",
+ "Casurr = 0;\n",
+ "Cas = pasat/Ma; \t\t#[kmol/m^3] Molar conc of saturated water vapor at surface\n",
+ "Caxy = Cas + (Casurr - Cas)*(Txy - Ts)/(Tsurr - Ts);\n",
+ "\n",
+ "#Case 2\n",
+ "L2 = 2.;\n",
+ "hm = L1/L2 * Dab/k * qx/(Ts-Tsurr);\n",
+ "Na = hm*(Cas - Casurr);\n",
+ "#results\n",
+ "\n",
+ "print '%s %.4f %s' %(\"\\n (a) Water vapor Concentration above the point =\",Caxy,\"Kmol/m^3 \\n\") \n",
+ "print '%s %.2e %s' %(\"(b) Molar flux to a larger surface = \",Na,\"Kmol/s.m^2\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " (a) Water vapor Concentration above the point = 0.0030 Kmol/m^3 \n",
+ "\n",
+ "(b) Molar flux to a larger surface = 3.53e-04 Kmol/s.m^2\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.7 Page 383 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#variable initialization\n",
+ "# Steady State Temperature of Beverage\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "Tsurr = 40+273.; \t\t#[K] Surrounding Air Temperature\n",
+ "#Volatile Wetting Agent A\n",
+ "hfg = 100; \t\t\t#[kJ/kg]\n",
+ "Ma = 200; \t\t\t#[kg/kmol] Molecular mass\n",
+ "pasat = 5000; \t\t\t#[N/m^2] Saturate pressure\n",
+ "Dab = .2*math.pow(10,-4); #[m^2/s] Diffusion coefficient\n",
+ "\n",
+ "#Table A.4 Air Properties at T = 300K\n",
+ "p = 1.16; \t#[kg/m^3] Density\n",
+ "cp = 1.007; \t#[kJ/kg.K] Specific Heat\n",
+ "alpha = 22.5*math.pow(10,-6)#[m^2/s] \n",
+ "R = 8.314; \t#[kJ/kmol] Universal Gas Constt\n",
+ "#calculations\n",
+ "#Applying Eqn 6.65 and setting pasurr = 0\n",
+ "# Ts^2 - Tsurr*Ts + B = 0 , where the coefficient B is\n",
+ "B = Ma*hfg*pasat*math.pow(10,-3) /(R*p*cp*math.pow((alpha/Dab),(2./3.)));\n",
+ "Ts = (Tsurr + math.sqrt(Tsurr*Tsurr - 4*B))/2. ;\n",
+ "#results\n",
+ "print '%s %.1f %s' %(\"\\n Steady State Surface Temperature of Beverage =\",Ts-273.,\"degC\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Steady State Surface Temperature of Beverage = 5.9 degC\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_7.ipynb b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_7.ipynb
new file mode 100644
index 00000000..f8aa1a6f
--- /dev/null
+++ b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_7.ipynb
@@ -0,0 +1,506 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "External Flow"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.1 Page 415"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#variable initialization\n",
+ "# Cooling rate per Unit Width of the Plate\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "v = 10; \t\t\t\t\t\t\t#[m/s] Air velocity\n",
+ "p = 6000; \t\t\t\t\t\t\t#[N/m^2] Air pressure\n",
+ "Tsurr = 300+273.; \t\t\t\t\t\t#[K] Surrounding Air Temperature\n",
+ "L = .5; \t\t\t\t\t\t\t#[m] Length of plate\n",
+ "Ts = 27+273.; \t\t\t\t\t\t#[K] Surface Temp\n",
+ "\n",
+ "#Table A.4 Air Properties at T = 437K \n",
+ "uv = 30.84*math.pow(10,-6)*(101325./6000.); #[m^2/s] Kinematic Viscosity at P = 6000 N/m^2\n",
+ "k = 36.4*math.pow(10,-3); \t\t#[W/m.K] Thermal COnductivity\n",
+ "Pr = .687; \t\t\t\t\t#Prandtl number\n",
+ "#calculations\n",
+ "Re = v*L/uv; \t\t\t\t\t\t#Reynolds number\n",
+ "print '%s %d %s' %(\"\\n Since Reynolds Number is\",Re,\", The flow is laminar over the entire plate\");\n",
+ "\n",
+ "#Correlation 7.30 \n",
+ "NuL = .664*math.pow(Re,.5)*math.pow(Pr,0.3334); #Nusselt Number over entire plate length\n",
+ "hL = NuL*k/L; # Average Convection Coefficient\n",
+ "#Required cooling rate per unit width of plate\n",
+ "q = hL*L*(Tsurr-Ts);\n",
+ "#results\n",
+ "print '%s %d %s' %(\"\\n\\n Required cooling rate per unit width of plate =\",q,\" W/m\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Since Reynolds Number is 9600 , The flow is laminar over the entire plate\n",
+ "\n",
+ "\n",
+ " Required cooling rate per unit width of plate = 570 W/m\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.2 Page 417"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#variable initialization\n",
+ "# Maximum Heater Power Requirement\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "v = 60; \t\t\t#[m/s] Air velocity\n",
+ "Tsurr = 25+273.; \t\t#[K] Surrounding Air Temperature\n",
+ "w = 1; \t\t\t#[m] Width of plate\n",
+ "L = .05; \t\t\t#[m] Length of stripper\n",
+ "Ts = 230+273.; \t\t#[K] Surface Temp\n",
+ "\n",
+ "#Table A.4 Air Properties at T = 400K \n",
+ "uv = 26.41*math.pow(10,-6); #[m^2/s] Kinematic Viscosity\n",
+ "k = .0338; \t#[W/m.K] Thermal COnductivity\n",
+ "Pr = .690; \t#Prandtl number\n",
+ "#calculations\n",
+ "Re = v*L/uv; \t\t#Reynolds number\n",
+ "\n",
+ "Rexc = 5*math.pow(10,5); #Transition Reynolds Number\n",
+ "xc = uv*Rexc/v; \t\t#Transition Length\n",
+ "#results\n",
+ "print '%s %d' %(\"\\n Reynolds Number based on length L = .05m is \",Re)\n",
+ "print '%s %.2f %s' %(\"\\n And the transition occur at xc =\",xc,\" m ie fifth plate\");\n",
+ "\n",
+ "#For first heater\n",
+ "#Correlation 7.30 \n",
+ "Nu1 = .664*math.pow(Re,0.5)*math.pow(Pr,0.3334); #Nusselt Number \n",
+ "h1 = Nu1*k/L; # Average Convection Coefficient\n",
+ "q1 = h1*(L*w)*(Ts-Tsurr); # Convective Heat exchange\n",
+ "\n",
+ "#For first four heaters\n",
+ "Re4 = 4*Re;\n",
+ "L4 = 4*L;\n",
+ "Nu4 = .664*math.pow(Re4,0.5)*math.pow(Pr,0.3334); #Nusselt Number \n",
+ "h4 = Nu4*k/L4; # Average Convection Coefficient\n",
+ "print(h4)\n",
+ "#For Fifth heater from Eqn 7.38\n",
+ "Re5 = 5*Re;\n",
+ "A = 871; \n",
+ "L5 = 5*L;\n",
+ "Nu5 = (.037*math.pow(Re5,.8)-A)*math.pow(Pr,.3334); #Nusselt Number \n",
+ "h5 = Nu5*k/L5; # Average Convection Coefficient\n",
+ "q5 = (h5*L5-h4*L4)*w*(Ts-Tsurr);\n",
+ "\n",
+ "#For Sixth heater from Eqn 7.38\n",
+ "Re6 = 6*Re;\n",
+ "L6 = 6*L;\n",
+ "Nu6 = (.037*math.pow(Re6,.8)-A)*math.pow(Pr,.3334) ; #Nusselt Number \n",
+ "h6 = Nu6*k/L6 ; # Average Convection Coefficient\n",
+ "q6 = (h6*L6-h5*L5)*w*(Ts-Tsurr);\n",
+ "\n",
+ "print '%s %d %s %d %s %d %s' %(\"\\n\\n Power requirement are \\n qconv1 = \",q1,\"W qconv5 =\",q5,\" W qconv6 = \",q6,\"W\");\n",
+ "print '%s %d %s %d %s %d %s' %(\"\\n Hence\",q6,\">\",q1,\" >\",q5,\"and the sixth plate has largest power requirement\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Reynolds Number based on length L = .05m is 113593\n",
+ "\n",
+ " And the transition occur at xc = 0.22 m ie fifth plate\n",
+ "66.8395462952\n",
+ "\n",
+ "\n",
+ " Power requirement are \n",
+ " qconv1 = 1370 W qconv5 = 1017 W qconv6 = 1427 W\n",
+ "\n",
+ " Hence 1427 > 1370 > 1017 and the sixth plate has largest power requirement\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.3 Page 420"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#variable initialization\n",
+ "# Daily Water Loss\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "v = 2; \t\t\t#[m/s] Air velocity\n",
+ "Tsurr = 25+273.; \t\t#[K] Surrounding Air Temperature\n",
+ "H = .5; \t\t\t# Humidity\n",
+ "w = 6; \t\t\t#[m] Width of pool\n",
+ "L1 = 12; \t\t\t#[m] Length of pool\n",
+ "e = 1.5; \t\t\t#[m] Deck Wide\n",
+ "Ts = 25+273.; \t\t\t#[K] Surface Temp of water\n",
+ "#calculations\n",
+ "#Table A.4 Air Properties at T = 298K \n",
+ "uv = 15.7*math.pow(10,-6); #[m^2/s] Kinematic Viscosity\n",
+ "#Table A.8 Water vapor-Air Properties at T = 298K \n",
+ "Dab = .26*math.pow(10,-4); \t#[m^2/s] Diffusion Coefficient\n",
+ "Sc = uv/Dab;\n",
+ "#Table A.6 Air Properties at T = 298K \n",
+ "rho = .0226; \t#[kg/m^3]\n",
+ "\n",
+ "L = L1+e;\n",
+ "Re = v*L/uv; \t\t#Reynolds number\n",
+ "\n",
+ "#Equation 7.41 yields\n",
+ "ShLe = .037*math.pow(Re,.8)*math.pow(Sc,.3334);\n",
+ "#Equation 7.44\n",
+ "p = 8.; #Turbulent Flow\n",
+ "ShL = (L/(L-e))*ShLe*math.pow((1-math.pow((e/L),((p+1)/(p+2)))),(p/(p+1)));\n",
+ "\n",
+ "hmL = ShL*(Dab/L);\n",
+ "n = hmL*(L1*w)*rho*(1-H);\n",
+ "#results\n",
+ "print '%s %.2e %s' %(\"\\n Reynolds Number is \",Re,\". Hence for turbulent Flow p = 8 in Equation 7.44.\")\n",
+ "print '%s %d %s' %(\"\\n Daily Water Loss due to evaporation is\",n*86400. ,\"kg/day\");\n",
+ "\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Reynolds Number is 1.72e+06 . Hence for turbulent Flow p = 8 in Equation 7.44.\n",
+ "\n",
+ " Daily Water Loss due to evaporation is 406 kg/day\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.4 Page 428"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#variable initialization\n",
+ "# Convection Coefficient associated with operating conditions\n",
+ "# Convection Coefficient from an appropriate correlation\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "v = 10; \t\t\t#[m/s] Air velocity\n",
+ "Tsurr = 26.2+273.; \t\t#[K] Surrounding Air Temperature\n",
+ "P = 46.; \t\t\t# [W] Power dissipation\n",
+ "L = .094; \t\t\t#[m] Length of cylinder\n",
+ "D = .0127; \t\t\t#[m] Diameter of cylinder\n",
+ "Ts = 128.4+273.; \t\t#[K] Surface Temp of water\n",
+ "q = 46.15*46; \t\t#[W] Actual power dissipation without the 15% loss\n",
+ "\n",
+ "#Table A.4 Air Properties at T = 300K \n",
+ "uv = 15.89*math.pow(10,-6); #[m^2/s] Kinematic Viscosity\n",
+ "k = 26.3*math.pow(10,-3); #[W/m.K] Thermal conductivity\n",
+ "Pr = .707; \t#Prandtl Number\n",
+ "#Table A.4 Air Properties at T = 401K \n",
+ "Prs = .690; \t#Prandtl Number\n",
+ "#calculations\n",
+ "A = math.pi*D*L;\n",
+ "h = q/(A*(Ts-Tsurr));\n",
+ "\n",
+ "Re = v*D/uv; \t\t#Reynolds number\n",
+ "#Using Zukauskas Relation, Equation 7.53\n",
+ "C = .26;\n",
+ "m = .6;\n",
+ "n = .37;\n",
+ "Nu = C*math.pow(Re,m)*math.pow(Pr,n)*math.pow((Pr/Prs),.25);\n",
+ "havg = Nu*k/D;\n",
+ "#results\n",
+ "print '%s %d %s' %(\"\\n Convection Coefficient associated with operating conditions\",h,\"W/m^2.K.\") \n",
+ "print '%s %d %s' %(\"\\n Reynolds Number is \",Re,\". Hence taking suitable corresponding data from Table 7.4.\")\n",
+ "print '%s %d %s' %(\"\\n Convection Coefficient from an appropriate Zukauskas correlation\",havg,\" W/m^2.K\");\n",
+ "\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Convection Coefficient associated with operating conditions 5538 W/m^2.K.\n",
+ "\n",
+ " Reynolds Number is 7992 . Hence taking suitable corresponding data from Table 7.4.\n",
+ "\n",
+ " Convection Coefficient from an appropriate Zukauskas correlation 104 W/m^2.K\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.5 page 431"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#variable initialization\n",
+ "# Convective Heat transfer to the canister and the additional heating needed\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "v = 23; \t\t\t\t#[m/s] Air velocity\n",
+ "Tsurr = 296.; \t\t\t\t#[K] Surrounding Air Temperature\n",
+ "L = .8; \t\t\t\t#[m] Length of cylinder\n",
+ "Di = .1; \t\t\t\t#[m] Diameter of cylinder\n",
+ "t = .005; \t\t\t\t\t#[m] Thickness of cylinder\n",
+ "\n",
+ "#Table A.4 Air Properties at T = 285K \n",
+ "uv = 14.56*math.pow(10,-6); #[m^2/s] Kinematic Viscosity\n",
+ "k = 25.2*math.pow(10,-3); #[W/m.K] Thermal conductivity\n",
+ "Pr = .712; \t\t#Prandtl Number\n",
+ "#Table A.1 AISI 316 Stainless steel Properties at T = 300K \n",
+ "kss = 13.4; \t\t#[W/m.K]Conductivity\n",
+ "\n",
+ "pH2 = 1.01; \t\t\t\t#[N]\n",
+ "Ti = -3550/(2.30*math.log10(pH2) - 12.9);\n",
+ "Eg = -(1.35*math.pow(10,-4))*(29.5*math.pow(10,6));\n",
+ "#calculations\n",
+ "Re = v*(Di+2*t)/uv; \t\t#Reynolds number\n",
+ "# Equation 7.54\n",
+ "Nu = .3+.62*math.pow(Re,.5)*math.pow(Pr,.3334) /math.pow((1+math.pow((.4/Pr),.6668)),.25) *math.pow(1+math.pow((Re/282000.),(5./8.)),.8);\n",
+ "h = Nu*k/(Di+2*t);\n",
+ "\n",
+ "qconv = (Tsurr-Ti)/((1/(math.pi*L*(Di+2*t)*h))+(2.30*math.log10((Di+2*t)/Di)/(2*math.pi*kss*L)));\n",
+ "\n",
+ "#results\n",
+ "print '%s %d %s' %(\"\\n Additional Thermal Energy must be supplied to canister to mainatin steady-state operating temperatue\",-qconv-Eg,\"W\");\n",
+ "\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Additional Thermal Energy must be supplied to canister to mainatin steady-state operating temperatue 3581 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.6 page 434"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#variable initialization\n",
+ "# Time required to cool from Ti = 75 degC to 35 degC\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "v = 10; \t\t\t#[m/s] Air velocity\n",
+ "Tsurr = 23+273.; \t\t#[K] Surrounding Air Temperature\n",
+ "D = .01; \t\t\t#[m] Diameter of sphere\n",
+ "Ti = 75+273.; \t\t#[K] Initial temp\n",
+ "Tt = 35+273.; \t\t#[K] Temperature after time t\n",
+ "p = 1; \t\t#[atm]\n",
+ "\n",
+ "#Table A.1 Copper at T = 328K \n",
+ "rho = 8933; \t\t\t#[kg/m^3] Density\n",
+ "k = 399; \t\t\t#[W/m.K] Conductivity\n",
+ "cp = 388; \t\t\t#[J/kg.K] specific \n",
+ "#Table A.4 Air Properties T = 296 K\n",
+ "u = 182.6*math.pow(10,-7); #[N.s/m^2] Viscosity\n",
+ "uv = 15.53*math.pow(10,-6); #[m^2/s] Kinematic Viscosity\n",
+ "k = 25.1*math.pow(10,-3); #[W/m.K] Thermal conductivity\n",
+ "Pr = .708; \t#Prandtl Number\n",
+ "#Table A.4 Air Properties T = 328 K\n",
+ "u2 = 197.8*math.pow(10,-7); #[N.s/m^2] Viscosity\n",
+ "#calculations\n",
+ "Re = v*D/uv; \t\t#Reynolds number\n",
+ "#Using Equation 7.56\n",
+ "Nu = 2+(0.4*math.pow(Re,.5) + 0.06*math.pow(Re,.668))*math.pow(Pr,.4)*math.pow((u/u2),.25);\n",
+ "h = Nu*k/D;\n",
+ "#From equation 5.4 and 5.5\n",
+ "t = rho*cp*D*2.30*math.log10((Ti-Tsurr)/(Tt-Tsurr))/(6*h);\n",
+ "#results\n",
+ "print '%s %.1f %s' %(\"\\nTime required for cooling is\",t,\"sec\");\n",
+ "\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "Time required for cooling is 71.2 sec\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.7 Page 443"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#variable initialization\n",
+ "# Air side Convection coefficient and Heat rate\n",
+ "# pressure Drop\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "v = 6; \t\t\t#[m/s] Air velocity\n",
+ "Tsurr = 15+273.; \t \t\t#[K] Surrounding Air Temperature\n",
+ "D = .0164; \t\t\t#[m] Diameter of tube\n",
+ "Ts = 70+273.; \t\t#[K] Temp of tube\n",
+ "#Staggered arrangement dimensions\n",
+ "St = .0313; \t\t\t#[m]\n",
+ "Sl = .0343; \t\t\t#[m]\n",
+ "\n",
+ "#Table A.4 Air Properties T = 288 K\n",
+ "rho = 1.217; \t\t#[kg/m^3] Density\n",
+ "cp = 1007; \t\t#[J/kg.K] specific heat\n",
+ "uv = 14.82*math.pow(10,-6); #[m^2/s] Kinematic Viscosity\n",
+ "k = 25.3*math.pow(10,-3); #[W/m.K] Thermal conductivity\n",
+ "Pr = .71; \t#Prandtl Number\n",
+ "#Table A.4 Air Properties T = 343 K\n",
+ "Pr2 = .701; \t#Prandtl Number\n",
+ "#Table A.4 Air Properties T = 316 K\n",
+ "uv3 = 17.4*math.pow(10,-6); #[m^2/s] Kinematic Viscosity\n",
+ "k3 = 27.4*math.pow(10,-3); #[W/m.K] Thermal conductivity\n",
+ "Pr3 = .705; \t#Prandtl Number\n",
+ "#calculations\n",
+ "Sd = math.pow((Sl*Sl + (St/2)*(St/2)),.5);\n",
+ "Vmax = St*v/(St-D);\n",
+ "\n",
+ "Re = Vmax*D/uv; \t\t#Reynolds number\n",
+ "\n",
+ "C = .35*math.pow((St/Sl),.2);\n",
+ "m = .6;\n",
+ "C2 = .95;\n",
+ "N = 56;\n",
+ "Nt = 8;\n",
+ "#Using Equation 7.64 & 7.65\n",
+ "Nu = C2*C*math.pow(Re,m)* math.pow(Pr,.36) *math.pow((Pr/Pr2),.25);\n",
+ "h = Nu*k/D;\n",
+ "\n",
+ "#From Eqnn 7.67\n",
+ "Tso = (Ts-Tsurr)*math.exp(-(math.pi*D*N*h)/(rho*v*Nt*St*cp));\n",
+ "Tlm = ((Ts-Tsurr) - Tso)/(2.30*math.log10((Ts-Tsurr)/Tso));\n",
+ "q = N*(h*math.pi*D*Tlm);\n",
+ "\n",
+ "Pt = St/D;\n",
+ "#From Fig 7.14\n",
+ "X = 1.04;\n",
+ "f = .35;\n",
+ "NL = 7;\n",
+ "press = NL*X*(rho*Vmax*Vmax/2.)*f;\n",
+ "#results\n",
+ "print '%s %.1f %s' %(\"\\n Air side Convection coefficient h = \",h,\"W/m^2.k\"); \n",
+ "print '%s %.1f %s' %(\"\\n and Heat rate q = \",q/1000. ,\" kW/m\"); \n",
+ "print '%s %.2e %s' %(\"\t\\n Pressure Drop =\",press/100000. ,\" bars\");\n",
+ "\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Air side Convection coefficient h = 137.0 W/m^2.k\n",
+ "\n",
+ " and Heat rate q = 19.6 kW/m\n",
+ "\t\n",
+ " Pressure Drop = 2.46e-03 bars\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_8.ipynb b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_8.ipynb
new file mode 100644
index 00000000..fac7e1bf
--- /dev/null
+++ b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_8.ipynb
@@ -0,0 +1,532 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Internal Flow"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.2 Page 499"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#variable initialization\n",
+ "# Length of tube needed to achieve the desired outlet temperature\n",
+ "#Local convection coefficient at the outlet\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "m = .1; #[kg/s] mass flow rate of water\n",
+ "Ti = 20+273.; #[K] Inlet temp\n",
+ "To = 60+273.; #[K] Outlet temperature\n",
+ "Di = .02; #[m] Inner Diameter\n",
+ "Do = .04; #[m] Outer Diameter\n",
+ "q = 1000000.;\t #[w/m^3] Heat generation Rate\n",
+ "Tsi = 70+273.; #[K] Inner Surface Temp\n",
+ "#Table A.4 Air Properties T = 313 K\n",
+ "cp = 4179; #[J/kg.K] specific heat\n",
+ "#calculations\n",
+ "L = 4*m*cp*(To-Ti)/(math.pi*(Do*Do-Di*Di)*q);\n",
+ "\n",
+ "#From Newtons Law of cooling, Equation 8.27, local heat convection coefficient is\n",
+ "h = q*(Do*Do-Di*Di)/(Di*4*(Tsi-To));\n",
+ "#results\n",
+ "print '%s %.1f %s' %(\"\\n Length of tube needed to achieve the desired outlet temperature = \",L,\"m \")\n",
+ "print '%s %.1f %s' %(\"\\n Local convection coefficient at the outlet =\",h,\" W/m^2.K\");\n",
+ "\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Length of tube needed to achieve the desired outlet temperature = 17.7 m \n",
+ "\n",
+ " Local convection coefficient at the outlet = 1500.0 W/m^2.K\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.3 Page 503 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#variable initialization\n",
+ "# average convection coefficient \n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "m = .25; \t#[kg/s] mass flow rate of water\n",
+ "Ti = 15+273.; \t#[K] Inlet temp\n",
+ "To = 57+273.; \t#[K] Outlet temperature\n",
+ "D = .05; \t\t#[m] Diameter\n",
+ "L = 6; \t\t#[m] Length of tube\n",
+ "Ts = 100+273.; \t#[K] outer Surface Temp\n",
+ "\n",
+ "#Table A.4 Air Properties T = 309 K\n",
+ "cp = 4178; \t#[J/kg.K] specific heat\n",
+ "#calculations\n",
+ "Tlm = ((Ts-To)-(Ts-Ti))/(2.30*math.log10((Ts-To)/(Ts-Ti)));\n",
+ "\n",
+ "h = m*cp*(To-Ti)/(math.pi*D*L*Tlm);\n",
+ "#results\n",
+ "print '%s %d %s' %(\"\\n Average Heat transfer Convection Coefficient = \",h,\"W/m^2.K\");\n",
+ "\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Average Heat transfer Convection Coefficient = 754 W/m^2.K\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.4 Page 506 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#variable initialization\n",
+ "# Length of tube for required heating\n",
+ "# Surface temperature Ts at outlet section\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "m = .01; #[kg/s] mass flow rate of water\n",
+ "Ti = 20+273; \t#[K] Inlet temp\n",
+ "To = 80+273; \t#[K] Outlet temperature\n",
+ "D = .06; \t#[m] Diameter\n",
+ "q = 2000; \t#[W/m^2] Heat flux to fluid\n",
+ "\n",
+ "#Table A.4 Air Properties T = 323 K\n",
+ "cp = 4178; #[J/kg.K] specific heat\n",
+ "#Table A.4 Air Properties T = 353 K\n",
+ "k = .670; #[W/m] Thermal Conductivity\n",
+ "u = 352*math.pow(10,-6);#[N.s/m^2] Viscosity\n",
+ "Pr = 2.2; #Prandtl Number\n",
+ "cp = 4178; #[J/kg.K] specific heat\n",
+ "#calculations\n",
+ "L = m*cp*(To-Ti)/(math.pi*D*q);\n",
+ "\n",
+ "#Using equation 8.6\n",
+ "Re = m*4/(math.pi*D*u);\n",
+ "print '%s %.2f %s' %(\"\\n (a) Length of tube for required heating =\",L,\"m\")\n",
+ "print '%s %.2f %s' %(\"\\n\\n (b)As Reynolds Number is\",Re,\".The flow is laminar.\");\n",
+ "\n",
+ "Nu = 4.364; #Nusselt Number\n",
+ "h = Nu*k/D; #[W/m^2.K] Heat convection Coefficient\n",
+ "\n",
+ "Ts = q/h+To; #[K]\n",
+ "#results\n",
+ "print '%s %.2f %s' %(\"\\n Surface Temperature at tube outlet = \",Ts-273,\"degC\");\n",
+ "\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " (a) Length of tube for required heating = 6.65 m\n",
+ "\n",
+ "\n",
+ " (b)As Reynolds Number is 602.86 .The flow is laminar.\n",
+ "\n",
+ " Surface Temperature at tube outlet = 121.04 degC\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.5 Page 509 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#variable initialization\n",
+ "# Length of Blood Vessel\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "um1 = .13; #[m/s] Blood stream\n",
+ "um2 = 3*math.pow(10,-3); #[m/s] Blood stream\n",
+ "um3 = .7*math.pow(10,-3); #[m/s] Blood stream\n",
+ "D1 = .003; #[m] Diameter\n",
+ "D2 = .02*math.pow(10,-3); #[m] Diameter\n",
+ "D3 = .008*math.pow(10,-3); #[m] Diameter\n",
+ "Tlm = .05;\n",
+ "kf = .5; #[W/m.K] Conductivity\n",
+ "#Table A. Water Properties T = 310 K\n",
+ "rho = 993.; #[kg/m^3] density\n",
+ "cp = 4178.; #[J/kg.K] specific heat\n",
+ "u = 695*math.pow(10,-6); #[N.s/m^2] Viscosity\n",
+ "kb = .628; #[W/m.K] Conductivity\n",
+ "Pr = 4.62; #Prandtl Number\n",
+ "i=1.;\n",
+ "#calculations\n",
+ "#Using equation 8.6\n",
+ "Re1 = rho*um1*D1/u;\n",
+ "Nu = 4;\n",
+ "hb = Nu*kb/D1;\n",
+ "hf = kf/D1;\n",
+ "U1 = 1/(1/hb + 1/hf);\n",
+ "L1 = -rho*um1*D1/U1*cp*2.303*math.log10(Tlm)/4.;\n",
+ "xfdh1 = .05*Re1*D1;\n",
+ "xfdr1 = xfdh1*Pr;\n",
+ "\n",
+ "Re2 = rho*um2*D2/u;\n",
+ "Nu = 4;\n",
+ "hb = Nu*kb/D2;\n",
+ "hf = kf/D2;\n",
+ "U2 = 1/(1/hb + 1/hf);\n",
+ "L2 = -rho*um2*D2/U2*cp*2.303*math.log10(Tlm)/4.;\n",
+ "xfdh2 = .05*Re2*D2;\n",
+ "xfdr2 = xfdh2*Pr;\n",
+ "\n",
+ "Re3 = rho*um3*D3/u;\n",
+ "Nu = 4;\n",
+ "hb = Nu*kb/D3;\n",
+ "hf = kf/D3;\n",
+ "U3 = 1/(1/hb + 1/hf);\n",
+ "L3 = -rho*um3*D3/U3*cp*2.303*math.log10(Tlm)/4.;\n",
+ "xfdh3 = .05*Re3*D3;\n",
+ "xfdr3 = xfdh3*Pr;\n",
+ "#results\n",
+ "print ' %s' %(\"\\n Vessel Re U(W/m^2.K) L(m) xfdh(m) xfdr(m)\")\n",
+ "print '%s %.3f %d %.1e %.1e %.1e' %(\"\\n Artery \",Re1, U1 ,L1, xfdh1 , xfdr1)\n",
+ "print '%s %.3f %d %.1e %.1e %.1e' %(\"\\n Anteriole \",Re2, U2 ,L2, xfdh2 , xfdr2)\n",
+ "print '%s %.3f %d %.1e %.1e %.1e' %(\"\\n Capillary \",Re3,U3,L3,xfdh3,xfdr3);\n",
+ "\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " \n",
+ " Vessel Re U(W/m^2.K) L(m) xfdh(m) xfdr(m)\n",
+ "\n",
+ " Artery 557.223 138 8.7e+00 8.4e-02 3.9e-01\n",
+ "\n",
+ " Anteriole 0.086 20849 8.9e-06 8.6e-08 4.0e-07\n",
+ "\n",
+ " Capillary 0.008 52124 3.3e-07 3.2e-09 1.5e-08\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.6 Page 516 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#variable initialization\n",
+ "# Heat Loss from the Duct over the Length L, q \n",
+ "# Heat flux and suface temperature at x=L\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "m = .05; \t#[kg/s] mass flow rate of water\n",
+ "Ti = 103+273.; \t#[K] Inlet temp\n",
+ "To = 77+273.; \t\t#[K] Outlet temperature\n",
+ "D = .15; \t\t#[m] Diameter\n",
+ "L = 5; \t\t#[m] length\n",
+ "ho = 6.; \t\t#[W/m^2.K] Heat transfer convective coefficient\n",
+ "Tsurr = 0+273.; \t\t#[K] Temperature of surrounding\n",
+ "\n",
+ "#Table A.4 Air Properties T = 363 K\n",
+ "cp = 1010; \t#[J/kg.K] specific heat\n",
+ "#Table A.4 Air Properties T = 350 K\n",
+ "k = .030; \t#[W/m] Thermal Conductivity\n",
+ "u = 20.82/1000000.; \t#[N.s/m^2] Viscosity\n",
+ "Pr = .7; \t\t#Prandtl Number\n",
+ "#calculations and results\n",
+ "q = m*cp*(To-Ti);\n",
+ "\n",
+ "Re = m*4/(math.pi*D*u);\n",
+ "print '%s %d %s' %(\"\\n As Reynolds Number is\",Re,\". The flow is Turbulent.\");\n",
+ "\n",
+ "#Equation 8.6\n",
+ "n = 0.3;\n",
+ "Nu = .023*math.pow(Re,.8)*math.pow(Pr,.3);\n",
+ "h = Nu*k/D;\n",
+ "q2 = (To-Tsurr)/(1/h + 1/ho);\n",
+ "Ts = -q2/h+To;\n",
+ "\n",
+ "print '%s %d %s' %(\"\\n\\n Heat Loss from the Duct over the Length L, q =\",q,\" W \")\n",
+ "print '%s %.1f %s %.1f %s' %(\"\\n Heat flux and suface temperature at x=L is\",q2,\"W/m^2 &\",Ts-273,\"degC respectively\");\n",
+ "\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " As Reynolds Number is 20384 . The flow is Turbulent.\n",
+ "\n",
+ "\n",
+ " Heat Loss from the Duct over the Length L, q = -1313 W \n",
+ "\n",
+ " Heat flux and suface temperature at x=L is 304.3 W/m^2 & 50.7 degC respectively\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.7 Page 525"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#variable initialization\n",
+ "# Time needed to bring the reactants to within 1 degC of processing temperature\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "T1 = 125+273.; \t\t\t#[K] Chip Temperature 1\n",
+ "T2 = 25+273.; \t\t\t#[K] Chip Temperature 2\n",
+ "Ti = 5+273.; \t\t\t#[K] Inlet Temperature \n",
+ "D = .01; \t\t\t#[m] Diameter\n",
+ "L = .02; \t\t#[m] length\n",
+ "delP = 500*1000.; \t\t#[N/m^2] Pressure drop\n",
+ "#Dimensions\n",
+ "a = 40*math.pow(10,-6); \n",
+ "b = 160*math.pow(10,-6);\n",
+ "s = 40*math.pow(10,-6);\n",
+ "\n",
+ "#Table A.5 Ethylene Glycol Properties T = 288 K\n",
+ "rho = 1120.2; \t#[kg/m^3] Density\n",
+ "cp = 2359.; \t#[J/kg.K] Specific Heat\n",
+ "u = 2.82*math.pow(10,-2);\t#[N.s/m^2] Viscosity\n",
+ "k = 247*math.pow(10,-3); \t#[W/m.K] Thermal Conductivity\n",
+ "Pr = 269; \t\t#Prandtl number \n",
+ "#Table A.5 Ethylene Glycol Properties T = 338 K\n",
+ "rho2 = 1085.; \t#[kg/m^3] Density\n",
+ "cp2 = 2583.; \t#[J/kg.K] Specific Heat\n",
+ "u2 = .427*math.pow(10,-2);\t#[N.s/m^2] Viscosity\n",
+ "k2 = 261*math.pow(10,-3); \t#[W/m.K] Thermal Conductivity\n",
+ "Pr2 = 45.2; \t#Prandtl number\n",
+ "#calculations\n",
+ "P = 2*a+2*b; \t#Perimeter of microchannel\n",
+ "Dh = 4*a*b/P; \t#Hydraulic Diameter\n",
+ "\n",
+ "um2 = 2/73.*Dh*Dh/u2*delP/L;#[[m/s] Equation 8.22a\n",
+ "Re2 = um2*Dh*rho2/u2; #Reynolds Number\n",
+ "xfdh2 = .05*Dh*Re2; \t#[m] From Equation 8.3\n",
+ "xfdr2 = xfdh2*Pr2; \t#[m] From Equation 8.23\n",
+ "m2 = rho2*a*b*um2; \t#[kg/s]\n",
+ "Nu2 = 4.44; \t\t#Nusselt Number from Table 8.1\n",
+ "h2 = Nu2*k2/Dh; \t\t#[W/m^2.K] Convection Coeff\n",
+ "Tc2 = 124+273.; \t\t#[K]\n",
+ "xc2 = m2/P*cp2/h2*2.303*math.log10((T1-Ti)/(T1-Tc2));\n",
+ "tc2 = xc2/um2;\n",
+ "\n",
+ "um = 2/73.*Dh*Dh/u*delP/L; #[[m/s] Equation 8.22a\n",
+ "Re = um*Dh*rho/u; \t#Reynolds Number\n",
+ "xfdh = .05*Dh*Re; \t#[m] From Equation 8.3\n",
+ "xfdr = xfdh*Pr; \t\t#[m] From Equation 8.23\n",
+ "m = rho2*a*b*um; \t#[kg/s]\n",
+ "Nu = 4.44; \t\t#Nusselt Number from Table 8.1\n",
+ "h = Nu*k/Dh; \t\t#[W/m^2.K] Convection Coeff\n",
+ "Tc = 24+273.; \t\t#[K]\n",
+ "xc = m/P*cp/h*2.303*math.log10((T2-Ti)/(T2-Tc));\n",
+ "tc = xc/um;\n",
+ "\n",
+ "#results\n",
+ "print '%s %.1f %s' %(\"\\nTemp in case 2= \",T2-273,\" [degC]\")\n",
+ "print '%s %.1f %s' %(\"\\nTemp in case 1= \",T1-273,\" [degC]\")\n",
+ "print '%s %.3f %s' %(\"\\nFlow rate in case 2 = \",um2,\"[m/s]\")\n",
+ "print '%s %.3f %s' %(\"\\nFlow rate in case 1 = \",um,\"[m/s]\")\n",
+ "print '%s %.1f' %(\"\\nReynolds number in case 2 = \",Re2)\n",
+ "print '%s %.1f' %(\"\\nReynolds number in case 1 = \",Re)\n",
+ "print '%s %.1f' %(\"\\nHydrodynamic entrance Length [m] =\",xfdh)\n",
+ "print '%s %.1f' %(\"\\nHydrodynamic entrance Length in case 2 [m] =\",xfdh2) \n",
+ "print '%s %.1e' %(\"\\nThermal entrance Length [m] = \",xfdr)\n",
+ "print '%s %.1e' %(\"\\nThermal entrance Length in case 2 [m] = \",xfdr2)\n",
+ "print '%s %.2e' %(\"\\nMass Flow rate [kg/s] = \",m)\n",
+ "print '%s %.2e' %(\"\\nMass Flow rate in case 2 [kg/s] = \",m2)\n",
+ "print '%s %.2e' %(\"\\nConvective Coeff [W/m^2.K] = \",h)\n",
+ "print '%s %.2e' %(\"\\nConvective Coeff in case 2 [W/m^2.K] = \",h2)\n",
+ "print '%s %.2e' %(\"\\nTransition Length [m] = \",xc)\n",
+ "print '%s %.2e' %(\"\\nTransition Length in case 2 [m] = \",xc2)\n",
+ "print '%s %.3f' %(\"\\nRequired Time [s] = \",tc)\n",
+ "print '%s %.3f' %(\"\\nRequired Time in case 2 [s] = \",tc2)\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "Temp in case 2= 25.0 [degC]\n",
+ "\n",
+ "Temp in case 1= 125.0 [degC]\n",
+ "\n",
+ "Flow rate in case 2 = 0.657 [m/s]\n",
+ "\n",
+ "Flow rate in case 1 = 0.099 [m/s]\n",
+ "\n",
+ "Reynolds number in case 2 = 10.7\n",
+ "\n",
+ "Reynolds number in case 1 = 0.3\n",
+ "\n",
+ "Hydrodynamic entrance Length [m] = 0.0\n",
+ "\n",
+ "Hydrodynamic entrance Length in case 2 [m] = 0.0\n",
+ "\n",
+ "Thermal entrance Length [m] = 2.2e-04\n",
+ "\n",
+ "Thermal entrance Length in case 2 [m] = 1.5e-03\n",
+ "\n",
+ "Mass Flow rate [kg/s] = 6.91e-07\n",
+ "\n",
+ "Mass Flow rate in case 2 [kg/s] = 4.56e-06\n",
+ "\n",
+ "Convective Coeff [W/m^2.K] = 1.71e+04\n",
+ "\n",
+ "Convective Coeff in case 2 [W/m^2.K] = 1.81e+04\n",
+ "\n",
+ "Transition Length [m] = 7.12e-04\n",
+ "\n",
+ "Transition Length in case 2 [m] = 7.79e-03\n",
+ "\n",
+ "Required Time [s] = 0.007\n",
+ "\n",
+ "Required Time in case 2 [s] = 0.012\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.8 Page 529"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#variable initialization\n",
+ "# Average mass trasnfer convection coefficient for the tube\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "m = .0003; \t\t#[kg/s] mass flow rate of water\n",
+ "T = 25+273; \t\t\t\t#[K] Temperature of surrounding and tube\n",
+ "D = .01; \t\t\t#[m] Diameter\n",
+ "L = 1; \t\t\t#[m] length\n",
+ "#calculations and results\n",
+ "#Table A.4 Air Properties T = 298 K\n",
+ "uv = 15.7*math.pow(10,-6); #[m^2/s] Kinematic Viscosity\n",
+ "u = 18.36*math.pow(10,-6); #[N.s/m^2] Viscosity\n",
+ "#Table A.8 Ammonia-Air Properties T = 298 K\n",
+ "Dab = .28*math.pow(10,-4); #[m^2/s] Diffusion coeff\n",
+ "Sc = .56;\n",
+ "\n",
+ "Re = m*4/(math.pi*D*u);\n",
+ "print '%s %d %s' %(\"\\n As Reynolds Number is\",Re,\". The flow is Laminar.\");\n",
+ "\n",
+ "#Using Equation 8.57\n",
+ "Sh = 1.86*math.pow((Re*Sc*D/L),.3334);\n",
+ "h = Sh*Dab/D;\n",
+ "print '%s %.3f %s' %(\"\\n Average mass trasnfer convection coefficient for the tube\",h,\"m/s\");\n",
+ "\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " As Reynolds Number is 2080 . The flow is Laminar.\n",
+ "\n",
+ " Average mass trasnfer convection coefficient for the tube 0.012 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_9.ipynb b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_9.ipynb
new file mode 100644
index 00000000..8bdfef75
--- /dev/null
+++ b/Fundamentals_of_Heat_and_Mass_Transfer/Chapter_9.ipynb
@@ -0,0 +1,311 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Free Convection"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.1 Page 569"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#variable initialization\n",
+ "# Boundary Layer thickness at trailing edge.\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "Ts = 70+273.; \t\t\t\t\t#[K] Surface Temperature\n",
+ "Tsurr = 25+273.; \t\t\t\t#[K] Surrounding Temperature\n",
+ "v1 = 0; \t\t\t\t\t#[m/s] Velocity of free air\n",
+ "v2 = 5; \t\t\t\t\t#[m/s] Velocity of free air\n",
+ "L = .25; \t\t\t\t#[m] length\n",
+ "#calculations and results\n",
+ "#Table A.4 Air Properties T = 320 K\n",
+ "uv = 17.95*math.pow(10,-6);\t\t\t#[m^2/s] Kinematic Viscosity\n",
+ "be = 3.12*math.pow(10,-3); \t\t\t#[K^-1] Tf^-1\n",
+ "Pr = 269; \t\t\t# Prandtl number \n",
+ "g = 9.81; \t\t\t\t\t#[m^2/s]gravitational constt\n",
+ "\n",
+ "Gr = g*be*(Ts-Tsurr)*L*L*L/(uv*uv);\n",
+ "del1 = 6*L/math.pow((Gr/4),.25);\n",
+ "print '%s %.3f %s' %(\"\\n Boundary Layer thickness at trailing edge for no air stream\",del1,\"m\");\n",
+ "\n",
+ "Re = v2*L/uv;\n",
+ "print '%s %.2e %s' %(\"\\n\\n For air stream at 5 m/s As the Reynolds Number is \",Re,\"the free convection boundary layer is Laminar\");\n",
+ "del2 = 5*L/math.pow((Re),.5);\n",
+ "print '%s %.4f %s' %(\"\\n Boundary Layer thickness at trailing edge for air stream at 5 m/s is\",del2,\"m\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Boundary Layer thickness at trailing edge for no air stream 0.023 m\n",
+ "\n",
+ "\n",
+ " For air stream at 5 m/s As the Reynolds Number is 6.96e+04 the free convection boundary layer is Laminar\n",
+ "\n",
+ " Boundary Layer thickness at trailing edge for air stream at 5 m/s is 0.0047 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.2 Page 572 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#variable initialization\n",
+ "# Heat transfer by convection between screen and room air.\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "Ts = 232+273.; \t\t\t#[K] Surface Temperature\n",
+ "Tsurr = 23+273.; \t\t#[K] Surrounding Temperature\n",
+ "L = .71; \t\t#[m] length\n",
+ "w = 1.02; \t\t#[m] Width\n",
+ "\n",
+ "#Table A.4 Air Properties T = 400 K\n",
+ "k = 33.8*math.pow(10,-3) \t;#[W/m.K]\n",
+ "uv = 26.4*math.pow(10,-6) \t;#[m^2/s] Kinematic Viscosity\n",
+ "al = 38.3*math.pow(10,-6)\t;#[m^2/s]\n",
+ "be = 2.5*math.pow(10,-3) \t;#[K^-1] Tf^-1\n",
+ "Pr = .69 \t\t;# Prandtl number \n",
+ "g = 9.81 \t;#[m^2/s] gravitational constt\n",
+ "#calculations and results\n",
+ "Ra = g*be*(Ts-Tsurr)/al*L*L*L/uv;\n",
+ "print '%s %.2e %s' %(\"\\n\\n As the Rayleigh Number is\",Ra,\"the free convection boundary layer is turbulent\");\n",
+ "#From equatiom 9.23\n",
+ "Nu = math.pow(.825 + .387*math.pow(Ra,.16667) /math.pow((1+math.pow((.492/Pr),(9./16.))),(8./27.)),2);\n",
+ "h = Nu*k/L;\n",
+ "q = h*L*w*(Ts-Tsurr);\n",
+ "\n",
+ "print '%s %d %s' %(\"\\n Heat transfer by convection between screen and room air is\",q,\"W\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "\n",
+ " As the Rayleigh Number is 1.81e+09 the free convection boundary layer is turbulent\n",
+ "\n",
+ " Heat transfer by convection between screen and room air is 1060 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.3 Page 577"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#variable initialization\n",
+ "# Heat Loss from duct per meter of length\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "Ts = 45+273.; \t\t\t\t#[K] Surface Temperature\n",
+ "Tsurr = 15+273. \t\t\t\t;#[K] Surrounding Temperature\n",
+ "H = .3 \t\t\t\t;#[m] Height \n",
+ "w = .75 \t\t\t\t;#[m] Width\n",
+ "\n",
+ "#Table A.4 Air Properties T = 303 K\n",
+ "k = 26.5*math.pow(10,-3) \t\t;#[W/m.K]\n",
+ "uv = 16.2*math.pow(10,-6) ;#[m^2/s] Kinematic Viscosity\n",
+ "al = 22.9*math.pow(10,-6) ;#[m^2/s] alpha\n",
+ "be = 3.3*math.pow(10,-3) ;#[K^-1] Tf^-1\n",
+ "Pr = .71 \t\t\t;# Prandtl number \n",
+ "g = 9.81 \t\t;#[m^2/s] gravitational constt\n",
+ "#calculations\n",
+ "Ra = g*be*(Ts-Tsurr)/al*H*H*H/uv; #Length = Height\n",
+ "#From equatiom 9.27\n",
+ "Nu = (.68 + .67*math.pow(Ra,.25) /math.pow((1+math.pow((.492/Pr),(9./16.))),(4./9.)));\n",
+ "#for Sides\n",
+ "hs = Nu*k/H;\n",
+ "\n",
+ "Ra2 = g*be*(Ts-Tsurr)/al*(w/2.)*(w/2.)*(w/2.)/uv; #Length = w/2\n",
+ "#For top eq 9.31\n",
+ "ht = k/(w/2.)*.15*math.pow(Ra2,.3334);\n",
+ "#For bottom Eq 9.32\n",
+ "hb = k/(w/2.)*.27*math.pow(Ra2,.25);\n",
+ "\n",
+ "q = (2*hs*H+ht*w+hb*w)*(Ts-Tsurr);\n",
+ "#results\n",
+ "print '%s %d %s' %(\"\\n Rate of heat loss per unit length of duct is\",q,\" W/m\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Rate of heat loss per unit length of duct is 246 W/m\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.4 Page 580 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#variable initialization\n",
+ "# Heat Loss from pipe per meter of length\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "Ts = 165+273.; \t\t\t\t#[K] Surface Temperature\n",
+ "Tsurr = 23+273.; \t\t\t#[K] Surrounding Temperature\n",
+ "D = .1 \t\t\t\t;#[m] Diameter\n",
+ "e = .85 \t\t\t\t;# emissivity\n",
+ "stfncnstt=5.67*math.pow(10,(-8))# [W/m^2.K^4] - Stefan Boltzmann Constant \n",
+ "\n",
+ "#Table A.4 Air Properties T = 303 K\n",
+ "k = 31.3*math.pow(10,-3) ;#[W/m.K] Conductivity\n",
+ "uv = 22.8*math.pow(10,-6) ;#[m^2/s] Kinematic Viscosity\n",
+ "al = 32.8*math.pow(10,-6) ;#[m^2/s] alpha\n",
+ "be = 2.725*math.pow(10,-3) \t;#[K^-1] Tf^-1\n",
+ "Pr = .697 \t\t;# Prandtl number \n",
+ "g = 9.81 \t\t;#[m^2/s] gravitational constt\n",
+ "#calculations\t\n",
+ "Ra = g*be*(Ts-Tsurr)/al*D*D*D/uv; \n",
+ "#From equatiom 9.34\n",
+ "Nu = math.pow((.60 + .387*math.pow(Ra,(1./6.))/math.pow(1+math.pow((.559/Pr),(9./16.)),(8./27.))),2);\n",
+ "h = Nu*k/D;\n",
+ "\n",
+ "qconv = h*math.pi*D*(Ts-Tsurr);\n",
+ "qrad = e*math.pi*D*stfncnstt*(Ts*Ts*Ts*Ts-Tsurr*Tsurr*Tsurr*Tsurr);\n",
+ "#results\n",
+ "print '%s %d %s' %(\"\\n Rate of heat loss per unit length of pipe is \",qrad+qconv,\"W/m\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Rate of heat loss per unit length of pipe is 763 W/m\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.5 Page 592"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#variable initialization\n",
+ "# Heat Loss from pipe per unit of length\n",
+ "# Heat Loss if air is filled with glass-fiber blanket insulation\n",
+ "import math\n",
+ "#Operating Conditions\n",
+ "To = 35+273. \t\t\t;#[K] Shield Temperature\n",
+ "Ti = 120+273. \t\t\t;#[K] Tube Temperature\n",
+ "Di = .1 \t\t\t;#[m] Diameter inner\n",
+ "Do = .12 \t\t;#[m] Diameter outer\n",
+ "L = .01 \t\t\t;#[m] air gap insulation\n",
+ "\n",
+ "#Table A.4 Air Properties T = 350 K\n",
+ "k = 30*math.pow(10,-3) ;#[W/m.K] Conductivity\n",
+ "uv = 20.92*math.pow(10,-6) ;#[m^2/s] Kinematic Viscosity\n",
+ "al = 29.9*math.pow(10,-6) ;#[m^2/s] alpha\n",
+ "be = 2.85*math.pow(10,-3) ;#[K^-1] Tf^-1\n",
+ "Pr = .7 \t\t;# Prandtl number \n",
+ "g = 9.81 \t;#[m^2/s] gravitational constt\n",
+ "#Table A.3 Insulation glass fiber T=300K\n",
+ "kins = .038 \t;#[W/m.K] Conductivity\n",
+ "#calculations\n",
+ "Lc = 2*math.pow((2.303*math.log10(Do/Di)),(4./3.))/math.pow((math.pow((Di/2.),(-3./5.))+math.pow((Do/2.),(-3./5.))),(5./3.));\n",
+ "Ra = g*be*(Ti-To)/al*Lc*Lc*Lc/uv; \n",
+ "keff = .386*k*math.pow((Pr/(.861+Pr)),.25) *math.pow(Ra,.25);\n",
+ "q = 2*math.pi*keff*(Ti-To)/(2.303*math.log10(Do/Di));\n",
+ "\n",
+ "#From equatiom 9.58 and 3.27\n",
+ "qin = q*kins/keff;\n",
+ "#results\n",
+ "print '%s %d %s' %(\"\\n Heat Loss from pipe per unit of length is \",q,\"W/m\")\n",
+ "print '%s %d %s' %(\" \\n Heat Loss if air is filled with glass-fiber blanket insulation\",qin,\"W/m\");\n",
+ "#END"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " Heat Loss from pipe per unit of length is 100 W/m\n",
+ " \n",
+ " Heat Loss if air is filled with glass-fiber blanket insulation 111 W/m\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_of_Heat_and_Mass_Transfer/README.txt b/Fundamentals_of_Heat_and_Mass_Transfer/README.txt
new file mode 100644
index 00000000..593587fe
--- /dev/null
+++ b/Fundamentals_of_Heat_and_Mass_Transfer/README.txt
@@ -0,0 +1,10 @@
+Contributed By: Devika Raj
+Course: be
+College/Institute/Organization: RVR college of Engineering
+Department/Designation: Electronics and Communication En
+Book Title: Fundamentals of Heat and Mass Transfer
+Author: Incropera, DeWitt, Bergman, Lavine
+Publisher: John Wiley & Sons Inc
+Year of publication: 1981
+Isbn: 9780471612469
+Edition: 3rd \ No newline at end of file
diff --git a/Fundamentals_of_Heat_and_Mass_Transfer/screenshots/devika-1.png b/Fundamentals_of_Heat_and_Mass_Transfer/screenshots/devika-1.png
new file mode 100644
index 00000000..bc6e5b2f
--- /dev/null
+++ b/Fundamentals_of_Heat_and_Mass_Transfer/screenshots/devika-1.png
Binary files differ
diff --git a/Fundamentals_of_Heat_and_Mass_Transfer/screenshots/devika-2.png b/Fundamentals_of_Heat_and_Mass_Transfer/screenshots/devika-2.png
new file mode 100644
index 00000000..81db83ab
--- /dev/null
+++ b/Fundamentals_of_Heat_and_Mass_Transfer/screenshots/devika-2.png
Binary files differ
diff --git a/Fundamentals_of_Heat_and_Mass_Transfer/screenshots/devika-3.png b/Fundamentals_of_Heat_and_Mass_Transfer/screenshots/devika-3.png
new file mode 100644
index 00000000..9c02d6f1
--- /dev/null
+++ b/Fundamentals_of_Heat_and_Mass_Transfer/screenshots/devika-3.png
Binary files differ