La page ci-présente existe en version notebook téléchargeable grâce au bouton (choisir le format
.ipynb
). On rappelle qu’l faut ensuite l’enregistrer dans un répertoire adéquat sur votre ordinateur (capa_num
par exemple dans votre répertoire personnel) puis lancer Jupyter Notebook depuis Anaconda pour accéder au notebook, le modifier et exécutez les cellules de code adéquates.
6. Etude d’un pendule simple¶
But : à l’aide d’un langage de programmation, mettre en évidence le non isochronisme des oscillations d’un pendule.
6.1. Position du problème¶
Nous allons chercher à étudier les oscillations d’un pendule simple :
Aux petites oscillations. Ce sera l’occasion de tester le schéma d’Euler mis en place pour étudier le système en le comparant aux attentes.
Pour des oscillations quelconques. On cherchera alors à déterminer la période des oscillations en fonction de l’amplitude pour observer le non isochoronisme des oscillations. On comparera notamment les résultats trouvés à la formule théorique approchée.
6.1.1. Rappel : Mise en équation¶
On considère un pendule simple de longueur
Pour les applications numériques, on prendra
On rappelle que la mise en équation du pendule amène à l’équation :
qui devient aux petits angles :
L’énergie potentielle de pesanteur s’écrit :
et l’énergie cinétique :
6.1.2. Rappel : Schéma d’Euler¶
On va utiliser un schéma d’Euler explicite. Le système étant d’ordre 2, on utilise un système d’équations différentielles définit par la relation vectorielle :
où
Pour des valeurs discrètes
soit, en notant
On a la relation de récurrence qui définit les
6.2. Implémentation du schéma d’Euler¶
Cette fois, on va directement raisonner avec le vecteur
Exercice 1 :
Vous devez :
Ecrire une fonction
F_petit
qui prend comme argument un flottantt
et un vecteurY
à deux éléments et qui renvoie le vecteurF(Y, t)
dans le cas d’un pendule aux petites oscillations.Ecrire (ou plutôt réécrire en servant de ce que vous avez fait précédemment) une fonction
euler
qui prend comme arguments :
une fonction
F
(semblable àF_petit
qui prendra le même type d’arguments et renverra le même type de vecteur).un vecteur
Y0
donnant les deux conditions initiales (ici à) sur les deux composants de Y
un flottant
h
qui sera le pas d’intégrationdeux flottants
t0
ettf
qui seront les temps initial et final de l’intégration. et qui renvoie :un tableau à 3 colonnes contenant respectivement : les temps
, les angles et les vitesses angulaires .
Données utiles :
pour rappel, il est plus simple de créer une liste de vecteurs à 3 éléments qu’on transforme en tableau de N lignes et 3 colonnes.
La sélection de la ligne d’indice i d’un tableau se fait par
tableau[i]
. Attention, les indices commencent à 0 et se terminent à N-1.La sélection de la colonne d’indice j d’un tableau se fait par
tableau[:,j]
. Attention, les indices commencent à 0 et se terminent à m-1.La sélection de l’élément d’indice (i, j) d’un tableau se fait par
tableau[i, j]
. Attention, les indices commencent à 0 et se terminent à N-1 (ou m-1).
"""
Ne pas oublier d'importer les bibliothèques scientifiques.
"""
"\nNe pas oublier d'importer les bibliothèques scientifiques.\n"
6.3. Test sur le système aux petits angles¶
6.3.1. Intégration numérique¶
Exercice 2 :
Vous devez :
Ecrire une fonction
sol_ptangle
qui prend comme argument un tempst
et un vecteur à deux élémentsY0
et qui renvoie la solution analytique de l’équation du pendule simple aux petits angles avec comme conditions initiales les élements du vecteurY0
à l’instantt
. Cette fonction devra être vectorialisable c’est-à-dire qu’elle doit pouvoir s’appliquer correctement quet
soit un flottant ou un vecteur numpy.Utiliser la fonction
euler
pour résoudre numériquement le cas du pendule aux petits angles en supposant que le pendule par du point le plus bas avec une vitesse angulaire. Tracer alors sur le même graphique la solution analytique et la solution numérique pour les comparer. On réfléchira au choix du pas d’intégration et à l’intervale de temps d’étude.
Données utiles :
Pour sélectionner une colonne d’un tableau, on utilise la syntaxe
tableau[:, i]
oùi
est l’indice de la colonne (qui démarre à 0).
6.3.2. Détermination de la période.¶
Par la suite, le signal ne sera plus forcément sinusoïdal mais restera périodique, on va chercher à déterminer la période du signal obtenu par résolution numérique.
Méthode choisie : On va déterminer les temps
Exercice 3 :
Ecrire une fonction
periode
qui prend en arguments deux vecteurs de mêmes tailletk
etthetak
et qui renvoie la période du signalthetak
en considérant lestk
comme les temps associés.Tester votre fonction sur le signal intégré numériquement pour vérifier que vous trouvez bien la bonne période.
6.4. Anisochronisme des grandes oscillations.¶
On a observé théoriquement que la période des oscillations dépendaient aux fortes amplitudes des oscillations. Pour une amplitude “pas trop forte”, une approximation de l’intégrale trouvée en TD amène à la formule dite de Borda :
avec
Exercice 4 :
Pour une liste d’amplitude angulaire entre 0 et
(non inclus) (5 valeurs), vous devez :
Procéder à l’intégration numérique de l’évolution de l’angle sans approximation pour l’amplitude considérée et la solution analytique aux petits angles
Tracer sur deux graphiques : l’évolution temporelle de
et le portrait de phase du pendule our l’amplitude considérée. Comparer à chaque fois la solution aux petits angles et la solution numérique trouvée.
Ecrire une fonction
periode_borda
qui renvoie pour une amplitudetheta0
donnée la période approchée par la formule de BordaPour une liste d’amplitude angulaire entre
et (non inclus) (49 valeurs), vous devez déterminer pour chaque amplitude la période des oscillations pour le signal obtenu numériquement et par la formule de Borda puis représenter les deux périodes en fonction de l’amplitude.
Observer alors l’anisochronisme des oscillations
Comparer les résultats obtenus par l’intégrale et par intégration numérique de l’équation différentielle. A partir de quand doit-on considérer la formule de Borda non acceptable.
6.5. Trajectoire de diffusion¶
On s’intéresse au cas où le pendule part de sa position la plus basse avec une vitesse angulaire
Exercice 5 :
Déterminer par le calcul la pulsation
qui permet d’atteindre l’angle et de s’y arrêter. En théorie, quel temps met-on pour atteindre ce point ? Intégrer l’équation du pendule avec la valeur de
précédente et observer l’allure de et . Commenter Intégrer l’équation du pendule avec une valeur de
supérieure à celle trouvée précédemment et observer l’allure de et . Commenter.