Vous êtes sur la page 1sur 29

Cours de

Méthode des Différences Finies


MDF
2019-2020
(Volume horaire du cours = 9 H)
Parcours: Mécanique Energétique
Semestre: 6
Filière: Sciences de la Matière Physique (SMP)
Département de Physique
Faculté des Sciences Ben M’Sick
Université Hassan II de Casablanca
Pr: Hassane LAHMAM
Laboratoire de recherche: LIMAT
1

Plan général du cours

Introduction

 I Rappels mathématiques

 II Principe de la MDF
 III Application à des ED de type 1D

 IV Application à des EDP de type 2D

 V Application à des EDP de type 3D

 VI Application à des EDP de type spatio-temporelles


2
Introduction

Les Equations Différentielles Ordinaires (EDO) ou


Equations aux Dérivées Partielles (EDP) qui
modélisent le comportement des phénomènes
physiques sont généralement non linéaires.
Les conditions aux limites imposées sur la frontière
du domaine d’étude sont classées en trois catégories:
 CL de type Dirichlet
 CL de type Neumann
 CL de type mixte:
Les méthodes numériques permettent d’avoir des
solutions approchées des équations différentielles
lorsque la résolution analytique s’avère difficile.
3

Quelques exemples de méthodes numériques


pour la résolution des EDO ou EDP

M-E-F M-D-F M-V-F M-N-R Autres..


4
 Rappels mathématiques sur le développement
en série de Taylor

.1 Série de Taylor dans le cas unidimensionnel:1D


N
hn (n ) N
h n
f(xo h)  f ( xo)   f ( xo)  O(h N1 )   f ( n ) ( xo)  O(h N1 )
n 1 n! n  0 n!

est la dérivée nième de f


 au point xo

n!  est la factorielle de n

N  de troncature de la série.
est l’ordre du développement limité ou ordre

O(h N1 )  est le reste ou erreur de l’approximation .


5

Cas particulier:
Si le développement de Taylor est effectué au
point x = 0, la série est dite de Maclaurin.
N
xn ( n )
f(x )  f (0)   f (0)  O( x N 1 )
n 1 n!

N
xn (n )
  f (0)  O( x N 1 )
n  o n!
6

Autres écritures du développement de Taylor :

Pour le premier voisinage de la position x on écrit aussi:


N
f(xo h )  f ( xo)  
h n f ( n ) ( x)  O(h N 1 ) ;   1
o
n 1 n!
Pour le deuxième voisinage de la position x on a:
N
f(xo 2h )  f ( xo)  
2h  f (n ) ( x)  O(h N1 )
n

;   1
o
n 1 n!
7

.2 Série de Taylor dans le cas bidimensionnel : 2D

N n
1 n  r r  f ( x, y )
n 
f(xo h, yo  k )  f ( xo, yo)   h k r 
n 1 r  o (n  r )! r!
n r
x y 
(x o,y o)
 O(h N 1 , k N 1 )
N
1 n
 n
f ( x, y ) 
 f(xo h, yo  k )   nr r
h k r 
n  0 r  0 (n  r )! r!
n r
x y 
(x o,y o)
N 1 N 1
 O(h ,k )
8

Ecriture explicite dans le cas N=2

f ( x , y )  f ( x , y ) 
f( xo h, yo  k )  f ( xo, yo)  h  k 
x  y 
(x o,y o) (x o,y o)
1 2  2 f ( x, y )   2f ( x, y )  1 2  2f ( x, y ) 
 h   hk  k 
x xy  2! y
2 2
2!  
(x o,y o) (x o,y o) (x o,y o)
 O( h , k )
3 3

f( xo h, yo k )  f ( xo, yo)  hf ,x ( xo, yo)  kf,y ( xo, yo)


1 2 1 2
 h f ,xx ( xo, yo)  hkf,xy ( xo, yo)  k f ,yy ( xo, yo)
2! 2!
 O(h 3 , k 3 )
9

.3 Série de Taylor dans le cas tridimensionnel : 3D

Cas N=2

o o o o o o
ooo

o o o
10

 Principe de la MDF

Objectif de la MDF :
Approximation de la solution d’une EDO ou EDP
(idem pour un système d’EDO ou d’EDP) par une
solution numérique calculée en certains points,
appelés nœuds, du domaine discret modélisant
le domaine continu.
11

.1 Approximation de la dérivée totale première


On considère les développements de Taylor
suivants:
h (1) h 2 ( 2)
f(x o h)  f ( xo)  f ( xo)  f ( xo)  O(h 3 )
1! 2!
h (1) h 2 ( 2)
f(xo h)  f ( xo)  f ( xo)  f ( xo)  O(h 3 )
1! 2!
12
.1-a Approximation par la différence gauche
(ou schéma décentré à gauche)
f ( x)  f(x  h)
f (1 ) ( x )   O(h)
h
.1-b Approximation centrée (ou schéma centré)

f ( x  h)  f(x  h)
f (1) ( x )   O(h 2 )
2h
.1-c Approximation par la différence droite
(ou schéma décentré à droite)

f ( x  h )  f(x )
f (1 ) ( x )   O(h)
h
13

.2 Approximation de la dérivée totale seconde

On considère la somme:
h 2 ( 2)
f(xo h )  f(xo  h )  2f ( xo)  2 f ( xo)  O(h 4 )
2!
d’où

f ( xo h)  2f ( xo)  f(xo h)


f ( 2) ( x) 
o  O(h 2 )
h2
14

.3 Approximation de la dérivée partielle première


.3-a Approximation à l’ordre deux
1 2 1 2
f( xo h, yo k )  f ( xo, yo)  hf 'x  kf'y  h f'xx  hkf 'xy  k f'yy
2! 2!
1 3 1 2 1 2 1 3
 h f'xxx  h kf'xxy  hk f'xyy  k f'yyy
3! 2! 2! 3!
 O(h4 , k 4 ) ; (1)
1 2 1 2
f( xo h, yo  k )  f ( xo, yo)  hf 'x  kf'y  h f'xx  hkf 'xy  k f'yy
2! 2!
1 3 1 2 1 2 1 3
 h f'xxx  h kf'xxy  hk f'xyy  k f'yyy
3! 2! 2! 3!
 O(h4 , k 4 ) ; (2)
15
La différence (1)-(2) donne:
 
f( xo  h, yo  k )  f( xo h, yo  k )  2 hf 'x  kf'y 
1 3 1 2 1 2 1 3 
 2 h f'xxx  h kf'xxy  hk f'xyy  k f'yyy 
6 2 2 6 
 O(h4 , k 4 )

Si k=0, on obtient l’approximation centrée suivante:

f ( x  h, y )  f(x  h, y )
f'x ( x, y )   O(h2 )
2h
De même, si h=0, on obtient :
f ( x, y  k )  f(x, y  k )
f 'y ( x , y )   O(k )
2

2k
16

.3-b Approximation à l’ordre quatre


On considère les développements suivants:
1 2 1 3 1 4
f( xo h, y )  f ( x, y )  hf 'x  h f'xx  h f'xxx  h f'xxxx  O(h5 ) ; (1)
o o o 2! 3! 4!
1 2 1 3 1 4
f( xo h, yo)  f ( xo, yo)  hf 'x  h f'xx  h f'xxx  h f'xxxx  O(h5 ) ; (2)
2! 3! 4!
4 2 8 3 16 4
f( xo 2h, yo)  f ( xo, yo)  2hf'x  h f'xx  h f'xxx  h f'xxxx  O(h5 ) ; (3)
2! 3! 4!
4 2 8 3 16 4
f( xo 2h, yo)  f ( xo, yo)  2hf 'x  h f'xx  h f'xxx  h f'xxxx  O(h5 ) ; (4)
2! 3! 4!
17
1 2 1 3 1 4
f( xo h, yo)  f (xo, yo)  hf'x  h f'xx  h f'xxx  h f'xxxx  O(h5 ) ; (1)
2 6 24
1 2 1 3 1 4
f( xo h, yo)  f (xo, yo)  hf'x  h f'xx  h f'xxx  h f'xxxx  O(h5 ) ; (2)
2 6 24
8 3 16 4
f( xo 2h, yo)  f (xo, yo)  2hf'x  2h2f'xx  h f'xxx  h f'xxxx  O(h5 ) ; (3)
6 24
8 3 16 4
f( xo 2h, yo)  f (xo, yo)  2hf'x  2h f'xx  h f'xxx  h f'xxxx  O(h5 ) ; (4)
2
6 24
La combinaison 8(1)- 8(2) - (3)+(4) donne:
8f ( x  h, y )  8f ( x  h, y )  f(x  2h, y )  f(x  2h, y )
f 'x ( x , y )   O(h 4 )
24h
Un raisonnement analogue permet d’avoir:
8f ( x, y  k )  8f ( x, y  k )  f(x, y  2k )  f(x, y  2k )
f 'y ( x , y )   O( k 4 )
24k
18

.4 Approximation de la dérivée partielle deuxième


.4-a Approximation à l’ordre deux
On considère les développements suivants:
1 2 1 3
f( xo h, y )  f ( xo, yo)  hf 'x  h f'xx  h f'xxx  O(h4 ) ; (1)
o 2! 3!
1 2 1 3
f( xo h, y )  f ( x, y )  hf 'x  h f'xx  h f'xxx  O(h4 ) ; (2)
o o o 2! 3!
1 2 1 3
f( xo, yo  k )  f ( xo, yo)  kf'y  k f'yy  k f'yyy  O(k 4 ) ; (3)
2! 3!
1 2 1 3
f( xo, yo  k )  f ( xo, yo)  kf'y  k f'yy  k f'yyy  O(k 4 ) ; (4)
2! 3!
19

La combinaison (1)+(2) donne:


f ( x  h, y )  2f ( x, y )  f(x  h, y )
f'xx ( x, y )   O(h2 )
h2
De même, La combinaison (3)+(4) donne:
f ( x, y  k )  2f ( x, y )  f(x, y  k )
f'yy ( x, y )   O(k 2 )
k2
.4-b Approximation à l’ordre quatre
On considère les développements suivants:
20

1 2 1 3 1 4
f( xo  h, yo)  f ( xo, y )  hf 'x  h f'xx  h f'xxx  h f'xxxx  O(h5 ) ; (1)
o 2 6 24
1 1 1
f( xo h, y )  f ( xo, y )  hf 'x  h 2f'xx  h 3f'xxx  h4f'xxxx  O(h5 ) ; (2)
o o 2 6 24

8 3 16 4
f( xo 2h, yo)  f ( xo, y )  2hf 'x  2h 2f'xx  h f'xxx  h f'xxxx  O(h5 ) ; (3)
o 6 24

8 16
f( xo 2h, y )  f ( xo, y )  2hf 'x  2h 2f'xx  h 3f'xxx  h4f'xxxx  O(h5 ) ; (4)
o o 6 24

La combinaison 16(1)+16(2)-(3)-(4) donne:


 f ( x  2h, y )  16f ( x  h, y )  30f(x, y )  16f (x  h, y )  f ( x  2h, y )
f'xx 
12h2
 O(h4 )
21
.4-c Approximation à l’ordre deux de la
dérivée partielle seconde f,xy .
1 2 1 2
f( xo h, yo  k )  f ( xo, yo)  hf'x  kf'y  h f'xx  hkf 'xy  k f'yy
2! 2!
 O(h3 , k 3 ) ; (1)
1 2 1 2
f( xo h, yo  k )  f ( xo, yo)  hf 'x  kf'y  h f'xx  hkf 'xy  k f'yy
2! 2!
 O(h 3 , k 3 ) ; (2)

1 2 1 2
f( xo h, yo  k )  f ( xo, yo)  hf 'x  kf'y  h f'xx  hkf 'xy  k f'yy
2! 2!
 O(h , k )
3 3 ; (3)

1 2 1 2
f( xo h, yo k )  f ( xo, yo)  hf'x  kf'y  h f'xx  hkf'xy  k f'yy  O(h 3 , k 3 ) ; (4)
2! 2!
22

La combinaison (1)+(2)-(3)+(4) donne:

f'xy 
f ( x  h, y  k )  f ( x  h, y  k )  f(x  h, y - k )  f ( x  h, y  k )
4hk
 O(h 2 , k 2 )

f'xy 
f ( x  h, y  k )  f(x  h, y - k )  f ( x  h, y  k )  f ( x  h, y  k )
4hk
 O(h 2 , k 2 )

.5 Approximation de la dérivée partielle troisième


par rapport à la variable x.
.5-a Approximation à l’ordre deux
On considère les développements suivants:
23

1 2 1 3 1 4
f( xo h, y )o f ( xo, yo)  hf'x  h f'xx  h f'xxx  h f'xxx
2! 3! 4!
 O(h5 ) ; (1)
1 2 1 3 1 4
f( xo h, yo)  f ( xo, yo)  hf 'x  h f'xx  h f'xxx  h f'xxx
2! 3! 4!
 O(h5 ) ; (2)

1 2 1 3 1
f( xo 2h, y )  f ( xo, yo)  2hf 'x  4h f'xx  8h f'xxx  16h4f'xxx
o 2! 3! 4!
 O(h5 ) ; (3)

1 2 1 3 1
f( xo 2h, yo)  f ( xo, yo)  2hf 'x  4h f'xx  8h f'xxx  16h4f'xxx
2! 3! 4!
 O(h5 ) ; (4)
24

La combinaison 2(1)-2(2)-(3)+(4) donne


l’approximation centrée suivante:
 f ( x  2h, y )  2f ( x  h, y )  2f(x  h, y )  f ( x  2h, y )
f'xxx 
2h3
 O(h2 )

.5-b Approximation à l’ordre quatre

On considère les développements suivants:


25
h2 h3 h4
f( x  h, y )  f ( x, y )  hf 'x  f'xx  f'xxx  f'xxxx
o o o o 2! 3! 4!
h5 h6
 f'xxxxx  f'xxxxxx  O(h 7 ) ; (1)
5! 6!
h2 h3 h4
f( x  h, y )  f ( x, y )  hf 'x  f'xx  f'xxx  f'xxxx
o o o o 2! 3! 4!
h5 h6
 f'xxxxx  f'xxxxxx  O(h 7 ) ; (2)
5! 6!

4h 2 8h 3 16h4
f( xo 2h, yo)  f ( xo, yo)  2hf 'x  f'xx  f'xxx  f'xxxx
2! 3! 4!
32h5 64h6
 f'xxxxx  f'xxxxxx  O(h7 ) ; (3)
5! 6!
4h 2 8h 3 16h4
f( xo 2h, y )  f ( xo, yo)  2hf 'x  f'xx  f'xxx  f'xxxx
o 2! 3! 4!
32h 5 64h 6
 f'xxxxx  f'xxxxxx  O(h7 ) ; (4)
5! 6!
26

9h 2 27h 3 81h4
f( xo 3h, yo)  f ( xo, yo)  3hf 'x  f'xx  f'xxx  f'xxxx
2! 3! 4!
243h 5 729h 6
 f'xxxxx  f'xxxxxx  O(h7 ) ; (5)
5! 6!
9h 2 27h 3 81h4
f( xo 3h, y )  f ( x, y )  3hf 'x  f'xx  f'xxx  f'xxxx
o o o 2! 3! 4!
243h 5 729h 6
 f'xxxxx  f'xxxxxx  O(h7 ) ; (6)
5! 6!

La combinaison 13(1)-13(2)-8(3)+8(4)+(5)-(6)
donne l’approximation centrée suivante:
f ( x  3h, y )  8f ( x  2h, y )  13f(x  h, y )  13f ( x  h, y )  8f ( x  2h, y )  f ( x  3h, y )
f'xxx 
8 h3
 O(h 4 )
27

.6 Approximation à l’ordre quatre de la dérivée


partielle quatrième par rapport à la variable x.
On considère les développements suivants:
h2 h3 h4 h5
f( xo h, y )  f ( xo, yo)  hf 'x  f'xx  f'xxx  f'xxxx  f'xxxxx
o 2! 3! 4! 5!
h6
 f'xxxxxx  O(h 6 ) ; (1)
6!
h2 h3 h4 h5
f( xo h, yo)  f ( xo, yo)  hf 'x  f'xx  f'xxx  f'xxxx  f'xxxxx
2! 3! 4! 5!
h6
 f'xxxxxx O(h 6 ) ; (2)
6!
28

4h 2 8h 3 16h4
f( xo 2h, y )  f ( x, y )  2hf 'x  f'xx  f'xxx  f'xxxx
o o o 2! 3! 4!
32h 5 64h 6
 f'xxxxx  f'xxxxxx  O(h6 ) ; (3)
5! 6!
4h 2 8h 3 16h 4
f( xo 2h, y )  f ( xo, yo)  2hf 'x  f'xx  f'xxx  f'xxxx
o 2! 3! 4!
32h 5 64h 6
 f'xxxxx  f'xxxxxx  O(h 6 ) ; (4)
5! 6!

La combinaison 4(1)+4(2)-(3)-(4) donne


l’approximation centrée suivante:
f ( x  2h, y )  4f(x  h, y )  6f ( x, y )  4f ( x  h, y )  f ( x  2h, y )
f'xxxx 
h4
 O(h4 )