Prérequis : Méthode d'Euler (énoncé/corrigé ordre 1).
Toute équation du second ordre de la forme \( \displaystyle\frac{d^2g}{dt^2} + a \frac{dg}{dt} + b \, g(t) = f(t) \) peut-être écrite sous
la forme d'un système de deux équations du premier ordre en faisant intervenir la dérivée première :
- on commence par isoler la dérivée seconde : \( \displaystyle\frac{d^2g}{dt^2} = f(t) - a \frac{dg}{dt} - b \, g(t) \)
- puis, en posant \(h(t)=\displaystyle\frac{dg}{dt}\) pour la dérivée première, on obtient le système du 1er ordre
Ces deux équations peuvent être résolues en utilisant l'algorithme utilisé pour une équation d'ordre 1 : on crée et on remplit simultanément 3 tableaux (un tableau pour les instants t, un tableau pour h et un tableau pour g).
Il est impératif de sauvegarder régulièrement le code en le collant dans un fichier texte (Notepad++) ou dans l'éditeur de pyzo.
En l'absence de frottements, l'équation du mouvement du pendule simple est \(\displaystyle\frac{d^2\theta}{dt^2} = - \omega_0^2 \, \sin (\theta )\) où \(\theta\) est l'angle (en radians) entre la verticale et le pendule.
Suggestions :
- charger les bibliothèques utiles ;
- définir les constantes physiques ;
- définir le paramétrage numérique.
- écrire, sur papier, les deux équations discrétisées déduites du système (utilisées pour la récurrence).
Que peut-on dire de l'amplitude des oscillations au cours du temps ?
Est-ce dû à un phénomène physique ?
Quelle est la seule explication possible ?
L'amplitude des oscillations croît au cours du temps
En l'absence de frottements, ce système devrait être conservatif, l'amplitude des oscillations devrait rester constante
Cet effet résulte donc de l'algorithme utilisé, on peut montrer que ce schéma numérique (la méthode d'Euler) appliqué à une équation d'ordre 2 ne conserve pas l'énergie du système. Il ne convient donc pas pour ce problème.
Par défaut, la foction solve_ivp utilise un autre schéma numérique.