gpt4 book ai didi

arrays - 行星模拟的“Repa”性能

转载 作者:行者123 更新时间:2023-12-03 05:57:35 24 4
gpt4 key购买 nike

我使用 Euler symplectic method 编写了太阳系外行星的模拟。并使用 repa 和 b) 使用 yarr 实现了这一点。

yarr seems to perform about x30 quicker than repa .

鉴于此,我什至没有尝试使用并行性。我的 repa 代码中是否存在任何明显的性能问题?存储库位于 github 。如果这有帮助的话,我可以生成一个仅限 repa 的简化版本,但是这样您将无法获得与 yarr 的性能比较。

或者,如何调试 repa 中的性能问题?

最佳答案

大多数欧拉数值积分方法都存在累积舍入误差,最终会导致模拟“崩溃”。您可能想要研究高级数值积分方法,例如四阶龙格库塔或预测校正器。

n 体问题模拟变得棘手的另一个地方是当两个物体非常接近时,例如月球绕其行星的轨道非常偏心。如果使用固定时间增量进行模拟,角速度大幅变化期间的误差可能会导致被零除错误或除以非常小的值,从而导致模拟崩溃。使用取决于角速度的可变 delta-t 可能是有益的。

这些建议基于我在 1973 年选修的本科物理类(class)项目中运行的许多此类模拟,同时测试了各种数值积分方法。自数字计算诞生以来,龙格-库塔和预测校正方法就已经存在,并且有许多书籍可用。例如,参见 William H. Press、Brian P. Flannery、Saul A. Teukolsky 和 ​​William 所著的数值秘诀:科学计算的艺术 T·维特林。 (剑桥大学出版社,1989)

关于arrays - 行星模拟的“Repa”性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18099878/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com