0% ont trouvé ce document utile (0 vote)
11 vues5 pages

Corrigé d'analyse numérique MAP 431

Ce document présente un contrôle hors classement sur l'analyse numérique et l'optimisation, en se concentrant sur des méthodes de différences finies pour résoudre l'équation d'advection. Il aborde la formulation variationnelle d'un problème aux limites, prouvant l'existence et l'unicité de solutions via le théorème de Lax-Milgram, et examine la stabilité des schémas numériques. Enfin, il met en évidence les limitations du schéma d'Euler explicite en matière de stabilité.

Transféré par

zizou Saada
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
11 vues5 pages

Corrigé d'analyse numérique MAP 431

Ce document présente un contrôle hors classement sur l'analyse numérique et l'optimisation, en se concentrant sur des méthodes de différences finies pour résoudre l'équation d'advection. Il aborde la formulation variationnelle d'un problème aux limites, prouvant l'existence et l'unicité de solutions via le théorème de Lax-Milgram, et examine la stabilité des schémas numériques. Enfin, il met en évidence les limitations du schéma d'Euler explicite en matière de stabilité.

Transféré par

zizou Saada
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Ecole Polytechnique, Promotion 2007

Analyse numérique et optimisation (MAP 431)


Contrôle Hors Classement du mardi 7 avril 2009
Corrigé proposé par G. Allaire

1 Différences finies
1. On vérifie sans peine que la fonction définie, pour (x, t) ∈ (0, 1) × R+
∗ , par

u(t, x) = u0 (x − at) + f (t − x/a) ,

est bien solution de l’équation d’advection, de classe C 1 . Cette solution est bien
unique car la différence entre deux solutions, notée w(t, x), vérifie
∂w ∂w


 +a =0 pour (x, t) ∈ (0, 1) × R+
∗,
∂t ∂x


 w(t, 0) = 0 pour t ∈ R+
∗,
w(0, x) = 0 pour x ∈ (0, 1).

En multipliant alors cette équation par w et en intégrant par parties en espace,


utilisant la condition aux limites w(t, 0) = 0, on obtient

1 d
Z 1 a
w2 (t, x) dx + w2 (t, 1) = 0,
2 dt 0 2
d’où l’on déduit que la fonction
Z 1
t 7→ w2 (t, x) dx
0

est décroissante. Comme elle est positive et nulle à l’instant initial, elle est toujours
nulle, donc w(t, x) ≡ 0, ce qui prouve l’unicité de la solution.

2. On utilise la relation
n+1/2 n+1/2
un+1
j = −unj + uj+1/2 + uj−1/2 (1)

a∆t
pour obtenir, en notant c = ∆x ,

n+1/2 n+1/2
(1 + c)uj+1/2 + (1 − c)uj−1/2 = 2unj . (2)

Ce schéma peut paraitre implicite pour calculer les inconnues au temps tn+1/2 en
fonction de celles au temps tn (on trouve ensuite les les inconnues au temps tn+1
grâce à la relation (1)). Il n’en est rien car la matrice du système linéaire associé à
(2) est triangulaire et on peut donc résoudre explicitement (2) en progressant dans
le sens des (j + 1/2) croissants. On part de la condition aux limites
n+1/2
u1/2 = f (tn+1/2 )

1
n+1/2
et on calcule de proche en proche la nouvelle valeur uj+1/2 en fonction de la précédente
n+1/2
uj−1/2 .

3. On calcule les erreurs de troncature des deux relations du schéma


u(tn+1 , xj ) − u(tn , xj ) u(tn+1/2 , xj+1/2 ) − u(tn+1/2 , xj−1/2 )
E1 = +a
∆t ∆x
et
E2 = u(tn+1 , xj ) + u(tn , xj ) − u(tn+1/2 , xj+1/2 ) − u(tn+1/2 , xj−1/2 )
pour trouver, en faisant un développement de Taylor autour du point (tn+1/2 , xj ),

∂u ∂u
   
E1 = +a (tn+1/2 , xj ) + O (∆t)2 + (∆x)2
∂t ∂x
et  
E2 = O (∆t)2 + (∆x)2
ce qui prouve que le schéma est consistant et d’ordre 2.

4. On multipliera la première relation du schéma par (un+1


j + unj ) pour obtenir

n+1/2 n+1/2
|un+1
j |2 − |unj |2 uj+1/2 − uj−1/2
+ a(un+1
j + unj ) = 0.
∆t ∆x
n+1/2 n+1/2
On utilise la deuxième relation un+1 j + unj = uj+1/2 + uj−1/2 pour simplifier le
deuxième terme de l’égalité précédente
n+1/2 n+1/2
|un+1
j |2 − |unj |2 |uj+1/2 |2 − |uj−1/2 |2
+a = 0.
∆t ∆x
En sommant en j on obtient
n+1/2 n+1/2 2
N |un+1 |2 − |un |2
X j j
|uN +1/2 |2 − |u1/2 |
+a = 0.
j=1
∆t ∆x

Utilisant la condition aux limites et sachant que a > 0 on en déduit


N N
∆x|un+1 |2 ≤ ∆x|unj |2 + a∆t|f (tn+1/2 )|2 ,
X X
j
j=1 j=1

qui conduit au résultat désiré par sommation en n.


L’intérêt de ce schéma (dit de Carlson) est qu’il est inconditionnellement stable
et explicite.

2
2 Formulation variationnelle
1. Soit le problème aux limites

 un − un−1

− ∆un = 0 dans Ω
∆t (3)
 u =0 sur ∂Ω.
n

Pour obtenir une formulation variationnelle de (3) on multiplie l’équation par une
fonction test v quelconque, s’annulant sur le bord ∂Ω, et on intègre par parties. On
obtient Z   Z
−1
∇un · ∇v + (∆t) un v dx = (∆t)−1 un−1 v dx. (4)
Ω Ω

Par ailleurs, pour que tous les termes dans (4) aient un sens on choisit H01 (Ω) comme
espace de Hilbert. Finalement, la formulation variationnelle proposée est : trouver
un ∈ H01 (Ω) tel que
Z   Z
∇un · ∇v + (∆t) −1
un v dx = (∆t)−1 un−1 v dx ∀ v ∈ H01 (Ω). (5)
Ω Ω

On vérifie maintenant les hypothèses du théorème de Lax-Milgram 3.3.1. On


définit une forme linéaire
Z
L(v) = (∆t)−1 un−1 v dx

et une forme bilinéaire


Z  
a(u, v) = ∇u · ∇v + (∆t)−1 uv dx

qui sont clairement continues par application de l’inégalité de Cauchy-Schwarz pour


majorer les intégrales. Vérifions maintenant la coercivité de la forme bilinéaire. On
a Z  
a(v, v) = |∇v|2 + (∆t)−1 v 2 dx

≥ νkvk2H 1 (Ω)
avec ν = min(1, (∆t)−1 ). Ainsi, il existe une unique solution un ∈ H01 (Ω) de la
formulation variationnelle (5).

2. Vérifions maintenant que cette solution de la formulation variationnelle est bien


une solution du problème (3). Pour cela on admet que un ∈ H 2 (Ω). On utilise la
formule de Green (4.22) qui implique que (5) est équivalent à
Z  
−∆un + (∆t)−1 (un − un−1 ) v dx = 0. (6)

On choisit v quelconque dans Cc∞ (Ω) et on en déduit par application du Corollaire


4.2.2 que
−∆un (x) + (∆t)−1 un (x) = (∆t)−1 un−1 (x)

3
comme fonctions de L2 (Ω), ce qui implique que cette égalité a lieu presque partout
dans Ω. La condition aux limites de Dirichlet se retrouve, à cause du théorème de
trace 4.3.13, puisque un ∈ H01 (Ω). On a donc bien retrouvé le système (3) au sens
”presque partout”.

3. On choisit v = un dans la formulation variationnelle (5) et on minore le terme en


gradient pour obtenir
Z Z
2
(∆t)−1
|un | dx ≤ (∆t)−1 un−1 un dx .
Ω Ω

Par application de l’inégalité de Cauchy-Schwarz au membre de droite on en déduit

kun kL2 (Ω) ≤ kun−1 kL2 (Ω) ,

d’où le résultat par récurrence sur n.

4. On choisit v = un dans la formulation variationnelle (5) mais, cette fois-ci, on


écrit
1 1 1
(un − un−1 )un = (un − un−1 )2 + (un )2 − (un−1 )2 .
2 2 2
2
On minore le terme en (un − un−1 ) pour obtenir
1 1
Z Z Z
|un |2 dx + ∆t |∇un |2 dx ≤ |un−1 |2 dx .
2 Ω Ω 2 Ω

En sommant par rapport à n on obtient une somme ”téléscopique” qui donne


n
1 1
Z Z Z
|un |2 dx + |∇uk |2 dx ≤ |u0 |2 dx .
X
∆t
2 Ω k=1 Ω 2 Ω

En passant à la limite tn → t lorque ∆t → 0, et avec l’hypothèse faite de convergence


uniforme des un (x) vers u(t, x), on en déduit
Z tZ
1 1
Z Z
2 2
|u(t, x)| dx + |∇u(s, x)| dx ds ≤ |u0 (x)|2 dx .
2 Ω 0 Ω 2 Ω

5. Le schéma d’Euler explicite devrait s’écrire, pour n ≥ 1,


 un − un−1

− ∆un−1 = 0 dans Ω
 u =0
∆t
n sur ∂Ω.

Mais la condition aux limites n’a pas de sens car, justement, un se calcule explicite-
ment en fonction de un−1 sans résoudre d’équation aux dérivées partielles, grâce à
la formule
un = un−1 + ∆t∆un−1 .
Ce schéma ne peut qu’être instable car on ”perd” de la régularité sur un à chaque
itération ! Plus précisément, choisissons u0 défini, pour un nombre d’onde k ∈ RN ,
par
u0 (x) = ei k·x .

4
On montre facilement par récurrence que

un (x) = (1 − ∆t|k|2 )n ei k·x .

Aussi petit soit notre choix de ∆t on peut trouver k ∈ RN tel que |1 − ∆t|k|2 | > 1
et donc Z
lim |un |2 dx = +∞.
n→+∞ Ω

On pourrait objecter que u0 ne vérifie pas la condition aux limites de Dirichlet dans
ce contre-exemple de stabilité. Outre le fait que cela n’est pas nécessaire dans le cas
du schéma implicite (et de manière générale, voir chapitre 8 du polycopié), on peut
travailler un peu plus en montrant le même résultat pour u0 (x) = ei k·x φ(x) où φ est
une fonction non nulle, de classe C ∞ à support compact. Nous laissons au lecteur
courageux le soin de faire les calculs exacts...

Vous aimerez peut-être aussi