NRPy+
NRPy+/SENR: BlackHoles@Home的核心软件
Translations
- 中文 Courtesy Yutong Wang and Zhoujian Cao
手动将偏微分方程编码进高性能软件是非常艰辛且易错的过程。NRPy+ ("Python-based code generation for numerical relativity... and beyond!")是一款旨在加速该过程的Python代码包。用户可以通过简洁的张量形式(爱因斯坦标记)输入复杂的表达式同时将人为错误控制在最小。这些输入经过NRPy+的处理后通过CSE或SIMD内置函数输出高度优化的C语言代码。
交互式 NRPy+ 教程:
确保是新的黑洞对撞教程模块!
确保是新的黑洞对撞教程模块!
与其他功能类似的软件包不同,NRPy+在功能上不依赖昂贵的Mathematica或者Maple功能许可。取而代之的是使用功能更强大的开源SymPy作为计算机代数系统后端。NRPy+的设计可以为新用户们降低准入门槛。虽然起初设计NRPy+是为了加速数值相对论的软件开发(在计算机上求解广义相对论下的爱因斯坦方程),但其也可以被用来快速开发求解更广泛的双曲型或者抛物型偏微分方程的计算软件。默认情况下其支持有限差分方法,但根据实际需求其也可以扩展使用其他的数值表示形式。 SENR("the Simple, Efficient Numerical Relativity code")是一个功能齐全的OpenMP并行数值相对论C语言代码,它可以在有需要的情况下将NRPy+形成的C语言代码进行合并。得益于其干净的形式和较少的代码行使得数值相对论的算法基础理解起来更加清晰明朗。
NRPy+/SENR软件包使用了新方法在奇性坐标系内求解爱因斯坦场方程(基于我们前沿性的工作[1], [2]),我们的目标是希望利用该方法,在双黑洞或双中子星并合的模拟中内存消耗量下降为传统AMR方法的1/100,我们期望利用节约内存这一巨大优势并将其推广,使得台式机成为引力波天文学研究的核心工具。
最新!(持续更新中)
- Minute-by-minute GitHub commits tracker
- Interactive NRPy+ Tutorial (通过mybinder与Jupyter notebooks进行交互)
- Non-interactive, bare-bones version
对于NRPy+/SENR的介绍报告
状态更新
对于近期展开的工作的简单汇总 * 2019年1月 正在推进: 请浏览Presentations * 2018年6月: SENR可以在共转坐标系内完成双黑洞合并了! * 2018年12月: 完成NRPy+中关于双黑洞对撞模拟的教程模块! (Brill-Lindquistt初始数据,在曲线坐标中使用BSSN形式在纯轴对称中演化) * 2018年秋: 完成了NRPy+中几部分重要的教程模块,其中包括求解标量波方程,麦克斯韦方程,构建以及在曲线坐标系内利用NRPy+求解爱因斯坦方程 * 2018年夏: NRPy+ 基本教程 * 2018年秋: 利用NRPy+/SENR完成了在共转圆柱坐标系内的双黑洞并合! (在主菜单中点击Intro Presentations进一步了解) * 2017年12月22日: 第一篇NRPy+/SENR的文章发表!
近期结果(双黑洞工作之前的)都囊括在我们的第一篇文章中。
首篇文章中的关键结果(2017):黑洞波谱学
我们在sinh-spherical坐标系内利用SENR完成了黑洞对头碰撞的模拟,并且对比了我们计算得到的波形(通过测量Weyl标量\Psi_4的实部绝对值)和黑洞微扰理论预言的指数衰减波形。值得注意的是,我们发现在7个量级的跨度范围内相位和振幅值都高度吻合,相同的计算如果在高分辨率笛卡尔AMR网格下的结果在大约3-4个量级跨度之后就会出现不吻合,这也证明了在引力波区域中使用类球面坐标的重要性。
人员
Zachariah B. Etienne 副教授 物理与天文学院 西弗吉尼亚大学.