Vous êtes sur la page 1sur 8

Département de mathématiques Master 1

Faculté des sciences exactes Méthodes numériques 2


Univ. des Frères Mentouri, Cne. N. ARAR & D. BELAKROUM
2017-2018 armathar113@ yahoo.fr & math_appliqu@yahoo.fr

Méthode des volumes finis

Introduction
La méthode des volumes finis est utilisée pour résoudre numériquement des équations
aux dérivées partielles, elle est très utilisée en mécanique des fluides.
L’équation aux dérivées partielles est résolue de manière approchée à l’aide d’un maillage
constitué de volumes finis (appelés "volumes de contrôle" ) qui sont des petits volumes
disjoints en 3D, (des surfaces en 2D, des segments en 1D) dont la réunion constitue le
domaine d’étude. Sa mise en œuvre est simple si les volumes élémentaires ou "volumes de
contrôle" sont des rectangles en 2D ou des parallélépipèdes en 3D. Cette méthode permet
d’utiliser des volumes de forme quelconque et donc de traiter des géométries complexes,
contrairement aux différences finies.
Contrairement à la méthode des différences finies qui met en jeu des approximations des
dérivées, la méthode des volumes finis exploite des approximations d’intégrales en se basant
directement sur la forme dite forte de l’équation à résoudre.
Cependant, l’inconvénient de la méthode des volumes finis est le manque de résultats
théorique concernant la convergence.
Parmis les EDP auxquels on peut appliquer la méthode des volumes finis, on cite l’équation
de Bürgers, l’équation de transport données dans le chapitre 1 et l’équation de Navier-
Stokes que nous rappelons dans le cas stationnaire par

−ν∆v + v∇v + ∇p = f dans Ω
div v = 0 dans Ω
où ν désigne la viscosité cinématique, v la vitesse du fluide et p la pression. Quand le terme
non linéaire v∇v est négligé devant le terme de viscosité ν∆v, on obtient le système dit
de Stokes 
−ν∆u + ∇p = f dans Ω
div u = 0 dans Ω

1 L’approche volumes finis


Le principe de la méthode des volumes finis est d’intégrer directement les équations
différentielles du problème à traiter sur des volumes élémentaires ou volumes de contrôle.
Définition 1.1. La valeur moyenne de la fonction f sur l’intervalle [a, b] est égal au réel
Z b
1
f (t)dt.
b−a a

1ere année Master 1 N.ARAR & D. BELAKROUM


1.1 Exemple 1-D avec conditions de Dirichlet
Considérons l’équation différentielle suivante

 −u00 (x) = f (x); 0<x<1
u(0) = α
u(1) = β

où f est une fonction donnée continue sur [0, 1].


L’intervalle [0, 1] est discrétisé en N mailles (selon la FIGURE 1) de centre xi et de taille
hi = xi+1/2 − xi−1/2 . La fonction u(x) est supposé constante dans chaque maille et égale
à une valeur approchée de la moyenne sur la maille considérée. On notera ui cette valeur
dans la i-ème maille de centre xi . Ainsi, on a dans la i-ème maille

∀x ∈ [xi−1/2 , xi+1/2 ], u(x) = ui .

Figure 1 – Discrétisation de l’intervalle [0, 1]

La discrétisation spatiale par les volumes finis consiste à intégrer maille par maille l’équa-
tion différentielle du problème, soit pour la i-ème maille
Z xi+1/2 Z xi+1/2
00
− u (x) dx = f (x) dx
xi−1/2 xi−1/2

Ce qui donne
u0 (xi−1/2 ) − u0 (xi+1/2 ) = hi f̄i , ∀ i = 1, N ,
où f̄i désigne la valeur moyenne de f sur la i-ème maille, donnée par
1 xi+1/2
Z
f̄i = f (x) dx
hi xi−1/2

Il reste maintenant à exprimer u0 (xi−1/2 ) en fonction des inconnues ui . L’approximation la


plus naturelle est de prendre la valeur moyenne de u0 (x) sur le segment [xi−1 , xi ], soit
Z xi
0 1 u(xi ) − u(xi−1 ) ui − ui−1 hi−1 + hi
u (xi−1/2 ) = hi−1 +hi u0 (x) dx = = ; hi−1/2 =
2 xi−1 hi−1/2 hi−1/2 2

Cette dernière expression n’est pas valable au bord gauche, pour i = 1, en x1/2 = 0, car
elle fait intervenir le point x0 qui n’est pas défini. Il se pose alors le problème du traitement
des bords qui exige une formulation particulière.

1ere année Master 2 N.ARAR & D. BELAKROUM


Une possibilité est de considérer la valeur moyenne de u0 (x1/2 ) non plus sur le segment
[x0 , x1 ] qui n’est pas défini mais sur le segment [x1/2 , x1 ], ainsi on écrit
Z x1
0 2 2(u1 − u(0)) 2(u1 − α)
u (x1/2 ) = u0 (x) dx = = .
h1 x1/2 h1 h1

Et de même pour le terme u0 (xi+1/2 ), on écrit


ui+1 − ui
u0 (xi+1/2 ) = .
hi+1/2

Le même problème survient au bord droit, pour i = N, en xN +1/2 = 1.


On considère la valeur moyenne de u0 (xN +1/2 ) non plus sur le segment [xN , xN +1 ] qui n’est
pas défini mais sur le segment [xN , xN +1/2 ], soit
Z xN +1/2
0 2 2(u(1) − uN ) 2(β − uN )
u (xN +1/2 ) = u0 (x) dx = = .
hN xN hN hN

La discrétisation en Volumes Finis est finalement, donnée par



2(u1 − α) u2 − u1
− = h1 f¯1


h h



 1 3/2



ui − ui−1 ui+1 − ui


− = hi f̄i ∀ i = 2, N − 1

 h i−1/2 hi+1/2



uN − uN −1 2(β − uN )


= hN f¯N


 −
hN −1/2 hN

Dans le cas où les N points de l’intervalle [0, 1] sont régulièrement espacés avec un pas h.
La discrétisation en Volumes Finis devient
  

3u1 − u2 = h f¯1 + 2
2


h







−ui−1 + 2ui − ui+1 = h2 f̄i ∀ i = 2, N − 1



  


−uN −1 + 3uN = h f¯N + 2


 2

h
Et le système linéaire à résoudre s’écrit donc, sous la forme matricielle

f¯1 + 2α/h2
    
3 −1 0 · · · 0 u1
−1
 2 −1 · · · 0    u2 
  
 f¯2 

 .. ... .. .. ..   ..  = h2  .. 
 . . . .  .   . 

0 0 −1 2 −1

 uN −1



 ¯
fN −1 

0 0 0 −1 3 uN f¯N + 2β/h2

1ere année Master 3 N.ARAR & D. BELAKROUM


1.2 Exemple 1D avec conditions mixtes Dirichlet-Neumann
Considérons l’équation différentielle suivante

 −u00 (x) = f (x), x ∈]0, 1[
u(0) = α
u0 (1) = β

où l’on a cette fois une condition de Neumann en x = 1.


On se place sur le même maillage que précédemment et on adopte la même démarche.
L’équation intégrée sur une maille élémentaire est
u0 (xi−1/2 ) − u0 (xi+1/2 ) = hi f̄i , ∀ i = 1, N ,
Le calcul des termes de dérivée aux interfaces s’effectue de la même manière que précé-
demment. Au bord droit, à l’interface xN +1/2 = 1, l’application de la condition u0 (1) = β
s’applique très naturellement et l’on a
u0 (xN +1/2 ) = β.
La discrétisation en Volumes Finis est donnée par
2(u1 − α) u2 − u1


 − = h1 f¯1



 h 1 h3/2



 u −u
i i−1 ui+1 − ui
− = hi f̄i ∀ i = 2, N − 1

 hi−1/2 hi+1/2



uN − uN −1


− β = hN f¯N



hN −1/2
Dans le cas où les N points de l’intervalle [0, 1] sont régulièrement espacés avec un pas h.
La discrétisation en Volumes Finis devient
  
2 ¯ 2α
3u1 − u2 = h f1 + 2


h







−ui−1 + 2ui − ui+1 = h2 f̄i ∀ i = 2, N − 1



  
β

−uN −1 + uN = h f¯N +


 2

h
Et le système linéaire à résoudre s’écrit donc, sous la forme matricielle
f¯1 + 2α/h2
    
3 −1 0 · · · 0 u1
−1 2 −1 · · · 0   u2 
  

 f¯2 

 .. . . . . . . ..   ..  = h2  .. 
 . . . . .  .   . 

0 0 −1 2 −1

  uN −1



 ¯
fN −1 

0 0 0 −1 1 uN f¯N + β/h

1ere année Master 4 N.ARAR & D. BELAKROUM


1.3 Discrétisation de l’équation de la chaleur 1D
Considérons le problème mono-dimensionnel de la conduction de la chaleur dans une
barre de 1m de longueur, donné par
∂u ∂ 2u


 = α



 ∂t ∂x2


 u(0, t) = ug
 u(1, t) = ud



u(x, 0) = u0 , la condition initiale
où, u(x, t) est le champ de température, α la diffusivité thermique que l’on supposera
égale à 1, ug et ud les deux conditions aux limites aux extrémités de la barre.

L’intervalle [0, 1] est discrétisé en N mailles de centres xi (i variant de 1 à N ) régu-


lièrement espacés par le pas ∆x = xi+1/2 − xi−1/2 . Le temps est discrétisé en intervalles
de pas constant, ∆t.
A chaque instant, la température u(x, t) est supposée constante dans chaque maille et
égale à une valeur approchée de la moyenne sur la maille considérée. Notons uni cette
valeur dans la i-ème maille de centre xi et à l’instant t = n∆t.
La discrétisation spatiale par les volumes finis consiste à intégrer maille par maille l’EDP
du problème, soit pour la i-ème maille
Z xi+1/2 Z xi+1/2 2 Z xi+1/2  n Z xi+1/2  2 n
∂u ∂ u au temps ∂u ∂ u
dx = 2
dx −−−−−→ dx = dx
xi−1/2 ∂t xi−1/2 ∂x tn xi−1/2 ∂t xi−1/2 ∂x2
Nous utilisons un schéma d’Euler explicite pour évaluer la dérivée temporelle, il vient
"  #
n  n  n
un+1
i − u n
i ∂u ∂u ∂u un+1 − uni
∆x = − ; ' i
∆t ∂x xi+1/2 ∂x xi−1/2 ∂t ∆t
Les termes de dérivée première aux interfaces xi+1/2 sont évalués en considérant la valeur
∂u
moyenne sur le segment [xi , xi+1 ], soit
∂x
 n Z xi+1  n
∂u 1 ∂u un − uni
= dx = i+1
∂x xi+1/2 ∆x xi ∂x ∆x
Cette formulation n’est pas valable dans la maille N à l’extrémité droite de la barre. Dans
cette maille, on considère la valeur moyenne calculée sur l’intervalle [xN , 1]. D’où
 n Z 1  n
∂u 2 ∂u un − unN
= dx = 2 d
∂x xN +1/2 ∆x xN ∂x ∆x
De même, les termes de dérivée première aux interfaces xi−1/2 sont évalués en considérant
∂u
la valeur moyenne sur le segment [xi−1 , xi ], soit
∂x
 n Z xi  n
∂u 1 ∂u un − uni−1
= dx = i
∂x xi−1/2 ∆x xi−1 ∂x ∆x

1ere année Master 5 N.ARAR & D. BELAKROUM


Avec un problème dans la première maille à l’extrémité gauche de la barre. Dans cette
maille, on considère la valeur moyenne calculée sur l’intervalle [0, x1 ]. D’où
 n Z x1  n
∂u 2 ∂u un1 − ung
= dx = 2
∂x x1/2 ∆x 0 ∂x ∆x

En posant
∆t
λ= ,
(∆x)2
la température à l’itération n + 1 est donnée par
 n+1

 u1 = (1 − 3λ)un1 + λun2 + 2λung



un+1
i = λuni−1 + (1 − 2λ)uni + λuni+1 , ∀ i = 2, N − 1




 n+1
uN = λunN −1 + (1 − 3λ)unN + 2λund

qui s’écrit encore sous la forme matricielle


 n+1   n  
u1 1 − 3λ λ 0 ··· 0 u1 ung
 u2 
 
 λ
 1 − 2λ λ ··· 0   u2 
  0
 
 ..   .. .. .. .. .. ..  .. 
= . + 2λ
  
 .  . . . .   .  .
      
uN −1   0 0 λ 1 − 2λ λ  uN −1  0
uN 0 0 0 λ 1 − 3λ uN und

1.4 Discrétisation de l’équation de la chaleur 2D stationnaire


Considérons le problème bidimensionnel stationnaire de la conduction de la chaleur
dans un domaine rectangulaire [0, Lx ] × [0, Ly ]. Le champ de température u(x, y) vérifie
l’équation de Laplace

∂ 2u ∂ 2u
∆u = + = 0, (x, y) ∈ [0, Lx ] × [0, Ly ]


∂x2 ∂y 2






 u(0, y) = ug et u(Lx , y) = ud 0 < y < Ly




u(x, 0) = ub et u(x, Ly ) = uh 0 < x < Lx

Le domaine de calcul est discrétisé en N × P mailles de centres (xi , yj ) (i variant de


1 à N et j variant de 1 à P ). On supposera que les pas d’espace dans chaque direction
∆x = xi+1/2 − xi−1/2 et ∆y = yj+1/2 − yj−1/2 sont constants.
La température u(x, y) est supposée constante dans chaque maille et égale à une valeur
approchée de la moyenne sur la maille considérée. On notera uij cette valeur dans la maille
(i, j).

1ere année Master 6 N.ARAR & D. BELAKROUM


La discrétisation spatiale par les volumes finis consiste à intégrer maille par maille l’EDP
du problème, soit pour la maille (i, j) de centre (xi , yj )
Z xi+1/2 Z yj+1/2  2
∂ u ∂ 2u

+ dxdy = 0
xi−1/2 yj−1/2 ∂x2 ∂y 2
Il vient
Z yj+1/2 "    # Z xi+1/2
"    #
∂u ∂u ∂u ∂u
− dy + − dx = 0
yj−1/2 ∂x xi+1/2 ∂x xi−1/2 xi−1/2 ∂y yj+1/2 ∂y yj−1/2
 
∂u
Le terme de dérivée première à l’interface xi+1/2 est évalué en calculant une
∂x xi+1/2
valeur moyenne sur l’intervalle [xi , xi+1 ]
  Z xi+1
∂u 1 ∂u ui+1,j − ui,j
= dx =
∂x xi+1/2 ∆x xi ∂x ∆x
De même, le terme de dérivée première à l’interface xi−1/2 est évalué en considérant la
valeur moyenne sur le segment [xi−1 , xi ]. Ce qui permet d’écrire
Z yj+1/2 "    # Z yj+1/2  
∂u ∂u ui+1,j − ui,j ui,j − ui−1,j
− dy = − dy
yj−1/2 ∂x xi+1/2 ∂x xi−1/2 yj−1/2 ∆x ∆x
ui+1,j − 2ui,j + ui−1,j
= ∆y .
∆x
∂u
En opérant identiquement pour les termes aux interfaces yj+1/2 et yj−1/2 , on aboutit
∂y
à l’expression suivante valable pour i variant de 2 à N − 1 et j variant de 2 à P − 1
∆y 2 (ui+1,j + ui−1,j ) + ∆x2 (ui,j+1 + ui,j−1 ) − 2(∆x2 + ∆y 2 )ui,j = 0.
Cette relation n’est pas valable aux bords du domaine pour lesquels les termes de déri-
vées premières sont évalués enconsidérant une valeur moyenne sur une demi-maille. Par
∂u
exemple, pour la dérivée , la valeur moyenne sera calculée sur l’intervalle [0, x1 ]
∂x x1/2
et fera intervenir les conditions aux limites (la température ug au bord gauche)
  Z x1
∂u 2 ∂u u1,j − ug
= dx = 2
∂x x1/2 ∆x 0 ∂x ∆x

Ainsi pour les cellules adjacentes au bord gauche (i = 1, j variant de 1 à P ), la formulation


est


 ∆y 2 (u2,j + 2ug ) + ∆x2 (u1,j+1 + u1,j−1 ) − 2(∆x2 + 23 ∆y 2 )u1,j = 0; j = 2, P − 1



∆y 2 (u2,1 + 2ug ) + ∆x2 (u1,2 + 2ub ) − 3(∆x2 + ∆y 2 )u1,1 = 0; j = 1




∆y 2 (u2,P + 2ug ) + ∆x2 (2uh + u1,P −1 ) − 3(∆x2 + ∆y 2 )u1,P = 0; j = P

1ere année Master 7 N.ARAR & D. BELAKROUM


On aura une formulation équivalente pour les cellules adjacentes aux 3 autres bords du
domaine.

Soit sous forme matricielle, pour N = P = 3, en posant



 A = ∆x2 + ∆y 2
B = 3∆x2 + 2∆y 2
C = 2∆x2 + 3∆y 2 .

−3A ∆y 2 ∆x2
 2
0 0 0 0 0 0 u11 ∆x ub + ∆y 2 ug
   
 ∆y 2 −B ∆y 2 0 ∆x2 0 0 0 0  2
 u21   2 ∆x ub 2 
   
2 2

 2 ∆y −3A
 0 0 0 ∆x 0 0 0   u31 
   ∆x ub + ∆y ud 
2 2 2u
 
 ∆x
 0 0 −C ∆y 0 ∆x 0 0  u12 
 

 ∆y g 

 0 ∆x 2 0 2
∆y −2A ∆y 2 0 ∆x 2 0  u22  = −2 
    0 
 
 0 0 ∆x 2 0 ∆y 2 −C 0 0 2
∆x  u32 
    2
∆y ud 
  
 0
 0 0 ∆x2 0 0 −3A ∆y 2 0   u13 
  ∆x2 uh + ∆y 2 ug 
 
 0 0 0 0 ∆x2 0 ∆y 2 −B ∆y 2  u23   ∆x2 uh 
0 0 0 0 0 ∆x 2 0 2
∆y −3A u33 2 2
∆x uh + ∆y ud

Dans le cas où les pas d’espace sont identiques ∆x = ∆y, la formulation matricielle, pour
N = P = 3, devient
    
−6 1 0 1 0 0 0 0 0 u11 ub + ug
 1 −5 1 0 1 0 0 0 0 u21 
   ub 
  
0
 1 −6 0 0 1 0 0 0  u31 
    ub + ud 
 
1
 0 0 −5 1 0 1 0 0  u12 
 
 ug 
 
0
 1 0 1 −4 1 0 1 0 u22  = −2  0 
   
0
 0 1 0 1 −5 0 0 1  u32 
  
 ud 
 
0
 0 0 1 0 0 −6 1 0 u13 
  uh + ug 
 
0 0 0 0 1 0 1 −5 1   u23   uh 
0 0 0 0 0 1 0 1 −6 u33 uh + ud

1ere année Master 8 N.ARAR & D. BELAKROUM

Vous aimerez peut-être aussi