Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.
Cet article a une forme trop académique (mars 2013 ).
La forme ressemble trop à un extrait de cours et nécessite une réécriture afin de correspondre aux standards de Wikipédia .
N'hésitez pas à l'améliorer .
En analyse numérique , la méthode des volumes finis est une méthode utilisée pour résoudre numériquement des équations aux dérivées partielles . Elle est comparable en cela à la méthode des différences finies et à celle des éléments finis .
Contrairement à la méthode des différences finies, qui met en jeu des approximations des dérivées, les méthodes des volumes finis et des éléments finis exploitent des approximations d'intégrales. Toutefois, la méthode des volumes finis exploite directement la forme dite « forte » de l'équation à résoudre, alors que la méthode des éléments finis se fonde sur une formulation variationnelle de l'équation (on parle aussi de formulation faible ).
L'équation aux dérivées partielles est résolue de manière approchée à l’aide d’un maillage constitué de volumes finis , qui sont de petits volumes disjoints en 3D (des surfaces en 2D, des segments en 1D) dont la réunion constitue le domaine d'étude. Les volumes finis peuvent être construits autour de points d'un maillage initial, mais ce n’est pas une nécessité.
Les méthodes de volumes finis ont été initialement mises au point pour des lois de conservation hyperboliques , mais des développements récents permettent de les utiliser pour des équations elliptiques et paraboliques .
Ces équations aux dérivées partielles contiennent des termes de divergence . En utilisant le théorème de flux-divergence , les intégrales de volume d'un terme de divergence sont transformées en intégrales de surface et ces termes de flux sont ensuite évalués aux interfaces entre les volumes finis. On utilise une fonction de flux numérique pour élaborer une approximation des flux aux interfaces. Puisque le flux entrant dans un volume donné est égal au flux sortant du volume adjacent, ces méthodes sont conservatives, donc parfaitement adaptées à la résolution de lois de conservation.
Un autre avantage de la méthode des volumes finis est qu'elle est facilement utilisable avec des maillages non structurés car, en matière de discrétisation des lois de conservation, sa formulation ne tient aucun compte de la complexité du maillage. En revanche, les caractéristiques géométriques du maillage peuvent jouer un rôle prépondérant lorsque des flux diffusifs entrent en jeu.
On s'intéresse ici aux lois de conservation , dont la forme générale est la suivante :
∂
ρ
∂
t
+
d
i
v
J
=
g
,
∀
(
x
,
t
)
∈
Ω
×
R
+
{\displaystyle {\frac {\partial \rho }{\partial t}}+\mathrm {div} J=g,\qquad \forall (x,t)\in \Omega \times \mathbb {R} _{+}}
à laquelle on ajoute des conditions aux limites et des conditions initiales, et où :
ρ
{\displaystyle \rho }
(la densité ) est l'inconnue ;
J
{\displaystyle J}
le flux associé ;
g
{\displaystyle g}
le terme source ;
Ω
⊂
R
d
{\displaystyle \Omega \subset \mathbb {R} ^{d}}
.
De plus, J est de la forme suivante :
J
=
F
(
x
,
t
,
ρ
,
∇
ρ
)
{\displaystyle J=F(x,t,\rho ,\nabla \rho )}
. On citera par exemple :
Le flux de convection / transport :
J
=
v
(
x
,
t
)
f
(
ρ
)
{\displaystyle J=v(x,t)f(\rho )}
, où :
v
(
x
,
t
)
∈
R
d
{\displaystyle v(x,t)\in \mathbb {R} ^{d}}
le champ de vecteur donné ;
f
:
R
⟶
R
{\displaystyle f:\mathbb {R} \longrightarrow \mathbb {R} }
.
Le flux de diffusion :
J
=
−
κ
(
x
,
t
)
∇
ρ
{\displaystyle J=-\kappa (x,t)\nabla \rho }
, où :
κ
(
x
,
t
)
∈
R
{\displaystyle \kappa (x,t)\in \mathbb {R} }
dans le cas classique ;
κ
(
x
,
t
)
∈
M
d
(
R
)
{\displaystyle \kappa (x,t)\in {\mathcal {M}}_{d}(\mathbb {R} )}
dans certains cas.
Le flux de convection et diffusion :
J
=
v
(
x
,
t
)
f
(
ρ
)
−
κ
(
x
,
t
)
∇
ρ
{\displaystyle J=v(x,t)f(\rho )-\kappa (x,t)\nabla \rho }
.
Soit
Ω
{\displaystyle \Omega }
l'ensemble d'espace associé à l'équation aux dérivées partielles qui nous intéresse.
On appelle volumes de contrôle les éléments de la suite
(
K
i
)
1
⩽
i
⩽
I
{\displaystyle \left(K_{i}\right)_{1\leqslant i\leqslant I}}
, cette suite définissant un maillage du domaine
Ω
{\displaystyle \Omega }
, soit vérifiant :
K
i
{\displaystyle K_{i}}
un ouvert de
Ω
{\displaystyle \Omega }
;
K
i
∩
K
j
=
∅
,
∀
i
≠
j
{\displaystyle K_{i}\cap K_{j}=\varnothing ,\;\forall i\neq j}
;
∪
i
=
1
I
K
i
¯
=
Ω
¯
{\displaystyle \cup _{i=1}^{I}{\overline {K_{i}}}={\overline {\Omega }}}
.
Maillage d'un segment [A,B] pour la méthode des volumes finis.
Soit
Ω
=
]
0
,
1
[
{\displaystyle \Omega =]0,1[}
.
Les volumes de contrôle
(
K
i
)
1
⩽
i
⩽
I
{\displaystyle \left(K_{i}\right)_{1\leqslant i\leqslant I}}
forment un maillage
T
{\displaystyle {\mathcal {T}}}
de
Ω
{\displaystyle \Omega }
. En dimension 1, les volumes de contrôle sont des réunions d'intervalles ouverts. On considère par exemple
K
i
=
]
x
i
−
1
2
,
x
i
+
1
2
[
{\displaystyle K_{i}=\left]x_{i-{\frac {1}{2}}},x_{i+{\frac {1}{2}}}\right[}
comme l'indique la figure ci-contre.
On note
E
{\displaystyle {\mathcal {E}}}
l'ensemble des interfaces
(
x
i
+
1
2
)
0
⩽
i
⩽
I
{\displaystyle \left(x_{i+{\frac {1}{2}}}\right)_{0\leqslant i\leqslant I}}
, les extrémités des volumes de contrôle.
Pour finir, on choisit un point
x
i
{\displaystyle x_{i}}
dans chaque volume de contrôle
K
i
{\displaystyle K_{i}}
et l'on note
P
{\displaystyle {\mathcal {P}}}
l'ensemble de ces points
(
x
i
)
1
⩽
i
⩽
I
{\displaystyle \left(x_{i}\right)_{1\leqslant i\leqslant I}}
(on peut y ajouter les points
x
0
=
0
{\displaystyle x_{0}=0}
et
x
I
+
1
=
1
{\displaystyle x_{I+1}=1}
).
Le maillage est donc la donnée
(
T
,
E
,
P
)
{\displaystyle ({\mathcal {T}},{\mathcal {E}},{\mathcal {P}})}
.
Le pas (taille) du maillage est toujours important dans un schéma numérique, il sera noté
h
{\displaystyle h}
et l'on pose
h
=
max
1
⩽
i
⩽
I
(
x
i
+
1
2
−
x
i
−
1
2
)
{\displaystyle h=\max _{1\leqslant i\leqslant I}(x_{i+{\frac {1}{2}}}-x_{i-{\frac {1}{2}}})}
.
Exemple d'un maillage triangulaire 2D.
On considère
Ω
{\displaystyle \Omega }
un ouvert borné polyédrique de
R
d
{\displaystyle \mathbb {R} ^{d}}
(polygonal si
d
=
2
{\displaystyle d=2}
).
T
{\displaystyle {\mathcal {T}}}
est toujours l'ensemble des volumes de contrôle
(
K
i
)
1
⩽
i
⩽
I
{\displaystyle \left(K_{i}\right)_{1\leqslant i\leqslant I}}
.
E
{\displaystyle {\mathcal {E}}}
est l'ensemble des arêtes ou faces (selon la dimension) du maillage. Soit
σ
∈
E
{\displaystyle \sigma \in {\mathcal {E}}}
, on a alors :
soit
σ
¯
=
K
i
¯
∩
K
j
¯
,
i
≠
j
{\displaystyle {\overline {\sigma }}={\overline {K_{i}}}\cap {\overline {K_{j}}},\;i\neq j}
:
σ
{\displaystyle \sigma }
est alors une arête intérieure (
σ
∈
E
i
n
t
{\displaystyle \sigma \in {\mathcal {E}}_{int}}
) ;
soit
σ
¯
⊂
∂
Ω
{\displaystyle {\overline {\sigma }}\subset \partial \Omega }
:
σ
{\displaystyle \sigma }
est alors une arête du bord (
σ
∈
E
e
x
t
{\displaystyle \sigma \in {\mathcal {E}}_{ext}}
).
On se donne de même que précédemment, une suite de points
P
=
(
x
i
)
1
⩽
i
⩽
I
,
où
x
i
∈
K
i
{\displaystyle {\mathcal {P}}=(x_{i})_{1\leqslant i\leqslant I},\;{\text{où}}\;x_{i}\in K_{i}}
.
Le maillage de
Ω
{\displaystyle \Omega }
est la donnée
(
T
,
E
,
P
)
{\displaystyle ({\mathcal {T}},{\mathcal {E}},{\mathcal {P}})}
.
On pose ici, pour le pas,
h
=
max
1
⩽
i
⩽
I
d
i
a
m
(
K
i
)
{\displaystyle h=\max _{1\leqslant i\leqslant I}\mathrm {diam} (K_{i})}
.
Pour la méthode des volumes finis, et contrairement à la méthode des différences finies, les inconnues discrètes ne sont pas les extrémités des mailles, mais les inconnues sont situées à l'intérieur des mailles.
L'ensemble de ces inconnues discrètes est l'ensemble
P
{\displaystyle {\mathcal {P}}}
défini précédemment.
La solution approchée
u
T
{\displaystyle u_{\mathcal {T}}}
, avec la méthode des volumes finis, est une solution constante par maille, que l'on reconstruit de la manière suivante :
u
T
(
x
)
=
∑
K
u
K
1
1
K
(
x
)
.
{\displaystyle u_{\mathcal {T}}(x)=\sum _{K}u_{K}1\!\!1_{K}(x).}
L'espace des solutions approchées pour le maillage
(
T
,
E
,
P
)
{\displaystyle ({\mathcal {T}},{\mathcal {E}},{\mathcal {P}})}
est :
X
(
T
)
=
{
u
T
(
x
)
=
∑
K
u
K
1
1
K
(
x
)
|
K
∈
T
,
u
K
∈
R
}
.
{\displaystyle X({\mathcal {T}})=\left\{\left.u_{\mathcal {T}}(x)=\sum _{K}u_{K}1\!\!1_{K}(x)~\right|~K\in {\mathcal {T}},u_{K}\in \mathbb {R} \right\}.}
Remarque
En règle générale, l'espace des solutions vérifie :
X
(
T
)
⊂
L
∞
(
Ω
)
(
⊂
L
p
,
∀
p
⩾
1
si
Ω
est borné
)
{\displaystyle X({\mathcal {T}})\subset \mathrm {L} ^{\infty }(\Omega )(\subset \mathrm {L} ^{p},\;\forall p\geqslant 1\;{\text{si}}\;\Omega \;{\text{est borné}})}
;
X
(
T
)
⊄
H
1
{\displaystyle X({\mathcal {T}})\not \subset \mathrm {H} ^{1}}
.
Normale sortante à K en sigma.
La méthode des volumes finis est utilisée pour discrétiser la partie spatiale des lois de conservation, la partie temporelle est quant à elle discrétisée par la méthode des différences finies. On considère donc ici seulement la partie spatiale, ce qui nous donne le système suivant :
{
d
i
v
(
J
)
=
g
sur
Ω
,
J
=
F
(
x
,
t
,
u
,
∇
u
)
⊕
Conditions Limites
{\displaystyle \left\{{\begin{array}{l}\mathrm {div} (J)=g\quad {\text{sur}}\;\Omega ,\\J=F(x,t,u,\nabla u)\\\oplus \;{\text{Conditions Limites}}\end{array}}\right.}
On considère un maillage
(
T
,
E
,
P
)
de
Ω
{\displaystyle ({\mathcal {T}},{\mathcal {E}},{\mathcal {P}})\;{\text{de}}\;\Omega }
. La méthode des volumes finis est basée sur l'intégration de l'EDP sur tous les volumes de contrôle du maillage.
On a, par le théorème de Stokes :
∀
K
∈
T
,
∫
K
g
(
x
)
d
x
=
∫
K
d
i
v
(
J
)
=
∫
∂
K
J
⋅
n
K
d
γ
{\displaystyle \forall K\in {\mathcal {T}},\int _{K}g(x)\,\mathrm {d} x=\int _{K}\mathrm {div} (J)=\int _{\partial K}J\cdot n_{K}\,\mathrm {d} \gamma }
On sait que :
∂
K
=
∪
σ
∈
E
K
σ
,
où
E
K
{\displaystyle \partial K=\cup _{\sigma \in {\mathcal {E}}_{K}}\sigma ,\;{\text{où}}\;{\mathcal {E}}_{K}}
est l'ensemble des arêtes du volume de contrôle
K
{\displaystyle K}
.
d'où
∑
σ
∈
E
K
∫
σ
J
⋅
n
K
,
σ
d
γ
=
∫
K
g
(
x
)
d
x
,
{\displaystyle \sum _{\sigma \in {\mathcal {E}}_{K}}\int _{\sigma }J\cdot n_{K,\sigma }\,\mathrm {d} \gamma =\int _{K}g(x)\,\mathrm {d} x,}
où
n
K
,
σ
{\displaystyle n_{K,\sigma }}
est la normale à
σ
{\displaystyle \sigma }
sortante de
K
.
{\displaystyle K.}
On obtient le schéma volumes finis en faisant une approximation de la dernière égalité, ce qui donne :
∑
σ
∈
E
K
F
K
,
σ
=
m
e
s
(
K
)
g
K
,
{\displaystyle \sum _{\sigma \in {\mathcal {E}}_{K}}{\mathcal {F}}_{K,\sigma }=mes(K)g_{K},}
avec :
F
K
,
σ
{\displaystyle {\mathcal {F}}_{K,\sigma }}
une approximation de
∫
σ
J
⋅
n
K
,
σ
d
γ
{\displaystyle \int _{\sigma }J\cdot n_{K,\sigma }\,\mathrm {d} \gamma }
;
g
K
{\displaystyle g_{K}}
une approximation de
1
V
(
K
)
∫
K
g
(
x
)
d
x
{\displaystyle {\frac {1}{\mathrm {V} (K)}}\int _{K}g(x)\,\mathrm {d} x}
.
Les deux propriétés essentielles du flux numérique
F
K
,
σ
{\displaystyle {\mathcal {F}}_{K,\sigma }}
pour que celui-ci soit une « bonne » approximation de
∫
σ
J
⋅
n
K
,
σ
d
γ
{\displaystyle \int _{\sigma }J\cdot n_{K,\sigma }\,\mathrm {d} \gamma }
, sont la conservativité et la consistance.
On impose que pour toute interface interne, le flux entrant est égal à l'opposé du flux sortant :
∀
σ
∈
E
i
n
t
,
σ
=
K
¯
∩
L
¯
,
F
K
,
σ
+
F
L
,
σ
=
0
{\displaystyle \forall \sigma \in {\mathcal {E}}_{int},\sigma ={\overline {K}}\cap {\overline {L}},\qquad {\mathcal {F}}_{K,\sigma }+{\mathcal {F}}_{L,\sigma }=0}
.
Les flux numériques
F
K
,
σ
{\displaystyle {\mathcal {F}}_{K,\sigma }}
s'expriment en fonction des
(
u
L
)
L
∈
T
{\displaystyle (u_{L})_{L\in {\mathcal {T}}}}
. On remplace alors tous les
u
K
,
u
L
par
u
(
x
K
)
,
u
(
x
L
)
{\displaystyle u_{K},\,u_{L}\;{\text{par}}\;u(x_{K}),\,u(x_{L})}
où u est la solution exacte du problème, on obtient alors
F
~
K
,
σ
e
x
{\displaystyle {\tilde {\mathcal {F}}}_{K,\sigma }^{ex}}
.
Pour qu'on ait la consistance des flux, il suffit que :
lim
h
→
0
|
1
m
(
σ
)
F
~
K
,
σ
e
x
−
1
m
(
σ
)
∫
σ
J
⋅
n
K
,
σ
d
γ
|
=
0
{\displaystyle \lim _{h\to 0}\left|{\frac {1}{m(\sigma )}}{\tilde {\mathcal {F}}}_{K,\sigma }^{ex}-{\frac {1}{m(\sigma )}}\int _{\sigma }J\cdot n_{K,\sigma }\,\mathrm {d} \gamma \right|=0}
.
On cherche une solution classique du problème de Dirichlet suivant :
(
P
)
{
−
u
″
(
x
)
=
f
(
x
)
,
sur
(
0
,
1
)
u
(
0
)
=
0
=
u
(
1
)
{\displaystyle ({\mathcal {P}})\left\{{\begin{array}{l}-u''(x)=f(x),\quad {\text{sur}}\;(0,1)\\u(0)=0=u(1)\end{array}}\right.}
où
f
∈
C
(
[
0
,
1
]
,
R
)
{\displaystyle f\in {\mathcal {C}}([0,1],\mathbb {R} )}
.
On utilise le maillage pour la dimension 1 défini précédemment.
On aura besoin également des paramètres suivants :
h
i
=
m
(
K
i
)
=
x
i
+
1
2
−
x
i
−
1
2
et
h
i
+
1
2
=
x
i
+
1
−
x
i
,
∀
0
⩽
i
⩽
I
{\displaystyle h_{i}=m(K_{i})=x_{i+{\frac {1}{2}}}-x_{i-{\frac {1}{2}}}\;{\text{et}}\;h_{i+{\frac {1}{2}}}=x_{i+1}-x_{i},\quad \forall \,0\leqslant i\leqslant I}
.
En intégrant l'équation
−
u
″
=
f
sur
K
i
{\displaystyle -u''=f\;{\text{sur}}\;K_{i}}
, on obtient l'égalité suivante :
−
u
′
(
x
i
+
1
2
)
+
u
′
(
x
i
−
1
2
)
=
∫
x
i
−
1
2
x
i
+
1
2
f
{\displaystyle -u'(x_{i+{\frac {1}{2}}})+u'(x_{i-{\frac {1}{2}}})=\int _{x_{i-{\frac {1}{2}}}}^{x_{i+{\frac {1}{2}}}}f}
.
Le schéma volumes finis s'écrit alors :
(
S
)
{
F
i
+
1
2
−
F
i
−
1
2
=
h
i
f
i
,
∀
1
⩽
i
⩽
I
F
i
+
1
2
=
−
u
i
+
1
−
u
i
h
i
+
1
2
,
∀
0
⩽
i
⩽
I
u
0
=
0
=
u
I
+
1
{\displaystyle ({\mathcal {S}})\left\{{\begin{array}{l}{\mathcal {F}}_{i+{\frac {1}{2}}}-{\mathcal {F}}_{i-{\frac {1}{2}}}=h_{i}f_{i},\quad \forall \,1\leqslant i\leqslant I\\{\mathcal {F}}_{i+{\frac {1}{2}}}=-{\frac {u_{i+1}-u_{i}}{h_{i+{\frac {1}{2}}}}},\quad \forall \,0\leqslant i\leqslant I\\u_{0}=0=u_{I+1}\end{array}}\right.}
avec
f
i
=
1
h
i
∫
x
i
−
1
2
x
i
+
1
2
f
{\displaystyle f_{i}={\frac {1}{h_{i}}}\int _{x_{i-{\frac {1}{2}}}}^{x_{i+{\frac {1}{2}}}}f}
.
Proposition — On a alors un schéma numérique
(
S
)
{\displaystyle ({\mathcal {S}})}
pour lequel les flux sont conservatifs et consistants .
Ce schéma numérique
(
S
)
{\displaystyle ({\mathcal {S}})}
est un système d'équations linéaires :
I
{\displaystyle I}
inconnues :
(
u
i
)
1
⩽
i
⩽
I
{\displaystyle (u_{i})_{1\leqslant i\leqslant I}}
;
I
{\displaystyle I}
équations.
On peut facilement mettre ce système sous forme matricielle :
A
U
=
B
,
U
{\displaystyle AU=B,\;U}
est le vecteur des inconnues.
Remarques
La consistance, la conservativité et l'unicité de la solution du schéma n'impliquent pas la convergence du schéma.
Il existe des théorèmes de convergence du schéma si
f
∈
C
(
[
0
,
1
]
,
R
)
{\displaystyle f\in {\mathcal {C}}([0,1],\mathbb {R} )}
ou si
f
∈
L
2
(
0
,
1
)
{\displaystyle f\in \mathrm {L} ^{2}(0,1)}
.
(en) R. Eymard, T. Gallouët et R. Herbin, « The finite volume method », Handbook of Numerical Analysis , vol. VII, p. 713-1020 , P. G. Ciarlet et J.-L. Lions , 2000.
D. Serre, Systèmes de lois de conservation, tome 1, Fondations , Diderot, 1996.