有限差分法稳定性

计算科学 有限差分 稳定
2021-11-29 13:54:05

扩散方程为:

Tt=α(2Tx2)

一个显式的有限差分方法可以用来解决这个问题,在时间上向前和在空间上的中心差异。在节点 i 处近似扩散方程,得到,

Tin+1TinΔt=αTi+1n2Tin+Ti1nΔx2

这使

Tin+1=Tin(1ω)+ω(0.5Ti+1n+0.5Ti1n)

在哪里ω=2αΔtΔx2

该书指出,对于稳定条件,右侧项的系数必须为正,这意味着

Δt<Δx22α

我的问题是,为什么右侧项的系数对稳定性应该是正数?

4个回答

分析问题:

你所期待的是积极的扩散:你想要Ti随着时间的流逝最终达到的值在您的域中传播Ti(t)=cte

如果α是一个负数,你会得到所谓的负扩散:你会得到完全相反的结果,即梯度会随着时间的推移变得更大。

的标志α因此决定了您的分析解决方案的行为。

α<0案件 :

理想情况下,数值解应该与解析解具有相同的行为。但是,有限差分理论假设解是平滑的:如果解的特征梯度太尖锐,那么您的数值方法将无法处理它们。

我们刚才说过,在这种情况下α<0,梯度随时间变大。模拟产生的误差不会像正扩散那样被抹掉α>0,而是会被放大。出于这个原因,如果 α<0,你肯定知道你的模拟会在某个时候崩溃。

α>0案件 :

如果α>0,但是你并不安全。如果您的时间步长太大,您的模拟也将不稳定。稳定性条件Δt<Δx22α表示您的数值方法是否有机会稳定。请注意,这是您的数值方法稳定的必要条件,而不是充分条件。然而在实践中,它被证明是一个非常强大的工具。

此外,扩散项的网格傅里叶数可以定义为αΔtΔx2. 在实践中,将稳定性条件写成网格傅里叶更为方便 αΔtΔx2<12

这样你就可以看到你的模拟参数Δt,Δxα都在左侧并且12是不能超过模拟有机会稳定的临界值。在实践中,价值α由你的问题给出,你会选择Δx已经。因此,Δt是您可以使用的唯一参数,以便观察扩散的稳定性条件。

临界网格傅里叶数的值取决于您选择的空间和时间离散化。有时积分器比其他积分器具有更宽的稳定区域,因此它们将允许更大的网格傅立叶数。实际上,这意味着您可以选择更大的时间步长,同时仍然拥有稳定的数值方法。

总结一下:

  • 如果α<0,您将有负扩散,并且您的模拟在任何情况下都将不稳定。
  • 如果α>0,您的模拟可能是稳定的......也可能不是!
  • 扩散的稳定性条件(和网格傅里叶数)帮助您选择时间步长Δt使您的数值方法稳定。

我建议您进行虚拟模拟并使用参数来看看会发生什么。无需浪费时间进行编程:电子表格软件足以满足您的特定情况。


编辑:部分重写我的答案以使其更清晰

为了稳定,您需要ω1,如此处所述如果你的扩散性α是积极的(应该基于物理基础), ω也应该是积极的,因为ΔxΔt根据定义,是正数。

这是用于解释偏微分方程稳定性理论的典型例子之一,因此在教科书中有很多很好的解释。我最喜欢的是LeVeque的第 8 章。

给出的其他答案包含一些不正确的术语和一些不直接相关的信息。最重要的是,他们以不正确的方式使用术语CFL 条件来自 LeVeque 的文本,p。217、CFL条件为:

只有当它的数值依赖域包含 PDE 的真实依赖域时,数值方法才能收敛,至少在极限为ΔtΔx归零。

在热方程的上下文中,这仅意味着ΔtΔx1+ϵ对于一些ϵ>0. 当然,这个条件对于稳定性来说是不够的;CFL 条件只是必要的。

一个“挥手”的论点可能可以解释时间积分方案的稳定性需要一个正系数。我不知道那是什么。

通过冯诺依曼稳定性分析可以严格推导出相同的条件。冯诺依曼稳定性分析这个链接检查了几个不同的方案。