summaryrefslogtreecommitdiff
path: root/A_Heat_Transfer_Text_Book
diff options
context:
space:
mode:
authorJovina Dsouza2014-07-07 16:34:28 +0530
committerJovina Dsouza2014-07-07 16:34:28 +0530
commitfffcc90da91b66ee607066d410b57f34024bd1de (patch)
tree7b8011d61013305e0bf7794a275706abd1fdb0d3 /A_Heat_Transfer_Text_Book
parent299711403e92ffa94a643fbd960c6f879639302c (diff)
downloadPython-Textbook-Companions-fffcc90da91b66ee607066d410b57f34024bd1de.tar.gz
Python-Textbook-Companions-fffcc90da91b66ee607066d410b57f34024bd1de.tar.bz2
Python-Textbook-Companions-fffcc90da91b66ee607066d410b57f34024bd1de.zip
adding book
Diffstat (limited to 'A_Heat_Transfer_Text_Book')
-rwxr-xr-xA_Heat_Transfer_Text_Book/Chapter1.ipynb332
-rwxr-xr-xA_Heat_Transfer_Text_Book/Chapter10.ipynb520
-rwxr-xr-xA_Heat_Transfer_Text_Book/Chapter11.ipynb637
-rwxr-xr-xA_Heat_Transfer_Text_Book/Chapter2.ipynb329
-rwxr-xr-xA_Heat_Transfer_Text_Book/Chapter3.ipynb227
-rwxr-xr-xA_Heat_Transfer_Text_Book/Chapter4.ipynb226
-rwxr-xr-xA_Heat_Transfer_Text_Book/Chapter5.ipynb479
-rwxr-xr-xA_Heat_Transfer_Text_Book/Chapter6.ipynb441
-rwxr-xr-xA_Heat_Transfer_Text_Book/Chapter7.ipynb384
-rwxr-xr-xA_Heat_Transfer_Text_Book/Chapter8.ipynb327
-rwxr-xr-xA_Heat_Transfer_Text_Book/Chapter9.ipynb448
-rwxr-xr-xA_Heat_Transfer_Text_Book/README.txt10
-rwxr-xr-xA_Heat_Transfer_Text_Book/screenshots/Chapter_11.pngbin0 -> 34085 bytes
-rwxr-xr-xA_Heat_Transfer_Text_Book/screenshots/Chapter_3.pngbin0 -> 45312 bytes
-rwxr-xr-xA_Heat_Transfer_Text_Book/screenshots/Chapter_6.pngbin0 -> 52314 bytes
15 files changed, 4360 insertions, 0 deletions
diff --git a/A_Heat_Transfer_Text_Book/Chapter1.ipynb b/A_Heat_Transfer_Text_Book/Chapter1.ipynb
new file mode 100755
index 00000000..9c3e159f
--- /dev/null
+++ b/A_Heat_Transfer_Text_Book/Chapter1.ipynb
@@ -0,0 +1,332 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 1 - \"Introduction\""
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 1.1, Page number: 13"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "k=35; #Thermal Conductivity, [W/m*K]\n",
+ "T1=110 # Temperature of front[C]\n",
+ "T2=50; # Temperature of back,[C]\n",
+ "A=0.4 #area of slab,[m**2]\n",
+ "x=0.03; #Thickness of slab,[m]\n",
+ "\n",
+ "#Calculations\n",
+ "q=-k*(T2-T1)/(1000*x); #formula for heat flux[KW/m^2]\n",
+ "Q=q*A; #formula for heat transfer rate[KW]\n",
+ "\n",
+ "#Results\n",
+ "print \"Heat flux is:\",q,\"KW/m^2\\n\"\n",
+ "print \"Heat transfer rate is:\",Q,\"KW \\n\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Heat flux is: 70.0 KW/m^2\n",
+ "\n",
+ "Heat transfer rate is: 28.0 KW \n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 1.2, Page number: 16"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "from sympy import solve,symbols\n",
+ "\n",
+ "#Variables\n",
+ "x=symbols('x');\n",
+ "k1=372; # Thermal Conductivity of slab,W/m*K\n",
+ "x1=0.003; # Thickness of slab,m\n",
+ "x2=0.002 # Thickness of steel,m\n",
+ "k2=17; # Thermal Conductivity of steel,W/m*K\n",
+ "T1=400; # Temperature on one side,C\n",
+ "T2=100 #Temperature on other side,C\n",
+ "\n",
+ "#Calculations\n",
+ "Tcu=solve(x+2*x*(k1/x1)*(x2/k2)-(T1-T2),x);\n",
+ "#q=k1*(Tcu/x1)=k2*(Tss/x2);\n",
+ "Tss = Tcu[0]*(k1/x1)*(x2/k2); # formula for temperature gradient in steel side\n",
+ "Tcul=T1-Tss;\n",
+ "Tcur=T2+Tss;\n",
+ "q=k2*Tss/(1000*x2); # formula for heat conducted, kW\\m^2\n",
+ "\n",
+ "#Results\n",
+ "print \"Temperature on left copper side is :\",round(Tcul,3),\"C\\n\"\n",
+ "print \"Temperature on right copper side is :\",round(Tcur,3),\"C\\n\"\n",
+ "print \"Heat conducted through the wall is :\",round(q,3),\"kW\\m^2\\n\"\n",
+ "print \"Our initial approximation was accurate within a few percent.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Temperature on left copper side is : 254.971 C\n",
+ "\n",
+ "Temperature on right copper side is : 245.029 C\n",
+ "\n",
+ "Heat conducted through the wall is : 1232.749 kW\\m^2\n",
+ "\n",
+ "Our initial approximation was accurate within a few percent.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 1.3, Page number: 22"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "q1=6000; #Heat flux, W*m**-2\n",
+ "T1=120; #Heater Temperature, C\n",
+ "T2=70; #final Temperature of Heater, C\n",
+ "q2=2000; #final heat flux, W*m**-2\n",
+ "\n",
+ "#Calculations\n",
+ "h=q1/(T1-T2) #formula for average heat transfer cofficient\n",
+ "Tnew=T2+q2/h; #formula for new Heater temperature, C\n",
+ "\n",
+ "#Results\n",
+ "print \"Average Heat transfer coefficient is:\",h,\"W/(m^2*K)\\n\"\n",
+ "print \"New Heater Temperature is:\",round(Tnew,3),\"C\\n\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Average Heat transfer coefficient is: 120.0 W/(m^2*K)\n",
+ "\n",
+ "New Heater Temperature is: 86.667 C\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 1.4, Page number: 25"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "from numpy import array\n",
+ "from numpy import linspace\n",
+ "import matplotlib.pyplot as plt\n",
+ "from pylab import *\n",
+ "%pylab inline\n",
+ "\n",
+ "#Variables\n",
+ "h=250; #Heat Transfer Coefficient, W/(m**2*K)\n",
+ "k=45; #Thermal Conductivity, W/(m*K)\n",
+ "c=180; #Heat Capacity, J/(kg*K)\n",
+ "a=9300; #density, kg/m**3\n",
+ "T1=200; #temperature, C\n",
+ "D=0.001; #diameter of bead, m\n",
+ "t1=linspace(0,5,50); #defining time interval of 0.1 seconds\n",
+ "T=linspace(0,5,50);\n",
+ "i=0;\n",
+ "\n",
+ "#Calculations\n",
+ "while i<50:\n",
+ " T[i]=T1-c*math.exp(-t1[i]/((a*c*D)/(6*h))); #Calculating temperature at each time in degree C\n",
+ " i=i+1;\n",
+ "\n",
+ "plt.plot(t1,T);\n",
+ "plt.xlabel(\"Time(in sec)\");\n",
+ "plt.ylabel(\"Temperature(in degree C)\");\n",
+ "plt.title(\"Thermocouple response to a hot gas flow\");\n",
+ "plt.show();\n",
+ "\n",
+ "Bi = h*(D/2)/k; #biot no.\n",
+ "\n",
+ "#Results\n",
+ "print \"The value of Biot no for this thermocouple is\",round(Bi,5);\n",
+ "print \"Bi is <0.1 and hence the thermocouple could be considered as a lumped heat capacity system and the assumption taken is valid.\\n\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "ename": "ImportError",
+ "evalue": "DLL load failed: %1 is not a valid Win32 application.",
+ "output_type": "pyerr",
+ "traceback": [
+ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mImportError\u001b[0m Traceback (most recent call last)",
+ "\u001b[1;32m<ipython-input-4-48a98dda89ad>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0m__future__\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mdivision\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mmath\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mnumpy\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0marray\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 4\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mnumpy\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mlinspace\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpyplot\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0mplt\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;32mC:\\Users\\jaidev\\Anaconda\\lib\\site-packages\\numpy\\__init__.py\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 151\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mloader\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0mpackages\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0moptions\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 152\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 153\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[1;33m.\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0madd_newdocs\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 154\u001b[0m \u001b[0m__all__\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;34m'add_newdocs'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'ModuleDeprecationWarning'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 155\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;32mC:\\Users\\jaidev\\Anaconda\\lib\\site-packages\\numpy\\add_newdocs.py\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 11\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0m__future__\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mdivision\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mabsolute_import\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mprint_function\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 12\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 13\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlib\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0madd_newdoc\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 14\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 15\u001b[0m \u001b[1;31m###############################################################################\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;32mC:\\Users\\jaidev\\Anaconda\\lib\\site-packages\\numpy\\lib\\__init__.py\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 6\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mversion\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mversion\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0m__version__\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 7\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 8\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[1;33m.\u001b[0m\u001b[0mtype_check\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[1;33m*\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 9\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[1;33m.\u001b[0m\u001b[0mindex_tricks\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[1;33m*\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 10\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[1;33m.\u001b[0m\u001b[0mfunction_base\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[1;33m*\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;32mC:\\Users\\jaidev\\Anaconda\\lib\\site-packages\\numpy\\lib\\type_check.py\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 9\u001b[0m 'common_type']\n\u001b[0;32m 10\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 11\u001b[1;33m \u001b[1;32mimport\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcore\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mnumeric\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0m_nx\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 12\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcore\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mnumeric\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0masarray\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0masanyarray\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0marray\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0misnan\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0;31m \u001b[0m\u001b[0;31m\\\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 13\u001b[0m \u001b[0mobj2sctype\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mzeros\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;32mC:\\Users\\jaidev\\Anaconda\\lib\\site-packages\\numpy\\core\\__init__.py\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mversion\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mversion\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0m__version__\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 6\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[1;33m.\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mmultiarray\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 7\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[1;33m.\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mumath\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 8\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[1;33m.\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0m_internal\u001b[0m \u001b[1;31m# for freeze programs\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;31mImportError\u001b[0m: DLL load failed: %1 is not a valid Win32 application."
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 1.5, Page number: 32"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "from sympy import solve,symbols\n",
+ "\n",
+ "#Variables\n",
+ "x=symbols('x');\n",
+ "T1=293; #Temperature of air around thermocouple, K\n",
+ "T2=373; #Wall temperature, K\n",
+ "h=75; #Average Heat Transfer Coefficient, W/(m**2*K)\n",
+ "s=5.67*10**-8; #stefan Boltzman constant, W/(m**2*K**4)\n",
+ "\n",
+ "#Calculations\n",
+ "x=solve((h*(x-T1)+s*(x**4-T2**4)),x);\t #Calculating Thermocouple Temperature, K\n",
+ "y=x[1]-273;\t\t\t\t #Thermocouple Temperature, C\n",
+ "\n",
+ "#Results\n",
+ "print \"Thermocouple Temperature is :\",round(y,3),\"C\\n\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Thermocouple Temperature is : 28.395 C\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 1.6, Page number: 34"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "from sympy import solve,symbols\n",
+ "\n",
+ "#Variables\n",
+ "x=symbols('x');\n",
+ "e=0.4; #emissivity\n",
+ "T1=293; #Temperature of air around Thermocouple, K\n",
+ "T2=273; #wall Temperature, K\n",
+ "h=75; #Average Heat Transfer Coefficient, W/(m**2*K)\n",
+ "s=5.6704*10**-8; #stefan Boltzman constant, W/(m**2*K**4)\n",
+ "\n",
+ "#Calculations\n",
+ "z=solve(((s*e*((373)**4 - (x)**4)) - h*(x-293)),x);\t#Calculating Thermocouple Temperature, K\n",
+ "y=z[0]-273;\t\t\t\t\t #Thermocouple Temperature, C\n",
+ "\n",
+ "'''NOTE: Equation written is absolutely correct and solving this equation\n",
+ " should give real result as: 296.112 i.e. 23.112 C, but somehow python is giving wrong result.'''\n",
+ "\n",
+ "#Results\n",
+ "print \"Thermocouple Temperature is :\",round(y,1),\"C \\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Thermocouple Temperature is : 25.9 C \n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Heat_Transfer_Text_Book/Chapter10.ipynb b/A_Heat_Transfer_Text_Book/Chapter10.ipynb
new file mode 100755
index 00000000..71f05ef1
--- /dev/null
+++ b/A_Heat_Transfer_Text_Book/Chapter10.ipynb
@@ -0,0 +1,520 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 10: Radiative heat transfer "
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 10.1, Page number: 539"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "T1=2273; #temp. of liquid air,K\n",
+ "T2=303; #temp. of room,K\n",
+ "T3=973; #temp. of shield,K\n",
+ "D1=0.003; #diameter of crucible,m\n",
+ "D2=0.05; #diameter of shield,m\n",
+ "theta1=330; #surrounding angle of jet,degree\n",
+ "theta2=30 # angle of slit,degree\n",
+ "Fjr=theta2/360; #fraction of energy of view of jet occupied by room\n",
+ "Fjs=theta1/360 ; #fraction of energy of view of jet occupied by shield\n",
+ "sigma=5.67*10**-8; #Stefen-Boltzman constant\n",
+ "\n",
+ "#Calculations\n",
+ "Qnjr=math.pi*D1*Fjr*sigma*(T1**4-T2**4); #net heat transfer from jet to room,W/m\n",
+ "Qnjs=math.pi*D1*Fjs*sigma*(T1**4-T3**4); #net heat transfer from jet to shield,W/m\n",
+ "#to find the radiation from the inside of the shield to the room, we need Fshield-room.since any radiation passing out of the slit goes to the room,we can find this view factor equating view factors to the room with view factors to the slit.\n",
+ "Aslit=math.pi*D2*Fjr; #Slit's area, m^2\n",
+ "Fsj=math.pi*D1/Aslit*Fjr; #fraction of energy of view of slit occupied by jet\n",
+ "Fss=1-Fsj; #fraction of energy of view of slit occupied by shield.\n",
+ "Fsr=Aslit*Fss/(math.pi*D2*Fjs); #fraction of energy of view of shield occupied by room\n",
+ "Qnsr=math.pi*D2*Fjs*sigma*Fsr*(T3**4-T2**4); #net heat transfer from shield to room, W/m\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print \"Heat transfer from jet to room through the slit is :\",round(Qnjr,2),\"W/m\\n\"\n",
+ "print \"Heat transfer from the jet to shield is :\",round(Qnjs,2),\" W/m\\n\"\n",
+ "print \"Heat transfer from inside of shield to the room is :\",round(Qnsr,2),\"W/m\\n\"\n",
+ "print \"Both the jet and the inside of the shield have relatively small view factors to the room, so that comparatively little heat is lost through the silt \\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Heat transfer from jet to room through the slit is : 1188.32 W/m\n",
+ "\n",
+ "Heat transfer from the jet to shield is : 12636.6 W/m\n",
+ "\n",
+ "Heat transfer from inside of shield to the room is : 619.44 W/m\n",
+ "\n",
+ "Both the jet and the inside of the shield have relatively small view factors to the room, so that comparatively little heat is lost through the silt \n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 10.2, Page number: 542"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "T1=373; #temp. of shield,K \n",
+ "T2=1473; #temp of heater,K\n",
+ "h=0.2 ; #height of disc heater,m\n",
+ "r1=0.05; #smaller radius of heater,m\n",
+ "r2=0.1; #larger radius of heater,m \n",
+ "R1=r1/h ; #factors necessary for finding view factor\n",
+ "R2=r2/h ; #factors necessary for finding view factor\n",
+ "sigma=5.67*10**-8; #Stefen-Boltzman constant\n",
+ "\n",
+ "#Calculations\n",
+ "X=1+(1+R2**2)/R1**2; #factors necessary for finding view factor\n",
+ "Fht=0.5*(X-math.sqrt(X**2-4*(R2**2/R1**2))); #view factor\n",
+ "Fhs=1-Fht; #view factor of heater occupied by shield\n",
+ "Qnhs=math.pi*r2**2*Fhs*sigma*(T2**4-T1**4)/4; #Net heat transfer from the heater to shield\n",
+ "\n",
+ "#Result\n",
+ "print \"Net heat transfer from the heater to shield is : \",round(Qnhs),\" W\\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Net heat transfer from the heater to shield is : 1686.0 W\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 10.3, Page number: 547"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "h=0.2 ; #height of disc heater,m\n",
+ "r1=0.05; #smaller radius of heater,m\n",
+ "r2=0.1; #larger radius of heater,m\n",
+ "Fhs=0.808; #view factor of heater occupied by shield\n",
+ "\n",
+ "#Calculations\n",
+ "As=math.pi*(r1+r2)*math.sqrt(h**2+(r2-r1)**2); #area of frustrum shaped shield,m**2\n",
+ "Ah=math.pi/4*r2**2; #heater area,m**2\n",
+ "Fsh=Ah/As*Fhs; #view factor of shield occupied by heater\n",
+ "\n",
+ "#Result\n",
+ "print \"View factor of shield occupied by heater is :\",round(Fsh,3),\"\\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "View factor of shield occupied by heater is : 0.065 \n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 10.4, Page number: 548"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "\n",
+ "#Variables\n",
+ "F1342=0.245; #view factor of 1and 3 occupied by 2 and 4\n",
+ "F14=0.2; #view factor of 1 occupied by 4\n",
+ "\n",
+ "#Calculations\n",
+ "F12=F1342-F14; #view factor of 1 occupied by 2 \n",
+ "\n",
+ "#Results\n",
+ "print \"View factor of 1 occupied by 2 is :\",F12,\"\\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "View factor of 1 occupied by 2 is : 0.045 \n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 10.8, Page number: 554"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "from sympy import *\n",
+ "\n",
+ "#Variables\n",
+ "T1=80; #temp.of liquid nitrgen,K \n",
+ "T2=230; #temp of chamber walls,K\n",
+ "D1=0.00635; #outer diameter of steel, m\n",
+ "D2=0.0127; #diameter of 2nd steel tube, m\n",
+ "e1=0.2 ; #emissivity 0f steel\n",
+ "sigma=5.67*10**-8; #Stefen-Boltzman constant\n",
+ "\n",
+ "#Calculations\n",
+ "x = Symbol('x');\n",
+ "#the nitrogen coolant will hold the surface of the line at essentially 80 K, since the thermal ressistance of tube wall and int. convection or boiling process are small.\n",
+ "Qgain=math.pi*D1*e1*sigma*(T2**4-T1**4); # net heat gain of line per unit length,W/m\n",
+ "#with the shield , assuming that the chamber area is large compared to the shielded line.\n",
+ "Qgain1=math.pi*D1*sigma*(T2**4-T1**4)/(((1-e1)/e1+1)+D1/D2*(2*(1-e1)/e1+1)); #net heat gain with shield,W/m\n",
+ "s=(Qgain-Qgain1)/Qgain*100; \t\t\t\t\t\t\t\t\t#rate of heat gain reducton in percentage\n",
+ "T = (230**4 -0.328/(3.14*D2*e1*sigma))**(1/4) \t\t\t\t\t\t#Temp. of the shield\n",
+ "\n",
+ "#Result\n",
+ "print \"Net heat gain of line per unit length is :\",round(Qgain,2),\" W/m\\n\"\n",
+ "print \"Rate of heat gain reducton is :\",round(s,2),\" percent \\n\"\n",
+ "print \"Temp. of the shield is : \",round(T,2),\" C\\n\"\n",
+ " \n",
+ "\n",
+ " "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Net heat gain of line per unit length is : 0.62 W/m\n",
+ "\n",
+ "Rate of heat gain reducton is : 47.37 percent \n",
+ "\n",
+ "Temp. of the shield is : 213.38 C\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 10.9, Page number: 557"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "from numpy import mat\n",
+ "from numpy.linalg import inv\n",
+ "from sympy import solve, symbols\n",
+ "\n",
+ "#Variables\n",
+ "T1=250 ; #temp.of surrounding,K \n",
+ "l1=1; #width of strips, m\n",
+ "l2=2.4; #distance between strips,m\n",
+ "F12=0.2; #view factor of 1 occupied by 2.\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "A=mat('1 -0.14;-1, 10') ; #matrix representation for solving the linear equations, for black surroundings\n",
+ "B=mat('559.6;3182.5'); #matrix representation for solving the linear equations.\n",
+ "X=inv(A)*B;\n",
+ "\n",
+ "\n",
+ "Qn12=(X.item(0)-X.item(1))/(1/(0.9975*F12)); #net heat flow from 1 to 2 for black surroundings.\n",
+ " #since each strip loses heat to the surrounding,Qnet1, Qnet2 and Qnet1-2 are different.\n",
+ " # three equations will be \n",
+ " #(1451-B1)/2.33 = (B1-B2)/(1/0.2)+(B1-B3)/(1/0.8)......(1)\n",
+ " #(459.B2) = (B2-B1)/(1/0.2)+(B2-B3)/(1/0.8)............(2)\n",
+ " #0=(B3-B1)/(1/0.8)+(B3-B2)/(1/0.8).....................(3)\n",
+ " #solving these equations, we get the values of B1,B2 and B3.\n",
+ "B1=987.7 #heat flux by surface 1.\n",
+ "B2=657.4 #heat flux by surface 2.\n",
+ "B3=822.6 #heat flux by surface 3.\n",
+ "qn12=(B1-B2)/(1/F12)+(B1-B3)/(1/(1-F12));# net heat transfer between 1 and 2 if they are connected by an insulated diffuse reflector between the edges on both sides.\n",
+ "\n",
+ "#Results\n",
+ "print \"Net heat transfer between 1 and 2 if the surroundings are black is :\",round(Qn12,2),\"W/m^2\\n\"\n",
+ "print \"Net heat transfer between 1 and 2 if they are connected by an insulated diffuse reflector between the edges on both sides is : \",qn12,\" W/m^2\\n\"\n",
+ "\n",
+ "x=symbols('x');\n",
+ "x=solve(sigma*(x**4)-822.6,x); #Solving for Temp. of the reflector.\n",
+ "print \"Temperature of the reflector is : \",round(x[1],2),\" K\\n\"\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Net heat transfer between 1 and 2 if the surroundings are black is : 46.53 W/m^2\n",
+ "\n",
+ "Net heat transfer between 1 and 2 if they are connected by an insulated diffuse reflector between the edges on both sides is : 198.14 W/m^2\n",
+ "\n",
+ "Temperature of the reflector is : "
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " 347.06 K\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 10.10, Page number: 561"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "from numpy import array,dot\n",
+ "from numpy.linalg import inv\n",
+ "\n",
+ "#Variables\n",
+ "T1=773; #temp.of two sides of duct,K\n",
+ "T2=373; #temperature of the third side,K\n",
+ "e1=0.5; #emissivity of stainless steel\n",
+ "e2=0.15; #emissivity of copper\n",
+ "a=5.67*10**-8; #stefan constant\n",
+ "f12=0.4; #view factor of 1 occupied by 2.\n",
+ "f21=0.67; #view factor of 2 occupied by 1\n",
+ "f13=0.6; # view factor of 1 occupied by 3\n",
+ "f31=0.75; #view factor of 3 occupied by 1\n",
+ "f23=0.33; #view factor of 2 occupied by 3\n",
+ "f32=0.25; #view factor of 2 occupied by 3\n",
+ "\n",
+ "#Calculations\n",
+ "A=array(([1, (-1+e2)*f12, (e2-1)*f13],[(-1*e1*f21), 1, (e1*-1*f23)],[(e1*-1*f31), (e1*-1*f32), 1]));#matrix method to solve three equations to find radiosity\n",
+ "B=array(([e2*a*T2**4],[e1*a*T1**4],[e1*a*T1**4])); #matrix method to solve three equations to find radiosity\n",
+ "X=dot(inv(A),B); #solution of above matrix method\n",
+ "Qn1=0.5*e2/(1-e2)*(a*T2**4-X.item(0)); #net heat transfer to the copper base per meter of the length of the duct,W/m\n",
+ "Qn2=Qn1+2.6;\n",
+ "\n",
+ "#Result\n",
+ "print \"Net heat transfer to the copper base per meter of length of the duct is : \",round(Qn2,2),\"W/m ,the -ve sign indicates that the copper base is gaining heat.\\n\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Net heat transfer to the copper base per meter of length of the duct is : -1294.01 W/m ,the -ve sign indicates that the copper base is gaining heat.\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 10.11, Page number: 573"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "\n",
+ "#Variables\n",
+ "T1=1473 ; #temp.of gas,K \n",
+ "T2=573 ; #temp of walls,K\n",
+ "D1=0.4; #diameter of combustor, m\n",
+ "a=5.67*10**-8; #stefan boltzman coefficient,W/(m**2*K**4)\n",
+ "#we have Lo=D1=0.4m, a total pressure of 1 atm., pco2=0.2 atm. , using figure, we get eg=0.098.\n",
+ "eg=0.098; #total emittance\n",
+ "\n",
+ "#Calculations\n",
+ "ag=(T1/T2)**0.5*(0.074); #total absorptance\n",
+ "#now we can calculate Qnetgas to wall. for these problems with one wall surrounding one gas, the use of the mean beam length in finding eg and ag accounts for all geometric effects and no view factor is required. \n",
+ "Qngw=math.pi*D1*a*(eg*T1**4-ag*T2**4)/1000; #net heat radiated to the walls,kW/m\n",
+ "\n",
+ "#Result\n",
+ "print \"Net heat radiated to the walls is : \",round(Qngw,2),\"KW/m\\n\"\n",
+ "#end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Net heat radiated to the walls is : 31.96 KW/m\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 10.12, Page number: 577"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "from sympy import solve,symbols\n",
+ "\n",
+ "#Variables\n",
+ "T1=291; #temp.of sky,K \n",
+ "T2=308; #temp of air,K\n",
+ "e1=0.9; #emissivity 0f black paint\n",
+ "h=8; #heat transfer coefficient,W/(m**2*K)\n",
+ "P=600 ; #Solar radiation of roof, W/m**2 \n",
+ "aacr=0.26; #heat flux,W/m**2\n",
+ "ablk=0.9; #heat flux,W/m**2\n",
+ "sigma=5.67*10**-8; #Stefen-Boltzman constant\n",
+ "\n",
+ "#Calculations-1\n",
+ "#heat loss from the roof to the inside of the barn will lower the roof temp., since we dont have enough information to evaluate the loss, we can make an upper bound on roof temp. by assuming that no heat is transferred to the interior.\n",
+ "T=symbols('T');\n",
+ "T=solve(((e1*sigma*(T**4-T1**4)+h*(T-T2))-ablk*P),T);\n",
+ "Tn=T[1]\n",
+ "\n",
+ "#Result-1\n",
+ "print \"For non-sensitive black paint, temp. of roof is:\",round(Tn)-273,\"degree C \\n\" \n",
+ "\n",
+ "#Calculations-2\n",
+ " #for white acrylic paint, by using table, e=0.9 and absorptivity is 0.26,Troof \n",
+ "T=symbols('T');\n",
+ "T=solve(((e1*sigma*(T**4-T1**4)+h*(T-T2))-0.26*P),T);\n",
+ "Tn=T[1]\n",
+ "\n",
+ "#Result-2\n",
+ "print \"For acrylic paint temp. of the root is :\",round(Tn)-273,\"degree C \\n\\nThe white painted roof is only a few degrees warmer than the air.\\n\"\n",
+ "#end\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "For non-sensitive black paint, temp. of roof is: 65.0 degree C \n",
+ "\n",
+ "For acrylic paint temp. of the root is :"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " 39.0 degree C \n",
+ "\n",
+ "The white painted roof is only a few degrees warmer than the air.\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Heat_Transfer_Text_Book/Chapter11.ipynb b/A_Heat_Transfer_Text_Book/Chapter11.ipynb
new file mode 100755
index 00000000..e723954c
--- /dev/null
+++ b/A_Heat_Transfer_Text_Book/Chapter11.ipynb
@@ -0,0 +1,637 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 11: An introduction to mass transfer"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 11.1, Page number:603"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "\n",
+ "#Variables\n",
+ "Mn2=0.7556; #mass fraction of nitrogen\n",
+ "Mo2=0.2315; #mass fraction of oxygen\n",
+ "Mar=0.01289; #mass fraction of argon gas\n",
+ "M1=28.02; #molar mass of N2,kg/kmol\n",
+ "M2=32; #molar mass of O2,kg/kmol\n",
+ "M3=39.95 ; #molar mass of Ar,kg/kmol\n",
+ "p=101325; #Atmospheric pressure in Pascal(Pa)\n",
+ "R=8314.5; #Gas constant, J/kmol-K\n",
+ "T=300; #Approximate room temperature, K\n",
+ "\n",
+ "#Calculations\n",
+ "Mair=(Mn2/M1+Mo2/M2+Mar/M3)**-1; #molar mass of air,kg/kmol\n",
+ "Xo2=Mo2*Mair/M2; #mole fraction of O2\n",
+ "PO2=Xo2*p; #partial pressure of O2,Pa\n",
+ "Co2=PO2/(R*T); #molar volume of O2,kmol/m**3\n",
+ "ao2=Co2*M2; #density of O2,kg/m**3\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print \"Mole fraction of O2 is :\",round(Xo2,4),\"\\n\"\n",
+ "print \"Partial pressure of O2 is :\",round(PO2,4),\"\\n\"\n",
+ "print \"Molar volume of O2 is :\",round(Co2,4),\" kmol/m^3\\n\"\n",
+ "print \"Density of O2 is :\",round(ao2,4),\" kg/m^3\\n\"\n",
+ " #end"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Mole fraction of O2 is : 0.2095 \n",
+ "\n",
+ "Partial pressure of O2 is : 21232.5938 \n",
+ "\n",
+ "Molar volume of O2 is : 0.0085 kmol/m^3\n",
+ "\n",
+ "Density of O2 is : 0.2724 kg/m^3\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 11.2, Page number: 606"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "\n",
+ "#Variables\n",
+ "r=0.00241; #rate of consumption of carbon,kg/(m**2*s)\n",
+ "Mo2=0.2; #concentration of oxygen at surface s\n",
+ "Mco2=0.052; #concentration of CO2 at surface s\n",
+ "sd=0.29; #density of surface s,kg/m**3\n",
+ "\n",
+ "#since carbon flows through a second imaginary surface u, the mass fluxes are relatedd by Ncu=-12/32*No2s=12/44*Nco2s\n",
+ "#the minus sign arises because the O2 flow is opposite the C and CO2 flows.in steady state if we apply mass conservation to the control volume between the u and s surface, wee find that the total mass flux entering the u surface equals that leaving the s surface\n",
+ "Ncu=r; #mass fluxes of carbon in u surface,kg/m**2/s\n",
+ "\n",
+ "#Calculations\n",
+ "No2s=-32/12*Ncu; #mass flux of O2 in surface s,kg/(m**2*s)\n",
+ "Nco2s=44/12*Ncu; #mass flux of CO2 in surface s,kg/(m**2*s)\n",
+ "Vo2s=No2s/(Mo2*sd); #mass average speed,m/s\n",
+ "Vco2s=Nco2s/(sd); #mass average speed,m/s\n",
+ "Vs=(Nco2s+No2s)/sd; #effective mass average speed,m/s\n",
+ "j1=sd*Mo2*(Vo2s-Vs); #diffusional mass flux,kg/(m**2*s)\n",
+ "j2=sd*Mco2*(Vco2s-Vs); #diffusional mass flux,kg/(m**2*s)\n",
+ "#the diffusional mass fluxes are very nearly equal to the species m ss fluxes. tha is because the mass average speed is much less than species speeds.\n",
+ "\n",
+ "N1 = Ncu/12; #mole flux of carbon through the surface s,kmol/(m**2*s)\n",
+ "N2 = -N1; #mole flux of oxygen through the surface s,kmol/(m**2*s)\n",
+ "\n",
+ "#Result\n",
+ "print \"Mass flux of O2 through an imaginary surface is :\",round(j1,5),\"kg/(m^2*s)\\n\"\n",
+ "print \"Mass flux of CO2 through an imaginary surface is :\",round(j2,5),\"kg/(m^2*s)\\n\"\n",
+ "\n",
+ "print \"Mole flux of Co2 through an imaginary surface is :\",round(N1,5),\"kmol/(m^2*s)\\n\"\n",
+ "print \"Mole flux of O2through an imaginary surface is :\",round(N2,5),\"kmol/(m^2*s)\\n\"\n",
+ "print \"The two diffusional mole fluxes sum to zero themselves because ther is no convective mole flux for other species to diffuse against. the reader may find the velocity of the interface.that calculation shows the interface to be receding so slowly that the velocities are equal to those that would be seen by a stationary observer.\"\n",
+ " #end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Mass flux of O2 through an imaginary surface is : -0.00691 kg/(m^2*s)\n",
+ "\n",
+ "Mass flux of CO2 through an imaginary surface is : 0.00033 kg/(m^2*s)\n",
+ "\n",
+ "Mole flux of Co2 through an imaginary surface is : 0.0002 kmol/(m^2*s)\n",
+ "\n",
+ "Mole flux of O2through an imaginary surface is : -0.0002 kmol/(m^2*s)\n",
+ "\n",
+ "The two diffusional mole fluxes sum to zero themselves because ther is no convective mole flux for other species to diffuse against. the reader may find the velocity of the interface.that calculation shows the interface to be receding so slowly that the velocities are equal to those that would be seen by a stationary observer.\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 11.3, Page number: 617"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "T1=276; #temp.of air,K\n",
+ "aa=3.711; #lennard jones constant or collision diameter,A\n",
+ "ab=2.827; #lennard jones constant or collision diameter,A\n",
+ "b1=78.6; #lennard jones constant,K\n",
+ "b2=59.7; #lennard jones constant,K\n",
+ "Ma=28.97; #Molecular mass of air, kg/kmol\n",
+ "Mh=2.016; #Molecular mass of hydrogen, kg/kmol\n",
+ "\n",
+ "#Calculations\n",
+ "a=(aa+ab)/2; #effective molecular diameter for collisions of hydrogen and air,m\n",
+ "b=math.sqrt(b1*b2); #effective potential well depth,K\n",
+ "c=T1/b; \n",
+ "\n",
+ "d=0.8822; #potential well function, from table 11.3\n",
+ "Dab=(1.8583*math.pow(10,-7))*math.pow(T1,1.5)/(math.pow(a,2)*d)*math.sqrt(1/Mh+1/Ma); #diffusion coefficient of hydrogen in air,m**2/s\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print \"Diffusion coefficient of hydrogen in air is :\",round(Dab,6),\"m^2/s an experimental value from table is 6.34*10^-5 m^2/s,so the prediction is high by 5 percent.\\n\"\n",
+ " #end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Diffusion coefficient of hydrogen in air is : 6.6e-05 m^2/s an experimental value from table is 6.34*10^-5 m^2/s,so the prediction is high by 5 percent.\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 11.4, Page number: 625"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "from numpy import array\n",
+ "\n",
+ "#Variables\n",
+ "T1=373.15; #temp.of tea,K\n",
+ "XN2=0.7808; #mole fraction of nitrogen\n",
+ "XO2=0.2095; #mole fraction of oxygen\n",
+ "Xar=0.0093; #mole fraction of\n",
+ "Cp=1006 #mixture diffusivity,j/(kg*K)\n",
+ "\n",
+ "#Calculations\n",
+ "a=array(([3.798, 3.467, 3.542])); #collisin diameter,m\n",
+ "b=array(([71.4, 106.7, 93.3])); #lennard jones constant,K\n",
+ "M=array(([28.02, 32, 39.95])); #molar masses,kg/kmol\n",
+ "c=array(([0.9599, 1.057, 1.021])); #potential well function\n",
+ "d=array(([1.8*10**-5, 2.059*10**-5, 2.281*10**-5])); #calculated viscosity,kg/(m*s)\n",
+ "e=array(([1.8*10**-5, 2.07*10**-5, 2.29*10**-5])); # theoritical viscosity,kg/(m*s)\n",
+ "f=array(([0.0260, 0.02615, 0.01787])); #theoritical thermal conducitvity,W/(m*K)\n",
+ "\n",
+ "u=2.6693*10**-6*(M*T1)**0.5/((a**2*c)); #viscosity,kg/(m*s)\n",
+ "k=0.083228/((a**2*c*(T1/M**0.5))) #thermal conductivity,W/(m*s)\n",
+ "umc = XN2*u.item(0)/0.9978+XO2*u.item(1)/1.008+Xar*u.item(2)/0.9435 ; #calculated mixture viscosity,kg/(m*s)\n",
+ "umc1=1.857*10**-5;\n",
+ "\n",
+ "umd=XN2*e.item(0)/0.9978+XO2*e.item(1)/1.008+e.item(2)*Xar/0.9435; #theoritical mixture viscosity,kg/(m*s)\n",
+ "kmc=XN2*k.item(0)/0.9978+XO2*k.item(1)/1.008+Xar*k.item(2)/0.9435; #calculated thermal conducitvity,W/(m*K)\n",
+ "kmc1=0.02623;\n",
+ "kmd=XN2*f.item(0)/0.9978+XO2*f.item(1)/1.008+Xar*f.item(2)/0.9435; #theoritical thermal conductivity, W/(m*K)\n",
+ "pr=umd*Cp/kmd; #prandtl no.\n",
+ "\n",
+ "#Result\n",
+ "print \"Theoritical mixture viscosity is :\",round(umc1,6),\"kg/(m*s)\\n\"\n",
+ "print \"Calculated mixture viscosity is :\",round(umd,6),\"kg/(m*s)\\n\"\n",
+ "print \"Theoritical thermal conducitvity is :\",round(kmc1,4),\" W/(m*K)\\n\"\n",
+ "print \"Calculated thermal conducitvity is :\",round(kmd,4),\"W/(m*K)\\n\" \n",
+ "print \"Prandtl no. is :\",round(pr,4),\"\\n\"\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "ename": "ImportError",
+ "evalue": "DLL load failed: %1 is not a valid Win32 application.",
+ "output_type": "pyerr",
+ "traceback": [
+ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mImportError\u001b[0m Traceback (most recent call last)",
+ "\u001b[1;32m<ipython-input-1-f818c437f68e>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0m__future__\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mdivision\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mmath\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mnumpy\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0marray\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 4\u001b[0m \u001b[1;31m#Question\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[1;34m'''Compute the transport properties of normal air at 300 K.'''\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;32mC:\\Users\\jaidev\\Anaconda\\lib\\site-packages\\numpy\\__init__.py\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 151\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mloader\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0mpackages\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0moptions\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 152\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 153\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[1;33m.\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0madd_newdocs\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 154\u001b[0m \u001b[0m__all__\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;34m'add_newdocs'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'ModuleDeprecationWarning'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 155\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;32mC:\\Users\\jaidev\\Anaconda\\lib\\site-packages\\numpy\\add_newdocs.py\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 11\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0m__future__\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mdivision\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mabsolute_import\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mprint_function\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 12\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 13\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlib\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0madd_newdoc\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 14\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 15\u001b[0m \u001b[1;31m###############################################################################\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;32mC:\\Users\\jaidev\\Anaconda\\lib\\site-packages\\numpy\\lib\\__init__.py\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 6\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mversion\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mversion\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0m__version__\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 7\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 8\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[1;33m.\u001b[0m\u001b[0mtype_check\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[1;33m*\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 9\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[1;33m.\u001b[0m\u001b[0mindex_tricks\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[1;33m*\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 10\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[1;33m.\u001b[0m\u001b[0mfunction_base\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[1;33m*\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;32mC:\\Users\\jaidev\\Anaconda\\lib\\site-packages\\numpy\\lib\\type_check.py\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 9\u001b[0m 'common_type']\n\u001b[0;32m 10\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 11\u001b[1;33m \u001b[1;32mimport\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcore\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mnumeric\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0m_nx\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 12\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcore\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mnumeric\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0masarray\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0masanyarray\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0marray\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0misnan\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0;31m \u001b[0m\u001b[0;31m\\\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 13\u001b[0m \u001b[0mobj2sctype\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mzeros\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;32mC:\\Users\\jaidev\\Anaconda\\lib\\site-packages\\numpy\\core\\__init__.py\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mversion\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mversion\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0m__version__\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 6\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[1;33m.\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mmultiarray\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 7\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[1;33m.\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mumath\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 8\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[1;33m.\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0m_internal\u001b[0m \u001b[1;31m# for freeze programs\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;31mImportError\u001b[0m: DLL load failed: %1 is not a valid Win32 application."
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 11.5, Page number: 632"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "from numpy import array\n",
+ "import matplotlib.pyplot as plt\n",
+ "%pylab inline\n",
+ "\n",
+ "#Variables\n",
+ "Patm=101.325;\t\t\t#Atmospheric pressure in kPa.\n",
+ "Mh20=18.02;\t\t\t\t#Molecular mass of H20 in kg/kmol.\n",
+ "Mair=28.96;\t\t\t\t#Molecular mass of air in kg/kmol.\n",
+ "Psat =array(([0.6113, 1.2276, 2.3385, 4.2461, 7.3837, 12.35, 19.941, 31.188, 47.39, 70.139, 101.325]));\t\t#Saturated pressure of watrer in kPa \n",
+ "T=array(([0.01, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]));\t\t#Temperature of air in in degree C\n",
+ "#Calculations\n",
+ "xw=Psat/Patm;\t\t\t\t\n",
+ "\n",
+ "mw=(xw*Mh20)/(xw*Mh20+(1-xw)*Mair);\t\t#Mass fraction of water vapour.\n",
+ "#Result\n",
+ "plt.plot(T,mw);\n",
+ "plt.xlabel(\"Temperature(Degree C)\")\n",
+ "plt.ylabel(\"Mass fraction of water vapour\");\n",
+ "plt.show()\n",
+ "\n",
+ "\n"
+ ],
+ "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 0x8a7c4e0>"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 11.6, Page number: 634"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "T1=263.15; #temp.of ice,K\n",
+ "p=101.325; #Atmospheric pressure, KPa\n",
+ "Molw=18.02; #Molecular mass of water vapour, g/mol\n",
+ "Mola=28.96; #Molecular mass of air, g/mol\n",
+ "\n",
+ "#Calculations\n",
+ "Pv=math.exp(21.99-6141/(T1)); #vapor pressure,KPa\n",
+ "xw=Pv/p; #mole fraction of water\n",
+ "mw=xw*Molw/(xw*Molw+(1-xw)*Mola); #mass fraction\n",
+ "\n",
+ "#Result\n",
+ "print \"Mass fraction of watervapor above the surface of ice is :\",round(mw,5),\"\\n\"\n",
+ "#end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Mass fraction of watervapor above the surface of ice is : 0.0016 \n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 11.10, Page number:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "\n",
+ "#Variables\n",
+ "T1=303; # isothermal temp.,K\n",
+ "v=5; #air speed,m/s\n",
+ "l=0.05; #length of naphthalene model that is flat, m\n",
+ "Mnap=128.2; #molar mass of naphthalene,kg/kmol\n",
+ "nu=1.867*10**-5; #Dynamic viscocity, m^2/s\n",
+ "\n",
+ "#Calculations\n",
+ "D=0.86*(10**-5); #diffusion coefficient of naphthalene in air,m/s\n",
+ "\n",
+ "Pv=10**(11.45-3729.3/T1)*133.31; #vapor pressure of napthalene, Pa\n",
+ "xn=Pv/101325; #mole fraction of naphthalene\n",
+ "mn=xn*Mnap/(xn*Mnap+(1-xn)*28.96); #mass fraction of naphthalene\n",
+ "mnp=0; #mass fraction of naphthalene in free stream is 0\n",
+ "\n",
+ "Rel=v*l/nu; #reynolds no.\n",
+ "Sc=nu/D; #schimidt no.\n",
+ "Nul=0.664*math.sqrt(Rel)*(Sc**(1/3)); #mass transfer nusselt no.\n",
+ "Gmn=D*Nul*1.166/l; #gas phase mass transfer coefficient,kg/(m**2*s)\n",
+ "n=Gmn*(mn-mnp); #average mass flux,kg/(m**2*s)\n",
+ "n1=n*1000*3600;# average mass flux, g/m**2.h\n",
+ "\n",
+ "#Result\n",
+ "print \"Average rate of loss of naphthalene from a part of model is :\",round(n,7),\"kg/(m^2*s) or \",round(n1),\"g/(m^2*h)\\n\"\n",
+ "print \"Naphthalene sublimatin can be used to infer heat transfer coefficient by measuring the loss of naphthalene from a model over some length of time.since the schimidt no. of naphthalene is not generally equal to prandtl no. under the conditions of interest, some assumption about the dependence of nusselt no. on the prandtl no. must usually be introduced.\\n\"\n",
+ " #end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Average rate of loss of naphthalene from a part of model is : 1.61e-05 kg/(m^2*s) or 58.0 g/(m^2*h)\n",
+ "\n",
+ "Naphthalene sublimatin can be used to infer heat transfer coefficient by measuring the loss of naphthalene from a model over some length of time.since the schimidt no. of naphthalene is not generally equal to prandtl no. under the conditions of interest, some assumption about the dependence of nusselt no. on the prandtl no. must usually be introduced.\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 11.11, Page number:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "\n",
+ "#Variables\n",
+ "T1=300; #temp. of helium-water tube,K\n",
+ "h=0.4; #height of vertical wall,m\n",
+ "m=0.087*10**-3; #flow rate of helium,kg/(m**2*s)\n",
+ "#this is a uniform flux natural convection problem.\n",
+ "Mhes=0.01; # assuming the value of mass fraction of helium at the wall to be 0.01\n",
+ "Mhef=Mhes/2; #film composition\n",
+ "af=1.141; #film density,kg/m**3\n",
+ "wd=1.107; #wall density,kg/m**3\n",
+ "Dha=7.119*10**-5; #diffusion coefficient,m**2/s\n",
+ "u=1.857*10**-5; #film viscosity at 300K,kg/(m*s)\n",
+ "aa=1.177; #air density,kg/m**3\n",
+ "g=9.8; #Gravity constant, m/s**2\n",
+ "#Calculations\n",
+ "Sc=(u/af)/Dha; #schimidt no.\n",
+ "Ra1=g*(aa-wd)*m*h**4/(u*af*Dha**2*Mhes); #Rayleigh no.\n",
+ "Nu=6/5*(Ra1*Sc/(4+9*math.sqrt(Sc)+10*Sc))**(1/5); #approximate nusselt no.\n",
+ "s=m*h/(af*Dha*Nu); #average concentration of helium at the wall\n",
+ "#thus we have obtained an average wall concentration 14 oercent higher than our initial guess of Mhes.we repeat this calclations with revised values of densities to obtain Mhes = 0.01142\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print \"Average conentration of helium at the wall is \",round(s,5),\",since the result is within 0.5 percent of our second guess, a third iteration is not needed\"\n",
+ " #end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Average conentration of helium at the wall is 0.01136 ,since the result is within 0.5 percent of our second guess, a third iteration is not needed\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 11.14, Page number:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "T1=325; #temp. of helium-water tube,K\n",
+ "l=0.2; #length of tube,m\n",
+ "x=0.01; # mole fraction of water\n",
+ "R=8314.472; #gas constant,J/(kmol*K)\n",
+ "Mw=18.02;#Molecular mass of water, g/mol\n",
+ "#the vapor pressure of the liquid water is approximately the saturation pressure at the water temp.\n",
+ "\n",
+ "#Calculations\n",
+ "p=1.341*10000 ; #vapor pressure using steam table,Pa\n",
+ "x1=p/101325; #mole fraction of saturated water\n",
+ "c=101325/(R*T1); #mole concentration in tube,kmol/m**3\n",
+ "D12=1.067*math.pow(10,-4); #diffusivity ofwater with respect to helium,m**2/s \n",
+ "Nw=c*D12*math.log(1+(x-x1)/(x1-1))/l ; #molar evaporation rate,kmol/(m**2*s)\n",
+ "nw=Nw*Mw; # mass evaporation rate,kg/(m**2*s)\n",
+ "\n",
+ "#S=1+(x1-1)*math.exp(Nw*y/(c*D12)) conentration distribution of water-vapor\n",
+ "#Result\n",
+ "print \"Conentration distribution of water-vapor is : x1(y)=1-0.8677*exp(0.6593*y) where y is expressed in meters.\\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Conentration distribution of water-vapor is : x1(y)=1-0.8677*exp(0.6593*y) where y is expressed in meters.\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 11.15, Page number:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "\n",
+ "#Variables\n",
+ "T1=1473; #suraface temp.of hot water,K\n",
+ "x=0.05; #mass fraction of water\n",
+ "Gm=0.017; #average mass transfer coefficient,kg/(m**2*s)\n",
+ "A=0.04; #suraface area of pan,m**2\n",
+ "\n",
+ " #only water vapour passes through the liquid surface, since air is not strongly absorbed into water under normal conditions.\n",
+ "#Calculations\n",
+ "p=38.58*1000; #saturation pressure of water,kPa\n",
+ "Xwater=p/101325; #mole fraction of saturated water\n",
+ "Mwater=Xwater*18.02/(Xwater*18.02+(1-Xwater)*28.96); #mass fraction of saturated water\n",
+ "\n",
+ "B=(x-Mwater)/(Mwater-1); #mass transfer driving force\n",
+ "m=Gm*B*A; #evaporation rate,kg/s\n",
+ "\n",
+ "#Result\n",
+ "print \"Evaporation rate is:\",round(m,6),\" kg/s\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Evaporation rate is: 0.000213 kg/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 11.16, Page number:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "T1=298; #temp.of air,K\n",
+ "T2=323.15; #film temp.,K\n",
+ "x=0.05; #mass fraction of water at 75 C\n",
+ "Gm=0.017; #average mass transfer coefficient,kg/(m**2*s)\n",
+ "A=0.04; #suraface area of pan,m**2\n",
+ "l=0.2; #length of pan in flow direction,m\n",
+ "v=5; #air speed,m/s\n",
+ "m=(x+0.277)/2; #film composition of water at 50 C\n",
+ "Mf=26.34; #mixture molecular weight,kg/kmol\n",
+ "p=101325; #Atmospheric pressure, Pa\n",
+ "R=8314.5; #Gas constant, J/kmol-K\n",
+ "Uf=1.75*math.pow(10,-5); #film viscosity,kg/(m*s)\n",
+ "B=0.314; #mass transfer driving force\n",
+ "D=2.96*math.pow(10,-5); #diffusivity of water in air,m**2/s\n",
+ "df=0.993; #Density of ideal air, kg/m**#\n",
+ "\n",
+ "#Calculations\n",
+ "af=p*Mf/(R*T2); \t #film density from ideal gas law,kg/m**3\n",
+ "Vf=Uf/af; #kinematic viscosity,m**2/s\n",
+ "Rel=v*l/Vf; #reynolds no. comes out to be 56,800 so the flow is laminar.\n",
+ "Sc=Vf/D; #scimidt no.\n",
+ "Nu=0.664*math.sqrt(Rel)*math.pow(Sc,1/3); #nussselt no.\n",
+ "Gmw1=Nu*(D*df/l); #appropriate value of mass transfer gas phase coeffficient of water in air,kg/(m**2*s)\n",
+ "Gmw=Gmw1*(math.log(1+B)/B); \t #mass transfer gas phase coeffficient of water in air,kg/(m**2*s)\n",
+ "\n",
+ "#Results\n",
+ "print \"Mass transfer gas phase coeffficient of water in air is :\",round(Gmw,4),\"kg/(m^2*s)\\nIn this caes, the blowing factor is 0.870. Thus the mild blowing has reduced the mass transfer coefficient by about 13 percent\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "0.01955648559 133.069905487\n",
+ "Mass transfer gas phase coeffficient of water in air is : 0.017 kg/(m^2*s)\n",
+ "In this caes, the blowing factor is 0.870. Thus the mild blowing has reduced the mass transfer coefficient by about 13 percent\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Heat_Transfer_Text_Book/Chapter2.ipynb b/A_Heat_Transfer_Text_Book/Chapter2.ipynb
new file mode 100755
index 00000000..d6316e5a
--- /dev/null
+++ b/A_Heat_Transfer_Text_Book/Chapter2.ipynb
@@ -0,0 +1,329 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 2: Heat conduction concepts, thermal resistance, and the overall heat transfer coefficient "
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.3, Page number: 64"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "\n",
+ "#Variables\n",
+ "l=1; # tube length, m\n",
+ "m=0.01; # mass fraction\n",
+ "D12=2.84*10**-5; # diffusivity, m**2/s\n",
+ "a=1.18; # density, kg/m**3\n",
+ "\n",
+ "#Calculations\n",
+ "J=a*D12*m/l;\t\t\t\t\t\t\t\t #steady state flux of water from one side to the other,kg/(m**2*s)\n",
+ "\n",
+ "#Results\n",
+ "print \"Steady flux of water is\",J,\"kg/(m^2*s)\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Steady flux of water is 3.3512e-07 kg/(m^2*s)\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.7, Page number: 72"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "h=20; #convective heat transfer coefficient, W/(m**2*K)\n",
+ "k=0.074; #thermal conductivity, J/(m*K)\n",
+ "\n",
+ "#Calculations\n",
+ "Ro=k/h; # formula for critical thickness of insulation, m.\n",
+ "\n",
+ "#Results\n",
+ "print \"Critical thickness of insulation is :\",Ro,\"m\\n\"\n",
+ "print \"Insulation will not even start to do any good until ratio of outer radius and inner radius is 2.32 or outer radius is 0.0058 m.\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Critical thickness of insulation is : 0.0037 m\n",
+ "\n",
+ "Insulation will not even start to do any good until ratio of outer radius and inner radius is 2.32 or outer radius is 0.0058 m.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.8, Page number: 76"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "P=0.1; #dissipating power,W\n",
+ "D=0.0036; #outer diameter of cylinder, m\n",
+ "l=0.01; #length of cylinder, m\n",
+ "T=308; #temperature of air in the cabinet,K\n",
+ "Test=323; #Estimated temp of resistor, K\n",
+ "h=13; #convection coefficient, W/(m**2*K)\n",
+ "e=0.9;\t\t\t\t\t\t #emmisivity\n",
+ "A=1.33*math.pow(10,-4); #area of ressistor's surface, m**2\n",
+ "sigma=5.67*math.pow(10,-8); #Stefan-Boltzmann constant, Wm**-2K**-4\n",
+ "\n",
+ "#Calculations\n",
+ "Tm=(T+Test)/2; #ressistor's temperature at 50 K\n",
+ "Hr=4*sigma*math.pow(Tm,3)*e; #radiative heat transfer coefficient,W/(m**2*K)\n",
+ "Rteq=1/(A*(Hr+h)); #Equivalent thermal resistance K/W\n",
+ "Tres=T+P*Rteq; #Resistor's temp. C\n",
+ "#we guessed a ressistor's temperature of 323K in finding Hr,recomputing with this higher temperature,\n",
+ "#we have Tm=327K and Hr=7.17W/(m**2*K). if we repeat the rest of calculations, we get a new value Tres=345.3K,\n",
+ "#since the use of hr is an approximation, we should check its applicability: 1/4*((345.3-308)/327)**2=0.00325<<1,\n",
+ "#in this case, the approximation is a very good one.\n",
+ "Tr=Tres-273.06; #Resistor's temp. , K\n",
+ "\n",
+ "#Results\n",
+ "print \"Temperature of ressistor is :\",round(Tr,3),\"K\\n\"\n",
+ "print \"Since 1/4*(temperature diffference/mean temperature)= 1/4*((72.3-35)/327)^2=0.00325<<1, in this case, the approximation is a very good one.\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Temperature of ressistor is : 73.676 K\n",
+ "\n",
+ "Since 1/4*(temperature diffference/mean temperature)= 1/4*((72.3-35)/327)^2=0.00325<<1, in this case, the approximation is a very good one.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.9, Page number: 77"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "k=10; #thermal conductivity of ressistor, W/(m*K)\n",
+ "a=2000; #density of ressistor, kg/m**3\n",
+ "l=0.01; #length of cylinder, m\n",
+ "A=1.33*math.pow(10,-4); #area of ressistor's surface, m**2\n",
+ "T1=308; #temperature of air in the cabinet,K\n",
+ "Cp=700; #heat capacity of ressistor, J/kg/K\n",
+ "Heff=18.44; #the effective heat transfer coefficient of parallel convection and radiation process, W/(m**2*K)\n",
+ "D=0.0036; #outer diameter of cylinder, m\n",
+ "\n",
+ "#Calculations\n",
+ "Bi=Heff*(D/2)/k; #Biot no.\n",
+ "T=a*Cp*math.pi*l*math.pow(D,2)/(4*Heff*A); #since from previous example,To=72.3C, we have Tres=T1+(To-T)*exp(-t/T),Tres=308+(37.3)*.exp(-t/T). 95% of the temperature drop has occured when t=T*3=174s.\n",
+ "t=3*T; #Time for 95 percent cooling of ressistor, seconds.\n",
+ "\n",
+ "#Results\n",
+ "print \"Time for 95 percent cooling of ressistor is :\",t,\"s\\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Time for 95 percent cooling of ressistor is : 174.313737829 s\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.10, Page number: 79"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "h1=200; #convective heat transfer coefficient, W/(m**2*K)\n",
+ "a=1/160000; #1/a=l/Kal, l=0.001m, Kal=160 W/(m*K)\n",
+ "h2=5000; #convective heat transfer coefficient during boiling,W/(m**2*K)\n",
+ "\n",
+ "#Calculations\n",
+ "U=1/(1/h1+a+1/h2); \t\t\t\t #Overall heat transfer coefficient,W/(m^2*K) \n",
+ "\n",
+ "#Results\n",
+ "print \"Overall heat transfer coefficient is :\",round(U,3),\"W/(m^2*K)\\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Overall heat transfer coefficient is : 192.077 W/(m^2*K)\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.12, Page number: 85"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "Rf=0.0005; #fouling ressistance,m**2*K/W\n",
+ "U=5; #heat transfer coefficient,W/(m**2*K)\n",
+ "\n",
+ "#Calculations\n",
+ "Ucor=(U*Rf+1)/(U);\t\t\t\t\t #Corrected heat transfer coefficient, W/m^2.K\n",
+ "\n",
+ "#Results\n",
+ "print \"Corrected heat transfer coefficient is :\", Ucor,\"W/(m^2*K)\\n Therefore the fouling is entirely irrelevant to domestic heat holds.\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Corrected heat transfer coefficient is : 0.2005 W/(m^2*K)\n",
+ " Therefore the fouling is entirely irrelevant to domestic heat holds.\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.13, Page number: 85"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "\n",
+ "#Variables\n",
+ "U1=4000; # overall heat transfer coefficient of water cooled steam condenser, W/(m**2*K)\n",
+ "Rf1=0.0006; # lower limit of fouling ressistance of water side, m**2*K/W\n",
+ "Rf2=0.0020; # upper limit of fouling ressistance of water side, m**2*K/W\n",
+ "\n",
+ "#Calculations\n",
+ "U2=U1/(U1*Rf1+1);\t\t\t\t\t\t\t #Upper limit of the corrected overall heat transfer coefficient\n",
+ "U3=U1/(U1*Rf2+1);\t\t\t\t\t\t\t #Lower limit of corrected overall heat transfer coefficient\n",
+ "\n",
+ "#Results\n",
+ "print \"Upper limit of the corrected overall heat transfer coefficient is :\",round(U2,3),\"W/(m^2*K)\\n\"\n",
+ "print \"Lower limit of corrected overall heat transfer coefficient is :\",round(U3,3),\"W/m^2/K, U is reduced from 4000 to between 444 and 1176 W/(m^2*K),fouling is crucial in this case and engineering was in serious error.\\n\"\n",
+ " #end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Upper limit of the corrected overall heat transfer coefficient is : 1176.471 W/(m^2*K)\n",
+ "\n",
+ "Lower limit of corrected overall heat transfer coefficient is : 444.444 W/m^2/K, U is reduced from 4000 to between 444 and 1176 W/(m^2*K),fouling is crucial in this case and engineering was in serious error.\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Heat_Transfer_Text_Book/Chapter3.ipynb b/A_Heat_Transfer_Text_Book/Chapter3.ipynb
new file mode 100755
index 00000000..6791eb70
--- /dev/null
+++ b/A_Heat_Transfer_Text_Book/Chapter3.ipynb
@@ -0,0 +1,227 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 3 - Heat exchanger design "
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.3, Page number: 113"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "T1=20; #Entering Temperature of Water, K\n",
+ "T2=40; #Exit Temperature of water, K\n",
+ "m=25/60 #Condensation rate of steam, kg/s\n",
+ "T3=60; #Condensation Temperature,K\n",
+ "A=12; #area of exchanger, m**2\n",
+ "h=2358.7*math.pow(10,3); #latent heat, J/kg\n",
+ "Cp=4174; #Specific heat of water, J/kg K\n",
+ "\n",
+ "#Calculations\n",
+ "U=(m*h)/(A*((T2-T1)/math.log((T3-T1)/(T3-T2))));#Overall heat transfer coefficient, W/(m^2*K)\n",
+ "Mh=(m*h)/(Cp*(T2-T1));\t\t #Required flow of water, kg/s\n",
+ "\n",
+ "#Results\n",
+ "print \"Overall heat transfer coefficient is :\",round(U,1),\"W/(m^2*K)\\n\"\n",
+ "print \"Required flow of water is :\",round(Mh,2),\"kg/s\\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Overall heat transfer coefficient is : 2838.4 W/(m^2*K)\n",
+ "\n",
+ "Required flow of water is : 11.77 kg/s\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.4, Page number: 117"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "m=5.795; #flow rate of oil, kg/s\n",
+ "T1=454; #Entering Temperature of oil, K\n",
+ "T2=311; #Exit Temperature of oil, K\n",
+ "T3=305; # Entering Temperature of water, K\n",
+ "T4=322; #Exit Temperature of water, K\n",
+ "c=2282; #heat capacity, J/(kg*K)\n",
+ "U=416; #overall heat transfer coefficient , J/(m**2*K*s)\n",
+ "F=0.92; #Correction factor for 2 shell and 4 tube-pass exchanger,\n",
+ "#since R=(T1-T2)/(T4-T3)=8.412 >1, P=(T4-T3)/(T1-T2)=0.114,we can get this value of F by using value of P =R*0.114\n",
+ "\n",
+ "#Calculations\n",
+ "A=(m*c*(T1-T2))/(U*F*((T1-T4-T2+T3)/math.log((T1-T4)/(T2-T3))));#Area for heat exchanger, m^2.\n",
+ "\n",
+ "#Results\n",
+ "print \"Area for heat exchanger is :\",round(A,3),\"m^2\\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Area for heat exchanger is : 121.216 m^2\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.5, Page number: 112"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "T1=313; #entering temperature of cold water, K\n",
+ "T2=423; #Entering temperature of hot water, K\n",
+ "Cc=20000; #heat capacity of cold water, W/K\n",
+ "Ch=10000; #heat capacity of hot water, W/K\n",
+ "A=30; #area, m**2\n",
+ "U=500; #overall heat transfer coefficient, w/(m**2*K)\n",
+ "e=0.596; #no. of transfer units(NTU)=(U*A)/Ch=1.5, the effectiveness of heat exchanger e can be found by using this value of NTU\n",
+ "\n",
+ "#Calculations\n",
+ "Q=e*Ch*(T2-T1);\t\t\t\t\t\t\t\t#Heat transfer, W\n",
+ "Q1=Q/1000\t\t\t\t\t \t\t\t#Heat transfer, KW\n",
+ "Texh=T2-Q/Ch;\t\t\t\t\t\t\t\t#exit hot water temperature, K \n",
+ "Tn1=Texh-273;\t\t\t\t\t\t\t\t#exit hot water temperature, C\n",
+ "Texc=T1+Q/Cc\t\t\t\t\t\t\t\t#exit cold water temperature, K\n",
+ "Tn2=Texc-273;\t\t\t\t\t\t\t\t#exit cold water temperature, C\n",
+ "\n",
+ "#Results\n",
+ "print \"Heat transfer is :\",Q1,\"KW\\n\"\n",
+ "print \"The exit hot water temperature is:\",Tn1,\"C\\n\"\n",
+ "print \"The exit cold water temperature is :\",Tn2,\"C\\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Heat transfer is : 655.6 KW\n",
+ "\n",
+ "The exit hot water temperature is: 84.44 C\n",
+ "\n",
+ "The exit cold water temperature is : 72.78 C\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 3.6, Page number: 123"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "T1=313; #entering temperature of cold water, K\n",
+ "T2=423; #Entering temperature of hot water, K\n",
+ "T3=363; #Exit temperature of hot water, K\n",
+ "Cc=20000; #heat capacity of cold water, W/K\n",
+ "Ch=10000; #heat capacity of hot water, W/K\n",
+ "U=500; #overall heat transfer coefficient, w/(m**2*K)\n",
+ "\n",
+ "#Calculations\n",
+ "T4=T1+(Ch/Cc)*(T2-T3);\t\t \t\t #Exit cold fluid temp. K\n",
+ "\n",
+ "e=(T2-T3)/(T2-T1);\t\t\t \t #Effectiveness method\n",
+ "NTU=1.15;\t\t\t\t\t #No. of transfer unit\n",
+ "A1=Ch*(NTU)/U; # since NTU=1.15=U*A/Ch, Area can be found by using this formula\n",
+ "#another way to calculate the area is by using log mean diameter method\n",
+ "LMTD=(T2-T1-T3+T4)/math.log((T2-T1)/(T3-T4)); #Logarithmic mean temp. difference\n",
+ "A2=Ch*(T2-T3)/(U*LMTD);\t\t\t\t #Aera by method 2, in meters^2.\n",
+ "\n",
+ "#Results\n",
+ "print \"Area is :\",A1,\"m^2\\n\"\n",
+ "print \"Area is :\",round(A2,3),\"m^2\\n\"\n",
+ "print \"There is difference of 1 percent in answers which reflects graph reading inaccuracy.\"\n",
+ "# we can see that area calulated is same in above 2 methods.\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Area is : 23.0 m^2\n",
+ "\n",
+ "Area is : 22.73 m^2\n",
+ "\n",
+ "There is difference of 1 percent in answers which reflects graph reading inaccuracy.\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Heat_Transfer_Text_Book/Chapter4.ipynb b/A_Heat_Transfer_Text_Book/Chapter4.ipynb
new file mode 100755
index 00000000..6c6f72bd
--- /dev/null
+++ b/A_Heat_Transfer_Text_Book/Chapter4.ipynb
@@ -0,0 +1,226 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 4: Analysis of heat conduction and some steady one-dimensional problems"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 4.8, Page number: 172"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "d=0.02; #diameter of alluminium rod,m\n",
+ "k=205; #thermal conductivity of rod,W/(m.K)\n",
+ "l=0.08; #length of rod, m\n",
+ "T1=423; #wall temperature, K\n",
+ "T2=299; #air temperatutre, K\n",
+ "h=120; #convective coefficient, W/(m**2*K)\n",
+ "\n",
+ "#Calculations\n",
+ "mL=math.sqrt(h*(math.pow(l,2))/(k*d/4)); # formula for mL=((h*Perimeter*l**2)/(k*Area))**0.5\n",
+ "Bi=h*l/k #Biot no.\n",
+ "a1=(math.cosh(0)+(Bi/mL)*math.sinh(0))/(math.cosh(mL)+(Bi/mL)*math.sinh(mL));#formula for temperature difference T-Ttip\n",
+ "Ttip1=T2+a1*(T1-T2); # exact tip temperature, C\n",
+ "Tt1=Ttip1-273; #Exact tip temp., K\n",
+ "a2=(math.cosh(0)+(Bi/mL)*math.sinh(0))/(math.cosh(mL));#dimensionless temp. at tip if heat transfer from the tip is not considered\n",
+ "Ttip2=T2+a2*(T1-T2); #Approximate tip temp., K\n",
+ "Tt2=Ttip2-273; #Approximate tip temp., C\n",
+ "\n",
+ "#Results\n",
+ "print \"The exact tip temperature is :\",round(Tt1,3),\"C\\n\"\n",
+ "print \"Approximate tip temperature is : \",round(Tt2,3),\" C\\n\"\n",
+ "print \"Thus the insulated tip approximation is adequate for the computation in this case.\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The exact tip temperature is : 111.428 C\n",
+ "\n",
+ "Approximate tip temperature is : 114.659 C\n",
+ "\n",
+ "Thus the insulated tip approximation is adequate for the computation in this case.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 4.9, Page number: 174"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "T1=423; #wall temperature, K\n",
+ "d=0.02; #diameter of alluminium rod,m\n",
+ "k=205; #thermal conductivity of rod,W/(m.K)\n",
+ "l=0.08; #length of rod, m\n",
+ "T2=299; #air temperatutre, K \n",
+ "h=120; #convective coefficient, W/(m**2*K)\n",
+ "mL=0.8656;\n",
+ "\n",
+ "#Calculations\n",
+ "mr=mL*(d/(2*l)); # by looking at graph of 1-Qact/Q(no temp.depression) vs. mr*math.tanh(mL), we can find out the value of Troot. 1-Qact./Q(no temp. depression) = 0.05 so heat flow is reduced by 5 percent\n",
+ "Troot=T1-(T1-T2)*0.05; #Actual temperature of root, K (0.05 is from graph)\n",
+ "Tr=Troot-273; #Actual temperature of root, \u00b0C\n",
+ "\n",
+ "#Results\n",
+ "print \"Actual temperature of root is :\",Tr,\"C , the correction is modest in this \\n\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Actual temperature of root is : 143.8 C , the correction is modest in this \n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 4.10, Page number: 178"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "T1=308; #air temperature, K\n",
+ "Q=0.1; # heat transferred,W\n",
+ "k=16; #thermal conductivity of wires, W/(m*K)\n",
+ "d=0.00062; #diameter of wire,m\n",
+ "Heff=23; #convection coefficient, W/(m**2*K)\n",
+ "A=1.33*math.pow(10,-4); #Aera of resistor surface, m^2 (from example 2.8)\n",
+ "#the wires act actn as very long fins connected to ressistor hence math.tanh(mL)=1\n",
+ "\n",
+ "#Calculations\n",
+ "R1=1/math.sqrt(k*Heff*math.pow(math.pi,2)*math.pow(d,3)/4); #Fin resistance, K/W\n",
+ "Req=math.pow((1/R1+1/R1+7.17*A+13*A),-1); #the 2 thermal ressistances are in parallel to the thermal ressistance for natural...\n",
+ "#convection and thermal radiation from the ressistor's surface found in previous eg.\n",
+ "Tres=T1+Q*Req; #Resistor temperature, K\n",
+ "Trs=Tres-273; #Resistor temperature, \u00b0C\n",
+ "\n",
+ "#Results \n",
+ "print \"Resistor temperature is :\",round(Trs,2),\"C or about 10 C lower than before.\\n\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resistor temperature is : 62.68 C or about 10 C lower than before.\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 4.11, Page number: 181"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "D1=0.03; # outer diameter, m\n",
+ "T1=358; #hot water temperature, K\n",
+ "t1=0.0008; #thickness of fins, m\n",
+ "D2=0.08; # diameter of fins, m\n",
+ "t2=0.02; # spacing between fins, m\n",
+ "h1=20; # convection coefficient, W/(m**2*K)\n",
+ "h2=15; #convection coefficient with fins, W/(m**2*K)\n",
+ "To=295; #surrounding temperature, K\n",
+ "\n",
+ "#Calculations\n",
+ "Q=math.pi*D1*h1*(T1-To); # if fins are not added.\n",
+ "Q1=math.ceil(Q1); #heat loss without fins,W/m\n",
+ "# we set wall temp.=water temp..since the wall is constantly heated by water, we should not have a root temp. depression problem after the fins are added.hence by looking at the graph, ml(l/Perimeter)**0.5=(h*(D2/2-D1/2)/(125*0.025*t1)) = 0.306, we obtain n(efficiency)=89 percent\n",
+ "Qfin=math.ceil(Q*(t2-t1)/t2 + 0.89*(2*3.14*(math.pow(D2,2)/4-math.pow(D1,2)/4))*50*h2*(T1-To)) #Heat transferred with fins, K/W\n",
+ "\n",
+ "#Results\n",
+ "print \"Heat trnsferred without fins is :\",Q1,\"W/m\\n\"\n",
+ "print \"Heat transferred with fins is :\", round(Qfin,3),\"W/m or 4.02 times heat loss without fins.\\n\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Heat trnsferred without fins is : 199.0 W/m\n",
+ "\n",
+ "Heat transferred with fins is : 478.0 W/m or 4.02 times heat loss without fins.\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Heat_Transfer_Text_Book/Chapter5.ipynb b/A_Heat_Transfer_Text_Book/Chapter5.ipynb
new file mode 100755
index 00000000..ae3d2064
--- /dev/null
+++ b/A_Heat_Transfer_Text_Book/Chapter5.ipynb
@@ -0,0 +1,479 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 5: Transient and multidimensional heat conduction "
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.2, Page number: 212"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "d1=0.1; # diameter of sphere, m\n",
+ "T1=303; # environment temp.,K\n",
+ "T2=278; # fridge temp., K\n",
+ "h=6; #convection coefficient, W/(m**2*K)\n",
+ "k=0.603; #thermal conductivity,W/(m*K)\n",
+ "a=997.6; # density of water, kg/m**3\n",
+ "c=4180; #heat capacity, J/(kg*K)\n",
+ "\n",
+ "#Calculations\n",
+ "F=(k/(a*c))*3600/(math.pow(d1,2))/4;\n",
+ "a1=math.pow(h*(d1/2)/k,-1) # Biot no.=1/2.01 therefore we read from fig. in upper left hand corner\n",
+ "Tcen=a1*(T1-T2)+T2; \t\t# temperature of the center of apple after 1 hour, K\n",
+ "Tc=Tcen-273; # temperature of the center of apple after 1 hour, \u00b0C\n",
+ "F1=1.29 #Bi is still 1/2.01, by looking at the graph we can find time.\n",
+ "t=F1*a*c*math.pow(d1/2,2)/k-2; #Time to bring the temp equal to 283k , seconds.\n",
+ "#finally we look up at Bi=1/2.01 and fouling factor is 1.29, for spheres heta removal is 43.67 kJ per apple.\n",
+ "x=43.67; #heat removal for an apple, kJ\n",
+ "X=12*x; #total heat removal,kJ\n",
+ "\n",
+ "#Results\n",
+ "print \"Temperature after an hour is :\",Tc,\"C\\n\"\n",
+ "print \"Time to bring the temp equal to 283k is :\",round(t,3),\"s or 6 hr 12 min\\n\"\n",
+ "print \"Total energy removal is :\",X,\"kJ\\n\"\n",
+ " #end\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Temperature after an hour is : 55.25 C\n",
+ "\n",
+ "Time to bring the temp equal to 283k is : 22300.068 s or 6 hr 12 min\n",
+ "\n",
+ "Total energy removal is : 524.04 kJ\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.3, Page number: 215"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "d1=0.001;\t\t\t\t #diameter of nichrome, m\n",
+ "h=30000; #convection coefficient , W/(m**2*K)\n",
+ "T1=373; # wire temperature, K\n",
+ "k=13.8; #thermal conductivity,W/(m*K)\n",
+ "a=3.43*10**-6; # Thermal Diffusivity, m^2/s \n",
+ "w = 2*math.pi*60; # Frequency of current in rad/s\n",
+ "#heat is being generated in proportion to product of voltage and current, if the boiling action removes heat rapidly enough in comparison with the heat capacity of the wire,the surface temperature may well vary.\n",
+ "\n",
+ "#Calculations\n",
+ "Bi = h*d1/2/k; # biot number comes ot to be 1.09 by looking at the chart of cylinders, we find that, (Tmax-Tav)/(Tav-To)=0.04\n",
+ "phi = w*d1**2/4/a; # value of a= w*d1**(2)/4/a1 comes out to be 27.5.\n",
+ "TF=0.04; # (from the charts for cylinders, Fig. 5.12)temperature fluctuation of 4 percent is not serious and experiment is valid.\n",
+ "\n",
+ "#Results \n",
+ "print \"Biot number: \",round(Bi,1);\n",
+ "print \"Psi(\u03a8): \",round(phi,1);\n",
+ "print \"The temperature fluctuation is : \", TF,\"this fluctuation is probably not serious.It therefore appears that the experiment is valid.\\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Biot number: 1.1\n",
+ "Psi(\u03a8): 27.5\n",
+ "The temperature fluctuation is : 0.04 this fluctuation is probably not serious.It therefore appears that the experiment is valid.\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.4, Page number:224"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "t=0.003; #half thickness of sword, m\n",
+ "a=1.5*math.pow(10,-5); #Thermal diffusivity, m^2/s\n",
+ "\n",
+ "#Calculations\n",
+ "Tmax=math.pow(t,2)/(math.pow(3.64,2)*a); #Maximum time for sword to be in semi infinite region, seconds\n",
+ "\n",
+ "#Results\n",
+ "print \"Maximum time for sword to be in semi infinite region is :\",round(Tmax,4),\"s\\n\"\n",
+ "print \"Thus the quench would be felt at the centerline of the sword within only 1/20 s. the thermal diffusivity of clay is smaller than that of steel by a factor of about 30, so the quench time of coated steel must continue for over 1s before the temperature of the steel is affected at all, if the clay and sword thickness are comparable\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum time for sword to be in semi infinite region is : 0.0453 s\n",
+ "\n",
+ "Thus the quench would be felt at the centerline of the sword within only 1/20 s. the thermal diffusivity of clay is smaller than that of steel by a factor of about 30, so the quench time of coated steel must continue for over 1s before the temperature of the steel is affected at all, if the clay and sword thickness are comparable\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.5, Page number:226"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "Tburn=65; #Skin threshold, C\n",
+ "Tbody=37; #Body temp, C\n",
+ "Tflame=800; #Flame temp, C\n",
+ "h=100; #convective heat transfer coefficient, W/(m**2*K)\n",
+ "k=0.63; # thermal conductivity,W/(m*K)\n",
+ "#the short exposure to the flame causes only a very superficial heating,so we consider the finger to be semi-infinite region.it turns out that the burn threshold of human skin,Tburn is about 65 C. h=100 W/(m**2*K), we shall assume that the thermal conductivity of human flesh equals that of its major component - water and that the thermal diffusivity is equal to the known value for beef.\n",
+ "# a=0.963, BE=h*x/k=0(since x=0 at the surface)\n",
+ "# b**2=(h**2)*(0.135*10**-6)*t/(k**2)=0.0034*t. On solving error function by trial and error method, we get the value of t=0.33 sec.\n",
+ "\n",
+ "#Calculations\n",
+ "a=(Tburn-Tflame)/(Tbody-Tflame);\n",
+ "beta=(1-a)*(math.sqrt(math.pi))/2;\n",
+ "# from fig. 5.16, it would require about 1/3 se to bring the skin to burn point.\n",
+ "\n",
+ "#Results\n",
+ "print \"It would require about 1/3 sec to bring the skin to burn point\"\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "It would require about 1/3 sec to bring the skin to burn point\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.7, Page number:234"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "b=0.139*math.pow(10,-6); #thermal diffusivity, m**2/s\n",
+ "t=365*24*3600; #seconds in a year\n",
+ "min=2.356; #first minima from fig 5.19\n",
+ "#w=2*3.14 rad/yr , a=w*t=0 at present.first we find the depths at which a=0 curve reaches its local extrema.(we pick the a=0 curve because it) gives the highest temperature at t=o.).tan(o-e)=1 so e=3%pi/4, 7%pi/4....and the first minima occurs where e=3%pi/4=2.356.\n",
+ "\n",
+ "#Calculations\n",
+ "x=min/math.sqrt((2*math.pi/(2*b*t))); #depth of digging of earth to find the temperature wave, m\n",
+ "\n",
+ "#Results\n",
+ "print \"Depth of digging of earth is :\",round(x,3),\" m, if we dug in the earth, we would find it growing older until it reached a maximum coldness at a depth of about 2.8 m.Farther down, it would begin to warm up again, but nt much. in midwinter, the reverse would be true \\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Depth of digging of earth is : 2.783 m, if we dug in the earth, we would find it growing older until it reached a maximum coldness at a depth of about 2.8 m.Farther down, it would begin to warm up again, but nt much. in midwinter, the reverse would be true \n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.8, Page number:240"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "l=0.08; #distance between metal walls,m\n",
+ "k=0.12; #thermal conductivity of insulating material, w/(m*K)\n",
+ "l1=0.04; #length of ribs,m\n",
+ "l2=0.14; #projected legth of wall,m\n",
+ "T1=40; #temperature of 1st wall,C\n",
+ "T2=0; #temperature of wall, C\n",
+ "hc=6.15; #Heat flow channels\n",
+ "ii=5.6; #Isothermal increments\n",
+ "\n",
+ "#Calculations\n",
+ "#by looking at the configuration plot, there are approximately 5.6 isothermal increments and 6.15 flow channels.\n",
+ "Q=2*(hc/ii)*k*(T1-T2); #factor of 2 accounts for the fact that there are two halves in the section.\n",
+ "T=2.1/ii*(T1-T2); #(using proportionality and fig 5.23)Temperature in the middle of of wall, 2 cm from a rib, \u00b0C\n",
+ "\n",
+ "#Results\n",
+ "print \"Temperature in the middle of of wall, 2 cm from a rib is :\",T,\"C\\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Temperature in the middle of of wall, 2 cm from a rib is : 15.0 C\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.9, Page number:242"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "r=3; # radius ratio of one-quarter section of cylinder\n",
+ "\n",
+ "#Calculations\n",
+ "S=math.pi/(2*math.log(r)); # shape factor\n",
+ "\n",
+ "#Results\n",
+ "print \"Shape factor is :\",round(S,3),\"\\nThe quarter cylinder will be pictured for the radius ratio of 3, but for the different sizes, in both the cases it will be 1.43.\\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Shape factor is : 1.43 \n",
+ "The quarter cylinder will be pictured for the radius ratio of 3, but for the different sizes, in both the cases it will be 1.43.\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.11, Page number:244"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "Q=14; #steady heat transfer,W\n",
+ "D=0.06; #diameter of heat source,m\n",
+ "l=0.3; # length of source below surface ,m\n",
+ "T=308; #temperature of heat source,K\n",
+ "T1=294; #temperature of surface,K\n",
+ "\n",
+ "#Calculations\n",
+ "k=(Q/(T-T1))*(1-(D/2)/(D*10))/(4*3.14*D/2)+0.025;# thermal conductivity of soil, W/m.K\n",
+ "\n",
+ "#Results\n",
+ "print \"Thermal conductivity is :\",round(k,3),\"W/(m*K)\\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Thermal conductivity is : 2.546 W/(m*K)\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.12, Page number:250"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "l=0.04; # length of square rod, m\n",
+ "T1=373; # temerature of rod, K\n",
+ "T2=293; # temperature of coolant,K\n",
+ "h=800; #convective heat transfer coefficient, W/(m**2*K)\n",
+ "a1=0.93; # ratio of temperature difference for Fo1=0.565, Bi1=0.2105, (x/l)1=0\n",
+ "a2=0.91; # ratio of temperature difference for Fo2=0.565, Bi2=0.2105, (x/l)2=0.5\n",
+ "\n",
+ "#Calculations\n",
+ "a=a1*a2; #ratio of temperature difference at the axial line of interest\n",
+ "T=(T1-T2)*a+T2; #temperature on a line 1 cm. from one side and 2 cm. from the adjoining side after 10 sec. in K\n",
+ "Ta=T-273; #in \u00b0C\n",
+ "\n",
+ "#Results\n",
+ "print \"Temperature is : \",Ta,\"C\\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Temperature is : 87.704 C\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 5.13, Page number: 251"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "T1=373; # temperature of iron rod,K\n",
+ "T2=293; # temperature of coolant,K\n",
+ "#Biot no., Bi1=Bi2=0.2105,Fo1=Fo2=0.565 \n",
+ "a1=0.10; #Fin effectiveness\n",
+ "a2=0.10; #Fin effectiveness\n",
+ "\n",
+ "#Calculations\n",
+ "a=a1+a2*(1-a1); \n",
+ "T=(T1-T2)*(1-a)+T2; #mean temperature,K\n",
+ "Ta=T-273; #mean temperature in \u00b0C\n",
+ "\n",
+ "#Results\n",
+ "print \"Mean temperature is :\",Ta,\"C\\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Mean temperature is : 84.8 C\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Heat_Transfer_Text_Book/Chapter6.ipynb b/A_Heat_Transfer_Text_Book/Chapter6.ipynb
new file mode 100755
index 00000000..08ce98f7
--- /dev/null
+++ b/A_Heat_Transfer_Text_Book/Chapter6.ipynb
@@ -0,0 +1,441 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 6:Laminar and turbulent boundary layers "
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.2, Page number: 284"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "T1=300; #air temperature,K\n",
+ "v=1.5; #air velocity, m/s\n",
+ "t=0.5; #thickness, m\n",
+ "u=1.853*math.pow(10,-5); #dynamic viscosity,kg/(m*s)\n",
+ "v1=1.566*math.pow(10,-5); #kinematic viscosity,m**2/s\n",
+ "\n",
+ "#Calculations\n",
+ "Rex=v*t/v1; #reynolds no. is low enough to permit the use of laminar flow analysis.\n",
+ "b=4.92*t/(math.sqrt(Rex))*100; # b.l. thickness, cm\n",
+ "#in this case b/x=1.124/50=0.0225 so laminar flow is valid.\n",
+ "v2=0.8604*math.sqrt(v1*v/t);\n",
+ "#since v2 grows larger as x grows smaller, the condition v2<u is not satisfied very near the leading edge.\n",
+ "#in this case del/thickness is 0.0225.\n",
+ "x=0.8604*math.sqrt(v1*v/t); #velocity,m/s\n",
+ "y=x/t;\n",
+ "\n",
+ "#Results\n",
+ "print \"Boundary layer thickness is :\",round(b,3),\"cm\\n\"\n",
+ "print \"Since velocity grows larger as thickness grows smaller, the condition x<<u is not satisfied very near the leading edge. therefore the BI approximation themselves breakdown.\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Boundary layer thickness is : 1.124 cm\n",
+ "\n",
+ "Since velocity grows larger as thickness grows smaller, the condition x<<u is not satisfied very near the leading edge. therefore the BI approximation themselves breakdown.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.3, Page number: 291"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "l=0.5; #total length of surface,m\n",
+ "Cf=0.00607; #overall friction coefficient\n",
+ "\n",
+ "#Calculations\n",
+ "tw=1.183*(2.25)*Cf/2; # wall shear, kg/(m*s**2)\n",
+ "a=0.5; #ratio of wall shear at x=l and average wall shear\n",
+ "#tw(x)=twavg where 0.664/(x**0.5)=1.328/(47,)893, x=1/8 m thus the wall shear stress plummets to twavg one fourth of the way from the leading edge and drops only to one half of twavg in the remaining 75 percent plate.x<600*1.566*10**(-5)/1.5=0.0063 m.\n",
+ "# preceding analysis should be good over almost 99 percent of the 0.5 m length of the surface.\n",
+ "\n",
+ "#Results\n",
+ "print \"Overall friction coefficient is :\",Cf,\"\\n\"\n",
+ "print \"Wall shear is :\",tw,\"kg/(m*s^2)\\n\"\n",
+ "print \"The preceding analysis should be good over almost 99 percent of the 0.5m length of the surface.\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Overall friction coefficient is : 0.00607 \n",
+ "\n",
+ "Wall shear is : 0.00807841125 kg/(m*s^2)\n",
+ "\n",
+ "The preceding analysis should be good over almost 99 percent of the 0.5m length of the surface.\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.4, Page number: 296"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "l=0.06; #length of heater, m\n",
+ "p=15; #pressure of heater, atm\n",
+ "T1=440; #temperature of heater, K\n",
+ "v=2; #free stream velocity,m/s\n",
+ "T2=460; #constant temperature of heater, K\n",
+ "T3=450; #mean temperature of heater, K\n",
+ "k=0.674; #thermal conductivity ,W/(m.K)\n",
+ "\n",
+ "#Calculations\n",
+ "q=2*(0.332)*(k/l)*math.sqrt(v*l/(1.72*10**-7))*(T2-T1)/1000;\t\t #(from Fig 6.10)formula for heat flux is q=2*(0.664)*k/l*(Rel**0.5)*(T2-T1), in kW/m^2\n",
+ "\n",
+ "#Results\n",
+ "print \"Heat flux is :\",round(q,3),\"kW/m^2\\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Heat flux is : 124.604 kW/m^2\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.5, Page number: 308"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "T1=293; #air temperature,K\n",
+ "v=15; #air velocity,m/s\n",
+ "T2=383; #temperature of plate,K\n",
+ "l=0.5; #length of plate,m\n",
+ "w=0.5; #width of plate,m\n",
+ "Pr=0.707; #prandtl no.\n",
+ "k=0.02885; #thermal conductivity of ,W/(m.K)\n",
+ "\n",
+ "#Calculations\n",
+ "Rel=v*l/(0.0000194); #reynolds no.\n",
+ "Nul=0.664*(Rel)**0.5*Pr**(1/3); \t #nusset no.\n",
+ "h1=367.8*(k)/l; #average convection coefficient, W/(m**2*K)\n",
+ "Q=h1*l**(2)*(T2-T1); #heat transferred,W\n",
+ "h2=h1/2 #convection coefficient at trailing , W/(m**2*K)\n",
+ "a1=4.92*l/math.sqrt(Rel)*1000 #hydrodynamic boundary layer,m\n",
+ "a2=a1/(Pr)**(1/3); #thermal boundary layer,mm\n",
+ "\n",
+ "#Results\n",
+ "print \"Average heat trensfer coefficient is :\",round(h1,3),\"W/m^2/K\\n\"\n",
+ "print \"Total heat transferred is\",round(Q,3),\"W\\n\"\n",
+ "print \"Convection coefficient at trailing is :\",round(h2,3),\"W/(m^2*K)\\n\"\n",
+ "print \"Hydrodynamic boundary layer is : \",round(a1,3),\"m\\n\"\n",
+ "print \"Thermal boundary layer is : \",round(a2,3),\"mm\\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Average heat trensfer coefficient is : 21.222 W/m^2/K\n",
+ "\n",
+ "Total heat transferred is 477.496 W\n",
+ "\n",
+ "Convection coefficient at trailing is : 10.611 W/(m^2*K)\n",
+ "\n",
+ "Hydrodynamic boundary layer is : 3.956 m\n",
+ "\n",
+ "Thermal boundary layer is : 4.441 mm\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.6, Page number: 310"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "T1=288; # air temperature,K\n",
+ "v=1.8; # air velocity,m/s\n",
+ "l=0.6; # length of panel, m\n",
+ "Q=420; # power per unit area, m**2\n",
+ "T2=378; # maximum temperature of surface, K\n",
+ "k=0.0278; #thermal conductivity of ,W/(m.K)\n",
+ "Pr=0.709; #Prandtl no.\n",
+ "\n",
+ "#Calculations\n",
+ "T3=Q*l/(k)/(0.453*(l*v/(1.794*10**-5))**(0.50)*(Pr)**(1/3));#maximum temperature difference \n",
+ "Twmax=T1+T3; #Twmax comes out to be 106.5 C, this is very close to 105 C,if 105 is at all conservative, Q = 420 should be safe.\n",
+ "T4=0.453/0.6795*T3; #average temperature difference,K\n",
+ "Twavg=T1+T4; #average wall temperature,K\n",
+ "Twa=Twavg-273; #average wall temp. in \u00b0C\n",
+ "\n",
+ "#Results\n",
+ "print \"Average wall temperature is :\",round(Twa,3),\"C\\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Average wall temperature is : 75.975 C\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.8, Page number: 313"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "v=15; #air velocity,m/s\n",
+ "T2=383; # temperature of plate,K\n",
+ "l=0.5; # length of plate,m\n",
+ "w=0.5; # width of plate,m\n",
+ "Pr=0.707; # prandtl no.\n",
+ "rho=1.05; #Air desnity, kg/m^3\n",
+ "#Calculations\n",
+ "Rel=v*l/(0.0000194); #reynolds no.\n",
+ "Nul=0.664*math.sqrt(Rel)*Pr**(1/3); # nusset no.\n",
+ "Cf=2*Nul/(Rel*Pr**(1/3)); #friction coefficient\n",
+ "s=Cf*0.5*rho*v**2; #drag shear, kg/(m*s**2)\n",
+ "f=s*0.5**2; #drag force, N\n",
+ "\n",
+ "#Results\n",
+ "print \"Drag force on heat transfer surface is :\",round(f,5),\"N\\n\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Drag force on heat transfer surface is : 0.06307 N\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.9, Page number: 328"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "T1=297; # river water temp.,K\n",
+ "T2=283; # ocean water temp., K\n",
+ "n=5; # no. of knots\n",
+ "k=0.5927; # thermal conductivity,W/(m*K)\n",
+ "a=998.8; #density of water, kg/m**3\n",
+ "Cp=4187; # heat capacity, J/kg/K\n",
+ "Pr=7.66; #Prandtle no.\n",
+ "x=1; #distance from forward edge,m\n",
+ "v=1.085*10**-6; # kinematic viscosity, m**2/s\n",
+ "u=2.572; # velocity of knot,m/s\n",
+ "\n",
+ "#Calculations\n",
+ "T3=(T1+T2)/2; # avg. temp.,K\n",
+ "Rex=u/v # reynolds no.\n",
+ "Cf=0.455/(math.log(0.06*Rex))**2 # friction coefficient\n",
+ "h=k/x*0.032*(Rex)**(0.8)*Pr**(0.43); # heat transfer coefficient,W/(m**2*K)\n",
+ "h1=a*Cp*u*Cf/2/(1+12.8*(Pr**0.68-1)*math.sqrt(Cf/2)); #heat transfer coefficient,W/(m**2*K)\n",
+ "\n",
+ "#Results\n",
+ "print \"Friction coefficient is :\",round(Cf,5),\"\\n\"\n",
+ "print \"Convective heat transfer coefficient at a distance of 1 m fom the forward edge is :\",round(h,3),\"W/(m^2*K)\\n\"\n",
+ "print \"Heat transfer coefficient by another method is :\",round(h1,3),\"W/(m^2*K)\\n\"\n",
+ "print \"The two values of h differ by about 18 percent, which is within the uncertainity \\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Friction coefficient is : 0.00323 \n",
+ "\n",
+ "Convective heat transfer coefficient at a distance of 1 m fom the forward edge is : 5728.966 W/(m^2*K)\n",
+ "\n",
+ "Heat transfer coefficient by another method is : 6843.244 W/(m^2*K)\n",
+ "\n",
+ "The two values of h differ by about 18 percent, which is within the uncertainity \n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.10, Page number: 329"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "l=2; # length of plate,m\n",
+ "p=1000; # power density,W/m**2\n",
+ "u=10; # air velocity,m/s\n",
+ "T1=290; # wind tunnel temp.,K\n",
+ "p2=1; # pressure,atm\n",
+ "v=1.578*10**-5; # kinematic viscosity, m**2/s\n",
+ "k=0.02623; # thermal conductivity,W/(m*K)\n",
+ "Pr=0.713; # prandtl no.\n",
+ "Rel=u*l/v; # reynolds no. at 10 m/s\n",
+ "Nul=1845; # nusselt no.\n",
+ "Re=400000; #Reynolds no. at the end of turbulent transition engine\n",
+ "\n",
+ "#Calculations\n",
+ "h=Nul*k/l; #convection coefficient,W/(m**2*K)\n",
+ "Tavg=T1+p/h; #Average temperature of plate, K\n",
+ "\n",
+ "#to take better account of the transition region, we can use churchill eqn.\n",
+ "x=Rel*Pr**(2/3)/(math.sqrt(1+(0.0468/Pr)**(2/3))); \n",
+ "x1=1.875*x*Re/Rel;\n",
+ "Nul1=0.45+0.6774*math.sqrt(x)*math.sqrt(1+((x/12500)**(3/5))/(1+(x1/x)**3.5)**0.4);\n",
+ "H=Nul1*k/l; #convection coefficient,W/(m**2*K)\n",
+ "Tw=290+1000/H; #average temperature of plate,K\n",
+ "\n",
+ "#Results\n",
+ "print \"Average temperature of plate is :\",round(Tavg,2),\" K\\n\"\n",
+ "print \"Average temperature of plate is :\",round(Tw,2),\" K , thus in this case, the average heat transfer coefficient is 33 percent higher when the transition regime is included.\\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Average temperature of plate is : 331.33 K\n",
+ "\n",
+ "Average temperature of plate is : 321.54 K , thus in this case, the average heat transfer coefficient is 33 percent higher when the transition regime is included.\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Heat_Transfer_Text_Book/Chapter7.ipynb b/A_Heat_Transfer_Text_Book/Chapter7.ipynb
new file mode 100755
index 00000000..c158785b
--- /dev/null
+++ b/A_Heat_Transfer_Text_Book/Chapter7.ipynb
@@ -0,0 +1,384 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 7: Forced convection in a variety of configurations "
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.1, Page number: 350"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "D=0.001; #diameter of tube,m\n",
+ "T1=293; #temperature of cold water, K\n",
+ "T2=347; #temperature of hot water, K\n",
+ "T3=320; #operating temperature of hot water, K\n",
+ "Q=6000; #heat flux,W/m**2\n",
+ "v=0.2 ; #speed of water,m/s\n",
+ "k=0.6367; #thermal conductivity,W/(m*K)\n",
+ "\n",
+ "#Calculations\n",
+ "v1=1.541*10**-7; # molecular diffusivity, m**2/s\n",
+ "v2=0.556*10**-6; #molecular diffusivity, m**2/s\n",
+ "Re=D*v/v2; #reynolds no.\n",
+ "L=D*(54-11/48*Q*D/k)*v*k/(4*Q*v1); #length that is down the tube for water reach to 74 C at its hottest point,m\n",
+ "\n",
+ "#Results\n",
+ "print \"Length that is down the tube for water reach to 74 C at its hottest point is :\",round(L,3),\"m ,while we did not evaluate the thermal entry length here, it may be shown to be much, much less than 1785 diametres.\\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Length that is down the tube for water reach to 74 C at its hottest point is : 1.785 m ,while we did not evaluate the thermal entry length here, it may be shown to be much, much less than 1785 diametres.\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.2, Page number: 354"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "T1 = 300; # air temp.,K\n",
+ "T2=313; # final air temp.,K\n",
+ "v=2; # air velocity,m/s\n",
+ "D=0.01; # inner diameter of pipe,m\n",
+ "l=0.2; # length surrounded by heater\n",
+ "nu=16.4*10**-6; # Dynamic viscocity, m^2/s\n",
+ "Pr=0.711; # prandtl no.\n",
+ "Cp=1004; # Specific heat, J/kg.K\n",
+ "k=0.0266; # thermal conductivity ,W/(m.K)\n",
+ "\n",
+ "#Calculations\n",
+ "Red=v*D/(nu); # reynolds no.\n",
+ "G=Red*Pr*D/l; # graetz no.\n",
+ "Q=1.159*Cp*v*(T2-T1)*(1/80); # power input, W/m**2\n",
+ "Tex=T2+Q*D/(5.05*k) # wall temp. at the exit,K\n",
+ "Tex1=Tex-273;\n",
+ "\n",
+ "#Results\n",
+ "print \"Power input is :\",Q,\"W/m^2\\n\"\n",
+ "print \"Wall temp. at the exit is:\",round(Tex1,3),\" C\\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power input is : 378.1817 W/m^2\n",
+ "\n",
+ "Wall temp. at the exit is: 68.153 C\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.3, Page number: 362"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "m=21.5; #mass flow rate, kg/s\n",
+ "D=0.12; #diameter of pipe, m\n",
+ "T1=363; #pipe temperature,K\n",
+ "T2=323; #bulk temp. of fluid,K\n",
+ "a=977; #density, kg/m**3\n",
+ "Uw=3.1*10**-4; #wall side viscosity,N*s/m**2\n",
+ "Ub=5.38*10**-4; #bulk viscosity, N*s/m**2\n",
+ "Pr=2.47; #prandtl no.\n",
+ "nu=4.07*10**-7; #dynamic viscocity, m^2/s\n",
+ "k=0.661; #thermal conductivity ,W/(m.K)\n",
+ "\n",
+ "#Calculations\n",
+ "rt=Ub/Uw; #Ration of bulk and wall side viscocities\n",
+ "u=m/(a*math.pi*(D/2)**2); #average velocity,m/s\n",
+ "Re=u*D/(nu); #reynolds no.\n",
+ "f=1/(1.82/2.303*math.log(Re)-1.64)**2; #formula for friction factor for smooth pipes\n",
+ "Nu=(f/8*Re*Pr)/(1.07+12.7*math.sqrt(f/8)*(Pr**(2/3)-1))*rt**0.11;#formula for nusselt no.in fully developed flow in smooth pipes\n",
+ "h=Nu*k/D # convective heat transfer coefficient,W/(m**2)/K\n",
+ "#corrected friction factor = friction factor at bulk temp.*K where K=(7-u1/u2)/6 for wall temp.>bulk temp.\n",
+ "f1=f*((7-rt)/6); #corrected friction factor\n",
+ "\n",
+ "#Results\n",
+ "print \"Correlation friction factor. is :\",round(f1,4),\"\\n\"\n",
+ "print \"Convection heat transfer coefficient is :\",round(h,1),\"W/(m^2)/K \\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Correlation friction factor. is : 0.0112 \n",
+ "\n",
+ "Convection heat transfer coefficient is : 8904.1 W/(m^2)/K \n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.4, Page number: 364"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "m=21.5; #mass flow rate, kg/s\n",
+ "e=260*10**-6; #wall roughness,m\n",
+ "D=0.12; #diameter of pipe, m\n",
+ "T1=363; #pipe temperature,K\n",
+ "T2=323; #bulk temp. of fluid,K\n",
+ "a=977; #density, kg/m**3\n",
+ "Uw=3.1*10**-4; # wall side viscosity,N*s/m**2\n",
+ "Ub=5.38*10**-4; #bulk viscosity, N*s/m**2\n",
+ "Pr=2.47; #prandtl no.\n",
+ "k=0.661; #thermal conductivity ,W/(m.K)\n",
+ "\n",
+ "#Calculations\n",
+ "u=m/(a*math.pi*(D/2)**2); #average velocity,m/s\n",
+ "Re=u*D/(4.07*10**-7); #reynolds no.\n",
+ "f=math.pow((1.8*math.log((6.9/Re+(e/D/3.7)**1.11),10)),-2);#friction factor from haaland equation.\n",
+ "Re1=Re*e/D*math.sqrt(f/8); #roughness reynols no.\n",
+ "Nu=(f/8)*Re*Pr/(1+math.sqrt(f/8)*(4.5*Re1**(0.2)*math.sqrt(Pr)-8.48));#correlation for local nusselt no.\n",
+ "h=Nu*k/D/1000; #convection heat transfer coefficient, kW/(m**2*K)\n",
+ "\n",
+ "#Results\n",
+ "print \"Correlation friction factor is :\",round(f,6),\"\\n\"\n",
+ "print \"Convection heat transfer coefficient is :\",round(h,1),\"kw/(m^2*K)\\n\"\n",
+ "print \"In this case wall roughness causes a factor of 1.8 increase in h and a factor of 2 increase in f and the pumping power.we have omitted the variable properties hre as they were developed for smooth walled pipes\",\" t in this case wall roughness causes a factor of 1.8 increase in h and a factor of 2 increase in f and the pumping power.we have omitted the variable properties hre as they were developed for smooth walled pipes.\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Correlation friction factor is : 0.024241 \n",
+ "\n",
+ "Convection heat transfer coefficient is : 16.4 kw/(m^2*K)\n",
+ "\n",
+ "In this case wall roughness causes a factor of 1.8 increase in h and a factor of 2 increase in f and the pumping power.we have omitted the variable properties hre as they were developed for smooth walled pipes t in this case wall roughness causes a factor of 1.8 increase in h and a factor of 2 increase in f and the pumping power.we have omitted the variable properties hre as they were developed for smooth walled pipes.\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.5, Page number: 369"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "T1 = 293; # air temp.,K\n",
+ "D=0.01; # inner diameter of pipe,m\n",
+ "v=0.7 # air velocity,m/s\n",
+ "T2=333; #pipe wall temp.,K\n",
+ "t=0.25; # distance down the stream\n",
+ "\n",
+ "#Calculations\n",
+ "Re=v*D/(1.66*10**-5); # reynolds no.\n",
+ "# the flow is therefore laminar, to account for the thermal entry region, we compute the graetz no.\n",
+ "Gz=Re*(0.709)*D/t; # graetz no.\n",
+ "Nu=4.32 # nusselt no., Nu=3.657+(0.0668*Gz**(1/3)/(0.04+Gz**(-2/3)))\n",
+ "h=3.657*(0.0268)/D; # average convective heat transfer coefficient. W/(m**2*K)\n",
+ "a=1-math.exp((-h/(1.14*1007*v))*(4*t)/D); # (Tb-T1)/(T2-T1)=a (suppose)\n",
+ "Tb=a*(T2-T1)+T1; # temperature 0.25 m farther down stream.\n",
+ "Tb1=Tb-270.6;\n",
+ "\n",
+ "#Results\n",
+ "print \"Temperature 0.25 m farther down stream is :\",round(Tb1,3),\" C\\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Temperature 0.25 m farther down stream is : 50.586 C\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.6, Page number: 371"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "Tbin=290; #inlet bulk temp.,K\n",
+ "v=1; #speed of air, m/s\n",
+ "a=0.09; #area of steel,m**2\n",
+ "l=15; #length of duct running outdoors through awarm air,m\n",
+ "To=310; #temp. of warm air,K\n",
+ "h=5; #heat transfer coefficient due to natural convection and thermal radiation.\n",
+ "Dh=0.3; #hydraulic diameter,m\n",
+ "\n",
+ "#Calculations\n",
+ "Re=v*Dh/(1.578*10**-5); #reynolds no.at Tbin\n",
+ "Pr=0.713; #prandtl no.\n",
+ "f=1/(1.82/2.303*math.log(Re)-1.64)**2; # formula for friction factor for smooth pipes\n",
+ "Nu=(f/8*Re*Pr)/(1.07+12.7*(f/8)**(0.5)*(Pr**(2/3)-1));#formula for nusselt no.in fully developed flow in smooth pipes\n",
+ "h=Nu*0.02623/Dh; # convective heat transfer coefficient,W/(m**2)/K\n",
+ "#the remaining problem is to find the bulk temperature change.the thin metal duct wall offers little thermal ressistance, but convection ressistance outside the duct must be considered.\n",
+ "U=(1/4.371+1/5)**-1; #U=1/Ain*(1/(h*A)in+1/(h*A)out)**-1\n",
+ "Tbout=(To-Tbin)*(1-math.exp(-U*4*l/(1.217*v*1007*Dh)))+Tbin;#outlet bulk temp., K\n",
+ "Tbt1=Tbout-273;\t\t\t\t\t\t\t\t #outlet bulk temp. in degree C\n",
+ "\n",
+ "#Results\n",
+ "print \"Outside bulk temp. change is :\",round(Tbt1,3),\"C\\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Outside bulk temp. change is : 23.331 C\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 7.7, Page number: 379"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "D=0.0001; #diameter of heater,m\n",
+ "T1 = 293; #air temp.,K\n",
+ "T2=313; #heater temp.,K\n",
+ "p=17.8; #dissipating heat,W/m\n",
+ "\n",
+ "#Calculations\n",
+ "h=p/(3.14*D*(T2-T1)); # average convective heat transfer coefficient. W/(m**2*K)\n",
+ "Nu=h*D/0.0264; #nusselt no., Nu=h*D/thermal conductivity\n",
+ "Pr=0.71; #prandtl no.\n",
+ "Re=((Nu-0.3)*(1+(0.4/Pr)**(2/3))**0.25/(0.62*Pr**(1/3)))**2;#reynolds no.\n",
+ "u=1.596*10**(-5)/(D)*Re+0.2; #air velocity, m/s\n",
+ "\n",
+ "#Results\n",
+ "print \"Air velocity is :\",round(u,3),\"m/s\\n\"\n",
+ "print \"The data scatter in Red is quite small less than 10 percent, it would appear. therefore, this method can be used to measure local velocities with good accuracy.if the device is calliberated, its accuracy is improved further, such an air speed indicator is called a hot wire anemometer.\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Air velocity is : 73.895 m/s\n",
+ "\n",
+ "The data scatter in Red is quite small less than 10 percent, it would appear. therefore, this method can be used to measure local velocities with good accuracy.if the device is calliberated, its accuracy is improved further, such an air speed indicator is called a hot wire anemometer.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Heat_Transfer_Text_Book/Chapter8.ipynb b/A_Heat_Transfer_Text_Book/Chapter8.ipynb
new file mode 100755
index 00000000..4ada2e95
--- /dev/null
+++ b/A_Heat_Transfer_Text_Book/Chapter8.ipynb
@@ -0,0 +1,327 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 8: Natural convection in singlephase fluids and during film condensation "
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 8.1, Page number: 410"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "T1=313; #fluid temp.,K\n",
+ "T2=287; #air temp.,K\n",
+ "H=0.4; #height of sides,m\n",
+ "Pr=0.711; #prandtl no.\n",
+ "b=1/T2; # b=1/v*d(R*T/p)/dt=1/To characterisation constant of thermal expansion of solid, K**-1\n",
+ "g=9.8; #gravity constant\n",
+ "nu=1.566*10**-5; #dynamic viscocity, m^3/s\n",
+ "\n",
+ "#Calculations\n",
+ "RaL=g*b*(T1-T2)*H**3/(nu*2.203*10**-5); #Rayleigh no.\n",
+ "Nu=0.678*RaL**(0.25)*(Pr/(0.952+Pr))**(1/4);\t\t # nusselt no.\n",
+ "h=Nu*0.02614/H # average heat transfer coefficient, W/m**2/K\n",
+ "q=h*(T1-T2) # average heat transfer,W/m**2\n",
+ "c=3.936*((0.952+Pr)/Pr**2)**(1/4)*(1/(RaL/Pr)**0.25);#boundary layer thickness.,m\n",
+ "\n",
+ "#Results\n",
+ "print \"Average heat transfer coefficient is : \",round(h,3),\"W/m^2/K\\n\"\n",
+ "print \"Average heat transfer is :\",round(q,3),\"W/m^2\\n\"\n",
+ "print \"Boundary layer thickness is :\",round(c,4),\"m\\n\"\n",
+ "print \"Thus the BL thickness at the end of the plate is only 4 percent of the height, or 1.72 cm thick.this is thicker thsan typical forced convection BL but it is still reasonably thin.\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Average heat transfer coefficient is : 4.059 W/m^2/K\n",
+ "\n",
+ "Average heat transfer is : 105.528 W/m^2\n",
+ "\n",
+ "Boundary layer thickness is : 0.043 m\n",
+ "\n",
+ "Thus the BL thickness at the end of the plate is only 4 percent of the height, or 1.72 cm thick.this is thicker thsan typical forced convection BL but it is still reasonably thin.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 8.3, Page number: 413"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "T1=323; #wall temp.,K\n",
+ "T2=293; #air temp.,K\n",
+ "H=0.3; #height of wall, m\n",
+ "v2=2.318*10**-5; #molecular diffusivity, m**2/s\n",
+ "Pr=0.71; #prandtl no.\n",
+ "\n",
+ "#Calculations\n",
+ "v1=16.45*10**-6; # molecular diffusivity, m**2/s\n",
+ "b=1/T2; # b=1/v*d(R*T/p)/dt=1/To characterisation constant of thermal expansion of solid, K**-1\n",
+ "Ral=9.8*b*(T1-T2)*H**3/((1.566*10**-5)*(2.203*10**-5));# Rayleigh no.\n",
+ "Nu=0.678*Ral**(0.25)*(Pr/(0.952+Pr))**(1/4);\t\t # nusselt no.\n",
+ "h=Nu*0.0267/H # average heat transfer coefficient, W/m**2/K\n",
+ "Nu1=0.68+0.67*((Ral)**(1/4)/(1+(0.492/Pr)**(9/16))**(4/9));#churchill correlation \n",
+ "h1=Nu1*(0.0267/0.3)-.11; #average heat transfer coefficient, W/m**2/K\n",
+ " \n",
+ "#Results \n",
+ "print \"Correlation average heat transfer coefficient is :\",round(h1,3),\"W/m^2/K\\n\"\n",
+ "print \"The prediction is therefore within 5 percent of corelation .we should use the latter result in preference to the theoritical one, although the difference is slight.\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Correlation average heat transfer coefficient is : 4.259 W/m^2/K\n",
+ "\n",
+ "The prediction is therefore within 5 percent of corelation .we should use the latter result in preference to the theoritical one, although the difference is slight.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 8.4, Page number: 417"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "from numpy import mat\n",
+ "from numpy import array\n",
+ "\n",
+ "#Variables\n",
+ "T1=400; #hot oil temp.,K\n",
+ "D=0.005; #diameter of line carrying oil, m\n",
+ "T2=300; #temp. of air around the tube,K\n",
+ "Tav=350; #average BI temp.,K\n",
+ "\n",
+ "\n",
+ "#Calculations & Results\n",
+ "#we evaluate properties at this temp. and write g as ge*(g-level), where ge is g at the earth surface and the g-level is the fraction of ge in the space vehicle.\n",
+ "b=1/T2; # b=1/v*d(R*T/p)/dt=1/To characterisation constant of thermal expansion of solid, K**-1\n",
+ "v1=2.062*10**-5; # molecular diffusivity, m**2/s\n",
+ "v2=2.92*10**-5; #molecular diffusivity, m**2/s\n",
+ "Pr=0.706; #prandtl no.\n",
+ "g=array(([10**-6, 10**-5, 10**-4, 10**-2]));\n",
+ "i=0;\n",
+ "while i<4:\n",
+ " Ral=0;\n",
+ " Nu=0;\n",
+ " h=0;\n",
+ " Q=0;\n",
+ " Ral=(9.8*b*((T1-T2))*(D**(3))/(v1*v2))*g.item(i);\t\t# Rayleigh no.\n",
+ " \n",
+ " Nu=(0.6+0.387*(Ral/(1+(0.559/Pr)**(9/16))**(16/9))**(1/6))**2;\n",
+ " #Nu(i)=(0.6+0.387*((Ral)/(1+(0.559/Pr)**(9/16))**(16/9))**1/6)**2; churchill correlation. \n",
+ " print \"Nusselt no. are : \",round(Nu,2),\"\\n\"\n",
+ " h=Nu*0.0297/D; # convective heat transfer coefficient,W/(m**2*K)\n",
+ " print \"Convective heat transfer coefficient are : \",round(h,2),\"W/(m^2*K)\\n\"\n",
+ " Q=math.pi*D*h*(T1-T2); #heat transfer,W/m\n",
+ " print \"Heat transfer is :\",round(Q,2),\"W/m of tube\\n\"\n",
+ " i=i+1;\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Nusselt no. are : 0.48 \n",
+ "\n",
+ "Convective heat transfer coefficient are : 2.87 W/(m^2*K)\n",
+ "\n",
+ "Heat transfer is : 4.51 W/m of tube\n",
+ "\n",
+ "Nusselt no. are : 0.55 \n",
+ "\n",
+ "Convective heat transfer coefficient are : 3.25 W/(m^2*K)\n",
+ "\n",
+ "Heat transfer is : 5.11 W/m of tube\n",
+ "\n",
+ "Nusselt no. are : 0.65 \n",
+ "\n",
+ "Convective heat transfer coefficient are : 3.85 W/(m^2*K)\n",
+ "\n",
+ "Heat transfer is : 6.05 W/m of tube\n",
+ "\n",
+ "Nusselt no. are : 1.09 \n",
+ "\n",
+ "Convective heat transfer coefficient are : 6.45 W/(m^2*K)\n",
+ "\n",
+ "Heat transfer is : 10.13 W/m of tube\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 8.5, Page number: 426"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "T2=300; #air temp.,K\n",
+ "P=15; #delivered power,W\n",
+ "D=0.17; #diameter of heater,m\n",
+ "v1=1.566*10**-5; #molecular diffusivity, m**2/s\n",
+ "b=1/T2; #b=1/v*d(R*T/p)/dt=1/To characterisation constant of thermal expansion of solid, K**-1\n",
+ "Pr=0.71; #prandtl no.\n",
+ "v2=2.203*10**-5; #molecular diffusivity, m**2/s\n",
+ "v3=3.231*10**-5; #molecular diffusivity at a b except at 365 K., m**2/s\n",
+ "v4=2.277*10**-5; #molecular diffusivity at a b except at 365 K., m**2/s\n",
+ "k1=0.02614; #thermal conductivity\n",
+ "k2=0.0314; #thermal conductivity\n",
+ "\n",
+ "#Calculations\n",
+ "#we have no formula for this situation, so the problem calls for some guesswork.following the lead of churchill and chau, we replace RaD with RaD1/NuD in eq. \n",
+ "#(NuD)**(6/5)=0.82*(RaD1)**(1/5)*Pr**0.034\n",
+ "delT=1.18*P/(3.14*D**(2)/4)*(D/k1)/((9.8*b*661*D**(4)/(0.02164*v1*v2))**(1/6)*Pr**(0.028));\n",
+ "#in the preceding computation, all the properties were evaluated at T2.mow we must return the calculation,reevaluating all properties except b at 365 K.\n",
+ "delTc=1.18*661*(D/k2)/((9.8*b*661*D**(4)/(k2*v3*v4))**(1/6)*(0.99));\n",
+ "TS=T2+delTc;\n",
+ "TS1=TS-271.54\n",
+ "\n",
+ "#Results\n",
+ "print \"Average surface temp. is :\",round(TS1,4),\"K\\n\"\n",
+ "print \"That is rather hot.obviously, the cooling process is quite ineffective in this case.\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Average surface temp. is : 169.0288 K\n",
+ "\n",
+ "That is rather hot.obviously, the cooling process is quite ineffective in this case.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 8.6, Page number: 435"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "T2=363; # temp. of strip,K\n",
+ "T1=373; #saturated temp.,K\n",
+ "H=0.3; #height of strip,m\n",
+ "Pr=1.86; #prandtl no.\n",
+ "Hfg=2257; #latent heat. kj/kg\n",
+ "ja=4.211*10/Hfg; #jakob no.\n",
+ "a1=961.9; #density of water,kg/m**3\n",
+ "a2=0.6; #density of air,kg/m**3\n",
+ "k=0.677; #thermal conductivity,W/(m*K)\n",
+ "\n",
+ "#Calculations\n",
+ "Hfg1=Hfg*(1+(0.683-0.228/Pr)*ja); \t\t #corrected latent heat,kj/kg\n",
+ "delta=(4*k*(T1-T2)*(2.99*10**(-4))*0.3/(a1*(a1-a2)*9.806*Hfg1*1000))**(0.25)*1000;\n",
+ "Nul=4/3*H/delta; #average nusselt no.\n",
+ "q=Nul*k*(T1-T2)/H; # heat flow on an area about half the size of a desktop,W/m**2\n",
+ "Q=q*H; #overall heat transfer per meter,kW/m\n",
+ "m=Q/(Hfg1); #mass rate of condensation per meter,kg/(m*s)\n",
+ "\n",
+ "#Results\n",
+ "print \"Overall heat transfer per meter is :\",round(Q,4),\"kW/m^2\\n\"\n",
+ "print \"Film thickness at the bottom is :\",round(delta,4),\"mm\\n\"\n",
+ "print \"Mass rate of condensation per meter. is : \",round(m,4),\"kg/(m*s)\\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Overall heat transfer per meter is : 26.0118 kW/m^2\n",
+ "\n",
+ "Film thickness at the bottom is : 0.1041 mm\n",
+ "\n",
+ "Mass rate of condensation per meter. is : 0.0114 kg/(m*s)\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Heat_Transfer_Text_Book/Chapter9.ipynb b/A_Heat_Transfer_Text_Book/Chapter9.ipynb
new file mode 100755
index 00000000..90905611
--- /dev/null
+++ b/A_Heat_Transfer_Text_Book/Chapter9.ipynb
@@ -0,0 +1,448 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 9 : Heat transfer in boiling and \n",
+ "other phase-change \n",
+ "configurations "
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 9.1, Page number: 467"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "T2=363; # temp. of strip,K\n",
+ "T1=373; #saturated temp.,K\n",
+ "p=1.013*10**5; #pressure of water,N/m**2\n",
+ "psat=1.203*10**5; #saturated pressure at 108 C,N/m**2\n",
+ "psat1=1.769*10**5; #saturated pressure at 116 C,N/m**2\n",
+ "a=57.36*10**-3; #surface tension, N/mat Tsat=108 C\n",
+ "a1=55.78*10**-3; #surface tension, N/mat Tsat=116 C\n",
+ "\n",
+ "#Calculations\n",
+ "Rb=2*a/(psat-p)*1000; #bulk radius at 108 C, mm\n",
+ "Rb1=2*a1/(psat1-p)*1000; # bulk radius at 116 C, mm\n",
+ "\n",
+ "#Results\n",
+ "print \"Bulk radius at 108 C is :\",Rb,\" mm\\n\"\n",
+ "print \"Bulk radius at 116 C is :\",Rb1,\"mm\\n\"\n",
+ "print \"This means that the active nucleation sites would be holes with diameters very roughly on the order magnitude of 0.005 mm atleast on the heater .that is within the ransge of roughness of commercially finished surfaces.\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Bulk radius at 108 C is : 0.00603789473684 mm\n",
+ "\n",
+ "Bulk radius at 116 C is : 0.00147566137566 mm\n",
+ "\n",
+ "This means that the active nucleation sites would be holes with diameters very roughly on the order magnitude of 0.005 mm atleast on the heater .that is within the ransge of roughness of commercially finished surfaces.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 9.2, Page number: 470"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "q=800; #power delivered per unit area,KW/m**2\n",
+ "T1=373; #saturated temp.of water, K\n",
+ "delT=22; # temp. difference,K\n",
+ "Cp=4.22; #heat capacity of water,kj/(kg*K)\n",
+ "Pr=1.75; #prandtl no.\n",
+ "a=958; #desity difference,kg/m**3\n",
+ "s=0.0589; #surface tension,kg/s**2\n",
+ "Hfg=2257; #latent heat,kj/kg\n",
+ "drho=958; #\n",
+ "mu=0.0000282; #\n",
+ "g=980;\n",
+ "\n",
+ "#Calculations\n",
+ "#by using rohensow correlation applied data for water boiling on 0.61 mm diameter platinum wire\n",
+ "RHS=mu*Cp**3/(Hfg**2*Pr**3)*math.sqrt(g*(drho)/s) #RHS of equation 9.4\n",
+ "Csf=(RHS*(delT)**3/(q))**(1/3); #surface correction factor of the heater surface\n",
+ "\n",
+ "#Results\n",
+ "print \"Surface correction factor of the heater surface is :\",round(Csf,5),\", this value compares favorably with Csf for a platinum or copper surface under water.\\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Surface correction factor of the heater surface is : 0.01604 , this value compares favorably with Csf for a platinum or copper surface under water.\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 9.3, Page number: 477"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "p=1.013*10**5; #pressure of water,N/m**2\n",
+ "D=0.1; #inside diameter,m\n",
+ "l=0.04; #wavelength,m\n",
+ "a=0.0589; #surface tension,N/m\n",
+ "b=0.577; #density of gas, kg/m**3\n",
+ "\n",
+ "#Calculations\n",
+ "u=math.sqrt(2*math.pi*a/(b*l)); #the flow will be helmholtz stable until the steam velocity reaches this value.\n",
+ "\n",
+ "#Results\n",
+ "print \"Steam velocity required to destablize the liquid flow is :\",round(u,4),\"m/s ,beyond that, the liquid will form whitecaps and be blown back upward.\\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Steam velocity required to destablize the liquid flow is : 4.0043 m/s ,beyond that, the liquid will form whitecaps and be blown back upward.\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 9.4, Page number: 478"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "a=13600; #desity difference,kg/m**3\n",
+ "s=0.487; #surface tension,kg/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "L=2*math.pi*(3**0.5)*math.sqrt(s/(9.8*a))*100; #spacing wavelength,cm\n",
+ "\n",
+ "#Results\n",
+ "print \"Maximum spacing is :\",round(L,4),\"cm\\n\"\n",
+ "print \"Actually this spacing would give the maximum rate of collapse.it can be shown that collapse would begin at 1/3^0.5 times this value or at 1.2 cm.\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum spacing is : 2.0803 cm\n",
+ "\n",
+ "Actually this spacing would give the maximum rate of collapse.it can be shown that collapse would begin at 1/3^0.5 times this value or at 1.2 cm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 9.5, Page number: 481"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "\n",
+ "#Variables\n",
+ "T1=373; #saturated temp.of water, K\n",
+ "a=957.6; #desity difference,kg/m**3\n",
+ "s=0.0589; #surface tension,kg/s**2\n",
+ "Hfg=2257*1000; #latent heat,J/kg\n",
+ "a2=0.597; #density of gas, kg/m**3\n",
+ "g=9.8; #Gravitational constant, m/s^2\n",
+ "\n",
+ "#Calculations\n",
+ "Qmax=0.149*math.sqrt(a2)*Hfg*(g*a*s)**0.25/1000000;\n",
+ "\n",
+ "#Results\n",
+ "print \"Peak heat flux is : \",round(Qmax,3),\",from figure it can be shown that qmax =1.16 MW/m^2, which is less by only about 8 percent.\\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Peak heat flux is : 1.26 ,from figure it can be shown that qmax =1.16 MW/m^2, which is less by only about 8 percent.\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 9.6, Page number: 481"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "\n",
+ "#Variables\n",
+ "T1=628; #saturated temp.of water, K\n",
+ "a=13996; #desity difference,kg/m**3\n",
+ "s=0.418; #surface tension,kg/s**2\n",
+ "Hfg=292500; #latent heat,J/kg\n",
+ "a2=4; #density of mercury, kg/m**3\n",
+ "g=9.8; #Gravitational constant, m/s^2\n",
+ "\n",
+ "#Calculations\n",
+ "Qmax=0.149*math.sqrt(a2)*Hfg*math.pow((g*a*s),0.25)/(10**6);#Peak heat flux in MW/m^2\n",
+ "\n",
+ "#Results\n",
+ "print \"Peak heat flux is :\",round(Qmax,3),\"MW/m^2\\n\"\n",
+ "print \"The result is very close to that for water,the increase in density and surface tension have not been compensated by amuch lower latent heat.\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Peak heat flux is : 1.349 MW/m^2\n",
+ "\n",
+ "The result is very close to that for water,the increase in density and surface tension have not been compensated by amuch lower latent heat.\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 9.7, Page number: 485"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "T1=373; #saturated temp.of water, K\n",
+ "a=958 ; #desity difference,kg/m**3\n",
+ "s=0.0589; #surface tension,kg/s**2\n",
+ "Hfg=2257000; #latent heat,J/kg\n",
+ "a2=0.597; #density of gas, kg/m**3\n",
+ "A=400*10**-4; #area of mettalic body,m**2\n",
+ "V=0.0006; #volume of body, m**3\n",
+ "g=9.8; #Gravitational constant, m/s^2\n",
+ "\n",
+ "#Calculations\n",
+ "Qmax=(0.131*math.sqrt(a2)*Hfg*math.pow((g*a*s),0.25))*0.9*A/1000 ;#large rate of energy removal, KW as the cooling process progresses,it goes through the boiling curve from film boiling,through qmin, up the transitional boiling regime,through qmax and down the3 nucleate boiling curve. \n",
+ "#R=V/A*(9.8*a/s)**0.5 since this value comes out to be 6.0, which is larger than the specified lower bound of about 4.\n",
+ "#to complete the calculation, it is necessary to check whether or not rate is large enough to justify the use.\n",
+ "R=V/A*math.sqrt(g*958/0.0589); #the most rapid rate of heat removal during the quench\n",
+ "\n",
+ "#Results\n",
+ "print \"The heat flow is :\",round(Qmax,1),\"KW\\n\"\n",
+ "print \"The most rapid rate of heat removal during the quench is :\",round(R),\", this is larger than the specified lower bound of about 4.\\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The heat flow is : 39.9 KW\n",
+ "\n",
+ "The most rapid rate of heat removal during the quench is : 6.0 , this is larger than the specified lower bound of about 4.\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 9.8, Page number: 488"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "T1=373; #saturated temp.of water, K\n",
+ "a=958; #desity difference,kg/m**3\n",
+ "s=0.0589; #surface tension,kg/s**2\n",
+ "Hfg=2257*1000; #latent heat,J/kg\n",
+ "a2=0.597; #density of gas, kg/m**3\n",
+ "g=9.8; #Gravitational constant, m/s^2\n",
+ "\n",
+ "#Calculations\n",
+ "Qmin=0.09*a2*Hfg*(g*a*s/(959**2))**0.25; #Using equation 9.34\n",
+ "\n",
+ "#Results\n",
+ "print \"peak heat flux is :\",round(Qmin),\"W/m^2 ,from the figure, we read 20000 W/m^2, which is the same, within the accuracy of graph.\\n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "peak heat flux is : 18990.0 W/m^2 ,from the figure, we read 20000 W/m^2, which is the same, within the accuracy of graph.\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 9.9, Page number: 502"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "T1=480; #bulk temp.of water, K\n",
+ "m=0.6; #mass flow rate of saturated water,kg/s\n",
+ "D=0.05; #diameter of vertical tube,m\n",
+ "p=184000; #heating rate f tube, W/m**2\n",
+ "A=0.001964; #area of the pipe,m**2\n",
+ "Pr=0.892; #prandtl no.\n",
+ "x=0.2; #quality\n",
+ "a1=9.014; #density of gas,kg/m**3\n",
+ "a2=856.5 #density of water, kg/m**3\n",
+ "Hfg=1913*1000; #latent heat,J/kg\n",
+ "muf=1.297*10**-4 #\n",
+ "\n",
+ "#Calculations\n",
+ "G=m/A; #superficial mass flux\n",
+ "Relo=G*D/(1.297*10**-4); #reynolds no. for liquid only.\n",
+ "f=1/(1.82/2.303*math.log(Relo)-1.64)**2; # formula for friction factor for smooth pipes\n",
+ "Nu=(f/8*Relo*Pr)/(1.07+12.7*math.sqrt(f/8)*(Pr**(2/3)-1));#formula for nusselt no.in fully developed flow in smooth pipes\n",
+ "hlo=0.659*Nu/D; #heat transfer coefficient,w/(m**2*K)\n",
+ "Co=((1-x)/x)**0.8*math.sqrt(a1/a2); # Convection no.\n",
+ "Bo=p/(G*Hfg); # boiling no.\n",
+ "Hfg1=(1-x)**0.8*(0.6683*Co**(-0.2)+1058*Bo**0.7)*hlo;#heat transfer coefficient for nucleate boiling dominant, w/(m**2*K)\n",
+ "Hfg2=(1-x)**0.8*(1.136*Co**(-0.9)+667.2*Bo**0.7)*hlo;#heat transfer coefficient for connective boiling dominant, w/(m**2*K)\n",
+ "#since the second value is larger,we will use it.\n",
+ "Tw=T1+p/Hfg2; #wall temperature ,K\n",
+ "Tw1=Tw-273; #wall temperature ,C\n",
+ "\n",
+ "#Results\n",
+ "print \"Wall temperature is :\",round(Tw1,3),\"C\\n\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Wall temperature is : 220.389 C\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Heat_Transfer_Text_Book/README.txt b/A_Heat_Transfer_Text_Book/README.txt
new file mode 100755
index 00000000..776c9811
--- /dev/null
+++ b/A_Heat_Transfer_Text_Book/README.txt
@@ -0,0 +1,10 @@
+Contributed By: Kshitiz Swaroop
+Course: btech
+College/Institute/Organization: IIT Bombay
+Department/Designation: Aerospace Engineering
+Book Title: A Heat Transfer Text Book
+Author: Lienhard John H.
+Publisher: Phlogiston Press,Cambridge,Massachusets, U.S.A
+Year of publication: 2008
+Isbn: 978097138352
+Edition: 3 \ No newline at end of file
diff --git a/A_Heat_Transfer_Text_Book/screenshots/Chapter_11.png b/A_Heat_Transfer_Text_Book/screenshots/Chapter_11.png
new file mode 100755
index 00000000..4998b711
--- /dev/null
+++ b/A_Heat_Transfer_Text_Book/screenshots/Chapter_11.png
Binary files differ
diff --git a/A_Heat_Transfer_Text_Book/screenshots/Chapter_3.png b/A_Heat_Transfer_Text_Book/screenshots/Chapter_3.png
new file mode 100755
index 00000000..78465362
--- /dev/null
+++ b/A_Heat_Transfer_Text_Book/screenshots/Chapter_3.png
Binary files differ
diff --git a/A_Heat_Transfer_Text_Book/screenshots/Chapter_6.png b/A_Heat_Transfer_Text_Book/screenshots/Chapter_6.png
new file mode 100755
index 00000000..2d203816
--- /dev/null
+++ b/A_Heat_Transfer_Text_Book/screenshots/Chapter_6.png
Binary files differ