NcorpiON:用于碰撞和碎片系统中 N 体整合的 O(N) 软件

IF 1.9 4区 物理与天体物理 Q2 ASTRONOMY & ASTROPHYSICS
{"title":"NcorpiON:用于碰撞和碎片系统中 N 体整合的 O(N) 软件","authors":"","doi":"10.1016/j.newast.2024.102313","DOIUrl":null,"url":null,"abstract":"<div><div>Ncorpi<span><math><mi>O</mi></math></span>N is a general purpose N-body software initially developed for the time-efficient integration of collisional and fragmenting systems of planetesimals or moonlets orbiting a central mass. It features a fragmentation model, based on crater scaling and ejecta models, able to realistically simulate a violent impact.</div><div>The user of Ncorpi<span><math><mi>O</mi></math></span>N can choose between four different built-in modules to compute self-gravity and detect collisions. One of these makes use of a mesh-based algorithm to treat mutual interactions in <span><math><mrow><mi>O</mi><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow></mrow></math></span> time. Another module, much more efficient than the standard Barnes–Hut tree code, is a <span><math><mrow><mi>O</mi><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow></mrow></math></span> tree-based algorithm called FalcON. It relies on fast multipole expansion for gravity computation and we adapted it to collision detection as well. Computational time is reduced by building the tree structure using a three-dimensional Hilbert curve. For the same precision in mutual gravity computation, Ncorpi<span><math><mi>O</mi></math></span>N is found to be up to 25 times faster than the famous software REBOUND.</div><div>Ncorpi<span><math><mi>O</mi></math></span>N is written entirely in the C language and only needs a C compiler to run. A python add-on, that requires only basic python libraries, produces animations of the simulations from the output files. Ncorpi<span><math><mi>O</mi></math></span>N can communicate with REBOUND’s webGL viewer via MPI for 3D visualization. The name Ncorpi<span><math><mi>O</mi></math></span>N, reminding of a scorpion, comes from the French <em>N-corps</em>, meaning N-body, and from the mathematical notation <span><math><mrow><mi>O</mi><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow></mrow></math></span>, due to the running time of the software being almost linear in the total number <span><math><mi>N</mi></math></span> of bodies. Ncorpi<span><math><mi>O</mi></math></span>N detects collisions and computes mutual gravity faster than REBOUND, and unlike other N-body integrators, it can resolve a collision by fragmentation. The fast multipole expansions are implemented up to order eight to allow for a high precision in mutual gravity computation.</div></div>","PeriodicalId":54727,"journal":{"name":"New Astronomy","volume":null,"pages":null},"PeriodicalIF":1.9000,"publicationDate":"2024-09-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"NcorpiON : A O(N) software for N-body integration in collisional and fragmenting systems\",\"authors\":\"\",\"doi\":\"10.1016/j.newast.2024.102313\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div><div>Ncorpi<span><math><mi>O</mi></math></span>N is a general purpose N-body software initially developed for the time-efficient integration of collisional and fragmenting systems of planetesimals or moonlets orbiting a central mass. It features a fragmentation model, based on crater scaling and ejecta models, able to realistically simulate a violent impact.</div><div>The user of Ncorpi<span><math><mi>O</mi></math></span>N can choose between four different built-in modules to compute self-gravity and detect collisions. One of these makes use of a mesh-based algorithm to treat mutual interactions in <span><math><mrow><mi>O</mi><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow></mrow></math></span> time. Another module, much more efficient than the standard Barnes–Hut tree code, is a <span><math><mrow><mi>O</mi><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow></mrow></math></span> tree-based algorithm called FalcON. It relies on fast multipole expansion for gravity computation and we adapted it to collision detection as well. Computational time is reduced by building the tree structure using a three-dimensional Hilbert curve. For the same precision in mutual gravity computation, Ncorpi<span><math><mi>O</mi></math></span>N is found to be up to 25 times faster than the famous software REBOUND.</div><div>Ncorpi<span><math><mi>O</mi></math></span>N is written entirely in the C language and only needs a C compiler to run. A python add-on, that requires only basic python libraries, produces animations of the simulations from the output files. Ncorpi<span><math><mi>O</mi></math></span>N can communicate with REBOUND’s webGL viewer via MPI for 3D visualization. The name Ncorpi<span><math><mi>O</mi></math></span>N, reminding of a scorpion, comes from the French <em>N-corps</em>, meaning N-body, and from the mathematical notation <span><math><mrow><mi>O</mi><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow></mrow></math></span>, due to the running time of the software being almost linear in the total number <span><math><mi>N</mi></math></span> of bodies. Ncorpi<span><math><mi>O</mi></math></span>N detects collisions and computes mutual gravity faster than REBOUND, and unlike other N-body integrators, it can resolve a collision by fragmentation. The fast multipole expansions are implemented up to order eight to allow for a high precision in mutual gravity computation.</div></div>\",\"PeriodicalId\":54727,\"journal\":{\"name\":\"New Astronomy\",\"volume\":null,\"pages\":null},\"PeriodicalIF\":1.9000,\"publicationDate\":\"2024-09-27\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"New Astronomy\",\"FirstCategoryId\":\"101\",\"ListUrlMain\":\"https://www.sciencedirect.com/science/article/pii/S1384107624001271\",\"RegionNum\":4,\"RegionCategory\":\"物理与天体物理\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q2\",\"JCRName\":\"ASTRONOMY & ASTROPHYSICS\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"New Astronomy","FirstCategoryId":"101","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S1384107624001271","RegionNum":4,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q2","JCRName":"ASTRONOMY & ASTROPHYSICS","Score":null,"Total":0}
引用次数: 0

摘要

NcorpiON 是一款通用 N 体软件,最初是为高效整合环绕中心质量的类地行星或小行星的碰撞和碎裂系统而开发的。NcorpiON 的用户可以选择四种不同的内置模块来计算自重力和检测碰撞。其中一个模块利用基于网格的算法在 O(N) 时间内处理相互影响。另一个模块比标准的巴恩斯-胡特树代码更高效,它是一种基于树的 O(N) 算法,名为 FalcON。它依靠快速多极扩展进行重力计算,我们也将其用于碰撞检测。通过使用三维希尔伯特曲线构建树形结构,计算时间得以缩短。在相互重力计算精度相同的情况下,NcorpiON 比著名软件 REBOUND 快 25 倍。NcorpiON 完全由 C 语言编写,只需一个 C 编译器即可运行。一个只需基本 Python 库的 Python 附加组件可从输出文件中生成模拟动画。NcorpiON 可通过 MPI 与 REBOUND 的 webGL 浏览器通信,实现 3D 可视化。NcorpiON 的名字让人联想到蝎子,它来自法文 N-corps,意为 N 个体,也来自数学符号 O(N),因为软件的运行时间几乎与 N 个体的总数成线性关系。NcorpiON 检测碰撞和计算相互引力的速度比 REBOUND 更快,而且与其他 N 体积分器不同,它可以通过碎裂来解决碰撞问题。快速多极扩展的阶数高达 8 阶,从而实现了高精度的相互引力计算。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
NcorpiON : A O(N) software for N-body integration in collisional and fragmenting systems
NcorpiON is a general purpose N-body software initially developed for the time-efficient integration of collisional and fragmenting systems of planetesimals or moonlets orbiting a central mass. It features a fragmentation model, based on crater scaling and ejecta models, able to realistically simulate a violent impact.
The user of NcorpiON can choose between four different built-in modules to compute self-gravity and detect collisions. One of these makes use of a mesh-based algorithm to treat mutual interactions in O(N) time. Another module, much more efficient than the standard Barnes–Hut tree code, is a O(N) tree-based algorithm called FalcON. It relies on fast multipole expansion for gravity computation and we adapted it to collision detection as well. Computational time is reduced by building the tree structure using a three-dimensional Hilbert curve. For the same precision in mutual gravity computation, NcorpiON is found to be up to 25 times faster than the famous software REBOUND.
NcorpiON is written entirely in the C language and only needs a C compiler to run. A python add-on, that requires only basic python libraries, produces animations of the simulations from the output files. NcorpiON can communicate with REBOUND’s webGL viewer via MPI for 3D visualization. The name NcorpiON, reminding of a scorpion, comes from the French N-corps, meaning N-body, and from the mathematical notation O(N), due to the running time of the software being almost linear in the total number N of bodies. NcorpiON detects collisions and computes mutual gravity faster than REBOUND, and unlike other N-body integrators, it can resolve a collision by fragmentation. The fast multipole expansions are implemented up to order eight to allow for a high precision in mutual gravity computation.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
New Astronomy
New Astronomy 地学天文-天文与天体物理
CiteScore
4.00
自引率
10.00%
发文量
109
审稿时长
13.6 weeks
期刊介绍: New Astronomy publishes articles in all fields of astronomy and astrophysics, with a particular focus on computational astronomy: mathematical and astronomy techniques and methodology, simulations, modelling and numerical results and computational techniques in instrumentation. New Astronomy includes full length research articles and review articles. The journal covers solar, stellar, galactic and extragalactic astronomy and astrophysics. It reports on original research in all wavelength bands, ranging from radio to gamma-ray.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信