Sunteți pe pagina 1din 38

Approximations aux

différences finies
A la fin du chapitre, l’étudiant doit être capable de:
1. Etablir une formule aux différences finies pour des dérivées
2. Calculer l’ordre de convergence d’une approximation
3. Calculer la vitesse de propagation effective d’un schéma de
discrétisation de l’équation de convection-diffusion 1D
4. Comprendre le lien entre ordre et vitesse de propagation effective

Calcul scientifique - MI3 Différences finies 1


Différences finies
• L’idée est de remplacer les dérivées partielles
aux points de maillage par des
développement de Taylor

xi 3 xi  2 xi 1 xi xi 1 xi  2 x

x
i  3 i  2 i 1 i i 1 i  2
• Plutôt que de chercher f(x), on cherche les
valeurs de f aux nœuds du maillage, soit
fi=f(xi)
Calcul scientifique - MI3 Différences finies 2
Dérivées premières
• Développement de Taylor au nœud i:

x
i  3 i  2 i 1 i i 1 i  2


f i 1  f i  xi 1  xi  df

 xi 1  xi 
2
d2 f

 O  xi 1  xi 
3

dx xi 2 dx 2 xi

f i 1  f i   xi 1  xi 
df

 xi 1  xi 
2
d2 f

 O  xi 1  xi 
3

dx xi 2 dx 2 xi

• Ces développements font apparaître les dérivées de f


au nœud i uniquement

Calcul scientifique - MI3 Différences finies 3


Dérivées premières
• Si les nœuds sont régulièrement espacés
x

x
i  3 i  2 i 1 i i 1 i  2

x 2 d 2 f
f i 1  f i  x
df
dx

2 dx 2
 
 O x 3
xi xi

x 2 d 2 f
f i 1  f i  x
df
dx

2 dx 2
 
 O x 3
xi xi

f i 1  f i 1  0  2x
df
dx
 
 0  O x 3
xi

Calcul scientifique - MI3 Différences finies 4


Dérivées premières
• Si les nœuds sont régulièrement espacés, la dérivée
de f au nœud i est approximée par

df f i 1  f i 1
  O(x )
2

dx xi 2x
• Erreur d’approximation est O(∆𝑥 2 )
• Schéma centré d’ordre 2

• NOTATION: O(𝑋) signifie « de l’ordre de X »

Calcul scientifique - MI3 Différences finies 5


Ordres plus élevés
• Maillage régulier

• En conservant plus de termes dans les


développements on obtient les schémas à l’ordre 4
et 6 suivants

df  f i  2  8 f i 1  8 f i 1  f i  2
  O(x 4 )
dx xi 12x
df f i 3  9 f i  2  45 f i 1  45 f i 1  9 f i  2  f i 3
  O(x 6 )
dx xi 60x
Calcul scientifique - MI3 Différences finies 6
Formules décentrées
df f i 1  f i
•   O(x) ordre 1 aval
dx xi x
df f i  f i 1
•   O(x) ordre 1 amont
dx xi x

df  f i  2  4 f i 1  3 f i
•   O(x 2 ) ordre 2 aval
dx xi 2x

• ordre 2 amont

Calcul scientifique - MI3 Différences finies 7


Comparaison des schémas
• Problème modèle 1D: Eq. de convection
f f
U0  0,  2 m  x  8 m, U 0  1 m/s
t x

• Conditions limites et initiale:


f ( x,0)  exp x / 4a , a  0.2 m
2 2
f (2, t )  f (8, t )  0

t  0s t  5s

Calcul scientifique - MI3 Différences finies 8


Exemple de résolution analytique
• Equation de convection diffusion 1D dans un
domaine infini
lim f ( x, t )  0 f ( x,0)  f 0 ( x)
x  

U0
f ( x, t ) ?
f f 2 f
U0 D 2
t x x
Calcul scientifique - MI3 Différences finies 9
Exemple de résolution analytique
• Si la concentration est initialement de la
forme f ( x,0)  f ( x)  f exp x / 4a  on peut
0 0
2 2

obtenir la solution analytique …

f ( x, t )  C0
a 2

 
 x  U 0t 
2


a  Dt
2
exp
 4 a 2
 Dt   

Calcul scientifique - MI3 Différences finies 10


Exemple de résolution analytique
U0  a
• Effet de la diffusion Re 
D

Re   Re  200

Re  20 Re  2

Calcul scientifique - MI3 Différences finies 11


Test numérique
df i
• Équation semi-discrète  U 0 f i '( num )  0, i
dt

f i 3 fi2 f i 1 fi f i 1 fi2 x

x
i  3 i  2 i 1 i i 1 i  2

• On calcule les fi entre t=0 et t=5 s à partir des


deux schémas
df i f i  f i 1 df i f i 1  f i 1
U0 0  U0 0
dt x dt 2x
amont
Calcul scientifique - MI3 ordre 1 Différences finies centré ordre 2 12
Test numérique
400 noeuds 200 noeuds 100 noeuds

amont
ordre 1

centré
ordre 2

Calcul scientifique - MI3 Différences finies 13


Ordre 2 centré / Ordre 1 amont
• Ordre 1 introduit de la diffusion … (cf solution
analytique avec Re=2)

• Ordre 2 centré « exact » avec 400 points

• Ordre 2 centré déforme le signal si le nombre


de points est plus petit

• Ordre 2 meilleur que ordre 1

Calcul scientifique - MI3 Différences finies 14


Test numérique
400 noeuds 200 noeuds 100 noeuds

aval
ordre 1

centré
ordre 2

Calcul scientifique - MI3 Différences finies 15


Ordre 2 centré / Ordre 1 aval
• Ordre 1 aval ne permet pas d’obtenir de
solution « acceptable » à t=5

• L’amplitude obtenue est très grande

• Le signal n’est pas la forme d’une Gaussienne

Calcul scientifique - MI3 Différences finies 16


Test numérique
400 noeuds 200 noeuds 100 noeuds

centré
ordre 4

centré
ordre 2

Calcul scientifique - MI3 Différences finies 17


Ordre 2 centré / Ordre 4 centré

• Ordre 4 « exact » dans tous les cas considérés


ici

• Ordre 2 centré « exact » avec 400 points

• Ordre 4 meilleur que ordre 2

Calcul scientifique - MI3 Différences finies 18


Test numérique
400 noeuds 200 noeuds 100 noeuds

amont
ordre 2

centré
ordre 2

Calcul scientifique - MI3 Différences finies 19


Ordre 2 centré / Ordre 2 amont
• Ordre 2 centré et amont « exacts » avec 400 points

• Ordre 2 centré et amont déforment le signal si le


nombre de points est plus petit, mais pas de la
même manière

• Ordre 2 amont amortit plus le signal

• L’ordre ne dit pas tout sur un schéma …

Calcul scientifique - MI3 Différences finies 20


Analyse spectrale
• Cas d’une fonction harmonique
f ( x)  Reexp( jkx)   Re jk exp( jkx)
df
dx
• Schéma centré d’ordre 2
f i 1  f i 1
f i  Reexp( jkix),
df

dx xi 2x

df  sin( kx) 
 Re  jk exp( jkix)
dx xi  kx 

df sin( kx)
• L’erreur numérique commise revient à multiplier par kx
dx
• … ou la vitesse U0 par la même quantité !!!
Calcul scientifique - MI3 Différences finies 21
Signification de kx
• Sinusoïde de période L décrite avec N points

• x = L / N, k = 2p/L donc kx = 2p / N

kx  0 p p
kx  kx  kx  p
4 2
N  N 2
(exact) N 8 N 4
Calcul scientifique - MI3 Différences finies 22
Analyse spectrale
• Tout se passe comme si on résolvait l’équation
f sin( kx) f
U0 0
t kx x
• Les différentes longueurs d’onde ne se déplacent pas
à la même vitesse

centré exact
ordre 2

Calcul scientifique - MI3 Différences finies 23


Analyse spectrale
f f
• Équation effective  U 0 E (kx)  0
t x

ReE (kx) ImE (kx)


SCHEMA

Centré sin( kx)


ordre 2 0
kx
Amont sin( kx) cos(kx)  1
ordre 1
kx kx
Amont sin( kx)  cos(2kx)  4 cos(kx)  3
ordre 2 2  cos(kx) 2kx
kx
sin( kx)
4  cos(kx) 
Centré
ordre 4 0
Calcul scientifique - MI3
3kx Différences finies 24
Analyse spectrale

Calcul scientifique - MI3 Différences finies 25


Lien avec l’ordre du schéma
• Dans la limite 𝑘∆𝑥 → 0, la vitesse de propagation effective
tend vers U0

• La vitesse avec laquelle l’erreur tend vers zéro lorsque


𝑘∆𝑥 → 0 dépend de l’ordre n du schéma et on montre que:

𝐸 𝑘∆𝑥 = 1 + 𝑂 ∆𝑥 𝑛

• Les schémas centrés sont non dissipatifs: Im 𝐸 𝑘∆𝑥 =0

• si U0>0, les schémas stables sont tels que: Im 𝐸 𝑘∆𝑥 ≤0

Calcul scientifique - MI3 Différences finies 26


Dispersion
• La vitesse de propagation effective n’est égale à la vitesse
théorique que dans la limite 𝑘∆𝑥 → 0

• Une perturbation peut donc être propagée trop lentement ou


trop vite

• Les fonctions e jk x et e , k  k ' ne sont pas propagées à la


jk ' x

même vitesse en général

• Que se passe-t-il lorsque l’on convecte f (x) ?

Calcul scientifique - MI3 Différences finies 27


Déformation du signal
• On peut décomposer cette fonction comme une somme de
fonctions harmoniques (en rendant f périodique éventuellement)
f ( x)   fˆk e jkx
• La solution théorique après t secondes de simulation est

f ( x  U 0t )   ˆf e jk ( x U 0t )
k
jk x jk ( x  E ( kx )U 0t )
• Numériquement le mode e devient e

• La solution numérique est donc

g ( x  U 0t )   fˆk e jk (1 E ( kx ))U 0t e jk ( x U 0t )  f ( x  U 0t )


 
gˆ k  fˆk
Calcul scientifique - MI3 Différences finies 28
Dérivées secondes
• Maillage régulier

d2 f d  df 
• On utilise le fait que dx 2 
xi
dx  dx  xi

• En appliquant l’opérateur 2 fois le schéma centré d’ordre 2:

2
d f f '
f '
 i 1 i 1
 O(x 2 )
dx 2 xi
2x
d2 f f i  2  2 f i  f i 2
  O ( x 2
)
dx 2 xi
4x 2

Calcul scientifique - MI3 Différences finies 29


Problème de localité
• Si les nœuds sont régulièrement espacés
x

x
i  3 i  2 i 1 i i 1 i  2

d2 f f i  2  2 f i  f i 2

dx 2 xi
4x 2

x
La dérivée seconde approximée de cette fonction
est nulle !!
Calcul scientifique - MI3 Différences finies 30
Dérivées secondes
• Déduire la dérivée seconde des développements de Taylor

x
i  3 i  2 i 1 i i 1 i  2

x 2 d 2 f x 3 d 3 f
f i 1  f i  x
df
dx

2 dx 2

6 dx 3
 
 O x 4
xi xi xi

x 2 d 2 f x 3 d 3 f
f i 1  f i  x
df
dx

2 dx 2

6 dx 3
 
 O x 4
xi xi xi

d2 f f i 1  2 f i  f i 1
  O(x )
2

dx 2 xi
x 2

Calcul scientifique - MI3 Différences finies 31


Problème de localité
• Si les nœuds sont régulièrement espacés
x

x
i  3 i  2 i 1 i i 1 i  2
d2 f f i 1  2 f i  f i 1

dx 2 xi
x 2

x
La dérivée seconde approximée de cette fonction
est non nulle, mais pas infinie …
Calcul scientifique - MI3 Différences finies 32
Analyse spectrale
• Cas d’une fonction harmonique

f ( x)  Reexp( jkx) 
d2 f
dx 2
 Re  k 2

exp( jkx) 
• Schéma centré d’ordre 2 à 2

d2 f f i 1  2 f i  f i 1
f i  Reexp( jkix), 
dx 2 xi
x 2

d2 f  cos(kx)  1 
 Re 2 exp( jkix ) 
dx 2 xi  x 2
d2 f 1  cos(kx)
• L’erreur numérique commise revient à multiplier par 2
dx 2 k 2 x 2
• … ou la viscosité a par la même quantité !!

Calcul scientifique - MI3 Différences finies 33


Analyse spectrale
• Schéma centré d’ordre 2 à 4

d2 f f i  2  2 f i  f i 2
f i  Reexp( jkix), 
dx 2 xi
4x 2

d2 f  1 cos(2kx)  1 
 Re  exp( jkix ) 
dx 2 xi 2 x 2

d2 f 1  cos(2kx)
• L’erreur numérique commise revient à multiplier par
dx 2 2k 2 x 2

Calcul scientifique - MI3 Différences finies 34


Analyse spectrale
• Les erreurs sont réelles uniquement, donc pas de convection
numérique

2

4

Calcul scientifique - MI3 Différences finies 35


Retour sur le schéma amont ordre 1
• Rappel: ce schéma introduit beaucoup de dissipation
par comparaison avec le centré d’ordre 2

f i  f i 1 f i 1  f i 1 x f i 1  2 f i  f i 1
• En effet:  
x 2x 2 x 2
• Utiliser ce schéma revient donc à résoudre

f f U 0 x  2 f
U0 
t x 2 x 2
D
avec un schéma centré d’ordre 2
Calcul scientifique - MI3 Différences finies 36
Laplacien
x
j2
y
j 1
j

j 1

j2

x
i  3 i  2 i 1 i i 1 i  2

f i 1, j  2 f i , j  f i 1, j f i , j 1  2 f i , j  f i , j 1
f    O(x 2 , y 2 )
xi
x 2 y 2
Calcul scientifique - MI3 Différences finies 37
Réalisations sous Matlab
1. Créer un programme qui trace une fonction analytique et sa dérivée
analytique
2. Créer une fonction qui calcule par différences finies (DF) la dérivée d’une
fonction f sur maillage uniforme.
3. Pour différentes fonctions f, tracer sur le même graphe la dérivée analytique
de f et la dérivée issue d’une formule aux DF
4. Vérification de l’ordre de convergence :
1. En vérifiant que l’écart entre DF et analytique est « nul » pour une
fonction polynomiale bien choisie
2. En traçant l’évolution de l’écart entre DF et analytique pour différentes
valeurs de dx pour une fonction non polynomiale
5. Vérifier numériquement les expressions théoriques des fonctions erreurs
issues de l’analyse spectrale. On utilisera pour cela des formules aux
différences finies de type périodique sur un domaine de longueur 2p/k
appliquées à la fonction test sin kx.

Calcul scientifique - MI3 Différences finies 38

S-ar putea să vă placă și