Nothing Special   »   [go: up one dir, main page]

0% ont trouvé ce document utile (0 vote)
3 vues23 pages

EDPs_chapitre4

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1/ 23

Équations aux dérivées partielles

Chapitre 4
Méthodes numériques

Basée sur les notes de cours de Pierre-Olivier Parisé


Mathématiques de l’ingénieur III (MAT-2900)

Université Laval
Québec, Canada
Automne 2021

Jade Brisson EDPs : Chapitre 4 ULaval 1 / 23


Table des matières

1 Méthodes des différences finies en 1D

2 Méthodes des différences finies en 2D

3 Résolution de l’équation de la chaleur

4 Erreur

Jade Brisson EDPs : Chapitre 4 ULaval 2 / 23


But des méthodes numériques

Le but des méthodes numériques est de trouver une bonne approximation


de la solution à une équation aux dérivées partielles, dans notre cas. Pour
y arriver, on veut approximer la solution en un certain nombre de points
précis. Plus il y a de points, mieux notre approximation sera, dans le
meilleur des cas.
Nous verrons la méthodes des différences finies.

Jade Brisson EDPs : Chapitre 4 ULaval 3 / 23


Méthodes des différences finies en 1D

Table des matières

1 Méthodes des différences finies en 1D

2 Méthodes des différences finies en 2D

3 Résolution de l’équation de la chaleur

4 Erreur

Jade Brisson EDPs : Chapitre 4 ULaval 4 / 23


Méthodes des différences finies en 1D

Considérons l’équation différentielles suivantes :


(
−u ′′ (x) + c(x)u(x) = f (x) , x ∈ (0, 1),
u(0) = g0 , u(1) = g1 ,

où c(x), f (x) sont des fonctions connues et g0 , g1 sont des constantes.
Afin de trouver les points auxquels on veut trouver une approximation de
u, on va diviser l’intervalle [0, 1] en N ∈ N petits sous-intervalles de même
longueur h = 1/N. On obtient alors les points xi = i/N.
La seule information que l’on connaı̂t sur u est l’équation différentielle
qu’elle satisfait. POur trouver l’approximation de u(xi ) on devra l’utiliser.
Toutefois, il y a un problème, car il y a la dérivée seconde qu’on ne connaı̂t
pas plus. On devra trouver un moyen pour remplacer la dérivée seconde
par une expression qui ne dépend que de u.

Jade Brisson EDPs : Chapitre 4 ULaval 5 / 23


Méthodes des différences finies en 1D

On va utiliser le développement de Taylor

h2 ′′
u(xi + h) = u(xi ) + u ′ (xi )h + u (xi ) + O(h3 ) .
2
Cette expression dépend de u ′ qu’on ne connaı̂t pas. On peut aussi
regarder ce déveleppement

h2 ′′
u(xi − h) = u(xi ) − u ′ (xi )h + u (xi ) + O(h3 ) .
2
En additionnant les deux expressions, on obtient

u(xi + h) − 2u(xi ) + u(xi − h)


u ′′ (xi ) = + O(h) .
h2

Jade Brisson EDPs : Chapitre 4 ULaval 6 / 23


Méthodes des différences finies en 1D

On peut maintenant remplacer dans l’EDO


 
u(xi + h) − 2u(xi ) + u(xi − h)
− + c(xi )u(xi ) = f (xi ) − O(h) .
h2

Si ui est l’approximation de u(xi ), alors on peut laisser tomber le terme


d’erreur dans l’expression précédente et on obtient le schéma suivant :
−ui+1 + 2ui − ui−1
+ c(xi )ui = f (xi ) .
h2

Jade Brisson EDPs : Chapitre 4 ULaval 7 / 23


Méthodes des différences finies en 1D

Si i = 1
−u2 + 2u1 − g0
+ c(x1 )u1 = f (x1 ) .
h2
Si i = 2, . . . , N − 2,
−ui+1 + 2ui − ui−1
+ c(xi )ui = f (xi ) .
h2
Si i = N − 1,
−g1 + 2uN1 − uN−2
+ c(xN−1 )uN−1 = f (xN−1 ) .
h2
On obtient N − 1 équations pour trouver N − 1 inconnues. Comme il y a
plus qu’une inconnue par équation, il est un peut plus difficile de trouver
leur valeur. Cependant, une façon simple de les trouver est de transformer
les équations en une équation matricielle :
Jade Brisson EDPs : Chapitre 4 ULaval 8 / 23
Méthodes des différences finies en 1D

  
2 −1 · · ·
0
  
c(x1 ) 0 ··· 0 u1
.  !
−1 2 −1 ..   0 c(x 2) ··· 0 u2

1 +






 ..

. . . .. ..
h2  . −1 . . −1  .. ..
   
 . 0   .

0 · · · −1 2 0 0 ··· c(xN−1 ) uN−1
f (x1 ) + hg02
 
 f (x2 ) 
= .
 
.. 
 . 
g1
f (xN−1 + h2

Jade Brisson EDPs : Chapitre 4 ULaval 9 / 23


Méthodes des différences finies en 2D

Table des matières

1 Méthodes des différences finies en 1D

2 Méthodes des différences finies en 2D

3 Résolution de l’équation de la chaleur

4 Erreur

Jade Brisson EDPs : Chapitre 4 ULaval 10 / 23


Méthodes des différences finies en 2D

La méthodes des différences finies est beaucoup plus facile à appliquer


avec des rectangles [0, a] × [0, b].
Regardons l’EDP
(
−∆u = f (x, y ) dans [0, a] × [0, b],
u(x, y ) = g (x, y ) sur le bord du rectangle.

Pour trouver les points où on approximera, on va diviser [0, a] en N


sous-intervalles de longueur hx = 1/N et diviser [0, b] en M
sous-intervalles de longueur hy = 1/M.

Jade Brisson EDPs : Chapitre 4 ULaval 11 / 23


Méthodes des différences finies en 2D

De manière similaire au cas 1D, on veut transformer le laplacien en une


expression qui ne dépend que de u(xi , yj ). On va utiliser le développement
de Taylor pour des fonctions de plusieurs variables :
hx2
u(xi + hx , yj ) = u(xi , yj ) + hx ux (xi , yj ) + uxx (xi , yj ) ,
2
h2
u(xi − hx , yj ) = u(xi , yj ) − hx ux (xi , yj ) + x uxx (xi , yj ) .
2
En additionnant les deux expressions, on obtient
u(xi+1 , yj ) − 2u(xi , yj ) + u(xi−1 , yj
uxx (xi , yj ) = .
hx2
En faisant le même travail avec yj , on a
u(xi , yj+1 ) − 2u(xi , yj ) + u(xi , yj−1
uyy (xi , yj ) = .
hy2
Jade Brisson EDPs : Chapitre 4 ULaval 12 / 23
Méthodes des différences finies en 2D

Si ui,j est l’approximation de u(xi , yj ), alors en remplaçant les expressions


pour uxx (xi , yj ) et uyy (xi , yj ) dans l’EDP, on obtient le schéma suivant :

−ui+1,j + 2ui,j − ui−1,j −ui,j+1 + 2ui,j − ui,j−1


2
+ = f (xi , yj ) ,
hx hy2

avec les conditions initiales

u0,j = g (0, yj ) , uN,j = g (a, yj ) , ui,0 = g (xj , 0) , ui,M = g (xi , b) .

Jade Brisson EDPs : Chapitre 4 ULaval 13 / 23


Méthodes des différences finies en 2D

Résumé de la méthode des différences finies

Transformer les dérivées partielles présentes dans l’EDP en des expressions


qui ne dépendent que de u évaluée aux points choisis par la division en
sous-intervalles à l’aide des développements de Taylors suivants :

h2 h3
u(x ± h, y ) = u(x, y ) ± hux (x, y ) + uxx (x, y ) ± uxxx (x, y ) + · · ·
2 3!
k2 k3
u(x, y ± k) = u(x, y ) ± kuy (x, y ) + uyy (x, y ) ± uyyy (x, y ) + · · ·
2 3!

Jade Brisson EDPs : Chapitre 4 ULaval 14 / 23


Résolution de l’équation de la chaleur

Table des matières

1 Méthodes des différences finies en 1D

2 Méthodes des différences finies en 2D

3 Résolution de l’équation de la chaleur

4 Erreur

Jade Brisson EDPs : Chapitre 4 ULaval 15 / 23


Résolution de l’équation de la chaleur

Le problème à résoudre est



ut − cuxx = 0
 x ∈ [0, 1] , t ≥ 0 ,
u(x, 0) = u0 (x) x ∈ [0, 1] ,

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

On divise [0, 1] en N intervalles de longueur h = 1/N. Pour la variable t,


on fera des sauts de longueur ∆t de sorte que tj = j∆t.
On transforme maintenant ut (xi , tj ) et uxx (xi , tj ) à l’aide des
développements de Taylor.

Jade Brisson EDPs : Chapitre 4 ULaval 16 / 23


Résolution de l’équation de la chaleur

Pour ut , on choisit

u(xi , tj+1 ) = u(xi , tj ) + ∆tut (xi , tj ) .

Pour uxx , on fait le même processus que vu précédemment, c’est-à-dire


qu’on additionne les deux développements suivants

h2
u(xi+1 , tj ) = u(xi , tj ) + hux (xi , tj ) + uxx (xi , tj ) ,
2
h2
u(xi−1 , tj ) = u(xi , tj ) − hux (xi , tj ) + uxx (xi , tj ) .
2

Jade Brisson EDPs : Chapitre 4 ULaval 17 / 23


Résolution de l’équation de la chaleur

On obtient le schéma suivant pour 1 ≤ i ≤ N − 1 et j ≥ 0 :

ui,j+1 − ui,j c(ui+1,j − 2ui,j + ui−1,j )


− =0
∆t h2
avec les conditions initiales

ui,0 = u0 (xi ) , u0,j = 0 , uN,j = 0 .

Maintenant, la question est : Comment peut-on trouver les différents ui,j ?


En réorganisant le schéma, on a
c∆t
ui,j+1 = (ui+1,j − 2ui,j + ui−1,j ) + ui,j .
h2
Si on fixe j = 0, on remarque que ui,1 ne dépend que des conditions
initiales. On peut donc trouver tous les ui,1 . Une fois fait, on peut
augmenter j de 1 et trouver tous les ui,2 .
Jade Brisson EDPs : Chapitre 4 ULaval 18 / 23
Résolution de l’équation de la chaleur

Algorithme :
Soit j fixé. On trouve u0,j avec les conditions initiales.
On incrémente i, i.e i = i + 1.
On trouve ui,j
On arrête lorsqu’on trouve uN−1,j .
On trouve uN,j avec les conditions initiales.
On incrémente j, i.e j = j + 1 et on répète toutes les étapes.

Cet algorithme est spécifique au schéma obtenu pour l’équation de la


chaleur. Pour une autre EDP, on aura probablement un autre algorithme.

Jade Brisson EDPs : Chapitre 4 ULaval 19 / 23


Résolution de l’équation de la chaleur

Regardons un exemple de calcul avec c = 1, u0 (x) = sin πx, N = 2 et


∆t = 0.1. Donc,

u0,0 = sin πx0 = 0 , u1,0 = sin πx1 = 1 , u2,0 = sin πx2 = 0

Donc, pour j = 0,

u0,1 = 0
c∆t
u1,1 = (u2,0 − 2u1,0 + u0,0 ) + u1,0 = 0.2
h2
u2,1 = 0 .

On incrémente j.

Jade Brisson EDPs : Chapitre 4 ULaval 20 / 23


Résolution de l’équation de la chaleur

u0,2 = 0
c∆t
u1,2 = (u2,1 − 2u2,1 + u0,1 ) + u1,1 = 0.04
h2
u2,1 = 0

En on continue le processus le nombre de fois que l’on veut.

Jade Brisson EDPs : Chapitre 4 ULaval 21 / 23


Erreur

Table des matières

1 Méthodes des différences finies en 1D

2 Méthodes des différences finies en 2D

3 Résolution de l’équation de la chaleur

4 Erreur

Jade Brisson EDPs : Chapitre 4 ULaval 22 / 23


Erreur

Maintenant qu’on est capable de trouver une approximation, la question à


se poser est : Est-ce une bonne approximation ?
Malheureusement, si on n’a pas la solution analytique à notre problème,
on ne peut pas calculer d’erreurs. Si on connait la solution u, alors l’erreur
au point (xi , yj ) est donnée par

eij = |u(xi , yj ) − uij | .

Dans notre exemple de l’équation de la chaleur, la solution est


2
u(x, t) = e −π t sin πx. Par exemple,
2 ∗0.1
e11 = |u(x1 , t1 ) − u1,1 | = |e −π sin(π/2) − 0.2| = 0, 1727 ,

ce qui est une très grande erreur. Cela est dû à notre mauvais choix de h
et de ∆t.

Jade Brisson EDPs : Chapitre 4 ULaval 23 / 23

Vous aimerez peut-être aussi