Using the Barnes-Hut With Higher Order Multipoles Algorithm at a time of O(N log N) licensed under the GNU GPLv3+
NEXT includes a modular python script to generate initial conditions, it outputs simple .txt files that NEXT can load directly.
The generator script is located in tools/icbuilder.py
FP32, FP64
NEXT Uses OpenMP with "#pragma omp parallel for" for parallelization.
- reduced division count (3-6x faster on avg.)
- Symmetric-force application
Particles store:
position (x, y, z);
velocity (vx, vy, vz);
mass (m);mkdir build
cd build
cmake ..
cmake --build . --config Release
cd ..cd examples/TwoBodies
python two_body.py
../../next two_body.txt 8 0.01 0.1 vtuNEXT uses Division-avoiding algebra optimizations to make the simulation run faster.
NEXT also uses the Kick-Drift-Kick Leapfrog method which is implemented like this:
- Compute velocities with 0.5 dt
- Compute positions with full dt
- Compute velocities with 0.5 dt
NEXT uses the .VTK format to output data. More formats like HDF5 are planned.
NEXT outputs the final binary next to CMakeLists.txt file and not the /build directory.