- #1

Singed5059

- 1

- 0

## 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