Vous êtes sur la page 1sur 4

Non Smooth Contact Dynamics : applications aux

milieux granulaires
Mathieu Renouf, Pierre Alart, Frédéric Dubois
1
Laboratoire de Mécanique et Génie Civil
cc048, Place Eugène Bataillon, 34090 Montpellier, France

renouf@lmgc.univ-montp2.fr

Résumé— Les milieux granulaires sont depuis le début des tinct Element Method [1]). Rapidement d’autre méthodes
années 80 sujets à de nombreuses études ayant pour but voient le jour avec toutes pour même objectif la simulation
de déterminer leur comportement tantôt proche du liquide
tantôt proche du solide. En complément de l’approche expé- des milieux discrets. Deux grandes classes de méthode se
rimentale, les simulations numériques apparaissent comme distinguent : les méthodes régulières dites "Smooth" [5],
un formidable outil pour essayer de comprendre de tel mi- [10] et les non régulières dites "Non Smooth" [3]. Le ca-
lieux. L’approche Non Smooth Contact Dynamics apparaît
comme une méthode très performante pour de telles études.
ractère "régulier" concerne le procédé de calcul des forces
de contacts pouvant se faire par un calcul direct (forces
Mots-clés— Milieux granulaire, Dynamique du Contact, mé- proportionnelles à la distance entre particules) ou bien par
thode numérique. la résolution de systèmes locaux (non linéaires). La mé-
thode Non Smooth Contact Dynamics (NSCD ) introduite
par M.Jean et J.-J Moreau [4], [6], comme son nom l’in-
I. Cadre dique, appartient à la deuxième classe, et c’est cette mé-
Un milieux granulaires est par définition un ensemble thode que nous allons vous présenter.
de particules, de taille plus ou moins grande (du grain
II. Formulation
de sable au bloc de pierre de plusieurs mètres), de forme
plus ou moins complexe (de la sphère "parfaite" au poly- La méthode NSCD est parfaitement adaptée pour si-
èdre anguleux), qui interagissent par contacts. Ces interac- muler le comportement et l’évolution dynamique d’un en-
tions peuvent être, suivant les cas, assimilées à du contact semble de particules rigides polydisperses (i.e. de tailles
avec/sans frottement et avec/sans cohésion. Un tas de sable différentes), ayant une géométrie convexe (i.e. pour deux
ou de gravats, du béton, un échantillon d’argile, une ma- points quelconques appartenant à la particules, la ligne les
çonnerie, des formations géologiques ou encore des pilules rejoignant reste à l’intérieur de celle-ci) interagissant par
pharmaceutiques peuvent être vus comme un milieu gra- contact. En effet la méthode permet de traiter des pro-
nulaire. On retrouve ces matériaux dans de nombreux sec- blèmes de contact entre corps rigides ou déformables, avec
teurs industriels, et souvent liés à d’important problèmes : des lois de choc élastique ou inélastique. La méthode va
stockage et vidange des silos de blé, comportement d’un nous servir à étudier le comportement d’un ensemble de
ballast au passage répété d’un train, mélange de pilules particules rigides interagissant par contact. Nous nous ser-
pharmaceutiques, comportement d’un édifice monumental virons par la suite d’un exemple relativement simple pour
sous sollicitations sismiques, etc. Cette diversité est liée au illustrer la méthode, composé de trois disques de mêmes
fait que de tels milieux peuvent avoir tantôt un compor- rayons et de même densité évoluant dans le plan en l’ab-
tement solide (béton, plaques tectoniques) tantôt un com- sence de gravité (c.f. figure 1).
portement liquide (avalanche, écoulement en silo). Com-
prendre les milieux granulaires apparaît comme un impor-
tant enjeu scientifique mais aussi industriel.
En complément de l’approche expérimentale et des essais 1
2
conventionnels (essai biaxial et/ou de cisaillement) permet- e
2
tant de relier la déformation du milieu à la contrainte qu’il
3
subit, les simulations numériques apparaissent comme un
formidable outil pour venir enrichir les connaissances ap- 0 e
1
portées par le biais des expériences. Elles permettent d’ob-
tenir des informations impossible Ĺ obtenir expérimentale- Fig. 1. A l’instant t0 , les trois disques évoluent dans le plan sans
ment, notamment les forces de contact locales, de simuler interaction.
des milieux parfaits et de jouer plus facilement avec les
nombreux paramètres physiques (coefficient de frottement, La méthode s’appuie sur les équations de la dynamique,
de restitution). A la fin des années 70, des méthodes numé- écrites pour chaque particule. On notera q(t) le vecteur
riques dédiées aux éléments discrets voient le jour sous l’im- configuration comprenant la translation et la rotation de
pulsion de P. A. Cundall qui développe la première méthode chaque particule à un instant t ∈ [0, T ]. q̇(t) désignera le
numérique dédiée à la simulation des milieux discrets (Dis- vecteur vitesse, le "." désignant la dérivée par rapport au
temps. Ne pouvant résoudre de façon continue un tel pro- figure 3). On définit alors une normale au "contact", n,
blème, ces équations sont discrétisées via une méthode d’in- ayant la direction de la droite inter-centre, ainsi qu’un vec-
tégration temporelle que nous ne détaillerons pas dans ces teur tangent aux deux particules, t, nous permettant de
quelques pages. On obtient ainsi le système suivant définir le repère orthonormé local (I; t, n).
M[q̇(ti+1 ) − q̇(ti )] = hR(ti+1 ) + hF(ti ), (1) t
où M représente la matrice de masse du système compre- n
nant également les termes d’inertie, R (resp. F) les forces i j
I
de contact (resp. forces extérieures) et h le pas de temps
(mesure des intervalles [ti , ti+1 [). Pour simplifier les équa-
tions ainsi que la lecture nous noterons par un "+" les
termes correspondant au temps ti+1 et par un "−" ceux liés Fig. 3. Définition du repère local au point de contact.
au temps ti . Ainsi connaissant q̇(t0 ) ainsi que les forces ex-
térieures, pour déterminer la configuration à l’instant t1 , il Dans ce repère local les différentes quantités comme les
nous faut déterminer R+ . Nous obtiendrons ainsi la vitesse impulsions de contacts ou les vitesses relatives entre par-
à l’instant ti+1 et pourrons calculer la nouvelle configura- ticules peuvent être décomposées en une partie normale
tion via un développement de la vitesse au premier ordre à (portée par n) et une partie tangentielle (portée par t).
faisant intervenir la configuration et la vitesse au temps ti , On indexera alors par n et t les différentes composantes.
Ainsi la force de contact R peut s’écrire R = rn n + rt t.
q+ = q− + hq̇+ . (2) Pour quantifier le contact, on définit la distance entre par-
ticules, notée δ, par δ = d − (li + lj ), li et lj étant les
Dans notre exemple, à l’instant t0 les particules ne sont
rayons respectifs des particules i et j et d la distance inter-
pas en contact donc la contribution des efforts de contacts
centre. Avec notre approche, δ ne peut-être que positif ou
R(t1 ) est nulle. On peut ainsi calculer la nouvelle posi-
nul ; des valeurs négatives impliqueraient que les particules
tion des particules en utilisant simplement les conditions
s’interpénètrent, chose qui est formellement interdit dans
initiales q(t0 ), q̇(t0 ) et les forces extérieures F(t0 ). Cette
notre approche. Si δ est positif, les particules ne sont pas
actualisation amène notre système dans la configuration re-
en contact et donc rn = 0. Au contraire si δ est nul, les par-
présentée sur la figure 2. La situation de la figure 1 était
ticules sont en contact et donc rn ≥ 0. Ceci nous permet
simple puisque à l’instant initial il n’y a aucun contact
de définir le contact par la condition suivante
entre les particules, ce qui n’est pas toujours le cas. Mais
quand décide-t’on si il y a contact ou pas ? La méthode δ ≥ 0 , rn ≥ 0 , δ.rn = 0 (3)
de détection des contacts est indépendante de la méthode
NSCD dans le sens où n’importe qu’elle méthode de dé- portant le nom de condition de Signorini. La condition que
tection peut-être utilisée, il suffit que celle-ci fournisse une nous utilisons n’est pas exactement celle-ci. Nous utilisons
liste de contact, vu comme une liste de couple de parti- la condition de Signorini en vitesse qui consiste à reformuler
cules. Les contacts sont généralement déclarés lorsque les l’équation (3) en utilisant la vitesse relative normale entre
particules sont suffisamment proches l’une de l’autre, dé- les particules, définit par vn = (q̇i − q̇j ).n. On obtient alors
finition que nous adopterons ici. On suppose donc que la une équation équivalente à l’équation (3),
détection des contacts est effectuée, nous fournissant une
liste de trois contacts (α1 , α2 , α3 ) = (1 − 2, 1 − 3, 2 − 3) vn ≥ 0 , rn ≥ 0 , vn .rn = 0. (4)
correspondant à la situation de la figure 2.
Lorsque le frottement est pris en compte, il faut rajouter
une condition supplémentaire. Dans le cas, par exemple, du
frottement de Coulomb, la norme de la composante tangen-
1 tielle de l’impulsion locale est inférieure où égale à un coef-
3
ficient µ (< 1) fois la composante normale, autrement dit
2 ||rt || ≤ µrn ; µ est appelé coefficient de frottement. Nous ne
considérerons pas le frottement, pouvant ainsi restreindre
la force de contact R uniquement à sa composante normale.
Fig. 2. Configuration à l’instant t1 : les trois particules sont en
contact. B. Retour aux équations
Voilà nos conditions de contact définies. Dans l’écriture
Mais comment gérer ce contact entre particules ? Pour l’ins- de cette condition, nous avons défini un repère local pour
tant rien ne nous permet de calculer le terme R+ . Pour cela un contact. Lorsque nous avons une liste de contacts cette
nous avons donc besoin d’introduire des informations sup- opération est effectuée pour chacun d’eux. Pour résoudre
plémentaires en utilisant la notion de contact unilatéral que alors notre problème, l’équation (1) écrite au niveau des
nous allons définir dans la partie suivante. particules (niveau appelé niveau global), est réécrite au ni-
III. Contact Unilatéral veau local, celui des contacts. Pour réécrire cette équation,
nous considérons l’application linéaire H (resp. HT ) qui
A. Mise en place permet de passer du niveau local au niveau global (resp. du
On considère deux particules suffisamment proches l’une niveau global au niveau local). HT est l’application trans-
de l’autre pour qu’elles entrent en contact au point I (c.f. posée de H. En utilisant la relation hR = Hr, r désignant
les impulsions de contact locales, et en effectuant quelques de temps précédent (i.e. la façon dont les particules sont
opérations matricielles simples, l’équation (1) se réécrit entrées en contact). Nous introduisons des données numé-
riques pour pouvoir résoudre numériquement le problème.
Wr+ − v+ = −v− . (5) Traitant le problème sans frottement, les équations des mo-
La matrice W = HT M−1 H porte le nom d’opérateur de
Delassus. Cette matrice contient toute l’information locale
(orientation et connectivité entre contacts). Les inconnues
de notre problème sont les deux composantes du couple
(r+ , v+ ) (impulsions au contact et vitesses relatives). No-
tons que l’application H est alors composée des différents
vecteurs normaux et tangentiels au contact, plus des termes
liés à l’équation sur les moments. La formulation de l’équa-
tion (5) dans son état actuel ne prend pas en compte les Fig. 4. Exemple illustratif : les vitesses, masses et rayons des par-
ticules sont unitaires. La particule 1 entre en contact avec une
chocs élastiques. Pour les prendre en compte nous sommes vitesse initiale horizontale, les particules 2 et 3 avec une vitesse
amenés à effectuer un changement de variables qui nous initiale verticale (resp. descendante et ascendante).
permet d’introduire un coefficient de restitution. Ce chan-
gement de variables fait appel à la notion de vitesse for- ments ne nous sont d’aucune utilité. Notre application H
melle, concept introduit par J.-J Moreau. Notre nouvelle (∈ R6×3 ) et notre matrice W (∈ R3×3 ) s’écrivent
variable notée v̄ est une combinaison linéaire des vitesses 1
− 21
   
relatives avant et après chocs, n12 n13 0 2 2
H =  −n12 0 n23  , W =  12 2 − 21  .
(1 + en )v̄ = v+ + en v− . (6) 0 −n13 −n23 − 2 − 21
1
2

Nous pouvons remarquer que si en est nul v̄ et v+ jouent Les trois composantes√
de la vitesse relative avant impact
le même rôle. Pour notre petit exemple servant de fil rouge, sont v12 = v13 = − 2( 3+1)
et v23 = 2. Nous allons déter-
nous considérerons que nous avons affaire à des chocs mous miner la valeur de r1 = [r121 1
r13 1
r23 ] partant de r0 = 0
(en = 0). Le problème formé des équations (5) et (4) est en calculant chaque composante l’une après l’autre (autre-
donc le problème que nous devons résoudre. ment dit contact par contact). Pour le contact α1 (contact
1 − 2) nous pouvons écrire,
IV. Résolution

Notre système ne nous permet pas d’obtenir notre solu- 1 1 0 1 0 + ( 3 + 1)
2r12 + r13 − r23 − v12 = .
tion de façon directe dans le sens où nous ne pouvons écrire 2 2 2
nos inconnues directement en fonction des données dont 1
La composante r12 est la composante cherchée. Les autre
nous disposons. Nous allons déterminer nos inconnues de
composantes n’ayant pas encore été calculées nous utilisons
façon implicite via une méthode itérative. Généralement,
le valeurs de l’itération précédente i.e. les valeurs initiales.
c’est un algorithme de type Gauss-Seidel non linéaire par
Celles -ci étant nulles, nous obtenons
blocs qui est utilisé. Cet algorithme est un algorithme clas-

sique dont le caractère non linéaire par blocs est lié aux 1 + ( 3 + 1)
conditions de Signorini en vitesse locales. Le principe est le 2r12 − v12 = .
2
suivant : partant d’une valeur initiale r0 (le "+" attaché à
1 +
r est volontairement omis pour alléger les notations), nous Si r12 etait nul alors v12 serait √
négative ce qui est impos-
allons calculer une nouvelle valeur via notre algorithme. Si +
sible. Donc v12 = 0 et r121
= ( 3+1)
4 . Pour le contact α2
cette valeur satisfait une certaine condition nous arrêtons (contact 1 − 3) nous avons,
notre algorithme et prenons cette valeur pour solution à √
notre problème. Dans le cas contraire nous calculons une 1 1 1 1 0 + ( 3 + 1)
r + 2r13 − r23 − v13 =
nouvelle valeur que nous soumettons au même test. Le cal- 2 12 2 2
cul d’un terme rk (k indice d’itération) se fait en parcourant 1
C’est maintenant la composante r13 qui est la composante
la liste des contacts en actualisant les données dès qu’une 1
cherchée. La composante r12 étant connue, elle est intro-
nouvelle composante à été obtenue. Cette présentation est
duite dans notre équation (l’autre composante est toujours
volontairement rapide. Nous allons voir, sur notre exemple,
nulle), nous permettant d’écrire
ce que donne un tel algorithme en détaillant les premières
étapes. √
1 + 3( 3 + 1)
Résumons la situation. A l’instant t1 les trois particules 2r13 − v13 = .
8
sont en contact. Trois contacts sont détectés définissant
+
ainsi les trois normales Pour les√mêmes conditions que le contact α1 , v13 = 0 et
√ √ 1
r13 3+1)
= 3( 16 .
T 3 1 T 3 1 T
n12 = [− − ], n13 = [− ], n = [0 1], Pour le contact α3 (contact 2 − 3), les deux premières com-
3 2 2 2 23
posantes étant calculées, nous obtenons,
les normales étant orientées par convention de la particules
+
j vers la particules i. Nous pouvons voir sur la figure 4 le − 12 r12
1
− 21 r13
1
+

0
2r23 − v23 = −2.
+ 7 3−57)
système à l’instant t1 ainsi que les informations sur le pas 1
⇔ 2r23 − v23 = 32 < 0,
+
Ici r23 = 0, car si r23 > 0 alors v23 = 0 et nous aboutis- optimisation de l’implémentation du code LMGC90, code
sons à une contradiction. Ainsi nous obtenons une nouvelle de calcul utilisé pour la modélisation des milieux granu-
valeur pour r. Nous effectuons maintenant un test pour laires [2], [8]
savoir si cette solution est acceptable. Pour faire au plus développement d’un nouvel algorithme de type Gradient
simple nous pouvons simplement regarder si la norme de Conjugué [9]
la différence entre deux valeurs successives de r est suf-
fisamment petite (valeur à fixer). Ce qui n’est pas le cas Nous sommes ainsi capable de simuler des échantillons
conséquents en des temps raisonnables. Parmi les pro-
ici (c’est rarement le cas lorsque l’on part d’une solution
blèmes qui nous intéressent, on peut trouver l’évolution
nulle). Nous sommes donc amenés à calculer r2 par le même
des plaques tectoniques, la modélisation des écoulements
procédé. Nous allons ainsi construire une suite de valeurs
qui vont√converger vers la solution de notre problème (ici en tambour tournant ainsi que l’étude du TEXSOL, mé-
√ lange de sol et de fibres synthétiques.
r+ = [ ( 3+1)
5
( 3+1)
5 0]). Une fois cette valeur obtenue,
nous calculons R+ = Hr+ que nous reportons dans l’équa- Références
tion (1) afin d’obtenir q̇+ . Nous pouvons finalement cal- [1] P. A. Cundall, A computer model for simulating progressive large
culer la nouvelle configuration du système et continuer à scale movements of blocky rock systems, in Proc. of the sym-
posium of the international society of rock mechanics (1971),
déterminer son évolution. 1,132-150.
[2] F. Dubois et M. Jean, LMGC90 une plateforme de développe-
V. Conclusion et Développement ment dédiée à la modélisation des problèmes d’interaction, in
Actes du sixième colloque national en calcul des structures -
Grâce à cet exemple relativement simple nous avons pu CSMA-AFM-LMS - Giens 2003, 1, 111-118
illustrer le principe de la méthode NSCD associée à un [3] M. Jean, and J.-J. Moreau, Unilaterality and dry friction in the
dynamics of rigid bodies collection (1992), in Contact Mecha-
algorithme Gauss Seidel non linéaire par blocs. Cette ap- nics International Symposium, A. Curnier eds.,Presses Polytech-
proche qui est donc très efficace pour simuler le compor- niques et Universitaires Romanes 31-48
tement des milieux granulaires, nous l’utilisons pour des [4] M. Jean, The non-smooth contact dynamics method, Comp.
Meth. Appl. Mech. Engrg. (1999), 177, 235-257
systèmes beaucoup plus complexes, notamment pour des
[5] Y. Kishino, Disk Model Analysis of Granular Media, M. Satake
problèmes de contact avec frottement pour des milieux tri- and J.T. Jenkins eds. (Elsevier), in Michromecanics of Granular
dimensionnels (c.f. figure 5), afin de décrire leur compor- Materials (1988), 143-152
tement. L’une des questions, toujours ouverte, à laquelle [6] J.-J. Moreau, Unilateral contact and dry friction in finite free-
dom dynamics, J.-J. Moreau and P.-D. Panagiotopoulos, eds.,
in Non Smooth Mechanics and Applications, CISM Courses and
Lectures (1998), 302, (Springer-Verlag, Wien, New York), 1-82
[7] M. Renouf, F. Dubois et P. Alart, A parallel version of the Non
Smooth Contact Dynamics Algorithm applied to the simulation
of granular media, to appear in Comput. Appl. Math.(2004)
[8] M. Renouf et P. Alart, Solveurs parallèles pour la simulation de
systèmes Multi-Contacts, in Actes du sixième colloque national
en calcul des structures - CSMA-AFM-LMS - Giens 2003,
[9] M. Renouf et P. Alart, Un nouvel algorithme de "quasi"-
optimisation pour la résolution des problèmes multi-contacts
et applications aux milieux granulaires, in Actes du seizième
congrès français de mécanique, Nice 1-5 septembre 2003 - AFM
3, 341-348
[10] O. R. Walton, Numerical simulation of inclined chute flows of
monodisperse, inelastic frictional spheres, Mech. Mat. (1993),
16, 239-247

Fig. 5. Simulation d’un tambour tournant tridimensionnel.

nous essayons entre autre de répondre est de connaître la


taille caractéristique d’un échantillon. Faut il utiliser une
dizaine, une centaine ou plusieurs centaine de millier de
particules pour modéliser un matériau granulaire ? Cette
question dépend du problème en lui-même. L’inconvénient
majeur des simulations numériques est la dépendance au
temps de calcul. Le temps de calcul a la fâcheuse tendance
à augmenter avec le nombre de particules. Pour répondre
aux questions qui nous tiennent à coeur, il faut garder des
temps de simulations raisonnables. Nous avons accès mon
travail de thèse sur cette thématique. A ce jour différents
outils ont été mis en oeuvre :
applications des techniques de calcul parallèle à notre mé-
thode [7]