Adfīnitās(为分布式计算机设计的N-Body仿真程序)
隐私提示:本站使用Microsoft Clarity统计访客信息,关于我将收集你的具体何种信息及如何禁止我收集你的信息请点击这里.
注意: 本项目已经不再积极更新, 后续主要工作切换到本项目新的C语言版本CAdfīnitās以控制内存消耗. 如需源码, 请关注CAdfīnitās进展或本站相关页面.
更新: 部分修复了大量运算时的内存消耗问题, 但没有完全修复垃圾收集机制引发的内存消耗. 点击这里获取2023年12月01日更新的源代码.
更新: 将显式Euler积分器更换为Varlet积分器, 以保持Hamilton力学体系的辛形式. 点击这里获取2023年11月20日更新的源代码.
更新: 限制了所有的变量类型, 为了避免运行时类型自动推定, 以提高运行速度. 点击这里获取2023年11月13日更新的源代码.
项目采用BSD-3-Clause协议开放源代码, 点击这里获取2023年11月04日的源码. 或者点击这里查看Git仓库最新进展.
Adfīnitās使用Julia语言编写, 支持并行计算及分布式计算. 一个可以轻松从多核处理器迁移到大型机超级计算机网络的设计.
核心程序依赖: Distributed, DistributedArrays, ProgressMeter;
示例程序依赖: Jupyter Notebook, PyPlot, PyCall, 可能还需要针对性的Python环境配置;
几个示例:
1. 太阳系仿真(木星及内侧轨道);
a. 太阳系轨道3D
b. 轨道动画;
c. 太阳及水星的视向速度;
2. 一个太阳-地球-月球系统, 但月球具有z轴上的初速度;
a. 3D轨道;
3. 星系的N体仿真;
a. 1000体的3D仿真;
UMRAY
2023.11.04