Académique Documents
Professionnel Documents
Culture Documents
Question 1 (7 points)
a- On considère le problème (l’équation des ondes)
2 2
∂ u 2∂ u
(x, t) − c (x, t) = 0, x dans ]0, L[, t > 0
2 ∂x2
∂t
(E) ∂u
u(x, 0) = u0 (x), (x, 0) = g(x), x ∈ [0, L]
∂t
u(0, t) = u(L, t) = 0, t > 0,
où c > 0 est une constante donnée, u0 , g sont des fonctions données u0 ∈ C 2 ([0, L]), g ∈
C 1 ([0, L]), nulles en 0 et L. On suppose que (E) a une unique solution u ∈ C 2 ([0, L] × R).
Écrire un schéma de différences finies centrées consistant qui permette d’approcher la
solution u de (E) en des points (xi , tn ) par une valeur notée vin :
- Définir ces points (xi , tn ) en introduisant un pas d’espace ∆x et un pas de temps
∆t, péciser dans quels ensembles d’entiers i et n varient.
- Vérifier que si u ∈ C 2 ([0, L] × R) est solution de (E), on a le développement
∆t2 00
u(x, ∆t) = u(x, 0) + ∆tg(x) + c2 u0 (x) + O(∆t3 ).
2
En déduire une formule de différences finies pour définir vj1 à partir des valeurs u0j =
u0 (xj ), u0j±1 = u0 (xj±1 ) et de gj = g(xj ).
- Écrire le schéma permettant de calculer l’ensemble des valeurs vin : définir toutes
les données initiales et aux limites pour le schéma, préciser la formule permettant de
calculer les autres valeurs, vérifier qu’on peut l’écrire sous une forme explicite (on posera
∆t
µ = c ∆x ).
Définir et évaluer l’erreur de consistance en fonction de ∆x et ∆t et de u en supposant
la solution u de (E) suffisamment régulière u ∈ C p ([0, L]×R) (préciser la valeur minimale
de p que vous supposez).
- Introduire un vecteur v n dont les composantes sont les valeurs vin et écrire le schéma
précédent sous forme matricielle, avec une matrice qu’on précisera.
1
Question 2 (8 points)
1. On considère le problème aux limites : trouver u ∈ C 2 (]0, L[) ∩ C 0 ([0, L])
d du du
−
k(x) + b(x) + c(x)u(x) = f (x), x dans ]0, L[,
(P ) dx dx dx
u(0) = α, u(L) = β
où α, β sont des constantes données, k ∈ C 1 ([0, L]), k(x) ≥ k0 > 0, ∀x ∈ [0, L], et
b, c, f ∈ C 0 ([0, L]).
1.a. Écrire la formulation variationnelle du problème aux limites (P) sous la forme :
trouver u in V
(F V ) ∀v ∈ V, a(u, v) = `(v),
dans un espace V de fonctions dérivables au sens classique. Préciser cet espace, l’ex-
pression de la forme bilinéaire a en fonction de k, b, c, la forme linéaire `. Le choix de
V, a, ` doit être fait pour avoir l’équivalence des deux formulations, on montrera cette
équivalence.
1.b. On suppose de plus b ∈ C 1 ([0, L]). Montrer que si b et c vérifient la condition :
1
− b0 (x) + c(x) ≥ 0, ∀x ∈ [0, L],
2
la forme bilinéaire a vérifie une inégalité d’ellipticité
dv 2
ν > 0, a(v, v) ≥ ν|| ||
dx 0
pour tout v ∈ C 1 ([0, L]), où ||.||20 désigne la forme de L2 (0, L). En déduire que si la
solution de (P ) existe, elle est unique.
avec la même équation différentielle que celle de (P ), les mêmes hypothèses sur k, b, c, f
mais avec d’autres conditions aux limites, où µ0 , µL sont des constantes données.
2.a. Quel espace V1 faut-il choisir pour la formulation variationnelle de (P1 ) ? Préciser
cet espace, la forme bilinéaire a1 , la forme linéaire `1 .
2.b. On suppose pour simplifier b = 0. Est ce que la condition de la question 1.b suffit
à montrer une inégalité d’ellipticité ? Donner une condition sur c qui assure l’unicité de
la solution u de (P1 ).
2
Question Scilab
On considère ici un problème de convection–diffusion sur l’intervalle ]0, 1[
−u′′ (x) + b(x)u′ (x) = f (x),
(CD) u(0) = α,
u′(1) = 0,
où α ∈ R, f est une fonction dans C 0 ([0, 1]) et b une fonction dans C 1 ([0, 1]) telle que
b(1) ≥ 0 et − 12 b′ (x) ≥ 0 sur [0, 1].
Pour N ∈ N∗ , on pose h = 1/(N + 1) et définit les points
xk = kh, k = 1, . . . , N + 1.
On notera, pour alléger les notations, bk = b(xk ) et fk = f (xk ). La méthode des différences
finies (avec une discrétisation centrée du terme convectif) pour le problème (CD) est donnée
par
−α + 2uk − uk+1 uk+1 − α
+ bk = fk , k = 1,
h2 2h
−uk−1 + 2uk − uk+1 uk+1 − uk−1
+ bk = fk , k = 2, . . . , N,
h 2 2h
−2uk−1 + 2uk
= fk , k = N + 1.
h2
1
5. Ecrire une fonction qui évalue la solution exacte, donnée à l’occurrence par sin(πx/2),
dans les points du maillage. L’entête de cette fonction sera
function ue=SolExact(N).
Argument d’entrée : le nombre de points N. Argument de sortie : ue contenant le
vecteur des valeurs ponctuelles de la solution exacte.
6. Pour des valeurs de N données par N = 6 × 2j , j = 1, . . . , 7, calculer chacune des
erreurs kuh − ueh k1 , kuh − ueh k2 et kuh − ueh k∞ , où uh représente la solution de la
méthode des différences finies et ueh le vecteur des valeurs ponctuelles de la solution
exacte. Représenter sur un même graphique les trois courbes kuh − ueh kq , q = 1, 2, ∞,
en fonction de N en échelle log–log.
Ecrivez cet algorithme dans le langage Scilab comme si vous le programmez dans l’or-
dinateur.
Ceci est une question algorithmique – cela n’est pas la syntaxe exacte du
langage Scilab, mais l’algorithmique qui compte !