首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >行星模拟的“‘Repa”性能

行星模拟的“‘Repa”性能
EN

Stack Overflow用户
提问于 2013-08-07 09:37:07
回答 1查看 1.1K关注 0票数 53

我用欧拉辛法编写了太阳系外行星的模拟,并实现了这一点:( a)使用repa,b)使用yarr

repa

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

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

EN

回答 1

Stack Overflow用户

发布于 2013-09-20 18:11:18

大多数欧拉数值积分方法都存在累积舍入误差,最终会导致仿真“爆炸”。您可能需要研究先进的数值积分方法,如4阶Runge或预测校正器。

另一个n体问题模拟变得棘手的地方是当两个天体非常接近的时候,比如一个月球,它的行星轨道非常古怪。如果采用固定的时间增量进行仿真,则角速度大幅度变化时的误差会导致零除误差或被极小值除法,从而导致模拟爆炸。使用依赖于角速度的变量δ-t是有益的.

这些建议是基于运行许多这样的模拟,作为我在1973年参加的一门本科物理课程的一个项目,同时测试各种数值积分方法。自从数字计算出现以来,Runge和预测校正方法就出现了,并且有许多书可供使用。例如,见数值累进:科学计算的艺术由WilliamH.Press,BrianP.Flannery,索尔A. Teukolsky和WilliamT.Vetterling著。(剑桥大学出版社,1989年)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18099878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档