Vous êtes sur la page 1sur 19

Méthode des éléments nis

Professeur : Alo Quarteroni


Assistant : Benjamin Stamm

Corina Grünenfelder - Alex Monnard


27 novembre 2007
1
TABLE DES MATIÈRES

Table des matières


1 Problème à résoudre 2
2 Formulation faible du problème 3
3 Problème discret 4
4 Implémentation dans MATLAB 6
5 Test de cas particuliers 8
6 Cas de transport dominant 9
6.1 Méthode des éléments nis . . . . . . . . . . . . . . . . . . . . 9
6.2 Méthode de Galerkin . . . . . . . . . . . . . . . . . . . . . . . 11
6.3 Méthode GALS . . . . . . . . . . . . . . . . . . . . . . . . . . 14

7 Cas de réaction dominante 15


7.1 Méthode des éléments nis . . . . . . . . . . . . . . . . . . . . 15
7.2 Méthode de Galerkin par masslumping . . . . . . . . . . . . . 17

Introduction
Cet article est rédigé dans le cadre du cours "Introduction à la méthode
des éléments nis" dispensé par le professeur A.Quarteroni. Son but est
d'introduire l'utilisation de méthodes de calcul numérique pour certains pro-
blèmes particuliers de diusion-transport-réaction mono-dimensionnel. Pour
ce faire, nous nous aiderons du logiciel MATLAB. Nous allons ensuite, pour
les diérents problèmes, comparer les solutions obtenues par approximation
aux solutions exactes. Nous verrons quelle méthode utiliser en fonction du
problème donné.

1 Problème à résoudre
Considérons le problème de diusion-transport-réaction mono-dimensionnel
suivant : (
−αu00 + βu0 + γu = f dans (0, 1),
(1)
u(0) = 0, u(1) = 1,

2
2 FORMULATION FAIBLE DU PROBLÈME

avec α, β et γ des constantes positives, qui dénotent respectivement les co-


ecients de diusion, de transport et enn de réaction du problème. Pour
nir la fonction f ∈ L2 (0, 1) est donnée.

2 Formulation faible du problème


Le but de cette partie est de trouver une formulation faible du pro-
blème (1) et de le mettre sous la forme générale :
(
Chercher u ∈ V, tel que
(2)
a(u, v) = F (v), ∀v ∈ V,
en explicitant V et les formes a et F .
Tout d'abord, pour obtenir un problème avec des conditions de bord ho-
mogènes, on applique la technique de relèvement. On pose alors u(x) = ũ(x) + x,
puis on cherche ũ : (0, 1) → R tel que
(
−αũ00 + β ũ0 + β + γ ũ + γx = f dans (0, 1),
(3)
ũ(0) = ũ(1) = 0,
Supposons que ũ soit une solution régulière de classe 2 (solution forte) du
système (3). Soit v ∈ V = {v ∈ L2 (0, 1)|v(0) = 0, v(1) = 0} = H01 (0, 1) une
fonction test. On multiplie par v et on intègre par parties le terme d'ordre 2.
On trouve alors :

Z 1 Z 1 Z 1 Z 1
00 0
− αũ v + β ũ v + γ ũv = (f − γx − β)v
0 0 0 0
Z 1 Z 1 Z 1 Z 1
 0 1 0 0 0
⇐⇒ − αũ v 0 + αũ v + β ũ v + γ ũv = (f − γx − β)v
0 0 0 0
Z 1 Z 1 Z 1 Z 1
0 0 0
⇐⇒ αũ v + β ũ v + γ ũv = (f − γx − β)v.
0 0 0 0

Il s'agit alors de
(
Chercher ũ ∈ V, tel que
(4)
a(ũ, v) = F (v), ∀v ∈ V,

Où nous avons introduit la forme bilinéaire

3
3 PROBLÈME DISCRET

a:V ×V −→ R
Z 1 Z 1 Z 1
0 0 0
(ũ, v) 7−→ a(ũ, v) = αũ v + β ũ v + γ ũv,
0 0 0

et la fonctionnelle linéaire

F :V −→ R Z 1
v 7−→ F (v) = (f − γx − β)v.
0

Nous avons toujours que l'espace V est :

V = H01 (0, 1),

et que u(x) = ũ(x) + x.

3 Problème discret
Soit n un entier positif, h = 1/n, xj = jh et {[xj , xj+1 ]}n−1
j=0 une partition
de l'intervalle [0, 1].
Par la partie précédente nous savons que nous pouvons écrire le problème
sous forme
a(ũ, v) = F (v),
où ũ, v ∈ H01 (0, 1), et u(x) = ũ(x) + x.
L'espace H01 (0, 1) est de dimension innie, ce qui nous pose problème pour
l'implémentation de méthodes numériques. C'est pourquoi, nous allons utili-
ser les éléments nis de Lagrange pour discrétiser le problème, de manière à
se trouver en dimension nie. Nous pouvons donc poser le problème discret
comme suit :
(
Chercher ũh ∈ Vh , tel que
(5)
a(ũh , vh ) = F (vh ), ∀vh ∈ Vh ,

Vh = {vh ∈ Xh1 |vh (0) = vh (1) = 0},
avec
Xh1 = {vh ∈ C 0 ([0, 1])|vh|[xi ,xi+1 ] ∈ P1 , i = 1, . . . , M }.

4
3 PROBLÈME DISCRET

De plus, Z 1 Z 1 Z 1
a(ũh , vh ) = αũ0h vh0 + β ũ0h vh + γ ũh vh
0 0 0
et Z 1
F (vh ) = (f − γx − β)vh .
0
Le problème (5) cherche alors des approximations des fonctions de départ.
Etant donné que ce dernier doit être vérié pour tout vh nous pouvons, par
conséquent, prendre en particulier les fonctions de la base de Vh , c'est-à-dire
Pn−1
vh = ϕi où i = 1, . . . , n − 1 et écrire, dans cette base, ũh = j=1 ũj ϕj , où les
fonctions de base ϕi ∈ Vh pour i = 1, . . . , n − 1 sont dénies comme suit :

 x−x
 h
 i−1
si xi−1 ≤ x ≤ xi ,
−(x−xi+1 )
ϕi = h
si xi ≤ x ≤ xi+1 ,
sinon.

0

Par linéarité du problème (2) nous pouvons écrire le problème discret sous
forme
n−1
X
ũj a(ϕj , ϕi ) = F (ϕi ), ∀i = 1, . . . , n.
| {z } | {z }
j=1
aij Fi

Ce qui revient à la résolution d'un système linéaire de la forme :


Ax = F. (6)
De plus, par l'exercice 2 de la série 6, A est de la forme suivante :

−1
     
2 0 0 1 0 4 1 0
. . . .  . .
−1 . . . .
α −1 . . . .  γh 1 . . . . 
 β  
A=  + + .

h .. .. .. .. 6  . . . . . . 1
. . −1 2  . . 1
   

0 −1 2 0 −1 0 0 1 4
Le membre de droite de l'équation (6) est égal à
Z 1
Fi = (f − γx − β)ϕi , pour i = 1, . . . , n − 1.
0

Pour conclure, nous avons ainsi obtenu un système linéaire de la forme


Ax = F , avec x = (ũ1 , . . . , ũn ).

5
4 IMPLÉMENTATION DANS MATLAB

4 Implémentation dans MATLAB


Pour f ∈ P1 , nous devons écrire une fonction MATLAB permettant de
construire A, F ainsi que de calculer x. Vu que f ∈ P1 , alors f sera de la
forme f = mx + q .
Sachant que suppϕi = [xi−1 , xi+1 ], nous pouvons écrire
Z 1
Fi = (mx + q − γx − β)ϕi
0
Z xi+1
= (mx + q − γx − β)ϕi , pour i = 1, . . . , n − 1.
xi−1

R xi+1 R xi+1
Nous savons que xi−1 ϕi = h et par la série 7, que xi−1 xϕi = ih2 . Nous
trouvons alors la valeur suivante pour l'intégrale :
Fi = ih2 (m − γ) + h(q − β).
Nous connaissons donc les valeurs de A et de F . Nous pouvons désormais
résoudre le système :
Ax = F,
où x = (ũ1 , . . . , ũn ).
Du fait de la forme particulière de la matrice A ce système est équivalent
à résoudre :
2α 2γh
ih2 (m − γ) + h(q − β) = ( + )ũi
h 3
α β γh
+ (− − + )ũi−1
h 2 6
α β γh
+ (− + + )ũi+1 .
h 2 6
Or, nous voulons résoudre le système pour u et non pour ũ. Pour ce faire,
nous rappelons que ũi (x) = ui (x) − xi avec xi = ih, ainsi nous obtenons :

2α 2γh
ih2 (m − γ) + h(q − β) = ( + )(ui − ih)
h 3
α β γh
+ (− − + )(ui−1 − (i − 1)h)
h 2 6
α β γh
+ (− + + )(ui+1 − (i + 1)h)
h 2 6

6
4 IMPLÉMENTATION DANS MATLAB

2α 2γh α β γh
⇐⇒ ih2 (m − γ) + h(q − β) = ( + )ui + (− − + )ui−1
h 3 h 2 6
α β γh 2α α
+ (− + + )ui+1 − ih + (i − 1)h
h 2 6 h h
α 2γh γh
+ (i + 1)h − ih − (i − 1)h
h 3 6
γh β β
− (i + 1)h + (i − 1)h − (i + 1)h.
6 2 2
Après simplication de la partie droite de l'égalité nous arrivons à
2α 2γh
ih2 (m − γ) + h(q − β) = (+ )ui
h 3
α β γh
+ (− − + )ui−1
h 2 6
α β γh
+ (− + + )ui+1 − ih2 γ − hβ.
h 2 6
Ce qui se réduit à
2α 2γh
ih2 m + hq = (+ )ui
h 3
α β γh
+ (− − + )ui−1
h 2 6
α β γh
+ (− + + )ui+1 .
h 2 6
Nous avons désormais toutes les cartes en main pour entreprendre l'im-
plémentation MATLAB, dont voici le code :

function [ A, x ] = exo3(a,b,c,r,m,q,x_0,x_1)
% a = alpha ; b = beta ; c = gamma ; r = dim(A)+1;
%f = mx+q car f \in P_1
h = 1/r;
n = r-1;
A = (a*2/h+c*2*h/3)*diag(ones(n,1)) ...
+ (-a/h+b/2+c*h/6)*diag(ones(n-1,1),1)...
+(-a/h-b/2+c*h/6)*diag(ones(n-1,1),-1);
v= [];

7
5 TEST DE CAS PARTICULIERS

for i=1:n-1
v=[v i*h^2*(m)+h*(q)]; % rempli le vecteur F
end;
%dernière composante de l'interpolation car u(1)=1
v = [v h^2*(n)*m+h*q+a/h-b/2-c*h/6];
w = v';
% w = f dans l'équ Ax = f
x = A\w;
x = [x_0;x ;x_1]; %ajout des conditions aux bords
plot([0 :h: 1],x,'r'); hold on;

5 Test de cas particuliers


A présent, nous allons tester la fonction MATLAB donnée précédemment
pour quelques cas particuliers. Nous allons chercher une solution approchée
de (1) dans le cas α = β = f = 1 et γ = 0. De par la facilité de ce problème
nous pouvons aisément trouver que la solution exacte est u(x) = x.
Nous savons que
s
Z 1
M
ku − uh kV ≤ Ch |u|H r+1 (0,1) , avec |u|H r+1 (0,1) =
r
|Dr+1 u|2 .
ᾱ 0

Or dans notre qR cas, r = 1q , vu que f ∈ P1 . Par conséquent, nous avons :


1 R1
|u|H 2 (0,1) = 0
|D2 x|2 = 0
0 = 0. Ainsi, nous trouvons que ku − uh kV =
0.

Fig. 1  Solution exacte et approchée de (1) avec α = β = f = 1 et γ = 0.

8
6 CAS DE TRANSPORT DOMINANT

Nous allons aussi résoudre (1) dans le cas α = γ = 1, β = 0 et f (x) = x.


Une nouvelle fois nous trouvons comme solution u(x) = x. Ainsi, par le même
raisonnement, nous avons à nouveau ku − uh kV = 0. Ceci est renforcé par la
Figure 2.

Fig. 2  Solution exacte et approchée de (1) avec α = γ = 1, β = 0 et


f (x) = x.

6 Cas de transport dominant


Dans ce cas nous avons γ = 0, β  α et f = 0. Nous savons que la
solution exacte est donnée par :
 
exp αβ x − 1
u(x) =   , x ∈ [0, 1].
exp αβ − 1

Nous allons prendre dans la suite β = 1 et α = 0.01.

6.1 Méthode des éléments nis


Nous représentons dans les gures suivantes la solution exacte ainsi qu'une
solution approchée par la méthode des éléments nis d'ordre 1, pour n = 10
puis n = 40 et enn n = 60. Nous les avons obtenues en remplaçant les
valeurs données dans le programme précédent.

9
6.1 Méthode des éléments nis

Fig. 3  Solution exacte et approchée pour n = 10 avec γ = 0, β  α et


f = 0.

Par la Figure 3, nous remarquons que dans le cas n = 10 la solution


oscille. Pour le justier nous allons calculer le nombre de Péclet local. Nous
savons que dans ce cas
βh
Pe = .

Nous avons avec les données de ce problème : Pe = 2·0.01
0.1
= 5. Or nous sa-
vons que si Pe > 1 la solution approchée est oscillante (voir cours d'éléments
nis 2007, page 35).
Nous allons donc voir comment les choses s'améliorent si n = 40 :

Fig. 4  Solution exacte et approchée pour n = 40 avec γ = 0, β  α et


f = 0.

On voit (Figure 4) que la solution oscille encore, malgré une légère amé-
lioration. Ceci se justie par le fait que Pe = 2·0.01·40
1
= 1.25.

10
6.2 Méthode de Galerkin

Il nous reste encore à essayer le cas n = 60.

Fig. 5  Solution exacte et approchée pour n = 60 avec γ = 0, β  α et


f = 0.

Nous voyons que cette approximation nous ore une solution approchée
qui n'oscille pas (Figure 5). Encore une fois ceci se justie en calculant :
Pe = 2·0.01·60
1
= 0.8. Or, dans le cas où cette valeur est strictement inférieure
à 1 nous savons que cela indique que l'approximation n'oscille pas.
Pour la justication sur le rapport entre le nombre de Péclet et les oscilla-
tions, nous renvoyons au polycopié du cours d'éléments nis 2007 (page 35).

6.2 Méthode de Galerkin


Nous allons ici implémenter dans MATLAB la méthode de Galerkin avec
viscosité articielle upwind. Cette méthode est semblable à la précédente, en
ajoutant simplement un terme φh articiel à la viscosité α de (1). Notons
que la propriété importante dans ce terme articiel est que

lorsque h → 0 ⇒ φh → 0.

De part cette similarité il nous sut de reprendre le code (voir section 4),
en remplaçant la valeur de α par α + φh . Nous allons prendre φh = β h2 .
Formellement nous aurions pu simplier le code, vu que, comme nous
allons le voir, dans le cas de cet exercice nous avons f = 0. Toutefois nous
avons préféré donner une méthode qui se généralise pour f ∈ P1 . Voici donc
le code pour cette méthode :

11
6.2 Méthode de Galerkin

function [ A, x ] = galerkin(a,b,c,r,m,q,x_0,x_1)
% a = alpha ; b = beta ; c = gamma ; r = dim(A)+1;
%f = mx+q car f \in P_1
h = 1/r;
n = r-1;
%Seul changement, (a) remplacé par (a+b*h/2)
A = ((a+b*h/2)*2/h+c*2*h/3)*diag(ones(n,1))...
+ (-(a+b*h/2)/h+b/2+c*h/6)*diag(ones(n-1,1),1)...
+(-(a+b*h/2)/h-b/2+c*h/6)*diag(ones(n-1,1),-1);
v= [];
for i=1:n-1
v=[v i*h^2*(m)+h*(q)]; % rempli le vecteur F
end;
%dernière composante de l'interpolation car u(1)=1
v = [v h^2*(n)*m+h*q+(a+b*h/2)/h-b/2-c*h/6]
w = v';
% w = f dans l'équ Ax = f
x = A\w;
x = [x_0;x ;x_1];
plot([0 :h: 1],x,'r'); hold on;
Nous allons maintenant tester cette nouvelle fonction dans les mêmes cas que
précédemment et voir si, par hasard, nous remarquons une diérence.

Fig. 6  Solution exacte et approchée par la méthode upwind pour n = 10


avec γ = 0, β  α et f = 0.

12
6.2 Méthode de Galerkin

Fig. 7  Solution exacte et approchée par la méthode upwind pour n = 40


avec γ = 0, β  α et f = 0.

Fig. 8  Solution exacte et approchée par la méthode upwind pour n = 60


avec γ = 0, β  α et f = 0.

Nous constatons la disparition des oscillations, même dans le cas où


n = 10. Ce qui nous montre, dans ce problème, la puissance de cette mé-
thode en comparaison de la méthode standard. An de justier ce résultat
nous sommes amenés à calculer dans les trois cas la nouvelle valeur du nombre
de Péclet local. Ce dernier vaut dans ce cas :
βh
Pe = .
2α + βh
Nous avons pour n = 10, Pe = 0.83̄, de même pour n = 40 nous avons
Pe = 0.5̄ et enn pour n = 60 nous avons Pe = 0.45 ¯ . Nous constatons que
pour les trois cas le nombre de Péclet est strictement inférieur à 1 ce qui
explique la disparition des oscillations.
Nous pouvons, alors, conclure que dans le cas de transport dominant, il
est favorable d'utiliser cette méthode.

13
6.3 Méthode GALS

6.3 Méthode GALS


Il s'agit de voir que si dans la méthode GALS nous utilisons le paramètre
de stabilisation
h
τj = , j = 0, . . . , n − 1,

alors GALS coïncide avec la méthode upwind.


Rappelons tout d'abord que la méthode GALS (Galerkin Least Squares)
est une méthode de Galerkin généralisée. En eet, nous remplaçons la forme
a par ah et la fonctionnelle linéaire F par Fh dans le problème de Galerkin
de la façon suivante :

ah (uh , vh ) = a(uh , vh ) + Lh (uh , vh ) et Fh (vh ) = F (vh ) + Ψh (vh ),

 
X hK
avec Lh (uh , vh ) = δ Luh , Lvh ,
K∈Th
β K

 
X hK
Ψh (vh ) = δ f, Lvh .
K∈Th
β K

Dans le deux dernières équations nous avons indiqué par


Z
(f, g)K = f g,
K

le produit scalaire dans L2 (K). Le paramètre δ > 0 est une variable à choisir
suivant le problème donné. De plus, nous pouvons, comme β est positif,
omettre la valeur absolue qui pourrait apparaître dans certains ouvrages pour
ce terme.
Il faut remarquer que dans le problème donné Th correspond à la partition
j=0 de l'intervalle [0, 1]. Dans notre cas, vu que f = 0 nous avons
{[xj , xj+1 ]}n−1
Ψh (vh ) = 0 et alors Fh (vh ) = F (vh ). De plus, τj = 2βh
correspond à δhβk .
C'est pourquoi nous avons :

14
7 CAS DE RÉACTION DOMINANTE

X h
Lh (uh , vh ) = (Luh , Lvh )K
K∈Th

h X
= (−αu00h + βu0h , −αvh00 + βvh0 )K
2β K∈T
h
n−1 Z xj+1
h X
= β 2 u0h vh0
2β j=0 xj
Z 1
h
= β 2 u0h vh0
2β 0
hβ 1 0 0
Z
= u v ,
2 0 h h
vu que uh et vh sont des polynômes du premier degré et que γ = 0.
Tout ceci nous mène à écrire la méthode de GALS dans ce cas comme
suit : (
Chercher uh ∈ Vh , tel que
(7)
ah (uh , vh ) = F (vh ), ∀vh ∈ Vh ,
R1 0 0
avec ah (uh , vh ) = ah (uh , vh )+ hβ u v . Mais ceci correspond exactement
2 0 h h
à la méthode upwind (voir polycopié du cours d'éléments nis 2007, page 37).
Ainsi avec ce paramètre de stabilisation, ces deux méthodes correspondent.

7 Cas de réaction dominante


Nous considérons alors le cas où β = 0, γ  α et de plus f = 0.
La solution de (1) est alors donnée par

exp (θx) − exp (−θx)


u(x) = ,
exp (θ) − exp (−θ)
avec θ = γ/α.
p

7.1 Méthode des éléments nis


On résout alors le problème approché par éléments nis pour γ = 1 et
α = 1/6000 quand n = 10, 20, 30, 40. Nous allons une nouvelle fois faire appel

15
7.1 Méthode des éléments nis

à la commande de section 4 avec les paramètres de ce nouveau problème. Nous


présentons, sous forme de graphe, pour chaque valeur de n la solution exacte
et la solution approchée.

(a) Solution approchée pour n=10 (b) Solution approchée pour


et solution exacte u(x). n=20 et solution exacte u(x).

(c) Solution approchée pour n=30 (d) Solution approchée pour


et solution exacte u(x). n=40 et solution exacte u(x).

Fig. 9  Solution exacte et solutions approximés par éléments nis

Dans ces graphes (Figure 9) nous voyons que les solutions approchées sont
oscillantes pour n = 10, 20, 30. Seul pour n = 40 la solution est monotone.
Nous allons justier ceci à l'aide du calcul du nombre de Péclet local. En eet,
ce nombre peut être calculé dans ce problème grâce à la formule suivante :

γh2
Pe = .

16
7.2 Méthode de Galerkin par masslumping

Or, par la série 7, exercice 2 nous savons que la solution n'est pas monotone
si Pe ≥ 1, et monotone sinon.
Si n = 10, nous avons Pe = 6·1/6000
0.12
= 10. Il est alors cohérent que la
solution oscille. Pour n = 20 nous trouvons que Pe = 6·1/6000
2
0.05
= 2.5. La
solution oscille toujours, mais déjà moins que dans le cas n = 10. Dans le
cas n=30, l'oscillation observée dans le graphe est très faible, ce qui devrait
correspondre à un nombre de Péclet local proche de un, mais toujours su-
(1/30)2
périeur. En eectuant le calcul, nous obtenons que Pe = 6·1/6000 = 1.1̄, ce
qui est cohérent avec le graphe obtenu. Si par contre nous regardons n = 40,
le graphe n'indique pas d'oscillations. En calculant le nombre de Péclet lo-
(1/40)2
cal, nous trouvons Pe = 6·1/6000 = 0.625. Par conséquent, dans l'ensemble la
"théorie du nombre de Péclet" a bel et bien été en accord avec nos résultats
graphiques.

7.2 Méthode de Galerkin par masslumping


Au vu de nos mauvais résultats pour ce problème par la méthode des
éléments nis standards, nous allons essayer une nouvelle méthode dite mé-
thode de Galerkin par masslumping. Cette méthode consiste à approcher les
intégrales élémentaires sur chaque sous-intervalle par la méthode du trapèze.
Nous rappelons que cette dernière consiste à approximer ces intégrales comme
suit : Z xi+1
h
f (x)dx ∼
= (f (xi ) + f (xi+1 )).
xi 2
La méthode de masslumping n'aectant que la partie réaction du problème,
nous obtenons, conformément aux calculs de l'exercice 2.4 de la série 7, que
la nouvelle matrice A, est la matrice suivante :

−1
     
2 0 0 1 0 1 0 0
. . . .  ... ... 
−1 . . . .
α −1 . . . . 
 β
0

A=  +   + γh  . .
 
h . .
. . . . −1 2  . .
. . . . 1  .
. . . . 0
0 −1 2 0 −1 0 0 0 1

Ainsi nous allons tous comme précédemment donner un code MATLAB,


de cette nouvelle méthode, dans un cas un peu plus général que celui demandé
ici.

17
7.2 Méthode de Galerkin par masslumping

function [ A, x ] = lumping(a,b,c,r,m,q,x_0,x_1)
% a = alpha ; b = beta ; c = gamma ; r = dim(A)+1;
%f = mx+q car f \in P_1
h = 1/r;
n = r-1;
A = (a*2/h+c*h)*diag(ones(n,1)) + (-a/h+b/2)*diag(ones(n-1,1),1)...
+(-a/h-b/2)*diag(ones(n-1,1),-1);
v= [];
for i=1:n-1
v=[v i*h^2*(m)+h*(q)]; % rempli le vecteur F

end;
% dernière composante de l'interpolation
v = [v h^2*n*m+h*q+a/h-b/2];
w = v';
% w = f dans l'équ Ax = f
x = A\w;
x = [x_0;x ;x_1];
plot([0 :h: 1],x,'r'); hold on;

Nous allons faire appel à cette nouvelle commande pour traiter le pro-
blème avec successivement n = 10, 20, 30, et 40. Nous représentons la solution
exacte ainsi que la solution approximée dans chacun de ces cas.
Nous constatons que dans ce cas nous n'avons plus aucune oscillation
(voir Figure 10), ce qui nous amène à penser que dans le cas de problèmes de
réaction dominante il est préférable de privilégier cette méthode à la méthode
des éléments nis standards. La disparition des oscillations est due au fait
que cette nouvelle méthode coïncide avec celle des diérences nies qui est
une méthode stable pour les problèmes de diusion-réaction.

18
7.2 Méthode de Galerkin par masslumping

(a) Solution approchée pour n=10 (b) Solution approchée pour


et solution exacte u(x). n=20 et solution exacte u(x).

(c) Solution approchée pour n=30 (d) Solution approchée pour


et solution exacte u(x). n=40 et solution exacte u(x).

Fig. 10  Solution exacte et solutions approximés par masslumping

19

Vous aimerez peut-être aussi