Adloun

mécanique (PTSI) · Chapitre 8 · Exercice de TD

Non-isochronisme et « erreur circulaire » d'une horloge

Mouvement d'un solide · D. Le pendule pesant · niveau 2

Énoncé

On reprend le pendule pesant, , avec et , lâché sans vitesse depuis l'amplitude .

1) Capacité numérique. Écrire un script Python qui intègre l'équation du mouvement et mesure la période en détectant les passages successifs de par zéro dans le même sens. Calculer pour , , , et .

2) Comparer à la formule de Borda, , établie au chapitre 3. Jusqu'où est-elle fiable ? Que devient quand ?

3) Une horloge à balancier est réglée pour battre juste quand l'amplitude vaut . En s'encrassant, l'amplitude tombe à . L'horloge avance-t-elle ou retarde-t-elle ? De combien de secondes par jour ?

4) On ajoute un frottement visqueux de moment , avec . Montrer que . Modifier le script pour suivre l'énergie mécanique et commenter sa décroissance.

Corrigé

La stratégie. On intègre numériquement avec une grande précision et l'on repère les instants où s'annule en décroissant ; leur écart est la période. On vérifie ainsi la formule de Borda du chapitre 3 et l'on mesure son domaine de validité.

1) Le script. On écrit le système du premier ordre , et l'on utilise la détection d'événements de solve_ivp : la fonction passage s'annule quand , et direction = -1 ne retient que les passages où décroît, un par période.

import numpy as np
from scipy.integrate import solve_ivp

w0 = 2.0                  # pulsation propre (rad/s)
T0 = 2*np.pi/w0

def champ(t, Y):
    theta, omega = Y
    return [omega, -w0**2*np.sin(theta)]

def passage(t, Y):        # theta = 0, en decroissant
    return Y[0]
passage.direction = -1

def periode(th0):
    sol = solve_ivp(champ, (0, 10*T0), [th0, 0.0],
                    events=passage, rtol=1e-11, atol=1e-12)
    tp = sol.t_events[0]  # un passage par periode
    return np.mean(np.diff(tp))

for th0 in (np.radians(5), 0.5, 1.0, 2.0, 3.0):
    r = periode(th0)/T0
    print(f"{th0:.3f} rad  T/T0 = {r:.5f}  Borda = {1+th0**2/16:.5f}")

Le script affiche :

0.087 rad  T/T0 = 1.00048  Borda = 1.00048
0.500 rad  T/T0 = 1.01585  Borda = 1.01562
1.000 rad  T/T0 = 1.06633  Borda = 1.06250
2.000 rad  T/T0 = 1.32890  Borda = 1.25000
3.000 rad  T/T0 = 2.57123  Borda = 1.56250

Le point délicat est la tolérance : avec celle par défaut de solve_ivp ( en relatif), l'erreur numérique serait du même ordre que l'effet à mesurer à (). En la desserrant à , les chiffres affichés ne bougent pas, et l'énergie mécanique reste constante à près : le calcul est fiable.

2) La comparaison à Borda. La période augmente avec l'amplitude : c'est le non-isochronisme. À , l'augmentation n'est que de , et Borda la reproduit à près. À (), Borda donne au lieu de : l'ordre de grandeur est juste, la valeur à près. À , Borda annonce alors que l'augmentation vraie est de : l'erreur sur la période est de , la formule n'est plus utilisable. C'est attendu d'un développement limité à l'ordre 2 en . À , la période est multipliée par ; et quand , elle tend vers l'infini, comme le laissait prévoir la séparatrice ; aucun polynôme en ne rend compte de cette divergence.

3) L'erreur circulaire. Le balancier règle la marche : l'horloge compte des périodes. Si l'amplitude passe de à , la période diminue, l'horloge bat plus vite et avance. L'écart relatif de période vaut, d'après Borda (parfaitement fiable à ces amplitudes) : Sur un jour, soit , l'avance vaut (le calcul numérique donne ). Par rapport à un pendule idéalement isochrone, une amplitude de fait perdre par jour ; ce retard constant se compense au réglage, mais sa variation avec l'amplitude ne se compense pas. Un quart de minute par jour, c'est énorme : d'où les petites amplitudes des balanciers, maintenues constantes par l'échappement.

4) La diminution de l'énergie mécanique. Avec le frottement, le théorème scalaire du moment cinétique donne . On multiplie par : L'énergie mécanique décroît, et elle est stationnaire aux extrémités. Dans le script, on remplace la dérivée de par -w0**2np.sin(theta) - 0.1omega et l'on calcule . Depuis , on obtient pour , de en secondes : ; ; ; ; ; ; . La décroissance est quasi exponentielle, avec un facteur proche de toutes les , c'est-à-dire un temps caractéristique : sur une oscillation, l'énergie cinétique moyenne vaut à peu près la moitié de l'énergie mécanique, et .

Ce que l'exercice installe. La capacité numérique du programme : intégrer une équation non linéaire, mesurer une période par détection d'événements, contrôler la précision, et délimiter le domaine de validité d'une formule approchée. Le non-isochronisme coûte un quart de minute par jour à une horloge, et se lit sur le calcul comme sur l'équation.

100 % gratuit

La suite du chapitre est sur Adloun

Exercice suivant et tuteur

Sans compte : le cours, le premier QCM et 2 minutes de podcast et de vidéo. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →