7.9 Systèmes d’équations différentielles
245
0
0.02
0.04
0.06
0.08
0.1
0
0.5
1
1.5
2
2.5
3
0
0.02
0.04
0.06
0.08
0.1
−20
0
20
40
60
80
100
120
140
160
180
Figure 7.16. Solutions numériques du système (7.62). La chute de potentiel v(t) est tracée à gauche, sa dérivée w(t) à droite : les traits discontinus
représentent la solution obtenue pour h = 0.001 avec la méthode d’Euler explicite, le trait plein est obtenu avec la même méthode pour h = 0.004. Les
traits pleins avec cercles correspondent à la méthode de Newmark (7.67) avec
ζ = 1/4, θ = 1/2 et h = 0.004
Le schéma (7.65)-(7.66), appelé saute-mouton (leap-frog en anglais), est
précis à l’ordre 2 par rapport à h.
La méthode de Newmark est plus générale. Elle consiste à construire
deux suites, approchant les mêmes fonctions que ci-dessus, définies par
u n+1 = u n + hv n + h
2 [ζf(t n+1 , u n+1 , v n+1 ) + (1/2 − ζ)f(t n , u n , v n )] ,
v n+1 = v n + h [(1 − θ)f(t n , u n , v n ) + θf(t n+1 , u n+1 , v n+1 )] ,
(7.67)
avec u 0 = α 0 et v 0 = β 0 , où ζ et θ sont deux nombres réels positifs.
Cette méthode est implicite, sauf pour ζ = θ = 0. Elle est du second
ordre si θ = 1/2 et du premier ordre si θ = 1/2. La condition θ ≥ 1/2
est nécessaire pour la stabilité. Si θ = 1/2 et ζ = 1/4, on trouve une
méthode inconditionnellement stable qui est très utilisée. Cependant,
cette méthode n’est pas adaptée à la simulation sur de grands intervalles
de temps car elle conduit à des oscillations parasites. Pour ce type de
simulation, il vaut mieux utiliser θ > 1/2 et ζ > (θ + 1/2)
2 /4 bien que
le schéma ne soit alors plus que d’ordre un.
Le Programme 7.8 propose une implémentation de la méthode de
Newmark. Le vecteur param permet de préciser les valeurs des coefficients
(param(1)=ζ, param(2)=θ).
245
0
0.02
0.04
0.06
0.08
0.1
0
0.5
1
1.5
2
2.5
3
0
0.02
0.04
0.06
0.08
0.1
−20
0
20
40
60
80
100
120
140
160
180
Figure 7.16. Solutions numériques du système (7.62). La chute de potentiel v(t) est tracée à gauche, sa dérivée w(t) à droite : les traits discontinus
représentent la solution obtenue pour h = 0.001 avec la méthode d’Euler explicite, le trait plein est obtenu avec la même méthode pour h = 0.004. Les
traits pleins avec cercles correspondent à la méthode de Newmark (7.67) avec
ζ = 1/4, θ = 1/2 et h = 0.004
Le schéma (7.65)-(7.66), appelé saute-mouton (leap-frog en anglais), est
précis à l’ordre 2 par rapport à h.
La méthode de Newmark est plus générale. Elle consiste à construire
deux suites, approchant les mêmes fonctions que ci-dessus, définies par
u n+1 = u n + hv n + h
2 [ζf(t n+1 , u n+1 , v n+1 ) + (1/2 − ζ)f(t n , u n , v n )] ,
v n+1 = v n + h [(1 − θ)f(t n , u n , v n ) + θf(t n+1 , u n+1 , v n+1 )] ,
(7.67)
avec u 0 = α 0 et v 0 = β 0 , où ζ et θ sont deux nombres réels positifs.
Cette méthode est implicite, sauf pour ζ = θ = 0. Elle est du second
ordre si θ = 1/2 et du premier ordre si θ = 1/2. La condition θ ≥ 1/2
est nécessaire pour la stabilité. Si θ = 1/2 et ζ = 1/4, on trouve une
méthode inconditionnellement stable qui est très utilisée. Cependant,
cette méthode n’est pas adaptée à la simulation sur de grands intervalles
de temps car elle conduit à des oscillations parasites. Pour ce type de
simulation, il vaut mieux utiliser θ > 1/2 et ζ > (θ + 1/2)
2 /4 bien que
le schéma ne soit alors plus que d’ordre un.
Le Programme 7.8 propose une implémentation de la méthode de
Newmark. Le vecteur param permet de préciser les valeurs des coefficients
(param(1)=ζ, param(2)=θ).
