8.4 Equation des ondes
301
Exemple 8.6 Le système (8.76) est hyperbolique car A est diagonalisable
avec la matrice de passage
T =
⎡
⎣
−
1
√ c
1
√ c
1
1
⎤
⎦
et possède deux valeurs propres réelles ±
√
c (qui représentent les vitesses de
propagation de l’onde). Etant donné le signe des valeurs propres, on voit qu’une
condition aux limites doit être imposée à chaque extrémité, ce qui est conforme
à (8.75).
8.4.1 Approximation par différences finies de l’équation des
ondes
Pour discrétiser en temps l’équation des ondes (8.72), on peut utiliser
la méthode de Newmark (7.67) présentée au Chapitre 7 pour des équations différentielles ordinaires du second ordre, voir (7.67). En notant à
nouveau Δt le pas de temps (uniforme) et en utilisant pour la discrétisation en espace une méthode de différences finies classique sur une
grille de noeuds x j = x 0 + jΔx, j = 0, . . . , N + 1, x 0 = a et x N+1 = b,
le schéma de Newmark s’écrit pour (8.72) : pour tout n ≥ 1 trouver
{u
n
j , v
n
j , j = 1, . . . , N} tels que
u
n+1
j
= u
n
j + Δtv
n
j
+Δt
2
ζ(cw
n+1
j
+ f(t
n+1 , x j )) + (1/2 − ζ)(cw
n
j + f(t
n , x j ))
,
v
n+1
j
= v
n
j + Δt
(1 − θ)(cw
n
j + f(t
n , x j )) + θ(cw
n+1
j
+ f(t
n+1 , x j ))
,
(8.78)
avec u
0
j = u 0 (x j ), v
0
j = v 0 (x j ) et w
k
j = (u
k
j+1 − 2u
k
j + u
k
j−1 )/(Δx)
2
pour k = n ou k = n + 1. Le système (8.78) doit être complété par les
conditions aux limites (8.75).
Le schéma de Newmark est implémenté dans le Programme 8.4. Les
paramètres d’entrée sont les vecteurs xspan=[a,b] et tspan=[0,T], le
nombre d’intervalles de discrétisation en espace (nstep(1)) et en temps
(nstep(2)), le scalaire c, correspondant à la constante positive c, les
variables u0 et v0, qui définissent les données initiales u 0 (x) et v 0 (x),
et les variables g et fun, qui contiennent les fonctions g(x, t) et f(x, t).
Enfin, le vecteur param permet de spécifier les valeurs des coefficients
(param(1)=θ, param(2)=ζ). Cette méthode est du second ordre en Δt si
θ = 1/2, et du premier ordre si θ = 1/2. De plus, la condition θ ≥ 1/2
est nécessaire pour assurer la stabilité (voir la Section 7.9).
301
Exemple 8.6 Le système (8.76) est hyperbolique car A est diagonalisable
avec la matrice de passage
T =
⎡
⎣
−
1
√ c
1
√ c
1
1
⎤
⎦
et possède deux valeurs propres réelles ±
√
c (qui représentent les vitesses de
propagation de l’onde). Etant donné le signe des valeurs propres, on voit qu’une
condition aux limites doit être imposée à chaque extrémité, ce qui est conforme
à (8.75).
8.4.1 Approximation par différences finies de l’équation des
ondes
Pour discrétiser en temps l’équation des ondes (8.72), on peut utiliser
la méthode de Newmark (7.67) présentée au Chapitre 7 pour des équations différentielles ordinaires du second ordre, voir (7.67). En notant à
nouveau Δt le pas de temps (uniforme) et en utilisant pour la discrétisation en espace une méthode de différences finies classique sur une
grille de noeuds x j = x 0 + jΔx, j = 0, . . . , N + 1, x 0 = a et x N+1 = b,
le schéma de Newmark s’écrit pour (8.72) : pour tout n ≥ 1 trouver
{u
n
j , v
n
j , j = 1, . . . , N} tels que
u
n+1
j
= u
n
j + Δtv
n
j
+Δt
2
ζ(cw
n+1
j
+ f(t
n+1 , x j )) + (1/2 − ζ)(cw
n
j + f(t
n , x j ))
,
v
n+1
j
= v
n
j + Δt
(1 − θ)(cw
n
j + f(t
n , x j )) + θ(cw
n+1
j
+ f(t
n+1 , x j ))
,
(8.78)
avec u
0
j = u 0 (x j ), v
0
j = v 0 (x j ) et w
k
j = (u
k
j+1 − 2u
k
j + u
k
j−1 )/(Δx)
2
pour k = n ou k = n + 1. Le système (8.78) doit être complété par les
conditions aux limites (8.75).
Le schéma de Newmark est implémenté dans le Programme 8.4. Les
paramètres d’entrée sont les vecteurs xspan=[a,b] et tspan=[0,T], le
nombre d’intervalles de discrétisation en espace (nstep(1)) et en temps
(nstep(2)), le scalaire c, correspondant à la constante positive c, les
variables u0 et v0, qui définissent les données initiales u 0 (x) et v 0 (x),
et les variables g et fun, qui contiennent les fonctions g(x, t) et f(x, t).
Enfin, le vecteur param permet de spécifier les valeurs des coefficients
(param(1)=θ, param(2)=ζ). Cette méthode est du second ordre en Δt si
θ = 1/2, et du premier ordre si θ = 1/2. De plus, la condition θ ≥ 1/2
est nécessaire pour assurer la stabilité (voir la Section 7.9).
