跳蛙算法能够在一定程度上保存系统的能量,系统能量以余弦形式围绕一个稳定值波动。如果我们将算法应用于 n 体引力系统,这是真的吗?系统的能量是保持在两个值之间还是随时间增长?
跳蛙算法是否为 n 体问题节省能量?
计算科学
计算物理学
数值建模
一体化
2021-12-10 09:56:15
1个回答
不,没有任何保证。
能量的扰动项是哈密顿量的导数的一个表达式。对于引力模拟,当两个物体的位置重合时,这个哈密顿量,更具体地说是势能,具有奇异的配置。如果两个物体靠得太近,这会导致不可逆的能量和动量变化。
什么“太近”也取决于步长。应该很容易想象,在 3 个左右 Verlet 步骤中的“飞越”对于力场的(局部)对称性质没有足够的采样点来确保数值解中的相关对称性。
这在模拟具有大部分圆形轨道的太阳系时不是问题。然而,在具有相同质量尺度天体的系统中,近距离接触似乎是常态而不是例外,因此任何固定步长方法最终都无法保持能量恒定。
其它你可能感兴趣的问题