Les oscillateurs

Qu'est-ce qu'un oscillateur

A l'origine de la mécanique, le terme "oscillateur" désignait, et désigne encore, un système mécanique dont le mouvement se répète périodiquement. Le premier système qui vient à l'esprit est le pendule, dont le mouvement oscillatoire se répète tant qu'on l'entretient (l'origine latine du verbe "osciller" - oscillum - désigne une balançoire). Dans le bestiaire des systèmes mécaniques, on trouve plusieurs types d'oscillateurs dont le mouvement entretenu est périodique. Notons que si ce mouvement n'est pas entretenu, les oscillations périodiques s'éteignent plus ou moins rapidement, faute d'énergie ! Le mouvement perpétuel, l'oscillateur parfait, n'existe pas malheureusement.

Il existe des systèmes oscillants hydrauliques, comme le vase de Tantale, que l'on peut définir comme des systèmes qui repassent périodiquement à l'état initial, sous réserve que là aussi, on compense les pertes d'énergie inhérentes à tous les systèmes réels.

Il existe aussi des oscillateurs chimiques, plus exactement des réactions chimiques oscillantes, dont la composition du milieu en concentration des différents produits varie périodiquement. Citons par exemple, la réactions de Belooussov-Jabotinski, de Briggs-Rauscher ou encore de Bray-Liebhafsky pour les plus connues.

Puis vint l'électronique, royaume des oscillateurs. Les électroniciens sont de grands créateurs de systèmes oscillants à partir des triodes et autres pentodes, des tubes électroniques, puis des transistors. L'essor de la radio et de la télévision, puis des ordinateurs doit tout aux oscillateurs électroniques. Dans presque tous les équipements électroniques niche un oscillateur. Ils couvrent presque toutes les gammes de fréquence, du millihertz au milliers de GHz (terahertz).

Voilà pour les systèmes physiques réels. Car bien sur, un concept aussi riche ne pouvait rester dans le réel !

On trouve des oscillateurs virtuels dans les automates cellulaires, dont certains présentent un comportement oscillant tout à fait stupéfiant. Le modèle de l'oscillateur harmonique a inspiré beaucoup de physiciens pour modéliser des problèmes qui n'avaient pas grand chose à voir. Par exemple, Planck utilisa ce modèle (il employait le terme "résonateur" pour oscillateur) pour résoudre l'énigme du spectre du corps noir, ce qui l'amena à introduire la quantification de l'action et qui donna naissance à la physique quantique.

En physique quantique, le modèle de "l'oscillateur harmonique quantique" est très utilisé pour approcher les problèmes de mécanique quantique. Son étude est le préalable sérieux de tout cours de MQ.

Beaucoup de phénomènes biologiques, de la cellule aux populations, présentent des comportements oscillants. Nous avons par exemple dans cette page consacrée au modèle de Lotka-Volterra, découvert le comportement d'un système formé par une population de sardines et de leurs prédateurs. Les systèmes dynamiques présentent très souvent des comportements oscillants.

En résumé, l'oscillateur est un modèle que l'on retrouve partout, en physique, chimie, biologie, écologie et même mathématique. Et lorsqu'il cherche à modéliser un phénomène, le numéricien oublie rarement de faire un tour du coté des oscillateurs...

Dans cette page, nous allons aborder une famille particulière d'oscillateurs, les oscillateurs harmoniques. Nous le ferons à travers l'étude d'un des prototypes les plus connus de cette famille : le pendule simple. Nous aborderons aussi l'extension non linéaire des oscillateurs harmoniques.

Comment caractériser un oscillateur

Son équation différentielle

Etablir l'équation différentielle de l'oscillateur

Pour découvrir les propriétés d'un oscillateur, il existe deux possibilités non exclusives : l'expérimentation et la modélisation. Laissons l'expérimentation pour nous intéresser à la modélisation d'un oscillateur.

Les méthodes de modélisation des oscillateurs varient en fonction de leur nature, mais elles visent toutes au même objectif : établir l'équation différentielle qui décrit le comportement de l'oscillateur. Pour y parvenir, nous devrons nous appuyer sur les lois de la physique applicables au système considéré.

S'il s'agit d'un oscillateur mécanique, on aura recours aux lois de Newton ou bien aux lois de conservation de l'énergie mécanique. S'il s'agit d'un oscillateur électronique, on utilisera les lois de l'électricité et les caractéristiques des organes électroniques mis en oeuvre. Même méthode pour les autres oscillateurs, hydrauliques ou chimiques. S'agissant d'oscillateurs "virtuels", comme un automate cellulaire, il est beaucoup plus difficile d'établir les lois de comportement avec une équation différentielle...

Une forme d'équation différentielle pour chaque famille d'oscillateurs

La forme mathématique de l'équation différentielle qui décrit le comportement de l'oscillateur est un excellent moyen de classification. Elle peut être linéaire ou non linéaire, avec des termes de premier ordre ou pas, avec ou sans second membre non nul.

De l'analyse de l'équation différentielle d'un oscillateur, on peut tirer beaucoup d'informations intéressantes. On se penchera par exemple sur une représentation de l'évolution de la grandeur représentative du mouvement et de sa dérivée première. C'est ce que l'on appelle un portait de phase. Nous verrons quelles informations en tirer.

Les familles d'oscillateurs

Dans cette page, j'aborderai deux familles essentielles d'oscillateurs : les oscillateurs harmoniques, amortis ou non et les oscillateurs anharmoniques autrement dit les oscillateurs non linéaires.

Les oscillateurs harmoniques

Qu'est-ce qu'un oscilateur harmonique

C'est un oscillateur dont le mouvement est périodique et sinusoïdal. L'amplitude des oscillations est constante et leur fréquence ne dépend que des caractéristiques physiques de l'oscillateur.

L'équation différentielle représentative d'un oscillateur harmonique à un degré de liberté, dont la fonction d'évolution est notée x(t), est :

\( \dfrac{d^2x(t)}{dt^2} + \omega_0^2 x(t) = 0 \)

La constante \( \omega_0 \) est la pulsation propre du système et dépend uniquement de sa physique.

Cette équation possède des caractéristiques qui sont gênantes en considération de la réalité. Par exemple, transformons t en -t, c'est à dire inversons le temps. Vous constaterez que la solution reste identique : notre équation est invariante au renversement du temps ! Cette invariance caractérise les phénomènes réversibles. On ne les rencontre jamais en réalité, car il y a toujours dissipation d'énergie.

C'est un point fondamental en physique : un système physique qui dissipe de l'énergie est toujours irréversible. Il en ressort qu'il n'existe pas de système réversible à l'état naturel, la dissipation de l'énergie étant une caractéristique malheureusement incontournable d'un système physique réel.

Autre chose, cette équation est linéaire. Cela signifie que si une fonction f(t) est solution de notre équation, alors la fonction a*f(t), avec a un réel quelconque, est aussi solution de cette équation. Le réel a représente dans notre cas l'amplitude de l'oscillation. On parle dans ce cas d'invariance d'échelle. Ce qui est gênant, c'est que cela signifie que notre oscillateur n'oscille pas avec une amplitude propre, mais avec une amplitude qui dépend des conditions initiales, de la valeur de a à l'origine du temps. Lorsqu'on veut construire un oscillateur, c'est assez ennuyeux : on cherche généralement à déterminer son l'amplitude selon les besoins de l'utilisateur !

La solution de cette équation différentielle est :

\( x(t) = x_0 \cos(\omega_0 t + \phi) \)

avec \( x_0 \) l'amplitude initiale du mouvement et \( \phi \)  une constante fixée à l'origine du mouvement (la phase initiale).

Il n'existe pas d'oscillateur harmonique réel, cependant, beaucoup de systèmes peuvent être approchés par un modèle d'oscillateur harmonique. Voyons quelques exemples.

Un exemple d'oscillateur harmonique : le pendule simple linéaire

Le pendule simple peut être assimilé à un fil rigide accroché à un support sur lequel il peut osciller sans frottement et au bout duquel on fixe une bille de petite taille. Dans cette définition, chaque terme cache une simplification de la réalité :

J'imagine donc mon pendule suspendu à sa potence et je l'écarte de la verticale d'un angle \( \theta_0 \). Expérimentalement, je constate que la bille oscille sur une trajectoire circulaire, de façon différente selon l'angle de lancé, plus ou moins grand. Si l'angle est trop grand (valeur à déterminer), mon pendule tourne autour de l'axe du support.

Son équation différentielle

Les outils à notre disposition pour établir l'équation différentielle du pendule sont les trois lois de Newton et en particulier le principe fondamental de la dynamique (PFD). Pour rappel, le PFD, la seconde loi de Newton, stipule que \( \sum \vec{F} = m \vec{a} \) avec \( \vec{a} \) l'accélération appliquée au système.

Je cherche à déterminer la variation de l'angle \( \theta \) autour de la verticale en fonction du temps lorsque le pendule oscille. Je vais donc établir puis étudier la fonction \( \theta (t) \), qui constitue le degré de liberté de mon pendule. Voici un schéma résumant la situation :

PenduleSimple1

En écrivant le PFD dans le référentiel de la figure, j'obtiens l'équation \( m\dfrac{d^2 s}{dt^2} = -mg \sin(\theta) \). Sachant que \( s \approx l\theta \), en remplaçant cette valeur dans l'équation précédente et en regroupant les termes constants, j'obtiens :

\( \dfrac{d^2 \theta}{dt^2} = -\dfrac{g}{l} \sin(\theta) \)

 En posant \( \omega_0 = \sqrt{\dfrac{g}{l}} \) la pulsation de l'oscillateur, j'obtiens l'équation différentielle de second ordre :

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

Cette équation est non linéaire, du fait de la présence du \( \sin(\theta) \). Par construction, le pendule simple n'est pas un oscillateur harmonique. Nous allons  linéariser cette équation en remarquant que si \( \theta \) est petit (en radian bien sur), je peux faire l'approximation dite "harmonique" ou encore des "petits angles" \(  \sin(\theta) \approx \theta \), ce qui me donne l'équation différentielle :

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

La solution de cette équation linéaire est :

\( \theta(t) = \theta_0 \cos(\omega_0 t) \) avec une période T égale à \( \dfrac{2 \pi}{\omega_0} \).

En restant dans le domaine des petits angles et sous les hypothèses ci-dessus, le mouvement d'un pendule simple est celui d'un oscillateur harmonique. Remarquons que l'approximation harmonique dépend des conditions initiales imposées à l'oscillateur, plus précisément son angle initial, et pas à sa nature physique.

Enfin, notons que la force de rappel de cet oscillateur est la gravitation. Dans d'autres familles d'oscillateurs, elle est différente. Citons le cas très classique d'une masse accrochée à un ressort, qui glisse sur un plan horizontal : la force de rappel est dans ce cas celle du ressort.

Le code du système différentiel

Vous le trouverez dans le package TxOscillateurs.py. C'est la traduction directe en Python de l'équation différentielle \( \dfrac{d^2 \theta}{dt^2} = -\omega_0^2   \theta \) :

def PenduleLineaire(theta,t,Omega2):
    return array([theta[1], -Omega2*theta[0]])

Trajectoire du pendule

Dans un premier temps, traçons la courbe d'évolution de la position du centre d'inertie de notre pendule, le point M du schéma ci-dessus, en fonction du temps. Il s'agit de tracer plus précisément la fonction \( \theta (t) \), ce que nous allons faire avec le script Python Oscillateurs1.py.

Il met en oeuvre différentes fonctions du package TxOscillateurs.py et utilise la fonction odeint() de scipy pour intégrer le système différentiel.

La trajectoire du pendule simple linéaire est une sinusoïde, comme d'ailleurs le laisser supposer la solution de son équation différentielle :

Trajectoire du pendule simple

Les conditions initiales sont \( \theta = \dfrac{\pi}{10} \) rd et \( \dot{\theta} = 0.0  \) rd.s-1, avec \( \omega_0^2 = 1\) rd.s-1.

L'amplitude des oscillations reste constante pendant toute la durée de la simulation, et même éternellement. Cette caractéristique traduit l'absence de dissipation d'énergie pendant le mouvement du pendule.

Trajectoire de phase du pendule

Un peu de vocabulaire tout d'abord ! Il est bon de définir précisément ce dont nous allons parler...

On appelle "plan de phase" le plan comprenant le système d'axes \( \theta, \dot{\theta} \). Une trajectoire de phase du système est une courbe \( \dot{\theta} = f(\theta) \), chaque trajectoire de phase étant caractérisée par le couple de conditions initiales (\( \theta_0 ,  \dot{\theta_0} \)).

L'ensemble des trajectoires de phase du système, pour toutes les conditions initiales possibles, s'appelle un portait de phase.

Traçons la trajectoire de phase d'un pendule simple avec les conditions initiales choisies ci-dessus, toujours avec le script Oscillateurs1.py :

Trajectoire de phase pendule simple

Nous observons plusieurs caractéristiques:

Portait de phase

Traçons maintenant son portrait de phase, c'est à dire un ensemble de trajectoires de phase pour des angles initiaux \( \theta_0 \) différents, avec le script Oscillateurs2.py. Nous obtenons:

Portrait phase pendule simple linéaire

Vous constatez que le portrait de phase du pendule simple est constitué d'un ensemble de cercles concentriques, qui correspondent chacun à un angle initial. On peut interpréter ces différentes trajectoires de phase comme des courbes de niveau énergétique constant. Ces cercles sont concentriques, ce qui est la trace de l'invariance d'échelle due à la linéarité de l'équation.

Considérations énergétiques
La conservation de l'énergie mécanique dans le pendule simple

Dans le système considéré, il n'y aucune dissipation d'énergie. L'énergie mécanique du système, soit la somme de son énergie potentielle et de son énergie cinétique, est constante, ce que je peux écrire :

\( U(\theta) + \dfrac{1}{2}m\left( \dfrac{d\theta}{dt}\right)^2 = E_0 \)

où \( U(\theta) \) est l'énergie potentielle du pendule en fonction de l'angle et E_0 l'énergie initiale du pendule, qui dépend des conditions initiales.

Il est facile de déterminer ces deux énergies d'après les conditions initiales, à t = 0. Son énergie cinétique, que je vais noter \( E_c \) est nulle, car je considère que la vitesse angulaire \( \dfrac{d\theta (t_0)}{dt} \) est nulle.

Son énergie potentielle, notée \( E_p \), dépend de l'altitude \( h \) de la bille, en fait de l'angle initial \( \theta (t_0) \). Un simple calcul de trigo nous donne \( h = l(1 - \cos(\theta (t_0))) \).

Sur sa trajectoire, le pendule perd son énergie potentielle au profit de son énergie cinétique entre sa position initiale et le point bas de sa trajectoire et réciproquement en remontant vers sa position la plus haute. Le cycle dure en théorie éternellement, le système considéré étant non dissipatif. Les deux énergies varient comme des fonctions périodiques de \( \theta (t) \).

Pour illustrer cela, exprimons \( E_c \) et \( E_p \) et traçons leur variation dans le temps à l'aide du script Oscillateurs3.py. Nous avons \( E_c = \dfrac{1}{2} ml^2\left(\dfrac{d\theta (t)}{dt}\right)^2 \) et \( E_p = mgl(1 - \cos(\theta (t))) \). Les courbes d'évolution sont donc  :

Evolution énergie pendule simple

Les constantes m, l et g sont normalisées à 1.

La courbe noire trace l'évolution de l'énergie potentielle du pendule et la courbe rouge celle de son énergie cinétique. Ces deux courbes sont d'amplitude constante, témoignage de l'absence de dissipation. Elles évoluent en opposition de phase : lorsque \( E_p \) diminue, \( E_c \) augmente. Ainsi, les oscillations du pendule simple peuvent être vues comme un échange constant entre de l'énergie cinétique et de l'énergie potentielle. Rien que de plus normal : dans un système non dissipatif, l'énergie mécanique est conservée.

Cas général de l'oscillateur harmonique

Reprenons l'expression générale de l'expression mécanique pour un oscillateur harmonique quelconque (un pendule, une masse liée à un ressort, etc.). Elle s'exprime par \( E_m = \dfrac{1}{2}m\left(\dfrac{dx}{dt}\right)^2 + \dfrac{1}{2}kx^2 = Constante \). Elle est constante car le système est conservatif, il ne dissipe pas d'énergie.

Dérivons l'expression de Em : \( \dfrac{E_m}{dt} = \dfrac{d}{dt}\left( \dfrac{1}{2}m\left(\dfrac{dx}{dt}\right)^2 + \dfrac{1}{2}kx^2 \right) = 0 \), ce qui nous donne :

\( \dfrac{1}{2}2m \dfrac{dx}{dt} \dfrac{d^2x}{dt^2} + \dfrac{1}{2}2k \dfrac{dx}{dt} x = 0 \)

soit en simplifiant l'expression par 2 et par \( \dfrac{dx}{dt} \):

\( \dfrac{d^2x}{dt^2} + \dfrac{k}{m} x = 0 \)

Nous retrouvons l'équation différentielle d'un oscillateur harmonique ! Le comportement de l'oscillateur harmonique découle directement du caractère non dissipatif du système.

RETOUR

Les oscillateurs harmoniques amortis - Exemple du pendule simple linéaire avec amortissement fluide

Son équation différentielle

Nous avons vu que notre modèle du pendule simple linéaire présentait une grave incohérence avec la réalité : il décrit un système non dissipatif, invariant par changement de signe du temps. Non dissapation de l'énergie et invariance temporelle sont deux facettes d'un même problème qu'il nous faut résoudre.

Pour rompre l'invariance temporelle dans l'équation du pendule simple linéaire, il faudrait, en faisant au plus simple, introduire un terme en dérivée première, car le caractère impair du rang de la dérivée garantit le changement de signe. Ce terme devrait représenter la dissipation d'énergie dans le système.

On peut imaginer plusieurs mécanismes de dissipation d'énergie pour notre pendule : le frottement solide du fil sur le pivot d'oscillation ou bien le frottement fluide de la bille dans l'air, sources de frottement que nous avions soigneusement écartées dans notre étude ci-dessus.

Considérons que notre liaison fil-pivot soit presque parfaite et que nous puissions négliger le frottement solide. Reste le frottement fluide... En fonction de la vitesse de la bille et de la viscosité du fluide, ce frottement est proportionnel à la vitesse, pour une vitesse et unes viscosité faible, ou bien au carré de la vitesse, dans les autres cas. Pour simplifier, je vais considérer le premier cas (faible vitesse et frottement aérodynamique).

A mon schéma du chapitre précédent, j'ajoute donc une force de frottement égale à \( -h \vec{v}\), soit en projetant sur l'axe \( e_\theta \) un module égal à \( -h l \dfrac{d\theta}{dt} \), ce qui me donne l'équation différentielle :

\( \dfrac{d^2 \theta}{dt^2} = -\dfrac{h}{m}\dfrac{d \theta}{dt}-\dfrac{g}{l} \sin(\theta) \)

Comme tout à l'heure, j'appelle \( \omega_0 = \sqrt{\dfrac{g}{l}} \) la pulsation de l'oscillateur et j'introduit la grandeur \( \tau = \dfrac{m}{h} \). Cette grandeur a la dimension d'un temps (l'unité de h est le kg.s-1, pour l'analyse dimensionnelle...). Elle désigne le temps de relaxation du pendule. D'où :

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

que je vais linéariser comme ci-dessus avec l'approximation harmonique en :

\( \dfrac{d^2 \theta}{dt^2} + \dfrac{1}{\tau}\dfrac{d \theta}{dt} + \omega_0^2 \theta = 0 \).

C'est l'expression canonique d'une EDO du deuxième ordre. Notre équation conserve son invariance d'échelle (elle est linéaire) mais n'est plus invariante par changement de signe du temps, ce qui est un progrès !

Note : dans beaucoup de cours, on introduit la constante Q défini comme le facteur de qualité du système, et valant \( Q = \omega_0 \tau \). J'ai préféré travailler ici avec des grandeurs physiques plus parlantes, à mon avis.

Etude du comportement du pendule amorti

Nous avons à faire à une équation différentielle homogène linéaire d'ordre 2. Elle est linéaire, donc une combinaison quelconque des solutions de cette équation sera aussi solution. Cherchons donc une combinaison de deux fonctions de la forme \( \theta(t) = Ae^{rt} \) avec A et r constantes à déterminer, qui sera solution de notre équation.

Si nous reportons dans notre équation les deux fonctions de base, après les avoir dérivées une et deux fois, nous obtenons l'équation suivante :

\( Ae^{rt}(r^2  + \dfrac{1}{\tau} r + \omega_0^2) = 0 \)

Cette expression est nulle si l'équation caractéristique \( r^2  + \dfrac{1}{\tau} r + \omega_0^2 \) est nulle, le terme en exponentielle étant toujours positif.

Examinons le discriminant de cette équation caractéristique \( \Delta = \left(\dfrac{1}{\tau}\right)^2 - 4 \omega_0^2  \). Ce discriminant s'annule pour deux valeurs \( \dfrac{1}{\tau} = - 2 \omega_0 \) et \( \dfrac{1}{\tau} = 2 \omega_0 \). \( \tau \) et \( \omega_0 \) sont tous les deux des nombres positifs. Nous éliminerons la première valeur d'annulation du discriminant pour non-sens physique (un temps négatif !). Examinons le comportement de notre pendule selon le signe du discriminant de son équation caractéristique.

\( \Delta < 0 \) - régime pseudo-périodique

C'est le cas où \( \dfrac{1}{2 \tau} < \omega_0 \). L'équation caractéristique admet deux solutions complexes conjuguées, que je vais appeler s1 et s2 (vous les calculerez facilement non !). Notre équation différentielle admet finalement une solution de la forme :

\( \theta(t) =  Ae^{s_1t} + Be^{s_2t} \)

que je peux aussi écrire, s1 et s2 étant des complexes :

\( \theta(t) =  Ae^{-\dfrac{t}{2\tau}} cos(\omega t + \phi) \)

Les constantes sont déterminées par les conditions initiales. La constante \( \omega \) est la pseudo-pulsation du pendule, qui est égale à \( \omega = \omega_0 \sqrt{1 - \dfrac{1}{(2\omega_0 \tau)^2}}\).

Les courbes ci-dessous montrent la trajectoire du pendule et sa trajectoire de phase pour les valeurs \( \tau = 5.0 \) et \( \omega_0^2 = 1.0 \) :

Trajectoire pendule simple amorti Trajectoire de phase d'un pendule simple amorti

Remarquons tout d'abord que le mouvement n'est plus strictement périodique ! Il n'existe pas de période T telle que \( \theta(t +nT) = \theta(t) \). C'est la raison pour laquelle on parlera de mouvement "pseudo-périodique", de pseudo-période ou de pseudo-pulsation, et encore à condition que l'amortissement soit faible...

L'amortissement est faible, le temps de relaxation du système est grand devant la pulsation du pendule. La trajectoire montre une décroissance exponentielle de l'amplitude des oscillations avec le temps et la pseudo-pulsation du pendule.

Sa trajectoire de phase n'est plus un cercle. C'est une spirale qui part des coordonnées fixées par les conditions initiales, ici \( \theta_0 = \dfrac{\pi}{10} \) et \( \dot{\theta_0} = 0.0 \) pour terminer à la position d'équilibre du pendule, c'est à dire angle nul et vitesse angulaire nulle. Cette position d'équilibre est un attracteur du système. 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.

\( \Delta > 0 \) - régime apériodique

C'est le cas où \( \dfrac{1}{2 \tau} > \omega_0 \). L'équation caractéristique admet deux solutions réelles négatives s1 et s2. Notre équation différentielle admet finalement une solution de la forme :

\( \theta(t) =  Ae^{s_1t} + Be^{s_2t} \)

Les constantes sont déterminées par les conditions initiales.

Les courbes ci-dessous montrent la trajectoire du pendule et sa trajectoire de phase pour les valeurs \( \tau = 0.1 \) et \( \omega_0^2 = 1.0 \) :

Trajectoire pendule simple amorti Trajectoire de phase d'un pendule simple amorti

L'amortissement est fort. Le temps de relaxation du système est petit devant la pulsation du pendule. La courbe part du point fixé par les conditions initiales. Sur sa première moitié, on constate que la vitesse angulaire croit très rapidement en valeur absolue pour de très faibles variations de l'angle du pendule. Puis la vitesse angulaire décroit en valeur absolue de manière quasi-linéaire avec la valeur de l'angle pour devenir nulle lorsque le système atteint son point d'équilibre.

Comme vous pouvez le noter, la trajectoire ne présente aucun signe d'oscillation, d'où le nom du régime apériodique. Il s'agit d'une décroissance exponentielle de l'amplitude, dont la rapidité dépend du taux d'amortissement.

La trajectoire de phase traduit la rapidité de la dissipation d'énergie du système, avec le même attracteur qu'en régime pseudo-périodique, ce qui est assez raisonnable dans la mesure où le point d'équilibre du système ne dépend pas de son régime oscillatoire...

\( \Delta = 0 \) - régime critique

C'est le cas où \( \dfrac{1}{2 \tau} = \omega_0 \). L'équation caractéristique admet une racine double \( s = -\dfrac{1}{2\tau} = -\omega_0 \)

Notre équation différentielle admet une solution de la forme :

\( \theta(t) =  (At + B)e^{-\omega_0 t}  \)

Les constantes sont déterminées par les conditions initiales.

Les courbes ci-dessous montrent la trajectoire du pendule et sa trajectoire de phase pour les valeurs \( \tau = 0.5 \) et \( \omega_0^2 = 1.0 \) :

Trajectoire pendule simple amorti Trajectoire de phase d'un pendule simple amorti

Le régime critique permet le retour à l'état d'énergie moindre, l'état d'équilibre du pendule, le plus rapide possible.

Une remarque concernant ce régime : il n'a pas de grand sens physique ! Dans un système réel, il est très peu probable que les valeurs de \( \tau \) et \( \omega \) correspondent exactement aux conditions pour que \( \Delta \) s'annule. Si nous voulions régler un système qui fonctionne exactement, de manière durable et stable, en régime critique, nous aurions bien du mal ! Un système oscillant fonctionne presque toujours en régime apériodique ou pseudo-périodique.

Cependant, comme le régime critique permet un retour le plus rapide possible vers l'état d'équilibre du système, on peut vouloir l'approcher lorsque on veut limiter autant que possible les oscillations du système. Par exemple, sur les balances de précision mécaniques, il existait un frein constitué d'une palette immergée dans de l'huile pour stabiliser le plus rapidement possible le fléau, afin de rendre la lecture de la masse plus rapide. C'est aussi le cas des amortisseurs d'une voiture, car généralement, on ne souhaite pas qu'elle oscille très longtemps !

Portait de phase d'un pendule amorti

Pour \( \tau \) égal à 2 secondes, en régime pseudo-périodique donc, et une vitesse angulaire initiale nulle, j'ai tracé le portait de phase de notre pendule simple amorti pour un angle initial \( \theta_0 \) variant entre 0 et \( \dfrac{9 \pi}{10} \), par pas de \( \dfrac{\pi}{10} \) :

Portait de phase pendule simple amorti

Nous retrouvons le même comportement du système : la trajectoire de phase évolue plus ou moins rapidement selon les conditions initiales vers l'attracteur du système, sa position d'équilibre.

Considérations énergétiques
La simulation

Un pendule amorti dissipe de l'énergie, c'est à dire que son énergie mécanique décroît en se transformant en énergie thermique par frottement. Mais comment décroît-elle ?

J'ai modifié le script Oscillateurs4.py utilisé pour le pendule simple pour écrire le script Oscillateurs5.py, qui trace les courbes d'évolution de l'énergie cinétique et de l'énergie potentielle du pendule amorti. Les définitions de ces deux énergies restent les mêmes que celles utilisées précédement.

Voici les courbes obtenues pour une valeur assez faible de l'amortissement, le temps caractéristique \( \tau \) valant ici 3 secondes :

Energie pendule simple amorti pour tau = 3.0 s

La courbe en noir trace l'évolution de l'énergie potentielle et la courbe rouge celle de l'énergie cinétique. La courbe bleue représente l'énergie mécanique.

Vous noterez qu'à la différence des courbes obtenues avec le pendule libre, les variations d'énergie cinétique et potentielle sont lègèrement déphasées. L'énergie mécanique décroît rapidement au cours des premières oscillations (pendant le temps caractéristique du système) puis plus lentement.

Lorsque l'amortissement devient plus élevé, tout en restant dans le domaine du régime pseudo-périodique, on obtient une décroissance bien plus rapide. Voici les courbes d'évolution pour une valeur de \( \tau \) égale à une seconde :

Energie pendule simple amorti pour tau = 1.0 s

L'amortissement est élevé. La perte d'énergie potentielle est presque totale pendant la première pseudo-période.

En résumé, plus le temps de relaxation du pendule est grand, plus le système dissipe lentement son énergie ! Dans la mesure où nous avons posé \( \tau = \dfrac{m}{h} \), cela se comprend aisèment...

Le calcul

Reprenons notre équation différentielle initiale linéarisée \( \dfrac{d^2 \theta}{dt^2} + \dfrac{h}{m}\dfrac{d \theta}{dt} + \dfrac{g}{l} \theta = 0\) ou encore \( \dfrac{d^2 \theta}{dt^2}  + \dfrac{g}{l} \theta = - \dfrac{h}{m}\dfrac{d \theta}{dt} \). Pour plus de simplicité, je vais utiliser la notation pointée des dérivées, ce qui me donne \( \ddot{\theta}  + \dfrac{g}{l} \theta = - \dfrac{h}{m}\dot{\theta} \).

Je vais multiplier les deux membres de l'équation par \(ml^2\dot{\theta} \), d'où en simplifiant :

\( ml^2\ddot{\theta}\dot{\theta}  + mgl\dot{\theta} \theta = - hl^2\left(\dot{\theta}\right)^2 \).

Arrivé à ce stade, il convient de rappeler l'expression de l'énergie mécanique du pendule \( E_m \) qui est égale à la somme de l'énergie cinétique \( E_c = \dfrac{1}{2}ml^2\left( \dot{\theta}\right)^2\) et de l'énergie potentielle \( E_p = mgl(1 - \cos(\theta)) \). A propos de cette dernière, je vais faire une petite simplification du même ordre que l'approximation harmonique que j'ai effectué pour linéariser l'EDO du pendule. Sous cette approximation, \( \theta \) est petit (en radian), je vais donc utiliser une valeur approchée du cosinus (je fais un DL de la fonction cosinus autour de 0), en écrivant \( \cos(\theta) \approx 1 - \dfrac{\theta^2}{2} \), ce qui me donne pour l'expression de l'énergie potentielle \( E_p = mgl\dfrac{\theta^2}{2} \).

Et maintenant reprenons notre EDO. Avez-vous remarqué que le premier terme du membre de gauche peut s'écrire \( \dfrac{d}{dt}\left( \dfrac{1}{2}ml^2\left( \dot{\theta}\right)^2  \right) \), soit \( \dfrac{dE_c}{dt} \) ? Et le second terme du membre de gauche, avez-vous remarqué que je peux l'écrire \( \dfrac{d}{dt}\left(  mgl\dfrac{\theta^2}{2} \right) \), soit \( \dfrac{dE_p}{dt} \) ? En fait, je peux donc écrire \( \dfrac{dE_c}{dt} + \dfrac{dE_p}{dt} = - hl^2\left(\dot{\theta}\right)^2 \), ou encore \( \dfrac{dE_m}{dt}  = - hl^2\left(\dot{\theta}\right)^2 \) !

La variation d'énergie mécanique est négative, le système dissipe de l'énergie. Cette variation est égale au travail des forces de frottement. Notons que l'on retrouve le résultat constaté dans la simulation : plus le temps de relaxation est long, i.e. plus le facteur d'amortissement h est petit, plus la variation d'énergie est petite et la perte d'énergie mécanique lente.

Le code du système différentiel

Vous trouverez le code du système différentiel dans le package TxOscillateurs.py. C'est la traduction directe en Python de l'équation différentielle \( \dfrac{d^2 \theta}{dt^2} = -\dfrac{1}{\tau}\dfrac{d \theta}{dt} - \omega_0^2 \theta \) :

def PenduleLineaireAmorti(theta,t,Tau,Omega2):
    return array([theta[1],  -theta[1]/Tau - Omega2*theta[0]])

Il est également disponible dans le package TxOscillateurs.

Le script Oscillateurs4.py permet de tracer la trajectoire et la trajectoire de phase d'un pendule simple linéaire amorti. Il met en oeuvre lui aussi différentes fonctions du package TxOscillateurs.py et utilise la fonction odeint() de scipy pour intégrer le système différentiel.

RETOUR

Les oscillateurs harmoniques entretenus - exemple du pendule simple entretenu

A notre pendule simple linéaire amorti, ajoutons un système de forçage qui lui applique dès le lancement du pendule, un signal périodique sinusoïdal de la forme \( a\sin(\omega t + \phi) \). Intuitivement, le forçage externe va fournir de l'énergie au système qui compensera les pertes dues au frottement. La question est de savoir comment va se comporter le pendule face au signal de forçage. En particulier, le pendule possède sa propre pulsation initiale, mais le signal de forçage possède lui aussi sa propre pulsation... D'après vous, laquelle va s'imposer ? Idem pour l'amplitude des oscillations !

Son équation différentielle

Son équation différentielle s'établit à partir de celle d'un pendule simple linéaire amorti, en ajoutant un second membre qui décrit le signal de forçage. Nous obtenons donc, avec les notations précédentes :

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

A est l'amplitude du signal de forçage et \( \omega_F \) sa pulsation. Pour simplifier, j'ai posé \( \phi = 0 \).

Etude du comportement du pendule simple entretenu

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 \( \omega_F \) = 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 sur 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 ailleurs. 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. Appliquons donc 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 le script ChaosDistance.py qui calcule la distance qui sépare deux trajectoires en fonction du temps. La première trajectoire est calculée pour le couple de conditions initiales standard \( (\dfrac{\pi}{6},0)\) et l'autre en faisant varier 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.

RETOUR

Les oscillateurs non-linéaires

Jusqu'ici nous avons considéré des modèles linéaires d'oscillateurs. Le terme "linéaire" s'applique en fait à l'équation différentielle qui décrit le modèle. Et très généralement, la linéarité de l'équation différentielle est obtenue par une simplification du modèle. Plus exactement, pour linéariser, nous réduisons le domaine de variation d'une ou plusieurs grandeurs physiques de telle sorte que leurs variations soientt linéaires. Cette astuce a le mérite de la simplicité mais réduit quand même l'intérêt du modèle physique obtenu.

Nous avons rencontré cette situation dans la modélisation du pendule simple. L'application du PFD a fait apparaitre un terme en sinus et nous l'avons fait disparaître en appliquant l'approximation dite "des petits angles" ou "harmonique" pour les physiciens. L'EDO possède dans ce cas une solution simple, mais au prix d'une réduction du domaine de variation de l'angle initial.

Voyons maintenant ce qui se passe si nous décidions de ne plus linéariser l'équation différentielle.

Le pendule simple non-linéaire

Les limites du modèle linéaire

Pour illustrer les limitations du modèle linéaire de notre pendule simple, j'ai modifié le script Oscillateurs1.py afin de superposer la trajectoire et la trajectoire de phase du même pendule, dans un premier cas avec le modèle linéaire puis avec le modèle non linéaire. Bien sur, j'ai choisi un angle initial tel que l'approximation harmonique ne soit plus légitime, dans l'exemple \( \theta_0 = \dfrac{\pi}{2.} \).

Son équation différentielle

Je la rappelle pour la forme :

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

La fonction sinus() introduit ici une non-linéarité, car vous savez tous en principe que sin(a +b) est différent de sin(a) + sin(b)...

Trajectoire du pendule

La figure suivante illustre la superposition de la trajectoire intégrée numériquement selon le modèle linéaire (en bleu) et le modèle non linéaire (en rouge).

Trajectoire d'un pendule simple non linéaire

Vous avez tout de suite remarqué la différence de période entre les modèles linéaire et non linéaire ! En faisant quelques manip, vous trouverez que cette différence s'accentue à mesure que la valeur de \( \theta_0 \) s'éloigne de la zone de validité de l'approximation harmonique. Par contre, l'amplitude n'est pas concernée par le changement de modèle : l'énergie est toujours conservée, que ce soit dans le modèle linéaire ou non linéaire.

Trajectoire de phase

Sur la figure ci-dessous, selon les mêmes conventions et pour les mêmes conditions initiales, sont tracées les trajectoires de phase :

Trajectoire de phase d'un pendule simple non linéaire

La trajectoire de phase du modèle non linéaire n'est plus un cercle, mais une ellipse. Elle reste fermée, conservation de l'énergie oblige.

Le code du système différentiel non linéaire

Vous le trouverez dans le package TxOscillateurs.py. C'est la traduction directe en Python de l'équation différentielle \( \dfrac{d^2 \theta}{dt^2} = -\omega_0^2   \sin(\theta) \) :

def PenduleNonLineaire(theta,t,Omega2):
    return array([theta[1], -Omega2*sin(theta[0])])

RETOUR

Les scripts Python

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

Contenu et design par Dominique Lefebvre - www.tangenteX.com août 2018   Licence Creative Commons   Contact :

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