与 Adams-Bashforth 算法相比,使用 Adams-Moulton 的相对优势是什么?

计算科学 pde 算法 有限元 误差估计
2021-11-27 00:48:26

我正在计算两个空间维度和时间上的两个耦合 PDE 的系统。由于函数评估很昂贵,我想使用多步方法(使用 Runge-Kutta 4-5 初始化)。

使用五个先前函数评估的 Adams-Bashforth 方法的全局误差为O(h5)(在这种情况下s=5在下面引用的 Wikipedia 文章中),并且每个步骤需要一个函数评估(每个 PDE)。

另一方面,Adams-Moulton 方法每一步需要两个函数评估:一个用于预测步骤,另一个用于校正步骤。再一次,如果使用五个函数评估,全局误差是O(h5). (s=4在维基百科文章中)

那么使用 Adams-Moulton 而不是 Adams-Bashforth 的原因是什么?对于函数评估次数的两倍,它具有相同顺序的错误。直观地说,预测校正方法应该是有利的,但有人可以定量地解释这一点吗?

参考:http ://en.wikipedia.org/wiki/Linear_multistep_method#Adams.E2.80.93Bashforth_methods

1个回答

Adams-Moulton 方法明显更稳定。当我被教导差异时使用的类比与外推和内插相同。插值在数值上是相对安全的。如果碰巧有渐近线或其他一些奇怪的特征,外推可能会爆炸。

例如,解决颂歌

y(t)=y(t)y(0)=1

使用 3 阶 Adams-Bashforth 方法实际上会随着时间步长的减少而变得更加不稳定。通过添加校正步骤,您可以避免大部分这种不稳定性。此处显示了两种方法的稳定性区域图:

在此处输入图像描述

情节取自Gregory Baker 和 Edward Overman 的《科学计算的艺术》 。λ是 ODE 的特征值,h是时间步长。注意λ可以是复杂的,所以地块在复杂的平原上。如果λh在稳定空间内,颂歌会收敛。如果在外面,最终时间积分会变得不稳定。请注意,为了稳定,您的 ODE 或 ODE 系统的所有特征值都必须在稳定区域内。