Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

clear all

close all
clc
nx=input('number of cell as x-dirction(nx)=');
ny=input('number of cell as y-dirction(ny)=');
x=input('explicit let x=1 or implicit let x=0');
k=input('k=');
k=1.45;
Su=-50;
H=1.8;
L=1.2;
dx=L/nx;%grid dimension at x-dirction%
dy=H/ny;%grid dimension at y-dirction%
xp(1)=0;%intial distance at x-dirction%
xp(nx+2)=L;%final distance at x-dirction%
yp(1)=0;%intial distance at y-dirction%
yp(ny+2)=H;%final distance at y-dirction%
for i=2:nx+1
xp(i)=(dx/2)+(i-2)*dx;
end
for j=2:ny+1
yp(j)=(dy/2)+(j-2)*dy;
end
for i=2:nx+1
for j=2:ny+1
ae(i,j)=k*dy/(xp(i+1)-xp(i));%coeffecient of stiff matrix at East-diraction%
aw(i,j)=k*dy/(xp(i)-xp(i-1));%coeffecient of stiff matrix at West-diraction%
an(i,j)=k*dx/(yp(j+1)-yp(j));%coeffecient of stiff matrix at North-diraction%
as(i,j)=k*dx/(yp(j)-yp(j-1));%coeffecient of stiff matrix at South-diraction%
ap(i,j)=ae(i,j)+aw(i,j)+an(i,j)+as(i,j);%coeffecient of stiff matrix at point%
end
end
if x==1
ae(:,nx+1)=k*dy/L-xp(nx+1);
%explicit%
else if x==0
ae(:,nx+1)=0;%implicit%
end
end
T(2:nx+1,2:ny+1)=5;%inital Temperature value%
T(ny+2,:)=20;%Temperature at all nodes in the boundary 1%
T(:,nx+2)=T(:,nx+1);%Temperature at all nodes in the boundary 2%
T(1,:)=60;%Temperature at all nodes in the boundary 3%
T(:,1)=-100;%Temperature at all nodes in the boundary 4%
E=1;%inital Erorr value%
Told=10;%Old Temperature value%
t1=cputime;%time require before While Loop%
m=0;
while E>0.001
m=m+1
for i=2:nx+1
for j=2:ny+1
T(i,j)=[ae(i,j)*T(i,j+1)+aw(i,j)*T(i,j-1)+an(i,j)*T(i+1,j)+as(i,j)*T(i-1,j)+Su]/ap(i,j)
T(:,nx+2)=T(:,nx+1)
end
end
E=(T-Told)./T;
E=sum(sum(E))
Told=T;
end
m
t2=cputime;%time require after While Loop%
z=t2-t1%time require process%
T1=flipud(T);
contourf(T1,150), hold on, shading flat
[c,h]=contour(T,'k-'); clabel(c,h), colorbar
title('T. contours')
xlabel('X_ nodes')
ylabel('Y_ nodes')

You might also like