Result diverging from explicit finite difference method

Trying to solve a heat transfer problem by using matlab to simulate following equations and solving for temperature T(i+1)
1.JPG
2.JPG
3.JPG
4.JPG
5.JPG
6.JPG
7.JPG
8.JPG
9.JPG
Like i said, im solving every equation for T(x+1) and following code is what i come up with:
the criteria for it to NOT diverge is i=225 steps or more. Is it something in the code thats wrong that im missing? Any of the temperature shouldnt finish above 45 deg but right now i get the answe like 1.5*10^72.
function [T_1,T_2,T_3,T_4,T_5,T_6,T_7,T_8,T_9] = cengel5112
T_1(1)=-3;
T_2(1)=-3;
T_3(1)=-3;
T_4(1)=-3;
T_5(1)=-3;
T_6(1)=-3;
T_7(1)=-3;
T_8(1)=-3;
T_9(1)=-3;
for i=1:1:226
T_1(i+1)=((-21.42-7.14*T_1(i)+(0.1*(T_4(i)-T_1(i)))+(2.5*(T_2(i)-T_1(i))))/3.205)+T_1(i);
T_2(i+1)=(((2.5*(T_1(i)-T_2(i)))+(2.5*(T_3(i)-T_2(i)))+(0.2*(T_5(i)-T_2(i))))/6.41)+T_2(i);
T_3(i+1)=((-0.357-0.12*T_3(i)+0.1*(T_6(i)-T_3(i))+2.5*(T_2(i)-T_3(i)))/3.205)+T_3(i);
T_4(i+1)=((-0.21-0.07*T_4(i)+0.1*(T_1(i)-T_4(i))+0.1*(T_7(i)-T_4(i))+5*(T_5(i)-T_4(i)))/6.41)+T_4(i);
T_5(i+1)=((5*(T_4(i)-T_5(i))+5*(T_6(i)-T_5(i))+0.2*(T_8(i)-T_5(i))+0.2*(T_2(i)-T_5(i)))/12.82)+T_5(i);
T_6(i+1)=((-0.71-0.238*T_6(i)+0.1*(T_3(i)-T_6(i))+0.1*(T_9(i)-T_6(i))+5*(T_5(i)-T_6(i)))/6.41)+T_6(i);
T_7(i+1)=((14.773-0.0357*T_7(i)+0.1*(T_4(i)-T_7(i))+0.1*(T_8(i)-T_7(i))+5*(T_5(i)-T_6(i)))/3.205)+T_7(i);
T_8(i+1)=((2.5*(T_7(i)-T_8(i))+2.5*(T_9(i)-T_8(i))+0.2*(T_5(i)-T_8(i)))/6.41)+T_8(i);
T_9(i+1)=((-0.357-0.119*T_9(i)+0.1*(T_6(i)-T_9(i))+2.5*(T_8(i)-T_9(i)))/3.205)+T_9(i);
%t_1=T_1(i+1);
%t_7=T_7(i+1);
%plot(4*i,t_1,'o'); hold on
%plot(4*i,t_7,'o'); hold on
end

4 Comments

We have to see the undiscretized form of your equations (i.e. the underlying PDE).
I suspect the problem arises because explicit methods need a restriction on the time step size in order to be stable (dt/(dx)^2 <= 0.5).
Please don't add answers just ot make a comment.
This is the complete information. I cant see where it is going wrong!
John D'Errico what do you mean? Torsten was asking for the complete problem for him to help me!
And I moved it into a comment. You did not answer your question. You merely added information to your question.

Sign in to comment.

Answers (0)

Categories

Find more on Mathematics in Help Center and File Exchange

Asked:

on 3 Feb 2019

Commented:

on 9 Feb 2019

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!