yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #03110
Granular ratchetting explained
For those interested, I elaborated the comment a little in ScGeom.cpp
(possible wiki paragraph in the future), as this "granular ratchetting"
needed explanation.
We could put a simple py script to simulate the cycle explained below,
and test any law in Yade to see if it generates ratchetting.
Cheers
Bruno
"The following definition of c1x and c2x is to avoid "granular
ratcheting". This phenomenon has been introduced to me by S. McNamara in
a seminar help in Paris, 2004 (GDR MiDi). The concept is also mentionned
in many McNamara, Hermann, Lüding, and co-workers papers (see online :
"Discrete element methods for the micro-mechanical investigation of
granular ratcheting", R. García-Rojo, S. McNamara, H. J. Herrmann,
Proceedings ECCOMAS 2004, @
http://www.ica1.uni-stuttgart.de/publications/2004/GMH04/), where it
refers to an accumulation of strain in cyclic loadings.
Unfortunately, published papers tend to focus on the "good"
ratcheting, i.e. irreversible deformations due to the intrinsic nature
of frictional granular materials, while the talk of McNamara in Paris
clearly mentioned a possible "bad" ratcheting, purely linked with the
formulation of the contact laws in what he called "molecular dynamics"
(i.e. Cundall's model, as opposed to "contact dynamics" from Moreau and
Jean).
Giving a short explanation :
The bad ratcheting is best understood considering this small
elastic cycle at a contact between two grains : assuming b1 is fixed,
impose this displacement to b2 :
1. translation "dx" in the normal direction
2. rotation "a"
3. translation "-dx" (back to initial position)
4. rotation "-a" (back to initial orientation)
If the branch vector used to define the relative shear in
rotation*branch is not constant (typically if it is defined from the
vector center->contactPoint like in the "else" below), then the shear
displacement at the end of this cycle is not null : rotations a and -a
are multiplied by branches of different lengths.
It results in a finite contact force at the end of the cycle
even though the positions and orientations are unchanged, in total
contradiction with the elastic nature of the problem. It could also be
seen as an inconsistent energy creation or loss. It is BAD! And given
the fact that DEM simulations tend to generate oscillations around
equilibrium (damped mass-spring), it can have a significant impact on
the evolution of the packings, resulting for instance in slow creep in
iterations under constant load.
The solution to avoid that is quite simple : use a constant
branch vector, like here radius_i*normal."
--
_______________
Bruno Chareyre
Associate Professor
Grenoble INP
Lab. 3SR
BP 53 - 38041, Grenoble cedex 9 - France
Tél : 33 4 56 52 86 21
Fax : 33 4 76 82 70 43
________________
Follow ups