Abstract

We introduce the open-source package MercuryDPM, which we have been developing over the last few years. MercuryDPM is a code for discrete particle simulations. It simulates the motion of particles by applying forces and torques that stem either from external body forces, (gravity, magnetic fields, etc.) or particle interactions. The code has been developed extensively for granular applications, and in this case these are typically (elastic, plastic, viscous, frictional) contact forces or (adhesive) short-range forces. However, it could be adapted to include long-range (molecular, self-gravity) interactions as well.MercuryDPM is an object-oriented algorithm with an easy-to-use user interface and a flexible core, allowing developers to quickly add new features. It is parallelised using MPI and released under the BSD 3-clause licence. Its open-source developers’ community has developed many features, including moving and curved walls; state-of-the-art granular contact models; specialised classes for common geometries; non-spherical particles; general interfaces; restarting; visualisation; a large self-test suite; extensive documentation; and numerous tutorials and demos. In addition, MercuryDPM has three major components that were originally invented and developed by its team: an advanced contact detection method, which allows for the first time large simulations with wide size distributions; curved (non-triangulated) walls; and multicomponent, spatial and temporal coarse-graining, a novel way to extract continuum fields from discrete particle systems. We illustrate these tools and a selection of other MercuryDPM features via various applications, including size-driven segregation down inclined planes, rotating drums, and dosing silos. Program summaryProgram Title: MercuryDPMProgram Files doi: http://dx.doi.org/10.17632/n7jmdrdc52.1Licensing provisions: BSD 3-ClauseProgramming language: C++, FortranSupplementary material: http://mercurydpm.orgNature of problem: Simulation of granular materials, i.e. conglomerations of discrete, macroscopic particles. The interaction between individual grains is characterised by a loss of energy, making the behaviour of granular materials distinct from atomistic materials, i.e. solids, liquids and gases.Solution method: MercuryDPM (Thornton et al., 2013, 2019; Weinhart et al., 2016, 2017, 2019) is an implementation of the Discrete Particle Method (DPM), also known as the Discrete Element Method (DEM) (Cundall and Strack, 1979). It simulates the motion of individual particles by applying forces and torques that stem either from external forces (gravity, magnetic fields, etc.) or from particle-pair and particle–wall interactions (typically elastic, plastic, dissipative, frictional, and adhesive contact forces). DPM simulations have been successfully used to understand the many unique granular phenomena – sudden phase transitions, jamming, force localisation, etc. – that cannot be explained without considering the granular microstructure.Unusual features: MercuryDPM was designed ab initio with the aim of allowing the simulation of realistic geometries and materials found in industrial and geotechnical applications. It thus contains several bespoke features invented by the MercuryDPM team: (i) a neighbourhood detection algorithm (Krijgsman et al., 2014) that can efficiently simulate highly polydisperse packings, which are common in industry; (ii) curved walls (Weinhart et al., 2016) making it possible to model real industrial geometries exactly, without triangulation errors; and (iii) MercuryCG (Weinhart et al., 2012, 2013, 2016; Tunuguntla et al., 2016), a state-of-the-art analysis tool that extracts local continuum fields, providing accurate analytical/rheological information often not available from experiments or pilot plants. It further contains a large range of contact models to simulate complex interactions such as elasto-plastic deformation (Luding, 2008), sintering (Fuchs et al., 2017), melting (Weinhart et al., 2019), breaking, wet and dry cohesion (Roy et al., 2016, 2017), and liquid migration (Roy et al., 2018), all of which have important industrial applications.

Highlights

  • Granular materials – conglomerations of discrete, macroscopic particles – are ubiquitous in both industry and nature

  • Unusual features: MercuryDPM was designed ab initio with the aim of allowing the simulation of realistic geometries and materials found in industrial and geotechnical applications. It contains several bespoke features invented by the MercuryDPM team: (i) a neighbourhood detection algorithm (Krijgsman et al, 2014) that can efficiently simulate highly polydisperse packings, which are common in industry; (ii) curved walls (Weinhart et al, 2016) making it possible to model real industrial geometries exactly, without triangulation errors; and (iii) MercuryCG (Weinhart et al, 2012, 2013, 2016; Tunuguntla et al, 2016), a state-of-the-art analysis tool that extracts local continuum fields, providing accurate analytical/rheological information often not available from experiments or pilot plants

  • MercuryDPM [1,2,3,4] is an open-source package for simulating granular materials with the discrete particle method (DPM) [5]

Read more

Summary

Introduction

Granular materials – conglomerations of discrete, macroscopic particles – are ubiquitous in both industry and nature. MercuryDPM [1,2,3,4] is an open-source package for simulating granular materials with the discrete particle method (DPM) [5] It simulates the motion of N particles in a system constrained by Nw walls and body forces. The code has an easy-to-use user interface and a flexible core, allowing developers to quickly add new features. It is parallelised using MPI and released under the BSD 3-clause licence. Its open-source community has developed many features, including moving and curved walls; state-of-theart granular contact models; specialised classes for common geometries; non-spherical particles; general interfaces; restarting; visualisation; a large self-test suite; extensive documentation; and numerous tutorials and demos.

Coding philosophy
Major components
Contact detection
Application
Curved walls
Coarse graining
Insertion boundaries
Periodic boundaries
Stress- and strain-controlled periodic boundaries
Other boundary conditions
Contact models
Normal force models
Hertz spring-dashpot model
Linear elasto-plastic cohesive
Tangential force and torque models
Linear reversible adhesive force
Linear irreversible adhesive force
Liquid-bridge cohesion
Bonds and charges
Non-spherical particles
Ellipsoidal particles
Multispheres
General interfaces
Writing applications
Code samples
Common geometries
Restarting
Visualisation
Versioning
Self-test suite
Documentation and tutorials
Particle–solid interaction
Multi-resolution particle–fluid coupling
Better hybrid openMP-MPI parallelisation
Calibration via grain learning
10. Release strategy
Declaration of competing interest
STW 11039 ‘‘Polydispersed Granular Flows through Inclined Channels’’
DFG-STW 12272 ‘‘Hydrodynamic theory of wet particle systems’’
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call