En analyse numérique , la méthode des volumes finis est utilisée pour résoudre numériquement des équations aux dérivées partielles , c'est à dire pour calculer une solution approchée de ces équations comme la méthode des différences finies et la méthode des éléments finis . Cette méthode est particulièrement bien adaptée pour résoudre numériquement les EDP provenant de lois de conservation . Pour mettre en place la méthode, on intègre l'équation sur un volume et grâce au théorème de Stokes , on transforme les intégrales contenant un terme de |divergence en intégrales de surface. Ces termes sont ensuite évalués en tant que flux sur les surfaces de chaque volume sachant que le flux entrant dans un volume donné est identique à celui sortant du volume adjacent.
On s'intéresse ici aux lois de conservation , leur forme générale est la suivante:
{
∂
ρ
∂
t
+
d
i
v
J
=
g
,
∀
(
x
,
t
)
∈
Ω
×
R
+
⊕
Conditions initiales
⊕
Conditions au bord
{\displaystyle \left\{{\begin{array}{l}{\frac {\partial \rho }{\partial t}}+divJ=g,\qquad \forall (x,t)\in \Omega \times \mathbb {R} _{+}\\\oplus \;{\text{Conditions initiales}}\\\oplus \;{\text{Conditions au bord}}\end{array}}\right.}
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
{\displaystyle J}
est de la forme suivante :
J
=
F
(
x
,
t
,
ρ
,
∇
ρ
)
{\displaystyle J=F(x,t,\rho ,\nabla \rho )}
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'EDP qui nous intéresse.
Volumes de contrôle
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 ayant les propriétés suivantes :
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 intervalles ouverts, on note
K
i
=
]
x
i
−
1
2
,
x
i
+
1
2
[
{\displaystyle K_{i}=]x_{i-{\frac {1}{2}}},x_{i+{\frac {1}{2}}}[}
.
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 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 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}}})}
Dimension d
⩾
2
{\displaystyle \geqslant 2}
[ modifier | modifier le code ]
Exemple d'un maillage triangulaire 2D.
On considère
Ω
{\displaystyle \Omega }
un ouvert borné polyèdral 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}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\{u_{\mathcal {T}}(x)=\sum _{K}u_{K}1\!\!1_{K}(x),\forall K\in {\mathcal {T}}u_{K}\in \mathbb {R} \right\}}
Remarque
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
Le méthode des volumes finis est utilisée pour discrétiser la partie spatiale des lois de conservation, le 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}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,
∀
K
∈
T
{\displaystyle \forall K\in {\mathcal {T}}}
:
∫
K
d
i
v
(
J
)
=
∫
K
g
(
x
)
d
x
⟺
Stokes
∫
∂
K
J
⋅
n
K
d
γ
=
∫
K
g
(
x
)
d
x
{\displaystyle {\begin{array}{rl}&\int _{K}div(J)=\int _{K}g(x)\,\mathrm {d} x\\{\overset {\text{Stokes}}{\Longleftrightarrow }}&\int _{\partial K}J\cdot n_{K}\,\mathrm {d} \gamma =\int _{K}g(x)\,\mathrm {d} x\\\end{array}}}
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}
.
⟺
∑
σ
∈
E
K
∫
σ
J
⋅
n
K
,
σ
d
γ
=
∫
K
g
(
x
)
d
x
,
où
n
K
,
σ
est la normale à
σ
extérieur à
K
{\displaystyle \Longleftrightarrow \sum _{\sigma \in {\mathcal {E}}_{K}}\int _{\sigma }J\cdot n_{K,\sigma }\,\mathrm {d} \gamma =\int _{K}g(x)\,\mathrm {d} x,\qquad {\text{où}}\;n_{K,\sigma }\;{\text{est la normale à}}\;\sigma \;{\text{extérieur à}}\;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
,
avec :
{\displaystyle \sum _{\sigma \in {\mathcal {E}}_{K}}{\mathcal {F}}_{K,\sigma }=mes(K)g_{K},\;{\text{avec :}}}
*
F
K
,
σ
une approximation de
∫
σ
J
⋅
n
K
,
σ
d
γ
{\displaystyle {\mathcal {F}}_{K,\sigma }\;{\text{une approximation de}}\;\int _{\sigma }J\cdot n_{K,\sigma }\,\mathrm {d} \gamma }
*
g
K
une approximation de
1
m
e
s
(
K
)
∫
K
g
(
x
)
d
x
{\displaystyle g_{K}\;{\text{une approximation de}}\;{\frac {1}{mes(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.}
f
i
=
h
i
+
1
2
∫
x
i
−
1
2
x
i
+
1
2
f
{\displaystyle f_{i}=h_{i+{\frac {1}{2}}}\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
Preuve
Conservativité : triviale
Consistance : Définition + formules de
Taylor-Lagrange
Ce schéma numérique
(
S
)
{\displaystyle ({\mathcal {S}})}
est un système d'équations linéaires :
I inconnues :
(
u
i
)
1
⩽
i
⩽
I
{\displaystyle (u_{i})_{1\leqslant i\leqslant I}}
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.
Proposition — La matrice
A
{\displaystyle A}
du schéma
(
S
)
{\displaystyle ({\mathcal {S}})}
est tridiagonale et symétrique définie positive .
⇒
{\displaystyle \Rightarrow }
Elle est alors inversible et donc le schéma admet une unique solution
Attention
La consistance, la conservativité et l'unicité de la solution du schéma n'impliquent pas la convergence du schéma
Remarque
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} )}
où si
f
∈
L
2
(
0
,
1
)
{\displaystyle f\in \mathrm {L} ^{2}(0,1)}
R. Eymard, T. Gallouët, R. Herbin (2000) "The finite volume method" Handbook of Numerical Analysis, Vol. VII, 2000, p. 713–1020. Editors: P.G. Ciarlet and J.L. Lions.
D. Serre (1996) "Systèmes de lois de conservation,Tome1". I,Fondations . Editors: Diderot.