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

计算科学 算法 计算物理学 准确性
2021-11-29 13:52:20

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

目前,我正在与 n small 合作(比如说n5)。我从最简单的欧拉积分方法开始,也就是一阶。即使有两个物体,如果物体非常靠近,这种方法也会产生非常严重的错误(因为它们之间的力变得非常大,因此它们的加速度变得非常大)。当然,人们总是可以减少时间步长以获得更高的准确性,但要以计算时间为代价。

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

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

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

我之所以没有关注单位是因为,如果我想做一个比例的日-地-月模拟;由于日地距离约为地月距离的 370 倍,因此不可能将所有东西都放在展示窗内,也无法区分地球和月球。

另一个问题是使用 G 的实际值和实际质量等会导致涉及大数的计算。但是,保持其他所有内容不变,选择较低的值G减少错误(因为力更小)。所以我没有真正的方法来判断模拟是否准确。

那么如何严格测试模拟的准确性,以及关于单位我能做些什么呢?

0个回答
没有发现任何回复~