Abstract
The spring-dashpot-slider is a common way to include solid friction for discrete element method simulations of granular matter. However, the most popular model that is currently in use has a number of problems, including the spontaneous creation of energy. The main cause for these problems is the discontinuous evolution of the spring displacement. In this paper, we derive a differential equation for the displacement that yields a continuous time evolution, that fixes the problems of the discontinuous model and is simpler to implement.
Similar content being viewed by others
Avoid common mistakes on your manuscript.
1 Introduction
Whenever one wants to simulate many-body behaviour of granular matter, atomistic or continuum models resolving the sub-grain physics are usually an overkill, little instructive and computationally too expensive. Instead, one uses phenomenological grain-based models. In order to render them predictive, they must be underpinned by a scale-bridging scheme to represent the microscopic physics accurately on the grain scale [1]. For the normal force between viscoelastic spherical particles, this has been achieved [2, 3]. The implementation of solid friction, however, is less well understood. It is most commonly modelled by the so called spring-dashpot-slider (SDS). Likewise, rolling and twisting torques in general use the same approach, as, for instance, implemented in the widely utilised simulation software LAMMPS [4].
The prominence of the SDS does not come as a surprise, considering the simplicity of the idea and its ability to predict many observed features of granular matter. The model describes the contact in one of two states: Either the contact is sticking – the contact interaction is modelled as a damped harmonic oscillator (spring-dashpot) – or, if a certain threshold for the force/torque is exceeded, the contact is sliding.
In spite of its wide and largely successful use, the SDS can produce unphysical results under certain conditions, as will be pointed out in the following. This fact has remained essentially unnoticed, but becomes detrimental, e.g., for simulations of granular gases.
To understand the problems of the current version of the SDS, we need to review this model in some detail. We limit the discussion in this paper to contact forces; however, the application of these findings to torques is straight forward [5]. We will start with the sticking state. In the SDS model, the elastic deformation of the material is not spatially resolved, but represented by the displacement vector \(\varvec{\xi }\) of a tangential spring: The reaction force of the viscoelastic material deformation, \(\varvec{F}\), corresponds to the force \(\varvec{F}_\textrm{S}\) of a spring with stiffness k and damping factor \(\gamma \). All vectors are understood to be in the tangential plane of the contact. This implies that the displacement vector must be rotated back into the contact plane every time it is updated (cf. [5]).
Special care is required for the discussion of relative velocities. We must distinguish between the relative velocity of the surface under the assumption that the material is not deforming and the real microscopic slip velocity, which is zero in the sticking state by definition. The former velocity, typically called relative tangential velocity or just relative velocity, \(\varvec{v}\), is currently used in the SDS for the force calculation, i.e.
As long as the contact is not sliding, the loading velocity \(\dot{\varvec{\xi }}\) is equal to the relative velocity of the two surfaces in contact, yielding the spring’s time evolution
According to the Coulomb friction law, the viscoelastic deformation of the two bodies in contact can only prevent sliding as long as the absolute value of the reaction force \(F = |\varvec{F}|\) does not exceed \(F_\textrm{max} = \mu F_\textrm{n}\), where \(F_\textrm{n}\) denotes the (positive) normal contact force and \(\mu \) the friction coefficient (we do not distinguish between static and dynamic friction coefficients here). Once the contact starts sliding, the absolute value of the tangential contact force is \(F=F_\textrm{max}\). A larger reaction force cannot be transmitted from one side of the contact to the other. This rules out the simultaneous validity of (2) and \(\varvec{F}=\varvec{F}_\textrm{S}\) while sliding.
Therefore, the question arises, how the spring displacement is updated while the contact is sliding. Unfortunately, there exists no satisfying answer in the literature. In most cases, it is either said that the spring displacement is updated according to (2) without specifying a different formula for sliding contacts (e.g., Jiang et al. [6], Marshall [7]), giving up the physical interpretation of the spring force, or the spring displacement update is not mentioned at all. Simply integrating the spring displacement according to (2) without any physical meaning is not convincing, though. Luding [5] and Silbert et al. [8], on the other hand, discard (2) and determine the spring displacement in such a way that \(F_\textrm{S} = F_\textrm{max}\) is satisfied. Silbert et al. propose to truncate the magnitude of the displacement, i.e. \(\xi := |\varvec{\xi }|\); however, by only changing the magnitude of the vector, it is, in general, not possible to satisfy the condition \(F_\textrm{S}=F_\textrm{max}\), e.g. if \(\gamma |\varvec{v}| > F_\textrm{max}\). In contrast, Luding proposes to set the displacement to
keeping the definition of \(\varvec{F}_\textrm{S}\) as given in (1). We will call this model the discontinuous spring-dashpot-slider (D-SDS), which is the common implementation, used, e.g., in LAMMPS [4].
While the spring displacement \(\varvec{\xi }_\textrm{D}\) indeed satisfies \(F_\textrm{S} = F_\textrm{max}\), there are a couple of problems related to this approach. For the discussion of these problems, we consider a newly formed contact, i.e. a contact that has no finite spring displacement yet, and a large relative velocity so that \(\gamma |\varvec{v}|>F_\textrm{max}\), as an example. This means that the contact must be sliding from the beginning, as the viscous shear stress (represented by the damping force opposing the build-up of elastic deformation) would exceed what a sticking contact could bear. We want to emphasize that this is not a particularly exotic case; it is quite the opposite: Every new contact starts with \(F_\textrm{n} = F_\textrm{max} = 0\) and is, therefore, always sliding, as long as \(v>0\) (cf., e.g., Schwager et al. [9]). Thus, the D-SDS instantly sets the spring displacement of every new contact to \(\varvec{\xi }= -\gamma \varvec{v} / k\).
We have identified three problems with this model, which we briefly address at this point and will return to them later in Section 3. First, as the spring displacement term in (1) must partially compensate the large velocity term (as specified in (3)), it may happen that the spring is loaded in the opposite direction of the velocity, as in our example. However, this goes against the physical interpretation of what this spring should represent. Second, adjusting the spring displacement instantaneously to fulfill (3) does, of course, not correspond to a continuous change in general. This has a negative impact on higher order integration schemes.
And most importantly, instantaneously loading the spring also instantaneously increases the potential energy of the system. This increase is, however, not met with a sufficient reduction of kinetic energy, which means that the total energy of the system spontaneously increases! In this work, we propose a simple model for a continuous spring-dashpot-slider (C-SDS), which fixes all three problems mentioned above.
2 Continuous spring-dashpot-slider (C-SDS) model
In Section 2.1, we derive the C-SDS based on a consequent discrimination between the relative tangential velocity, the loading velocity and the microscopic slip velocity. Then, we discuss three sanity checks to confirm that our model meets the physical expectations in Section 2.2.
2.1 Derivation of the C-SDS
In the sticking state, the only contribution to \(\varvec{v}\) results from the build-up or release of elastic deformation within the adjacent materials. It is represented by the spring loading velocity \(\dot{\varvec{\xi }}\). Both have to be distinguished from a slip velocity \(\varvec{s}\) between the actual surfaces, which must be zero in the sticking state. In the sliding state, \(\varvec{s}\) is non-zero and given by:
It is this slip velocity which determines the direction of the friction force via
as prescribed by the Coulomb friction law. Therefore, the temporal evolution of the spring displacement is given by
where the left-hand side is the viscoelastic response of the material to any applied surface force, which, in the present case, is the Coulomb friction. Inserting (4), we find
from which we infer the slip direction as
Hence,
follows for the spring displacement’s time evolution, whenever the contact is sliding. In our model, the C-SDS, (9) functionally replaces (3) in the D-SDS. Note that while sliding, the spring force \(\varvec{F}_\textrm{S}\) is a test force and no longer the actual force that the spring exerts.
Finally, we conclude that
is the combined differential equation for sticking and sliding: For \(F_\textrm{S} < F_\textrm{max}\), the right-hand side evaluates to \(\varvec{v}\), and in the other case we recover (9). Therefore, our model is in perfect agreement with the Coulomb friction law, as the only thing that differentiates sticking from sliding is the limitation of the force’s magnitude. This also demonstrates the simplification of the model’s implementation compared to the D-SDS: Instead of two separate treatments for the spring displacement update in the sticking and sliding states, respectively, the C-SDS only requires the limitation of the acting force, which is already required in the SDS in general.
2.2 Sanity checks
At this point, we discuss three important physical results which are guaranteed by the C-SDS.
2.2.1 Energy balance
We show that the C-SDS never generates energy from nothing, in contrast to the D-SDS. The work done by the friction force per unit time (by decelerating the relative velocity) is \(\varvec{F}\cdot \varvec{v}\). Part of it, \(\varvec{F}\cdot \varvec{s}\), is dissipated due to the slip. The rest is used to deform the adjacent viscoelastic material. It consists of the conservative power of changing the potential energy, \(-k\varvec{\xi }\cdot \dot{\varvec{\xi }}\), and the viscous loss, \(-\gamma \dot{\varvec{\xi }}^2\). Energy balance requires
which is obviously fulfilled if one inserts (4) and (9). This equality shows that no energy is created and no energy is lost to anything other than the specified dissipation channels, spring damping and slip dissipation.
2.2.2 Limitation of the loading velocity
While the contact is sliding and the spring is loading, i.e. while \(F_\textrm{S} > F_\textrm{max}\) and \(\varvec{\xi } \cdot \dot{\varvec{\xi }} > 0\) hold, the loading rate \(\dot{\xi }= |\dot{\varvec{\xi }}|\) is always smaller than the relative velocity \(v = |\varvec{v}|\). This is shown in the following. The first two terms on the left-hand side of (11) are positive under the present conditions; hence,
This means that
According to (4), the components of \(\dot{\varvec{\xi }}\) that are parallel and perpendicular to \(\varvec{s}\) are
respectively. Hence, using (13),
proves our claim.
2.2.3 Sticking condition
In addition to \(F_\textrm{S} \le F_\textrm{max}\), there is another condition that must be met for a sticking contact: The slip velocity \(\varvec{s}\) has to be zero. In the C-SDS model, these two conditions automatically coincide, as we will discuss now. According to (1), (6) and (4), the test force is \(\varvec{F}_\textrm{S}=\varvec{F}-\gamma \varvec{s}\) which is valid both in the sticking state (\(\varvec{s}=0\)) and in the sliding state (\(\varvec{s} \ne 0\)). The transition from sticking to sliding happens, as soon as the absolute value of the test force becomes larger than \(F_\textrm{max}\). At this moment, a non-zero slip velocity \(\varvec{s}\) occurs:
where (5) has been used. As the test force and the slip are antiparallel to each other, (8), this equation implies
which instantly shows that
In particular, we find that the absolute value of the test force drops to the maximum force if the slip velocity vanishes, i.e. \(F_\textrm{S} \rightarrow F_\textrm{max}\) if \(s \rightarrow 0\). Therefore, the contact starts sticking again as soon as \(F_\textrm{S} = F_\textrm{max}\). Thus, with our model, it is sufficient to check the absolute value of the test force to know if a contact sticks or slides.
3 Numerical comparison
In this section, we present the results of the application of our model to a simple test case and compare them to the results produced by the D-SDS. Furthermore, we discuss the problems connected to the latter approach.
3.1 Simulated system
For simplicity, we restricted the test to a one dimensional problem; we simulated two planar surfaces, experiencing a constant normal force \(F_\textrm{n}\) and a finite tangential force F due to a finite relative tangential velocity. Note that for the remainder of this section, all vectors have been replaced by signed numbers, e.g. the tangential force F, the spring displacement \(\xi \) and the relative velocity v are the one dimensional pendants to the vectors \(\varvec{F}\), \(\varvec{\xi }\) and \(\varvec{v}\). The damping coefficient is \(\gamma =2\) in the natural units (n. u.) obtained from reduced mass m, spring stiffness k and critical force \(F_\textrm{max}\). For the chosen \(v(0)=4\), the contact is sliding instantly.
At time \(t=0\), the system starts with a zero spring displacement \(\xi \). The time evolution is calculated by the Euler integration scheme, using time steps of \(\varDelta t\in \{10^{-1},10^{-3}\}\).
3.2 Comparison of Dynamics
The time evolution of the spring displacement, the relative velocity and the tangential force are depicted in Fig. 1. We notice significant differences between both models. Let us discuss the D-SDS first. Its most startling feature is the rapid oscillation between sticking (\(F_\textrm{S}=F>-1\)) and sliding (\(F_\textrm{S}\) truncated to \(F=-1\)) in the beginning. The rather large \(\varDelta t=0.1\) was chosen for visibility purposes, because the amplitude of the oscillation in F is proportional to \(\varDelta t\), while its frequency starts of proportional to \(1/\varDelta t\). This shows that this “stick-slip” is not of physical origin.
The explanation for this artefact is rather the following: Let us denote the velocity and spring displacement in the i-th time step as \(v_i\) and \(\xi _i\), respectively. Furthermore, let us assume that \(v_i > 0\) and \(|F_\textrm{S}|(\xi _i, v_i) > F_\textrm{max}\) hold. This means that the contact is sliding; therefore, as the force \(F = {{\,\textrm{sign}\,}}\left( F_\textrm{S}(\xi _i, v_i) \right) F_\textrm{max}\) and the velocity \(v_i\) have opposite signs, \(0< v_{i+1} < v_i\) holds. Additionally, we know that the spring displacement for the next step \(\xi _{i+1}\) is given by (3) for the D-SDS,
Using these updated quantities to calculate the spring force for the next time step, we find
hence the contact immediately stops sliding (we can obviously assume that \(v_i - v_{i+1}\) is small).
Because the time evolution of the spring displacement is now governed by (2) again, and because the spring displacement and velocity have opposite signs, the spring will be relaxed for the next time step. Thus, as long as the velocity is still large enough, the new spring displacement \(\xi _{i+2}\) is not able to compensate the velocity term in the spring force so that the contact starts sliding again. For
this is no longer possible, as the force can only decrease.
Note that the oscillation of \(\xi \) visible in Fig. 1 does not simply originate from integrating F twice with respect to time. Rather, it is the cause of the oscillation in F due to the instantaneous setting of \(\xi \). Moreover, this instantaneous setting of a degree of freedom is in conflict with the general spirit of integration schemes for differential equations (cf. Appendix A).
In contrast to the points made above, the simulation using the C-SDS shows exactly the behaviour we expect: For the whole time that the contact is sliding, the spring displacement increases continuously with the correct sign, while the relative velocity is damped. Then, as soon as the resulting spring force becomes smaller than the critical force, the system smoothly transitions into the sticking state.
3.3 Comparison of the kinetic energies
In Fig. 2, we compare the time evolution of the kinetic energy difference between the D-SDS and our C-SDS. This comparison illustrates the most serious problem with the former: A significant part of the energy created by the instantaneous loading of the spring is converted to kinetic energy. In fact, the amount of created energy scales quadratically in the initial relative velocity – the spring displacement, (3), enters linearly in the relative velocity –, making this problem especially dramatic in high velocity collisions.
The energy oscillations result directly from the oscillations of the spring displacement, shown in Fig. 1. We want to add that even an implicit implementation of the D-SDS, i.e. setting the spring displacement such that the force’s magnitude in the following time step is equal to \(F_\textrm{max}\), would only remedy the observed oscillations but not the energy creation nor the physical interpretation.
4 Summary
We have shown that the SDS, which is a paramount tool for simulations of granular matter in many fields of research, had to be revisited in order to avoid unphysical results. Especially, its most detailed and most widely used realisation, the D-SDS [5], can result in problematic behaviour – most importantly in the creation of energy. We recall that this occurs whenever the contact starts to slide before the spring is fully loaded. Moreover, only for contacts that form without a relative tangential velocity, \(v = 0\), no energy is created. This is because the normal contact force and, thus, the critical force \(F_\textrm{max}\) is zero at the moment when the two surfaces come into contact. Therefore, in the case of particle collisions, e.g. in a granular gas, the D-SDS creates, depending on the granular temperature, significant amounts of energy for all but central collisions – which are statistically negligible for most systems. Thus, measured cooling rates, as an example, will have a temperature dependent error, underestimating the correct value for the chosen damping parameters.
The C-SDS, proposed in this work, is a simple rework of the D-SDS for sliding contacts which needs no additional parameters, makes no assumptions that are not already part of the SDS for sticking contacts or the Coulomb friction law. We have shown analytically that it fixes all the afore mentioned problems of the D-SDS, and have provided the case of two sliding plates as a numerical example (cf. Figs. 1 and 2). Moreover, the implementation of the C-SDS is simpler than that of the D-SDS: The spring displacement integration scheme does not need to distinguish between the two states, no sticking/sliding-flag is needed.
Data Availability
To reproduce the presented simulations, no a-prior data is necessary and the numerical effort is low.
References
Antonyuk, S. (ed.): Particles in Contact: Micro Mechanics, Micro Process Dynamics and Particle Collective. Springer International Publishing (2019). https://doi.org/10.1007/978-3-030-15899-6
Kuwabara, G., Kono, K.: Restitution coefficient in a collision between two spheres. Jpn. J. Appl. Phys. 26, 1230 (1987). https://doi.org/10.1143/JJAP.26.1230
Ramírez, R., Pöschel, T., Brilliantov, N.V., Schwager, T.: Coefficient of restitution of colliding viscoelastic spheres. Phys. Rev. E 60, 4465 (1999). https://doi.org/10.1103/PhysRevE.60.4465
Thompson, A.P., Aktulga, H.M., Berger, R., Bolintineanu, D.S., Brown, W.M., Crozier, P.S., in ’t Veld, P.J., Kohlmeyer, A., Moore, S.G., Nguyen, T.D., Shan, R., Stevens, M.J., Tranchida, J., Trott, C., Plimpton, S.J.: LAMMPS - a flexible simulation tool for particle-based materials modeling at the atomic, meso, and continuum scales. Comput. Phys. Commun. 271, 108171 (2022). https://doi.org/10.1016/j.cpc.2021.108171
Luding, S.: Cohesive, frictional powders: contact models for tension. Granul. Matter 10(4), 235 (2008). https://doi.org/10.1007/s10035-008-0099-x
Jiang, M., Shen, Z., Wang, J.: A novel three-dimensional contact model for granulates incorporating rolling and twisting resistances. Comput. Geotech. 65, 147 (2015). https://doi.org/10.1016/j.compgeo.2014.12.011
Marshall, J.S.: Discrete-element modeling of particulate aerosol flows. J. Computat. Phys. 228(5), 1541 (2009). https://doi.org/10.1016/j.jcp.2008.10.035
Silbert, L.E., Ertaş, D., Grest, G.S., Halsey, T.C., Levine, D., Plimpton, S.J.: Granular flow down an inclined plane: Bagnold scaling and rheology. Phys. Rev. E 64(5), 051302 (2001). https://doi.org/10.1103/PhysRevE.64.051302
Schwager, T., Becker, V., Pöschel, T.: Coefficient of tangential restitution for viscoelastic spheres. Eur. Phys. J. E 27, 107 (2008). https://doi.org/10.1140/epje/i2007-10356-3
Press, W., Teukolsky, S., Vetterling, W., Flannery, B.: Numerical Recipes 3rd Edition: The Art of Scientific Computing, 3rd edn., chap. 17.1. Cambridge University Press (2007)
Acknowledgements
The presented research is funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) - Projektnummer(458889524). We acknowledge support by the Open Access Publication Fund of the University of Duisburg-Essen.
Funding
Open Access funding enabled and organized by Projekt DEAL.
Author information
Authors and Affiliations
Contributions
All three authors made substantial contributions to the analysis of the shortcomings of the D-SDS and the development of the correct C-SDS. F.F. drafted the manuscript, L.B. prepared the revised figures, F.F. and L.B. performed the numerical analysis of both models, and D.E.W. revised it critically. All three authors approved the version to be published and agree to be accountable for all aspects of the work in ensuring that questions related to the accuracy or integrity of any part of the work are appropriately investigated and resolved.
Corresponding author
Ethics declarations
Competing interests
D.E.W. is member of the editorial board of the journals Granular Matter and Computational Particle Mechanics. Otherwise, the authors declare that they have no competing interests.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
A Higher order integration schemes
A Higher order integration schemes
Numerical integration schemes for ordinary differential equations
evolve the state vector \(\vec u\) by constructing an approximation to \(\vec u((n{+}1)\varDelta t)-\vec u(n\varDelta t)\) and adding it to the current state \(\vec u^n\), i.e. they apply a change of order \(\varDelta t\) solely according to \(\vec f\). Additional adjustments of some components of \(\vec u\) (two in the case of the D-SDS: \(\varvec{\vec \xi }\)) are not included. Actually, it’s not evident whether those can be uniquely incorporated into every scheme. The classical Runge-Kutta 4\(^\text {th}\) order scheme [10], for example, has to be written as
in order to be able to adjust the auxiliary states \(\vec u_i\) to a constraint after each of their regular assignment (22)-(23). The midpoint scheme
and the Heun method
are more straight forward in this respect.
Unfortunately, the usage of higher order schemes for the D-SDS is ineffectual, as shown in Fig. 3: The deviation of v(t) from its analytical solution is \(1^\text {st}\) order in \(\varDelta t\), also for the Heun scheme (\(2^\text {nd}\) order) and the Runge-Kutta scheme (\(4^\text {th}\) order). The reason is that the adjustments of \(\xi \) according to (3) introduce perturbations of the order \(\varDelta t\). (Actually, the mathematically rigorous way to tie \(\varvec{\vec \xi }\) to \(\vec v\) during the D-SDS sliding phase would be to describe the SDS as a so called DAE, a Differential-Algebraic system of Equations.)
The midpoint scheme is an example where the consequences of these adjustments are even more severe. Here, the auxiliary state \(\vec {u}_1\) only enters via \(\vec {f}(\vec {u}_1)\) in the next full step to \(\vec {u}^{n+1}\). For that reason, any adjustment performed on \(\vec {u}_1\) does not carry over to \(\vec {u}^{n+1}\) and is lost. This is clearly visible in Fig. 4: As the Coulomb criterion is violated in the states \(\vec {u}^n\) for up to \(t\approx 8\), the spring displacements \(\xi \) are adjusted according to (3) in all auxiliary states. These displacements depend solely and linearly on the velocity v in the current state \(\vec {u}^n\), hence the linear lower envelope of \(\xi (t)\) in Fig. 4. The spring displacements in the states \(\vec {u}^n\), on the other hand, are integrated according to (2), starting from zero, as they have not been set according to (3) at any time. Because of the linear behaviour of the velocity v, the upper envelope of \(\xi (t)\) in Fig. 4 is a parabola. Note that the curves presented in Fig. 4 differ drastically from the ones that the Euler scheme produced for the D-SDS (cf. Fig. 1). Even for \(\varDelta t\rightarrow 0\) they would not converge to the analytical solution.
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article’s Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article’s Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Führer, F., Brendel, L. & Wolf, D.E. Correction of the spring-dashpot-slider model. Granular Matter 26, 53 (2024). https://doi.org/10.1007/s10035-024-01424-4
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s10035-024-01424-4