École Normale Supérieure de Lyon Année 2013–2014
Département de Mathématiques Analyse-EDP TD 5
Estudio numérico de ecuaciones elípticas
Exercice 1. On s’intéresse à la résolution numérique du problème elliptique suivant en di-
mension 1 d’espace:
−u00 (x) + c(x)u(x) = f (x), x ∈]0, 1[,
u(0) = α, u(1) = β.
où c, f ∈ C ∞ ([0, 1]) et c ≥ 0. On admettra que ce problème admet une unique solution
u ∈ C 4 ([0, 1], R).
1
On choisit N ∈ N grand et on pose h = N +1 le pas de discrétisation de l’intervalle [0, 1]. Pour
tout i = 0, . . . , N + 1, on définit
xi = ih, ci = c(xi ), ui = u(xi ), fi = f (xi ).
Première partie: Etude théorique.
1. Montrer que pour tout i = 1, . . . , N , il existe θih ∈ ]xi−1 , xi+1 [ tel que :
−ui+1 + 2ui − ui−1 h2 (4) h
−u00 (xi ) = + u (θi ).
h2 12
2. En déduire l’égalité suivante :
2 + c1 h2
−1 u1
−1 2 + c2 h2 −1 u2
1 .. .. ..
..
. . . .
h2
−1 2 + cN −1 h2 −1 uN −1
−1 2 + cN h2 uN
α
f1 + 2
u(4) (θ1h )
h
f2 (4) h
h2 u (θ2 )
..
..
= − .
. .
12
fN −1 u(4) (θh )
N −1
β
u(4) (θ h )
fN + 2 N
h
Nous écrirons cette égalité comme suit :
Ah uh = f h + εh .
Comme nous avons εh → 0 lorsque h → 0, nous nous intéressons au schéma numérique donné par :
Ah ϕ h = f h ,
où ϕh = (ϕ1 , . . . , ϕN )t sera une approximation de uh .
L’objectif de cet exercice est de montrer que ϕh − uh −→ 0 lorsque h → 0 et que le schéma
converge à l’ordre 2.
1
3. Intermède : Matrices monotones. Une matrice M ∈ Mn (R) est dite monotone si elle est
inversible et si son inverse est à coefficients positifs.
(a) Montrer que M est une matrice monotone si et seulement si
∀v ∈ Rn , Mv ≥ 0 =⇒ v ≥ 0.
(b) Montrer que Ah est monotone. On condérera v ∈ RN tel que Ah v ≥ 0 et on s’intéressera
au terme vp où p ∈ {1, . . . , N } et vp = mini=1,...,N vi . En particulier, Ah est inversible et
donc le schéma numérique est bien défini.
4. Un cas particulier : c = 0. On note B h la matrice égale à Ah dans le cas où c = 0. On veut
montrer que
1
k(B h )−1 k∞ ≤ .
8
(a) Pour M ∈ Mn (R) à coefficients positifs, montrer que kM k∞ = kM ek∞ où e = (1, . . . , 1).
(b) On note ψ h = (B h )−1 e. De quel problème continu ψ h est-il la solution approchée?
(c) En résolvant ce problème simple, montrer le résultat voulu.
1
5. Déduire de l’égalité (B h )−1 − (Ah )−1 = (B h )−1 (Ah − B h )(Ah )−1 que k(Ah )−1 k∞ ≤ .
8
6. Finalement, déduire de ce dernier résultat que notre schéma numérique est convergent d’ordre
2 au sens suivant :
h2 (4)
kuh − ϕh k∞ ≤ ku k∞ .
96
Deuxième partie: Etude pratique.
1. Dans le cas où f (t) = (1 + 2t − t2 )et , c(t) = t et (α, β) = (1, 0), vérifier que la solution exacte
est donnée par u(t) = (1 − t)et .
2. Implémenter le schéma numérique sur cet exemple et calculer l’erreur kuh − ϕh k∞ pour dif-
férents pas h. Attention ! La matrice Ah est tridiagonale et creuse ! Il est impératif de la
programmer comme telle (voir les fonctions ones, sparse et diag de Scilab). Penser à pro-
poser la représentation graphique des solutions exacte et approchée. Penser à la légende, titre,
etc.
3. Représenter l’erreur logarithmique sur un graphique en échelle ’loglog’ et retrouver l’ordre de
convergence obtenu ci-dessus. Pour éclairer le graph logarithmique, on pourra tracer deux
droites de pentes bien choisies aux côtés de la courbe d’erreur logarithmique.
Exercice 2. On s’intéresse à la discrétisation du problème aux limites de Poisson (avec con-
ditions mixtes Dirichlet-Neumann homogènes) suivant :
−u00 (x) = f (x), x ∈ ]0, 1[,
u(0) = 0, u0 (1) = α.
2
où f ∈ C ∞ ([0, 1]) et α ∈ R. On admettra que ce problème admet une unique solution
u ∈ C 4 ([0, 1], R).
1
On choisit N ∈ N grand et on pose h = N +1 le pas de discrétisation de l’intervalle [0, 1]. Pour
tout i = 0, . . . , N + 1, on définit
xi = ih, ui = u(xi ), fi = f (xi ).
et ϕh = (ϕ1 , . . . , ϕN +1 )t qui sera notre approximation de uh = (u1 , . . . , uN +1 )t .
Attention, dans cet exercice, notre système matriciel sera de taille N + 1 (et
B non plus N ) car ici on ne dispose pas de valeurs de type Dirichlet à attribuer à B
ϕN +1 .
Première partie: Etude théorique. La seule différence importante avec l’exercice précédent
est le choix de la discrétisation de la condition de Neumann en x = 1. Autrement dit, nous allons
imposer ϕ0 = 0 et discrétiser l’équation de Poisson comme suit :
−ϕi+1 + 2ϕi − ϕi−1
= fi , (1)
h2
pour tout i = 1, . . . , N . Il reste à gérer la (N + 2)-ème information correspondant à la condition de
Neumann en x = 1.
• Premier choix. On discrétise naïvement u0 (1) de la façon suivante :
ϕN +1 − ϕN
α = u0 (1) ' .
h
1. Montrer que le système d’équations obtenu peut s’écrire Ah ϕh = f h , où Ah = h12 A, avec
A indépendante de h. Expliciter la matrice Ah et le vecteur f h dans ce cas. On rappelle
que Ah et f h sont de taille N + 1.
2. Montrer que Ah uh = f h + εh avec
−h2 u(4) (θ1h )/12
0
−h2 u(4) (θh )/12 0
2
h
ε = .
. ..
+ ,
. .
−h2 u(4) (θh )/12 0
N
hu(3) (θN
h
+1 )/6
f (1)/2
où θih ∈ ]xi−1 , xi+1 [ pour tout i = 1, . . . , N et θN
h
+1 ∈ ]xN , xN +1 [.
3. En déduire que le schéma n’est pas consistant si f (1) 6= 0.
• Deuxième choix. Pour gagner en consistance, on peut essayer de discrétiser plus précisément
(i.e. à l’ordre 1) la condition de Neumann en 1. On écrit alors
ϕN +1 − ϕN f (1)
α = u0 (1) ' − h.
h 2
3
1. Expliciter le vecteur f h dans ce cas.
2. Montrer que Ah uh = f h + εh avec
−h2 u(4) (θ1h )/12
−h2 u(4) (θ2h )/12
εh = ..
,
.
−h2 u(4) (θh )/12
N
hu(3) (θNh
+1 )/6
où θih ∈ ]xi−1 , xi+1 [ pour tout i = 1, . . . , N et θN
h
+1 ∈ ]xN , xN +1 [.
3. En déduire que le schéma est consistant d’ordre au moins 1.
Deuxième partie: Etude pratique.
1. Dans le cas où f (t) = (1 + 2t − t2 )et , c(t) = t et (α, β) = (1, 0), vérifier que la solution exacte
est donnée par u(t) = (1 − t)et .
2. Implémenter le schéma numérique sur cet exemple et calculer l’erreur kuh − ϕh k∞ pour dif-
férents pas h. Attention ! La matrice Ah est tridiagonale et creuse ! Il est impératif de la
programmer comme telle (voir les fonctions ones, sparse et diag de Scilab). Penser à pro-
poser la représentation graphique des solutions exacte et approchée. Penser à la légende, titre,
etc.
3. Représenter l’erreur logarithmique sur un graphique en échelle ’loglog’ et retrouver l’ordre de
convergence obtenu ci-dessus. Pour éclairer le graph logarithmique, on pourra tracer deux
droites de pentes bien choisies aux côtés de la courbe d’erreur logarithmique.