In this paper we review some recent advances in DEM (DPM) modelling undertaken at the University of Twente. We introduce the new open-source package MercuryDPM that we have been developing over the last few years.\ud
MercuryDPM is an object-oriented program with a simple C++ implementation and includes: support for moving and complex walls, such as polyhedra or screw-threads; state-of-the-art granular contact models; multi-species support; specialised classes, allowing the easy implementation of common geometries like chutes, hoppers, etc.; common handler interfaces for particles, walls and boundaries (so all type of objects are changed using the same interfaces); restarting; large self-test suite and numerous simple demos; and, visualisation support, both internal and using Visual Molecular Dynamics.\ud
Additionally to these features, MercuryDPM has two major components that, to the best of our knowledge, cannot be found in other DPM packages. Firstly, it uses a novel advanced contact detection method that is able of dealing with multiple distinct granular components with sizes ranging over many orders of magnitude: the hierarchical grid. We explain how this algorithm works and demonstrate the speedup gained over the traditional linked cell approach. This algorithm has lower complexity for poly-dispersed ows which means for the first time large simulations with extremely wide size distributions are feasible.\ud
Secondly, we present a novel way to extract continuum fields from discrete particle systems that is applicable to mixtures as well as boundaries and interfaces. The particle data is coarse grained in a way that is by construction compatible with the continuum equations of mass-, momentum-, and energy balance. Boundary interaction forces are taken into account in a self-consistent way and thus allow the construction of a continuous stress field even within one particle radius of the boundaries. The method does not require temporal averaging and thus can be used to investigate time-dependent flows as well as static and steady situations. This coarse-graining method is available from MercuryDPM either as a post-processing tool or it can be run in real time. In real-time mode, it not only reduces the data which has to be stored but also allows boundary conditions etc. to be updated depending on the current macroscopic state of the system, e.g. allowing the creation of a pressure-release wall.\ud
Finally, we illustrate these tools and a selection of other features of MercuryDPM via various problems including size-driven segregation in chute flow, rotating drums, and screw-conveyer