在理论上应该保存能量的系统中,最准确的模拟将保存能量(以及给出准确的位置、速度等)。RK4 比蛙跳更准确,但蛙跳能节省能量,而 RK4 则不然。为什么是这样?
为什么越级积分辛和 RK4 不是,如果后者更准确?
计算科学
计算物理学
时间积分
分子动力学
龙格库塔
2021-12-15 00:01:38
1个回答
TL;DR:这取决于您需要什么样的准确性。
能量守恒不会自动等同于准确性。假设,你想模拟太阳系,并且你正在使用一个求解器——举一个极端的例子——每秒将整个系统旋转某个角度。这些解决方案显然可以节约能源,但它们是公然不正确的。
另一方面,如果你想在足够短的时间跨度内预测天体运动,那么不保存能量的龙格-库塔方法的影响可以忽略不计。相反,这会对长期模拟造成影响。在短时间内,Runge-Kutta 方法将提供比蛙跳法更准确的结果——至少在计算量相当的情况下是这样。
现在,在很长一段时间内,从预测某些初始条件的精确未来的意义上来说,这两种方法都不会产生非常准确的结果(由于蝴蝶效应,这也可能变得困难)。然而,越级方法至少产生了一些合理的解决方案,因为能量被保留了。这对于许多对所研究系统的定性行为感兴趣的模拟来说已经足够了。
其它你可能感兴趣的问题