Previous Up Next

Chapter 6  covofi




0.1  Fonction

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 sources
1 : 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 :

0.2  Discrétisation

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 nS, 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 nF, 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 nS 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 .

0.3  Mise en œuvre

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 nF, les valeurs de θF et de θΦ dépendant du type de schéma sélectionné spécifiquement pour ces grandeurs7.

Avec extrapolation des termes sources :

Sans extrapolation des termes sources :

0.4  Points à traiter


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.

0.5   Annexe 1 : Inversibilité de la matrice EM n

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.

0.5.1  Introduction

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 ||λlBii|| lCj=1, jij=N||Bij|| lC

Si B est à éléments réels, on écrira ||λlBii|| lCj=1, jij=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=DE

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)nIN,    avec    X0=D−1S    et    DXn=S+EXn−1

On peut écrire :

Xn = 
k=n
k=0
 
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 iIN (à partir de la relation (??) et en divisant par |Cii|) :

∀ i ∈ [1,N],   
|Cii|
|Cii|
 > 
j=N
j=1, ji
|Cij|
|Cii|

ce qui s’écrit encore :

∀ i ∈ [1,N],   
|Dii|
|Dii|
 > 
j=N
j=1, ji
|Eij|
|Dii|
=
j=N
j=1, ji
|
D−1E
ij|

ou bien :

∀ i ∈ [1,N],    1 > 
j=N
j=1, ji
|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  
j=N
j=1, j≠ i
|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)nIN 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.

0.5.2  Avec prise en compte des termes issus de  ρ/ t dans EM n

Introduction

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é.

Contributions des termes différentiels d’ordre 0 linéaires en δ f n+1,k+1

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 ρIni|/Δ 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.

Contributions des termes différentiels d’ordre 1 et des termes issus de la prise en compte de  ρ/ t

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, JIJ=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.

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.

Contributions des termes différentiels d’ordre 2

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.

Conclusion

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).

0.5.3  Sans prise en compte des termes issus de  ρ/ t dans EM n

Introduction

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.

Contributions des termes différentiels d’ordre 1

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 :

 
 


Ωi
 div (ρ 
u
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 :

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.

Conclusion

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 ρIni|/Δ 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.

0.6   Annexe 2 : Remarques à propos du respect du principe du maximum discret

0.6.1  Introduction

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.

0.6.2  Cas général

Discrétisation spatiale de ρn   fn+1 − fntfn+1 div (ρ u)n +  div ((ρ u)n fn+1) = 0

En intégrant sur une cellule Ωi à l’aide de la formulation volumes finis habituelle, on obtient : 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)kIN suite convergeant vers f n+1, n entier donné, solution de (??) .

Discrétisation spatiale de ρn   fn+1 − fntdiv ((ρ u)n fn+1) = 0

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)kIN suite convergeant vers f n+1, n entier donné, solution de (??) .

0.6.3  Exemple pour le principe du maximum

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
Figure II.0.1: Définition du domaine de calcul unidimensionnel considéré.

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],   
 


Ωi
div (ρ 
u
dΩ = 0

soit, ici :

Prise en compte de la contribution de ∂ ρ/∂ t dans la matrice

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.

Sans la contribution de ∂ ρ/∂ t dans la matrice

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 :

1
ε
 < 
u) 12n . S 12Δ t
ρ11|

c’est-à-dire dès que le nombre de CFL local u) 12n . S 12Δ t11| excède l’inverse de la précision relative locale ε.

0.6.4  Conclusion

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.


1
Davroux A. et Archambeau F. : Calcul de la variance des fluctuations d’un scalaire dans le solveur commun. Application à l’expérience du CEGB dite “Jet in Pool”, HE-41/99/043.
2
a et a"2, sous forme discrète en espace, correspondent donc en fait à des vecteurs dimensionnés à NCELET de composantes aI et a"2I respectivement, I décrivant l’ensemble des cellules.
3
Si θ=1/2, ou qu’une extrapolation est utilisée, le pas de temps Δ t est supposé uniforme en temps et en espace.
4
cf. introd
5
cf. preduv
6
cette opération est faite quel que soit le schéma en temps de façon à rester cohérent avec ce qui est fait dans bilsc2
7
cf. introd
8
Ce faisant, on choisit cependant une condition forte et la démonstration n’est probablement pas optimale.
9
Hormis dans le cas de conditions aux limites mixtes, qu’il conviendrait d’examiner plus en détail.
10
Lascaux, P. et Théodor, R. : Analyse Numérique Matricielle Appliquée à l’art de l’Ingénieur, Tome 2, Ed. Masson.
11
On reconnaît la méthode de Jacobi
12
On peut le voir “par l’absurde”. En effet, supposons qu’il existe deux solutions distinctes X1 et X2 à l’équation CX=S. Alors Y=X2X1 vérifie CY=0, soit DY=−EY, donc D−1EY=−Y. Ceci signifie que Y (qui n’est pas nul, par hypothèse) est vecteur propre de D−1E avec λ=−1 pour valeur propre associée. Or, le rayon spectral de D−1E est strictement inférieur à 1 et λ=−1 ne peut donc pas être une valeur propre de D−1E. En conséquence, il ne peut exister qu’une seule solution à l’équation CX=S.
13
Ce raisonnement n’est pas optimal (la somme de valeurs absolues étant supérieure à la valeur absolue de la somme), mais permet d’obtenir des conclusions dans le cas présent (condition suffisante).
14
Ceci permettra de conclure à la stricte dominance de la diagonale de la matrice somme complète EM n.
15
Le terme de dissipation ρ1/Rf ε/k, spécifique à l’étude de la variance des fluctuations, est positif par définition et ne remet donc pas en cause la conclusion.
16
Ceci n’est en fait pas toujours vrai. En effet, pour chaque face ij, la transmittivité Kn/IJSij fait intervenir la mesure algébrique du segment IJ′, où I′ et J′ sont les projetés orthogonaux sur la normale à la face du centre des cellules voisines. Cette grandeur est une valeur algébrique et peut théoriquement devenir négative sur certains maillages pathologiques, contenant par exemple des mailles non convexes. On pourra se reporter au dernier point à traiter du sous-programme matrix .

Previous Up Next