速度 Verlet 和 jumpfrog 算法的比较

计算科学 时间积分
2021-12-24 13:00:37

许多资料提供了用于积分牛顿方程的 Euler、Verlet、速度 Verlet 和跳跃算法。根据准确度的顺序,一致认为速度 Verlet、Verlet 和 jumpfrog 优于 Euler 方法。还可以证明 Verlet 和速度方法在代数上是等价的。使用velocity Verlet 或leapfrog 积分器的优缺点是什么?一个比另一个更准确还是更昂贵?

1个回答

最短的答案是 Verlet / Leapfrog 方法是辛的和时间可逆的,这些是反映某些模拟问题的物理现实的理想数值属性。

辛意味着当方法保证在保守模拟问题中保持总能量(更准确地说是哈密顿量)时。以模拟地球绕太阳旋转为例。如果没有能量的外部耗散,地球可以保证无限期地保持在轨道上。但是使用 Euler 或 RK4 进行模拟,例如,地球最终会离开轨道或撞向太阳,这是由于在长时间模拟中积累的总能量中的小数值漂移。Verlet / Leakfrog 等辛方法明确保留了总能量,因此数值解也可以保证使地球无限期地保持在轨道上。

时间可逆性意味着(固定步长)方法可以在时间上向前步,并达到用于开始模拟的相同初始条件。我们经常将时间可逆的数值方法应用于时间可逆的物理过程;然后我们期望数值解具有类似于精确解的长期行为。kk

但这两个属性是以牺牲准确性和稳定性为代价的。RK2 方法是一种可比较的二阶方法,其准确度明显更高,而 BDF2 是一种二阶方法,其稳定性明显更高。此外,这些方法是明确的(即有效的,因为它们可以在不求解非线性方程组的情况下计算)仅适用于某些物理过程。它们最一般的形式是隐含的。

参考:

  • Hairer, Lubich, Wanner,“几何数值积分”,Springer 2006

编辑 v2: Leapfrog 和 Verlet 方法(理论上)是相同的。以下引用来自 Pg。Hairer Lubich Wanner的7。

这种基本方法,或下面给出的等效公式,在天文学中称为斯托默方法,在分子动力学中称为 Verlet 方法,在偏微分方程的上下文中称为跳蛙方法,在其他领域还有其他名称。