A multi-core ready discrete element method with triangles using dynamically adaptive multiscale grids

Concurr Comput. 2019 Oct 10;31(19):e4935. doi: 10.1002/cpe.4935. Epub 2018 Aug 31.

Abstract

The simulation of vast numbers of rigid bodies of non-analytical shapes and of tremendously different sizes that collide with each other is computationally challenging. A bottleneck is the identification of all particle contact points per time step. We propose a tree-based multilevel meta data structure to administer the particles. The data structure plus a purpose-made tree traversal identifying the contact points introduce concurrency to the particle comparisons, whilst they keep the absolute number of particle-to-particle comparisons low. Furthermore, a novel adaptivity criterion allows explicit time stepping to work with comparably large time steps. It optimises both toward low algorithmic complexity per time step and low numbers of time steps. We study three different parallelisation strategies exploiting our traversal's concurrency. The fusion of two of them yields promising speedups once we rely on maximally asynchronous task-based realisations. Our work shows that new computer architecture can push the boundary of rigid particle computability, yet if and only if the right data structures and data processing schemes are chosen.

Keywords: computational geometry; discrete element method; dynamically adaptive cartesian grids; shared memory parallelisation; vectorisation.