Impacts et frottement dans un jeu de billard Table des matières

Transcription

Impacts et frottement dans un jeu de billard Table des matières
Impacts et frottement dans un jeu de billard
Cédric Zanni
20 avril 2009
Table des matières
1 Présentation du problème
3
2 Interface du solveur
7
3 Algorithme d'assemblage des données
10
4 Ajout du frottement de roulement
11
1
Introduction
Cet article présente mon travail à l'INRIA au sein de l'équipe Bipop,
cette équipe a pour domaine d'étude les problèmes mécaniques non réguliers
et l'optimisation non-diérentiable. Mes tuteurs étaient Florent Cadoux et
Jérome Malick.
Un billard est un système mécanique faisant intervenir plusieurs problèmes physiques, l'un d'entre eux étant le frottement de glissement. La simulation de systèmes mécaniques présentant un tel frottement est un problème
fréquemment rencontré dans de nombreux domaines comme le génie civil
avec la mécanique des milieux granulaires, la robotique ou la synthèse d'image[2]. Du fait de l'importance de ce sujet de nombreux modèles ont été créés
pour le représenter et diérentes approches sont possibles pour le simuler.
Un des algorithmes est basé sur l'utilisation d'une formulation exacte du
problème de Coulomb, la formulation impulsion-vitesse ('impulse-velocity').
L'algorithme (ainsi que son implémentation) mis à notre disposition par
Florent Cadoux utilise ce modèle pour eectuer le calcul des forces de frottement régies par la loi de Coulomb lors de la simulation d'un système dynamique non-régulier. Certains algorithmes résolvent le problème séparément
en chaque point de contact et eectuent des itérations jusqu'à obtenir une
solution valide sur l'ensemble du système mécanique. A l'inverse l'algorithme
de Florent Cadoux prend en compte simultanément l'intégralité des points
de contact et utilise la structure du problème an de faire apparaitre un
problème d'optimisation classique. Ce problème est un problème du cône du
second ordre ajouté à un problème de point xe.
En plus du solveur nous était fourni un exemple d'utilisation de celui-ci :
la modélisation d'un système composé d'une unique bille et d'un plan.
Souhaitant montrer ce que sait faire le solveur nous allons généraliser le
modèle à plusieurs billes et plusieurs plans ainsi que rajouter le phénomène
de dissipation d'énergie par le roulement. Cela explique donc le choix de la
modélisation d'un billard puisque celui-ci retranscrit exactement la généralisation que l'on souhaite eectuer.
Dans la première partie nous décrirons plus précisément le problème et
eectuerons la mise en équation. Viendra alors la présentation de l'interface
avec le solveur qui sera suivie par la présentation de l'algorithme d'assemblage des données qui est notre apport principal au problème. Nous terminerons par l'ajout au modèle du phénomène de dissipation de l'énergie
dans le but de se rapprocher du comportement réel du système physique.
2
1 Présentation du problème
Le système mécanique étudié est un ensemble de sphères pleines à répartition de masse homogène, celle-ci sont placées dans un espace délimité par
des plans. Il y aura donc deux types d'interaction, des interactions entre une
des sphères et une des parois et entre deux sphères. Mise à par les forces dus
au contact, la seule autre force entrant en jeu est le poids.
Convention de notation :
Nous utiliserons un système formé de nbb sphères. Lorsque une notation
fait intervenir un exposant i, celui-ci correspond à l'indice de la sphère auquel
est associé la valeur. Dans le cas des vecteurs, si un vecteur s'appelle
w alors

.
que l'on a présenté un vecteur wi c'est que ce vecteur est : w =  wi .
.
De même on utilisera l'indexation par k pour diérencier les points de contact. Ces conventions étant xé, nous allons présenter les diérentes variables
et constantes physiques entrant en jeu dans la description du système mécanique.
Les diérentes constantes physiques utilisés sont les suivantes :
le rayon d'une sphère rsi (on utilisera par la suite un rayon unique rs )
la masse d'une sphère mi
2
2
i
le moment d'inertie d'une
¡ sphère pleine
¢ J = 3 mrs
le vecteur gravité g = 0 0 −|g| avec |g| = 9.81
le coecient de frottement µ
le coecient de restitution ρ.
La signication physique des deux dernières constantes sera expliqué
ultérieurement.
La position d'une sphère ainsi que son orientation seront représentées par
six
Les premiers sont la position de son centre de ¡gravité piG =
¡ paramètres.
¢
¢
x y z , les suivant sont les angles d'Euler du solide : aiE = ψ θ φ .
On représentera la vitesse d'une sphère par la vitesse généralisé, notée v i .
i = d (pi ), et le
Celle-ci est composée de la vitesse du centre de gravité vG
dt G
vecteur rotation Ωi déni par Ωi = ψ̇z + θ̇u + φ̇z 0 Mzuzp a˙E . Avec par dénition :




 
sin(θ) sin(ψ)
cos(ψ)
0
Mzuzp = [z, u, z 0 ] où z =  0 , u =  sin(ψ)  z 0 =  − sin(θ) cos(ψ) .
cos(θ)
0
1
3
gure 1 : Angles d'Euler
L'intérêt de la dénition de la vitesse d'un solide par la vitesse généralisée est
la facilité d'expression de la vitesse en n'importe quel point M de la sphère,
en eet on a alors :
vM = vG + Ω ∧ (M − pG ).
Avant de pouvoir passer à la mise en équation il faut encore xer les lois régissant les interactions entre solides. Comme dit dans l'introduction la loi utilisée pour représenter la réaction du support et les contacts entre sphères est
la loi de Coulomb. Cette loi simple permet de modéliser de nombreux problèmes. L'interaction entre les solides ne dépend alors que d'un paramètre : le
coecient de frottement µk . Celui-ci dépend uniquement de la structure et la
matière des deux solides en contact, plus il est élevé plus la force s'opposant
au glissement sera élevée.
Présentation de la loi de Coulomb :
Soit A et B deux solides, soit ek le vecteur normal orienté de B vers A,
soit uk la vitesse relative de A par rapport B et rk la force appliquée par B
sur A. On indice par T et N respectivement la composante tangentielle et la
composante normale d'un vecteur.
Soit Kµk = {x/∀x ∈ R, kxT k ≤ µk xN } le cône de Coulomb.
La loi de Coulomb dit que l'un des trois cas suivant est toujours vrai lors
d'un contact :
décollage : r = 0 et uN ≥ 0
adhérence : r ∈ Kµ et u = 0
glissement : r ∈ ∂Kµ \0, uN = 0, uT 6= 0 opposé à rT :
∃α > 0, rT = −αuT = −αu
4
Un > 0
r = 0
u = 0
Un = 0
décollage
adhérence
glissement
gure 2 : Les trois cas de la loi de Coulomb
Voici l'explication physique de la loi de Coulomb. Dans le premier cas, le
décollage, le contact est en train de se terminer, la vitesse normale est donc
positive mais il n'y a pas de force entre les deux solides. Cette loi représente
donc un frottement sec. Il n'y a aucune force qui 'colle' les deux solides et
les empêcherait de s'éloigner l'un de l'autre. Le cas de l'adhérence est le cas
ou la vitesse relative des points de contact est nulle, dans ce cas la force de
contact peut se trouver n'importe où dans le cône de Coulomb. Le dernier
cas est le cas de glissement, dans ce cas la vitesse relative est non nulle et
contenue dans le plan de contact, la force de contact est elle comprise dans
le bord du cône de Coulomb.
La formulation de la loi de Coulomb ne prend pas en compte les rebonds
lors des choc entre solide, il faut donc rajouter une loi permettant leur simulation.
Pour modéliser ce phénomène nous utiliserons la loi d'impact de Newton.
Nous allons donc inverser la composante normale de la vitesse relative uk
lors d'un choc et la multiplier par le coecient de restitution ρk (dépendant
des deux solides en contact). Nommons ck la vitesse normale voulue après
impact, on a alors : ck = −ρk (uk )N
Ceci est une loi de restitution simple qui est uniquement considérée
comme étant valide pour des systèmes de géométrie semblable à des sphères.
Si ρ = 0 alors le choc est inélastique, une grande quantité d'énergie peut
être dissipée lors du choc, il n'y a pas de rebond. A l'inverse si ρ = 1 le choc
est parfaitement élastique et le rebond sera parfait et il n'y a pas de perte
d'énergie.
Maintenant que l'ensemble des lois physiques a été choisi, nous pouvons
passer à la mise en équation du problème. Il y a deux types de phase dans
l'évolution du système :
les phases de vol libre, il n'y a aucun contact.
les phases de contact, un ou plusieurs contacts on lieu entre les différents éléments du système.
5
La première phase est très simple à simuler. En eet la seul force appliquée à chacune des boules est la force de gravitation universelle. Ainsi en
appliquant la relation fondamentale de la dynamique on obtient directement
l'équation du mouvement :
d2
(p )
dt2 G
= g et
d2
(a )
dt2 E
= 0.
En revanche, lorsqu'un contact a lieu le modèle se complique. Eectuons
le bilan des forces pour une sphère donnée du système, nous supposons qu'il
existe N contacts dans le système, l'indice k utilisé ultérieurement servant à
les numéroter.
le poids mg
des forces de contact rk de loi de Coulomb si la sphère est en contact avec
une autre sphère ou avec le plateau. Chaque contact possède son propre
coecient de frottement µk .
Nous allons utiliser la relation fondamentale de la dynamique (RFD) ainsi
que le théorème du moment cinétique (TFC) pour obtenir les équations du
mouvement pour chacune des boules du système.
d
((vG )i ) =
RFD : mi dt
P
j
TFC :
Fj
d
dt ((LO )i )
=
P
j
MO,j
Avec (LO )j le moment cinétique de la sphère j en son centre de gravité et
MO,j les moments des forces appliqués à la sphère
Les seul forces possédant un moment non nul sont les forces rk dus à la loi
de Coulomb. Notons Ri l'ensemble des contacts faisant intervenir la sphère
i. On obtient donc :
˙ )i = mi g + r et J Ω̇i = P
mi (vG
k∈Ri rs ek ∧ rk
Pour résumer nous obtenons donc le système suivant :

˙ )i = mi g + P
 mi (vG
k∈Ri rk
P
Ji Ω̇i = k∈Ri rs ek ∧ rk

loi de Coulomb
Ce système est composé d'une loi dynamique,d'une loi cinétique et d'une
loi de contact. Le rebond sera quant à lui géré par le solveur à condition de
lui fournir les vitesses normales après impact respectant la règle précédemment dénie. Ayant obtenu le système à résoudre pour calculer l'évolution
du système, il faut maintenant le mettre sous une forme acceptable par le
solveur.
6
2 Interface du solveur
Pour pouvoir eectuer l'implémentation de la simulation il est nécessaire
de discrétiser les équations obtenues précédemment. Il faut de plus que le
système soit sous une forme acceptable par le solveur utilisé.
Discrétisation du problème :
Soit dt le pas de temps pour la résolution du problème. Plaçons-nous au
pas de temps tz et supposons de plus que l'on connaît les valeurs (pG , aE , vG , Ω)
de toutes les variables au pas de temps précédent. On veut donc obtenir les
valeurs de ces variables au pas de temps tk+1 = tk + dt. Posons les notations
−
+
suivantes : vG (tk ) = vG
et vG (tk+1 ) = vG
, la même convention est utilisée
pour l'ensemble des autres variables.
Comme précédemment, deux cas se présentent :
En absence de contact on a alors :
+
−
vG
= vG
+ dt
Dans le cas où des contacts sont présent dans le système, on a alors le
système :
(
P
i = mi g +
mi v˙G
k∈Ri rk
P
i
i
J Ω̇ = k∈Ri rs ek ∧ rk
qui devient :½
P
i )+ − (v i )− = dt(mi g +
mi ((vG
k∈Ri rk ) .
G
P
J i ((Ωi )+ − (Ωi )− ) = dt( k∈Ri rs ek ∧ rk )
On introduit les grandeurs suivantes :
µ
mi I3
0
0
J i I3

M la matrice de masse : Soit Mi =

∗

∗


∗


Mi
On a alors M = 

∗


∗
¶
∈ R6 × R6 .




 ∈ R6nbb × R6nbb .




∗
H matrice de la forme
suivante : 
H=
Hk,i
 ∈ R3N × R6nbb .
¡
¢
V
Avec Hk,i = ±I3 − (ek ) ∈¡ R3¢× R6 si la sphère i intervient dans
le contact k. Sinon on a Hk,i = 0 .
Sur une ligne donnée il y a deux blocs Hk,i non nul dans le cas d'un
contact entre sphères, un dans le cas d'un contact avec le sol. La trans7
posée de cette matrice apparaitra elle aussi lors de la discrétisation du
problème.
r inconnue du système, est le vecteur composé de l'ensemble des forces
de contacts au temps tz+1 multiplié par dt.
v inconnue du système, est le vecteur
 de l'ensemble des vitesses
 composé
.


 i. + 
 (v ) 
6nbb .
G

généralisées au temps tz+1 : v = 
 (Ωi )+  ∈ R




.
.
u inconnue du système, est le vecteur composé de l'ensemble de vitesse
relative aux diérents point de contact au temps tz+1 .
f le vecteur comprenant les diérents contraintes
imposées au système


.


.


 −mi (v i )− − dtmi g 
G

 ∈
et connues au pas de temps tk+1 : f = 
i (Ωi )−

−J




.
.
R6nbb .
On peut facilement exprimer la vitesse relative uk au point de contact k
(faisant intervenir les deux sphères i et j ) en fonction de la vitesse généralisée
de celles-ci. Soit P le point de contact entre les sphères on a alors :
uk = vi (P ) − vj (P ) = (vG )i + Ωi ∧ (P − (pG )i ) − Ωj ∧ (P − (pG )j )
Or on a (P − (pG )i ) = rs ek et (P − (pG )j ) = −rs ek donc on peut exprimer
uk en fonction de v grâce à une relation linéaire en fonction des diérentes
composantes de v. Ceci est vrai pour l'ensemble des points de contact donc
on peut obtenir u en calculant l'image de v par l'application linéaire associée
à la matrice H. On a donc u = Hv .


P .


r

P k∈Ri k
De plus on se rend compte que H T r = 


k∈Ri rs ek ∧ rk
.
Avec ces nouvelles notations le système discrétisé à résoudre devient :

 M v + f = HT r
u = Hv
 0
loi de Coulomb0 .
Les inconnues du système sont u, r et v . On discrétise donc le problème grâce
à un schéma semi-implicite. En eet on va calculer H et f grâce aux données
8
de l'instant tk , tandis que l'on désigne par r les forces de contact au temps
tk+1 .
Le solveur fourni prend en entrée la dimension du système, le nombre de
degrés de liberté, le nombre de contacts, les données présentées précédemment M , f et H , le vecteur w servant à imposer une vitesse au sol, la liste
des vecteurs normaux E , la liste des coecients de frottement µ, la liste des
vitesses normales désirées après impact c.
Notre discrétisation du problème ne prend pas en compte la modélisation
des rebonds formulé dans la partie précédente. Le vecteur c en entrée du
solveur sert à gérer ce phénomène. En eet on va forcer la vitesse normale
après impact à vérier la condition suivante :
½
−
ck = ρk u−
N si uN < 0 .
ck = −u−
N sinon.
Ces contraintes imposent que si deux solides sont dans une phase où ils
s'éloignent (il y a eu pénétration des solides durant un des pas de temps
précédent) alors leur vitesse d'éloignement ne sera pas modiée. Sinon le
choc vient d'avoir lieu et il faut donc appliquer la règle choisi dans la section
précédente.
Il faut cependant remarquer que le rebond est modélisé de manière correcte uniquement dans le cas où vG .dt est assez faible devant le rayon d'une
sphère. En eet dans le cas contraire les solides peuvent se chevaucher de
manière importante. Le temps étant discrétisé avec un pas de temps xe, on
peut donc rater l'instant exact où a lieu le contact si la distance parcourue
lors de dt est trop élevée.
Nous avons donc maintenant un problème formulé de manière acceptable
par le solveur et représentant l'intégralité des contraintes à modéliser. Le
solveur eectuant le calcul des vitesses des solides et de la réaction du support, il ne reste plus qu'à mettre à jour les valeurs des positions des centres
de gravité (pG ) des sphères ainsi que les valeurs de leurs angles d'Euler (aE )
grâce aux formules suivantes :
½
−
+
p+
G = pG + dtvG
−
+
− )−1 )Ω+
aE = aE + dt((Mzuzp
− )
Un problème peut apparaitre à ce niveau : en eet la matrice (Mzuzp
n'est pas obligatoirement inversible (cas où θ = 0 ou π ), ce phénomène
est appellé 'gimbal lock' (Une solution pour remédier à ce problème serait
d'utiliser les quaternions qui sont une autre façon de représenter une rotation
dans l'espace).
Il faut donc maintenant voir comment récupérer les diérentes données
à donner en entrée de l'algorithme.
9
3 Algorithme d'assemblage des données
Voila l'algorithme permettant le calcul de l'ensemble des paramètres.
On va procéder en trois temps, dans un premier temps nous allons détecter les contacts et créer leurs vecteurs vecteurs normaux ainsi qu'initialiser
le vecteur f , ensuite nous allons construire la matrice H. Celle-ci ne peut en
eet pas être construite lors de l'étape précédente car ses dimensions ne sont
pas connues. Enn on va construire le vecteur des vitesses normales c.
Pour trouver les contacts on eectue l'algorithme suivant :
Durant le parcours suivant, on enregistre les contacts rencontrés en sauvegardant leur type, c'est à dire entre quel objets le contact a t'il lieu.
k enregistrera le nombre de contacts trouvés.
Initialement k = 0.
Pour les sphères d'indice i compris entre 1 et nbb : faire,
On calcule la valeur de fi
~ = p avec ~n vecteur
Soit un plan d'équation : ∀X ∈ R3 ~n.X
normal au plan
~ G i ).~n − p| ≤ rs alors il y a contact de la sphère avec le plan,
Si |Op
On incrémente le nombre de contacts : k = k + 1
On enregistre un contact entre le plan et la sphère i
On sauvegarde le vecteur normal : ek = ~n
On teste de même si il y a contact avec les autres plan.
Fin.
Pour les sphères d'indice j compris entre i + 1 et nbb faire,
Soit d =k (pG )i − (pG )j k,
Si d ≤ 2rs alors il y a contact entre les deux sphères,
On incrémente le nombre de contacts : k = k + 1
On enregistre un contact entre la sphère i et
la sphère j
(p ) −(p )
On sauvegarde le vecteur normal : ek = G i d G j
Fin.
Lors de ce parcours du problème on a bien testé tout les cas de contact
possible que se soit entre un plan et une sphère ou entre deux sphères. Ce
parcours permet donc bien d'obtenir le nombre de contact dans le système à
l'instant présent. De plus, on a enregistré pour chaque contact les sphères qui
10
interagissent. On peut donc maintenant parcourir ces enregistrements pour
mettre à jour la matrice H.
Création de H :
Pour tous les contacts trouvés précédemment faire,
Pour chacun des solides du contact faire,
Si c'est une boule,
Rajouter le bloc suivant dans H à la place du bloc de numéro de ligne le
numéro du contact
de colonne le numéro de la sphère ns .
¡ nc et de
¢
V numéro
On a Hnc ,ns = ±I3 − (τ ) le signe devant la matrice identité est opposé pour les deux sphères participant à même contact.
Fin.
Fin.
Sinon ne rien faire.
Il ne reste maintenant plus qu'à calculer les vitesses normales désirées après
impacte pour que les rebonds puissent être modélisés.
Calcul des vitesses normales :
On calcul u c'est à dire Hv . Ensuite pour l'ensembles des contacts k on effectue la projection de uk sur le vecteur normal au contact ek , on a (uN )k =<
uk .ek >. Si (uN )k < 0 alors ck = ρk (uN )k sinon ck = −(uN )k .
On a donc calculé l'intégralité des paramètres nécessaires à l'utilisation
du solveur.
Le modèle actuel n'est pas encore susant pour rendre compte du mouvement des solides dans un système tel qu'un billard, pour le moment si il n'y a
pas de bordure au plateau alors le mouvement des boules peut être inni. En
eet dans le modèle précédemment utilisé il n'y a pas de dissipation d'énergie
sauf dans le cas des rebonds. Il faut donc trouver un phénomène physique
permettant de justier la dissipation d'énergie puis choisir une manière de
le modéliser.
4 Ajout du frottement de roulement
La raison de la dissipation d'énergie est le frottement de roulement. Nous
allons donc compléter notre schéma pour rendre compte de ce phénomène.
Pour cela nous allons faire intervenir un couple ponctuel appliqué au point
11
de contact avec le sol. Un couple est un système d'action mécanique dont
la résultante est nulle mais dont le moment résultant est non nul. Ainsi
l'ajout de ce couple ne modiera pas l'équation résultant de l'application de
la relation fondamentale de la dynamique, il modiera uniquement l'équation
dépendant du théorème du moment cinétique. Ainsi le choix de modéliser
le frottement de roulement par un couple est bien justié puisque celui-ci
ne va intervenir que sur la rotation du solide. Ce couple va être opposé et
proportionnel au moment cinétique au point de contact.
Notons α la norme du coecient du frottement de roulement et appelons
le moment résultant du couple M r . Nous calculons dans un premier temps
la valeur du moment cinétique, nous verrons ensuite comment le système
d'équations est modié.
Notons ρs la masse volumique de la sphère, on a alors :
R
~ )dτ .
~ ∧ v(M
LC = ρs M ∈Sphere OM
~ ) = v(0)
~ + v~R avec vR (M
~ ) vitesse d'un point dans le référentiel
Or on a v(M
lié à O.
R
R
~
~ )dτ ).
~ ∧ v(0)dτ
~ ∧ vR (M
LC = ρs ( M ∈Sphere OM
+ M ∈Sphere OM
On va calculer séparément ces deux intégrales.
R
~
~ ∧ v(0)dτ
I1 = ρs M ∈Sphere OM
R
~
~ dτ ) ∧ v(0)
I1 = ρs ( M ∈Sphere OM
~ .
I1 = 2msphere rs ∧ v(0)
Donc I1 est une fonction linéaire de la vitesse du centre de gravité de la
sphère. On a ici G matrice associée à une application linéaire.
R
~ )dτ .
~ ∧ vR (M
I2 = ρs M ∈Sphere OM
~ = OC
~ + CM
~ avec C le centre de gravité de la sphère.
On a OM
R
~ )dτ
~ + CM
~ ) ∧ vR (M
I2 = ρs M ∈Sphere (OC
R
~ )dτ .
~ ∧ vR (M
I2 = ρs M ∈Sphere CM
~ ∧ (Ω ∧ CM
~ ) = (CM
~ .CM
~ ).Ω − (CM
~ .Ω).CM
~ on
En utilisant le fait que CM
obtient :
I2 = 43 πrs5 ρs Ω I2 = mi rs2 Ω.
On applique le théorème du moment cinétique :
P
J Ω̇i = k∈Ri rs ek ∧ rk + M r
P
J Ω̇i = k∈Ri rs ek ∧ rk − αLC
P
~ + mi (r2 Ω)).
J Ω̇i =
rs ek ∧ rk − α(2msphere rs ∧ v(0)
s
k∈Ri
12
On discrétise cette équation, et on obtient :
~ + r2 mi Ω− ) + P
Ji (Ω+ − Ω− ) = dt(α(2msphere rs ∧ v(0)
s
k∈Ri rs ek ∧ rk ).
Le seul changement par rapport à l'implémentation précédente est la modication du vecteur f qui devient alors :


.


.


−


−mi (vG )i − dtmi g
6nbb .


f =
−
2
− ∈R
~
 −Ji Ωi + dt α(2msphere rs ∧ v(0) + rs mi Ω ) 


.
.
Les résultats obtenus sont satisfaisants visuellement dans la mesure où
il n'y a pas de comportement clairement anormal qui apparaisse, cependant
ce n'est pas une validation du modèle aussi poussée que la comparaison à
l'expérience. Lorsqu'une boule est en roulement sa vitesse de roulement va
bien s'atténuer petit à petit. La vitesse de cette atténuation dépend de la
valeur du coecient α, plus celui-ci est élevé plus l'atténuation est rapide.
Conclusion
Nous avons eectué la modélisation d'un billard, c'est à dire la modélisation d'un système dynamique composé d'un ensemble de sphères. Pour cela
il faut modéliser les impacts ainsi que deux lois de frottement, le frottement
de glissement et le frottement de roulement. Nous avons pour cela utilisé
la formulation d'impulsion-vitesse de la loi de Coulomb pour modéliser le
frottement de glissement, un couple de force opposé au moment cinétique
pour modéliser le frottement de roulement, une règle de restitution simple
adapté au problème et un schéma de discrétisation semi-implicite. Le système d'équation obtenu est résolu par le solveur fourni par Florent Cadoux en
utilisant une méthode d'optimisation complexe utilisant les cônes du second
ordre. Les résultats obtenus sont satisfaisants et rendent bien le comportement physique attendu d'un point de vue qualitatif. Néanmoins il aurait été
intéressant d'eectuer des mesures pour obtenir une validation quantitative
du modèle. De plus de telles mesures auraient permis d'obtenir des valeurs
pour les constantes physiques (ρ, µ et α) dans le cas du billard. Deux autres
perspectives s'ouvrent à la suite de ce sujet. La première est une implémentation plus ecace de l'algorithme de d'assemblage des donnés (avec la
13
gestion du parallélisme) ainsi que son adaptation à l'utilisation d'un solveur
'sparse', en eet les données de grande taille du problème sont des matrices
creuses. Enn il serait intéressant de créer une meilleure interface graphique
permettant à l'utilisateur de jouer au billard de manière interactive.
Références
[1] Florent Cadoux. An Optimization-Based Algorithm for Coulomb's
Frictional Contact. ESAIM : Proceedings 2008.
[2] David Bara. Analytical Methods for Dynamic Simulation of Nonpenetrating Rigid Bodies. Computer Graphics, Volume 23, number 3, July
1989.
14

Documents pareils