# gdm-tk 2D/3D

## A tool-kit for granular dynamics methods

## V. Richefeu, C. Voivret, F. Radjai, J.-Y. Delenne

###### 1 Overview and Design

gdm-tk is a C++ toolkit (library) dedicated to granular dynamics methods. It does not necessary provide a turnkey solution for granular dynamics simulations, but it rather aims to provide a data structure with some tools that work with it and allows scientists to develop very eﬃciently within the context of granular dynamics methods. For example, there are functions to read/write ﬁles, or to perform calculations (e.g. stresses, force distributions, anisotropies).

In order to obtain diﬀerent degrees of abstraction, the library is structured in three levels:

- Data and computation level consisting of classes that contain data needed for solving the equations of motion. In one hand, there are the objects Sample and Network that contain and handle the internal data of the granular packing. In the other hand, there is the computation class (inherited from the pure virtual class Algo) that handles the body dynamics by taking into acount their interactions. For example, the contact dynamics method is coded in the class CDAlgo inherited from Algo. One can also have a speciﬁc class for the molecular dynamics, the lattice beam, or the method of your choice.
- System level consisting of classes inherited from the class System that deﬁne the eﬀective degrees of freedom and boundary conditions involved in the physical problem to be simulated. One example is the biaxial system.
- User level consisting of the simulation data ﬁles used in a run. A graphical user interface can also be used to ease the simulations. Although gdm-tk can be used for diﬀerent methods, it has been mainly thought for the contact dynamics (CD) method and only this approach is implemented for now.

###### 2 Features

- Generic framework for contact dynamics
- Convergence criteria can be monitored
- Particle shapes: disks, sphero-lines and polygones
- New shapes easily addable (only a matter of geometry, no physical considerations)
- Several loading systems (monitored by the minimum set of parameters)
- Mono-periodic conditions
- Hydrodynamics: coupled CD/Lattice Boltzmann methods 3D version
- Same features as the 2D version (excepted for Hydrodynamics) for spheres and plans ob jects
- Tri-periodic conditions for any loading
- Concave and convex sphero-polyhedra (feature imported from DEM-box, implementation underway)