Particle collision simulator, parallelised with OpenMP.
Main logic in sim.cc, collision rules in collision.h
This project was created for a parallel computing course at NUS, and run on a slurm cluster made available to students, so it is difficult to replicate on a personal laptop. However, the main logic is in this repo!
Particles undergo elastic collisions over timesteps.
Since this is computationally intensive, a few optimisations are implemented.
- The space is split into grids
- Sweep & Prune is applied
- Caching is applied
- And of course, parallelisation with OpenMP