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 années 80 sujets à de nombreuses études ayant pour but de déterminer leur comportement tantôt proche du liquide tantôt proche du solide. En complément de l’approche expé- rimentale, les simulations numériques apparaissent comme un formidable outil pour essayer de comprendre de tel mi- lieux. L’approche Non Smooth Contact Dynamics apparaît comme une méthode très performante pour de telles études.

Mots-clés — Milieux granulaire, Dynamique du Contact, mé- thode numérique.

I. Cadre

Un milieux granulaires est par définition un ensemble de particules, de taille plus ou moins grande (du grain de sable au bloc de pierre de plusieurs mètres), de forme plus ou moins complexe (de la sphère "parfaite" au poly- èdre anguleux), qui interagissent par contacts. Ces intera c- tions peuvent être, suivant les cas, assimilées à du contact avec/sans frottement et avec/sans cohésion. Un tas de sable ou de gravats, du béton, un échantillon d’argile, une ma- çonnerie, des formations géologiques ou encore des pilules pharmaceutiques peuvent être vus comme un milieu gra- nulaire. On retrouve ces matériaux dans de nombreux sec- teurs industriels, et souvent liés à d’important problèmes :

stockage et vidange des silos de blé, comportement d’un ballast au passage répété d’un train, mélange de pilules pharmaceutiques, comportement d’un édifice monumental sous sollicitations sismiques, etc. Cette diversité est li ée au fait que de tels milieux peuvent avoir tantôt un compor- tement solide (béton, plaques tectoniques) tantôt un com- 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 conventionnels (essai biaxial et/ou de cisaillement) perm et- tant de relier la déformation du milieu à la contrainte qu’il subit, les simulations numériques apparaissent comme un formidable outil pour venir enrichir les connaissances ap- portées par le biais des expériences. Elles permettent d’ob - tenir des informations impossible Ĺ obtenir expérimentale - ment, notamment les forces de contact locales, de simuler des milieux parfaits et de jouer plus facilement avec les nombreux paramètres physiques (coefficient de frottement, de restitution). A la fin des années 70, des méthodes numé- riques dédiées aux éléments discrets voient le jour sous l’i m- pulsion de P. A. Cundall qui développe la première méthode numérique dédiée à la simulation des milieux discrets ( Dis-

tinct Element Method [1]). Rapidement d’autre méthodes voient le jour avec toutes pour même objectif la simulation des milieux discrets. Deux grandes classes de méthode se distinguent : les méthodes régulières dites "Smooth" [5], [10] et les non régulières dites "Non Smooth" [3]. Le ca-

ractère "régulier" concerne le procédé de calcul des forces de contacts pouvant se faire par un calcul direct (forces proportionnelles à la distance entre particules) ou bien pa r 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- dique, appartient à la deuxième classe, et c’est cette mé- thode que nous allons vous présenter.

II. Formulation

La méthode NSCD est parfaitement adaptée pour si- muler le comportement et l’évolution dynamique d’un en- semble de particules rigides polydisperses ( i.e. de tailles différentes), ayant une géométrie convexe (i.e. pour deux points quelconques appartenant à la particules, la ligne le s rejoignant reste à l’intérieur de celle-ci) interagissant par contact. En effet la méthode permet de traiter des pro- blèmes de contact entre corps rigides ou déformables, avec des lois de choc élastique ou inélastique. La méthode va nous servir à étudier le comportement d’un ensemble de particules rigides interagissant par contact. Nous nous se r- virons par la suite d’un exemple relativement simple pour illustrer la méthode, composé de trois disques de mêmes rayons et de même densité évoluant dans le plan en l’ab- sence de gravité (c.f. figure 1).

1 e 2 0 e 1
1
e
2
0
e 1
2 3
2
3

Fig. 1. A l’instant t 0 , les trois disques évoluent dans le plan sans interaction.

La méthode s’appuie sur les équations de la dynamique, écrites pour chaque particule. On notera q(t ) le vecteur configuration comprenant la translation et la rotation de chaque particule à un instant t [0 , T ]. q˙ (t ) désignera le vecteur vitesse, le " ." désignant la dérivée par rapport au

temps. Ne pouvant résoudre de façon continue un tel pro- blème, ces équations sont discrétisées via une méthode d’in - tégration temporelle que nous ne détaillerons pas dans ces quelques pages. On obtient ainsi le système suivant

M[(t i+1 ) (t i )] = h R (t i+1 ) + h F(t i ), (1)

M représente la matrice de masse du système compre- nant également les termes d’inertie, R (resp. F) les forces de contact (resp. forces extérieures) et h le pas de temps (mesure des intervalles [t i , t i+1 [). Pour simplifier les équa- tions ainsi que la lecture nous noterons par un " + " les termes correspondant au temps t i+1 et par un " " ceux liés au temps t i . Ainsi connaissant q˙ (t 0 ) ainsi que les forces ex- térieures, pour déterminer la configuration à l’instant t 1 , il nous faut déterminer R + . Nous obtiendrons ainsi la vitesse à l’instant t i+1 et pourrons calculer la nouvelle configura- tion via un développement de la vitesse au premier ordre à faisant intervenir la configuration et la vitesse au temps t i ,

(2)

Dans notre exemple, à l’instant t 0 les particules ne sont pas en contact donc la contribution des efforts de contacts R (t 1 ) est nulle. On peut ainsi calculer la nouvelle posi-

tion des particules en utilisant simplement les conditions initiales q(t 0 ), q˙ (t 0 ) et les forces extérieures F(t 0 ). Cette actualisation amène notre système dans la configuration re- présentée sur la figure 2. La situation de la figure 1 était simple puisque à l’instant initial il n’y a aucun contact 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 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é- tection peut-être utilisée, il suffit que celle-ci fournisse une liste de contact, vu comme une liste de couple de parti- cules. Les contacts sont généralement déclarés lorsque les particules sont suffisamment proches l’une de l’autre, dé- finition que nous adopterons ici. On suppose donc que la détection des contacts est effectuée, nous fournissant une

3)

liste de trois contacts (α 1 , α 2 , α 3 ) = (1 2 , 1 3 , 2 correspondant à la situation de la figure 2.

q + = q + h + .

1 3 2
1 3
2

Fig. 2. Configuration à l’instant t 1 : les trois particules sont en contact.

Mais comment gérer ce contact entre particules ? Pour l’ins- tant rien ne nous permet de calculer le terme R + . Pour cela nous avons donc besoin d’introduire des informations sup- plémentaires en utilisant la notion de contact unilatéral q ue nous allons définir dans la partie suivante.

III. Contact Unilatéral

A. Mise en place

On considère deux particules suffisamment proches l’une de l’autre pour qu’elles entrent en contact au point I (c.f.

figure 3). On définit alors une normale au "contact", n, ayant la direction de la droite inter-centre, ainsi qu’un ve c- teur tangent aux deux particules, t, nous permettant de définir le repère orthonormé local (I ; t, n).

t n i j I
t
n
i j
I

Fig. 3. Définition du repère local au point de contact.

Dans ce repère local les différentes quantités comme les impulsions de contacts ou les vitesses relatives entre par- ticules peuvent être décomposées en une partie normale (portée par n) et une partie tangentielle (portée par t). On indexera alors par n et t les différentes composantes. Ainsi la force de contact R peut s’écrire R = r n n + r t t. Pour quantifier le contact, on définit la distance entre par- ticules, notée δ , par δ = d (l i + l j ), l i et l j étant les rayons respectifs des particules i et j et d la distance inter- centre. Avec notre approche, δ ne peut-être que positif ou nul ; des valeurs négatives impliqueraient que les particul es s’interpénètrent, chose qui est formellement interdit dan s notre approche. Si δ est positif, les particules ne sont pas en contact et donc r n = 0 . Au contraire si δ est nul, les par- ticules sont en contact et donc r n 0 . Ceci nous permet de définir le contact par la condition suivante

δ 0 , r n 0 , δ.r n = 0

(3)

portant le nom de condition de Signorini. La condition que nous utilisons n’est pas exactement celle-ci. Nous utiliso ns la condition de Signorini en vitesse qui consiste à reformul er l’équation (3) en utilisant la vitesse relative normale entre les particules, définit par v n = (q˙ i q˙ j ).n. On obtient alors une équation équivalente à l’équation (3),

v n 0 , r n 0 , v n .r n = 0 .

(4)

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-

tielle de l’impulsion locale est inférieure où égale à un coe f- ficient µ (< 1) fois la composante normale, autrement dit

||r t || ≤ µr n ; µ est appelé coefficient de frottement. Nous ne considérerons pas le frottement, pouvant ainsi restreindr e la force de contact R uniquement à sa composante normale.

B. Retour aux équations

Voilà nos conditions de contact définies. Dans l’écriture de cette condition, nous avons défini un repère local pour un contact. Lorsque nous avons une liste de contacts cette opération est effectuée pour chacun d’eux. Pour résoudre alors notre problème, l’équation (1) écrite au niveau des particules (niveau appelé niveau global), est réécrite au n i- veau local, celui des contacts. Pour réécrire cette équatio n, nous considérons l’application linéaire H (resp. H T ) qui permet de passer du niveau local au niveau global (resp. du niveau global au niveau local). H T est l’application trans- posée de H . En utilisant la relation h R = H r, r désignant

les impulsions de contact locales, et en effectuant quelques opérations matricielles simples, l’équation (1) se réécrit

Wr + v + = v .

(5)

La matrice W = H T M 1 H porte le nom d’opérateur de Delassus. Cette matrice contient toute l’information loca le (orientation et connectivité entre contacts). Les inconnu es 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 chocs élastiques. Pour les prendre en compte nous sommes amenés à effectuer un changement de variables qui nous permet d’introduire un coefficient de restitution. Ce chan- gement de variables fait appel à la notion de vitesse for- melle, concept introduit par J.-J Moreau. Notre nouvelle variable notée v¯ est une combinaison linéaire des vitesses relatives avant et après chocs,

(1 + e n )v¯ = v + + e n v .

(6)

Nous pouvons remarquer que si e n est nul v¯ et v + jouent le même rôle. Pour notre petit exemple servant de fil rouge, nous considérerons que nous avons affaire à des chocs mous (e n = 0 ). Le problème formé des équations (5) et (4) est donc le problème que nous devons résoudre.

IV. Résolution

Notre système ne nous permet pas d’obtenir notre solu- tion de façon directe dans le sens où nous ne pouvons écrire nos inconnues directement en fonction des données dont nous disposons. Nous allons déterminer nos inconnues de façon implicite via une méthode itérative. Généralement, c’est un algorithme de type Gauss-Seidel non linéaire par blocs qui est utilisé. Cet algorithme est un algorithme clas - sique dont le caractère non linéaire par blocs est lié aux conditions de Signorini en vitesse locales. Le principe est le suivant : partant d’une valeur initiale r 0 (le " + " attaché à r est volontairement omis pour alléger les notations), nous allons calculer une nouvelle valeur via notre algorithme. Si cette valeur satisfait une certaine condition nous arrêton s notre algorithme et prenons cette valeur pour solution à notre problème. Dans le cas contraire nous calculons une nouvelle valeur que nous soumettons au même test. Le cal- cul d’un terme r k (k indice d’itération) se fait en parcourant la liste des contacts en actualisant les données dès qu’une nouvelle composante à été obtenue. Cette présentation est volontairement rapide. Nous allons voir, sur notre exemple , ce que donne un tel algorithme en détaillant les premières étapes. Résumons la situation. A l’instant t 1 les trois particules sont en contact. Trois contacts sont détectés définissant ainsi les trois normales

n 12 T = [− √ 3 3

1

2 ], n 13 T = [− √ 3 1

2 ], n 23 T = [0 1],

2

les normales étant orientées par convention de la particule s j vers la particules i . Nous pouvons voir sur la figure 4 le système à l’instant t 1 ainsi que les informations sur le pas

de temps précédent (i.e. la façon dont les particules sont entrées en contact). Nous introduisons des données numé- riques pour pouvoir résoudre numériquement le problème. Traitant le problème sans frottement, les équations des mo-

le problème sans frottement, les équations des mo- Fig. 4. Exemple illustratif : les vitesses, masses
le problème sans frottement, les équations des mo- Fig. 4. Exemple illustratif : les vitesses, masses

Fig. 4. Exemple illustratif : les vitesses, masses et rayons des par- ticules sont unitaires. La particule 1 entre en contact avec une vitesse initiale horizontale, les particules 2 et 3 avec une vitesse initiale verticale (resp. descendante et ascendante).

ments ne nous sont d’aucune utilité. Notre application H (R 6× 3 ) et notre matrice W (R 3× 3 ) s’écrivent

.

H =

n 12

n 12

0

n 13

0

n 13

0

n 23

n 23

, W =

2

1

2

1

2

1

2

2

1

2

1

2

1

2

2

Les trois composantes de la vitesse relative avant impact

et v 23 = 2 . Nous allons déter-

23 1 ] partant de r 0 = 0

en calculant chaque composante l’une après l’autre (autre- ment dit contact par contact). Pour le contact α 1 (contact 1 2 ) nous pouvons écrire,

miner la valeur de r 1 = [r

2 ) nous pouvons écrire, miner la valeur de r 1 = [ r sont v

sont v 12 = v 13 = ( 3+1)

2

1

12 r 13 r

1

2 r

1 12 +

1

2

r 0

13

1

2

r

23 0 v

+

12

= ( 3 + 1)

2

.

1

La composante r 12 est la composante cherchée. Les autre composantes n’ayant pas encore été calculées nous utilison s le valeurs de l’itération précédente i.e. les valeurs initiales. Celles -ci étant nulles, nous obtenons

2 r

1

12 v

12 = ( 3 + 1)

+

2

.

Si r 12 etait nul alors v 12 serait négative ce qui est impos-

. Pour le contact α 2

sible. Donc v 12 = 0 et r (contact 1 3 ) nous avons,

1

+

+

1

12

= 0 et r (contact 1 − 3 ) nous avons, 1 + + 1 12

= ( 3+1)

4

1

2 r

1

12 + 2 r

1

13

1 = ( 3 + 1)

2

r

0

23 v +

13

2

1

C’est maintenant la composante r 13 qui est la composante cherchée. La composante r 12 étant connue, elle est intro- duite dans notre équation (l’autre composante est toujours nulle), nous permettant d’écrire

1

2

r

1

13 v

+

13

= 3( 3 + 1)

8

.

Pour les mêmes conditions que le contact α 1 , v 13 = 0 et

r

Pour le contact α 3 (contact 2 3 ), les deux premières com-

posantes étant calculées, nous obtenons,

+

13 = 3( 3+1)

1

. 16
.
16

1 2 r

2 r

1

12

23 1 v

1 1 0 13 + 2 r 2 r 23
1
1
0
13 + 2 r
2 r
23

+ = 7 357)

23

32

v

23 + = 2 .

< 0 ,

Ici r 23 = 0 , car si r 23 > 0 alors v 23 = 0 et nous aboutis- sons à une contradiction. Ainsi nous obtenons une nouvelle valeur pour r. Nous effectuons maintenant un test pour savoir si cette solution est acceptable. Pour faire au plus simple nous pouvons simplement regarder si la norme de la différence entre deux valeurs successives de r est suf- fisamment petite (valeur à fixer). Ce qui n’est pas le cas ici (c’est rarement le cas lorsque l’on part d’une solution nulle). Nous sommes donc amenés à calculer r 2 par le même procédé. Nous allons ainsi construire une suite de valeurs qui vont converger vers la solution de notre problème (ici

0]). Une fois cette valeur obtenue,

nous calculons R + = H r + que nous reportons dans l’équa-

tion (1) afin d’obtenir q˙ + . Nous pouvons finalement cal- culer la nouvelle configuration du système et continuer à déterminer son évolution.

+

r + = [ ( 3+1)

5

( 3+1)

5

V. Conclusion et Développement

Grâce à cet exemple relativement simple nous avons pu illustrer le principe de la méthode NSCD associée à un algorithme Gauss Seidel non linéaire par blocs. Cette ap- proche qui est donc très efficace pour simuler le compor- tement des milieux granulaires, nous l’utilisons pour des systèmes beaucoup plus complexes, notamment pour des problèmes de contact avec frottement pour des milieux tri- dimensionnels (c.f. figure 5), afin de décrire leur compor- tement. L’une des questions, toujours ouverte, à laquelle

tement. L’une des questions, toujours ouverte, à laquelle Fig. 5. Simulation d’un tambour tournant tridimensionnel.

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]

optimisation de l’implémentation du code LMGC90, code de calcul utilisé pour la modélisation des milieux granu- laires [2], [8]

développement d’un nouvel algorithme de type Gradient Conjugué [9]

Nous sommes ainsi capable de simuler des échantillons conséquents en des temps raisonnables. Parmi les pro- blèmes qui nous intéressent, on peut trouver l’évolution des plaques tectoniques, la modélisation des écoulements en tambour tournant ainsi que l’étude du TEXSOL, mé- lange de sol et de fibres synthétiques.

Références

[1]

P. A. Cundall, A computer model for simulating progressive large

[2]

scale movements of blocky rock systems, in Proc. of the sym- posium of the international society of rock mechanics (1971), 1 ,132-150. F. Dubois et M. Jean, LMGC90 une plateforme de développe-

[3]

ment dédiée à la modélisation des problèmes d’interaction , in Actes du sixième colloque national en calcul des structures - CSMA-AFM-LMS - Giens 2003, 1 , 111-118 M. Jean, and J.-J. Moreau, Unilaterality and dry friction in the dynamics of rigid bodies collection (1992) , in Contact Mecha- nics International Symposium, A. Curnier eds.,Presses Pol ytech- niques et Universitaires Romanes 31-48

[4] M. Jean, The non-smooth contact dynamics method, Comp.

[5]

Meth. Appl. Mech. Engrg. (1999), 177 , 235-257 Y. Kishino, Disk Model Analysis of Granular Media, M. Satake

[6]

and J.T. Jenkins eds. (Elsevier), in Michromecanics of Granular Materials (1988), 143-152 J.-J. Moreau, Unilateral contact and dry friction in finite free-

[7]

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 M. Renouf, F. Dubois et P. Alart, A parallel version of the Non

[8]

Smooth Contact Dynamics Algorithm applied to the simulation of granular media, to appear in Comput. Appl. Math.(2004) M. Renouf et P. Alart, Solveurs parallèles pour la simulation de

[9]

systèmes Multi-Contacts, in Actes du sixième colloque national en calcul des structures - CSMA-AFM-LMS - Giens 2003, 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