{"title":"NcorpiON : A O(N) software for N-body integration in collisional and fragmenting systems","authors":"Jérémy Couturier, Alice C. Quillen, Miki Nakajima","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":"114 ","pages":"Article 102313"},"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}
引用次数: 0
Abstract
NcorpiN 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 NcorpiN 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 time. Another module, much more efficient than the standard Barnes–Hut tree code, is a 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, NcorpiN is found to be up to 25 times faster than the famous software REBOUND.
NcorpiN 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. NcorpiN can communicate with REBOUND’s webGL viewer via MPI for 3D visualization. The name NcorpiN, reminding of a scorpion, comes from the French N-corps, meaning N-body, and from the mathematical notation , due to the running time of the software being almost linear in the total number of bodies. NcorpiN 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 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.