This repository contains an implemention for a brute force N-body solver as well as a tree-code implementation made from scratch. The tree-code implementation is based on chapter 4.4 of Völker Springel's "High performance computing and numerical modelling", which can be found in the "files" folder. A softening factor epsilon for the brute force solver as well as the opening angle for the tree-code implementation can be easily changed in the main file. The data used contains 50'010 particles that are intended to represent a globular cluster, though the implementation is general enough that it can run for any data that conforms to the same format.
This project uses Eigen as a dependency and the cmake file assumes that the Eigen installation is included on the PATH.
This project was initially made as the final project of the ETH Zürich AST 245.1 Computational Astrophysics course.