另一种评估均匀立方体引力的方法?

计算科学 数值分析 Python 一体化
2021-12-19 03:43:57

Liu, Baoyin, and Ma (2011) Equilibria,cyclic orbits around equilibria, and heteroclinic connections in a rotation均质立方体重力场的附录A给出了一个均质立方体引力势的解析表达式。我想使用 python 重现轨道计算,这将需要评估降低电位的梯度,即加速度。

给定足够的咖啡,我可能可以将其输入 Wolfram alpha,评估梯度,并将脚本编写为 python。或者,我可以使用数值梯度,这需要四个潜在的评估,并且对我来说更快、更容易可靠地编写脚本。我只想绘制单个轨道的图,所以我不需要非常高的精度。

是否有另一种方法可以以相似(或更少)的努力均匀立方体中获得相当好的引力近似?相当不错的说法可能是距离面部 >的 1E-06 误差,可能需要远离拐角以获得类似的误差,但似乎大多数稳定轨道无论如何都倾向于这样做。a0.1a

使用 scipy 的“三重二次”方法,每个时间步的 3D 直接积分都非常慢,我不会承认尝试过。可能有一个非常聪明的集成算法,考虑到我将在此时编写没有任何数值加速选项的 python,它可以在速度上竞争。

1个回答

我正在重写我的评论作为答案。

我认为你有几个选择。他们之中有一些是:

  • 您可以使用SymPy从势中找到引力场。然后您可以从中生成您的Python 代码

  • 您可以创建某种网格,然后使用有限差分、分段多项式(类似 FEM)或 Chebyshev 多项式(请参阅pychebfun)以数值方式计算梯度。

  • 您可以对问题的引力场使用边界积分表示。

  • 您可以将您的立方体表示为一组离散粒子,并认为整个场只是这些“小”贡献的叠加。时,该字段应接近实际分布。nn