如何评估我的身体模拟的准确性?

时间:2017-05-12 19:54:20

标签: algorithm performance simulation game-physics

我在python中进行n体模拟。有许多不同的方法可以数值求解控制n粒子之间重力相互作用的微分方程系统; n体模拟的挑战是找到一种既准确又快速的整合方案。

目前,我正在使用n小(比如n ≤ 5)。我从最简单的欧拉积分方法开始,这是第一顺序。即使有两个物体,如果物体非常靠近,这种方法也会产生非常糟糕的错误(从那以后它们之间的力变得非常大,因此它们的加速度变得非常大)。当然,人们总是可以减少时间步长以获得更高的准确性,但这会以计算时间为代价。

接下来我想实现一个更高阶的方法,它具有更好的稳定性等,如越级集成或龙腾 - 库塔。

我希望这些方法能够提供更好的结果,但问题是我不确定如何定量测量模拟的准确性。我应该使用什么指标?

其中一个问题是我无法判断模拟是否给出了真实的结果,因为我没有使用引力常数G的实际值而没有使用距离/时间/质量的实际值在我的模拟中有单位。

我没有注意单位的原因是因为,如果我想做一个规模的太阳 - 月球模拟;由于太阳 - 地球距离约为地月距离的370倍,所以一切都不可能适合显示窗口,也能够区分地球和月球。

另一个问题是使用G的实际值和实际质量等导致涉及大数的计算。但是,保持其他一切固定,选择较低的G值会减少错误(因为力量会更小)。因此,我无法确定模拟是否准确。

那么我怎样才能严格测试模拟的准确性,以及我可以对单位做些什么呢?

0 个答案:

没有答案