求解非线性抛物 PDE 的 Crank-Nicolson 方法

计算科学 pde 有限差分 抛物线pde
2021-12-17 00:17:53

Crank-Nicolson 方法是否适用于求解非线性抛物线 PDE 系统,例如u/taΔu+u4=0?

我试图应用这种方法来解决这样的系统,但解决方案是振荡的(可能是因为时间导数的系数值很小)并且隐式欧拉方法计算了一个正确的解决方案。

2个回答

这种现象通常被称为“响铃”并且困扰着那些不是L-稳定的。这可以从 Hairer & Wanner (1999) “通过 Radau 方法求解的刚性微分方程”的这个激励示例中看出。考虑方程

y˙=50(ycost)

并应用时间步长接近稳定性极限的显式欧拉、隐式中点(或等效于这个问题,梯形规则,又名 Crank-Nicolson)和隐式欧拉。结果如下所示,说明A-稳定(但不是L-stable) 隐式中点法产生质量差的解决方案。

Hairer and Wanner (1999) 图 1

为了在求解刚性系统时避免这个问题,您应该使用L- 稳定的方法,例如 BDF-2、合适的 DIRK 或 Radau 方法。有关该主题的广泛讨论,请参阅 Hairer 和 Wanner 的第二卷。

理论上,如果隐式 Euler 方法适用于该方程,则 Crank--Nicolson 方案也应该适用。τ是时间步长,如果我们只考虑时间离散化,线性化 Crank-Nicolson 方案由下式给出

unun1τa2(Δun+Δun1)=(3un1un22)4.

在方程的正则性好的情况下,上述方案是可以的。此外,空间逼近不影响方案的稳定性,可以使用有限差分法和有限元法求解。