Procedural generation of multiple stable, small-scale solar systems using 3D N-Body simulation.
MetadataShow full item record
Owing to mankind's constant pursuit of knowledge, we have been seeking to understand the vast universe around us. Thanks to the field of GPU Computing, we have in the recent decade been able to simulations on the universe with an efficiency like never before. This allows us to create simulation models of the universe, which we can use to learn more about it. In this thesis, we develop a galaxy generator that generates a small galaxy with a user-specified number of solar systems and internal bodies. One of the central goals of the galaxy generator is to generate galaxies that can remain in equilibrium for as long as possible. We do various tests with the galaxy generator in order to discover and understand what makes a galaxy stable. We find that the integration method and the type of N-Body algorithm has a significant impact on how the simulation is run, and choosing the correct one for the situation is crucial. We develop an approximate, specialized N-Body algorithm and integration method for both CPU and GPU that is able to calculate the movement of the bodies fast by using the center of mass as an approximation. Results show that the proposed N-Body algorithm is able to significantly speed up computation over the All-Pairs GPU N-Body algorithm. We also show that the proposed algorithm is suitable for GPU execution, as the GPU-based algorithm is several times faster than the CPU-based one. When analyzing the accuracy of the approximated algorithm, we found that the error becomes significant over time. We quantify the error and try to explain the reason for the observed error. Finally, we perform several tests on the proposed integration method, and find out that it shows promise as a way to integrate distant forces less frequently than nearby forces.