Exercice d'application - Série
Université Paris-Nord
Institut Galilée
2MACS
Année 2011-2012
-1
Master I, Année académique 2017C.-Basdevant
Département de Mathématiques 18
PHMCorrigé
305de: l’examen
Méthodesd’AnalyseNumériques
Numérique
par lede septembre
Prof. 2012
SANG@UMa_2017
Durée : 2h
Aucun document autorisé
Exercice I
Donnez la solution faible entropique u(x, t), x ∈ R, t ≥ 0 du problème suivant en
justifiant clairement votre réponse avec tous les dessins nécessaires.
∂u ∂ u2
+ = 0 x ∈ R , ∀t > 0
∂t ∂x 2
u(x, 0) =1 x≤0
x
u(x, 0) =1 − 0≤x≤a
a
u(x, 0) =0 x≥a
où a est une constante strictement positive.
Corrigé : Tracez l’état initial u(x, 0). On sait que les caractéristiques sont des droites
et que u est constant le long des caractéristiques. La caractéristique issue d’un point x0
est, dans le plan (x, t), la droite d’équation X(t, x0 ) = x0 + t u(x0 , 0). Tracez ces droites
dans le plan (x, t). Pour t < a ces caractéristiques ne se coupent pas et permettent de
définir la solution partout par l’équation de conservation u(x0 , 0) = u(X(t, x0 ), t). Soit :
u(x, t) = 1, pour x ≤ t
a−x
u(x, t) = , pour t ≤ x ≤ a
a−t
u(x, t) = 0, pour x ≥ a
Pour t > a, il se produit un choc issu de t = a, x = a, à gauche du choc on a u = 1 et à
droite u = 0. La relation de Rankine et Hugoniot nous donne la vitesse de déplacement
de ce choc, soit :
f (ug ) − f (ud ) u2g /2 − u2d /2 1
σ= = =
ug − ud ug − ud 2
On en déduit la solution pour t > a :
t
u(x, t) = 1, pour x < a +
2
t
u(x, t) = 0, pour x > a +
2
Tracez la solution à différents temps.
Exercice II
On considère, pour l’équation de la chaleur sur tout R ( ν > 0 est donné) :
∂u ∂2u
−ν 2 =0 ∀x ∈ R, ∀t > 0
∂t ∂x
u(x, 0) = u0 (x) ∀x ∈ R
le schéma d’approximation par différences finies sur un maillage régulier de pas Δx en
espace et Δt en temps (schéma de Gear):
3un+1
j − 4unj + ujn−1 j+1 + uj−1 − 2uj
un+1 n+1 n+1
−ν =0
2Δt (Δx)2
2νΔt
Note on pourra poser λ = .
(Δx)2
1. Dessinez le stencil du schéma, de quel type de schéma s’agit-il ?
Corrigé :
• −− • −− • n+1
| | |
◦ −− • −− ◦ n
| | |
◦ −− • −− ◦ n−1
| | |
j−1 j j+1
Le schéma est implicite.
2. Analysez la stabilité du schéma par la méthode de von Neumann.
On rappelle que les racines de l’équation du second degré à coefficients réels z 2 +
bz + c = 0 sont toutes les deux dans le disque unité fermé si et seulement si |c| ≤ 1
et |b| ≤ 1 + c.
Corrigé : Cherchons une solution du schéma onde pure c’est à dire de la forme
unj = an exp(ikxj ), on obtient alors, après simplification par exp(ikxj ) :
3an+1 − 4an + an−1 − λan+1 (exp(ikΔx) + exp(−ikΔx) − 2) = 0
soit en posant μ = 3 + 4λ sin2 ( kΔx
2
):
μan+1 − 4an + an−1 = 0
une équation récurrente à deux termes dont l’équation caractéristique s’écrit :
4 1
r2 − r+ =0
μ μ
Le schéma sera stable si et seulement si les racines de cette équation sont de module
inférieur ou égal à un. En appliquant le lemme rappelé dans l’énoncé on obtient les
conditions : μ ≥ 1 et 3 ≤ μ, toutes conditions qui sont réalisées, le schéma est donc
inconditionnellement stable.
3. Quel est l’ordre du schéma ?
Corrigé : Pour évaluer l’ordre on doit faire le développement de l’erreur locale de
troncature εnj qui est définie par :
3u(xj , tn+1 ) − 4u(xj , tn ) + u(xj , tn−1 ) u(xj+1 , tn+1 ) + u(xj−1 , tn+1 ) − 2u(xj , tn+1 )
εnj = −ν
2Δt (Δx)2
pour u une solution suffisamment régulière de l’équation de la chaleur.
Le schéma étant manifestement écrit au temps tn+1 et au point xj , faisons des
développements limités autour de ces valeurs.
2
La deuxième partie de εnj est une approximation bien connue d’ordre 2 de ∂∂xu2 :
u(xj+1 , tn+1 ) + u(xj−1 , tn+1 ) − 2u(xj , tn+1 ) ∂2u
= (xj , tn+1 ) + O(Δx2 )
(Δx)2 ∂x2
Il reste à faire les développements en temps de la première partie et on obtient :
3u(xj , tn+1 ) − 4u(xj , tn ) + u(xj , tn−1 ) ∂u Δt2 ∂ 3 u
= (xj , tn+1 ) − (xj , tn+1 ) + O(Δt3 )
2Δt ∂t 3 ∂t3
Ainsi, εnj = O(Δt2 ) + O(Δx2 ), le schéma est d’ordre 2 en temps et en espace.
4. On considère dans cette question ce même schéma pour le problème posé sur [0, 1]
avec des conditions aux limites de Dirichlet :
∂u ∂2u
−ν 2 =0 ∀x ∈]0, 1[, ∀t > 0
∂t ∂x
u(x, 0) = u0 (x) ∀x ∈]0, 1[
u(0, t) = α, u(1, t) = β, ∀t > 0
où α et β sont des constantes données.
En prenant xj = jΔx, avec Δx = N 1+1 , formez le système à résoudre à chaque pas
de temps et la matrice associée. Discutez de l’existence et de l’unicité de sa solution.
Corrigé : Le schéma s’écrit, pour 1 < j < N :
(3 + 2λ)un+1
j − λun+1
j+1 − λuj−1 = 4uj − uj
n+1 n n−1
et, en tenant compte des conditions aux limites, pour j = 1 :
(3 + 2λ)un+1
1 − λun+1
2 = λα + 4un1 − u1n−1
et enfin pour j = N :
(3 + 2λ)un+1
N − λun+1
N −1 = λβ + 4uN − uN
n n−1
La matrice du système N × N déterminant les un+1
j pour 1 ≤ j ≤ N s’écrit :
⎛ ⎞
3 + 2λ −λ 0
⎜ −λ 3 + 2λ −λ 0 ⎟
⎜ ⎟
⎜ 0 −λ 3 + 2λ −λ 0 ⎟
⎜ ⎟
⎜ · · · · · · · · · ⎟
⎜ ⎟
⎜ 0 −λ 3 + 2λ −λ 0 ⎟
⎜ ⎟
⎝ 0 −λ 3 + 2λ −λ ⎠
0 −λ 3 + 2λ
Comme λ > 0 la matrice est strictement diagonalement dominante et donc inversible
quels que soient Δx et Δt. Symétrique, à diagonale positive strictement dominante,
la matrice est définie positive, le système étant tridiagonal, il peut alors être résolu
en O(N ) opérations par décomposition de Choleski de la matrice.
5. On considère maintenant l’équation de la chaleur sur [0, 1] avec des conditions aux
limites mixtes Dirichlet Neumann :
∂u ∂2u
−ν 2 =0 ∀x ∈]0, 1[, ∀t > 0
∂t ∂x
u(x, 0) = u0 (x) ∀x ∈]0, 1[
∂u
(0, t) = γ, u(1, t) = β, ∀t > 0
∂x
où γ et β sont des constantes données.
En prenant xj = (j − 12 )Δx, avec Δx = 2N2+1 , adaptez le schéma pour prendre en
compte la condition de Neumann, formez le système à résoudre à chaque pas de
temps et la matrice associée. Discutez de l’existence et de l’unicité de sa solution.
Corrigé : On remarque que x1 = Δx2
et xN +1 = 1. Pour tenir compte de la
condition de Neumann en x = 0 dans le schéma écrit au point x1 = Δx
2
on a les
développements :
u(Δx+ Δx )−u( Δx )
∂ 2 u Δx ∂u
(Δx) − ∂u
(0) 2
2
Δx
2
− ∂u
(0)
( )= ∂x ∂x
+ O(Δx ) = ∂x
+ O(Δx)
∂x2 2 Δx Δx
u2 −u1
2 −γ
Soit : ∂∂xu2 (x1 ) ≈ ΔxΔx , en utilisant cette approximation d’ordre 1 pour la dérivée
seconde on forme l’équation du schéma en j = 1 :
(3 + λ)un+1
1 − λun+1
2 = −λγΔx + 4un1 − un−1
1
Le schéma étant inchangé aux autres points du maillage, la matrice du système
N × N déterminant les un+1
j pour 1 ≤ j ≤ N s’écrit :
⎛ ⎞
3+λ −λ 0
⎜ −λ 3 + 2λ −λ 0 ⎟
⎜ ⎟
⎜ 0 −λ 3 + 2λ −λ 0 ⎟
⎜ ⎟
⎜ · · · · · · · · · ⎟
⎜ ⎟
⎜ 0 −λ 3 + 2λ −λ 0 ⎟
⎜ ⎟
⎝ 0 −λ 3 + 2λ −λ ⎠
0 −λ 3 + 2λ
Pour les mêmes raisons que dans la question précédente la matrice est symétrique, à
diagonale positive strictement dominante, la matrice est définie positive ; le système
étant tridiagonal, il peut alors être résolu en O(N ) opérations par décomposition de
Choleski de la matrice.