You are on page 1of 14

Problem 7: Construction of Heislers Charts for Infinite Plane Wall

Heat Transfer Assignment

1. Abstract 2. Contents

b. Equations and Mathematics involved

3. References

Conduction is heat transfer by means of molecular agitation within a material without any motion of the material as a whole. If one end of a metal rod is at a higher temperature, then energy will be transferred down the rod toward the colder end because the higher speed particles will collide with the slower ones with a net transfer of energy to the slower particles. For heat transfer between two plane surfaces, such as heat loss through the wall of a house, the rate of conduction heat transfer is given by:

1. Abstract

Thermal conductivity of the barrier.

Q Heat transferred in time t. A Cross sectional area d Thickness of the barrier.

( ) =

Convection is heat transfer by mass motion of a fluid such as air or water when the heated fluid is caused to move away from the source of heat, carrying energy with it. Convection above a hot surface occurs because hot air expands, becomes less dense, and rises. Hot water is likewise less dense than cold water and rises, causing convection currents which transport energy. Convection is described by Newton's law of cooling. The rate of convective heat transfer is given by:

= = () = ()

h Convection heat transfer coefficient. A Surface Area

An infinite body is one in which one dimension is fixed, and the body extends infinitely in the other two directions. For an infinite plane wall, the thickness is finite, and the other two dimensions are of infinite length.
3

The problem presented to us was the construction of Heislers Charts for an infinite plane wall of thickness 2L. Heislers Charts are generally used in applications where the Biot Number exceeds 0.1, beyond which a bodys temperature cannot be assumed to be spatially independent. Thus the Lumped Parameter Model cannot be used in such applications. There are three Heislers Charts to concern oneself with: i. ii. iii. The first chart allows us to find the mid-plane temperature of the plane wall. The second chart permits us to find the temperature at any position x. (x<L) The third chart lets us calculate the heat flow through the plane wall.

2.a. Introduction to the Problem

Thus, the construction of these charts will help us glean knowledge of the bodys core temperature, the temperature at any interior point, and the overall heat flow through the body.

2.b. Equations and Mathematics involved

i. For a plane wall with symmetrical convection conditions and constant properties, the heat equation and initial/boundary conditions are:

ii.

2 = a x 2 (0 < x < , > 0) ( x,0) = 0 (0 x ) ( x, ) =0 x x =0 ( x, ) h ( , ) = x x=

iii. Exact Solution (with the separation of variables):

Fo = a

, =

, Bi =

, Cn =

(The eigen value n is positive roots of the transcendental equation)

The One-Term Approximation of Analytical Solution of Regular Regime of Transient Conduction(when Fo>0.2) : The infinite series solutions for center temperatures could be approximated within 1 percent with a single term:

Where

And Total Heat loss through the following relation:

Construction of the charts was done by implementing the above mentioned mathematical relations in MATLAB R2011a, using a Graphical User Interface. The user enters the required range of values for the Biot Number, and then clicks on any of three buttons to plot the corresponding charts. Precautions have been taken to allow the user to enter only numerical values into the text fields. A data cursor was also implemented into the GUI so that the user can have ease of access while trying to find out the Y-value for a set X-value, or vice versa. The user only has to click on the point he wishes to calculate the value for and the program will show the co-ordinates of that point. File-handling has also been implemented into the program. The values calculated for the input Biot Numbers are tabulated and stored in the files Chart1.txt,Chart2.txt and Chart3.txt. These files correspond to the three charts plotted in the program. Also incorporated are buttons to clear text(clears text fields and data) and clear graph. The program code is printed below:
function varargout = ht(varargin) % HT MATLAB code for ht.fig % HT, by itself, creates a new HT or raises the existing % singleton*. % % H = HT returns the handle to a new HT or the handle to % the existing singleton*. % % HT('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in HT.M with the given input arguments. % % HT('Property','Value',...) creates a new HT or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before ht_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to ht_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help ht % Last Modified by GUIDE v2.5 21-Mar-2012 21:33:11

2.c. Programming Specifics

% Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @ht_OpeningFcn, ... 'gui_OutputFcn', @ht_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT

% --- Executes just before ht is made visible. function ht_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to ht (see VARARGIN) % Choose default command line output for ht handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes ht wait for user response (see UIRESUME) % uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line. function varargout = ht_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output;

function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit1 as text % str2double(get(hObject,'String')) returns contents of edit1 as a double global edit1; edit1=str2double(get(hObject,'String')); if isnan(edit1) errordlg('You must enter a numeric value','Bad Input','modal') uicontrol(hObject) return end

% --- Executes during object creation, after setting all properties. function edit1_CreateFcn(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function edit2_Callback(hObject, eventdata, handles) % hObject handle to edit2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit2 as text % str2double(get(hObject,'String')) returns contents of edit2 as a double global edit2; edit2=str2double(get(hObject,'String')); if isnan(edit2) errordlg('You must enter a numeric value','Bad Input','modal') uicontrol(hObject) return end

% --- Executes during object creation, after setting all properties. function edit2_CreateFcn(hObject, eventdata, handles) % hObject handle to edit2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function edit3_Callback(hObject, eventdata, handles) % hObject handle to edit3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit3 as text % str2double(get(hObject,'String')) returns contents of edit3 as a double global edit3; edit3=str2double(get(hObject,'String')); if isnan(edit3) errordlg('You must enter a numeric value','Bad Input','modal') uicontrol(hObject) return end

% --- Executes during object creation, after setting all properties. function edit3_CreateFcn(hObject, eventdata, handles) % hObject handle to edit3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Bi=0.1:0.1:1; global edit1 edit2 edit3 Bi Fo ;

10

Bi=edit1:edit3:edit2; Fo=0.2:1:80; cla ab=zeros(0,10); file_1=fopen('HT_files\chart1.txt','w'); fprintf(file_1,' Biot Number \tThetao/Thetai\r\n'); for i=1:length(Bi) f=@(a)a.*tan(a)-Bi(i); ab(i)=fzero(f,0,10); Cb(i)=4*(sin (ab(i)))/(2*ab(i) + sin(2*ab(i))); thetacenter=Cb(i)*exp(-ab(i)^2 * Fo); fprintf(file_1,'%d \t%d\r\n',Bi(i),thetacenter); semilogx(Fo,thetacenter); hold on grid on title('Temperature-Time History at Mid Plane'); xlabel('Fo'); ylabel('\Thetao/\Thetai'); if length(Bi)>1000 h = waitbar(0,'Please wait...'); steps = 1; for step = 1:steps % computations take place here waitbar(step / steps) end close(h) end end datacursormode on; axis([0 100 0 1]);

% --- Executes on button press in pushbutton2. function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) cla global edit1 edit2 edit3 Bi; Bi=edit1:edit3:edit2; Fo=0.2:1:80; xbyL=0.2:0.2:1; ab=zeros(0,10); file_2=fopen('HT_files\chart2.txt','w'); fprintf(file_2,' Biot Number \tThetax\r\n'); for i=1:length(Bi) f=@(a)a*tan(a)-Bi(i); Ab(i)=fzero(f,0,10); end for i=1:length(xbyL) thetax=cos(Ab.*xbyL(i)); fprintf(file_2,'%d \t%d\r\n',Bi(i),thetax(i)); semilogx(Bi,thetax) hold on

11

grid on title('Temperature-Time History at Position X'); xlabel('Bi'); ylabel('\Theta/\Thetao'); if length(Bi)>1000 h = waitbar(0,'Please wait...'); steps = 1; for step = 1:steps % computations take place here waitbar(step / steps) end close(h) end end datacursormode on; axis ([0 10 0 1]);

% --- Executes on button press in pushbutton3. function pushbutton3_Callback(hObject, eventdata, handles) % hObject handle to pushbutton3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) cla global edit1 edit2 edit3 Bi Fo ; Bi=edit1:edit3:edit2; Fo=0.2:1:80; cla ab=zeros(0,10); file_3=fopen('HT_files\chart3.txt','w'); fprintf(file_3,' Biot Number \tQ/Qo\r\n'); for i=1:length(Bi) f=@(a)a.*tan(a)-Bi(i); ab(i)=fzero(f,0,10); Cb(i)=4*(sin (ab(i)))/(2*ab(i) + sin(2*ab(i))); thetacenter=Cb(i)*exp(-ab(i)^2 * Fo); Q0=1-(thetacenter/ab(i))*sin(ab(i)); fprintf(file_3,'%d \t%d\r\n',Bi(i),Q0); semilogx(Bi(i)^2*Fo,Q0); hold on grid on title('Heat Flow'); xlabel('Bi^2*Fo'); ylabel('Q/Q0'); if length(Bi)>1000 h = waitbar(0,'Please wait...'); steps = 1; for step = 1:steps % computations take place here waitbar(step / steps) end close(h) end end datacursormode on; axis([0 10 0 1]);

12

% --- Executes on button press in pushbutton4. function pushbutton4_Callback(hObject, eventdata, handles) % hObject handle to pushbutton4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) cla

% --- Executes on button press in pushbutton10. function pushbutton10_Callback(hObject, eventdata, handles) % hObject handle to pushbutton10 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global edit1 edit2 edit3; set(handles.edit1,'String',''); edit1=0; set(handles.edit2,'String',''); edit2=0; set(handles.edit3,'String',''); edit3=0;

13

The results proved fairly satisfactory, with all three charts being plotted to a fairly accurate level. An issue that evaded us was the plotting of the off-center temperature chart. It is perfectly accurate till a Biot Number of 4.2 is reached, and beyond that, the chart seems to go haywire. We are still trying to iron out the wrinkles in this program, and hope to eliminate this issue soon.

2.d. Results and Issues Faced 2.e. Conclusions/ Comments 3. References

We can reach the conclusion that even thought the relations used were only the first term approximations of the infinite series solution, the results obtained were surprisingly accurate. Literature claims that the error due to approximation is only about 1 percent, which is well within acceptable limits.

[1] JP Holman, Souvik Bhattacharya, Heat Transfer, 10th edition, Pg 620-624 [2] Heisler charts, Wikipedia [online] www.wikipedia.com

14