Problématique : comment les caractéristiques des ondes provoquées par les bateaux participent-elles à l'érosion des berges des lacs ?
On note A l'amplitude des vagues suivant l'axe z des altitudes, et on étudie l'altitude z à la date t d'un point M de la surface de l'eau, repéré par son abscisse x. L'origine z = 0 correspond à l'altitude de l'eau au repos.
Hypothèses et vocabulaire
On modélise par des ondes mécaniques périodiques les vagues créées par les bateaux. A est l'amplitude de ces ondes suivant l'axe z des altitudes. L'origine z = 0 correspond à l'altitude de l'eau dans le lac lorsqu'aucune onde ne se propage ; les points de la surface étudiés sont repérés par leur abscisse x.
1. Comment appelle-t-on la période spatiale d'une onde périodique ?
2. Dans quelle unité s'exprime la célérité v d'une onde ?
3. Quelle relation relie correctement la célérité v, la longueur d'onde λ et la période T ?
Vocabulaire — « en phase »
Deux points d'un milieu sont dits en phase s'ils vibrent exactement de la même façon au même instant : par exemple, s'ils se trouvent tous les deux au sommet d'une vague en même temps.
Compléter le programme Python
- Le programme trace
z(t)à la source (x = 0) puis à l'abscissexM, avec une céléritév = 10 m/set une distance bateau‑bergeL = 0,040 km. - Choisis une période
T = 3 s, une amplitudeA = 5 dmet une abscissexM = 10 m— attention,xMdoit être saisi en km dans le programme.
from pylab import *
# Données modifiables
A = # amplitude suivant z, en dm (entre 0 et Amax)
T = # période de l'onde en s (entre 2 et 10)
xM = # abscisse de M en km (entre 0 et L)
# Données non modifiables
v = 10 # célérité en m/s
L = 0.040 # distance bateau-berge suivant x, en km
tmax = 30 # date de fin en s
Amax = 10 # amplitude maximale en dm
t = linspace(0, tmax, 500)
def z(t):
return 0.56*A*(sin(2*pi*t/T) - sin(4*pi*t/T))
fig = figure()
gcf().subplots_adjust(hspace = 0.7)
fig.add_subplot(2, 1, 1)
plot(t, z(t))
title("z(t) à la source"); xlabel("t (en s)"); ylabel("z (en dm)")
grid(True); ylim(-Amax, Amax); xlim(0, tmax)
fig.add_subplot(2, 1, 2)
plot(t, z(t - 1000*xM/v))
title("z(t) à xM = " + str(xM) + " km de la source")
xlabel("t (en s)"); ylabel("z (en dm)")
grid(True); ylim(-Amax, Amax); xlim(0, tmax)
show()
Indice
xM doit être exprimé dans la même unité que L (le km) pour que la comparaison 0 ≤ xM ≤ L ait un sens : 10 m = 0,010 km.
Deux courbes sinusoïdales de même forme, la seconde étant identique à la première mais décalée dans le temps (retardée) : c'est le retard mis par l'onde pour parcourir la distance xM à la célérité v.
Le programme utilise plusieurs briques de base du langage Python. Teste ta compréhension avant d'exécuter le code.
a. Dans def z(t): puis return 0.56*A*(...), pourquoi la deuxième ligne est-elle décalée vers la droite (indentée) ?
b. Que crée l'instruction fig = figure() ?
c. À quoi sert gcf().subplots_adjust(hspace = 0.7) ?
d. Que définissent ylim(-Amax, Amax) et xlim(0, tmax) ?
e. Dans title("z(t) à xM = " + str(xM) + " km de la source"), à quoi sert str(xM) ?
f. Que fait l'instruction show(), à la toute fin du programme ?
Simulateur interactif
- Fais varier
TetA: que remarques-tu sur l'allure des courbes ? - Reviens à
A = 5 dm,T = 3 s, puis fais varierxM: que se passe-t-il sur le graphique du bas ?
4. Avec T = 3 s, A = 5 dm et v = 10 m/s (0 ≤ xM ≤ L = 40 m), pour quelle valeur de xM les deux signaux sont-ils en phase (hors xM = 0) ?
5. Quelle est la période spatiale λ de l'onde étudiée (T = 3 s, v = 10 m/s) ?
6. Dans les conditions de la question précédente (T = 3 s), combien de vagues touchent la rive en 1 minute ?
Indice
λ = v × T. Pour le nombre de vagues par minute, divise la durée (60 s) par la période T d'une vague.
Conclusion
- La vague créée par le bateau est une onde mécanique progressive périodique : elle transporte de l'énergie, sans transport de matière, de proche en proche à la célérité
v. - Le signal reçu en
xMa la même forme que celui de la source, mais retardé du tempsxM/vmis par l'onde pour parcourir la distance source–berge. - Plus la période
Test petite, plus le nombre de vagues frappant la rive par minute est grand : une activité nautique intense (wakeboard, wakesurf) augmente donc la fréquence des impacts sur la berge, ce qui favorise l'érosion.
Pense-bête — ondes mécaniques progressives périodiques
| v = λ/T | célérité, longueur d'onde, période |
| Δt = xM/v | retard entre la source et un point M |
| λ = v·T | période spatiale |
| n = 60/T | nombre de vagues touchant la rive en 1 min |
Pas de Thonny sous la main ? Utilise Basthon
Ouvrir dans un nouvel onglet ↗Entrée.from pylab import *
A = 5 # amplitude en dm
T = 3 # période en s
xM = 0.010 # abscisse de M en km (10 m)
v = 10
L = 0.040
tmax = 30
Amax = 10
t = linspace(0, tmax, 500)
def z(t):
return 0.56*A*(sin(2*pi*t/T) - sin(4*pi*t/T))
fig = figure()
gcf().subplots_adjust(hspace = 0.7)
fig.add_subplot(2, 1, 1)
plot(t, z(t))
title("z(t) à la source"); xlabel("t (en s)"); ylabel("z (en dm)")
grid(True); ylim(-Amax, Amax); xlim(0, tmax)
fig.add_subplot(2, 1, 2)
plot(t, z(t - 1000*xM/v))
title("z(t) à xM = " + str(xM) + " km de la source")
xlabel("t (en s)"); ylabel("z (en dm)")
grid(True); ylim(-Amax, Amax); xlim(0, tmax)
show()