diff options
author | Jovina Dsouza | 2014-06-18 12:43:07 +0530 |
---|---|---|
committer | Jovina Dsouza | 2014-06-18 12:43:07 +0530 |
commit | 206d0358703aa05d5d7315900fe1d054c2817ddc (patch) | |
tree | f2403e29f3aded0caf7a2434ea50dd507f6545e2 /Engineering_Heat_Transfer/CHAPTER2.ipynb | |
parent | c6f0d6aeb95beaf41e4b679e78bb42c4ffe45a40 (diff) | |
download | Python-Textbook-Companions-206d0358703aa05d5d7315900fe1d054c2817ddc.tar.gz Python-Textbook-Companions-206d0358703aa05d5d7315900fe1d054c2817ddc.tar.bz2 Python-Textbook-Companions-206d0358703aa05d5d7315900fe1d054c2817ddc.zip |
adding book
Diffstat (limited to 'Engineering_Heat_Transfer/CHAPTER2.ipynb')
-rw-r--r-- | Engineering_Heat_Transfer/CHAPTER2.ipynb | 713 |
1 files changed, 713 insertions, 0 deletions
diff --git a/Engineering_Heat_Transfer/CHAPTER2.ipynb b/Engineering_Heat_Transfer/CHAPTER2.ipynb new file mode 100644 index 00000000..556700c2 --- /dev/null +++ b/Engineering_Heat_Transfer/CHAPTER2.ipynb @@ -0,0 +1,713 @@ +{
+ "metadata": {
+ "name": "CHAPTER2"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "chapter 2 :Steady state Conduction in one dimension"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.1 Page No.42"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#determination of the heat flow through a composite wall\n",
+ "\n",
+ "#Given\n",
+ "T3=-10.00\t\t# temperature of inside wall in degree Fahrenheit\n",
+ "T0=70.0 \t \t# temperature of outside wall in degree Fahrenheit\n",
+ "dT=T0-T3 # overall temperature difference\n",
+ "# values of thermal conductivity in BTU/(hr.ft.degree Rankine) from appendix table B3\n",
+ "k1=0.38 # brick masonry\n",
+ "k2=0.02 # glass fibre\n",
+ "k3=0.063 # plywood\n",
+ "dx1=4/12.0 # thickness of brick layer in ft\n",
+ "dx2=3.5/12.0 # thickness of glass fibre layer in ft\n",
+ "dx3=0.5/12.0 # thickness of plywood layer in ft\n",
+ "A=1.0 # cross sectional area taken as 1 ft**2\n",
+ "\n",
+ "#Calculation\n",
+ "R1=dx1/(k1*A) # resistance of brick layer in (hr.degree Rankine)/BTU\n",
+ "R2=dx2/(k2*A) # resistance of glass fibre layer in (hr.degree Rankine)/BTU\n",
+ "R3=dx3/(k3*A) # resistance of plywood layer in (hr.degree Rankine)/BTU\n",
+ "qx=(T0-T3)/(R1+R2+R3) \n",
+ "\n",
+ "#Result\n",
+ "print\"Resistance of brick layer is \",round(R1,3),\"(hr.degree Rankine)/BTU\"\n",
+ "print\"Resistance of glass fibre layer is \",round(R2,1),\"(hr.degree Rankine)/BTU\"\n",
+ "print\"Resistance of plywood layer is \",round(R3,3),\"(hr.degree Rankine)/BTU\"\n",
+ "print\"Heat transfer through the composite wall is \",round(qx,2),\"(hr.degree Rankine)/BTU\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resistance of brick layer is 0.877 (hr.degree Rankine)/BTU\n",
+ "Resistance of glass fibre layer is 14.6 (hr.degree Rankine)/BTU\n",
+ "Resistance of plywood layer is 0.661 (hr.degree Rankine)/BTU\n",
+ "Heat transfer through the composite wall is 4.96 (hr.degree Rankine)/BTU\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.2 Page No.45"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# determination of heat transfer through composite wall for materials in parallel\n",
+ "\n",
+ "#Given\n",
+ "# values of thermal conductivities in W/(m.K) from appendix table B3\n",
+ "k1=0.45 # thermal conductivity of brick\n",
+ "k2a=0.15 # thermal conductivity of pine\n",
+ "k3=0.814 # thermal conductivity of plaster board\n",
+ "k2b=0.025 # thermal conductivity of air from appendix table D1\n",
+ "# Areas needed fpor evaluating heat transfer in sq.m\n",
+ "A1=0.41*3 # cross sectional area of brick layer \n",
+ "A2a=0.038*3 # cross sectional area of wall stud\n",
+ "A2b=(41-3.8)*0.01*3 # cross sectional area of air layer\n",
+ "A3=0.41*3 # cross sectional area of plastic layer \n",
+ "dx1=0.1 # thickness of brick layer in m\n",
+ "dx2=0.089 # thickness of wall stud and air layer in m\n",
+ "dx3=0.013 # thickness of plastic layer in m\n",
+ "\n",
+ "#Calculation\n",
+ "R1=dx1/(k1*A1) # Resistance of brick layer in K/W\n",
+ "R2=dx2/(k2a*A2a+k2b*A2b) # Resistance of wall stud and air layer in K/W\n",
+ "R3=dx3/(k3*A3) # Resistance of plastic layer in K/W\n",
+ "T1=25 # temperature of inside wall in degree celsius\n",
+ "T0=0 # temperature of outside wall in degree celsius\n",
+ "qx=(T1-T0)/(R1+R2+R3) # heat transfer through the composite wall in W\n",
+ "\n",
+ "#result\n",
+ "print\"Resistance of brick layer is \",round(R1,3),\"k/W\"\n",
+ "print\"Resistance of wall stud and air layer is \",round(R2,2),\"k/W\"\n",
+ "print\"Resistance of plastic layer is \",round(R3,3),\"k/W\"\n",
+ "print\"Heat transfer through the composite wall is\",round(qx,1),\"W\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resistance of brick layer is 0.181 k/W\n",
+ "Resistance of wall stud and air layer is 1.98 k/W\n",
+ "Resistance of plastic layer is 0.013 k/W\n",
+ "Heat transfer through the composite wall is 11.5 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.3 Page No. 50"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# determination of heat transfer rate and overall heat transfer coefficient\n",
+ "\n",
+ "#Given\n",
+ "k1=24.8 # thermal conductivity of 1C steel in BTU/(hr.ft.degree Rankine)from appendix table B2 \n",
+ "k2=0.02 # thermal conductivity of styrofoam steel in BTU/(hr.ft.degree Rankine)\n",
+ "k3=0.09 # thermal conductivity of fibreglass in BTU/(hr.ft.degree Rankine)\n",
+ "hc1=0.79 # convection coefficient between the air and the vertical steel wall in BTU/(hr.ft**2.degree Rankine)\n",
+ "hc2=150.0 # the convection coefficient between the ice water and the fiberglass\n",
+ "A=1.0 # calculation based on per square foot\n",
+ "dx1=0.04/12.0 # thickness of steel in ft\n",
+ "dx2=0.75/12.0 # thickness of styrofoam in ft\n",
+ "dx3=0.25/12.0 # thickness of fiberglass in ft\n",
+ "\n",
+ "#Calculation \n",
+ "\n",
+ "# Resistances in (degree Fahrenheit.hr)/BTU\n",
+ "Rc1=1/(hc1*A) # Resistance from air to sheet metal\n",
+ "Rk1=dx1/(k1*A) # Resistance of steel layer\n",
+ "Rk2=dx2/(k2*A) # Resistance of styrofoam layer\n",
+ "Rk3=dx3/(k3*A) # Resistance of fiberglass layer\n",
+ "Rc2=1/(hc2*A) # Resistance from ice water to fiberglass\n",
+ "U=1/(Rc1+Rk1+Rk2+Rk3+Rc2) # overall heat transfer coefficient \n",
+ "T_inf1=90 # temperature of air in degree F\n",
+ "T_inf2=32 # temperature of mixture of ice and water in degree F\n",
+ "q=U*A*(T_inf1-T_inf2)\n",
+ "\n",
+ "#result\n",
+ "print\"Resistance from air to sheet metal: \",round(Rc1,3),\"degree F.hr/BTU\"\n",
+ "print\"Resistance of steel layer is \",round(Rk1,4),\"degree F.hr/BTU\"\n",
+ "print\"Resistance of styrofoam layer is \",round(Rk2,3),\"degree F.hr/BTU\"\n",
+ "print\"Resistance of fiberglass layer is \",round(Rk3,3),\"degree F.hr/BTU\"\n",
+ "print\"Resistance from ice water to fiberglass is \",round(Rc2,4),\"degree F.hr/BTU\"\n",
+ "print\"The overall heat transfer coefficient is \",round(U,3),\"BTU/hr ft**2\"\n",
+ "print\"The heat transfer rate is %.1f BTU/hr\",round(q,2),\"BTU/hr\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resistance from air to sheet metal: 1.266 degree F.hr/BTU\n",
+ "Resistance of steel layer is 0.0001 degree F.hr/BTU\n",
+ "Resistance of styrofoam layer is 3.125 degree F.hr/BTU\n",
+ "Resistance of fiberglass layer is 0.231 degree F.hr/BTU\n",
+ "Resistance from ice water to fiberglass is 0.0067 degree F.hr/BTU\n",
+ "The overall heat transfer coefficient is 0.216 BTU/hr ft**2\n",
+ "The heat transfer rate is %.1f BTU/hr 12.53 BTU/hr\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.4 Page No 55."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# determination of the heat transfer through the pipe wall per unit length of pipe.\n",
+ "\n",
+ "#given\n",
+ "k=14.4 # thermal conductivity of 304 stainless steel in W/(m.K) from appendix table B2\n",
+ "# dimensions of steel pipes in cm from appendix table F1\n",
+ "D2=32.39 #Diameter (cm)\n",
+ "D1=29.53\n",
+ "T1=40 #Temprature\n",
+ "T2=38\n",
+ "\n",
+ "#Calculation\n",
+ "import math\n",
+ "Qr_per_length=(2*3.14*k)*(T1-T2)/math.log(D2/D1)#format(6)\n",
+ "\n",
+ "#Result\n",
+ "print\"The heat transfer through the pipe wall per unit length of pipe is \",round(Qr_per_length/1000,2),\"kw/m\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The heat transfer through the pipe wall per unit length of pipe is 1.96 kw/m\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.5 Page NO. 58"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# determination of the heat gain per unit length\n",
+ "\n",
+ "#Given\n",
+ "k1=231 # thermal conductivity of copper in BTU/(hr.ft.degree Rankine)from appendix table B1 \n",
+ "k2=0.02 # thermal conductivity of insuLtion in BTU/(hr.ft.degree Rankine)\n",
+ "# Specifications of 1 standard type M copper tubing from appendix table F2 are as follows\n",
+ "D2=1.125/12 # outer diameter in ft\n",
+ "D1=0.08792 # inner diameter in ft\n",
+ "R2=D2/2 # outer radius\n",
+ "R1=D1/2 # inner radius\n",
+ "t=0.5/12 # wall thickness of insulation in ft\n",
+ "R3=R2+t\n",
+ "LRk1=(log(R2/R1))/(2*3.14*k1) # product of length and copper layer resistance\n",
+ "LRk2=(log(R3/R2))/(2*3.14*k2) # product of length and insulation layer resistance\n",
+ "T1=40 # temperature of inside wall of tubing in degree fahrenheit\n",
+ "T3=70 # temperature of surface temperature of insulation degree fahrenheit\n",
+ "q_per_L=(T1-T3)/(LRk1+LRk2) # heat transferred per unit length in BTU/(hr.ft)\n",
+ "\n",
+ "#Result\n",
+ "print\"The heat transferred per unit length is \",round(q_per_L,2),\" BTU/(hr.ft\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The heat transferred per unit length is -5.92 BTU/(hr.ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.6 Page No 63"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Determination of the overall heat transfer coefficient\n",
+ "\n",
+ "#Given data\n",
+ "k12=24.8 # thermal conductivity of 1C steel in BTU/(hr.ft.degree Rankine)from appendix table B2 \n",
+ "k23=.023 # thermal conductivity of glass wool insulation in BTU/(hr.ft.degree Rankine)from appendix table B3 \n",
+ "# Specifications of 6 nominal, schedule 40 pipe (no schedule was specified, so the standard is assumed) from appendix table F1 are as follows\n",
+ "D2=6.625/12.0 # outer diameter in ft\n",
+ "D1=0.5054 # inner diameter in ft\n",
+ "t=2/12.0 # wall thickness of insulation in ft\n",
+ "D3=D2+t\n",
+ "hc1=12 # convection coefficient between the air and the pipe wall in BTU/(hr. sq.ft.degree Rankine).\n",
+ "hc2=1.5 # convection coefficient between the glass wool and the ambient air in BTU/(hr. sq.ft.degree Rankine).\n",
+ "\n",
+ "#calculation\n",
+ "U=1/((1/hc1)+(D1*log(D2/D1)/k12)+(D1*log(D3/D2)/k23)+(D1/(hc2*D3)))\n",
+ "\n",
+ "#Result\n",
+ "print\"Overall heat transfer coefficient is \",round(U,4),\" BTU/(hr.sq.ft. Fahrenheit)\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Overall heat transfer coefficient is 0.1596 BTU/(hr.sq.ft. Fahrenheit)\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.7 Page NO.72"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Determination of the thermal contact resistance\n",
+ "\n",
+ "#Given\n",
+ "k=14.4 # thermal conductivity of 304 stainless steel in W/(m.K)from appendix table B2 \n",
+ "T1=543.0 # temperature in K at point 1\n",
+ "T2=460.0 # temperature in K at point 2\n",
+ "dT=T1-T2 # temperature difference between point 1 and 2\n",
+ "dz12=0.035 # distance between thermocouple 1 and 2 in cm\n",
+ "\n",
+ "dz56=4.45 # distance between thermocouple 5 and 6 in cm\n",
+ "dz6i=3.81 # distance between thermocouple 6 and interface in cm\n",
+ "dz5i=dz56+dz6i # distance between thermocouple 5 and interface in cm\n",
+ "T5=374 # temperature in K at point 5\n",
+ "T6=366 # temperature in K at point 6\n",
+ "dzi7=2.45 # distance between thermocouple 7 and interface in cm\n",
+ "dz78=4.45 # distance between thermocouple 7 and 8 in cm\n",
+ "dzi8=dzi7+dz78 # distance between thermocouple 8 and interface in cm\n",
+ "T7=349 # temperature in K at point 7\n",
+ "T8=337 # temperature in K at point 8\n",
+ "\n",
+ "#Calculation\n",
+ "qz_per_A=k*dT/dz12 # heat flow calculated in W/m**2 calculated using Fourier's law\n",
+ "T_ial=T5-(dz5i*(T5-T6)/dz56) # temperature of aluminium interface in K\n",
+ "T_img=dzi8*(T7-T8)/dz78+T8 # temperature of magnesium interface in K\n",
+ "T_img_=355.8 #Approx value in the book\n",
+ "Rtc=(T_ial-T_img_)/(qz_per_A)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print\"The required thermal contact resistance is\",round(Rtc,7),\"K sq.m/W\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The required thermal contact resistance is 9.81e-05 K sq.m/W\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.8 Page No. 85"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "%pylab inline"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# determination of temperature profile, heat transferred, efficiency, effectiveness.\n",
+ "\n",
+ "#Given\n",
+ "import math\n",
+ "k=24.8 # thermal conductivity of 1C steel in BTU/(hr.ft.degree Rankine)from appendix table B2\n",
+ "D=(5.0/16.0)/12.0 # diameter of the rod in ft\n",
+ "P=(math.pi*D) # Circumference of the rod in ft\n",
+ "#print\"The perimeter is %.4f ft\",P)\n",
+ "A=(math.pi/4)*D**2 # Cross sectional area of the rod in sq.ft\n",
+ "#print\"The Cross sectional area is %.6f sq.ft\",A)\n",
+ "hc=1.0 # assuming the convective heat transfer coefficient as 1 BTU/(hr. sq.ft. degree Rankine)\n",
+ "\n",
+ "#Calculation\n",
+ "m=math.sqrt(hc*P/(k*A))\n",
+ "#print\"The value of parameter m is: /ft\",m)\n",
+ "L=(9/2.0)/12.0 # length of rod in ft\n",
+ "# using the equation (T-T_inf)/(T_w-T_inf)=(cosh[m(L-z)])/(cosh(mL)) for temperature profile\n",
+ "T_inf=70.0\n",
+ "T_w=200.0\n",
+ "dT=T_w-T_inf\n",
+ "const=dT/math.cosh(m*L)\n",
+ "\n",
+ "#(b) the heat transferred can be calculated using the equation qz=k*A*m*(T_w-T_inf)*tanh(m*L)\n",
+ "qz=k*A*m*dT*tanh(m*L)\n",
+ "\n",
+ "#(c)\n",
+ "mL=m*L\n",
+ "efficiency=0.78 # from fig. 2.30\n",
+ "\n",
+ "#(d)\n",
+ "effectiveness=math.sqrt(k*P/(hc*A))*tanh(mL)\n",
+ "\n",
+ "\n",
+ "print\"(b)The heat transferred is \",round(qz,2),\"BTU/hr\"\n",
+ "print\"(c)The efficiency found from the graph in figure 2.30 is\",efficiency\n",
+ "print\"(d)The effectiveness is found to be\",round(effectiveness,1)\n",
+ "\n",
+ "\n",
+ "#Plot\n",
+ "import matplotlib.pyplot as plt\n",
+ "fig = plt.figure()\n",
+ "ax = fig.add_subplot(111)\n",
+ "\n",
+ "mL1=[0,1,1.2,5]\n",
+ "n1=[0,0.2,0.25,0.25]\n",
+ "\n",
+ "mL2=[0,1,1.8,5]\n",
+ "n2=[0,0.35,0.5,0.5]\n",
+ "\n",
+ "mL3=[0,1,2,5]\n",
+ "n3=[0,0.75,1,1]\n",
+ "mL4=[0,1,2,5]\n",
+ "n4=[0,1.5,2,2]\n",
+ "\n",
+ "xlabel(\"mL\") \n",
+ "ylabel(\"n \") \n",
+ "plt.xlim((0,6))\n",
+ "plt.ylim((0,2.5))\n",
+ "\n",
+ "ax.annotate('(0.25)', xy=(5,0.25))\n",
+ "ax.annotate('(0.5)', xy=(5,0.5))\n",
+ "ax.annotate('(1)', xy=(5,1))\n",
+ "ax.annotate('(2)', xy=(5,2))\n",
+ "a1=plot(mL1,n1)\n",
+ "a2=plot(mL2,n2)\n",
+ "a3=plot(mL3,n3)\n",
+ "a4=plot(mL4,n4)\n",
+ "\n",
+ "import matplotlib.pyplot as plt\n",
+ "fig = plt.figure()\n",
+ "ax = fig.add_subplot(111)\n",
+ "\n",
+ "z1=[0,3,4.8]\n",
+ "T1=[200,165,158]\n",
+ "z2=[0,4.8]\n",
+ "T2=[140,140]\n",
+ "z3=[0,4.8]\n",
+ "T3=[130,130]\n",
+ "z4=[4.8,4.8]\n",
+ "T4=[140,130]\n",
+ "\n",
+ "xlabel(\"z (m)\") \n",
+ "ylabel(\"T (K)\") \n",
+ "plt.xlim((0,5.5))\n",
+ "plt.ylim((120,200))\n",
+ "\n",
+ "ax.annotate('(5/16 in)', xy=(4.85,135))\n",
+ "a1=plot(z1,T1)\n",
+ "a2=plot(z2,T2)\n",
+ "a3=plot(z3,T3)\n",
+ "a4=plot(z4,T4)\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(b)The heat transferred is 3.13 BTU/hr\n",
+ "(c)The efficiency found from the graph in figure 2.30 is 0.78\n",
+ "(d)The effectiveness is found to be 45.2\n"
+ ]
+ },
+ {
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAEKCAYAAAD+XoUoAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XtYlHX+N/D3IGghKFqKnBJTBhEUEZVyF8ESKxfEU24e\nVn6ewrN22ZPX9ttSy2jb2tzMw5VuiqaLtlqKinjISMMQE3rME4gPJAyIi0iKKYeZ7/MHMgsywAD3\nzD0z9/t1XVwXMDdzfybz7ZfPfO/PrRJCCBARkSLYyV0AERGZD0OfiEhBGPpERArC0CciUhCGPhGR\ngjD0iYgURLLQz8/Px4gRI+Dv74+AgACsXbu2wTEpKSno3LkzgoKCEBQUhNWrV0t1eiIiMoK9VE/k\n4OCANWvWYODAgSgvL0dwcDAiIiLg5+dX77iwsDAkJiZKdVoiImoByVb6PXr0wMCBAwEATk5O8PPz\nQ2FhYYPjeC0YEZF8TNLTz8vLQ2ZmJkJCQup9X6VS4fTp0wgMDMTo0aNx6dIlU5yeiIgaIyR29+5d\nERwcLL7++usGj925c0fcu3dPCCFEUlKS8PHxMfgcAPjBD37wgx+t+GiOpCv9qqoqTJgwAdOmTcPY\nsWMbPO7s7AxHR0cAwEsvvYSqqiqUlpYafC4hhM1+rFixQvYa+Nr4+vj6bO/DGJKFvhACs2bNQr9+\n/bB06VKDxxQXF+sLS09PhxACXbt2laoEIiJqhmS7d1JTU7Fjxw4MGDAAQUFBAIC4uDhcv34dABAb\nG4s9e/Zg48aNsLe3h6OjI3bt2iXV6YmIyAiShf7vf/976HS6Jo9ZsGABFixYINUprVZ4eLjcJZiM\nLb82gK/P2tn66zOGShjbCDIjlUpldH+KiIhqGJOdHMNARKQgDH0iIgVh6BMRKQhDn4hIQRj6REQK\nwtAnIlIQhj4RkYIw9ImIFIShT0SkIAx9IiIFYegTESkIQ5+ISEEY+kRECsLQJyJSEIY+EZGCMPSJ\niBSEoU9EpCAMfSIiBWHoExEpCEOfiEhBGPpERArC0CciUhCGPhGRgjD0iYgUhKFPRKQgDH0iIgVh\n6BMRKQhDn4hIQRj6REQKwtAnIlIQhj4RkYIw9IlIUSoqKhAWFoaMjAw8++yzCAgIQGBgIL788kv9\nMZMmTUJubq6MVZqOSggh5C7iUSqVChZYFhHZgC1btuDWrVsYO3Ys7Ozs0Lt3bxQVFSE4OBhXrlxB\np06dcOzYMRw4cABr166Vu9wWMSY7udInIkVJSEhAdHQ0fHx80Lt3bwCAm5sbunfvjv/85z8AgPDw\ncCQlJclZpskw9IlIMbRaLS5cuAC1Wl3v++np6aiqqtL/I+Dg4AAPDw9cvnxZjjJNSrLQz8/Px4gR\nI+Dv74+AgIBGfy1avHgxfHx8EBgYiMzMTKlOT0TUrJKSEjg7O9f7XlFREaZPn46tW7fW+767uzvy\n8vLMWJ152Ev1RA4ODlizZg0GDhyI8vJyBAcHIyIiAn5+fvpjkpKSkJOTg6tXr+LMmTOYN28e0tLS\npCqBiKhZdXved+7cQWRkJOLi4jB06NAGx9nZ2V4zRLLQ79GjB3r06AEAcHJygp+fHwoLC+uFfmJi\nImJiYgAAISEhKCsrQ3FxMVxdXaUqg2QkhMDpO3fwQKeTuxQig/p16oTy8nIAQGVlJcaNG4fp06dj\n/PjxDY4tKipCz549zV2iyUkW+nXl5eUhMzMTISEh9b6v0Wjg5eWl/9rT0xMFBQUGQ3/lypX6z8PD\nwxEeHm6KUkki5VotZl65gszycjzVoYPc5RAZtMLbGwEBAcjKysLZs2dx6tQplJaWIj4+HgAQHx+P\nwMBAVFVVoaCgAH379pW34GakpKQgJSWlRT8jeeiXl5dj4sSJ+OSTT+Dk5NTg8Ue3E6lUKoPPUzf0\nybJdu38f4y5cQLCzM34eMgSP2eCvxGQ7pk6din379mH58uWYNm2awWO+/fZbREZGmrmylnt0Qbxq\n1apmf0bSv51VVVWYMGECpk2bhrFjxzZ43MPDA/n5+fqvCwoK4OHhIWUJZGZHSksxLCMDse7u2OLr\ny8AnizdlyhQcOnSoyf3s//znP/Haa6+ZsSrzkeziLCEEYmJi8MQTT2DNmjUGj0lKSsK6deuQlJSE\ntLQ0LF261OAbubw4y/IJIfC3/Hx8UlCAXf36YbiLi9wlESmeMdkpWeh///33GD58OAYMGKBv2cTF\nxeH69esAgNjYWADAwoULkZycjI4dO2Lr1q0YNGhQqwon+dT27/MePMBef394PfaY3CUREcwc+lJi\n6Fuuuv37jWo12zlEFoRjGEhS7N8TWT+TbNkk21K3f/9vf3/274msGEOfmlS3f39m0CD274msHH8/\np0Zdu38fwzIy0LFdO5wMCmLgE9kAhj4ZxP49kW1ie4fqYf+eyLYx9EmP/Xsi28ff2QkA+/dESsHQ\nJ/bviRSE7R0FY/+eSHkY+grF/j2RMvH3eAVi/55IuRj6CsP+PZGysb2jEOzfExHA0FcE9u+JqBZ/\nt7dx7N8TUV0MfRvG/j0RPYrtHRvE/j0RNYahb2PYvyeipvD3fRvC/j0RNYehbyPYvyciY7C9Y+XY\nvyeilmDoWzH274mopdgDsFLs3xNRazD0rRD790TUWmzvWBH274morRj6VoL9eyKSAvsCVoD9eyKS\nCkPfwrF/T0RSYnvHQtX27//B/j0RSYihb4Fq+/e5Dx4gnf17IpIQewUWpm7//hT790QkMYa+Bant\n37/K/j0RmQjbOxaA/XsiMheGvszYvycic5K0fzBz5ky4urqif//+Bh9PSUlB586dERQUhKCgIKxe\nvVrK01sd9u+JyNwkXenPmDEDixYtwvTp0xs9JiwsDImJiVKe1iodKS3F9MuX8Za3Nxa4u0OlUsld\nEhEpgKShHxoairy8vCaPEUJIeUqrw/49EcnJrNtDVCoVTp8+jcDAQIwePRqXLl0y5+ktwsysLOz5\nz3+QPmgQA5+IzM6sb+QOGjQI+fn5cHR0xOHDhzF27FhkZ2cbPHblypX6z8PDwxEeHm6eIk3ofHk5\njpaWIickBI+3ayd3OURk5VJSUpCSktKin1EJifsteXl5iIqKws8//9zssb169cK5c+fQtWvX+kWp\nVDbZBpqbnQ339u3xtre33KUQkQ0yJjvN2t4pLi7WF5Seng4hRIPAt1W/Vldj982bmOPmJncpRKRg\nkrZ3Jk+ejO+++w4lJSXw8vLCqlWrUFVVBQCIjY3Fnj17sHHjRtjb28PR0RG7du2S8vQWbduNGxjV\npQvcOnSQuxQiUjDJ2ztSsLX2jhACfmfPYpNazTdvichkLK69o1Qnyspgr1IhtHNnuUshIoVj6JvB\neo2GF2ARkUVg6JtYQUUFUsrKMM3VVe5SiIgY+qb2WWEhpri6wtmes+2ISH4MfROq1Onwz6IizHd3\nl7sUIiIADH2T+qqkBH6OjujXsaPcpRARAWDom9R6jQbzPTzkLoOISI+hbyLny8uR++ABop94Qu5S\niIj0GPomsqGwEK+6ucGB97klIgvCLSUmUDtn59KQIXKXQkRUD5ehJsA5O0RkqRj6EhNCYENhIRbw\nDVwiskAMfYlxzg4RWTKGvsQ4Z4eILBlDX0Kcs0NElo6hLyHO2SEiS9doOj148AB79+5FXl4eqqur\nAdQM6H/77bfNVpw1qZ2z801goNylEBE1qtHQj46OhouLC4KDg/HYY4+ZsyarxDk7RGQNGg19jUaD\nI0eOmLMWq7Zeo8EST0+5yyAialKjPf1hw4bh/Pnz5qzFanHODhFZi0ZvjO7n54ecnBz06tULHR5e\nWapSqczyD4G13Rh9bnY23Nu3x9ve3nKXQkQKZkx2NtreOXz4sOQF2SLO2SEia9Jo6Htz1WoUztkh\nImvCffptwDk7RGRtGPptwDk7RGRtGPptwDk7RGRtGPqtxDk7RGSNGPqtxDk7RGSNGPqtUDtnZ767\nu9ylEBG1CEO/FThnh4isFUO/FdZrNJjPbZpEZIUY+i3EOTtEZM0Y+i20obAQr7q5wcGO/+mIrFFF\nRQXCwsKg0+nw4osvokuXLoiKiqp3zKRJk5CbmytThabF5GqB2jk7c9zc5C6FiFpp586diIyMhJ2d\nHd544w188cUXDY6ZM2cO1qxZI0N1psfQbwHO2SGyfgkJCYiOjgYAPPfcc3BycmpwTHh4OJKSksxd\nmlkw9I3EOTtE1k+r1eLChQtQq9VNHufg4AAPDw9cvnzZTJWZj6ShP3PmTLi6uqJ///6NHrN48WL4\n+PggMDAQmZmZUp7epDhnh8j6lZSUwNnZ2ahj3d3dkZeXZ9qCZCBp6M+YMQPJycmNPp6UlIScnBxc\nvXoVmzZtwrx586Q8vUlxzg6RbXj0JiON/Z0WQsDOBjdsSPqKQkND0aVLl0YfT0xMRExMDAAgJCQE\nZWVlKC4ulrIEk+CcHSLb8OSTT6K8vLze9xq701RRURF69uxpjrLMyqyDYzQaDby8vPRfe3p6oqCg\nAK4WHqacs9MMIYCUFGDTJmD/fqCqSu6KiAxqt3s3AgICkJWVBV9fX4SGhiIrKwvl5eXw8vLCli1b\nEBERgaqqKhQUFKBv375ylyw5s6eYsb9arVy5Uv95eHg4wsPDTVhV42rn7HwTGCjL+S1aSQkQH18T\n9u3bA7GxwLp1QKdOcldGZFi7dph65w727duH5cuX49SpUwYP+/bbbxEZGWnm4louJSUFKSkpLfsh\nIbHc3FwREBBg8LHY2FiRkJCg/9rX11fcuHGjwXEmKKvVEoqLxYjMTLnLsBw6nRAnTgjxyitCdO4s\nREyMEKmpNd8nsgIVFRUiNDRU6Jr4f/bll18Wubm55itKIsZkp1nfpRgzZgy2b98OAEhLS4OLi4vF\nt3Y4Z+ehkhLgo48AX19g0SJg2DAgN7dmpT9sGMA3uMlKtG/fHidPnmxyU8aXX35ps/cJl7S9M3ny\nZHz33XcoKSmBl5cXVq1ahaqH/d3Y2FiMHj0aSUlJ6NOnDzp27IitW7dKeXrJKX7OTt1e/eHDwNix\nNSH/7LMMeSIrpXr4K4FFUalUjb6jbk5zs7Ph3r493rbRf/EbZahXP20a0MTOLCKSnzHZye0ojaid\ns3NpyBC5SzEPruqJFIGh3wjFzNkxtKrfsIGreiIbxdA3QDycs7OpmfkcVoureiLFYugbYLNzdriq\nJ1I8hr4BNjVn59FVfXQ0V/VECsbQf0TtnJ1t1n75NVf1RGQAQ/8RVj1nh6t6ImqGFSab6VjtnB2u\n6onISAz9Or4qKYGfoyP6dewodynN46qeiFqBoV/Heo0GSzw95S6jaVzVE1EbMPQfsug5O1zVE5FE\nGPoPbSgsxKtubnCwpNujcVVPRBJj6MPC5uxwVU9EJsTQh4XM2eGqnojMQPGhL+ucHa7qicjMFB/6\nsszZ4aqeiGSi+NA365yd6mpg3jzg3//mqp6IZKHo0Df7nJ2lS4H8/Jp7y3JVT0QyUHTom3XOzoYN\nwIkTwA8/ALY2spmIrIZiQ9+sc3aOHwfeeQdITWXgE5GsFBv6Zpuzk50NTJ0K7N4N9O5t2nMRETXD\ngi4/Na/1Gg3me3iY9iS3bwNRUcDq1UB4uGnPRURkBEWGvlnm7FRVAZMmAaNHA3PmmO48REQtoMjQ\nN8ucnddeA+ztgQ8/NN05iIhaSHE9fbPM2am7U8ca78BFRDZLcYlk8jk73KlDRBZMUe2d2jk7C0z1\nBm7tTp1du7hTh4gskqJC36RzdrhTh4isgKJC32RzdrhTh4ishGJCv3bOzjRXV+mfnDt1iMhKKOaN\nXJPN2eFOHSKyIopIKZPN2eFOHSKyMopo75hkzg536hBZpYqKCoSFhUGn02Hbtm1Qq9VQq9XYvn27\nwePj4+PRrVs3BAUFISgoCFu2bAEAFBcXY/To0eYsXRKKWOmv12iwxNNTuifkTh0iq7Vz505ERkai\nrKwM77zzDs6dOwcACA4OxpgxY+Di4lLveJVKhcmTJ2Pt2rX1vu/q6oouXbogIyMDgwYNMlv9bWXz\nK33J5+xwpw6RVUtISEB0dDSOHDmCUaNGwcXFBS4uLoiIiEBycnKD44UQEEIYfK4xY8YgISHB1CVL\nyuZDX/I5O9ypQ2S1tFotLly4ALVaDY1GA886HQBPT09oNJoGP6NSqbB3714MGDAAL7/8MgoKCvSP\nDR06FCdPnjRL7VKRNPSTk5PRt29f+Pj44IMPPmjweEpKCjp37qzvja1evVrK0zdQO2dnjpubNE9Y\nu1Nn1y7u1CGyQiUlJXB2dgYAo6/XiYqKwi+//ILz588jIiICMTEx+sfc3NyQl5dnilJNRrLQ12q1\nWLhwIZKTk3Hp0iUkJCTg8uXLDY4LCwtDZmYmMjMz8Ze//EWq0xsk6Zyd2p06Bw5wpw6RFatt1Xh4\neCA/P1///fz8/Hor/1pdu3aFg4MDAGDWrFn69wBqn0vyiz1NTLLlanp6Ovr06QNvb28AwCuvvIL9\n+/fDz8+v3nGN9cakVjtnZ5Na3fYnU/Ddr66VXsO5onNm+3MjMqUQ9xCUl5cDAEaNGoU333wTZWVl\nEELg2LFjBjsUN27cQI8ePQAAiYmJ6Nevn/6xoqIi9OzZ0zzFS0Sy0NdoNPDy8tJ/7enpiTNnztQ7\nRqVS4fTp0wgMDISHhwc++uijev8B61q5cqX+8/DwcIS3cJeMZHN2FLZTp1pXjR/yf8CB7AM4kH0A\nt+/fxjCvYXBo5yB3aURt5u3ijYCAAGRlZcHX1xdvvfUWhjwcs75ixQr9zp0VK1Zg8ODBiIqKwtq1\na5GYmAh7e3s88cQTiI+P1z9feno6hg8fLsdLAVDTMk9JSWnRz6iEREu4vXv3Ijk5GZs3bwYA7Nix\nA2fOnMGnn36qP+bu3bto164dHB0dcfjwYSxZsgTZ2dkNi1Kp2ryyHH/hAiK6dMG8tkzUrKqq2aUT\nEACsWdOmeizZrw9+xZFrR3Ag+wAOXz0Mz06eiPKNQpQ6CoPdB8NOZfPv95OCxMfHo7i4GMuXL2/z\nc02dOhWvv/46goKCJKis7YzJTsn+NhvTH3N2doajoyMA4KWXXkJVVRVKS0ulKkFPsjk7NrxT51rp\nNfwj7R94fvvz8Fzjifif4jHMcxgyYzPx09yf8O6IdzHUYygDn2zOlClTcOjQoTYvLG/evImysjKL\nCXxjSbbSr66uhq+vL7755hu4u7tj6NChSEhIqNfTLy4uRvfu3aFSqZCeno5JkyYZfOe7rSv9t3Jz\ncbu6Gut8fFr9HNiwAVi3rmamjg28cVu3bXMw+yBK75ciUh2JSHUkRj49Ek7tneQukYjayJjslKyn\nb29vj3Xr1uGFF16AVqvFrFmz4Ofnh88++wwAEBsbiz179mDjxo2wt7eHo6Mjdu3aJdXp9SSZs2Mj\nM3Uaa9vEj41n24ZIoSRb6UupLSv9XTdvYlNhIU4MHNi6k2dnA6GhNTt1rPCN22ul1/RvwqZr0hH6\nVCii1FGIVEfCq7NX809ARFbLrCt9S9GmOTtWuFOntm1z8OpBHMg6oG/bLBq6iG0bImrApkK/TXN2\nrGimDts2RNRaNtXemZudDff27fH2wwvEWmThQuDatZorbi1wxEJt2+Zg9kGka9Lx+6d+z7YNEdWj\nqPZO7ZydSw8vtGgRC7z7VWNtm4VDF7JtQ0StZhkJJ4FWz9mxoJ06bNsQkanZRHtHCAG/s2exSa3G\n8EdugNAkC9ipw7YNEUlFMe2dVs3Zqd2p8957Zg38al010grSarZVsm1DRGZmEyv9Fs/ZkWGmjlan\nxZbMLVj53Up0c+zG2TZEJDlFrPRr5+xs69vX+B8y80ydo9eOYtnRZej6eFfsf2U/BrsPNst5iYge\nZfVLzM8KCzHF1RXOxu66MePdry7evIiXdr6EBUkL8O6Id5ESk8LAJ5JZRUUFwsLCoNPpsG3bNqjV\naqjVamzfvt3g8R9//DH8/f0RGBiIkSNH4vr16/rH2rVrp78T4NixY/XfnzRpEnJzc03+WlpFWCBj\ny6rQakWP1FRxsbzcuCc+dkwIV1chcnLaUF3zbty9IWIPxIpuf+sm/vHDP0RFdYVJz0dExvv888/F\n3/72N3Hr1i3x9NNPi9u3b4vbt2/rP3/Ut99+K+7fvy+EEGLjxo3ij3/8o/4xJycng+c4evSoWLRo\nkWleQBOMyU6rXul/VVICP0dH9OvYsfmDa+9+tWuXye5+db/qPuJOxcF/gz8cHRxxZeEVLHlmCdq3\na2+S8xFRyyUkJCA6OhpHjhzBqFGj4OLiAhcXF0RERCA5ObnB8eHh4XjssccAACEhIfVujN6Y8PBw\nJCUlSV67FKw69NdrNJhvzJu3Jt6poxM67Dy/E33X90VGUQbSZqfh4xc+RtfHu0p+LiJqPa1WiwsX\nLkCtVkOj0dS754enpyc0Gk2TP//5559j9OjR+q8fPHiA4OBgPPvss9i/f7/++w4ODvDw8DB4n3C5\nWe0buUbP2ak7U2f2bMnrOPXLKSw7ugwAsGPcDoT2DJX8HEQkjZKSEjg7OwNAi29ovmPHDmRkZGBN\nnR1/169fh5ubG3Jzc/Hcc8+hf//+ePrppwEA7u7uyMvLa3CfcLlZ7Up/Q2EhXnVzg4NdMy/BRDt1\nckpzMOHLCZj29TQsCVmCtNlpDHwiKyAebmk05m5/tY4fP464uDgkJibCweG/94t2c3MDAPTq1Qvh\n4eHIzMysdx675vJJBla50jd6zo4JZurcvn8b7558F9v/73Yse3YZdozbgccdHpfkuR+l0wFarUme\nmkiRunZ9EuXl5QCAUaNG4c0330RZWRmEEDh27Bg++OCDBj+TmZmJuXPn4siRI3jyySf13y8rK8Pj\njz+ODh06oKSkBKmpqfXuu1tUVISePXua/kW1kFWGvlFzdiSeqVOprcTGsxvx3qn3MN5vPC7OvwhX\npzbeg7cRWVnA5s3Atm1AWZlJTkGkSLt3t0NAQACysrLg6+uLt956C0MeLh5XrFgBl4djXFasWIEh\nQ4YgMjISb7zxBu7du4eJEycCAHr27Il9+/bh0qVLmDt3Luzs7KDT6fDnP/8ZfR9eL1RVVYWCggL9\n15bE6q7IFcbM2ZFwpo4QAvuu7MMbx9+AT1cffBjxIfy7+7fpOQ2pqAC++grYtAm4fBn4n/+peQui\nTx/JT0WkaPHx8SguLq63Kpfa0aNHcejQIXzyyScmO4chRk0zMN2O0dZrqqzjpaXCPz1d6HQ6wweU\nlgqhVguxeXOb6zirOSuGbx0uAjYEiCM5R9r8fIZcuSLEsmVCdOsmxMiRQnz5pRAV3NZPZDIVFRUi\nNDS08QyRwMsvvyxyc3NN9vyNMSbSrW6l3+ScHYlm6uT/mo83T7yJb/7fN1gVvgozg2ainV27Vj/f\nowyt6ufMMdnlA0SkEDY3e6fZOTtt3Klzt+IuPkj9ABt/3Ij5Q+Yja2EWnDs4t6Hi/9LpgDNngH//\nG9ixAwgMBObPB6Kjgfa8douIzMSqQr/JOTtt2KlTOwFzRcoKjHx6JH6K/UmSWfZVVcDJkzWr+q+/\nBp54Ahg3rqZEruqJSA5WE/qVOh3+WVSEbwIDGz7Yhp06dSdgJk5ObPNAtPv3gWPHaoL+4MGacB8/\nHkhJAdTqNj01EVGbWU3oNzpnp3amzu7dLVo+X7x5Ea8fex05pTn4MOJDRPtGt/gKvVp37gBJSTVB\nf/QoEBRUE/Tvvgt48eZXRGRBrCb012s0WPLo1XKtmKlTXF6MFSkr8NXlr/C/of+Lea/Ma9VAtJIS\nIDGxJuhPnqzZITp+PLB+PdCtW4ufjojILKwi9A3O2WnhTJ37VfexJm0NPv7hY0wPnI4rC6+0eCBa\nQQGwb19N0J87B7zwQs0vGTt3yn5PdSIio1hF6Bucs2PkTh2d0CHh5wS8eeJNDHEfgrTZaejT1fgr\nnq5erQn5r74CcnJqfrFYuhSIiAAeN830BSIik7H40Dc4Z8fInTqtmYApBHD+/H+DvqSkZsfNe+8B\nYWFAnVlLRERWx+JDv8GcHSN26uSU5mD58eX4sfBHxD0Xh8n9Jzd58/HaPfS1QS9ETX/+s8+AZ54B\nLHBQHhFRq1h06AshsKGwEJtq9zo2s1OnJRMwDe2hHz8e2Lu35sKpVm7kISKyaBYd+ifKymCvUiG0\nc+cmd+pUaiux4ewGxJ2Ka3ICJvfQE5HSWXTor9dosMDdHarqaoM7dUSdCZh9uvbBiZgTCOgeUO85\nuIeeiOi/LHbgWv6DBxhw9ix+eeYZOC9dCly7Bhw4oH/j9sfCH7Hs6DKU3i/F30f9HaN6j9L/fGN7\n6MeM4R56IrJdVj1wTT9nZ9Omejt1GpuAyT30RETNs9iVfo/UVHzz22/oN20akJqKu57d603AfGPY\nG7hx3bnBHvrx47mHnoiUyZiVvqSbEZOTk9G3b1/4+PgYvNckACxevBg+Pj4IDAysdxPhR/kB6Dd1\nKrT/+hc2l52A7zpfXP/1Ov4V+hPsUt7FsMHOGD4c+OWXmvd2b9wA4uNrWjiWHvgpKSlyl2Aytvza\nAL4+a2frr88YkoW+VqvFwoULkZycjEuXLiEhIQGXL1+ud0xSUhJycnJw9epVbNq0CfPmzWv0+eZ/\n+ikuLp2CgVeWYEPqDjx/MxGpr2/HvKleuHevZg+9RlNzndbIkdZ10ZQt/49ny68N4Ouzdrb++owh\nWU8/PT0dffr0gbe3NwDglVdewf79++Hn56c/JjExETExMQCAkJAQlJWVobi4GK6uDbdX/nYzHb/7\nzQ52Bz6E+91oPD1ehWXcQ09E1CaShb5Go4FXnT2Qnp6eOHPmTLPHFBQUGAz9lV0X4P90XIiX49tz\nDz0RkVSkuiHvnj17xOzZs/Vff/HFF2LhwoX1jomMjBTff/+9/uvnn39enDt3rsFzAeAHP/jBD360\n4qM5kq30PTw8kJ+fr/86Pz8fno/Mv3/0mIKCAngYuMG5sLwNRURENkGyN3IHDx6Mq1evIi8vD5WV\nldi9ezfGjBlT75gxY8Zg+/btAIC0tDS4uLgYbO0QEZFpSLbSt7e3x7p16/DCCy9Aq9Vi1qxZ8PPz\nw2effQZuMJ1BAAAE7ElEQVQAiI2NxejRo5GUlIQ+ffqgY8eO2Lp1q1SnJyIiI1jUxVnJyclYunQp\ntFotZs+ejeXLl8tdkmRmzpyJQ4cOoXv37vj555/lLkdy+fn5mD59Om7evAmVSoVXX30Vixcvlrss\nyTx48ABhYWGoqKhAZWUloqOj8f7778tdlqS0Wi0GDx4MT09PHDhwQO5yJOXt7Y1OnTqhXbt2cHBw\nQHp6utwlSaqsrAyzZ8/GxYsXoVKpsGXLFjzzzDOGD27tG7dSq66uFr179xa5ubmisrJSBAYGikuX\nLsldlmROnjwpMjIyREBAgNylmERRUZHIzMwUQghx9+5doVarberPTwgh7t27J4QQoqqqSoSEhIhT\np07JXJG0/v73v4spU6aIqKgouUuRnLe3t7h165bcZZjM9OnTxeeffy6EqPn/s6ysrNFjLeb2IHX3\n+Ts4OOj3+duK0NBQdOnSRe4yTKZHjx4YOHAgAMDJyQl+fn4oLCyUuSppOTo6AgAqKyuh1WrRtWvL\n7rFsyQoKCpCUlITZs2fb7EYKW31dv/76K06dOoWZM2cCqGm1d25i4JjFhL6hPfwajUbGiqi18vLy\nkJmZiZCQELlLkZROp8PAgQPh6uqKESNGoF+/fnKXJJnXXnsNH374Iexs9DZxKpUKI0eOxODBg7F5\n82a5y5FUbm4uunXrhhkzZmDQoEGYM2cOfvvtt0aPt5g/YRUvs7UJ5eXlmDhxIj755BM4OTnJXY6k\n7Ozs8NNPP6GgoAAnT560mUv6Dx48iO7duyMoKMhmV8OpqanIzMzE4cOHsX79epw6dUrukiRTXV2N\njIwMzJ8/HxkZGejYsSP++te/Nnq8xYS+Mfv8ybJVVVVhwoQJmDZtGsaOHSt3OSbTuXNn/OEPf8CP\nP/4odymSOH36NBITE9GrVy9MnjwZJ06cwPTp0+UuS1Jubm4AgG7dumHcuHE29Uaup6cnPD09MWTI\nEADAxIkTkZGR0ejxFhP6xuzzJ8slhMCsWbPQr18/LF26VO5yJFdSUoKysjIAwP3793Hs2DEEBQXJ\nXJU04uLikJ+fj9zcXOzatQvPPfec/noaW/Dbb7/h7t27AIB79+7h6NGj6N+/v8xVSadHjx7w8vJC\ndnY2AOD48ePw9/dv9HiLuYlKY/v8bcXkyZPx3Xff4datW/Dy8sI777yDGTNmyF2WZFJTU7Fjxw4M\nGDBAH4bvv/8+XnzxRZkrk0ZRURFiYmKg0+mg0+nwpz/9Cc8//7zcZZmErbVai4uLMW7cOAA1rZCp\nU6di1KhRzfyUdfn0008xdepUVFZWonfv3k1eA2VR+/SJiMi0LKa9Q0REpsfQJyJSEIY+EZGCMPSJ\niBSEoU/UCvHx8Vi0aJHcZRC1GEOfqBVsbVsjKQdDn+gReXl56Nu3L2bMmAFfX19MnToVR48exe9+\n9zuo1WqcPXtW7hKJWo2hT2TAtWvX8Prrr+PKlSvIysrC7t27kZqaio8++ghxcXFyl0fUahZzRS6R\nJenVq5f+UnZ/f3+MHDkSABAQEIC8vDwZKyNqG670iQzo0KGD/nM7Ozu0b99e/3l1dbVcZRG1GUOf\niEhBGPpEBjy6O6fu17Wfx8fHw8vLC15eXnjqqads7k5hZJs4cI2ISEG40iciUhCGPhGRgjD0iYgU\nhKFPRKQgDH0iIgVh6BMRKcj/B5PHmv5yTzR2AAAAAElFTkSuQmCC\n"
+ },
+ {
+ "output_type": "display_data",
+ "png": "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\n"
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.9 Page No. 90"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# determination of heat transferred\n",
+ "\n",
+ "#Given\n",
+ "k=136.0 # thermal conductivity of aluminium in BTU/(hr.ft.degree Rankine)from appendix table B1\n",
+ "L=9/(8*12.0) #length in ft\n",
+ "W=9/(4*12.0) #width in ft\n",
+ "delta=0.002604 #ft\n",
+ "hc=0.8 # the convective heat transfer coefficient estimated as 1 BTU/(hr.ft**2. degree Rankine)\n",
+ "T_w=1000.0 # the root temperature in degree fahrenheit\n",
+ "T_inf=90.0 # the ambient temperature in degree fahrenheit\n",
+ "\n",
+ "#Calculation\n",
+ "import math\n",
+ "m=math.sqrt(hc/(k*delta))\n",
+ "P=2*W\n",
+ "A=2*delta*W\n",
+ "qz1=math.sqrt(hc*P*k*A)*(T_w-T_inf)*(sinh(m*L)+(hc/(m*k)*cosh(m*L)))/(cosh(m*L)+(hc/(m*k)*sinh(m*L)))\n",
+ "qz2=math.sqrt(k*A*hc*P)*(T_w-T_inf)*math.tanh(m*L)\n",
+ "Lc=L+delta\n",
+ "qz3=k*A*m*(T_w-T_inf)*math.tanh(m*L*(1+delta/Lc))\n",
+ "\n",
+ "#Result\n",
+ "print\"(a)The heat transferred is \",round(qz1,2),\"BTU/hr\"\n",
+ "print\"(b)The heat transferred is \",round(qz2,2),\"BTU/hr In the book the answer is incorrect\"\n",
+ "print\"(c)The heat transferred is \",round(qz3,2),\" BTU/hr\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)The heat transferred is 26.12 BTU/hr\n",
+ "(b)The heat transferred is 25.43 BTU/hr In the book the answer is incorrect\n",
+ "(c)The heat transferred is 26.1 BTU/hr\n"
+ ]
+ }
+ ],
+ "prompt_number": 75
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.10 Page No 94"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# determination of optimum fin length and heat transferred by fin\n",
+ "\n",
+ "#Given\n",
+ "k=8.32 # thermal conductivity BTU/(hr.ft.degree Rankine)\n",
+ "hc=400.0 # the convective heat transfer coefficient given in BTU/(hr.ft**2. degree Rankine)\n",
+ "\n",
+ "#Calculation\n",
+ "import math\n",
+ "delta_opt=0.55/(12*2)\n",
+ "# determination of dimension of one fin using the equation delta_opt=0.583*hc*Lc**2/k\n",
+ "Lc=math.sqrt(delta_opt*k/(0.583*hc))\n",
+ "\n",
+ "A=Lc*delta_opt\n",
+ "# determination of parameter for finding out efficiency from graph\n",
+ "parameter=Lc**1.5*math.sqrt(hc/(k*A))\n",
+ "efficiency=0.6\n",
+ "W=1/(2.0*12.0) # width in ft\n",
+ "T_w=190.0 # wall temperature in degree fahrenheit\n",
+ "T_inf=58.0 # ambient temperature in degree fahrenheit\n",
+ "L=1.0 # length in ft\n",
+ "delta=W/2.0 \n",
+ "q_ac=efficiency*hc*2*W*math.sqrt(L**2+delta**2)*(T_w-T_inf)\n",
+ "\n",
+ "#Result\n",
+ "print\"(a)The optimum length is \",round(Lc*12,2),\"inch\"\n",
+ "print\"(b)The actual heat transferred is \",round(q_ac,2),\"BTU/hr. NOTE: In the book answer is incorrect\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)The optimum length is 0.34 inch\n",
+ "(b)The actual heat transferred is 2640.57 BTU/hr. NOTE: In the book answer is incorrect\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 2.11 Page No 95"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# determination of heat transferred and fin effectiveness\n",
+ "\n",
+ "#Given\n",
+ "#parameters of the problem are\n",
+ "N=9 # number of fins\n",
+ "delta=0.003/2.0 \n",
+ "L=0.025\n",
+ "Lc=L+delta\n",
+ "R=0.219/2\n",
+ "R2c=R+delta\n",
+ "R1=R-L\n",
+ "T_w=260 # root wall temperature in degree celsius\n",
+ "T_inf=27 # ambient temperature in degree celsius\n",
+ "hc=15 \n",
+ "k=52 # thermal conductivity of cast iron in W/(m.K)from appendix table B2\n",
+ "\n",
+ "#calculation\n",
+ "import math\n",
+ "#(a)\n",
+ "Ap=2*delta*Lc\n",
+ "As=2*math.pi*(R2c**2-R1**2)\n",
+ "radius_ratio=R2c/R1 # for finding efficiency from figure 2.38\n",
+ "variable=Lc**1.5*math.sqrt(hc/(k*Ap))\n",
+ "efficiency=0.93 # efficiency from figure 2.38\n",
+ "qf=N*efficiency*As*hc*(T_w-T_inf)\n",
+ "Sp=0.0127 # fin spacing\n",
+ "Asw=2*math.pi*R1*Sp*N # exposed surface area\n",
+ "qw=hc*Asw*(T_w-T_inf)\n",
+ "q=qf+qw\n",
+ "\n",
+ "#(b)H=N*(Sp+2*delta) # height of cylinder\n",
+ "H=N*(Sp+2*delta)\n",
+ "Aso=2*math.pi*R1*H # surface area without fins\n",
+ "qo=hc*Aso*(T_w-T_inf)\n",
+ "\n",
+ "#(c)\n",
+ "effectiveness=q/qo # effectiveness defined as ratio of heat transferred with fins to heat transferred without fins\n",
+ "\n",
+ "#Result\n",
+ "print\"(a)The total heat transferred from the cylinder is \",round(q,0),\"W\"\n",
+ "print\"(b)The Heat transferred without fins is W\",round(qo,0),\"W\"\n",
+ "print\"(c)The fin effectiveness is \",round(effectiveness,2)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)The total heat transferred from the cylinder is 1164.0 W\n",
+ "(b)The Heat transferred without fins is W 262.0 W\n",
+ "(c)The fin effectiveness is 4.44\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file |