N-body simulations require two main numerical methods. One for time advancement, i.e. integrating the equations of motion, and another for calculating the accelerations of particles from their interactions.
1. Calculating the accelerations of particles
The simplest, most accurate but most computationally expensive algorithm to calculate the accelerations of particles is to calculate their forces on each other directly (direct PP method). This algorithm is ~O(N^2).
A fairly simple alternative is the Particle-Mesh (PM) method which relies on constructing a potential from all particles on a mesh and calculating their approximate accelerations from the potential. This method can be made ~ O (N ln(N)) by using FFT. But since it involves approximating the location of a particle to within a cell in the mesh, it is not accurate for simulating systems where close encounters occur frequently.
Our main goal is to try and simulate a globular cluster, so we will have many close encounters especially in the core of the cluster. Hence, our choice for the numerical method is direct PP.
1. Calculating the accelerations of particles
The simplest, most accurate but most computationally expensive algorithm to calculate the accelerations of particles is to calculate their forces on each other directly (direct PP method). This algorithm is ~O(N^2).
A fairly simple alternative is the Particle-Mesh (PM) method which relies on constructing a potential from all particles on a mesh and calculating their approximate accelerations from the potential. This method can be made ~ O (N ln(N)) by using FFT. But since it involves approximating the location of a particle to within a cell in the mesh, it is not accurate for simulating systems where close encounters occur frequently.
Our main goal is to try and simulate a globular cluster, so we will have many close encounters especially in the core of the cluster. Hence, our choice for the numerical method is direct PP.