AboutΒΆ
gonzales is a package for simulating collisionless 3D particle systems under Newtonian gravitational interaction. It is intented to be a lightweight and easy to use, yet comparatively powerful tool, which uses the hdf5 file format to store simulation data. Also, it includes a graphical user interface which is capable of animating a simulation and efficiently displaying simulation info and results in tabular form to the user.
Two simulation types are supported: PP-simulations (name derived from Particle-Particle methods, or brute-force methods), and BH-simulations (name derived from Barnes-Hut tree code methods) - the former having a computational complexity of \(O(n^2)\), and the latter \(O(n\,log\,n)\). For both simulations, numerical integration of the equations of motion is done using the Leapfrog integration method.
Functionally, the program consists of three main packages:
gonzales.simulator- provides interfaces for generating initial conditions and creating and running simulation instancesgonzales.lib- consists of functions used to calculate gravitational interactions and values of physical quantitiesgonzales.ui- defines the graphical user interfacegonzales.benchmark- tools for running benchmark suites
Detailed documentation of these packages can be found in the Modules documentation section.
A typical workflow can be described as follows:
create initial conditions for the simulation using
gonzales.simulator.space.Spacecreate a simulation instance using
gonzales.simulator.simulation.PPSimulationorgonzales.simulator.simulation.BHSimulationrun the simulation
view generated results using
gonzales.ui.viewer.run_viewer
More details can be found in the Quick start documentation section.