Adloun

mécanique (PCSI) · Chapitre 3 · Exercice de TD

Le double puits, en Python

Approche énergétique du mouvement d'un point · E. Étude qualitative d'un mouvement conservatif à une dimension · niveau 2

Énoncé

(Capacité numérique.) Un point matériel de masse se déplace sans frottement sur un axe, dans le potentiel ().

1) Adimensionnement. On pose , , et . Montrer que l'équation du mouvement s'écrit , les dérivées étant prises par rapport à , et que se conserve. Relier à l'énergie mécanique.

2) Tracer l'allure de . Décrire les mouvements possibles selon la valeur de (on distinguera et ). Montrer que la pulsation réduite des petites oscillations au fond d'un puits vaut .

3) Écrire un script Python qui résout avec scipy.integrate.odeint, après passage à un système d'ordre 1, pour (on lâchera le point sans vitesse depuis , dont on justifiera le choix), trace les quatre trajectoires dans le plan de phase et y superpose la courbe (la séparatrice).

4) Mesurer numériquement la période (durée entre deux maxima successifs de ) pour , , , , puis et . Comparer la première valeur à . Que devient la période à l'approche de , et pourquoi ? En quoi est-ce un effet du terme non linéaire ?

Corrigé

1) L'adimensionnement. La force est , d'où . Avec et , on a (dériver deux fois par rapport à , c'est dériver deux fois par rapport à et diviser par ). L'équation devient Or et : en divisant par , . Les deux échelles ont été choisies pour cela : est la position d'un puits, fixe l'échelle de temps. Multiplier par donne , c'est-à-dire : se conserve. Et l'on vérifie que (chaque terme se calcule avec , et ) : est l'énergie mécanique mesurée dans l'unité naturelle .

Pourquoi on adimensionne. Le problème dépendait de , , et d'une condition initiale ; il ne dépend plus que d'un seul nombre, .

2) Les mouvements possibles. : équilibres en (maximum local, , instable) et en (minima, , stables). Allure : un W, deux puits de profondeur séparés par une bosse en , remontant vers aux deux bouts.

  • Si : le point est piégé dans le puits où il a été lancé, entre deux rebroussements.
  • Si : il oscille entre deux rebroussements symétriques en passant par-dessus la barrière.
  • Si : c'est la séparatrice ; le point met un temps infini à atteindre le sommet .

Petites oscillations. , donc : la pulsation réduite est , et la période réduite . En unités réelles, , valeur que l'on obtient aussi directement par .

3) Le script. On pose : le système d'ordre 1 est , . Le point de départ. Partir sans vitesse de donne , soit , du second degré en : . La racine est positive pour tout : est le rebroussement extérieur du mouvement d'énergie , du côté des .

import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as plt

def champ(Y, s):          # u'' = u - u^3 sous forme d'ordre 1
    u, w = Y              # w = u'
    return [w, u - u**3]

def depart(e):            # lacher au rebroussement exterieur
    return [np.sqrt(1 + np.sqrt(1 + 4*e)), 0.0]

s = np.linspace(0, 200, 400001)

# 1) portrait de phase et separatrice
for e in (-0.2, -0.01, 0.01, 0.5):
    Y = odeint(champ, depart(e), s[:40001], rtol=1e-10, atol=1e-12)
    plt.plot(Y[:, 0], Y[:, 1], label="e = %g" % e)
u = np.linspace(-np.sqrt(2), np.sqrt(2), 401)
r = np.sqrt(np.clip(1 - u**2/2, 0, None))
plt.plot(u, u*r, "k--"); plt.plot(u, -u*r, "k--")   # e = 0
plt.xlabel("u"); plt.ylabel("u'"); plt.legend(); plt.show()

# 2) periode = duree entre deux maxima successifs de u
def periode(e):
    u = odeint(champ, depart(e), s, rtol=1e-10, atol=1e-12)[:, 0]
    i = np.where((u[1:-1] > u[:-2]) & (u[1:-1] >= u[2:]))[0] + 1
    return s[i[1]] - s[i[0]]

for e in (-0.24, -0.1, -0.01, -0.001, 0.001, 0.5):
    print("e = %6g    periode reduite = %.2f" % (e, periode(e)))
print("2 pi / sqrt(2) = %.2f" % (2*np.pi/np.sqrt(2)))

La séparatrice s'obtient en écrivant : , soit pour — une courbe en forme de huit couché qui passe par l'origine.

Le portrait de phase obtenu. Pour , une petite courbe fermée, presque une ellipse, autour de ; pour , une courbe qui épouse la boucle droite du huit ; pour et , des courbes qui entourent les deux boucles. La séparatrice partage le plan de phase en trois régions : puits de droite, puits de gauche, au-dessus de la barrière.

4) Les périodes. L'exécution affiche :

e =  -0.24    periode reduite = 4.48
e =   -0.1    periode reduite = 5.24
e =  -0.01    periode reduite = 7.41
e = -0.001    periode reduite = 9.69
e =  0.001    periode reduite = 19.35
e =    0.5    periode reduite = 6.78
2 pi / sqrt(2) = 4.44

Le fond du puits. À , tout près du fond (), la période vaut , à de la valeur harmonique : l'approximation du puits harmonique est confirmée, et sa limite de validité mesurée.

L'approche de la séparatrice. Quand , la période croît sans limite : , , . Elle augmente d'environ chaque fois que est divisé par dix : la divergence est logarithmique. Pourquoi. Le rebroussement intérieur s'approche du sommet de la barrière, où la force s'annule ; au voisinage de , l'équation se réduit à , dont les solutions s'écartent de comme : pour s'éloigner d'une distance de l'ordre de à une distance de l'ordre de , il faut un temps de l'ordre de , qui diverge. Le point passe l'essentiel de sa période à « hésiter » au sommet de la bosse. Juste au-dessus (), la période est environ double () : l'orbite fait le tour des deux puits et frôle la bosse deux fois par période. Loin au-dessus (), la barrière ne compte plus guère et la période redescend ().

L'effet du non linéaire. Pour un oscillateur harmonique, la période ne dépend pas de l'énergie (isochronisme). Ici elle en dépend, et elle peut même diverger : c'est le terme qui crée le double puits, donc la bosse et la séparatrice. Aucune linéarisation ne peut rendre compte de ce comportement : c'est exactement pour cela qu'on résout numériquement.

Ce que l'exercice installe. Adimensionner avant de calculer : on réduit le nombre de paramètres et l'on fait apparaître les échelles naturelles. Mettre une équation d'ordre 2 sous forme d'un système d'ordre 1 pour la confier à un solveur. Lire un portrait de phase : courbes fermées (mouvements bornés), séparatrice. Et constater que, dans un potentiel non harmonique, la période dépend de l'amplitude — ce que le problème qui suit va quantifier pour le pendule.

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 →