Heat Transfer: Matlab 2D Conduction

  • Thread starter Singed5059
  • Start date
  • #1

Homework Statement



Having trouble with code as seen by the gaps left where it asks me to add things like the coefficient matrices. Any Numerical Conduction matlab wizzes out there?



A long square bar with cross-sectional dimensions of 30 mm x 30 mm has a specied temperature on each side, The temperatures are:

Tbottom = 100 C
Ttop = 150 C
Tleft = 250 C
Tright = 300 C

Assuming isothermal surfaces, write a software program to solve the heat equation to determine the two-dimensional
steady-state spatial temperature distribution within the bar.
Your analysis should use a finite difference discretization of the heat equation in the bar to establish a system of equations:



Homework Equations



AT = C

Must use Gauss-Seidel Method to solve the system of equations



The Attempt at a Solution



clear all
close all

%Specify grid size
Nx = 10;
Ny = 10;

%Specify boundary conditions
Tbottom = 100
Ttop = 150
Tleft = 250
Tright = 300

% initialize coefficient matrix and constant vector with zeros
A = zeros(Nx*Ny);
C = zeros(Nx*Ny,1);

% initial 'guess' for temperature distribution
T(1:Nx*Ny,1) = 100;

% Build coefficient matrix and constant vector

% inner nodes
for n = 2:(Ny-1)
for m = 2:(Nx-1)
i = (n-1)*Nx + m;
DEFINE COEFFICIENT MATRIX ELEMENTS HERE
end
end

% Edge nodes

% bottom
for m = 2:(Nx-1)
6%n = 1
i = m;

DEFINE COEFFICIENT MATRIX AND CONSTANT VECTOR ELEMENTS HERE

end
%top:
for m = 2:(Nx-1)
% n = Ny
i = (Ny-1)*Nx + m;

DEFINE COEFFICIENT MATRIX AND CONSTANT VECTOR ELEMENTS HERE

end
%left:
for n=2:(Ny-1)
%m = 1
i = (n-1)*Nx + 1;

DEFINE COEFFICIENT MATRIX AND CONSTANT VECTOR ELEMENTS HERE

end
%right:
for n=2:(Ny-1)
%m = Nx
i = (n-1)*Nx + Nx;

DEFINE COEFFICIENT MATRIX AND CONSTANT VECTOR ELEMENTS HERE

end
% Corners
%bottom left (i=1):
i=1

DEFINE COEFFICIENT MATRIX AND CONSTANT VECTOR ELEMENTS HERE

%bottom right:
i = Nx

DEFINE COEFFICIENT MATRIX AND CONSTANT VECTOR ELEMENTS HERE

C(Nx) = -(Tbottom + Tright);
%top left:
i = (Ny-1)*Nx + 1;

DEFINE COEFFICIENT MATRIX AND CONSTANT VECTOR ELEMENTS HERE

%top right:
i = Nx*Ny;

DEFINE COEFFICIENT MATRIX AND CONSTANT VECTOR ELEMENTS HERE

%Solve using Gauss-Seidel
residual = 100;
iterations = 0;
while (residual > 0.0001) % The residual criterion is 0.0001 in this example
7% You can test different values
iterations = iterations+1
%Transfer the previously computed temperatures to an array Told
Told = T;
%Update estimate of the temperature distribution

INSERT GAUSS-SEIDEL ITERATION HERE

%compute residual
deltaT = abs(T - Told);
residual = max(deltaT);
end
iterations % report the number of iterations that were executed
%Now transform T into 2-D network so it can be plotted.
delta_x = 0.03/(Nx+1)
delta_y = 0.03/(Ny+1)
for n=1:Ny
for m=1:Nx
i = (n-1)*Nx + m;
T2d(m,n) = T(i);
x(m) = m*delta_x;
y(n) = n*delta_y;
end
end
T2d
surf(x,y,T2d)
figure
contour(x,y,T2d

Homework Statement





Homework Equations





The Attempt at a Solution

 

Answers and Replies

Related Threads on Heat Transfer: Matlab 2D Conduction

  • Last Post
Replies
2
Views
10K
Replies
1
Views
2K
  • Last Post
Replies
0
Views
5K
  • Last Post
Replies
0
Views
4K
  • Last Post
Replies
9
Views
9K
Replies
0
Views
3K
Replies
10
Views
5K
Replies
12
Views
11K
Replies
3
Views
2K
Replies
1
Views
8K
Top