傅里叶空间中的 3D 扩散方程

计算科学 matlab 有限差分 数值分析 扩散
2021-12-12 03:06:28

我正在求解 3D 扩散方程

ut=k(uxx+uyy+uzz)

在 MATLAB 中使用傅里叶技术。我假设一个 3D 傅里叶展开(eipx,eimy,eimz)的解决方案。

物理空间:u(x,y,z,t). 傅立叶空间: c(m,n,p,t).

替换和分化导致:

c(m,n,p)N+1c(m,n,p)N=kΔT2(p2+m2+n2)(c(m,n,p)N+1+c(m,n,p)N)
应用 Crank-Nicolson 方案后。

我正在使用fftn()ifftn()及时转发我的系数并将它们带回物理空间。然而,我实现了从初始条件到零的普遍衰减,并且在任何方向上都没有热通量,一直。典型时间步长:0.00001. 典型的k=0.005

是我的应用问题fftn()还是我的有限差分的稳定性?

编辑: 我已经采取了初始条件50sin(2x). 我只是取了那个初始条件的边界,并将它们作为所有时间的边界条件。我猜不好?

编辑 2:我忘记了 rhs 上的波数平方。谢谢詹姆斯!

0个回答
没有发现任何回复~