Studying Universality with Physics Engines: Accelerating Granular Flow on GPUs with OpenCL & CUDA

Avi Vajpeyi


Experiments with a granular beadpile have shown that the pile can model critical systems such as avalanches. In the experiments, a bead is dropped on the apex of the pile of beads. Eventually, one such bead causes several beads of the conical bead pile to avalanche. The experiments have studied the distribution of avalanches and how the distribution is affected by altering the bead type, bead cohesion, and bead drop height. In this study, two computational simulations of the experiment are presented.

The simulations model each bead as an independent particle with their own position and velocity. Due to the independentness of the particles, we can use parallelism to thread various processes of the particles to a personal computer’s graphical processing unit. This allows the simulations to run faster than real-time while still having more than 10 thousand particles on the pile.

The first simulation’s data matched the laboratory beadpile’s data at the low drop height regime, but failed to do so at higher drop heights. The second simulation, made using a much simpler model, requires friction to be included in the model to make the simulated beadpile comparable to the laboratory beadpile.

With these simulations it is possible to learn new information that may have been challenging to study with the actual experiment. For example, we can vary the shapes and numbers of the beads. With the simulation it is also possible to record the velocity of each particle both on the surface and inside the pile.