问题标签 [integrator]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 哪种积分方法最适合 n 体重力模拟(速度与精度)?
我目前正在为大 n 实现 n 体模拟(重力/3D)(取决于事情如何发展> 1Mio。粒子)并且想知道使用什么集成方法。我想它应该有可变的步长以最小化错误。
我正在使用 barnes-hut-algorithm 和 boost/odeint,但可能会编写我自己的积分器来减少开销(boost 可能有,因为它是通用的)。我还不确定,我是否会使用除 barnes-hut 之外的其他方法来进一步提高性能。
由于对具有这么多粒子的 ODE 函数进行评估非常昂贵,我想使用尽可能少的函数评估的积分器是最好的。但我找不到任何关于积分器的好信息(特别是对于 n 体模拟与大 n )。性能对我来说比准确性更重要(只要准确性是合理的)。
那么有人能告诉我什么是解决这类问题的好集成商吗?现在我正在使用 runge-kutta dormand-prince(4/5 订单),有时会切换到 fehlberg(7/8)......