使用 Matlab 求解 PDE(具有不同的初始条件)

计算科学 matlab pde
2021-12-06 06:09:27

我想使用 Matlab 解决一维热传导 PDE,它看起来像

ρcpTt=z(λTz),
其中初始条件是 T1(开尔文),最终条件是 T2(也是开尔文),T1 的差异从 t=0 小时到 t=24 小时(t 是时间)取不同的值,并且 T2 是恒定的(比如说200K)

我检查了Matlab 中的pdepe工具箱,我觉得我想实现的条件可能无法通过工具箱实现。

谁能建议一种方法来创建一个循环,通过该循环 T1 可以从数组中读取值,以便可以创建一个昼夜图?

1个回答

这个问题可以使用pdepeMatlab 中的求解器来解决。

如果我理解得很好,T1 和 T2 代表空间域的左右边界条件:

T(z=0,t)=T1(t)T(z=L,t)=Const.=T2

“初始”和“最终”术语通常与时域有关。

例如,初始(即在时间 t=0)温度场可以是均匀的zT(z,t=0)=Const.(使用icfun函数指定)。

而且时间上没有最终条件。

空间边界条件由bcfun函数指定,它返回pq左右边界的系数(参见 matlab 文档中的 eq. 1-6)。这些系数可以是时间的函数。在您的情况下,它将类似于:

function [pl, ql, pr, qr] = bcfun(xl, ul, xr, ur, t)
    pl = T1( t );
    pr = T2;
    ql = 0;
    qr = 0;

function T = T1( t )
    T = ...