Challenge

Week 5.1 - Mid term project - Solving the steady and unsteady 2D heat conduction problem

Aim:To solve the 2D heat conduction equation by using the point iterative techniques

Bounadry conditions:

Top Boundary = 600 K

Bottom Boundary = 900 K

Left Boundary = 400 K

Right Boundary = 800 K

Methods:

methods for solving implicit equations.

1. Jacobi

2. Gauss-seidel

3. Successive over-relaxation

absolute error criteria is 1e-4 or tolerance(tol)

1.MATLAB CODE for steady state analysis

clear all
close all
clc
% inputs
% number of grid points along x and y axis
nx= 20;
ny=20;
x=linspace(0,1,nx);
dx = x(2)-x(1);
y= linspace(0,1,ny);
z=fliplr(y);
f=1.1;
iter = 1;
t= 300*ones([nx,ny]);
% applying BC
t(1,:)=600;
t(end,:)=900;
t(:,1)=400;
t(:,end)=800;
% creating a copy
told=t;
r1=t;
error= 29;
tol = 1e-4;
for iterative_solver = 1:3;
while(error>tol);
for i=2:nx-1;
for j=2:ny-1;
if(iterative_solver==1);
t(i,j)= jacobi(t,told,i,j);
elseif(iterative_solver==2)
t(i,j)=GS(t,told,i,j);
elseif(iterative_solver==3)
t(i,j)= sor(t,told,i,j,f);
end
end
end
error = max(max(t-told));
told = t;
[u1,v1]=meshgrid(x,z);
% plot
if(iterative_solver==1);
figure(1);
contourf(u1,v1,t);
[C,h]= contourf(u1,v1,t);
colorbar;
colormap(jet);
clabel(C,h);
xlabel('x-axis');
ylabel('y-axis');
title_text=sprintf('jacobi iterantion number=%d',iter);
title(title_text);
pause(0.003);
elseif(iterative_solver==2);
figure(2);
contourf(u1,v1,t);
[C,h]= contourf(u1,v1,t);
colorbar;
colormap(jet);
clabel(C,h);
xlabel('x-axis');
ylabel('y-axis');
title_text=sprintf('GS iterantion number=%d',iter);
title(title_text);
pause(0.005);
else
    figure(3);
[C,h]= contourf(u1,v1,t);
colorbar;
colormap(jet);
clabel(C,h);
xlabel('x-axis');
ylabel('y-axis');
title_text=sprintf('sor iterantion number=%d',iter);
title(title_text);
pause(0.005);
end
iter=iter+1;
end
error=19;
iter=1;
t=r1;
told=t;
end
function out = jacobi(t,told,i,j)
out = 0.25*((told(i,j-1)+told(i,j+1)+told(i-1,j)+told(i+1,j)))
end
function out = GS(t,told,i,j)
out = 0.25*((t(i,j-1)+told(i,j+1)+t(i-1,j)+told(i+1,j)))
end
function out = sor(t,told,i,j,f)
out = (1-f)*told(i,j) + f*(0.25*(t(i,j-1)+told(i,j+1)+t(i-1,j)+told(i+1,j)))
end

1.PLOT OF JCOBI ITERATION

2.PLOT OF Gauss-seidel ITERATION

3.PLOT OF Successive over-relaxation ITERATION

conclusion

Successive over-relaxation iteration is the fastest among all the three iterations.And Jacobi iteration is the slowest among all three iterations.Gaus-Seidel act as in between and perform as moderate number of iterations.

2.MATLABCODE FOR UNSTEADY STATE OR Transient State Analysis

CASE-1 FOR EXPLICIT METHOD

clear all
close all
clc
% inputs
% number of grid points along x and y axis
nx= 10;
ny=10;
x=linspace(0,1,nx);
dx = x(2)-x(1);
y= linspace(0,1,ny);
dy = y(2)-y(1);
c= 1;
% number of steps
nt=200;
% time steps
dt = 0.001;
% CFL number
k= (c*dt)/dx^2;
t= ones([nx,ny])*673;
% applying BC
t(1,:)=600;
t(end,:)=900;
t(:,1)=400;
t(:,end)=800;
told = t;
tic
iter=1
for p=1:nt
for i= 2:nx-1
for j=2:ny-1
t(i,j)= k*(told(i-1,j)+told(i+1,j)+told(i,j+1)+told(i,j-1))+ (1-4*k)*told(i,j);
end
end
error=max(abs(told-t));
told=t;
iter=iter+1;
end
time = toc;
figure(1)
[c,h]=contourf(x,fliplr(y),t);
colorbar;
colormap(jet);
clabel(c,h);
title(sprintf('2D unsteady heat conduction (Explicit method) n iteration number=%d; t computational time:%0.4f',iter,time));
xlabel('xx');
ylabel('yy');

4.PLOT OF EXPLICIT METHOD OF UNSTEADY ANALYSIS

CASE-2 FOR IMPLICIT METHOD

clear all
close all
clc
% inputs
% number of grid points along x and y axis
nx= 20;
ny=20;
x=linspace(0,1,nx);
dx = x(2)-x(1);
y= linspace(0,1,ny);
dy = y(2)-y(1);
f= 1.2;
t= ones(nx,ny)*298;
% applying BC
t(1,:)=600;
t(end,:)=900;
t(:,1)=400;
t(:,end)=800;
alpha= 1.4;
dt=0.001;
% defining k1 and k2
k1=alpha*(dt/dx^2);
k2=alpha*(dt/dy^2);
told=t;
t_initial=t;
for iterartive_solver = 1:3
nt=1:1400;
error=9e9;
tol=1;
tic;
% iterartive_solver==1:3;
iter=1;
while error>tol
for i=2:nx-1
for j=2:ny-1
term1= 1/(1+2*k1+2*k2);
term2= k1*term1;
term3= k2*term1;
if iterartive_solver==1;
t(i,j)= ((told(i,j)*term1)+(term2*(t(i-1,j)+t(i+1,j))+(term3*(t(i,j-1)+t(i,j+1)))));
elseif iterartive_solver==2;
t(i,j)= ((told(i,j)*term1)+(term2*(t(i-1,j)+told(i+1,j))+(term3*(t(i,j-1)+told(i,j+1)))));
elseif iterartive_solver==3;
t(i,j)= (1-f)*told(i,j)+ f*(((told(i,j)*term1)+(term2*(t(i-1,j)+told(i+1,j))+(term3*(t(i,j-...
1)+told(i,j+1))))));
end
end
error_n=max(abs(told-t));
error=max(error_n);
told=t;
iter=iter+1;
end
end
time=toc;
%plot
if iterartive_solver==1;
figure(1)
contourf(x,fliplr(y),t);
[C,h]=contourf(x,fliplr(y),t);
colorbar;
colormap(jet);
clabel(C,h);
text = sprintf('JACOBI Method n iteration number = %d; t computational time: %0.4f',iter ,time);
title(text);
told=t_initial;
t=t_initial;
elseif iterartive_solver==2;
figure(2)
[c,h]=contourf(x,fliplr(y),t);
colorbar;
colormap(jet);
clabel(c,h);
title(sprintf('GS Method n iteration number = %d; t computational time: %0.4f',iter,time));
told=t_initial;
t=t_initial;
else
figure(3)
[c,h]=contourf(x,fliplr(y),t);
colorbar;
colormap(jet);
clabel(c,h);
title(sprintf('SOR Method n iteration number = %d; t computational time: %0.4f',iter,time));
told=t_initial;
t=t_initial;
end
end

5.PLOT OF IMPLICIT JACOBI ITERATION

6.PLOT OF IMPLICIT Gauss-seidel ITERATION

7.PLOT OF IMPLICIT Successive over-relaxation ITERATION

CONCLUSION

Implicit method will take hgher number of iteration as compared to explicit methds.And Successive over-relaxation iteration is the fastest and Jacobi itration is slowest and Gauss-Seidel method is act as an intermediate species among all.

Final conclusion

1Unsteady state iterative method will take more number of iteration as compared to Steady state methods.

2.Implict method is more accurate as compared to explicit method.

Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.