Simulation numérique avancée
Franck Jourdan – LMGC -
[email protected] Franck Nicoud – I3M
[email protected]
Simulation numérique avancée
4. Analyse d’erreur et stabilité
A la fin du chapitre, l’étudiant doit être capable de:
1. Calculer la vitesse de propagation effective d’un schéma de discrétisation de l’équation de convection-diffusion 1D
2. Expliquer la déformation d’un signal non monochromatique 3. Définir les nombres de CFL et de Fourier
4. Effectuer l’analyse de stabilité de Von Newman d’un schéma de discrétisation 1D
Analyse d’erreur
• Sur le cas académique d’une convection pure, il est apparu que:
– Les schémas centré, QUICK et TVD donnent des résultats très différents bien que tous d’ordre 2
– Le schéma décentré amont (ordre 1) est monotone mais génère beaucoup de dissipation non physique
– Le schéma décentré aval (ordre 1) est instable et ne permet pas d’obtenir une solution physiquement acceptable
• L’ordre d’un schéma n’est donc pas suffisant pour décrire la qualité d’un schéma ou son comportement
• L’analyse spectrale permet de comprendre la nature des différentes erreurs associées à un schéma de discrétisation
• En 1D, on peut l’appliquer à des schémas de type différences finies puisque ces derniers sont équivalents aux VF
Simulation numérique avancée - MI4 4
Dérivées premières
• Développement de Taylor au nœud i:
• Ces développements font apparaître les dérivées de f au nœud i uniquement
i i +1 i + 2
−1 i
− 2 i
−3
i x
( 1 ) ( 1 )2 2 2
(
( 1 )2)
1 2 x i i
i i
x i
i i
i o x x
dx f d x
x dx
x df x
f f
i i
−
− + +
− +
= − − −
−
( 1 ) ( 1 )2 2 2
(
( 1 )2)
1 2 i i
x i
i x
i i
i
i o x x
dx f x d
x dx
x df x
f f
i i
−
− + +
− +
= + + +
+
• Si les nœuds sont régulièrement espacés
i i +1 i + 2
−1 i
− 2 i
−3
i x
∆x
( )
22 2 2
1 2 o x
dx f d x dx
xdf f
f
i xi
x i
i+ = + ∆ + ∆ + ∆
( )
22 2 2
1 2 o x
dx f d x dx
xdf f
f
i xi
x i
i− = −∆ + ∆ + ∆
( )
21
1 0 2 0 o x
dx xdf f
f
x i
i+ − − = + ∆ + + ∆
Dérivées premières
Simulation numérique avancée - MI4 6
• Si les nœuds sont régulièrement espacés, la dérivée de f au nœud i est approximée par
• Erreur d’approximation est
• Schéma centré d’ordre 2
x f f f
dx D
df
i ii
xi
∆
= −
≈
+ −2
1 0 1
1
) ( x o ∆
Dérivées premières
• Maillage régulier
• En conservant plus de termes dans les
développements on obtient les schémas à l’ordre 4 et 6 suivants
•
•
) 12 (
8
8 1 1 2 3
2 o x
x
f f
f f
dx
df i i i i
xi
∆
∆ +
+
− +
≈ − + + − −
Ordres plus élevés
) 60 (
9 45
45
9 2 1 1 2 3 5
3 o x
x
f f
f f
f f
dx
df i i i i i i
x
∆
∆ +
− +
− +
≈ + − + + − − −
Simulation numérique avancée - MI4 8
• ordre 1 aval
• ordre 1 amont
• ordre 2 aval
• ordre 2 amont
Formules décentrées
) 1
1 ( x o
f f
dx
df i i
xi
∆ +
≈ + −
) 2 (
3 4 1
2 o x
x
f f
f dx
df i i i
xi
∆
∆ +
− +
≈ − + +
) 2 (
3 4 1
2 o x
x
f f
f dx
df i i i
xi
∆
∆ +
+
≈ − − −
) 1
1 ( x o
f f
dx
df i i
xi
∆ +
≈ − −
Analyse spectrale
• Cas d’une fonction harmonique
• Schéma centré d’ordre 2
• L’erreur commise est
[exp( )] Re[ exp( )]
Re )
( jk jkx
dx jkx df
x
f = ⇒ =
[ ]
x f f
dx x df
jki
f i i
x i
i ∆
≈ −
∆
= + −
, 2 ) exp(
Re 1 1
∆ ∆
≈ sin( ∆ ) exp( )
Re jki x
x k
x jk k
dx df
xi
x k
x k
∆
∆ ) sin(
Simulation numérique avancée - MI4 10
Signification de k ∆ x
• Sinusoïde de période L décrite avec N points
• ∆ x = L / N, k = 2 π /L donc k ∆ x = 2 π / N
(exact)
→ 0
∆x
k 4
= π
∆x
k 2
= π
∆x
k k∆x =π
Analyse spectrale
• Tout se passe comme si on résolvait l’équation
• Les différentes longueurs d’onde ne se déplacent pas à la même vitesse
) 0 sin(
0 =
∂
∂
∆ + ∆
∂
∂
x f x
k
x U k
t f
centré
ordre 2 exact
Simulation numérique avancée - MI4 12
Analyse spectrale
• Équation effective ( ) 0
0 =
∂
∆ ∂
∂ +
∂
x x f
k E t U
f
SCHEMA
Centré ordre 2
Amont ordre 1
Amont ordre 2
Centré ordre 4
[
( )]
Re E k∆x Im
[
E(k∆x)]
0
0 x
k
x k
∆
∆ ) sin(
x k
x k
∆
∆ ) sin(
x k
x k
∆
−
∆ ) 1 cos(
(
2 cos( ))
)
sin( k x
x k
x
k − ∆
∆
∆
x k
x k x
k
∆
−
∆ +
∆
− cos(2 ) 4cos( ) 3
(
4 cos( ))
3
)
sin( k x
x k
x
k − ∆
∆
∆
Analyse spectrale
Simulation numérique avancée - MI4 14
Lien avec l’ordre du schéma
• Dans la limite k∆x → 0, la vitesse de propagation tend vers U0
• La vitesse avec laquelle l’erreur tend vers zéro dépend de l’ordre du schéma
• Au voisinage de 0, Re(E(k∆x)) = 1+O((k∆x)n), avec n l’ordre du schéma
• Au voisinage de 0, Im(E(k∆x)) = O((k∆x)n), avec n l’ordre du schéma
• Les schémas centrés sont non dissipatifs: Im(E(k∆x)) = 0
• Les schémas stables sont tels que: Im(E(k∆x)) ≤ 0
Dispersion
• La vitesse de propagation effective n’est égale à la vitesse théorique que dans la limite k∆x → 0
• Une perturbation peut donc être propagée trop lentement ou trop vite
• Les fonctions et ne sont pas propagées à la même vitesse en général
• Que se passe-t-il lorsque l’on convecte ?f (x) e jkx ejk'x,k ≠ k'
Simulation numérique avancée - MI4 16
Déformation du signal
• On peut décomposer cette fonction comme une somme de fonctions harmoniques (en rendant f périodique
éventuellement)
• La solution théorique après t s de simulation est
• Numériquement le mode devient
• La solution numérique est donc
∑
= fke jkx x
f ( ) ˆ
∑
−=
− 0 ) ˆ ( 0 ) (x U t fke jk x U t f
) ) (
(x E k x U0t
e jk − ∆
e jkx
{ˆ ( )
)
( 0 ( 0 ) 0
)) 0 ( 1 (
t U x
f e
g t
U x
g jk x U t
e
k
t U x k E jk
−
≠
=
−
∑
−∆
−
• Déduire la dérivée seconde des développements de Taylor
i i +1 i + 2
−1 i
− 2 i
−3
i x
( )
33 3 3 2
2 2
1 2 6 o x
dx f d x dx
f d x dx
xdf f
f
i
i xi x
x i
i+ = +∆ + ∆ + ∆ + ∆
( )
33 3 3 2
2 2
1 2 6 o x
dx f d x dx
f d x dx
xdf f
f
i
i xi x
x i
i− = −∆ + ∆ − ∆ + ∆
Dérivées secondes
) 2 (
2
1 1 1
, 0 2 2
2
x x o
f f
f f dx D
f
d
i i ii
+ ∆
∆
+
= −
≈
+ −Simulation numérique avancée - MI4 18
• Maillage régulier
• On utilise le fait que
• En appliquant l’opérateur à
Dérivées secondes
) 2 (
1 0
1 1
0 0 1
1 0 2 1
2
x x o
f D f
f D D
dx D f
d
i ii xi
∆
∆ +
= −
≈
+ −i xi
x dx
df dx
d dx
f
d
2 =
2
f
iD
100
D
1) 4 (
2
2
2 2 2
, 0 2 2
2
x x o
f f
f f dx D
f
d
i i ii xi
∆
∆ +
+
= −
≈
+ −Analyse spectrale
• Cas d’une fonction harmonique
• Schéma centré d’ordre 2 à 2 ∆
• L’erreur commise est
[exp( )] Re
[
exp( )]
Re )
( 2 2
2
jkx dx k
f jkx d
x
f = ⇒ = −
[ ] 2
1 1
2
2 2
, ) exp(
Re x
f f
f dx
f x d
jki
f i i i
x i
i ∆
+
≈ −
∆
= + −
∆ ∆
−
≈ cos( ∆ ) 1exp( ) 2
Re 2
2 2
x x jki
x k dx
f d
xi
2 2
) cos(
21
x k
x k
∆
∆
−
Simulation numérique avancée - MI4 20
Analyse spectrale
• Schéma centré d’ordre 2 à 4 ∆
• L’erreur commise est
[ ] 2 2 2 2 2
4 , 2
) exp(
Re x
f f
f dx
f x d
jki
f i i i
x i
i ∆
+
≈ −
∆
= + −
∆ ∆
−
≈ cos(2 ∆ ) 1exp( ) 2
Re 1 2
2 2
x x jki
x k dx
f d
xi
2
2 2
) 2
cos(
1
x k
x k
∆
∆
−
Analyse spectrale
• Les erreurs sont réelles uniquement, donc pas de convection numérique
∆ 2
∆ 4
Simulation numérique avancée - MI4 22
Analyse de stabilité
• On cherche à répondre à la question simple suivante:
Sous quelles conditions une méthode numérique (discrétisation en temps et en espace)
est-elle stable ?
• L’analyse de Von Neumann est bien adaptée et relativement
simple à mettre en œuvre, au moins pour les équations linéaires et 1D et en l’absence de conditions limites …
• Une des multiples contributions de John Von Neumann
Facteur d’amplification
• Forme de la solution
• Comment l’amplitude d’une perturbation de nombre d’onde k évolue-t-elle en temps ?
e
jkxt f t
x
f ( , ) = ˆ ( ) ×
jkxi
n n
i n
i
t f f e
x
f ( , ) = = ˆ ×
n
n
A f
f ˆ
+1= ˆ × ˆ
Simulation numérique avancée - MI4 24
Stabilité Von Neumann
• On s’intéresse désormais à l’équation complètement discrétisée, y compris pour le terme temporel
• signal amorti
• exact
• instabilité
: ˆ < 1 A
: ˆ = 1 A
:
ˆ > 1
A
Exemple 1
• Convection pure:
• Schéma centré ordre 2 en espace
• Euler explicite en temps
0 = 0
∂ + ∂
∂
∂
x U f
t f
x f tU f
f f
n i n
n i i n
i ∆
∆ −
−
= + −
+
2
1 1
0 1
Simulation numérique avancée - MI4 26
Exemple 1 - suite
• Pour une perturbation du type
• Ce schéma est (inconditionnellement) instable )
sin(
ˆ 1 0 k x
x j tU
A ∆
∆
− ∆
=
jkxi
n n
i
f e
f = ˆ ×
ˆ 1 : >
∃k A
Exemple 2
• Décentré amont d’ordre 1 en espace
• Euler explicite en temps
• Ce schéma est (conditionnellement) stable x
f tU f
f f
n i n
n i i n
i ∆
∆ −
−
= −
+ 1
0 1
[
1 cos( ) sin( )]
ˆ 1 0 k x j k x
x
A tU − ∆ + ∆
∆
− ∆
=
1 ,
ˆ 1 0 ≤
∆
= ∆
⇔
∀
≤ x
CFL tU k
A
Simulation numérique avancée - MI4 28
Exemple 3
• Centré ordre 2 en espace
• Runge-Kutta d’ordre 2 en temps
• Ce schéma est inconditionnellement instable
( )
− ∆ + ∆ −
= cos(2 ) 1
) 4 sin(
ˆ 1 CFL2 k x
x k jCFL
A
x
x f f
x f f
t U
x f t f
U f
f
n i n
i n
i n
n i
i n
n i i n
i
∆ ∆
− −
∆
∆ −
∆ +
∆ −
−
=
− +
− + +
2
2 2
2 2
2 2 2
2 0 1
1 0
1
Exemple 3 - suite
• Centré ordre 2 en espace
• Runge-Kutta d’ordre 2 en temps
• Ce schéma est inconditionnellement instable
∑
== 3 ∆
0 !
ˆ ˆ
k
k k
k K A t
( )
x x jU k
e f
e f
K K
i i
n jkx n jkx
∆
− ∆
× =
= × sin( )
ˆ ˆ ˆ
( )
0x U f
f
K ∂
− ∂
= 0
Simulation numérique avancée - MI4 30
Exemple 4
• Centré ordre 2 en espace
• Runge-Kutta d’ordre 3 en temps
• Ce schéma est conditionnellement stable 73
. 1 ,
ˆ ≤1 ∀k ⇔ CFL ≤ A
8 .
=1 CFL
∆
=
∑
= 3
0 !
ˆ ˆ
k
k k
k K A t
x x jU k
K ∆
− ∆
= sin( )
ˆ 0
Exemple 5
• Diffusion pure:
• Schéma centré ordre 2 en espace
• Euler explicite en temps
2 2
x D f
t f
∂
= ∂
∂
∂
2
1
1 1 2
x
f f
tD f f
f
n i n
i n
n i i n
i ∆
+
∆ − +
= + −
+
Simulation numérique avancée - MI4 32
Exemple 5 - suite
• Pour une perturbation du type
• Ce schéma est conditionnellement stable. Sa stabilité dépend du nombre de Fourier :
(
cos( ) 1)
1 2 ˆ
2 ∆ −
∆ + ∆
= k x
x A tD
jkxi
n n
i
f e
f = ˆ ×
5 . 0 ,
ˆ 1
2 ≤
∆
= ∆
⇔
∀
≤ x
F tD k
A o
Fo