Vous êtes sur la page 1sur 11

Méthodes Numériques EDOs-EDPs (L3)

Dr. Nasreddine AMROUNE

Université Mohamed Boudiaf M’sila

March 26, 2020


Contents

1 Rappels sur les différents théorèmes d’existence 2


1.1 Théorème de Cauchy-Lipschitz . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Différences finies 3
2.1 Principe-ordre de précision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Notation indicielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3 Exemple simple 1D avec condition de type Dirichlet . . . . . . . . . . . . . . . . 3
2.4 Exemple simple 1D avec condition de type Dirichlet-Neumann . . . . . . . . . . 3

3 Différences finies pour EDPs 4


3.1 Introduction à la méthode des différences finies . . . . . . . . . . . . . . . . . . 4
3.2 Schéma d’ordre supérieur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.3 Discrétisation de l’équation de la chaleur 1D . . . . . . . . . . . . . . . . . . . . 4
3.4 Schéma d’Euler explicite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.5 Schéma d’Euler implicite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.6 Schéma Crank-Nicolson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.6.1 Schéma de Crank-Nicolson pour le problème de la chaleur . . . . . . . . 4
3.6.2 Généralité d’un schéma pour l’équation de la chaleur . . . . . . . . . . . 6
3.7 Discrétisation de l’équation de Laplace 2D: cas stationnaire . . . . . . . . . . . . 7

1
Chapter 1

Rappels sur les différents théorèmes


d’existence

1.1 Théorème de Cauchy-Lipschitz

2
Chapter 2

Différences finies

2.1 Principe-ordre de précision


2.2 Notation indicielle
2.3 Exemple simple 1D avec condition de type Dirichlet
2.4 Exemple simple 1D avec condition de type Dirichlet-
Neumann

3
Chapter 3

Différences finies pour EDPs

3.1 Introduction à la méthode des différences finies


3.2 Schéma d’ordre supérieur
3.3 Discrétisation de l’équation de la chaleur 1D
3.4 Schéma d’Euler explicite
3.5 Schéma d’Euler implicite
3.6 Schéma Crank-Nicolson
En 1947, la mathématicienne Phyllis Nicolson (1917-1968) et le physicien John Crank (1916-
2006) ont développé la méthode de Crank-Nicolson qui sert a résoudre l’équation de la chaleur
(plus précisément, système d’EDPs). Cette méthode utilise les différences finies pour approcher
une solution du problème, elle est numériquement stable. Son efficacité et sa simplicité ont fait
un outil courant dans les simulations numériques, pour résoudre des problèmes en mécanique
quantique, mécanique des fluides, électromagnétisme ...etc.

3.6.1 Schéma de Crank-Nicolson pour le problème de la chaleur


Considérons le problème suivant

∂ 2u

∂u

 = v 2 2 , x ∈]0, 1[, t > 0,
∂t ∂x

u(0, t) = u(1, t) = 0, t ≥ 0, (3.1)


u(x, 0) = f (x), x ∈ [0, 1].

Le schéma de Crank-Nicolson est donné par


 ! !
j+1 j 2 j j j j+1 j+1 j+1
 u i − u i v u i+1 − 2ui + u i−1 + u i+1 − 2ui + ui−1
= , 1 ≤ i ≤ n, j = 1, 2, ..............,


h2

 k 2


 uj0 = ujn+1 = 0, j = 0, 1, ....

u(x, 0) = f (x ) = f (ih) = f , 0 ≤ i ≤ n + 1.
i i
(3.2)

4
3.6. SCHÉMA CRANK-NICOLSON CHAPTER 3. DIFFÉRENCES FINIES POUR EDPS

v2k
En posant λ = , on trouve
h2
2(uj+1 − uji ) = λ uji+1 − 2uji + uji−1 + uj+1 j+1
+ uj+1

i i+1 − 2ui i−1

=⇒ −λuj+1 j+1
i−1 + (2 + 2λ)ui − λuj+1 j j j
i+1 = λui−1 + (2 + 2λ)ui + λui+1 .

Alors la forme matricielle est écrite comme suit


pour i = 1 −→ −λuj+1 0 + (2 + 2λ)uj+1 1 − λuj+1
2 = λuj0 + (2 − 2λ)uj1 + λuj2 ,
pour i = 2 −→ −λuj+1 1 +0
(2 + 2λ)uj+1
2 − λuj+1
3 = λuj1 +0
(2 − 2λ)uj2 + λuj3 ,
.
.
.
pour i = n −→ −λuj+1 n−1 + (2 + 2λ)un
j+1
− λuj+1 j j
n+1 = λun−1 + (2 − 2λ)un + λun+1 .
j

D’où le système matriciel est donné par 0 0


   j+1    j
2 + 2λ −λ ··· 0 u1 2 − 2λ λ ··· 0 u1
j+1 
 −λ 2 + 2λ −λ · · ·  u2   λ
   2 − 2λ λ · · ·   uj2 
 
 .. . . ..   ..  =  .. . . ..   .. 
 
 . . . . . .  .   . . . . . .  . 
j+1
0 ··· −λ 2 + 2λ un 0 ··· λ 2 − 2λ ujn

ou encoreon écrit sous la forme CW (j+1) (j)


 = DW  , où 
2 + 2λ −λ ··· 0 2 − 2λ λ ··· 0
 −λ 2 + 2λ −λ ···   λ 2 − 2λ λ ··· 
..  et W =
(j)
C =  .. . . ..  , D =  .. . .
   
 . . . . . .   . . . . . . 
0 ··· −λ 2 + 2λ 0 ··· λ 2 − 2λ
j j
t
u1 , u2 , · · · , ujn .
Exemple 1 Soit le problème

∂u ∂ 2u 1
= , x ∈]0, 2[, 0 < t < ,


∂x2

 ∂t
 4
1 (3.3)
u(0, t) = u(2, t) = 0, 0 ≤ t ≤ ,
 4
u(x, 0) = sin(x π ), x ∈ [0, 2].



2
1 1
En utilisant le schéma de Crank-Nicolson, calculer la solution approchée pour h = et k =
4 4
Solution 2 De h et k, il clair que n = 3, λ = 1. Puis d’après les conditions aux limites de
type Dirichlet homogène on a u00 = u10 = u04 = u14 = 0.
On sait que le système matriciel pour le schéma de Crank-Nicolson s’écrit sous la forme
CW (1) = DW (0) ,
où      0  1
4 −1 0 0 1 0 u1 u1
(0) (1)
     0
C = −1 4 −1 , D = 1 0 1 , W = u2 , W = u12 

0 −1 4 0 1 0 u03 u13
Et de la condition initiale on a
 π   √2 
 0 sin( )
u1  4   2 
π
W (0) = u02  =  sin( )  =  √1 
   
2
u03 3π   2 

sin( )
4 2
Resp. du module : Dr. N. Amroune 5 25/03/2020
3.6. SCHÉMA CRANK-NICOLSON CHAPTER 3. DIFFÉRENCES FINIES POUR EDPS

Alors
√ 
2 
1 1
4u1 − u2 = 1
   1  
4 −1 0 u1 0 1 0  2  

−1 4 −1 u12  = 1 0 1 
 √1  =⇒ −u11 + 4u12 − u13 = 2

0 −1 4 u13 0 1 0 2
  
 1
−u2 + 4u13 = 1
2
par la soustraction de la première équation et la troisième équation dans le système, on obtient
u11 = u13 . Donc ( √
4u11 − u12 = 1 1 2 2+1
√ =⇒ u2 =
−2u11 + 4u12 = 2 7
et √
4+ 2
u11 = u13 = .
14

3.6.2 Généralité d’un schéma pour l’équation de la chaleur


Il s’agit d’une généralisation des schémas précédents avec 0 ≤ θ ≤ 1. Ce schéma s’écrit sous la
forme suivante
! !
j+1 j+1 j+1 j j j
uj+1 − u j
u − 2u + u u − 2u + u
i i
= v 2 θ i+1 i i−1
+ (1 − θ) i+1 i i−1
, 1 ≤ i ≤ n, j = 1, 2, ...........
k h2 h2
(3.4)
2
v k
Posons λ = 2 , on obtient
h
uij+1 − uji = λ θ uj+1 j+1
+ uj+1 j j j
  
i−1 − 2ui i+1 + (1 − θ) ui−1 − 2ui + ui+1 .
Alors le schéma sous forme matricielle est donné par
(I + θλA) W (j+1) = (I − (1 − θ)λA) W (j) ,

1 0 ··· 0
   
2 −1 · · · 0
.
0 1 · · · .. 
−1 2 −1 · · · 
.  et I =  . .
j j
W (j) j t
= (u1 , u2 , · · · , un ) , A =  .. . . . . .
 .. . . . . . ... 
 
 . . . .. 
0 · · · −1 2 0 ··· 0 1
Cas particuliers :

• Si θ = 0 −→ Euler explicite.
• Si θ = 1 −→ Euler implicite.
• Si θ = 1
2
−→ Crank-Nicolson.

Exercice 3 On considère le problème suivant


∂ 2u

∂u

 = 4 2 − 10u + 11et + 10x, x ∈]0, 1[, t > 0,
∂t ∂x

u(0, t) = et , u(1, t) = et + 1, t ≥ 0, (3.5)


u(x, 0) = 1 + x, x ∈ [0, 1].

Où u = u(x, t).

Resp. du module : Dr. N. Amroune 6 25/03/2020


3.7. DISCRÉTISATION DE L’ÉQUATION
CHAPTER
DE LAPLACE
3. DIFFÉRENCES
2D: CAS STATIONNAIRE
FINIES POUR EDPS

1. Donner le schéma explicite pour h = 0.5 et k = 0.1.

2. Trouver la solution approchée du schéma pour x = 0.5 et t = 0.2.

3. Donner le schéma implicite pour h = 0.5 et k = 0.1.

4. Déterminer la solution approchée du schéma pour x = 0.5 et t = 0.2.

Soit u(x, t) = et + x une solution exacte de notre problème. Comparer les deux méthodes

3.7 Discrétisation de l’équation de Laplace 2D: cas station-


naire
Considérons le problème de Poisson avec conditions aux limites de type Dirichlet homogène sur
le pavé Ω = [0, a] × [0, b] ⊂ R2 (
−∆u = f sur Ω,
(3.6)
u = 0 sur ∂Ω,
où u = u(x, y) et f est une fonction régulière donnée dans Ω.

y
b u=0

u=0 −∆u = f u=0

u=0 a x
Le domaine Ω

Soient n, m ∈ N∗ . On définit le pas dans les deux directions comme suit :


a
h= , xi = ih, i = 0, 1, · · · , n + 1,
n+1
b
k= , yj = jk, j = 0, 1, · · · , m + 1.
m+1

h x
Le maillage de Ω

On écrit le schéma aux différences finies pour les dérivées partielles du second ordre par

∂ 2u uji−1 − 2uji + uji+1 ∂ 2 u uj−1


i − 2uji + uj+1
i
(x i , yj ) ' , (x i , yj ) ' .
∂x2 h2 ∂y 2 k2

Resp. du module : Dr. N. Amroune 7 25/03/2020


3.7. DISCRÉTISATION DE L’ÉQUATION
CHAPTER
DE LAPLACE
3. DIFFÉRENCES
2D: CAS STATIONNAIRE
FINIES POUR EDPS

Et les conditions aux bords de type de Dirichlet homogène


(
u(x, 0) = 0 = u0i , u(x, b) = 0 = um+1
i , pouri = 0, 1, · · · , n + 1,
u(0, y) = 0 = u0 , u(a, y) = 0 = un+1 , pourj = 0, 1, · · · , m + 1.
j j

Alors le schéma de différences finies pour le problème (3.6) est donné par
 j
−ui−1 + 2uji − uji+1 uij−1 − 2uji + uj+1
− i
= fi , 1 ≤ i ≤ n et 1 ≤ j ≤ m,


h2 k2

u0i = um (3.7)

 i + 1 = 0, 1 ≤ i ≤ n,
 j
u0 = un + 1j = 0, 1 ≤ j ≤ m.

D’où le système matriciel correspondant à (3.7) s’écrit sous la forme suivante

AU = F,

où A est une matrice tridiagonale par blocs de taille n × m donnée par

B C ··· 0
 
.
C B C .. 

A=. .
 .. . . . . . C

0 ··· C B

avec B et C sont deux matrices carrées dans le corps R représentons comme suit
2 −1  −1
+ k22 ··· ··· 0
 
h2 h2
0 k2
0
..  . 
.  · · · .. 
 −1 2 2 −1 −1
+ k2 h2  0 k2

B =  h.2 h2 , C =  . . .

 .. .. ..  .. .. ..
. . . 0

−1 
h2
−1
0 ··· h2
2
h2
+ k22 0 ··· 0 −1 k2

Et
U = (U1 , U2 , · · · , Uj , · · · , Un )t , F = (F1 , F2 , · · · , Fj , · · · , Fn )t ,
pour 1 ≤ j ≤ m on a

Uj = (uj1 , uj2 , · · · , ujn )t , Fj = (f1j , f2j , · · · , fnj )t .

Exemple 4 Dans cet exemple, on prend a = b = 1 et n = m = 3. Le schéma de différences


finies (3.7) est devient
 j j j j−1 j+1 2 j
4ui − ui−1 − ui+1 − ui − ui = h fi , 1 ≤ i, j ≤ 3,

u0i = uni + 1 = 0, 0 ≤ i ≤ 4, (3.8)
 j
 j
u0 = un + 1 = 0, 0 ≤ j ≤ 4.

Ainsi on écrit le système matriciel pour 1 ≤ i, j ≤ 3.


Fixons i = 1 :
pour j = 1 −→ 4u11 − u10 − u12 − u01 − u21 = h2 f11 ,
0 0
pour j = 2 −→ 4u21 − u20 − u22 − u11 − u31 = h2 f12 ,
0
pour j = 3 −→ 4u31 − u30 − u32 − −u21 − u41 = h2 f11 .
0 0

Resp. du module : Dr. N. Amroune 8 25/03/2020


3.7. DISCRÉTISATION DE L’ÉQUATION
CHAPTER
DE LAPLACE
3. DIFFÉRENCES
2D: CAS STATIONNAIRE
FINIES POUR EDPS

On fixe i = 2 :
pour j = 1 −→ 4u12 − u11 − u13 u02 − u22 = h2 f21 ,
0
pour j = 2 −→ 4u22 − u21 − u23 − u12 − u32 = h2 f22 ,
pour j = 3 −→ 4u32 − u2 − u31 − u33 − u22 − u42 = h2 f23 .
0
Pour i = 3 :
pour j = 1 −→ 4u13 − u12 − u14 − u03 − u23 = h2 f31 ,
0
pour j = 2 −→ 4u23 − u22 − u24 − u13 − u33 = h2 f32 ,
pour j = 3 −→ 4u33 − u32 − u34 − u23 − u43 = h2 f33 .
0 0
Alors le système matriciel s’écrit sous la forme suivante
   1  1
4 −1 0 −1 0 0 0 0 0 u1 f1
 −1 4 −1 0 −1 0 0 0 0  u21  f12 
   3  3
 0 −1 4 0 0 −1 0 0 0  u 1  f 1 
   1  1
 −1 0 0 4 −1 0 −1 0 0  u 2  f 2 
   2  
2  2
 0 −1 0 −1 4 −1 0 −1 0  u2  = h f2  ⇐⇒ AU = F.
  

 0 0 −1 0 −1 4 0 0 −1   3 f23 
  u21   1
 0
 0 0 −1 0 0 4 −1 0   u 3 
  f 
 3
2 f32 
 0 0 0 0 −1 0 −1 4 −1   u3
0 0 0 0 0 −1 0 −1 4 u33 f33

Où    
B C 0 4 −1 0
A = C B C  , B = −1 4 −1 et C = −I avec I la matrice identité de R3 .
0 C B 0 −1 4
Propriété de la matrice A :

• A est une matrice symétrique.

• A est tridiagonale par blocs.


n
X
• A à diagonale dominante stricte (i.e |aii | > |aij |).
i6=ji=1

Alors la matrice A est inversible.

Exemple 5 Soit Ω = [0, 1] × [0, 1] ⊂ R2 . On considère le problème suivant



2
uxx + uyy = x + y + 1, (x, y) ∈]0, 1[ ,

u(x, 0) = u(x, 1) = 0, x ∈ [0, 1], (3.9)

u(0, y) = u(1, y) = 0, y ∈ [0, 1].

où u = u(x, y).
Question:
1
Calculer la solution approchée pour h = k = .
3

Resp. du module : Dr. N. Amroune 9 25/03/2020


3.7. DISCRÉTISATION DE L’ÉQUATION
CHAPTER
DE LAPLACE
3. DIFFÉRENCES
2D: CAS STATIONNAIRE
FINIES POUR EDPS

Solution 6 Le schéma aux différences finies est donné par


1

j j j j−1 j+1
−4ui + ui−1 + ui+1 + ui + ui = 27 (i + j + 3), i, j = 1, 2,


u0i = u3i = 0, 0 ≤ i ≤ 3, (3.10)

 j
u0 = uj3 = 0, 0 ≤ j ≤ 3.

Donc on écrit le système matriciel comme suit


Fixons i = 1 :
5
pour j = 1 −→ −4u11 + u10 + u12 + u01 + u21 = ,
0 0 27
6
pour j = 2 −→ −4u21 + u20 + u22 + u11 + u31 = ,
0 0 27
Pour i = 2 :
6
pour j = 1 −→ −4u12 + u11 + u13 + u02 + u22 = ,
0 0 27
7
pour j = 2 −→ −4u22 + u21 + u23 + u12 + u32 = ,
0 0 27
Alors  5 
   1   27 
−4 1 1 0 u1  6 
 1 −4 0 1  u21   
  1 =  27 
 u2   6 

 1 0 −4 1


0 1 1 −4 u22 27
 
7
 
.
27
D’où la solution approchée est
 t
t −11 −13 −13 −11
u11 , u21 , u12 , u22 = , , , .
108 108 108 108

Exercice 7 Considérons sur le pavé Ω = [0, 1] × [0, 1] ⊂ R2 le problème de Laplace suivant



uxx + uyy = 0, (x, y) ∈ Ω,

u(x, 0) = 2x, u(x, 1) = 2x − 1, x ∈ [0, 1], (3.11)

u(0, y) = −y, u(1, y) = 2 − y, y ∈ [0, 1].

où u = u(x, y).

1. Tracer le domaine Ω et u(x, y) sur les frontières de Ω.

2. Déterminer a, b de sort que u(x, y) = ax + by est une solution exacte de notre problème.

3. Calculer la solution approchée pour n = 3 et m = 1.

4. Comparer la solution approchée avec la solution exacte.

Resp. du module : Dr. N. Amroune 10 25/03/2020

Vous aimerez peut-être aussi