Distributed-Memory Granular Simulation

Granular material on nearly any practical scale involves computing the dynamics of billions of bodies. In order to generate high-resolution predictions for the behavior of granular material, a simulation must track each of the multiple billions of bodies and all of their associated properties. This amounts to a very large workload for a single computer running the simulation, often making full-resolution simulations impossible because of memory or time constraints. This project focuses on expanding the capabilities of granular simulation to include simulations with numbers of bodies on the order of billions. In order to do so, the simulation is broken into a number of smaller, mostly-disjoint sub-problems that can be solved each on a separate node of a computing cluster with minimal communication between nodes. The resulting software will be an open-source distributed-memory module of ProjectChrono, Chrono::Distributed, which will utilize the Message Passing Interface (MPI) standard to coordinate many instances of the multi-threading module, Chrono::Parallel, running on separate nodes in a cluster.

Contributors: Nic Olsen and Radu Serban