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.
Read full abstract