使用 FD 的一维传导稳态传热

计算科学 有限差分 迭代法
2021-12-07 16:04:26

我试图在 Matlab 中解决一维传导稳态传热问题(见下文)。

这是一维模型:

T''[x] == 0, T[0] == 100, T'[100] == 0

分析解决方案:

T[x] = 100 for x: [0, 100]

我很惊讶,正确的解决方案需要如此多的迭代(2,500,000)(这里:每个节点的 T=100)...

对于这样一个使用 FD 的非常简单的 ODE,我们确实需要如此多的迭代吗?要么?

更新:

@ConvexHull:如果使用 k = 2,500,000,则数值解等于解析解。(只需运行它)

Matlab 代码中的一维传导稳态热传递如下所示:

clc
clear all

L=100;
N=1000;
dx=L/(N-1);

T = zeros(N,1);
Tb = 100; % initial temperature

k = 1500000;
T(1,1)=Tb;


for j=1:k
       
    for i=2:N-1
        
        T(i,1)=(T(i+1,1)+T(i-1,1))/2;
        
    end
    
    T(N,1) = T(N-1,1);
    

end

 xx= 0:dx:L;
 plot(xx,T)
 ylim([0 100])
0个回答
没有发现任何回复~