Discrete Element Method in Grains3D 

The dynamics of granular materials is examined by a Discrete Element Method. Other numerical methods available in the literature to address this problem include Non-Smooth Contact Dynamics and Event-Driven Methods, that both represent non-smooth methods. In DEM, the contact is regularized by allowing the solid bodies to slightly overlap. The geometric overlap measure is used to compute the contact forces and the whole contact is integrated in time, which assumes that time steps smaller than the contact time are employed. As for classical DEM, our variant relies on an explicit time integration of the Newton's equations and standard contact laws usually involving elastic rebound and viscous dissipation in the normal direction, plus Coulomb friction in the tangential direction. We believe that the two nice assets of our DEM variant implemented in our code Grains3D are the following:

  • the ability to handle any non-spherical convex shape. In fact, we use a Gilbert-Johnson-Keerthi (GJK) algorithm to detect geometric contact. This algorithm is derived from convex analysis and its purpose is the calculation of the minimal distance between two convex bodies (cf Figure 2). It is rather popular in the video game community. In Grains3D, the GJK algorithm is called as the second step of a three-step (shrinkage-GJK-reconstruction) collision detection method. Hence, any combination of convex shape and object size can be treated. In Grains3D, the full collision detection strategy between 2 convex shapes relies on the three following steps (cf Figure 3):
  1. slightly shrink the two objects,
  2. use the GJK algorithm,
  3. reconstruct the geometric contact features.
  • its full parallel capabilities using MPI and a domain decomposition technique that enables one to run jobs with up to a few millions (and even a few tens of million) particles on supercomputers. 



Grains3D particlesContact


Fig 1. Allowed overlapping between two particles in the DEM spirit to compute the contact forces


Grains3D GJKIter


Fig 2. 4 iterations of the GJK algorithm to compute the minimal distance between a point and a convex object (which is a generalization of the problem of the minimal distance between 2 convex shapes)


Grains3D GJKGeom


Fig 3. The contact detection strategy in Grains3D: a combination of geometric transformations and the GJK algorithm

 |  Legal information © IFP Energies nouvelles / IFP 2011