一个开源的多用途n体代码
rebound的Python项目详细描述
功能
回弹是一个n体积分器,即一个软件包,可以集成重力作用下粒子的运动。这些粒子可以代表恒星、行星、卫星、环或尘埃粒子。回弹是非常灵活的,可以定制,以准确和有效地解决许多问题在天体物理学。回弹功能列表不完整:
- 辛积分器(whfast,whfasthelio,sei,leapprog)
- 具有自适应时间步进的高精度非辛积分器(IAS15)
- 支持碰撞/颗粒动力学、各种碰撞检测程序
- 代码完全用C编写,符合ISO标准C99,可以用作线程安全的共享库
- 易于使用的python模块,用3个字安装:pip install resbuck
- c和python中的大量示例问题
- 实时3D OpenGL可视化(C版)
- 与OpenMP并行(用于共享内存系统)
- 与MPI并行,使用用于重力和碰撞的基本树(对于分布式存储系统)
- 不需要库,可以选择使用opengl/glfw3进行可视化
- 代码是完全开源的,可以从http://github.com/hannorein/rebound
- 运行任何示例问题都不需要配置。只需在问题目录中键入make&;amp;nback即可运行它们
- 带有标准的ascii或二进制输出例程
- 不同的模块在运行时很容易互换
一分钟安装
如果您只想使用python版本的反弹,可以使用pip安装反弹:
pip install rebound
然后,可以运行一个简单的反弹模拟,如
importreboundsim=rebound.Simulation()sim.add(m=1.0)sim.add(m=1.0e-3,a=1.0)sim.integrate(1000.)sim.status()
如果您想使用c版本的反弹,只需将这一行复制并粘贴到您的终端中(它不会做任何坏事,我们保证):
git clone http://github.com/hannorein/rebound && cd rebound/examples/shearing_sheet && make && ./rebound
文档
包含许多示例、变更日志和教程的完整文档可以在
http://rebound.readthedocs.org
我们一直在努力提高反弹速度,扩展文档在我们的待办事项中占有很高的位置。 如果您在安装或使用反弹时遇到问题,请在github上打开一个问题,我们将尽力提供帮助。
更改日志
有关最近更新中最重要更改的更改日志,请参见https://github.com/hannorein/rebound/blob/master/changelog.rst