diff options
Diffstat (limited to 'Heat_Transfer/Chapter_5.ipynb')
-rwxr-xr-x | Heat_Transfer/Chapter_5.ipynb | 1858 |
1 files changed, 1858 insertions, 0 deletions
diff --git a/Heat_Transfer/Chapter_5.ipynb b/Heat_Transfer/Chapter_5.ipynb new file mode 100755 index 00000000..0c75a05d --- /dev/null +++ b/Heat_Transfer/Chapter_5.ipynb @@ -0,0 +1,1858 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Heat Exchangers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example no:5.1,Page no:5.22"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Harpin exchanger\n",
+ "import math\n",
+ "#Variable declaration\n",
+ "Di=35.0 #[mm]\n",
+ "Di=Di/1000 #[m]\n",
+ "Do=42.0 #[mm]\n",
+ "Do=Do/1000 #[m]\n",
+ "#for benzene\n",
+ "mb_dot=4450.0 #[kg/h]\n",
+ "Cpb=1.779 #[kJ/(kg.K)]\n",
+ "t2=322.0 #[K]\n",
+ "t1=300.0 #[K]\n",
+ "\n",
+ "#Calculation\n",
+ "Q=mb_dot*Cpb*(t2-t1) #for benzene in [kJ/h]\n",
+ "#For toulene\n",
+ "T1=344.0 #[K]\n",
+ "T2=311.0 #[K]\n",
+ "Cpt=1.842 #[kJ/kg.K]\n",
+ "mt_dot=Q/(Cpt*(T1-T2)) #[kg/h]\n",
+ "Q=Q*1000.0/3600 #[W]\n",
+ "#Hot fluid(toluene)\n",
+ "#Cold fluid(benzene)\n",
+ "dT1=22.0 #[K]\n",
+ "dT2=11.0 #[K]\n",
+ "dTlm=(dT1-dT2)/(math.log(dT1/dT2)) #[K]\n",
+ "#Clod fluid:Inner pipe,benzene\n",
+ "Di=0.035 #[m]\n",
+ "Ai=(math.pi/4)*Di**2 #Flow area[sq m]\n",
+ "Gi=mb_dot/Ai #Mass velocity [kg/m**2.h]\n",
+ "Gi=Gi/3600 #[kg/m**2.s]\n",
+ "mu=4.09*10**-4 #[kg/(m.s)]\n",
+ "Nre=Di*Gi/mu #Reynolds number\n",
+ "Cp=Cpb*10**3 #[J/(kg.K)]\n",
+ "k=0.147 #[W/m.K]\n",
+ "Npr=Cp*mu/k #Prandtl number\n",
+ "hi=(k/Di)*0.023*(Nre**0.8)*(Npr**0.4) #[W/sq m.K]\n",
+ "hio=hi*Di/Do #[W/sq m.K]\n",
+ "D1=0.042 #Outside dia of inside pipe[mm]\n",
+ "D2=0.0525 #Inside dia of outside pipe[m]\n",
+ "De=round((D2**2-D1**2)/D1,4) #[m]\n",
+ "aa=math.pi*(D2**2-D1**2)/4 #Flow area[sq m]\n",
+ "Ga=mt_dot/aa #Mass velocity in [kg/m**2.h]\n",
+ "Ga=Ga/3600 #[kg/m**2.s]\n",
+ "mu=5.01*10**-4 #[kg/(m.s)]\n",
+ "Nre=De*Ga/mu #Reynolds number\n",
+ "Npr=Cp*mu/k #Prandtl number\n",
+ "ho=(k/De)*0.023*(Nre**0.8)*(Npr**0.3) #[W/sq m.K]\n",
+ "Uc=1.0/(1.0/ho+1.0/hio) #[W/sq m.K]\n",
+ "Rdi=1.6*10**-4 #Fouling factor [m**2.K/W]\n",
+ "Rdo=1.6*10**-4 #Fouling factor[m**2.K/W]\n",
+ "Rd=Rdi+Rdo #(m**2.K/W)\n",
+ "Ud=1.0/(1.0/Uc+Rd) #[W/sq m.K]\n",
+ "A=Q/(Ud*dTlm) #sq m\n",
+ "ex=0.136 #[sq m]\n",
+ "l=A/ex #m\n",
+ "tl=12 #Total length of one harpin of 6m [m]\n",
+ "\n",
+ "#Result\n",
+ "print\"Required surface is fulfilled by connecting\",round(l/tl),\"(three) 6m harpins in series\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "0.0236\n",
+ "Required surface is fulfilled by connecting 3.0 (three) 6m harpins in series\n"
+ ]
+ }
+ ],
+ "prompt_number": 156
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example no:5.2,Page no:5.26"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Length of pipe\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "ma_dot=300.0*1000.0/24 #Mass flow rate of acid in [kg/h]\n",
+ "mw_dot=500.0*1000.0/24 #Mass flow rate of water in [kg/h]\n",
+ "Cp1=1.465 #[kJ/kg.K]\n",
+ "T1=333.0 #[K]\n",
+ "T2=313.0 #[K]\n",
+ "Q=ma_dot*Cp1*(T1-T2) #[kJ/h]\n",
+ "Q=Q*1000.0/3600.0 #[W]\n",
+ "Cp2=4.187 #[kJ/kg.K]\n",
+ "t1=288.0 #[K]\n",
+ "\n",
+ "#Calculation\n",
+ "t2=(Q/(mw_dot*Cp2))+t1 #[K]\n",
+ "dT1=T1-t2 #[K]\n",
+ "dT2=T2-t1 #[K] \n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "dTlm=32.26 #Approximation in [K]\n",
+ "#Inner pipe\n",
+ "m_dot=12500.0 #[kg/h]\n",
+ "Di=0.075 #[m]\n",
+ "Ai=(math.pi/4.0)*Di**2 #[sq m]\n",
+ "G=ma_dot/Ai #[kg/m**2.h]\n",
+ "G=G/3600 #[kg/m**2.s]\n",
+ "mu=0.0112 #[kg/m.s]\n",
+ "k=0.302 #W/(m.K)\n",
+ "Nre=Di*G/mu #Reynold number\n",
+ "Npr=Cp1*10**3*mu/k #Prandtl number\n",
+ "hi=(k/Di)*0.023*(Nre**0.8)*(Npr**0.3) #W/sq m.K\n",
+ "Do=0.1 #[m]\n",
+ "hio=hi*Di/Do #W/sq m.K\n",
+ "D1=0.1 #[m]\n",
+ "D2=0.125 #[m]\n",
+ "De=(D2**2-D1**2)/D1 #[m]\n",
+ "Aa=(math.pi/4)*(D2**2-D1**2) #[sq m]\n",
+ "Ga=mw_dot/Aa #[kg/m**2.h]\n",
+ "Ga=Ga/3600 #[kg/sq m.s]\n",
+ "mu=0.0011 #[kg/m.s]\n",
+ "Nre=De*Ga/mu #Reynolds number\n",
+ "k=0.669 #for water\n",
+ "Npr=Cp2*10**3*mu/k #Prandtl number\n",
+ "ho=(k/De)*0.023*(Nre**0.8)*Npr**0.4 #[W/sq m.K]\n",
+ "xw=(Do-Di)/2 #[m]\n",
+ "Dw=(Do-Di)/math.log(Do/Di) #[m]\n",
+ "kw=46.52 #thermal conductivity of wall in [W/m.K]\n",
+ "Uc=1.0/(1.0/ho+1.0/hio+xw*Do/(kw*Dw)) #[W/sq m.K]\n",
+ "Ud=Uc #As dirt factor values are not given\n",
+ "round(Ud,1)\n",
+ "#Ud=195.32 #Approximation\n",
+ "A=Q/(Ud*dTlm) #[sq m]\n",
+ "L=A/(math.pi*Do) #[sq m]\n",
+ "\n",
+ "#Result\n",
+ "print\"Area =\",round(A,2),\"m**2,\\nLength fo pipe required =\",round(L,2),\"m(approx)\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Area = 16.15 m**2,\n",
+ "Length fo pipe required = 51.41 m(approx)\n"
+ ]
+ }
+ ],
+ "prompt_number": 173
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example no:5.3,Page no:5.29"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Double pipe heat exchanger\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "me_dot=5500.0 #[kg/h]\n",
+ "me_dot1=me_dot/3600 #[kg/s]\n",
+ "Di=0.037 #I.D of inner pipe in [m]\n",
+ "Ai=(math.pi/4)*Di**2 #[sq m]\n",
+ "G=me_dot1/Ai #[kg/sq m.s]\n",
+ "mu=3.4*10**-3 #[Pa.s] or [kg/(m.s)]\n",
+ "Nre=Di*G/mu #Reynolds number\n",
+ "Cp=2.68 #[kJ/kg.K]\n",
+ "Cp1=Cp*10**3 #[J/kgK]\n",
+ "k=0.248 #[W/m.K]\n",
+ "\n",
+ "#Calculation\n",
+ "Npr=Cp1*mu/k #Prandtl number\n",
+ "#Nre is greater than 10,000,Use Dittus-Boelter eqn:\n",
+ "Nnu=0.023*(Nre**0.8)*(Npr**0.3) #Nusselt number\n",
+ "hi=k*Nnu/Di #[W/sq m.K]\n",
+ "T2=358.0 #[K]\n",
+ "T1=341 #[K]\n",
+ "Cp2=1.80 #[kJ/kg.K]\n",
+ "t2=335 #[K]\n",
+ "t1=303.0 #[K]\n",
+ "mt_dot=me_dot*Cp*(T2-T1)/(Cp2*(t2-t1)) #[kg/h]\n",
+ "mt_dot=mt_dot/3600 #[kg/s]\n",
+ "D1=0.043 #[m]\n",
+ "D2=0.064 #Inside dia of outer pipe\n",
+ "De=(D2**2-D1**2)/D1 #Equivalent diameter [m]\n",
+ "Aa=math.pi/4*(D2**2-D1**2) #[sq m]\n",
+ "Ga=mt_dot/Aa #kg/(sq m.s)\n",
+ "mu2=4.4*10**-4 # Viscosity of toluene Pa.s\n",
+ "k2=0.146 #For toluene [W/m.K]\n",
+ "Cp2=1.8*10**3 #J/kg.K\n",
+ "Nre=De*Ga/mu2 #Reynolds number\n",
+ "Npr=Cp2*mu2/k2 #Prandtl number\n",
+ "Nnu=0.023*Nre**0.8*Npr**0.4 #Nusselt number\n",
+ "ho=k2*Nnu/De #W/(sq m.K)\n",
+ "Dw=(D1-Di)/math.log(D1/Di) #[m]\n",
+ "x=0.003 #Wall thickness in [m]\n",
+ "Uo=1.0/(1.0/ho+(1.0/hi)*(D1/Di)+(x*D1/(46.52*Dw))) #[W/sq m.K]\n",
+ "dT1=38.0 #[K]\n",
+ "dT2=23 #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "Q=me_dot1*Cp*(T2-T1) #[kJ/s]\n",
+ "Q=Q*1000 #[J/s]\n",
+ "L=Q/(Uo*math.pi*D1*dTlm) #[m]\n",
+ "\n",
+ "#Result\n",
+ "print\"Total lenggth of double pipe heat exchanger is\",round(L,1),\"m\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Total lenggth of double pipe heat exchanger is 36.9 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 48
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example no:5.4,Page no:5.35"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Parallel flow arrangement\n",
+ "\n",
+ "#Variable declaration\n",
+ "mc_dot=1000.0 #[kg/h]\n",
+ "mc_dot=mc_dot/3600 #[kg/s]\n",
+ "mh_dot=250.0 #[kg/h]\n",
+ "mh_dot=mh_dot/3600 #[kg/s]\n",
+ "Cpc=4187.0 #[J/(kg.K)]\n",
+ "Cph=3350 #[W/K]\n",
+ "\n",
+ "#Calculation\n",
+ "w=mc_dot*Cpc #[W/K]\n",
+ "l=mh_dot*Cph #[W/K]\n",
+ "C=mh_dot*Cph/(mc_dot*Cpc)\n",
+ "U=1160.0 #[W/sq m.K]\n",
+ "A=0.25 #Heat transfer surface for exchanger in [sq m]\n",
+ "ntu=U*A/(mh_dot*Cph) #\n",
+ "E=(1-math.exp(-ntu*(1+C)))/(1+C) #Effectiveness of heat exchanger\n",
+ "T1=393.0 #Inlet temperature in [K]\n",
+ "t1=283 #Cooling water [K]\n",
+ "T2=T1-E*(T1-t1) #Outlet T of hot liquid \n",
+ "\n",
+ "t2=C*(T1-T2)+t1 #[K]\n",
+ "\n",
+ "#Result\n",
+ "print\"Effectiveness of heat exchanger is \",round(E,3)\n",
+ "print\"Outlet temperature of hot liquid is \",round(T2,1),\"K(\",round(T2,1)-273,\"degree C)\"\n",
+ "print\"Outlet temperature of water is \",round(t2,2),\"K(\",round(t2,2)-273,\"degree C)\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Effectiveness of heat exchanger is 0.647\n",
+ "Outlet temperature of hot liquid is 321.9 K( 48.9 degree C)\n",
+ "Outlet temperature of water is 297.23 K( 24.23 degree C)\n"
+ ]
+ }
+ ],
+ "prompt_number": 54
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example no:5.5,Page no:5.36"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Counter flow exchanger\n",
+ "\n",
+ "#Variable declaration\n",
+ "Cpc=4187.0 #Specific heat of water in [J/(kg.K)]\n",
+ "Cph=2000.0 #Sp heat of oil in [J/(kg.K)]\n",
+ "mc_dot=1300.0/3600 #[kg/s]\n",
+ "mh_dot=550.0/3600 #[kg/s]\n",
+ "w=mc_dot*Cpc #[W/K]\n",
+ "o=mh_dot*Cph #[W/K]\n",
+ "\n",
+ "#Calculation\n",
+ "#Heat capacity of rate of hot fluid is smaller than water\n",
+ "U=1075.0 #[W/sq m.K]\n",
+ "A=1.0 #[sq m]\n",
+ "ntu=(U*A)/(mh_dot*Cph) \n",
+ "C=mh_dot*Cph/(mc_dot*Cpc) \n",
+ "E=(1-math.exp(-ntu*(1-C)))/(1-C*math.exp(-ntu*(1-C))) #Effeciency\n",
+ "T1=367.0 #[K]\n",
+ "t1=288.0 #[K]\n",
+ "T2=T1-E*(T1-t1) #Outlet temperature [K]\n",
+ "T2=round(T2,2)\n",
+ "#T2=291.83 #Approximated in book without precise calculation\n",
+ "t2=C*(T1-T2)+t1 #[K]\n",
+ "Q=mh_dot*Cph*(T1-T2) #[W]\n",
+ "\n",
+ "#Result\n",
+ "print\"Effectiveness of exchanger is\",round(E,4)\n",
+ "print\"Outlet temperature of oil is\",T2,\"K(\",T2-273,\"degree C)\"\n",
+ "print\"Outlet temperature of water is\",round(t2,2),\"K(\",round(t2,2),\"degree C)\"\n",
+ "print\"Rate of heat transfer is\",round(Q,1),\"W\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Effectiveness of exchanger is 0.9512\n",
+ "Outlet temperature of oil is 291.85 K( 18.85 degree C)\n",
+ "Outlet temperature of water is 303.19 K( 303.19 degree C)\n",
+ "Rate of heat transfer is 22962.5 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 169
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example no:5.6,Page no:5.37"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#LMTD approach\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "\n",
+ "#LMTD Approach\n",
+ "Cph=4187.0 #[J/(kg.K)]\n",
+ "mh_dot=600.0/3600 #Hot side flow rate [kg/s]\n",
+ "mc_dot=1500.0/3600 #[kg/s]\n",
+ "Cpc=Cph #[J/kg.K]\n",
+ "T1=343.0 #[K]\n",
+ "T2=323.0 #[K]\n",
+ "\n",
+ "#Calculation\n",
+ "Q=mh_dot*Cph*(T1-T2) #[W]\n",
+ "t1=298.0 #[K]\n",
+ "t2=(mh_dot*Cph*(T1-T2))/(mc_dot*Cpc)+t1 #[K]\n",
+ "dT1=45.0 #[K]\n",
+ "dT2=17.0 #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "hi=1600.0 #Heat transfer coeff in [W/sq m.K]\n",
+ "ho=hi #[W/sq m.K]\n",
+ "U=1.0/(1.0/hi+1.0/ho) #[W/sq m.K]\n",
+ "A=Q/(U*dTlm) #[sq m]\n",
+ "\n",
+ "#Effectiveness-NTU approach\n",
+ "#hot water:\n",
+ "h=mh_dot*Cph #[W/K]\n",
+ "c=mc_dot*Cpc #[W/K]\n",
+ "#Heat capacity rate of hot fluid is small\n",
+ "C=mh_dot*Cph/(mc_dot*Cpc) #\n",
+ "E=(T1-T2)/(T1-t1) #Effectiveness\n",
+ "#for paralell flow:\n",
+ "ntu=-math.log(1-E*(1+C))/(1+C) \n",
+ "A2=(ntu*mh_dot*Cph)/U #[sq m]\n",
+ "t2=C*(T1-T2)+t1 #[K]\n",
+ "\n",
+ "#Result\n",
+ "print\"By LMTD approach area of heat exchanger is\",round(A,3),\"m^2\"\n",
+ "print\"By Ntu approach Area of heat exchanger is\",round(A,3),\"m^2\"\n",
+ "print\"Outlet temperature of cold water=\",t2,\"K(\",t2-273,\"degree C)\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "By LMTD approach area of heat exchanger is 0.607 m^2\n",
+ "By Ntu approach Area of heat exchanger is 0.607 m^2\n",
+ "Outlet temperature of cold water= 306.0 K( 33.0 degree C)\n"
+ ]
+ }
+ ],
+ "prompt_number": 62
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example no:5.7,Page no:5.39"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Shell and tube exchanger\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "mw_dot=10.0 #[kg/s]\n",
+ "Cpw=4.187 #[kJ/(kg.K)]\n",
+ "t2=318.0 #[K]\n",
+ "t1=295 #[K]\n",
+ "Q=mw_dot*Cpw*(t2-t1) #[kJ/s]\n",
+ "Q=Q*1000 #W\n",
+ "dT1=98.0 #[K]\n",
+ "dT2=75 #[K]\n",
+ "\n",
+ "#Calculation\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "hi=850.0 #[W/sq m.K]\n",
+ "id=0.027 #Inside dia[m]\n",
+ "od=0.031 #Outside dia [m]\n",
+ "hio=hi*id/od #[W/sq m.K]\n",
+ "ho=6000.0 #Heat transfer coefficients[W/sq m.K]\n",
+ "Uo=1.0/(1.0/ho+1.0/hio) #[W/sq m.K]\n",
+ "Ao=Q/(Uo*dTlm) #[sq m]\n",
+ "L=4.0 #Length [m]\n",
+ "n=Ao/(math.pi*od*L) #[No. of tubes]\n",
+ "\n",
+ "#Result\n",
+ "print\"Number of tubes required =\",round(n)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Number of tubes required = 44.0\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example no:5.8,Page no:5.40"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Order of Scale resistance\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "mdot=7250 #Nitrobenzene in shell in [kg/h]\n",
+ "Cp=2.387 #[kJ/(kg.K)]\n",
+ "mu=7*10**-4 #Pa.s\n",
+ "k=0.151 #[W/m.K]\n",
+ "T1=400.0 #[K]\n",
+ "T2=317.0 #[K]\n",
+ "t1=305.0 #[K]\n",
+ "t2=345.0 #[K]\n",
+ "\n",
+ "#Calculation\n",
+ "dT1=T1-t2 #[K]\n",
+ "dT2=T2-t1 #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "Q=mdot*Cp*(T1-T2) #[kJ/h]\n",
+ "Q=Q*1000.0/3600 #[W]\n",
+ "n=166.0 #no of tubes\n",
+ "L=5.0 #[m]\n",
+ "Do=0.019 #[m]\n",
+ "Di=0.015 #[m]\n",
+ "Ao=n*math.pi*Do*L #[sq m]\n",
+ "Uo=Q/(Ao*dTlm) #[W/sq m.K]\n",
+ "Ud=Uo\n",
+ "#Shell side heat transfer coefficient\n",
+ "Pt=0.025 #[m]\n",
+ "C_dash=Pt-(0.5*Do+0.5*Do)\n",
+ "\n",
+ "#Shell side crossflow area\n",
+ "B=0.15 #[m]\n",
+ "id=0.45 #[m]\n",
+ "ass=id*C_dash*B/Pt #[sq m]\n",
+ "#As there are two shell passes,area per pass is :\n",
+ "as_dash=ass/2 #[sq m]\n",
+ "\n",
+ "#Equivalent diameter of shell \n",
+ "De=4*(Pt**2-(math.pi/4)*Do**2)/(math.pi*Do) #[m]\n",
+ "\n",
+ "#Mass velocity on shell side\n",
+ "Gs=mdot/as_dash #[kg/m**2.h]\n",
+ "Gs=Gs/3600 #[kg/m**2.s]\n",
+ "mu=7.0*10**-4 #Pa.s\n",
+ "Cp=Cp*1000 #J/kg.K\n",
+ "Nre=De*Gs/mu #Reynold number\n",
+ "Npr=Cp*mu/k #Prandtls number\n",
+ "Nnu=0.36*Nre**0.55*Npr**(1.0/3.0) #Nusselts number\n",
+ "hi=1050.0 #[W/sq m .K]\n",
+ "ho=Nnu*k/De #[W/sq m.K]\n",
+ "Uo=1.0/(1.0/ho+(1.0/hi*(Do/Di))) #[W/sq m K]\n",
+ "Uc=Uo\n",
+ "Rd=(Uc-Ud)/(Uc*Ud) #m**2.K/W\n",
+ "\n",
+ "#Result\n",
+ "print\"Fouling factor=Sclae resistance=%.2e\" %round(Rd,6),\"m^2 K/W\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Fouling factor=Sclae resistance=9.65e-04 m^2 K/W\n"
+ ]
+ }
+ ],
+ "prompt_number": 74
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example no:5.9,Page no:5.42"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Length of tube required\n",
+ "\n",
+ "#Variable declaration\n",
+ "k=0.628 #W/(m.K)\n",
+ "rho=980.0 #[kg/m**3]\n",
+ "mu=6*10**-4 #kg/(m.s)\n",
+ "Cpw=4.187 #kJ/(kg.K)\n",
+ "Cp=Cpw*10**3 #J/(kg.K)\n",
+ "Di=25.0 #[mm]\n",
+ "Di=Di/1000 #[m]\n",
+ "\n",
+ "#Calculation\n",
+ "mw_dot=1200.0*10**-3*rho #Mass flow rate of water [kg/h]\n",
+ "mw_dot=mw_dot/3600.0 #[kg/s]\n",
+ "Ai=(math.pi*Di**2)/4.0 #Inside area of tube in sq m\n",
+ "G=mw_dot/Ai #kg/m**2.s\n",
+ "Nre=Di*G/mu #Reynolds number\n",
+ "Npr=Cp*mu/k #Pranddtl number\n",
+ "#Inside heat transfer coefficient\n",
+ "Nnu=0.023*Nre**0.8*Npr**0.4 #Nusselt number\n",
+ "hi=Nnu*k/Di #[W/sq m.K]\n",
+ "ho=6000.0 #[W#sq m.K]\n",
+ "Do=0.028 #[m]\n",
+ "Dw=(Do-Di)/math.log(Do/Di) #[m]\n",
+ "x=(Do-Di)/2 #[m]\n",
+ "k2=348.9 #thermal conductivity of metal in [W/m.K]\n",
+ "Uo=1.0/((1.0/ho)+(1.0/hi)*(Do/Di)+(x/k2)*(Do/Dw)) #[W/sq m.K]\n",
+ "t1=303.0 #[K]\n",
+ "t2=343.0 #[K]\n",
+ "Q=mw_dot*Cpw*(t2-t1) #[kJ/h]\n",
+ "Q=Q*1000.0 #[W]\n",
+ "Ts=393.0 #[K]\n",
+ "dT1=Ts-t1 #[K]\n",
+ "dT2=Ts-t2 #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "Ao=Q/(Uo*dTlm) #[sq m]\n",
+ "L=Ao/(math.pi*Do) #Length\n",
+ "\n",
+ "#Result\n",
+ "print\"Length of tube required is\",round(L,2),\"m\" \n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Length of tube required is 4.4 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 67
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example no:5.10,Page no:5.44"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Suitability of Exchanger\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "m_dot=7250.0 #[kg/h] of nitrobenzene \n",
+ "Cp=2.387 #[kJ/kg.K]\n",
+ "mu=7*10**-4 #[kg/m.s]\n",
+ "k=0.151 #[W/m.K]\n",
+ "vis=1.0 \n",
+ "Ft=0.9 #LMTD correction factor\n",
+ "T1=400.0 #[K]\n",
+ "T2=317.0 #[K]\n",
+ "t1=333.0 #[K]\n",
+ "t2=300.0 #[K]\n",
+ "\n",
+ "#Calculation\n",
+ "dT1=T1-t1 #[K]\n",
+ "dT2=T2-t2 #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "#For nitrobenzene\n",
+ "Q=m_dot*Cp*(T1-T2) #[kJ/h]\n",
+ "Q=Q*1000.0/3600 #[W]\n",
+ "n=170.0 #No. of tubes\n",
+ "L=5.0 #[m]\n",
+ "Do=0.019 #[m]\n",
+ "Di=0.015 #[m]\n",
+ "Ao=n*math.pi*Do*L #[sq m]\n",
+ "Uo=Q/(Ao*Ft*dTlm) #[W/sq m.K]\n",
+ "Ud=Uo #[W/sq m.K]\n",
+ "B=0.15 #Baffle spacing [m]\n",
+ "Pt=0.025 #Tube pitch in [m]\n",
+ "C_dash=Pt-Do # ance in [m]\n",
+ "id=0.45 #[m]\n",
+ "\n",
+ "#Shell side cross flow area\n",
+ "ass=id*C_dash*B/Pt #[sq m]\n",
+ "\n",
+ "#Equivalent diameter of shell\n",
+ "De=4*(Pt**2-(math.pi/4)*(Do**2))/(math.pi*Do) #[m]\n",
+ "\n",
+ "#Mass velocity on shell side\n",
+ "Gs=m_dot/ass #[kg/(m.h)]\n",
+ "Gs=Gs/3600.0 #[kg/m**2.s]\n",
+ "mu=7.0*10**-4 #[kg/m.s]\n",
+ "Cp=Cp*1000.0 #[J/kg.K]\n",
+ "Nre=De*Gs/mu #Reynolds number\n",
+ "Npr=Cp*mu/k #Prandtl number\n",
+ "\n",
+ "#From empirical eqn:\n",
+ "mu_w=mu #\n",
+ "Nnu=0.36*Nre**0.55*Npr**(1.0/3.0)\n",
+ "ho=Nnu*k/De #[W/sq m.K]\n",
+ "hi=1050.0 #Given [W/sq m.K]\n",
+ "Uo=1.0/(1.0/ho+(1.0/hi)*(Do/Di)) #[W/sq m.K]\n",
+ "Uc=Uo #W/sq m.K\n",
+ "\n",
+ "#Suitability of heat exchanger\n",
+ "Rd_given=9*10**-4 #[W/sq m.K]\n",
+ "Rd=(Uc-Ud)/(Uc*Ud) #[W/sq m.K]\n",
+ "\n",
+ "#Result\n",
+ "print\"Rd calculated(%.2e\"%Rd,\"W/m^2.K) is maximum allowable scale resistance\"\n",
+ "print\"As Rd calculated(%.2e\"%Rd,\"W/m^2K) is more than Rd given %.e(\"%Rd_given,\" W/m^2,K),the given heat exchanger is suitable\"\n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Rd calculated(1.01e-03 W/m^2.K) is maximum allowable scale resistance\n",
+ "As Rd calculated(1.01e-03 W/m^2K) is more than Rd given 9e-04( W/m^2,K),the given heat exchanger is suitable\n"
+ ]
+ }
+ ],
+ "prompt_number": 87
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example no:5.11,Page no:5.47"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Number of tubes required\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "mw_dot=1720.0 #water in [kg/h]\n",
+ "t1=293.0 #[K]\n",
+ "t2=318.0 #[K]\n",
+ "Cpw=4.28 #[kJ/kg.K]\n",
+ "\n",
+ "#Calculation\n",
+ "Q=mw_dot*Cpw*(t2-t1) #[kJ/h]\n",
+ "Q=Q*1000.0/3600 #W\n",
+ "lamda=2230.0 #[kJ/kg]\n",
+ "dT1=90.0 #[K]\n",
+ "dT2=65.0 #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "\n",
+ "#Calculation of inside heat transfer coefficient\n",
+ "Di=0.0225 #[m]\n",
+ "u=1.2 #[m/s]\\\n",
+ "rho=995.7 #[kg/m**3]\n",
+ "v=0.659*10**-6 #[m/s]\n",
+ "mu=v*rho #[kg/m.s]\n",
+ "Nre=Di*u*rho/mu #reynolds number\n",
+ "Cp=Cpw*1000 #[J/kg.K]\n",
+ "k=2.54 #[kJ/h.m.K]\n",
+ "k=k*1000.0/3600 #[W/m.K]\n",
+ "Npr=Cp*mu/k #Prandtl number\n",
+ "Nnu=0.023*Nre**0.8*Npr**0.4 #Nusselt number\n",
+ "hi=k*Nnu/Di #[W/sq m.K]\n",
+ "ho=19200.0 #[kJ/h.m**2.K]\n",
+ "ho=ho*1000.0/3600 #[W/m**2.K]\n",
+ "Do=0.025 #[m]\n",
+ "Dw=(Do-Di)/math.log(Do/Di) #[m]\n",
+ "x=(Do-Di)/2 #[m]\n",
+ "kt=460.0 #For tube wall material [kJ/h.m.K]\n",
+ "kt=kt*1000.0/3600 #[W/m.K]\n",
+ "Uo=1.0/(1.0/ho+(1.0/hi)*(Do/Di)+(x/kt)*(Do/Dw)) #[W/sq m.K]\n",
+ "#Q=Uo*Ao*dTlm\n",
+ "Ao=Q/(Uo*dTlm) #[sq m]\n",
+ "L=4.0 #Tube length in [m]\n",
+ "n=Ao/(math.pi*Do*L) #[Number of tubes]\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Number of tubes required=\",round(n)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Number of tubes required= 1.0\n"
+ ]
+ }
+ ],
+ "prompt_number": 90
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example no:5.12,Page no:5.49"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Shell and tube heat exchanger\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "t1=290.0 #Inlet temperature of cooling water [K]\n",
+ "ho=2250.0 #Heat transfer coefficient based on inside area in [W/sq m.K]\n",
+ "lamda=400.0 #[kJ/kg] LAtent heat of benzene \n",
+ "mb_dot=14.4 #[t/h] Condensation rate of benzene vapour\n",
+ "Cpw=4.187 #Specific heat\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#With no Scale\n",
+ "Q=mb_dot*1000.0*lamda #Heat duty of condenser in [kJ/h]\n",
+ "Q=(Q/3600.0)*1000.0 #[W]\n",
+ "\n",
+ "#Shell and tube type of heat exchanger is used as a single pass surface condenser\n",
+ "Di=0.022 #I.D of tube[m]\n",
+ "L=2.5 #Length of each tube in [m]\n",
+ "n=120.0 #Number of tubes\n",
+ "A=math.pi*Di*L #Area of heat transfer per metre length in [m**2/m]\n",
+ "A=n*A #Total area of heat transfer in [m**2]\n",
+ "Ai=(math.pi/4.0)*Di**2 #Cross-sectional area of each tube in [m**2]\n",
+ "Ai=n*Ai #Total area of flow in [m**2]\n",
+ "\n",
+ "u=0.75 #Velocty of water [ms**-1]\n",
+ "V=u*Ai #Volumetric flow of water \n",
+ "rho=1000.0 #[Density of water in [kg/m**3]]\n",
+ "mw_dot=V*rho #Mass flow rate of water in [kg/s]\n",
+ "\n",
+ "#Heat balance\n",
+ "#Q=mw_dot*Cpw*(t2-t1)\n",
+ "t2=Q/(mw_dot*Cpw*1000)+t1 #[K]\n",
+ "T=350.0 #Condensing benzene temperature in [K]\n",
+ "dT1=T-t1 #[K]\n",
+ "dT2=T-t2 #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #LMTD\n",
+ "U=Q/(A*dTlm) #[W/m**2.K]\n",
+ "U=round(U)\n",
+ "\n",
+ "#Neglecting resistance,we have:\n",
+ "hi=1/(1/U-1/ho) #[W/m**2.K]\n",
+ "\n",
+ "#hi is proportional to u**0.8\n",
+ "C=hi/(u**0.8) #Constant\n",
+ "\n",
+ "#With Scale\n",
+ "Rd=2.5*10**-4 #[m**2 K./W]\n",
+ "def f(u):\n",
+ " def g(u):\n",
+ " hi=C*u**0.8\n",
+ " U=1/(1/hi+1/ho+Rd)\n",
+ " return(U)\n",
+ " def h(u):\n",
+ " mw=rho*u*Ai\n",
+ " return(mw)\n",
+ " def j(u):\n",
+ " t2=290+(8.373/u)\n",
+ " dT1=T-t1\n",
+ " dT2=T-t2\n",
+ " dT1lm=(dT1-dT2)/math.log(dT1/dT2) \n",
+ " return(dT1lm)\n",
+ " dem=1.89*g(u)*j(u)*A/(16*10**5)\n",
+ " return(dem)\n",
+ "lhs=1.89\n",
+ "i=-1 #flag\n",
+ "lists=[2,2.5,3,4,3.8]\n",
+ "for u in lists:\n",
+ " rhs=f(u)\n",
+ " print\"u=\",u,\"rhs=\",round(rhs,4)\n",
+ " i=i+1\n",
+ "print\"rhs=\",round(rhs,4),\"=lhs=\",lhs\n",
+ "\n",
+ "#Result\n",
+ "print\"So,Water velocity must be\",lists[i],\" m/s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "u= 2 rhs= 1.7453\n",
+ "u= 2.5 rhs= 1.8009\n",
+ "u= 3 rhs= 1.8407\n",
+ "u= 4 rhs= 1.8944\n",
+ "u= 3.8 rhs= 1.8856\n",
+ "rhs= 1.8856 =lhs= 1.89\n",
+ "So,Water velocity must be 3.8 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 53
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example no:5.13,Page no:5.52"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Length of pipe in Exchanger\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "mh_dot=1.25 #[kg/s]\n",
+ "Cpw=4.187*10**3 #Heat capacity of water in [J/kg.K]\n",
+ "lamda=315.0 #[kJ/kg]\n",
+ "Q=mh_dot*lamda #Rate of heat transfer from vapour [kJ/s]\n",
+ "Q=Q*10**3 #[W]\n",
+ "Ts=345.0 #Temperature of condensing vapour[K]\n",
+ "t1=290.0 #Inlet temperature of water [K]\n",
+ "t2=310.0 #Outlet temperature of water[K]\n",
+ "\n",
+ "#Calculation\n",
+ "dT1=Ts-t1 #[K]\n",
+ "dT2=Ts-t2 #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "#Heat removed from vapour = Heat gained\n",
+ "mw_dot=Q/(Cpw*(t2-t1)) #[kg/s]\n",
+ "hi=2.5 #[kW/sq m.K]\n",
+ "hi=hi*1000 #[W/sq m.K]\n",
+ "Do=0.025 #[m]\n",
+ "Di=0.020 #[m]\n",
+ "hio=hi*(Di/Do) #Inside heat transfer cosfficient referred to outside dia in [W/sq m.K]\n",
+ "ho=0.8 #Outside heat tranbsfer coefficient in [kW/sq m.K]\n",
+ "ho=ho*1000.0 #[W/sq m.K]\n",
+ "Uo=1.0/(1.0/ho+1.0/hio) #[W/sq m.K]\n",
+ "#Ud is 80% of Uc\n",
+ "Ud=(80.0/100)*Uo #[W/sq m.K]\n",
+ "Ao=Q/(Ud*dTlm) #[sq m]\n",
+ "L=1.0 #[m]\n",
+ "A=math.pi*Do*L #Outside area of pipe per m length of pipe\n",
+ "len=Ao/A #Total length of piping required.\n",
+ "rho=1000.0 #[kg/m**3]\n",
+ "V=mw_dot/rho #[m**3/s]\n",
+ "v=0.6 #[m/s]\n",
+ "a=V/v #Cross-sectional area for flow pass [sq m]\n",
+ "a1=(math.pi*Di**2.0)/4 #[sq m]\n",
+ "#for single pass on tube side fluid(water)\n",
+ "n=round(a/a1) #No. of tubes per pass\n",
+ "l=len/n #Length of each tube in [m]\n",
+ "#For two passes on water side:\n",
+ "tn=2*n #Total no of tubes\n",
+ "l2=len/tn #Length of each tube in [m]\n",
+ "#For four passes on water side/tube side\n",
+ "tn2=4*n #Total no. of tubes\n",
+ "l3=len/tn2 #Length of each tube in [m]\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"No. of tubes=\",tn2,\"\\nLength of tube=\",round(l3,2),\"m\"\n",
+ "\n",
+ " \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "No. of tubes= 100.0 \n",
+ "Length of tube= 2.48 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 93
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example no:5.14,Page no:5.54"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Dirt factor\n",
+ "\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "\n",
+ "#Properties of crude oil:\n",
+ "Cpc=1.986 #[kJ/(kg.K)]\n",
+ "mu1=2.9*10**-3 #[N.s/sq m]\n",
+ "k1=0.136 #[W/m.K]\n",
+ "rho1=824 #[kg/m**3]\n",
+ "#Properties of bottom product:\n",
+ "Cp2=2.202 #[kJ/kg.K]\n",
+ "rho2=867.0 #[kg/m**3]\n",
+ "mu2=5.2*10**-3 #[N.s/sq m]\n",
+ "k2=0.119 #[W/sq m.K]\n",
+ "mc_dot=135000.0 #Basis: cruid oil flow rate in [kg/h]\n",
+ "m_dot=106000.0 #Bottom product flow rate inn [kg/h]\n",
+ "t1=295.0 #[K]\n",
+ "t2=330.0 #[K]\n",
+ "T1=420.0 #[K]\n",
+ "T2=380.0 #[K]\n",
+ "dT1=T1-t2 #[K]\n",
+ "dT2=T2-t1 #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "Q=mc_dot*Cpc*(t2-t1) #kJ/h\n",
+ "Q=Q*1000.0/3600 #[W]\n",
+ "#Shell side calculations:\n",
+ "Pt=25.0 #[mm]\n",
+ "Pt=Pt/1000 #[m]\n",
+ "B=0.23 #[m]\n",
+ "Do=0.019 #[m]Outside diameter for square pitch \n",
+ "c_dash=Pt-Do # ance in [m]\n",
+ "id=0.6 #[m]\n",
+ "ass=id*c_dash*B/Pt # Cross flow area of shell [sq m]\n",
+ "#since there is a Calculaiton mistake ,we take:\n",
+ "ass=0.0353 \n",
+ "Gs=m_dot/ass #Shell side mass velocity in [kg/sq m.h]\n",
+ "Gs=Gs/3600 #[kg/sq m.s]\n",
+ "De=4*(Pt**2-(math.pi/4)*Do**2)/(math.pi*Do) #[m]\n",
+ "Nre=De*Gs/mu2 #Reynolds number\n",
+ "Npr=Cp2*1000*mu2/k2 #Prandtl number\n",
+ "muw=mu2 #Since mu/muw=1\n",
+ "Nnu=0.36*(Nre**0.55)*Npr**(1.0/3.0)*(mu2/muw)**(0.14) #Nusselt number\n",
+ "ho=Nnu*k2/De #[W/sq m.K]\n",
+ "#Tube side heat transfer coefficient:\n",
+ "n=324.0 #No. of tubes\n",
+ "n_p=324.0/2 #No.of tubes per pass\n",
+ "t=2.1 #Thickness in [mm]\n",
+ "t=t/1000 #[m]\n",
+ "Di=Do-2*t #I.d of tube in [m]\n",
+ "A=(math.pi/4)*(Di**2) #Cross-sectional area of one tube in [sq m]\n",
+ "A_p=n_p*A #Total area for flow per pass in [sq m]\n",
+ "G=mc_dot/A_p #[kg/sq m h]\n",
+ "G=G/3600.0 #[kg/sq m.s]\n",
+ "Nre=Di*G/mu1 #Reynolods number\n",
+ "Npr=42.35 #Prandtl number\n",
+ "Nnu=0.023*(Nre**0.8)*(Npr**0.4) #Nusselt number\n",
+ "hi=Nnu*k1/Di #[W/sq m.K]\n",
+ "hio=hi*Di/Do #[W/sq m.K]\n",
+ "Uo=1.0/(1.0/ho+1.0/hio) #[W/sq m.K]\n",
+ "Uc=Uo\n",
+ "L=4.88 #Length of tube in [m]\n",
+ "Ao=n*math.pi*Do*L #[sq m]\n",
+ "Ud=Q/(Ao*dTlm) #[W/sq m.K]\n",
+ "Rd=(Uc-Ud)/(Uc*Ud) #[m**2.K/W]\n",
+ "\n",
+ "#Result\n",
+ "print\"NOTE:The calculation of line no.36 to calculate 'ass' is wrongly done in Book by printing 0.0353,,..which is wrong\" \n",
+ "print\"\\nRd=%.2e\"%Rd,\"K/W,\\nwhich is less than the provided,so this if installed will not give required temperatures without frequent cleaning\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "NOTE:The calculation of line no.36 to calculate 'ass' is wrongly done in Book by printing 0.0353,,..which is wrong\n",
+ "\n",
+ "Rd=7.34e-04 K/W,\n",
+ "which is less than the provided,so this if installed will not give required temperatures without frequent cleaning\n"
+ ]
+ }
+ ],
+ "prompt_number": 99
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example no:5.15,Page no:5.57"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Heat transfer area\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "#CASE I:\n",
+ "Cp=4*10**3 #[J/kg.K]\n",
+ "t1=295 #[K]\n",
+ "t2=375 #[K]\n",
+ "sp=1.1 #Specific gravity of liquid \n",
+ "v1=1.75*10**-4 #Flow of liquid in [m**3/s]\n",
+ "rho=sp*1000 #[kg/m**3]\n",
+ "m_dot=v1*rho #[kg/s]\n",
+ "Q=m_dot*Cp*(t2-t1) #[W]\n",
+ "T=395 #[K]\n",
+ "dT1=T-t1 #[K]\n",
+ "dT2=T-t2 #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "U1A=Q/dTlm #[W/K]\n",
+ "#CASE-II\n",
+ "v2=3.25*10**-4 #Flow in [m**3/s]\n",
+ "T2=370 #[K]\n",
+ "m_dot=v2*rho #[kg/s]\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "Q=m_dot*Cp*(T2-t1) #[W]\n",
+ "dT1=T-t1 #[K]\n",
+ "dT2=T-T2 #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "U2A=Q/dTlm #[W/K]\n",
+ "#since u is propn to v\n",
+ "#hi =C*v**0.8\n",
+ "\n",
+ "U2_by_U1=U2A/U1A \n",
+ "\n",
+ "ho=3400 #Heat transfer coeff for condensing steam in [W/sq m.K]\n",
+ "C=poly([0])\n",
+ "#Let C=1 and v=v1\n",
+ "#C=1 \n",
+ "v=v1 #=1.75*10**-4 m**3/s\n",
+ "hi=C*v**0.8\n",
+ "U1=1.0/(1.0/ho+1.0/hi) #\n",
+ "#When v=v2\n",
+ "v=v2 \n",
+ "hi=C*v**0.8\n",
+ "U2=1.0/(1.0/ho+1.0/hi) #\n",
+ "#Since U2=1.6U1\n",
+ "#On solving we get:\n",
+ "C=142497\n",
+ "v=v1\n",
+ "hi=C*v**0.8\n",
+ "U1=1.0/(1.0/ho+1.0/hi) #\n",
+ "A=U1A/U1 #Heat transfer area in [sq m]\n",
+ "\n",
+ "#Result\n",
+ "print\"Overall heat transfer coefficient is\",round(U1,1),\"W/m^2.K and\\n\\nHeat transfer area is\",round(A,2),\"m^2\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Overall heat transfer coefficient is 135.1 W/m^2.K and\n",
+ "\n",
+ "Heat transfer area is 9.17 m^2\n"
+ ]
+ }
+ ],
+ "prompt_number": 105
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example no:5.16,Page no:5.59"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Oil Cooler\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "mo_dot=6*10**-2 #[kg/s]\n",
+ "Cpo=2*10**3 #Specific heat of oil in [J/kg.K]\n",
+ "Cpw=4.18*10**3 #Specific heat of water in [J/kg.K]\n",
+ "T1=420 #[K]\n",
+ "T2=320 #[K]\n",
+ "T=290 #[K] Water entering temperature\n",
+ "\n",
+ "#Calculation\n",
+ "Q=mo_dot*Cpo*(T1-T2) #[J/s]=[W]\n",
+ "#Heat given out =Heat gained\n",
+ "t2=Q/(mo_dot*Cpw)+T #[K]\n",
+ "dT1=T1-t2 #[K]\n",
+ "dT2=T2-T #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "hi=1.6*1000 #[W/sq m.K]\n",
+ "ho=3.6*1000 #[W/sq m.K]\n",
+ "U=1.0/(1.0/ho+1.0/hi) #[W/sq m.K]\n",
+ "A=Q/(U*dTlm) #[sq m]\n",
+ "D=0.025 #[m]\n",
+ "L=A/(math.pi*D) #[m]\n",
+ "\n",
+ "#Result\n",
+ "print\"Length of tube required =\",round(L,2),\"m\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Length of tube required = 2.66 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 106
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example no:5.17,Page no:5.60"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Countercurrent flow heat exchanger\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "mb_dot=1.25 #Benzene in [kg/s]\n",
+ "Cpb=1.9*10**3 #For benzene in [J/kg.K]\n",
+ "Cpw=4.187*10**3 #in [J/kg.K]\n",
+ "T1=350 #[K]\n",
+ "T2=300 #[K]\n",
+ "Q=mb_dot*Cpb*(T1-T2) #[W]\n",
+ "t1=290 #[K]\n",
+ "t2=320 #[K]\n",
+ "\n",
+ "#Calculation\n",
+ "dT1=T1-t2 #[K]\n",
+ "dT2=T2-t1 #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "mw_dot=Q/(Cpw*(t2-t1)) #Minimum flow rate of water in [kg/s]\n",
+ "hi=850 #[W/sq m.K]\n",
+ "ho=1700 #[W/sq m.K]\n",
+ "Do=0.025 #[m]\n",
+ "Di=0.022 #[m]\n",
+ "x=(Do-Di) /2 #Thickness in [m]\n",
+ "hio=hi*(Di/Do) #[W/sq m.K]\n",
+ "Dw=(Do-Di)/math.log(Do/Di) #[m]\n",
+ "k=45.0 #[W/m.K]\n",
+ "Uo=1.0/((1.0/ho)+(1.0/hio)+(x/k)*(Do/Dw)) #[W/sq m.K]\n",
+ "Ao=Q/(Uo*dTlm) #[sq m]\n",
+ "L=1.0 #Length in [m]\n",
+ "area=math.pi*Do*L # Outside surface area of tube per i m length \n",
+ "Tl=Ao/area #Total length of tubing required in [m]\n",
+ "\n",
+ "#Result\n",
+ "print\"Total length of tubing required=\",round(Tl),\"m\"\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Total length of tubing required= 163.0 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example no:5.18,Page no:5.61"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Vertical Exchanger\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "m_dot=4500.0 #Benzene condensation rate in [kg/h]\n",
+ "lamda=394.0 #Latent heat of condensation of benzene in [kJ/kg]\n",
+ "Q=m_dot*lamda #[kJ/h]\n",
+ "Q=Q*1000.0/3600 #[W]\n",
+ "Cpw=4.18 #[kJ/kg.K]\n",
+ "t1=295.0 #[K]\n",
+ "t2=300.0 #[K]\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#For water :\n",
+ "mw_dot=Q/(Cpw*1000*(t2-t1)) #[kg/s]\n",
+ "rho=1000.0 #[kg/m**3\n",
+ "V=mw_dot/rho #Volumetric flow rate in [m**3/s]\n",
+ "u=1.05 #[m/s]\n",
+ "A=V/u #Cross-sectional area required in [sq m]\n",
+ "#For tube:\n",
+ "x=1.6 #thickness in [mm]\n",
+ "x=x/1000 #[m]\n",
+ "Do=0.025 #[m]\n",
+ "Di=Do-2*x #[m]\n",
+ "A1=(math.pi*Di**2)/4 #Of one tube [sq m]\n",
+ "n=A/A1 #No. of tubes reuired \n",
+ "n=round(n)\n",
+ "L=2.5 #Length of tube in [m]\n",
+ "Ao=n*math.pi*Do*L #Surface area for heat transfer in [sq m]\n",
+ "Ts=353.0 #Condensing temp of benzene in [K]\n",
+ "T1=295.0 #Inlet temperature in [K]\n",
+ "T2=300.0 #Outlet temperature in [K]\n",
+ "dT1=Ts-T1 #[K]\n",
+ "dT2=Ts-T2 #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "Uo=Q/(Ao*dTlm) #[W/sq mK]\n",
+ "Ud=Uo #[W/sq m.K]\n",
+ "#OVERALL HEAT TRANSFER COEFFCIENT:\n",
+ "#Inside side:\n",
+ "T=(T2+T1)/2 #[K]\n",
+ "hi=1063*((1+0.00293*T)*u**0.8)/(Di**0.2) #[W/sq m.K]\n",
+ "hio=hi*(Di/Do) #[W/sq m.K]\n",
+ "Dw=(Do-Di)/math.log(Do/Di) #[m]\n",
+ "k=45.0 #For tube in [W/(m.)]\n",
+ "#Outside of tube:\n",
+ "mdot_dash=1.25/n #[kg/s]\n",
+ "M=mdot_dash/(math.pi*Do) #[kg/(m.s)]\n",
+ "k=0.15 #[W/(m.K)]\n",
+ "rho=880.0 #[kg/m**3]\n",
+ "mu=0.35*10**-3 #[N.s/sq m]\n",
+ "g=9.81 #[m/s**2] Acceleration due to gravity\n",
+ "hm=(1.47*((4*mdot_dash)/mu)**(-1.0/3.0))/(mu**2/(k**3*rho**2*g))**(1.0/3.0) #[W/sq m.K]\n",
+ "ho=hm #[W/sq m.K]\n",
+ "k=45 #[W/m]\n",
+ "Uo=1.0/(1.0/ho+1.0/hio+(x*Do)/(k*Dw))\n",
+ "#Uo=1/(1/ho+1/hio+(x*Do/(k*Dw))) #Overall heat transfer coefficient in [W/sq m.K]\n",
+ "Uc=Uo #[W/sq m.K]\n",
+ "Rd=(Uc-Ud)/(Uc*Ud) #Maximum allowable sclae resistance in [K/W]\n",
+ "\n",
+ "#Result\n",
+ "print\"Uc(\",round(Uc),\"W/m^2.K) is in excess of Ud(\",round(Ud),\"W/m^2.K),therefore we allow for reasonable scale resistance,\\nRd=%.1e\"%Rd,\"K/W\\n\" \n",
+ "print\"No.of tubes =\",n\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Uc( 994.0 W/m^2.K) is in excess of Ud( 754.0 W/m^2.K),therefore we allow for reasonable scale resistance,\n",
+ "Rd=3.2e-04 K/W\n",
+ "\n",
+ "No.of tubes = 60.0\n"
+ ]
+ }
+ ],
+ "prompt_number": 114
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example no:5.19,Page no:5.64"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Countercurrent Heat Exchanger\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "mw_dot=5 #Water flow rate in [kg/s]\n",
+ "Cpw=4.18 #Heat capacity of water [kJ/kg.K]\n",
+ "t1=303 #[K]\n",
+ "t2=343 #[K]\n",
+ "\n",
+ "#Calculation\n",
+ "Q=mw_dot*Cpw*(t2-t1) #[kJ/s]\n",
+ "Q=Q*1000 #[W]\n",
+ "T1=413 #[K]\n",
+ "T2=373 #[K]\n",
+ "dT1=T1-t2 #[K]\n",
+ "dT2=T2-t1 #[K]\n",
+ "dTlm=dT1 #/[K]\n",
+ "hi=1000 #[W/sq m.K]\n",
+ "ho=2500 #[W/sq m.K]\n",
+ "Rd=1.0/(0.714*1000) #Fouling factor[m**2.K/KW]\n",
+ "U=1.0/(1.0/hi+1.0/ho+Rd) #[W/sq m.K]\n",
+ "A=Q/(U*dTlm) #[sq m]\n",
+ "\n",
+ "#Result\n",
+ "print\"Heat transfer area is\",round(A,2),\"m^2\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Heat transfer area is 33.45 m^2\n"
+ ]
+ }
+ ],
+ "prompt_number": 115
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example no5.20:,Page no:5.65"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Number of tube side pass\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "Cpo=1.9 #Heat capacity for oil[kJ/kg.K]\n",
+ "Cps=1.86 #Heat capacity for steam [kJ/kg.K]\n",
+ "ms_dot=5.2 #Mass flow rate in [kg/s]\n",
+ "T1=403.0 #[K]\n",
+ "T2=383.0 #[K]\n",
+ "\n",
+ "#Calculation\n",
+ "Q=ms_dot*Cps*(T1-T2) #[kJ/s]\n",
+ "Q=Q*1000.0 #[W]\n",
+ "t1=288.0 #[K]\n",
+ "t2=358.0 #[K]\n",
+ "dT2=T1-t2 #[K]\n",
+ "dT1=T2-t1 #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #LMTD in [K]\n",
+ "U=275.0 #Overall heat transfer coeffcient in [W#sq m.K]\n",
+ "Ft=0.97 #LMTD correction factor\n",
+ "A=Q/(U*Ft*dTlm) #[sq m]\n",
+ "\n",
+ "#Result\n",
+ "print\"Heat exchanger surface area is\",round(A,2),\"m^2\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Heat exchanger surface area is 10.84 m^2\n"
+ ]
+ }
+ ],
+ "prompt_number": 117
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example no:5.21,Page no:5.66"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Number of tubes passes\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "mc_dot=3.783 #Cold water flow rate[kg/s]\n",
+ "mh_dot=1.892 #Hot water flow rate [kg/s]\n",
+ "Cpc=4.18 #Sp heat of cold water [kJ/(kg.K)]\n",
+ "T1=367.0 #[K]\n",
+ "t2=328.0 #[K]\n",
+ "t1=311.0 #[K]\n",
+ "Cph=4.18 #Specific heat of hot water [kJ/(kg.K)]\n",
+ "rho=1000.0 #Density [kg/m**3]\n",
+ "D=0.019 #Diameter of tube in [m]\n",
+ "U=1450.0 #Overal heat transfer coefficient in [W/sq m.K] \n",
+ "\n",
+ "#Calculation\n",
+ "T2=T1-mc_dot*Cpc*(t2-t1)/(mh_dot*Cph) #[K]\n",
+ "Q=mc_dot*Cpc*(t2-t1) #[kJ/s]\n",
+ "Q=Q*1000.0 #[W]\n",
+ "#For counterflow heat exchanger\n",
+ "dT1=T1-t2 #[K]\n",
+ "dT2=17.0 #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "lmtd=dTlm #LMTD \n",
+ "Ft=0.88 #LMTD correction factor\n",
+ "A=Q/(U*dTlm) #[sq m]\n",
+ "u=0.366 #Velocity through tubes[ms**-1]\n",
+ "Ai=mc_dot/(rho*u) #Total flow Area in [sq m]\n",
+ "n=Ai/((math.pi/4)*(D**2)) #No. of tubes \n",
+ "L=1.0 #Per m length[m]\n",
+ "sa=math.pi*D*L #S.S per tube per 1 m length\n",
+ "L=A/(n*math.pi*D) #Length of tubes in [m]\n",
+ "\n",
+ "#Result\n",
+ "print\"The length is more than allowable 2.44 m length,so we must use more than one tube\"\n",
+ "#For 2passes on the tube side\n",
+ "A=Q/(U*Ft*lmtd) #[sq m]\n",
+ "L=A/(2*n*math.pi*D) #Length in [m]\n",
+ "print\"This length is within 2.44 m requirement,so the design choice is:\\n\"\n",
+ "print\"--Type of heat exchanger : \\t1-2 Shell and tube heat exchanger\"\n",
+ "print\"--No of tubes per pass=\\t\\t\",round(n)\n",
+ "print\"--Length of tube per pass=\\t\",round(L,2),\"m\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The length is more than allowable 2.44 m length,so we must use more than one tube\n",
+ "This length is within 2.44 m requirement,so the design choice is:\n",
+ "\n",
+ "--Type of heat exchanger : \t1-2 Shell and tube heat exchanger\n",
+ "--No of tubes per pass=\t\t36.0\n",
+ "--Length of tube per pass=\t1.83 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 125
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example no:5.22,Page no:5.67"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Outlet temperature for hot and cold fluids\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "mh_dot=16.67 #Mass flow rate of hot fluid in [kg/s]\n",
+ "mc_dot=20.0 #Mass flow rate of cold fluid in [kg/s]\n",
+ "Cph=3.6 #Sp heat of hot fluid in [kJ/kg.K]\n",
+ "Cph=Cph*1000 #Sp heat of hot fluid in [J/kg.K]\n",
+ "Cpc=4.2 #Sp heat of cold fluid in [kJ/(kg.K)]\n",
+ "Cpc=Cpc*1000 #Sp heat of cold fluid in [J/(kg.K)]\n",
+ "U=400.0 #Overall heat transfer coefficient in [W/sq m.K]\n",
+ "A=100.0 #Surface area in [sq m]\n",
+ "\n",
+ "#Calculation\n",
+ "mCp_h=mh_dot*Cph #[J/s] or [W/K]\n",
+ "mCp_c=mc_dot*Cpc #[J/s] or [W/K]\n",
+ "mCp_small=mCp_h #[W/K]\n",
+ "C=mCp_small/mCp_c #Capacity ratio \n",
+ "ntu=U*A/mCp_small #NTU\n",
+ "T1=973.0 #Hot fluid inlet temperature in [K]\n",
+ "t1=373.0 #Cold fluid inlet temperature in [K]\n",
+ "\n",
+ "#Case 1:Countercurrent flow arrangement\n",
+ "E=(1.0-math.exp(-(1.0-C)*ntu))/(1.0-C*math.exp(-(1.0-C)*ntu)) #Effectiveness\n",
+ "E=round(E,2)\n",
+ "#W=T1-T2/(T1-t1) therefore:\n",
+ "T2=T1-E*(T1-t1) #[K]\n",
+ "print\"For countercurrent flow arrangement:\"\n",
+ "print\"Exit temperature of hot fluid is\",T2,\"K(\",T2-273,\"degree C)\"\n",
+ "t2=mCp_h*(T1-T2)/(mCp_c)+t1 #[From energy balance eqn in ][K]\n",
+ "print\"Exit temperature of cold fluid is\",round(t2),\" K(\",round(t2-273) ,\"degree C)\\n\"\n",
+ "\n",
+ "#Case 2:Parallel flow arrangement\n",
+ "E1=(1-math.exp(-(1.0+C)*ntu))/(1.0+C)\n",
+ "E1=round(E1,3)\n",
+ "T2=T1-E1*(T1-t1) #[K]\n",
+ "t2=mCp_h*(T1-T2)/(mCp_c)+t1 #[From energy balance eqn in ][K]\n",
+ "print\"For Parallel flow arrangement:\"\n",
+ "print\"Exit temperature of Hot water=\",T2,\"K(\",T2-273,\"degree C)\"\n",
+ "print\"Exit temperature of cold water=\",round(t2,1),\"K(\",round(t2-273,1),\"degree C)\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "For countercurrent flow arrangement:\n",
+ "Exit temperature of hot fluid is 721.0 K( 448.0 degree C)\n",
+ "Exit temperature of cold fluid is 553.0 K( 280.0 degree C)\n",
+ "\n",
+ "For Parallel flow arrangement:\n",
+ "Exit temperature of Hot water= 734.8 K( 461.8 degree C)\n",
+ "Exit temperature of cold water= 543.2 K( 270.2 degree C)\n"
+ ]
+ }
+ ],
+ "prompt_number": 143
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example no:5.23,Page no:5.69"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Counter flow concentric heat exchanger\n",
+ "import math\n",
+ "from scipy.optimize import fsolve\n",
+ "\n",
+ "#Variable declaration\n",
+ "Cpo=2131.0 #Sp heat of oil in [J/kg.K]\n",
+ "Cpw=4187.0 #Sp heat of water in [J/kg.K]\n",
+ "mo_dot=0.10 #Oil flow rate in [kg/s]\n",
+ "mw_dot=0.20 #Water flow rate in [kg/s]\n",
+ "U=380.0 #Overall heat transfer coeff in [W/sq m.K]\n",
+ "T1=373.0 #Initial temp of oil [K]\n",
+ "T2=333.0 #Final temperature of oil [K]\n",
+ "t1=303.0 #Water enter temperature in [K]\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "t2=t1+mo_dot*Cpo*(T1-T2)/(mw_dot*Cpw) #[K] \n",
+ "\n",
+ "#1.LMTD method\n",
+ "dT1=T1-t2 #[K]\n",
+ "dT2=T2-t1 #[K]\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "lmtd=dTlm #[K]\n",
+ "Q=mo_dot*Cpo*(T1-T2) #[J/s]\n",
+ "A=Q/(U*dTlm) #[sq m]\n",
+ "Do=0.025 #Inner tubve diameter [m]\n",
+ "L=A/(math.pi*Do) #Length in [m]\n",
+ "\n",
+ "#2.NTU method\n",
+ "mCp_c=mw_dot*Cpw #[W/K]\n",
+ "mCp_h=mo_dot*Cpo #[W/K]\n",
+ "print\"In textbook value of mCp_h is wrongly calculated as 231.1 so we will take this only for calculation\\n\"\n",
+ "mCp_h=231.1 #[W/K]\n",
+ "#mCp_h is smaller\n",
+ "C=mCp_h/mCp_c\n",
+ "E=(T1-T2)/(T1-t1) #Effeciency\n",
+ "#For countercurrent flow\n",
+ "def f(ntu):\n",
+ " x=E-(1.0-math.exp(-(1.0-C)*ntu))/(1.0-C*math.exp(-(1.0-C)*ntu))\n",
+ " return(x)\n",
+ "ntu=fsolve(f,1)\n",
+ "A=ntu*mCp_h/U #[sq m]\n",
+ "A=round(A[0],2)\n",
+ "L1=A/(math.pi*Do) #Length in [m]'\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"From LMTD approach:\\nlength=\",round(L,2),\"m\\n\" \n",
+ "print\"From NTU method:\\nlength=\",round(L1,2),\"m\" \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "In textbook value of mCp_h is wrongly calculated as 231.1 so we will take this only for calculation\n",
+ "\n",
+ "From LMTD approach:\n",
+ "length= 6.61 m\n",
+ "\n",
+ "From NTU method:\n",
+ "length= 7.26 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 166
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example no:5.24,Page no:5.70"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Number of tubes required\n",
+ "import math\n",
+ "from scipy.optimize import fsolve\n",
+ "\n",
+ "#Variable declaration\n",
+ "ho=200.0 #[W/sq m.K]\n",
+ "hi=1500.0 #[W/sq m.K]\n",
+ "Cpw=4.2 #Sp heat of Water in [kJ/(kg.K)]\n",
+ "Cpo=2.1 #Sp heat of Oil in [kJ/(kg.K)]\n",
+ "E=0.8 #Effectiveness\n",
+ "k=46.0 #[W/m.K]\n",
+ "m_dot=0.167 #[kg/s]\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "mCp_oil=2*m_dot*Cpo*1000.0 #For oil [W/K]\n",
+ "#mCp_oil is wrongly calculated as 710.4\n",
+ "mCp_water=m_dot*Cpw*1000.0 #For water [W/K]\n",
+ "#mCp_oil is wrongly calculated as 710.4\n",
+ "#NOTE:The above two values are wrongly calculated in book as 710.4\n",
+ "#so we take here:\n",
+ "mCp_small=710.4 #[W/K]\n",
+ "#Since both mCp_water and mCp_oil are equal ,therefore:\n",
+ "C=1.0 \n",
+ "def f(ntu):\n",
+ " x=E-(ntu/(1+ntu))\n",
+ " return(x)\n",
+ "ntu=fsolve(f,1)\n",
+ "id=20.0 #Internal diameter in [mm]\n",
+ "od=25.0 #External diameter in [mm]\n",
+ "hio=hi*id/od #[W/sq m.K]\n",
+ "Dw=(od-id)/math.log(od/id) #[mm]\n",
+ "Dw=Dw/1000.0 #[m]\n",
+ "x=(od-id)/2.0 #[mm]\n",
+ "x=x/1000.0 #[m]\n",
+ "Do=0.025 #External dia in [m]\n",
+ "L=2.5 #Length of tube in [m]\n",
+ "Uo=1.0/(1.0/ho+1.0/hio+(x/k)*(Dw/Do)) #[W/sq m.K]\n",
+ "A=ntu*mCp_small/Uo #Heat transfer area in [sq m]\n",
+ "n=A/(math.pi*Do*L) #No of tubes\n",
+ "\n",
+ "#Result\n",
+ "print\"No. of tubes required =\",round(n+1)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "No. of tubes required = 86.0\n"
+ ]
+ }
+ ],
+ "prompt_number": 42
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example no:5.25,Page no:5.72"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Parallel and Countercurrent flow\n",
+ "import math\n",
+ "\n",
+ "#Variable declaration\n",
+ "#(i)Parallel flow\n",
+ "T1=633.0 #[K]\n",
+ "t2=303.0 #[K]\n",
+ "T2=573.0 #[K]\n",
+ "t1=400.0 #[K]\n",
+ "\n",
+ "#Calculation\n",
+ "dT1=T1-t2 #[K]\n",
+ "dT2=T2-t1 #[K]\n",
+ "mh_dot=1.2 #[kg/s]\n",
+ "U=500.0 #Overall heat transfer coefficient in [W/sqm.K]\n",
+ "Cp=2083.0 #Sp.heat of oil J/kg.K\n",
+ "dTlm=(dT1-dT2)/math.log(dT1/dT2) #[K]\n",
+ "Q=mh_dot*Cp*(T1-T2) #[W]\n",
+ "A=Q/(U*dTlm) #[sq m]\n",
+ "\n",
+ "#(ii)Counter current flow\n",
+ "dT1=T1-t1 #[K]\n",
+ "dT2=T2-t2 #[K]\n",
+ "dTlm=(dT2-dT1)/math.log(dT2/dT1) #[K]\n",
+ "A1=Q/(U*dTlm) #[sq m]\n",
+ "\n",
+ "#Result\n",
+ "print\"For parallel flow,Area =\",round(A,3),\"m^2\\nFor countercurrent flow,Area=\",round(A1,3),\"m^2\\n\"\n",
+ "print\"For the same terminal temperatures of the fluid ,\\nthe surface area for the counterflow arrangement is less than the required for the parallel flow\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "For parallel flow,Area = 1.234 m^2\n",
+ "For countercurrent flow,Area= 1.195 m^2\n",
+ "\n",
+ "For the same terminal temperatures of the fluid ,\n",
+ "the surface area for the counterflow arrangement is less than the required for the parallel flow\n"
+ ]
+ }
+ ],
+ "prompt_number": 47
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file |