You are on page 1of 3

Université Pierre et Marie Curie Année universitaire 2008-2009

M1 Master mathématiques et applications - Cours MM006


Bases des méthodes numériques - E. Godlewski et M. Vohralik

Partiel du vendredi 24 octobre 2008


durée 2 heures - aucun document n’est autorisé
Il est demandé de justifier précisément les résultats et de rédiger soigneusement.
Toutes les questions sont indépendantes.

Il est demandé de rédiger la question scilab sur une feuille séparée

Les indications de coefficients (note sur 20 points) sont indicatives

Question 1 (6 points)
a- Soit I =]a, b[ un intervalle quelconque non vide, et I0 =]0, 1[. On note I = [a, b],
I 0 = [0, 1]. Définir le changement de variable affine p (c’est à dire p ∈ P1 ) de I 0 , à valeurs
dans I, bijectif, que l’on notera s 7→ x = p(s) (c’est à dire pour s ∈ I 0 , p(s) = x ∈ I).
Montrer que p induit un isomorphisme entre H 1 (I) et H 1 (I0 ) obtenu en posant
v̂(s) = v(p(s)).
Indication : on vérifiera que si v ∈ H 1 (I), on a bien v̂ ∈ H 1 (I0 ), que l’application v 7→ v̂
est linéaire continue sur H 1 (I) à valeurs dans H 1 (I0 ) et on donnera une estimation de sa
norme ; enfin on montrera qu’on peut définir l’application réciproque de H 1 (I0 ) à valeurs
dans H 1 (I) qui est aussi continue, on la notera v 7→ v̌.
b- Quelle est l’image de H01 (I0 ) par l’application v 7→ v̌ ?
c- Montrer que ∀v ∈ H01 (I)
1
||v||0,I ≤ √ (b − a)|v|1,I .
2
R1
(rappel : on a défini, pour v ∈ H 1 (I0 ), |v|1,I0 = ( 0 |v 0 (s)|2 ds)1/2 , et pour v ∈ L2 (I0 )
R1
||v||0,I0 = ( 0 |v(s)|2 ds)1/2 )
d- Question complémentaire (1 point) : on peut améliorer l’estimation précédente. Mon-
trer que
1
||v||0,I ≤ √ (b − a)|v|1,I .
2 2

Question 2 (6 points) Pour f, c ∈ C 0 ([0, 1]) c ≥ 0 données, on considère le problème


aux limites : trouver u ∈ C 4 (]0, 1[) ∩ C 1 ([0, 1]) tel que
 4
 d u (x) + c(x)u(x) = f (x) dans ]0, 1[,

(P) dx4
 u(0) = u(1) = 0, d u(0) = d u(1) = 0.

dx dx
1
a- Définir une formulation variationnelle (FV) de (P) dans un sous espace V de l’espace
{v ∈ C 2 ([0, 1]), v(0) = 0, v(1) = 0}. Introduire une forme bilinéaire a et une forme
linéaire ` que l’on précisera. Montrer qu’une solution de (P) est solution du problème
variationnel.
b- Que peut - on dire de la réciproque ?
c- Montrer que si (FV) a une solution, celle ci est unique.
d- Question complémentaire (1 point) : Dans quel espace de Sobolev adapté faudra t-il
écrire une formulation variationnelle (prolongeant (FV)) pour pouvoir montrer l’existence
d’une solution ?

Question 3 (3 points) Définir un schéma de différences finies pour approcher la solution


de l’équation aux dérivées partielles

∂u ∂2u ∂2u
− ν 2 − ν 2 = f (x, y) dans t > 0, (x, y) ∈ Ω =]0, 1[×]0, L[,



(Pc) ∂t ∂x ∂y

 u(x, y, 0) = u 0 (x, y), (x, y) ∈ Ω
u(x, y, t) = 0, (x, y) ∈ ∂Ω, t > 0.

On suppose ν > 0, L > 0 ; f ∈ C 1 (Ω), f (x, y) = 0, (x, y) ∈ ∂Ω, u0 ∈ C 2 (Ω) vérifiant


u0 (x, y) = 0, (x, y) ∈ ∂Ω et on admet que ce problème a une solution unique assez
régulière u ∈ C 0 (Ω × [0, T ]) ∩ C 1 (Ω×]0, T ]), et t 7→ u(., t) ∈ C 2 (Ω) continue sur [0, T ].
Question complémentaire (2 points) : évaluer l’erreur de consistance.

Il est demandé de rédiger la question suivante sur une feuille séparée


Question Scilab (5 points)

Soit le problème : trouver u : [0, 1] −→ R telle que



 −u00 (x) = π 2 sin(πx),
(P ) u(0) = 0, (1)
u(1) = 0.

La solution exacte est sin(πx).


Pour N ∈ N∗ , posons h = 1/(N + 1) et définissons les points

xk = kh, k = 1, . . . , N.

Considérons la discrétisation par la méthode des différences finies de ce problème.

1. Ecrire une fonction Scilab calculant la matrice de la méthode des différences finies
Ah pour le problème (P ). L’entête de cette fonction sera
function A=CalculMatD(N).
Argument d’entrée : le nombre de points N . Argument de sortie : un tableau carré
A contenant Ah .

2
2. Ecrire une fonction qui construit le vecteur bh . L’entête de cette fonction sera
function b=CalculSMD(N).
Argument d’entrée : le nombre de points N . Argument de sortie : b contenant le
vecteur du second membre bh .
3. Ecrire une fonction qui évalue la solution exacte sin(πx) 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.
4. 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 en fonction
de N en échelle log–log.

Ecrivez cet algorithme dans le langage Scilab comme si vous le programmiez dans
l’ordinateur.
Ceci est une question algorithmique – ce n’est pas la syntaxe exacte du
langage Scilab, mais l’algorithmique qui compte !

You might also like