The Particle Physics Simulator is a physics application for Android devices (v2.2+) in which real gravitational systems of particles can be created, simulated and interacted with in real time. It is an N-body particle simulator where the behaviour of the system is driven only by each particle’s gravity and its interaction with all the other particles in it. It is turning more into a physics playground lately though, with the addition of accelerometer support, elastic collisions, ability to create walls, anti-particles and more.
The source code can be found in this Gitlab repository.
Get the apk for the latest versions right here:
- Particle Physics Simulator – apk 3.7.4 sha256:
- Particle Physics Simulator – apk 3.7.3 sha256:
- Particle Physics Simulator – apk 3.7.2 sha256:
- Particle Physics Simulator – apk 3.7.1 sha256:
- Particle Physics Simulator – apk 3.7.0 sha256:
Find the changelog here.
Follows the current list of features of the Particle Physics Simulator.
- Real n-body physics simulation, pure gravitational interactions between particles.
- Start with any number of particles from 2 to 100. Then you can add up to 200 particles in real time during the simulation.
- Two force calculator methods:
- Particle-Particle, the direct method \(\sim O(n^2)\), which is very accurate but also computationally expensive.
- Particle-Mesh, where forces are calculated using a mesh of potnentials, very efficient \(\sim O(n \cdot log n)\) but not as accurate as PP.
- Two simulation area modes:
- Screen area, which takes only the space of your cellphone screen.
- Big area, in which the simulation area extends well beyond the screen limits.
- Zoom and pan in big simulation area mode.
- Create walls particles can’t trespass. Watch them bounce off. In the current version there is a top limit of 10 walls per simulation so that the performance does not decay.
- Set the collision policy to elastic collisions, mergers or no collisions at all.
- Choose particle colours.
- Set background colour or image.
- Set gravity strength and particle mass.
- Accelerometer support enables for adding real-world gravity to the simulations.
- Shoot particles or create repulsive forces using touch screen.
- Also create anti-particles, which are repelled by regular particles but attracted between them.
- Enable or disable the central black hole which exerts a neat attractive force towards the center. Also, you can change its appearance.
- Enable or disable particle trails. Disable trails to improve performance, for computing and drawing trails is one of the more expensive operations.
- Modify simulation velocity in real time using the top slider.
- Display system information such as the number of particles and the frames per second.
Go to Menu > Settings to change other preferences, such as:
- The initial number of particles.
- Display or not particle trails.
- Use accelerometer to add real gravity to the simulation.
- Set the simulation area to the screen or use a big area.
- Enable particles to bounce-off simulation boundaries.
- Display particle count and FPS.
- Put a black hole in the center.
- Select the collision policy to elastic collisions, mergers or no collisions at all.
- Enable and disable collision effects.
- Set the particle mass and gravity force.
- Choose particle and background colours.
The on-screen controls of the Particle Physics Simulator available are the following:
Pans the view. Only works in the big simulation area mode.
Enables shooting mode, where particles can be shot into the screen. Tap once to shoot a regular particle. Tap twice to shoot an anti-particle, which is the same button but the particle has a spot inside.
Enables the repelling mode, which creates a repelling force to all particles at the position of your tap.
Activates the wall mode, with which you can create walls in real time that particles can’t trespass.
Resets the view to its initial state of zoom and pan.
Use two fingers to zoom in the big simulation area mode. Separate fingers to zoom in, join them to zoom out.
Use the upper slider bar to adjust the simulation velocity in real time.