Rapport de projet d`informatique L3 : Chaîne de dominos

Rapport de projet d’informatique L3 : Chaîne de dominos
Sébastien LHERMINIER, Thibaud LOUVET
Semestre 1
Résumé
La chute d’une chaîne de dominos est un exemple facilement observable d’un phénomène de propagation.
Grâce en particulier aux structures de calcul itératif, l’outil informatique, outre qu’il permette la résolution
d’équations non linéaires, est bien adapté à ce type de problème, où l’on suit les effets d’une perturbation
se propageant de proche en proche : le mouvement d’un domino est directement déterminé par celui de ses
deux plus proches voisins (lorsqu’il y a contact).
1 Définition du problème
On étudie une chaîne de dominos qui chutent les uns sur les autres en cascade comme montré sur la
figure 1.
Le choc entre les dominos est modélisé par l’action d’un ressort linéaire de raideur ket de longueur à
vide l0. De plus, on considère comme non nul le frottement dû à l’air (on pourrait aussi imaginer que les
dominos sont plongés dans un fluide visqueux tel que de l’eau et pas dans l’air). Les dominos sont modélisés
par des tiges d’épaisseur nulle et de hauteur h, de masse m.
On va tout d’abord chercher à visualiser le mouvement de chaque domino donné par son angle avec la
verticale. On étudiera ensuite la mise en place ou non d’un régime permanent en fonction des différents
paramètres du problème comme l’espacement , le coefficient de frottement visqueux γou encore la hauteur
h.
2 Analyse du sujet
La première étape de la résolution numérique du sujet est d’en faire une analyse physique. Les notations
introduites concernant chacun des dominos sont décrites par la figure 2.
2.1 Mise en équation
Le principe du programme final est d’appliquer le théorème du moment cinétique à chaque domino afin
de déterminer sa position de proche en proche :
Jd2αn
dt2=XΓ(
Fn)(1)
où J est le moment d’inertie d’un domino par rapport à l’axe de sa base :
J=Zh
0
m
hu2du =mh2
3
Figure 1 – Schéma du système étudié
1
Figure 2 – Définition des notations
On pourra utiliser l’expression de l’accélération dans un développement limité si l’intervalle de temps est
suffisament petit :
αn(t+dt) = αn(t) + dt n
dt (t) + dt2
2
d2αn
dt2(t)(2)
Les forces appliquées à chaque domino sont : leur poids, le frottement visqueux avec l’air (ou le fluide
dans lequel il est plongé) et les forces exercées par les dominos qui l’entourent par l’intermédiaire des ressorts.
Les moments associés sont donc :
Γ
P=Zh
0
m
hgsin αnu du =mgh
2sin αn(3)
Γfrottement =γn
dt (4)
Γressortn=h.k(l0ln)(5)
Γressortn1=py2
n+d2
n.k(l0ln1).sin ( π
2(αnαn1)) (6)
Un problème apparaît dans le développement limité : en effet, on ne connaît pas la dérivée première de
αn. Pour cela, écrivons l’équation (2) en tdt :
αn(tdt) = αn(t)dt n
dt (t) + dt2
2
d2αn
dt2(t)(7)
En effectuant la différence (2) (7), on obtient :
n
dt (t) = αn(t+dt)αn(tdt)
2dt (8)
2.2 Relations géométriques
Écrivons les relations sur les longueurs projetées sur l’horizontale et la verticale :
∆ + dn=hsin αn+lncos αn(9)
yn=dn
tan αn
=qh2+l2
n1cos (αn1+ arctan ln1
h) = hcos αnlnsin αn(10)
Ces relations (9) et (10) nous donnent au final la longueur lnen fonction des angles et des données du
problème :
ln=∆ + h(cos αntan αn+1 sin αn)
cos αn+ sin αntan αn+1
=htan (αn+1 αn) +
cos αn(1 + tan αntan αn+1)(11)
On remarque que cette relation n’est valable que si ln< l0, sinon il n’y a pas contact entre le ressort n
et le domino n+ 1. On introduit αchoc l’angle pour lequel il y a choc entre le ressort nà sa longueur à vide
et le domino n+ 1 en position initiale (αn+1 = 0) :
∆ = hsin αchoc +l0cos αchoc (12)
L’équation (12) vérifiée par αchoc ne se résout pas analytiquement, il faudra donc en faire une résolution
numérique.
On peut donc introduire la distribution de Heaviside Θ(αnαchoc)dans l’expression du moment exercé
par le ressort n:
Γressortn= Θ(αnαchoc).hk(l0ln)(13)
2
Une fois que le domino na touché le domino n+ 1 par l’intermédiaire du ressort, on doit prendre en
compte l’existence possible d’un rebond du domino nsur le n+ 1 : ainsi, il faut toujours que la longueur du
ressort soit inférieure ou égale à l0. Pour cela, on ajoute une structure conditionnelle if qui réajuste à l0la
valeur calculée de ln(t)si elle lui est supérieure.
Si l’on atteint un état d’équilibre pour une chaîne infinie de domino, chaque domino est équivalent aux
autres et les dérivées temporelles sont nulles, donc l’angle d’équilibre est donné par :
∆ cos αeq =leq (14)
et
(1 + γ
2J)αeq = 2αeq αeq +γ
2Jαeq +3g2
2hsin(αeq ) + 2
Jk[(l0leq )hcos(αeq )leq sin αeq
cos(αeq )h(l0leq )]
cos αeq =l0
3gJ
2kh2(15)
2.3 Calcul de αn(t+dt)
A partir des relations (1),(2),(8) et des expressions des moments, on trouve la relation :
αn(t+dt) = 1 + γdt
2J12αn(t)1γdt
2Jαn(tdt) + 3gdt2
2hsin αn(t)
+dt2
Jk[l0ln1(t)] cos (αn1(t)αn(t))
cos αn(t)[hcos αn1(t)ln1(t) sin αn1(t)]
dt2
Jkh[l0ln(t)](16)
3 La structure du programme
Le code du programme lui-même suit les étapes de l’analyse du problème. Le cheminement du calcul est
donc :
trouver l’angle αchoc par la méthode de Newton (ou Newton-Raphson).
initialiser le calcul pour le domino 0avant le choc avec le domino 1, en fonction des conditions initiales.
réaliser une boucle de calcul sur net t.
itérer le calcul en faisant varier un paramètre.
tracer la courbe correspondant au paramètre étudié et placer les données dans un fichier .txt.
3.1 L’angle de choc αchoc
La résolution de l’équation (12) est faite numériquement par la méthode des zéros de Newton (ou Newton-
Raphson) : on utilise une suite qui converge quadratiquement vers le zéro de la fonction. En pratique, la
fonction utilisée est :
f(α) = hsin α+l0cos α(17)
et sa dérivée est :
f0(α) = hcos αl0sin α(18)
La suite est définie par récurrence :
uk+1 =ukf(uk)
f0(uk)=ukhsin uk+l0cos uk
hcos ukl0sin uk
(19)
Afin d’arrêter le calcul lorsque le terme de la suite est suffisament proche de la limite, on met en mé-
moire les deux derniers termes calculés. En effet, les suites extraites d’indices pair et impair sont des suites
adjacentes qui convergent chacune vers la limite αchoc. On peut donc approximer l’erreur sur la limite par
la différence entre les derniers termes respectivement pair et impair.
3.2 Le domino 0et les conditions initiales
On introduit la vitesse angulaire initiale ω0telle que :
0
dt (t= 0) = ω0(20)
Ainsi, tant que α0< αchoc, l’équation différentielle vérifiée par le domino 0est simple :
Jd2α0
dt2=γ0
dt +mgh
2sin α0(21)
De plus on note tchoc 0l’instant du choc avec le domino 1, car pour t < tchoc 0, les autres dominos n’ont
pas bougé, il est inutile de calculer la variation de leur angle.
3
0
0.2
0.4
0.6
0.8
1
1.2
0 200 400 600 800 1000 1200 1400 1600 1800 2000
’data_alpha.txt’ u 1:2
(a) Angle α0
0.0094
0.0095
0.0096
0.0097
0.0098
0.0099
0.01
0 200 400 600 800 1000 1200 1400 1600 1800 2000
’data_l.txt’ u 1:2
(b) Longueur l0
Figure 3 – Résultats pour le domino 0
3.3 La suite du calcul pour le domino 0 et les autres
On doit maintenant calculer les angles de tous les dominos pour t > tchoc 0. Cela dit, le calcul n’est pas
nécessaire pour les dominos n>isi le domino in’a pas atteint l’angle αchoc. On peut donc inclure une
boucle while afin de prendre en compte cette condition. Il faudra cependant calculer l’angle du domino i
sans prendre en compte la force exercée par son propre ressort.
De plus, chaque domino ne peut passer au travers du suivant : il faut donc ajouter une boucle condition-
nelle if en remontant la chaîne du dernier au premier domino.
3.4 L’affichage des résultats
Pour le programme concernant les angles et les longueurs de ressorts : lorsque le calcul est terminé,
le programme crée deux fichiers .txt où il place respectivement l’angle et la longueur du ressort pour
le domino choisi. Par l’intermédiaire de scripts .bash, le tracé des graphiques et leur visualisation au
format EPS est automatisé (programmes gnuplot et ghostview). De plus, le programme rend en ligne
de terminal le nombre de dominos et d’intervalles de temps, ainsi que les valeurs de αchoc et tchoc 0.
Pour le programme concernant la vitesse de propagation de l’onde de chute : le programme trace ici
le temps mis par chaque domino pour commencer à bouger et l’inverse des différences de temps entre
deux dominos consécutifs (ce qui peut s’apparenter à une vitesse de l’onde de chute).
4 Résultats de l’étude
Les valeurs initiales des paramètres sont :
l0= 1 cm.
h= 5 cm.
∆ = 2 cm.
= 1 ×103s.
J= 1 ×105kg·m2ce qui correspond à une masse m= 12 g.
k= 1200 N·m1soit une force équivalente de 120 g/mm.
γ= 1 ×105N·m·(rad/s)1qui correspond à la force visqueuse pour l’air.
ω0= 1 rad·s1.
De plus, le calcul est fait pour une chaîne de 50 dominos pendant 2000 intervalles de temps.
Les valeurs initiales des paramètres ont été choisies de façon réaliste par rapport au système réel. Rien
n’empêche d’effectuer les calculs avec des valeurs très différentes pour voir la dépendance vis-à-vis de ces
paramètres.
4.1 Étude des variations temporelles de l’angle αn
On utilise le programme qui concerne l’angle d’un domino donné. Pour un nombre fixé de dominos , on
choisit un domino quelconque et on étudie les variations de l’angle en fonction du temps. On peut ensuite
faire varier les paramètres du système physique pour observer les effets sur l’angle.
Tout d’abord, on lance le programme pour le domino 0. Le programme nous renvoie :
αeq = 1.054262957399 ,leq = 0.009877374773 ,αchoc = 0.205661506507 ,tchoc 0= 119.
et les graphiques de la figure 3. On voit sur ces graphiques que le domino 0semble atteindre un régime
d’oscillateur amorti. De plus, on distingue une discontinuité de la dérivée de l’angle lors du choc avec le
domino 1.
4
0
0.2
0.4
0.6
0.8
1
1.2
0 200 400 600 800 1000 1200 1400 1600 1800 2000
’data_alpha.txt’ u 1:2
(a) Angle α1
0.0088
0.009
0.0092
0.0094
0.0096
0.0098
0.01
0 200 400 600 800 1000 1200 1400 1600 1800 2000
’data_l.txt’ u 1:2
(b) Longueur l1
Figure 4 – Résultats pour le domino 1
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
0 200 400 600 800 1000 1200 1400 1600 1800 2000
’data_alpha.txt’ u 1:2
(a) Angle α10
0
0.001
0.002
0.003
0.004
0.005
0.006
0.007
0.008
0.009
0.01
0 200 400 600 800 1000 1200 1400 1600 1800 2000
’data_l.txt’ u 1:2
(b) Longueur l10
Figure 5 – Résultats pour le domino 10
On peut ensuite lancer le programme pour le domino 1. Dans ce cas, le programme renvoie les figures 4.
De la même façon, le domino 1 tend vers un état d’oscillateur amorti. On peut remarquer que les valeurs
d’équilibre des longueurs des ressorts 0 et 1 sont différentes : l’une est proche de 0.00992 (domino 0) alors que
celle du domino 1 est proche de 0.0098. Le ressort 1 réagit comme si il supportait une masse plus grande :
celle du domino 1 plus celle du domino 0. En conséquence, l’angle moyen d’oscillation du domino 1 est
supérieur à celui du domino 0.
L’étape suivante est de regarder les résultats pour un domino plus éloigné dans la chaîne : par exemple
le domino 10. Dans ce cas, le programme nous renvoie les graphes de la figure 5. On voit que les oscillations
ont une amplitude bien plus grande que pour les deux premiers dominos, à la fois pour l’angle et pour la
longueur du ressort. De plus, on voit que l’angle α10 revient à la valeur 0 après la première oscillation, puis
le domino recommence à tomber. Cela induit donc un faible temps de retard sur la vingtaine d’intervalles de
temps où le domino reste en position initiale. On peut aussi remarquer que la longueur moyenne du ressort
est proche de 0.5 cm et que l’angle d’équilibre du domino se rapproche de π
2.
On lance enfin le programme pour un domino du centre de la chaîne comme le domino 25. Dans ce cas
le programme nous renvoie la figure 6. Ici, le domino n’effectue même plus d’oscillations et passe presque
instantanément des valeurs α= 0 àα=π
2. De la même façon, la longueur du ressort passe de 1 cm à 0 (et
vice-versa) en un temps très bref. Cela signifie que les dominos restent collés au sol après un bref régime
transitoire, comme si le ressort était absent.
Essayons de multiplier la masse de chaque domino par 10 pour voir les conséquences sur l’évolution
temporelle de l’angle. La figure 7 compare le graphe obtenu précedemment avec la masse initiale et ceux
avec la masse multipliée par 10 puis par 100. Les pseudo-oscillations sont beaucoup plus amorties lorsque la
masse est plus grande, et donc le régime transitoire est d’autant plus bref. Lorsque la masse a été multipliée
par 100, l’angle du domino suit une courbe de type exponentielle avec des irrégularités lors de chaque nouveau
choc d’un domino suivant dans la chaîne.
De plus, on remarque que le temps mis par l’onde de chute pour atteindre le domino 25 dépend lui aussi
de la masse des dominos : pour la masse initiale, le choc du domino 25 a lieu pour t '300, alors que pour
m×10 il a lieu pour t '500 et pour m ×100 il a lieu pour t '1000.
5
1 / 10 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !