Adaptive model reduction for nonsmooth discrete element simulation


A method for adaptive model order reduction for nonsmooth discrete element simulation is developed and analysed in numerical experiments. Regions of the granular media that collectively move as rigid bodies are substituted with rigid bodies of the corresponding shape and mass distribution. The method also support particles merging with articulated multibody systems. A model approximation error is defined and used to derive conditions for when and where to apply reduction and refinement back into particles and smaller rigid bodies. Three methods for refinement are proposed and tested: prediction from contact events, trial solutions computed in the background and using split sensors. The computational performance can be increased by 5–50 times for model reduction level between 70–95 %.

This is a preview of subscription content, log in to check access.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14


  1. 1.

    Pöschel T, Schwager T (2005) Computational granular dynamics, models and algorithms. Springer, NewYork

    Google Scholar 

  2. 2.

    Radjai F, Richefeu V (2009) Contact dynamics as a nonsmooth discrete element method. Mech Mater 41(6):715–728

    Article  Google Scholar 

  3. 3.

    Moreau JJ (1999) Numerical aspects of the sweeping process. Comput Methods Appl Mech Eng 177:329–349

    Article  MathSciNet  MATH  Google Scholar 

  4. 4.

    Jean M (1999) The non-smooth contact dynamics method. Comput Methods Appl Mech Eng 177:235–257

    Article  MathSciNet  MATH  Google Scholar 

  5. 5.

    Antoulas A (2005) Approximation of Large-Scale Dynamical Systems, Society for Industrial and Applied Mathematics

  6. 6.

    Kerschen G, Golinval J-C, Vakakis A, Bergman L (2005) The method of proper orthogonal decomposition for dynamical characterization and order reduction of mechanical systems: an overview. Nonlinear Dyn 41:147–169

    Article  MathSciNet  MATH  Google Scholar 

  7. 7.

    Nowakowski C, Fehr J, Fischer M, Eberhard P (2012) Model order reduction in elastic multibody systems using the floating frame of reference formulation, In Proceedings MATHMOD 2012–7th vienna international conference on mathematical modelling, Vienna, Austria

  8. 8.

    Glösmann P (2010) Reduction of discrete element models by KarhunenLove transform: a hybrid model approach. Comput Mech 45(4):375–385

    Article  MathSciNet  MATH  Google Scholar 

  9. 9.

    Munjiza A (2004) The combined finite-discrete element method. Wiley, Hoboken

    Google Scholar 

  10. 10.

    Miehe C, Dettmar J, Zah D (2010) Homogenization and two-scale simulations of granular materials for different microstructural constraints. Int J Numer Meth Eng 83:1206–1236

    Article  MATH  Google Scholar 

  11. 11.

    Guo N, Zhao J (2014) A coupled FEM/DEM approach for hierarchical multiscale modelling of granular media. Int J Numer Meth Eng 99(11):789–818

    Article  MathSciNet  Google Scholar 

  12. 12.

    Wellmann C, Wriggers P (2012) A two-scale model of granular materials. Comput Methods Appl Mech Eng 205–208:46–58

    Article  MathSciNet  Google Scholar 

  13. 13.

    Redon S, Lin M (2005) An efficient. Error-bounded approximation algorithm for simulating Quasi-statics of complex linkages, In proceedings of ACM symposium on solid and physical modeling

  14. 14.

    Redon S, Galoppo N, Lin M (2015) Adaptive dynamics of articulated bodies, In ACM Transactions on Graphics (SIGGRAPH 2005) 24 (3)

  15. 15.

    Cho N, Martin CD, Sego DC (2007) A clumped particle model for rock. Int J Rock Mech Mining Sci 44:997–1010

    Article  Google Scholar 

  16. 16.

    Jaeger H, Nagel S, Behringer R (1996) Granular solids, liquids, and gases. Rev Mod Phys 68(4):1259–1273

    Article  Google Scholar 

  17. 17.

    Bornemann F, Schütte C (1997) Homogenization of Hamiltonian systems with a strong constraining potential. Phys D 102(1–2):57–77

    Article  MathSciNet  MATH  Google Scholar 

  18. 18.

    Lacoursière C (2007) Regularized, stabilized, variational methods for multibodies. In: Peter Bunus DF., Führer C (eds) The 48th Scandinavian Conference on Simulation and Modeling (SIMS 2007), Linköping University Electronic Press, pp 40–48

  19. 19.

    Servin M, Wang D, Lacoursière C, Bodin K (2014) Examining the smooth and nonsmooth discrete element approach to granular matter. Int. J Numer Meth Eng 97:878–902

    Article  Google Scholar 

  20. 20.

    Renouf M, Bonamy D, Dubois F, Alart P (2005) Numerical simulation of two-dimensional steady granular flows in rotating drum: On surface flow rheology, Phys Fluids 17

  21. 21.

    Algoryx Simulations, AgX Dynamics User Guide Version, December 2014

  22. 22.

    Lua,, October 2015

  23. 23.

    Renouf M, Dubois F, Alart P (2004) A parallel version of the non smooth contact dynamics algorithm applied to the simulation of granular media. J Comput Appl Math 168(1–2):375–382

    Article  MathSciNet  MATH  Google Scholar 

  24. 24.

    Murty KG (1988) Linear complementarity, linear and nonlinear programming. Helderman, Heidelberg

    Google Scholar 

Download references


This project was supported by Algoryx Simulations, LKAB (dnr 223-2442-09), UMIT Research Lab and VINNOVA (2014-01901).

Author information



Corresponding author

Correspondence to Martin Servin.



Numerical integration of NDEM

The numerical time-integration scheme is based on the SPOOK stepper [18] derived from discrete variational principle for the augmented system \(({\mathbf{x}}, {\mathbf{v}}, \varvec{\lambda }, \dot{\varvec{\lambda }})\) and applying a semi-implicit discretization. The stepper is linearly stable and \(\mathcal {O}(\Delta t^2)\) accurate for constraint violations [18]. Stepping the system position and velocity, \(({\mathbf{x}}_i, {\mathbf{v}}_i) \rightarrow ({\mathbf{x}}_{i+1}, {\mathbf{v}}_{i+1})\), from time \(t_i\) to \(t_{i+1} = t_i + \Delta t\) involve solving a mixed complementarity problem (MCP) [24]. For a NDEM system the MCP take the following form

$$\begin{aligned} \begin{array}{c} {\mathbf{H}}{\mathbf{z}} + {\mathbf{b}} = {\mathbf{w}}_{l} - {\mathbf{w}}_{u} \\ 0 \le {\mathbf{z}} - {\mathbf{l}} \perp {\mathbf{w}}_{l}\ge 0 \\ 0 \le {\mathbf{u}} - {\mathbf{z}} \perp {\mathbf{w}}_{u}\ge 0 , \end{array} \end{aligned}$$


$$\begin{aligned}&{\mathbf{H}} = \left[ \begin{array}{cccc} {\mathbf{M}} &{} - {{\mathbf{G}}}_{\text {n}}^{\text {T}}&{} -{{\mathbf{G}}}_{\text {t}}^{\text {T}}&{} -{{\mathbf{G}}}_{\text {r}}^{\text {T}}\\ {{\mathbf{G}}}_{\text {n}} &{} {\varvec{\Sigma }}_{\text {n}} &{} 0 &{} 0 \\ {{\mathbf{G}}}_{\text {t}} &{} 0 &{} {\varvec{\Sigma }}_{\text {t}} &{} 0\\ {{\mathbf{G}}}_{\text {r}} &{} 0 &{} 0 &{} {\varvec{\Sigma }}_{\text {r}} \\ \end{array} \right] , \end{aligned}$$
$$\begin{aligned}&{\mathbf{z}} = \begin{bmatrix} {{\mathbf{v}}_{i+1}} \\ \varvec{\lambda }_{\text {n},i+1} \\ \varvec{\lambda }_{\text {t},i+1} \\ \varvec{\lambda }_{\text {r},i+1}\end{bmatrix},\ \ {\mathbf{b}} = \begin{bmatrix} {-{\mathbf{M}} {\mathbf{v}}_{i} -\Delta t{\mathbf{M}}^{-1} {{\mathbf{f}}}_{\text {ext}} } \\ \tfrac{4}{\Delta t} {\varvec{\Upsilon }}_{\text {n}}{{\mathbf{g}}}_{\text {n}} - {\varvec{\Upsilon }}_{\text {n}}{{\mathbf{G}}}_{\text {n}}{\mathbf{v}}_{i} \\ {0} \\ {0}\end{bmatrix}, \end{aligned}$$

and the solution vector \({\mathbf{z}}\) contains the new velocities and the Lagrange multipliers \(\varvec{\lambda }_{\text {n}}\), \(\varvec{\lambda }_{\text {t}},\) and \(\varvec{\lambda }_{\text {r}}\). For notational convenience, a factor \(\Delta t\) has been absorbed in the multipliers such that the constraint force reads \({\mathbf{G}}^T\varvec{\lambda }/\Delta t\). The upper and lower limits, u and l in Eq. (41), follow from Signorini-Coulomb and rolling resistance law with the friction and rolling resistance coefficients \({\mu }_{\text {t}}\) and \({\mu }_{\text {r}}\). Since the limits depend on the solution this is a partially nonlinear complementarity problem. \(w_{l}\) and \(w_{u}\) are temporary slack variables. Each contact n between body a and b add contributions to the constraint vector and normal, friction and rolling Jacobians according to

$$\begin{aligned}&g_{(n)} = \vec {{\mathbf{n}}}_{(n)}^{\text {T}}(\vec {{\mathbf{x}}}_{[a]} + \vec {{\mathbf{d}}}^{(n)}_{[a]} -\vec {{\mathbf{x}}}_{[b]} - \vec {{\mathbf{d}}}^{(n)}_{[b]})^{{e}_{\text {H}}}_{(\alpha )}\nonumber ,\\&{\mathbf{G}}_{\text {n}[a]}^{(n)} = {e}_{\text {H}} g^{{e}_{\text {H}}-1}_{(\alpha ) }\left[ \begin{array}{cc} -\vec {{\mathbf{n}}}_{(n)}^{{\text {T}}}&\ \ -(\vec {{\mathbf{d}}}^{(n)}_{[a]} \times \vec {{\mathbf{n}}}_{(n)})^{\text {T}} \end{array} \right] \nonumber ,\\&{\mathbf{G}}_{\text {n}[b]}^{(n)} = {e}_{\text {H}} g^{{e}_{\text {H}}-1}_{(\alpha ) }\left[ \begin{array}{cc} \vec {{\mathbf{n}}}_{(n)}^{{\text {T}}}&\ \ (\vec {{\mathbf{d}}}^{(n)}_{[b]} \times \vec {{\mathbf{n}}}_{(n)})^{\text {T}} \end{array} \right] ,\\&{\mathbf{G}}_{\text {t}[a]}^{(n)} = \left[ \begin{array}{cc} -\vec {{\mathbf{t}}}^{(n){\text {T}}}_1 &{}\ \ -(\vec {{\mathbf{d}}}^{(n)}_{[a]} \times \vec {{\mathbf{t}}}^{(n)}_1)^{\text {T}} \\ -\vec {{\mathbf{t}}}^{(n){\text {T}}}_2 &{}\ \ -(\vec {{\mathbf{d}}}^{(n)}_{[a]} \times \vec {{\mathbf{t}}}^{(n)}_2)^{\text {T}} \end{array} \right] \nonumber ,\\&{\mathbf{G}}_{\text {t}[b]}^{(n)} = \left[ \begin{array}{cc} \vec {{\mathbf{t}}}^{(n){\text {T}}}_1 &{}\ \ (\vec {{\mathbf{d}}}^{(n)}_{[b]} \times \vec {{\mathbf{t}}}^{(n)}_1)^{\text {T}} \\ \vec {{\mathbf{t}}}^{(n){\text {T}}}_2 &{}\ \ (\vec {{\mathbf{d}}}^{(n)}_{[b]} \times \vec {{\mathbf{t}}}^{(n)}_2)^{\text {T}} \end{array} \right] \nonumber ,\\&{\mathbf{G}}_{\text {r}[a]}^{(n)} = \left[ \begin{array}{cccc} \mathbf {0}_{1\times 3} &{}\ \vec {{\mathbf{t}}}^{(n){\text {T}}}_1 &{}\ \ \mathbf {0}_{1\times 3} &{} -\vec {{\mathbf{t}}}^{(n){\text {T}}}_1\\ \mathbf {0}_{1\times 3} &{}\ \vec {{\mathbf{t}}}^{(n){\text {T}}}_2 &{}\ \ \mathbf {0}_{1\times 3} &{} -\vec {{\mathbf{t}}}^{(n){\text {T}}}_2\\ \mathbf {0}_{1\times 3} &{}\ \vec {{\mathbf{n}}}^{(n){\text {T}}} &{}\ \ \mathbf {0}_{1\times 3} &{} -\vec {{\mathbf{n}}}^{(n){\text {T}}}\\ \end{array} \right] \nonumber ,\\&{\mathbf{G}}_{\text {r}[b]}^{(n)} = \left[ \begin{array}{cccc} \mathbf {0}_{1\times 3} &{}\ \ -\vec {{\mathbf{t}}}^{(n){\text {T}}}_1 &{}\ \ \mathbf {0}_{1\times 3} &{}\vec {{\mathbf{t}}}^{(n){\text {T}}}_1\\ \mathbf {0}_{1\times 3} &{}\ \ -\vec {{\mathbf{t}}}^{(n){\text {T}}}_2 &{}\ \ \mathbf {0}_{1\times 3} &{}\vec {{\mathbf{t}}}^{(n){\text {T}}}_2\\ \mathbf {0}_{1\times 3} &{}\ \ -{\mathbf{n}}^{(n){\text {T}}} &{}\ \ \mathbf {0}_{1\times 3} &{}\vec {{\mathbf{n}}}^{(n){\text {T}}}\\ \end{array} \right] \nonumber , \end{aligned}$$

where \(\vec {{\mathbf{d}}}^{(n)}_{[a]}\) and \(\vec {{\mathbf{d}}}^{(n)}_{[b]}\) are the positions of the contact point n relative to the particle positions \(\vec {{\mathbf{x}}}_{[a]}\) and \(\vec {{\mathbf{x}}}_{[b]}\). The orthonormal contact normal and tangent vectors are \(\vec {{\mathbf{n}}}_{(n)}\), \(\vec {{\mathbf{t}}}_{(n)_1}\) and \(\vec {{\mathbf{t}}}_{(n)_2}\). For linear contact model \({e}_{\text {H}} = 1\) and for the nonlinear Hertz-Mindlin model \({e}_{\text {H}} = 5/4\). The diagonal matrices \({\varvec{\Sigma }}_{\text {n}}\), \({\varvec{\Sigma }}_{\text {t}}\) , \({\varvec{\Sigma }}_{\text {r}}\) and \({\varvec{\Upsilon }}_{\text {n}}\) contain the contact material parameters and are as follows

$$\begin{aligned}&{\varvec{\Sigma }}_{\text {n}} = \frac{4}{\Delta t^2}\frac{{\varepsilon }_{\text {n}}}{1+4\tfrac{{\tau }_{\text {n}}}{\Delta t}}{\mathbf {1}}_{N_{c}\times N_{c}}\nonumber ,\\&{\varvec{\Sigma }}_{\text {t}} = \frac{{\gamma }_{\text {t}}}{\Delta t}{\mathbf {1}}_{2N_{c}\times 2N_{c}}\nonumber ,\\&{\varvec{\Sigma }}_{\text {r}} = \frac{{\gamma }_{\text {r}}}{\Delta t}{\mathbf {1}}_{3N_{c}\times 3N_{c}},\\&{\varvec{\Upsilon }}_{\text {n}} = \frac{1}{1+4\tfrac{{\tau }_{\text {n}}}{\Delta t}}{\mathbf {1}}_{N_{c}\times N_{c}}\nonumber . \end{aligned}$$

The MCP parameters map to DEM material parameters by \({\varepsilon }_{\text {n}} = {e}_{\text { H}}/{k}_{\text {n}}\), \({\gamma }_{\text {n}}^{-1} = {k}_{\text {n}}c/e^2_{\text { H}}\) and \({\tau }_{\text {n}} = \max ({n}_{\text {s}}\Delta t, {\varepsilon }_{\text {n}}/{\gamma }_{\text {n}})\), with elastic stiffness coefficient \({k}_{\text {n}}\) and viscosity c. For the Hertz-Mindlin contact law, \({k}_{\text {n}} = {e}_{\text { H}}E\sqrt{r^*}/3(1-\nu ^2)\) where \(r^{*} = (r_a + r_b)/r_a r_b\) is the effective radius, E is the Young’s modulus and \(\nu \) is the Poisson ratio. For small relative contact velocities the normal force approximates \({\mathbf{G}}_{\text {n}}^{(n){\text {T}}}\varvec{\lambda }_{\text {n}}^{(n)} \approx \varepsilon _{\text {n}}^{-1}{\mathbf{G}}_{\text {n}}^{(n){\text {T}}}{\mathbf{g}}_{\text {n}}^{(n)} = \pm {k}_{\text {n}}\left[ {{\mathbf{g}}}_{\text {n}}^{2{e}_{\text { H}} -1} + c {{\mathbf{g}}}_{\text {n}}^{2({e}_{\text { H}} -1)}\dot{g}_{\text {n}}\right] {\mathbf {n}}\). High ingoing velocities are treated as impacts and this is done post facto. After stepping the velocities and positions an impact stage follows. This include solving a MCP similar to Eq. (41) but with the Newton impact law, \({{\mathbf{G}}}_{\text {n}}^{(n)} {\mathbf{v}}_{+} = - e{{\mathbf{G}}}_{\text {n}}^{(n)} {\mathbf{v}}_{-}\), replacing the normal constraints for the contacts with normal velocity larger than an impact velocity threshold \({v}_{\text {imp}}\). The remaining constraints are maintained by imposing \({\mathbf{G}}^{(n)}{\mathbf{v}}_{+} = 0\). This can be expressed by a matrix multiplication \({{\mathbf{G}}}_{\text {n}} {\mathbf{v}}_{+} = - {\mathbf{E}}{{\mathbf{G}}}_{\text {n}}{\mathbf{v}}_{-}\), where the diagonal matrix \({\mathbf{E}}\) values alternate between e and 0 for impacting and resting contacts, respectively. The MCP is solved using a projected Gauss-Seidel (PGS) algorithm, as described in Ref. [19]. The algorithm is listed in Algorithm 2. The NDEM method with PGS solver is implemented in the software AgX Dynamics [21]. In the present study \({\gamma }_{\text {t}} = {\gamma }_{\text {r}} = 10^{-6}\), \({n}_{\text {s}} = 2\) was used and a linear contact model, \({e}_{\text { H}} = 1\), for consistency with contacts between elementary rigid bodies and aggregate bodies, for which linear contact constraints are default in AgX.


Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Servin, M., Wang, D. Adaptive model reduction for nonsmooth discrete element simulation. Comp. Part. Mech. 3, 107–121 (2016).

Download citation


  • Discrete elements
  • Nonsmooth contact dynamics
  • Adaptive model reduction
  • Merge and split