Pendule et chaos

Le chaos et son étude ont fait une apparition remarquée en physique au début du XXeme siècle avec Poincaré mais aussi, un peu plus tard, avec l'avènement des simulations sur ordinateur avec Edward Lorenz. Ce dernier exhiba un système différentiel au comportement étrange lorsqu'on faisait varier les conditions initiales. D'ailleurs cette découverte doit beaucoup au hasard et aux erreurs d'arrondi mal maîtrisées en calcul numérique !

Je cherchais un moyen simple et un système connu des lycéens pour introduire le chaos. Je l'ai trouvé avec le pendule qui, de simple à forcé, passe du déterminisme pur au chaos déterministe. Pour ceux que le système de Lorenz passionneraient plus, vous pouvez vous rendre sur la page qui lui est consacrée.

Retour sur le pendule simple

Equation différentielle et trajectoire

Nous avons plusieurs sur TangenteX établi l'équation différentielle du pendule simple, sous sa forme complète non-linéaire et sous sa forme linéaire simplifiée par l'approximation harmonique. Je vais juste rappeler ces deux équations différentielles :

L'angle \( \theta \) est une fonction du temps.
La variable \( \omega_0  \) est la pulsation propre du pendule, que je fixerai à 1 dans la suite.
L'EDO non linéaire n'a pas de solution analytique simple, nous nous contenterons de la résoudre numériquement.
Par contre, nous pouvons nous arrêter un instant sur la famille de solutions de l'EDO linéaire. Les solutions sont de la forme \( \theta (t) = A \cos(\omega t + \phi)\), avec A l'amplitude de la sinusoïde et \( \phi \) sa phase, que nous choisirons nulle.
Voici la trajectoire de notre pendule, obtenue par la résolution de l'EDO non linéaire pour les conditions initiales \( \theta_0 = \dfrac{\pi}{6} \) et \(\dot{\theta_0} = 0\).

trajectoire pendule simple

Nous sommes en terrain connu....

Diagramme de phase du pendule simple

Examinons maintenant le comportement de notre pendule sous un autre angle, en traçant son diagramme de phase. Le diagramme de phase est la trajectoire du pendule dans son espace des phases. Ici, nous considérerons que l'espace des phases est un plan formé par les points \( ( \theta, \dot{\theta} ) \), car notre pendule n'a qu'un seul degré de liberté en fonction du temps.
Si l'on considère l'approximation harmonique, nous avons vu que la solution était de la forme \( \theta (t) = A \cos(\omega t + \phi)\). Je peux facilement calculer \( \dot{\theta} (t) = -A \omega \sin(\omega t + \phi)\). La forme de la courbe \( \dot{\theta} (t) = f(\theta) \) est donc une ellipse. Avec un changement de variable très simple, en traçant \( \dfrac{\dot{\theta} (t)}{\omega} = f(\theta) \), j'obtiens même un cercle !

diagramme phase pendule simple

L'origine de la courbe est situé au point (pi/6, 0), les conditions initiales du système. La courbe se parcourt dans le sens anti-horaire : l'angle diminue et la vitesse angulaire augmente. Mais rien dans notre équation ne nous permet de dire que cette courbe ne pourrait pas être parcourue dans l'autre sens ! Essayez donc de tracer la solution de l'équation différentielle en changeant t par -t ...
La courbe est fermée et donc le système oscille indéfiniment, toujours selon la même trajectoire, que l'on appelle cycle. Le système est périodique car il repasse toujours par les mêmes points. Mais attention, rien ne dit que la période est constante, car le pendule pourrait parcourir chaque cycle en un temps différent, ce qui n'est pas visible sur le diagramme de phase.
En résumé, le diagramme de phase nous dit que:

Portait de phase d'un pendule simple

Comme nous venons de le voir, le diagramme de phase d'un pendule simple est une ellipse qui dépend des conditions initiales. Que se passe-t-il si nous traçons la courbe solution de l'EDO pour plusieurs couples de conditions initiales, en particulier en faisant varier l'angle initial?
Le script PortaitPhase.py nous permet de traçer les solutions pour un angle initial variant entre 0 et \( \pi \), par pas de \( \dfrac{\pi}{10} \), avec une vitesse angulaire initiale nulle. Nous obtenons l'ensemble de courbes suivant:

Portait de phase pendule simple

Il s'agit d'un ensemble d'ellipses concentriques, toutes centrées sur l'origine. Les ellipses internes, au moins les trois premières, sont des cercles. Elles correspondent aux petites valeurs de l'angle initial. Puis les cercles se déforment à mesure que l'angle initial grandit et que la non-linéarité se fait sentir. Les ellipses restent fermées et donc le système reste périodique, non dissipatif.

Le pendule amorti par un frottement fluide

Equation différentielle et trajectoire

Reprenons la forme non linéaire du pendule simple : \( \dfrac{d^2 \theta}{dt^2}  + \omega_0 ^2 \sin(\theta) = 0 \). Je vais y ajouter un terme dissipatif qui va rendre notre système un peu plus réaliste. Je prends en compte les frottements de l'air sur la masse oscillante. La physique expérimentale nous dit que la force de frottement que l'air exerce sur la masse oscillante est proportionnelle à la vitesse angulaire, le facteur de proportionnalité étant le coefficient de frottement que je note K dans mon code. Le terme de frottement s'opposant au mouvement, il sera doté d'un signe moins. Ce qui nous donne l'équation différentielle :

\( \dfrac{d^2 \theta}{dt^2}  = -\omega_0 ^2 \sin(\theta) -  K \dfrac{d \theta}{dt} \)

soit encore

\( \dfrac{d^2 \theta}{dt^2}   + K \dfrac{d \theta}{dt} + \omega_0 ^2 \sin(\theta) = 0 \)

Si vous êtes un peu curieux, vous aurez noté que le coefficient K a la dimension de l'inverse d'un temps. La durée correspondante 1/K est la constante de relaxation du pendule, c'est à dire la durée au bout de laquelle l'amplitude des oscillations a été divisée par 1.5.

Examinons la trajectoire d'un tel pendule, avec k = 0.5 par exemple (valeur tout à fait arbitraire), avec les valeurs d'angle et de vitesse initiale inchangées :

Trajectoire pendule simple amorti

Les oscillations ne sont plus éternelles ! Leur amplitude décroit plus ou moins rapidement selon la valeur de K et au bout d'un temps qui dépend lui aussi de K, lorsque toute l'énergie potentielle initiale du pendule s'est dissipée dans les frottements avec l'air, le pendule s'immobilise dans un état stable, à son point d'équilibre d'énergie potentielle minimale. Nous allons retrouver ce comportement sur le diagramme de phase du pendule.
Remarquons aussi que l'introduction du terme différentiel d'ordre un rompt la symétrie par rapport au temps de la solution. Pas question comme dans le pendule idéal de remonter le temps ! Un système qui dissipe de l'énergie est par nature irréversible.

Diagramme de phase du pendule amorti

Examinons maintenant le diagramme de phase de notre pendule amorti :

Diagramme de phase pendule simple amorti

Le point de départ de la courbe est le point de coordonnées \( (\theta_0, \dot{\theta_0})\), soit ici \( (\dfrac{\pi}{6},0)\). La courbe "tombe" en spiralant vers le point d'équilibre (0,0) où l'angle et la vitesse angulaire deviennent nuls. Plus le coefficient de frottement est élevé est plus la chute en spirale est rapide.

Portait de phase du pendule simple amorti

Avec le même coefficient de frottement (k = 0.5) et la même vitesse angulaire initiale nulle, j'ai tracé le portait de phase de notre pendule simple amorti pour un angle initial vairant entre 0 et \( \pi \), par pas de \( \dfrac{\pi}{10} \) :

Portait de phase pendule simple amorti

Toutes les trajectoires "tombent" plus ou moins vite vers le point d'équilibre, comme s'il s'agissait un attracteur. Imaginez une cuvette et des billes qui tombent en spiralant vers le fond, plus ou moins vite, avec plus ou moins de tours, en fonction du niveau auquel elles ont été lancées, de leur énergie potentielle. Nous observons le même phénomène : le pendule atteint sa position d'équilibre stable dans un temps plus ou moins long, selon son énergie potentielle de départ.

En tous les cas, jusqu'à présent tout est magnifiquement organisé de manière strictement déterministe. Une variation dans les conditions initiales, même légère, se retrouve dans la trajectoire de façon prévisible. Point de chaos dans tout ça, et pourtant notre équation différentielle est non-linéaire....

Le pendule entretenu - l'apparition du chaos

Equation différentielle et trajectoire

Reprenons notre équation différentielle du pendule amorti \( \dfrac{d^2 \theta}{dt^2}   + K \dfrac{d \theta}{dt} + \omega_0 ^2 \sin(\theta) = 0 \) et ajoutons à cette équation un terme de forçage sinusoïdal dans le membre de droite, ce qui nous donne:

\( \dfrac{d^2 \theta}{dt^2}   + K \dfrac{d \theta}{dt} + \omega_0 ^2 \sin(\theta) = A  \sin(\omega_F) \).

A est l'amplitude du signal de forçage et \( \omega_F \) sa pulsation.

Physiquement, on pourrait s'attendre à ce que notre pendule oscille au rythme du signal de forçage. Et c'est bien cela qui arrive dans certains cas. Choisissons une pulsation de forçage = 0.7 rad.s-1 avec une amplitude A = 1.0. Voici la trajectoire obtenue :

Trajectoire pendule entretenu A = 1.0

Après un régime transitoire d'une vingtaine de secondes, notre pendule oscille avec une période de 9 secondes environ, ce qui correspond à la période du signal de forçage.

Le diagramme de phase donne:

Diagramme de phase pendule entretenu A = 1.0

On constate très bien la trajectoire de phase pendant le régime transitoire puis l'établissement du régime périodique. Cependant, on remarque de légers dédoublements de l'ellipse qui nous interrogent la période réelle du mouvement et sur sa constance.

A l'approche du chaos

Modifions maintenant l'amplitude du signal de forçage, en gardant toutes les autres variables égales par ailleur. Posons A = 1.145 et examinons la trajectoire du pendule et son diagramme de phase. La trajectoire nous donne :

Trajectoire pendule entretenu A = 1.145

Vous remarquerez que le régime établi présente un dédoublement de la période, que l'on retrouve sur le diagramme de phase :

Diagramme de phase pendule entretenu A = 1.145

Le dédoublement se caractérise bien par deux ellipses. Il y a d'ailleurs un moyen assez simple de se convaincre du phénomène : tracer le spectre du signal pendant le régime établi. Je vais donc modifier mon code pour appliquer une FFT sur la partie intéressante du signal. Voici ce que cela donne :

Spectre pour A = 1.145

La fréquence de forçage est égale à 0.11 Hz. Le pic principal du spectre est mesuré à 0.10 Hz, ce qui est cohérent. Mais vous remarquerez aussi un pic secondaire à 0.2 Hz, ce qui montre bien le dédoublement de période du signal. Il existe aussi des pics secondaires en triplement et quadruplement de la fréquence fondamentale. Pour vous amusez, essayez de varier de très peu l'amplitude du signal de forçage et observez les conséquences sur le spectre.

L'apparition du chaos

Augmentons un peu l'amplitude de forçage en la portant à A = 1.20. Voici la trajectoire que nous obtenons:

Trajectoire pendule entretenu A = 1.20

Elle ne ressemble plus à rien ! Le régime permanent n'est pas atteint et l'on ne retrouve plus le signal de forçage. Le diagramme de phase confirme cette première impression :

Diagramme de phase pendule entretenu A = 1.20

Il n'existe plus d'ellipse attractrice et la trajectoire de phase est complétement...chaotique. Le spectre du signal donne :

Spectre pendule entretenu A = 1.20

On remarque les nombreux pics autour du pic principal à 0.1 Hz.

Je vous invite à refaire les expériences avec différentes valeurs de A autour de 1.20. Vous verrez que les trajectoires diffèrent grandement pour des variations minimes des conditions initiales. C'est le propre des systèmes chaotiques.
Une remarque très importante : ce comportement n'est pas aléatoire, il est strictement déterministe ! Il est même périodique, mais avec une période quasi-infinie. Si vous reproduisez l'expérience avec strictement les mêmes conditions initiales, vous obtiendrez strictement le même comportement. Le problème étant de reproduire strictement les mêmes conditions initiales. Le système est sensible à de très petites variations de CI.

Pour illustrer cette sensibilité aux conditions initiales, je vous propose un petit script ChaosDistance.py qui calcule la distance qui sépare deux trajectoires en fonction du temps. La première trajectoire est caclulée pour le couple de conditions initiales standards \( (\dfrac{\pi}{6},0)\) et l'autre en faisant variant l'angle initial d'une très petite valeur \( \epsilon = 10^-8 \). La valeur de l'amplitude de forçage est choisie pour être en régime chaotique (A = 1.22).

Voyons ce que cela donne :

Distance entre deux trajectoires chaotiques

L'axe des ordonnées est gradué en coordonnées logarithmiques pour illustrer les différences entre les deux trajectoires, qui sont énormes alors que la variation de conditions initiales est epsilonesque ! Notez aussi la variation continue de la distance en fonction du temps, qui est caractéristique des systèmes chaotiques.

Les scripts Python

Les scripts Python étudiés dans cette page sont disponibles dans le package PenduleChaos.zip :

Contenu et design par Dominique Lefebvre - www.tangenteX.com février 2017   Licence Creative Commons    Contact : PhysiqueX ou

Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 3.0 France.