Université de Tours “François Rabelais”

publicité
Université de Tours “François Rabelais”
Faculté de Sciences et Techniques
Licence de Physique 2008–2009
Modélisation, Simulations, Outils Informatiques [Option]
dérivée par rapport au temps de la même façon que l’on a employée pour la dérivée par rapport
à l’espace. Ainsi,
ϕn,m+1 − 2ϕn,m + ϕn,m−1
d2 ϕn (t)
≈
dt2
h2
Alors le système d’équations à résoudre, éq. (4), devient
ϕn,m+1 = 2ϕn,m +
Le but de cet exercice est de déterminer numériquement la solution de l’équation d’ondes
classiques
∂2ϕ
∂2ϕ
= v2 2
(1)
2
∂t
∂z
Le paramètre v a les dimensions d’une vitesse.
On doit fournir, non seulement les conditions aux bords dans l’espace, mais, aussi, deux
conditions à temps fixe, puisque l’équation contient une deuxième dérivée par rapport au temps.
Des considérations physiques nous encouragent à privilégier les conditions initiales suivantes
(2)
L’exemple emblématique est celui d’une chaîne flexible. Alors l’on interprète ϕ comme le déplacement de la chaîne à l’endroit z, à l’instant t et la dérivée ∂ϕ/∂t comme la vitesse de l’élement
de la chaîne, qui s’étend entre z et z + dz, à l’instant t.
Pour le cas de la corde de longueur finie, L on doit distinguer deux cas de figure : (a) la
corde ouverte, alos on doit imposer des conditions à z = 0 et z = L, par exemple, ϕ(0, t) = F (t)
et ϕ(L, t) = G(t) ou (b) la corde fermée, alors on doit imposer que ϕ(0, t) = ϕ(L, t) et que
∂ϕ(0, t)/∂z = ∂ϕ(L, t)/∂z (on identifie les bouts et il n’y a pas de coin). Pour le traitement
numérique on doit décider comment évaluer les dérivées. Dans l’approche des différences finies,
employée, déjà, pour l’équation de Poisson, on discrétise l’espace, z ≡ n · a et l’on remplace la
dérivée spatiale par une approximation sur plusieurs sites, par exemple,
2
∂ ϕ(z, t)
ϕn+1 (t) − 2ϕn (t) + ϕn−1 (t)
≈
∂z 2
a2
(5)
Ce schéma est explicite et montre clairement que la valeur de la fonction dans le futur dépend
uniquement de ses valeurs dans le présent et dans le passé. Le seul point délicat est à l’instant
m = 1, car, pour calculer ϕn,1 on doit connaître ϕn,−1 . Cette dernière quantité sera déterminée
à partir de la condition initiale. En effet,
TP2 : Equations hyperboliques : L’Equation d’Ondes
∂ϕ
(z, 0) = g(z)
ϕ(z, 0) = f (z) et
∂t
v 2 h2
(ϕn+1,m − 2ϕn,m + ϕn−1,m ) − ϕn,m−1
a2
(3)
Ainsi l’équation aux dérivées partielles d’origine devient un système d’équations différentielles
ordinaires couplées,
v2
d2 ϕn (t)
= 2 (ϕn+1 (t) − 2ϕn (t) + ϕn−1 (t))
(4)
2
dt
a
Les conditions aux bords nous diront comment traiter les fonctions ϕ0 (t) et ϕN (t). On doit,
maintenant, refléchir sur le schéma de discrétisation dans le temps. L’approche explicite à l’Euler
ou Runge et Kutta présente l’inconvénient qu’il est instable pour toute valeur du pas temporel,
h ≡ t/m. Par conséquent il faut trouver une autre méthode. Une idée est la suivante : Ecrire la
ϕn (0)
ϕn,1 − ϕn,−1
∂ϕ(z, 0)
= g(z) ⇔
= gn ⇔
= gn ⇔ ϕn,−1 = ϕn,1 − 2hgn
∂t
dt
2h
Ainsi l’on trouve que
ϕn,1 = ϕn,0 +
h2 v 2
h2 v 2
(ϕn+1,0 − 2ϕn,0 + ϕn−1,0 ) + hgn = fn + hgn +
(fn+1 − 2fn + fn−1 )
2
2a
2a2
Pour m > 1 éq. (5) est bien définie.
Par la suite on veut employer ces récurrences pour afficher la solution de l’équation d’ondes
dans plusieurs cas de figure.
1. Il est indispensable de contrôler pour quels choix des pas spatial, a et temporel, h, la
récurrence (5) est stable. On pose C ≡ h2 v 2 /a2 et l’on introduit les composantes de
Fourier, φp,m par
N −1
1 X i 2π pn
ϕn,m = √
e N φp,m
N p=0
au termes desquels la récurrence s’écrit sous la forme
πp φp,m+1 = 2 − 4C sin2
φp,m − φp,m−1
N }
|
{z
(6)
Ap
Il s’agit d’uné récurrence du deuxième ordre, qui s’écrit sous forme matricielle comme
Ap −1
φp,m
φp,m+1
=
1
0
φp,m−1
φp,m
Le déterminant de cette matrice est égale à 1–par conséquent, si les valeurs propres
sont réelles, une sera, nécessairement, de valeur absolue plus grande que 1 et le vecteur
propre correspondant indiquera la direction d’instabilité. Par contre, si les valeurs propres
sont complexes, alors elles auront le même module, qui sera égal à 1 et la méthode
sera marginalement stable. Par conséquent, il faut imposer que les valeurs propres soient
complexes. Montrer que les conditions 0 < C < 1 impliquent que les valeurs propres
seront complexes pour tous les modes et, par conséquent, on doit choisir les pas, a et h,
de façon à ce que 0 < C = hv/a < 1. En fait la positivité est de toute façon indispensable
et c’est la contrainte C < 1 qui nous livre la condition recherchée.
Les pas sont des paramètres non-physiques et l’on doit sonder la limite continue, h → 0,
a → 0–mais avec C < 1 ! C’est alors que les résultats numériques décriront le système
continu. Discuter, dans la pratique, ce qui se passe, lorsque l’on prend plusieurs valeurs
pour les pas (sous la condition C < 1).
2. La question d’allocation de mémoire est ici intéressante. En effet, l’éq. (5) implique ϕn,m+1 ,
ϕn,m et ϕn,m−1 , par conséquent on a besoin de trois vecteurs : le vecteur phi_new[n],
contient les éléments ϕn,m+1 ; le vecteur phi_curr[n], qui contient les éléments ϕn,m ; et
le vecteur phi_old[n], contient les éléments ϕn,m−1 . Il faut, alors, après chaque mise à
jour, mettre les éléments du vecteur phi_curr[n] dans ceux de phi_old[n] et ceux de
phi_new[n] dans ceux de phi_curr[n]. Montrer que c’est le bon ordre.
3. Prenons le cas où les bouts de la corde sont fixes, ϕ(0, t) = 0, ϕ(L, t) = 0, la vitesse initiale
est partout égale à zéro, g(z) = 0 et le déplacement initiale est une onde monochromatique,
f (z) = A sin(2πz/L). Ainsi, ϕ(z, t) ne contient qu’un seul mode de vibration, le premier.
Calculer ϕ(z, t) et vérifier, en particulier, qu’il n’y a pas d’autre mode qui est excité,vu
que la chaîne flexible est un milieu non-dispersif.
4. Si l’on prend comme condition initiale un paquet d’ondes,
ϕ(z, 0) ≡ f (z) = √
A
2πσ 2
2 /(2σ 2 )
e−(z−z0 )
afficher ϕ(z, t) et discuter ce qui se passe losque le paquet d’ondes arrive aux bords.
5. Si l’on prend deux paquets d’ondes,
A
A
2
2
2
2
e−(z−z1 ) /(2σ1 ) + p
e−(z−z2 ) /(2σ2 )
ϕ(z, 0) ≡ f (z) = p
2πσ12
2πσ22
Montrer qu’elle est conservée pour toute solution de l’équation d’ondes, pourvu que les
conditions aux bords sont appropriées. Contrôler qu’elle est conservée pour les cas de
figures concrets ici, à la précision à laquelle on travaille.
7. OPTIONNEL : Le principe variationnel nous permet de modéliser des cas plus compliqués facilement. Ainsi, si l’on ajoute à la densité lagrangienne le terme
LI =
b2 2
ϕ
2
de façon à remplacer L0 par L0 − LI ,montrer que l’équation d’ondes devient
∂2ϕ
∂2ϕ
− v 2 2 + b2 ϕ = 0
2
∂t
∂z
et que ce terme implique la dispersion : en posant ϕ(z, t) = ei(kz−ωt) , montrer que la
vitesse de phase, vφ ≡ ω/k > v, la vitesse caractéristique de cette équation, par contre
que le centre de masse d’un paquet d’ondes Gaussien se déplace avec la vitesse de groupe,
vg ≡ dω/dk < v. Par conséquent, chaque mode se propage avec sa propre vitesse et
le paquet d’ondes va se disperser au fil du temps. Discuter comment est-il possible de
mesurer cette dispersion quantitativement.
Un autre cas intéressant est celui d’un champ extérieur,
LI = h(z)ϕ(z, t)
auquel cas l’équation d’ondes devient
peut-on observer des effets d’interférences ?
6. L’équation d’ondes est l’équation d’Euler–Lagrange déduite de l’action suivante
2 # Z
Z
Z L " 2
v 2 ∂ϕ
1 ∂ϕ
−
≡ dtdzL0
S[ϕ] = dt
dz
2 ∂t
2 ∂z
0
L’impulsion conjuguée à ϕ est Π(z, t) ≡ ∂L /∂ ϕ̇ = ∂ϕ/∂t. L’énergie est donnée par
2 #
Z L "
1 2 v 2 ∂ϕ
(8)
E[ϕ, Π] =
dz Π +
2
2 ∂z
0
∂2ϕ
∂2ϕ
− v 2 2 + h(z) = 0
2
∂t
∂z
(7)
Si l’on remplace ϕ(z, t) par ϕ(z, t) + δϕ(z, t), avec δϕ = 0 aux bords du domaine d’intégration (aussi bien dans le temps que dans l’espace) et l’on calcule δS ≡ S[ϕ + δϕ] − S[ϕ]
et l’on ne retient que les termes linéaires en δϕ, on trouve que
Z
∂L0
∂ ∂L0
∂ ∂L0
δS = dtdzδϕ(z, t)
−
−
∂ϕ
∂t ∂ ϕ̇
∂z ∂ϕ′
où l’on pose ϕ̇ ≡ ∂ϕ/∂t et ϕ′ ≡ ∂ϕ/∂z. Par conséquent, les fonctions ϕ(z, t), qui extrémisent l’action sont solutions de l’équation d’Euler–Lagrange. Et si l’on ajoute des termes
supplémentaires dans le Lagrangien, leur contribution aux équations du mouvement peut
être très facilement prise en compte (cf. plus bas).
Téléchargement