Académique Documents
Professionnel Documents
Culture Documents
9 Effets - Non Lineaires
9 Effets - Non Lineaires
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 :
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.