Vous êtes sur la page 1sur 6

Effets des non-linéarités

dans le comportement d’un pendule simple

Une simulation numérique du comportement d’un pendule simple permet d’appréhender quelques effets des
non-linéarités sur le comportement d’un oscillateur. Ici, on cherche à illustrer la perte d’isochronisme. Cela
conduit à résoudre numériquement une équation différentielle du deuxième ordre non-linéaire.

Capacité numérique : À l’aide d’un langage de programmation, résoudre numériquement une équation
différentielle du deuxième ordre non-linéaire et faire apparaître l’effet des termes non-linéaires.

Le script Python utilisé pour la simulation est retranscrit dans le présent document. Le choix a été fait ici de
manipuler numériquement la représentation temporelle des signaux sous forme de tableaux numpy à une
dimension plutôt que comme des listes, ce qui permet de limiter l'écriture de boucles itératives pour les
calculs. Une version exécutable du script est également jointe à cette ressource. L’intégration numérique
d’une équation différentielle avec la méthode d’Euler explicite consiste :

- se donner une liste d’instants tk sur l’intervalle de temps sur lequel on cherche à résoudre l’équation
différentielle. On notera h le pas de discrétisation de cette liste. (Cellule 47)

- à associer à cette équation une fonction f(v,t) (cellule 47) telle que :

𝑑𝑣
= 𝑓(𝑣, 𝑡)
𝑑𝑡

- puis à déterminer de manière itérative, à partir de la condition initiale v(t=0) connue, la liste des v(tk)
par un calcul du type : v(tk+1)=v(tk)+h.f(v(tk),tk) (cellule 46)

!!"
Si l’équation est du deuxième ordre (par exemple liant !# !
et 𝜃 , il faut en plus la transformer en un système
!"
de deux équations différentielles couplées du premier ordre, vérifiées par deux grandeurs (ici !# et 𝜃). Ceci
peut se faire en utilisant X qui correspond à un vecteur dont la première ligne est 𝜃 et dont la deuxième ligne
!"
est !# . La fonction FV sera alors une fonction vectorisée qui s’appliquera aux deux lignes de X.
Mise en équation du problème et résolution de l’équation pour un jeu de
conditions initiales
!!"
Dans toute la suite, on considèrera l’équation différentielle adimensionnée : =-sin𝜃
!# !

Puis, on fait tracer la solution pour un certain couple de conditions initiales, ce qui s’écrit :

qui renvoie :
Détermination de la période pour un jeu de conditions initiales
Plusieurs méthodes existent pour déterminer la période du mouvement. On peut utiliser une méthode de dichotomie
pour déterminer la période des oscillations pour un certain jeu de conditions initiales, ce qui s’écrit :

Détermination de la période pour un ensemble de conditions initiales


On automatise ensuite cette méthode de dichotomie pour déterminer la période des oscillations pour un ensemble de
jeux de conditions initiales, ce qui s’écrit :
ce qui donne :
Analyse
On illustre ici la perte d’isochronisme aux grandes amplitudes ; le profil parabolique de la courbe de période,
si on trace celle-ci en fonction de l’amplitude, peut ensuite être comparé au développement à l’ordre deux de
la formule de Borda, ce qui permet d’illustrer la confrontation entre simulation numérique et approximation
analytique. Le script précédent a toutefois ses limites car il ne permet de trouver une estimation numérique
de la période que pour un certain jeu de conditions initiales. Dans le cas général, on pourrait effectuer une
détermination de la période grâce à une méthode de recherche de zéros de la fonction q(t).

Alternative : estimation numérique de l’expression exacte de la période, effet


non-linéaire pour une valeur quelconque de l’amplitude
Une alternative à cette démarche consiste à visualiser les effets non-linéaires non à partir de l’estimation
numérique de q(t) mais à partir de l’estimation numérique de l’expression analytique de la période. En effet,
la conservation de l’énergie mécanique du pendule en l’absence de frottement fournit une expression de la
", $!"
période du mouvement comme une intégrale de la forme : T=∫, . A l’aide du module quad,
%&(()*"+()*",)
il est possible d’estimer numériquement cette intégrale et de visualiser la sortie du domaine de validité de
l’approximation des petits angles.

On voit que dès p/10, il existe une différence de l’ordre du pourcent entre la période aux petits angles et la
période exacte.
Vectorisation : effet non-linéaire pour une liste de valeurs de l’amplitude

Pour illustrer l’évolution de la différence vue précédemment avec l’amplitude du mouvement, on peut
vectoriser la fonction quad afin d’appliquer le script précédent non à une valeur particulière de l’amplitude
initiale, mais à une liste de valeurs de l’amplitude initiale. Il existe bien sûr des alternatives à cette démarche
(avec notamment la fonction append). Cette estimation numérique de la période analytique peut être
comparée à l’expression approchée par la formule de Borda à l’ordre 2, par exemple.

Qui renvoie :

Conclusion
On illustre ici la perte d’isochronisme aux grandes amplitudes ; le profil parabolique de la courbe de période, si on
trace celle-ci en fonction de l’amplitude, peut ensuite être comparé au développement à l’ordre deux de la formule de
Borda, ce qui permet d’illustrer la confrontation entre simulation numérique et approximation analytique.

Vous aimerez peut-être aussi