import numpy as np
import matplotlib.pyplot as plt
def L(delta):
return ...1 Équilibre du ressort
On cherche à calculer la position d’équilibre du ressort ci-dessous quand on applique une force \(F\). L’inconnue est donc le déplacement horizontal \(\delta\) de l’extrémité du ressort.
On suppose que le ressort est élastique linéaire, mais on ne fait pas l’hypothèse que \(\delta\) est petit. L’énergie potentielle du ressort s’exprime donc:
\[U(\delta) = \frac{1}{2}k(L(\delta) - L)^2,\]
où \(L = L(0)\) est la longueur du ressort au repos. Pour calculer l’équilibre, on va vouloir minimiser le lagrangien \(\mathcal L(\delta)\):
\[\min_\delta \mathcal L(\delta) = U(\delta) - F\delta\]
On pose \(h = 1\) m. Implémenter la fonction L(delta) ci-dessous:
Visualisation du lagrangien
Dans un premier temps, on pose \(F\) = 1 N, \(k\) = 1 N/m.
Implémenter le lagrangien du système et afficher son graphe pour \(\delta \in [-3, 3]\).
def lagrangien(delta, F):
return ... 1.1 Recherche numérique de l’équilibre: méthode de Newton
La méthode de Newton est donnée par l’itération suivante:
\[\delta_{n+1} = \delta_n - \frac{f(\delta_n)}{f'(\delta_n)}.\]
Ici \(f(\delta) = \frac{\mathrm d\mathcal L}{\mathrm d\delta}\).
Implémenter les dérivées première et seconde de \(L(\delta)\) dans des fonctions (p. ex. dL et ddL), puis exprimer \(\frac{\mathrm d\mathcal L}{\mathrm d\delta}\) et \(\frac{\mathrm d^2\mathcal L}{\mathrm d\delta^2}\) en fonction de ces dérivées. Implémenter les dérivées de \(\mathcal L\).
Implémenter la méthode de Newton dans la fonction ci-dessous:
def newton(delta_0, F):
return ...Afficher la position d’équilibre sur la graphe de \(\mathcal L\) et vérifier que cette position minimise \(\mathcal L\).
1.2 Solutions multiples
Afficher sur le même graphe le lagrangien du problème pour \(F\) = 1 N et \(F\) = 0.01 N. Combien \(\mathcal L\) possède-t-il de minimums pour ces deux cas ? Combien de positions d’équilibre ?
Trouvez les positions d’équilibre à l’aide de la méthode de Newton. À quoi ces solutions correspondent-elles physiquement ?