Example 13.1-1 Heat Transfer Coefficients from Experimental Data
See Figure 13.1-2 in BS&L
> restart; > Q:=w*Cp*(Tb2-Tb1); Eq. 13.1-10 from an overall energy balance on the heated section of a pipe. > A:=Pi*Dia*L; The contact area for heat transfer at the inside of the pipe. > Q1:= h1*A*(T0-Tb1); Defining the heat transfer coefficient based on the temperature difference at the entrance to the heated section of the pipe. > h1:=solve(Q1=Q,h1):h1:=unapply(h1,Tb2,L); This agrees with eq. 13.1-12. Note that h1 is a function of the outlet fluid temperature and the length of the heated section of the pipe. These are the variables in the table at the top of page 395. > Qa:=ha*A*(T0-(Tb1+Tb2)/2); Defining the heat transfer coefficient based on the average temperature difference at the two ends of the heated section. > ha:=solve(Qa=Q,ha):ha:=unapply(ha,Tb2,L); This agrees with eq. 13.1-13 > Qln:=hln*A*((T0-Tb1)-(T0-Tb2))/log((T0-Tb1)/(T0-Tb2)); Defining the heat transfer coefficient based on the log mean temperature difference at the two ends of the heated section. > hln:=solve(Qln=Q,hln):hln:=unapply(hln,Tb2,L); This agrees with eq. 13.1-14, but only after using the definition of log mean. > T0:=212*F;Cp:=0.237*Btu/(lbm*F);Tb1:=200*F;Dia:=0.5/12*ft; w:=3*lbm/hr; Data that is fixed in all the experiments. > Lin := vector([1.5,3,6,12,24,48,96]); define L in inches > Lft:=map(x->x*ft/12,Lin); The lengths in ft with units > LD := map(x->x/Dia,Lft); define L/D > Tbs:=vector([201.4, 202.2, 203.1, 204.6, 206.6, 209.0, 211]): Tbs:=map(x->x*F,Tbs); define Tbs in F > h1s :=array(1..7): havs := array(1..7): hlns:=array(1..7): > for i to 7 do h1s[i]:=evalf(h1(Tbs[i],Lft[i])); havs[i]:=evalf(ha(Tbs[i],Lft[i])):hlns[i]:=evalf(hln(Tbs[i], Lft[i])):od: h1s, havs and hlns are vectors that contain the values for h1, ha and hln from the seven experiments. > print(h1s); These agree with the values shown in Figure 13.1-3 for the units used there. > print(havs); > print(hlns); Note that hav and hln are very close for L/D less than 24, but vary considerably when L/D becomes greater than that. Now we will look at finding the local heat transfer coefficients. > Q:=z->w*Cp*(Tb(z)-Tb1); Heat absorbed by fluid from the entrance of the heated region to an arbitrary point z. > de:=diff(Q(z),z)=hloc(z)*Pi*Dia*(T0-Tb(z)); Energy balance leading to eq. 13.1-16. > wCetc:=w*Cp/(Pi*Dia); > hloc:=z->-wCetc*diff(log(T0-Tb(z)),z); Inspection of eq. 13.1-16 shows this should satisfiy the DE. > de; It does. Now we need a function that approximates Tb(z) based on the experimental data giving Tb vs z. > lndTs:=map(x->log((T0-x)/F),Tbs); A vector of values of log(T0-Tb(z)). Now we need a function that agrees with the values in this vector. Maple is a very powerful tool to perform a least-square fit on the data. You can specify the equation in any form (the power does not have to be integer) This makes Maple much more powerful than polyfit in Matlab > lndTl := convert(lndTs,list); Ll := convert(Lft,list); Before we can proceed, it should be noted that fit[leastsquare] only accepts variables which have the data type "list." Both v1 and L were arrays and had to be converted to lists > with(stats): include the proper package > s:=fit[leastsquare[[z,y],y=m*z+b,{m,b}]]([Ll,lndTl]); We could try a linear fit of log(dT) vs z. > assign(s);ylin:=unapply(y,z); > -evalf(wCetc*diff(ylin(z),z)); That would give a constant value for hloc. > y:='y';s:=fit[leastsquare[[z,y],y=a*z^2+b*z+c, {a,b,c}]]([Ll,lndTl]); Trying a quadratic fit. > assign(s);yquad:=unapply(y,z);hlocq:=-evalf(wCetc* diff(yquad(z),z)); > hlocq:=unapply(hlocq,z); > hlocq(ft/8.);hlocq(8.*ft); Values at L = 3" and 96" > y:='y';s:=fit[leastsquare[[z,y],y=a*z^3+b*z^2+c*z+d, {a,b,c,d}]]([Ll,lndTl]); Finally, we will try a cubic. > assign(s);ycubic:=unapply(y,z);hlocc:= -evalf(wCetc*diff(ycubic(z),z));hlocc:=unapply(hlocc,z); > hlocc(ft/8.); hlocc(ft); hlocc(8*ft); The cubic approximation gives reasonably close answers to those found graphically in Fig. 13.1-3 > Tab:=array(1...7,1...5); > for i to 7 do > Tab[i,1]:=evalf(Lft[i]):Tab[i,2]:=ylin(Lft[i]): Tab[i,3]:=yquad(Lft[i]):Tab[i,4]:=ycubic(Lft[i]): Tab[i,5]:=lndTs[i]:od: > print(Tab); Predicted and Experimental values of log(T0-Tb(L)) L Linear Quadratic Cubic Experimental