Dans ce sous-programme, on résout :
soit l’équation de convection-diffusion d’un scalaire en
présence de termes sources :
Ici a représente la valeur instantanée du scalaire en approche laminaire ou,
en approche RANS, sa moyenne de Reynolds a. Les deux approches
étant exclusives et les équations obtenues similaires, on utilisera le plus
souvent aussi la notation a pour a.
soit, dans le cas d’une modélisation RANS, la variance de la
fluctuation d’un scalaire en présence de termes sources1 :
a"2 représente ici la moyenne du carré des fluctuations2 de a. K, Γ,
Tsimp et Tsexp représentent respectivement le coefficient de
diffusion, la valeur du terme source de masse, les termes sources implicite et
explicite du scalaire a ou a"2. µt et σt
sont respectivement la viscosité turbulente et le nombre de Schmidt ou de
Prandtl turbulent, ε est la dissipation de l’énergie turbulente k
et Rf définit le rapport constant entre les échelles dissipatives de k et
de a"2 (Rf est constant selon le modèle assez simple adopté ici).
On écrit les deux équations précédentes sous la forme commune suivante :
avec, pour f=a ou f=a"2 :

Le terme ∂ (ρ f)/∂ t est décomposé de la sorte :
En utilisant l’équation de conservation de la masse (cf. preduv
),
l’équation précédente s’écrit finalement :

Pour intégrer l’équation (??), une discrétisation temporelle de
type θ-schéma est appliquée à la variable résolue3 :

L’équation (??) est discrétisée au temps n+θ en supposant les termes sources explicites pris au temps n+θS, et ceux implicites en n+θ. Par souci de clarté, on suppose, en l’absence d’indication, que les propriétes physiques Φ (K, ρ,...) et le flux de masse (ρ u) sont pris respectivement aux instants n+θΦ et n+θF, où θΦ et θF dépendent des schémas en temps spécifiquement utilisés pour ces grandeurs4.
où :
Le terme de production affecté d’un indice n+θS est un terme source
explicite et il est donc traité comme tel :

L’équation (??) s’écrit :
avec :
On rappelle que, pour un scalaire f, le sous-programme codits
résout une équation du type suivant
fsexp représente les termes sources discrétisés de manière explicite
en temps (hormis contributions de la convection diffusion explicite provenant du
θ-schéma) et fsimp fn+1 représente les termes linéaires
en fn+1 dans l’équation discrétisée en temps.
On réécrit l’équation (??) sous la forme (??)
qui est ensuite résolue par codits
.

On distingue deux cas suivant le type de schéma en temps choisi pour les termes sources :
• Si les temres sources ne sont pas extrapolés, toutes les contributions
du second membre vont directement dans le vecteur
SMBRS.
• Sinon, un vecteur supplémentaire est nécessaire afin de stocker les
contributions du pas de temps précedent (PROPCE). Dans ce cas :
L’algorithme de ce sous-programme est le suivant :
On résume dans les tableaux ?? et ?? les différentes
contributions (hors convection-diffusion) affectées à chacun des vecteurs
PROPCE, SMBRS et ROVSDT suivant le schéma en temps choisi pour
les termes sources. En l’absence d’indication, les propriétés physiques
ρ,µ, ... sont supposées prises en au temps n+θΦ, et le flux
de masse ( ρ u) pris au temps n+θF, les valeurs de
θF et de θΦ dépendant du type de schéma sélectionné
spécifiquement pour ces grandeurs7.

• Intégration du terme de convection-diffusion
Dans ce sous-programme, les points litigieux sont dus à l’intégration du
terme de convection-diffusion. On renvoie donc le lecteur au sous-programme
bilsc2
qui les explicite.
Dans cette section, on va étudier plus particulièrement l’inversibilité de la matrice EM n, matrice du système linéaire à résoudre associée à EMn pour le cas d’un schéma en temps de type Euler implicite d’ordre un (θ=1). Pour toutes les notations, on se reportera à la documentation sur le sous-programme covofi . On va montrer que la démarche adoptée permet de s’assurer que la matrice des systèmes de convection-diffusion dans les cas courants est toujours inversible.
Pour montrer l’inversibilité, on va utiliser le fait que la dominance stricte de la diagonale l’implique8. On cherche donc à déterminer sous quelles conditions les matrices de convection diffusion sont à diagonale strictement dominante.
On va montrer qu’en incluant
dans la matrice le terme en div(ρ u)
issu de ∂ ρ/∂ t, on peut
établir directement et exactement9 la propriété. Par contre, si ce terme n’est pas pris en compte dans la matrice,
il est nécessaire de faire intervenir le pendant discret de la relation :
Cette relation n’est cependant vérifiée au niveau discret qu’à la précision du
solveur de pression près (et, en tous les cas, ne peut être approchée au
mieux
qu’à la précision machine près). Il paraît donc préférable de s’en
affranchir.
Avant d’entrer dans les détails de l’analyse, on rappelle quelques propriétés et définitions.
Soit C une matrice carrée d’ordre N, d’élément générique Cij. On a par définition :
Définition :
La matrice C est à diagonale strictement dominante ssi

On convient de dire que C est à diagonale simplement dominante ssi l’inégalité n’est pas stricte, soit :

Remarque : Si, sur chaque ligne, la somme des éléments d’une matrice est nulle, que les éléments extradiagonaux sont négatifs et que les éléments diagonaux sont positifs, alors la matrice est à diagonale simplement dominante. Si la somme est strictement positive, la diagonale est strictement dominante.
On a l’implication suivante :
Propriété :
Si la matrice C est à diagonale strictement dominante, elle est
inversible.
Cette propriété10 se démontre simplement si l’on admet le théorème de
Gerschgörin ci-dessous :
Théorème : Soit B une matrice carrée d’ordre N dans lC × lC, d’élément générique B ij, les valeurs propres λl de B sont, dans le plan complexe, telles que ||λl − Bii|| lC ∑j=1, j≠ ij=N||Bij|| lC
Si B est à éléments réels, on écrira ||λl − Bii|| lC ∑j=1, j≠ ij=N|Bij|
Démontration de la propriété précédente :
Soit C à diagonale strictement dominante à éléments réels. On montre qu’il est possible d’inverser le système CX=S d’inconnue X, quel que soit le second membre S. Pour cela, on décompose C en partie diagonale (D) et extradiagonale (−E) soit :
| C=D−E |
C étant à diagonale strictement dominante, tous ses éléments diagonaux sont non nuls. D est donc inversible (et les élements de l’inverse sont réels). On considère alors la suite11 :
| (Xn)n∈IN, avec X0=D−1S et DXn=S+EXn−1 |
On peut écrire :
| Xn = |
| ⎛ ⎝ | D−1E | ⎞ ⎠ | k D−1S |
Cette somme converge si le rayon spectral de B=D−1E est strictement inférieur à 1. Or, la matrice C est à diagonale strictement dominante. On a donc pour tout i∈IN (à partir de la relation (??) et en divisant par |Cii|) :
| ∀ i ∈ [1,N], |
| > |
|
|
ce qui s’écrit encore :
| ∀ i ∈ [1,N], |
| > |
|
| = |
| | | ⎡ ⎣ | D−1E | ⎤ ⎦ | ij| |
ou bien :
| ∀ i ∈ [1,N], 1 > |
| |Bij| |
d’où, avec le théorème de Gerschgörin, une relation sur les valeurs propres λl de B :
| ∀ i ∈ [1,N], ||λl − Bii|| lC |
| |Bij| < 1 |
et comme Bii=0 :
| ||λl || lC < 1 |
en particulier, la valeur propre dont la norme est la plus grande vérifie également cette équation. Ceci implique que le rayon spectral de B est strictement inférieur à 1. La suite (Xn)n∈IN converge donc (et la méthode de Jacobi converge). Il existe donc une solution à l’équation CX=S. Cette solution est unique12 et la matrice C est donc inversible.
Pour montrer que la matrice EM n est inversible, on va
montrer qu’elle est à diagonale strictement dominante. Pour cela, on
va considérer successivement les contributions :
- des termes différentiels
d’ordre 0 linéaires en δ f n+1,k+1,
- des termes issus de la prise en compte de
∂ ρ/∂ t,
- des termes différentiels d’ordre 1 (convection),
- des termes différentiels d’ordre 2 (diffusion).
Pour chacune de ces contributions, on va examiner la dominance de la diagonale de l’opérateur linéaire associé. Si, pour chaque contribution, la dominance de la diagonale est acquise, on pourra alors conclure à la dominance de la diagonale pour la matrice (somme) complète13 EM n et donc à son inversibilité.
L’unique contribution est sur la diagonale : il faut donc vérifier qu’elle est strictement positive.
Pour chaque ligne I, fs impI (cf. (??)) contient au minimum la quantité strictement positive14 ρIn |Ωi|/Δ t. Les autres expressions, (− |Ωi| (Ts imp)I , +|Ωi| ΓI , − |Ωi| (Ts pd,imp) I), lorsqu’elles existent, contribuent toutes positivement15.
L’opérateur linéaire associé à ces contributions vérifie donc bien la dominance stricte de la diagonale (propriété 1). Ce n’est cependant pas vrai si on extrapole les termes source, à cause de Ts imp. Il en résulte une contrainte sur la valeur du pas de temps.
Les termes considérés sont au nombre de deux dans
(??) :
- la contribution issue de la prise en compte de
∂ ρ/∂ t se retrouve dans fs impI
(équation ??),
- la contribution du terme de convection
linéarisé.
Après intégration spatiale, la somme de ces deux termes discrets s’écrit :

Pour chaque ligne I, on va chercher les propriétés de dominance de la diagonale en traitant séparément les faces internes (équation (??)) et les faces de bord (équation (??)).
• la contribution des faces internes ij (facteur de δ fI n+1,k+1) à la diagonale est positive ; la contribution aux extradiagonales est négative (facteur de δ fJ n+1,k+1) et la somme de ces contributions est exactement nulle (équation (??)). Si l’on note CIJ les coefficients de la matrice issus de la contribution de ces termes, on a donc |CII| ∑J=1, J≠ IJ=N|CIJ| qui traduit la dominance “simple” (l’inégalité n’est pas “stricte”) de la diagonale et règle la question des contributions des faces internes.
• la contribution des faces de bord doit être
réécrite en utilisant l’expression des conditions aux limites sur f
pour préciser la valeur de δ f bik (on omet
l’exposant ( n+1,k+1) pour alléger les notations) :
- pour une condition de Dirichlet : δ f bik = 0,
- pour une condition de Neumann : δ f bik = δ fI,
- pour une condition mixte (f bik = α + β fi) : δ
f bik = β δ fI.
Pour la contribution des faces de bord, il faut alors considérer deux cas de
figure possibles.
Il convient alors de distinguer plusieurs situations, selon le type de condition
à la limite portant sur f :
si la condition à la limite de f est de type
Neumann, la somme des contributions dues aux faces de bord
est alors nulle, ce qui assure
donc la dominance simple.
On ne peut pas se prononcer quand à la dominance de la diagonale, à
cause de la présence de (1−β) (la valeur de β est fixée par
l’utilisateur) et la démarche adoptée ici
ne permet donc pas de conclure. Il faut néanmoins noter que cette
situation est rare dans les calculs standards. Elle demande un
complément d’analyse et sera pour le moment exclue des
considérations exposées dans le présent document.On peut conclure, quand il n’y a pas de condition à la limite de type mixte, que la matrice associée aux contributions des termes différentiels d’ordre 1 (convectifs) et à la prise en compte des termes issus de ∂ ρ/∂ t et est à diagonale simplement dominante.
On va considérer enfin les contributions des termes différentiels
d’ordre 2 (issus du terme
− div (Kn grad δ f n+1,k+1)).
Pour ces termes, la contribution à la
diagonale est positive16,
négative aux extradiagonales16, compte tenu de :

Considérons deux cas :
- la cellule courante I n’a que des faces internes au domaine de
calcul (pas de faces de bord). La somme des contributions est nulle. On a donc
dominance simple de la diagonale.
- la cellule courante I a des faces de bord. La somme des
contributions diagonales et extradiagonales est positive quand on a une
condition à la limite de type Dirichlet ou de type Neumann sur f. La
diagonale est alors strictement dominante.
Lorsqu’il y a des conditions à la limite de type mixte, il n’est plus possible
de conclure (situation écartée précédemment).
On peut conclure, quand il n’y a pas de condition à la limite de type mixte,
que la matrice associée aux contributions des termes différentiels d’ordre 2
est au moins à diagonale simplement dominante.
En travaillant sur des maillages non pathologiques (à transmittivité positive, voir la note de bas de page numéro 0.5.2) et en n’imposant pas de condition à la limite de type mixte sur les variables, on peut donc conclure que EM n est la somme de matrices à diagonale simplement dominante et d’une matrice à diagonale strictement dominante (paragraphe 0.5.2). Elle est donc à diagonale strictement dominante, et donc inversible (de plus, la méthode itérative de Jacobi converge).
Pour identifier les cas dans lesquels la matrice EM n est inversible, on va rechercher les conditions qui assurent la dominance de la diagonale. Par rapport à l’analyse présentée au paragraphe 0.5.2, seules diffèrent les considérations relatives aux contributions des termes différentiels d’ordre 1, puisqu’elles sont traitées au paragraphe 0.5.2 avec les termes issus de la prise en compte de ∂ ρ/∂ t.
La contribution du terme de convection est la seule à prendre en compte. Elle
s’écrit, d’après les équations (??) et la discrétisation
explicitée pour le sous-programme covofi
:

On constate que pour chaque ligne I, la contribution des faces internes (facteur de δ fI n+1,k+1) à la diagonale est positive et qu’elle est négative aux extradiagonales (facteur de δ fJ n+1,k+1). Cependant, contrairement au cas présenté au paragraphe 0.5.2, la somme de ces contributions n’est pas nulle dans le cas général. Pour obtenir un résultat quant à la dominance de la diagonale, il faut faire intervenir la version discrète de la propriété (??) rappelée ci-dessous :
| ∫ |
| div (ρ |
| ) dΩ = 0 |
Soit, sous forme discrète :

Il n’est donc pas possible d’analyser
séparément les contributions des faces internes et celles des faces
de bord (contrairement à la situation rencontrée au
paragraphe 0.5.2). On se place ci-après dans le
cas général d’une cellule qui a des faces internes et des faces de
bord (si elle n’a que des faces internes, la démonstration est la même, mais
plus simple. On peut l’écrire en considérant formellement que la cellule
“a zéro faces de bord”, c’est à dire que γb(i) est l’ensemble vide).
Il faut alors considérer deux cas de figure, selon la valeur du flux de masse
aux faces de bord (éventuelles) de la cellule :
Dans ce cas, la somme des contributions à la diagonale est positive, les
contributions aux extradiagonales sont négatives et, avec la relation
(??), on vérifie que la somme des contributions
diagonales et extradiagonales est nulle. On a donc dominance simple de la
diagonale.
Il convient alors de distinguer plusieurs situations, selon le type de condition
à la limite portant sur f (on omet
l’exposant ( n+1,k+1) pour alléger les notations) :
| m ijn=− |
| m bikn |
| SCi= |
|
| ( + m ijn + | m ijn| ) + |
| m bikn |
| SCi= |
| ⎡ ⎢ ⎢ ⎣ |
| | m ijn| + |
| m bikn | ⎤ ⎥ ⎥ ⎦ | = |
| ⎡ ⎢ ⎢ ⎣ |
| ( | m ijn|− m ijn ) | ⎤ ⎥ ⎥ ⎦ |
On ne peut donc pas conclure quant au signe de cette contribution, le facteur
β étant choisi librement par l’utilisateur. Cette situation a été
écartée dans le paragraphe 0.5.2.On peut donc conclure, quand il n’y a pas de condition à la limite de type mixte, que la matrice associée aux contributions des termes différentiels d’ordre 1 (convectifs) est à diagonale simplement dominante, à condition que la relation (??) soit vérifiée exactement.
En travaillant sur des maillages non pathologiques (à transmittivité positive, voir la note de bas de page numéro 0.5.2) et en n’imposant pas de condition à la limite de type mixte sur les variables, on peut donc conclure que EM n est à diagonale strictement dominante, donc inversible (et la méthode itérative de Jacobi converge) à condition que la relation (??) soit vérifiée exactement. Ce n’est généralement pas le cas (la précision du solveur de pression et la précision machine sont finies). Même si la contribution diagonale en ρIn |Ωi|/Δ t peut suffire à assurer la dominance, on a cependant souhaité, dans Code Saturne, s’affranchir du problème potentiel en prenant en compte les termes issus de ∂ ρ/∂ t dans la matrice.
Les considérations exposées ici sont relatives au fait que, en continu, une variable qui n’est que convectée par un champ de débit à divergence nulle doit rester dans les bornes minimales et maximales définies par les conditions initiales et par les conditions aux limites en espace. Ainsi, les valeurs d’un scalaire passif initialement nul dont les conditions aux limites sont des conditions de Neumann homogène et des conditions de Dirichlet de valeur 1 devront nécessairement rester comprises dans l’intervalle [0 ; 1]. C’est ce que l’on entend ici par “principe du maximum”.
Soient u un champ de vitesse figé et connu et t un réel
positif. On considère le
problème modèle P de convection des variables scalaires ρ et ρ f, défini par :
avec une condition initiale f0 donnée ainsi que des conditions aux
limites associées sur f de type Dirichlet ou Neumann.
Dans Code Saturne, la deuxième équation de P est réécrite en
continu, en utilisant la première, sous la forme :
et discrétisée temporellement comme suit :
Dans un premier temps, on va étudier la discrétisation spatiale associée
à (??), qui correspond donc à la prise en compte de la
contribution de ∂ ρ/∂ t dans
l’équation en continu (et se traduit par la présence de
−div((ρ u)n) dans l’expression de fs impI ),
puis dans un deuxième temps, la discrétisation spatiale de l’expression ;
qui correspond à un problème de convection pure classique.
On étudiera ensuite un exemple simplifié (monodimensionnel à masse volumique constante).
Les considérations présentes mériteraient d’être approfondies.
En intégrant sur une cellule Ωi à l’aide de la formulation volumes
finis habituelle, on obtient :
où ff ij n+1 et ff b ik n+1 sont les valeurs de f
aux faces internes et de bord issues du choix du schéma convectif.
En reprenant les notations précédentes, en imposant un schéma décentré
amont au premier membre (i.e. en exprimant δ f ij n+1,k+1 et
δ f bik n+1,k+1) et en raisonnant en incréments
(cf. sous-programme navsto
), on aboutit à :
avec :
et (f n+1,k)k∈ IN suite convergeant vers f n+1, n
entier donné, solution de (??) .
En procédant de façon analogue et en adoptant les mêmes hypothèses, on
obtient :
(où ff ij n+1 et ff b ik n+1 sont les valeurs de f
aux faces internes et de bord issues du choix du schéma convectif)
avec :
et (f n+1,k)k∈ IN suite convergeant vers f n+1, n
entier donné, solution de (??) .
On va maintenant se placer en monodimensionnel, sur un maillage régulier
formé de trois cellules de pas h constant (figure II.0.1) et étudier le comportement
du premier membre pour les deux types d’expressions, entre le pas de temps
n Δ t et le pas de temps (n+1) Δ t, avec, comme condition
initiale f10 = f20 =f30 = 0 et comme conditions aux limites, une de type
Dirichlet et l’autre de type Neumann homogène :

On supposera de plus que :
le schéma convectif utilisé est le schéma upwind
la masse volumique est constante
(ρ u) b1n > 0, (ρ u) 12n > 0 ,
(ρ u) 23n > 0 , (ρ u) b2n > 0
et S b1 < 0.
[width=3.5cm,angle=-90]./graphics/domaine1d
On s’intéresse à l’influence sur le respect du principe du maximum discret de la précision avec laquelle est vérifiée sous forme discrète la relation :
| ∀ i ∈ [1,N], | ∫ |
| div (ρ |
| ) dΩ = 0 |
soit, ici :

Le système à résoudre est alors, en omettant pour simplifier l’exposant ( n+1,k+1) :
ce qui donne :
d’où :
On obtient donc bien une solution qui vérifie le principe du maximum discret,
même pour des grands pas de temps Δ t, et ce, quelle que soit la
précision avec laquelle est vérifiée, à l’étape de correction, la
forme discrète (??) de la conservation de la
masse ∫Ωidiv (ρ u) dΩ = 0
dont on ne s’est pas servi ici.
On obtient de même :

soit :
Ici, on constate que le respect du principe du maximum discret :
est équivalent à la condition :
Contrairement à la situation du paragraphe
0.6.3, on ne peut obtenir ici un résultat qu’en
faisant intervenir l’égalité (??), forme
discrète de la conservation de la masse. On obtient bien alors, à partir du
système précédent :

Si l’on s’intéresse à la cellule Ω1 et que l’on suppose (ρ u) 12n . S 12=− (ρ u) b1n . S b1−ε (ρ u) 12n . S 12 (où ε est la précision locale relative pour l’équation de conservation de la masse discrète), on constate que l’on obtient δ f1 > fb1 = 1 (valeur non admissible) dès lors que :
| < |
|
c’est-à-dire dès que le nombre de CFL local (ρ u) 12n . S 12Δ t/ρ1|Ω1| excède l’inverse de la précision relative locale ε.
Prendre en compte la contribution de ∂ ρ/∂ t dans la matrice permet un meilleur respect du principe du maximum discret, lorsque la précision de ∫Ωidiv (ρ u) dΩ = 0 n’est pas exactement vérifiée.