Il est nécessaire de disposer de conditions aux limites dans au moins trois cas principaux :
Les considérations présentes concernent uniquement les variables de calcul (vitesse, pression, tenseur de Reynolds, scalaires solution d’une équation de convection-diffusion). Pour ces grandeurs2, l’utilisateur doit définir les conditions aux limites en chaque face de bord (usclim ).
Le sous-programme condli permet de traduire les données utilisateur (fournies dans usclim ) au format interne de représentation des conditions aux limites. Des vérifications de complétude et de cohérence sont également menées (dans vericl ). Sont en particulier traitées les conditions aux limites de paroi (clptur ) et de symétrie pour les vitesses et le tenseur de Reynolds (clsyvt ).
Le sous-programme condli fournit en sortie des couples de coefficients Ab et Bb pour chaque variable f et chaque face de bord. Ils sont utilisés pour le calcul des termes discrétisés intervenant dans les équations à résoudre et permettent en particulier de déterminer une valeur de face de bord fb,int (localisée au “centre” de la face de bord, barycentre de ses sommets) par la relation fb,int = Ab+Bb fI′ où fI′ est la valeur de la variable au point I′, projeté du centre de la cellule jouxtant le bord sur la droite normale à la face de bord et passant par son centre (voir la figure II.0.1).
[height=8cm]./graphics/fluxbord
• Notation
On désignera dans la suite par VarScalaire toute variable
La dénomination VarScalaire pourra en particulier désigner la température, un scalaire passif, une fraction massique ou (sauf mention contraire explicite) la variance des fluctuations d’une autre VarScalaire. Les variables d’état déduites (masse volumique, viscosité...) ne seront pas désignées par VarScalaire.
• Représentation des conditions aux limites standard dans usclim
Des conditions aux limites standardisées peuvent être fournies par
l’utilisateur dans usclim
. Il est pour cela nécessaire d’affecter un
type aux
faces de bord des cellules concernées3. Les conditions prévues par défaut sont les suivantes :
• Représentation des conditions aux limites spécifiques dans usclim
On a vu que l’affectation à une face de bord d’un type standard
(entrée, sortie, paroi, symétrie) permettait d’appliquer simplement
à l’ensemble des variables un assortiment de conditions aux limites
cohérentes entre elles pour les types usuels de frontière physique.
Une solution consiste à définir dans usclim , pour chaque face de bord et chaque variable, des conditions aux limites spécifiques8 (celles-ci, comme les conditions standards, se ramènent finalement à des conditions de type mixte).
Les deux approches ne sont pas nécessairement incompatibles et peuvent même se révéler complémentaires. En effet, les conditions aux limites standards peuvent être surchargées par l’utilisateur pour une ou plusieurs variables données. Il convient cependant de s’assurer que, d’une façon ou d’une autre, une condition à la limite a été définie pour chaque face de bord et chaque variable.
Des conditions de compatibilité existent également entre les différentes variables (voir vericl ):
• Représentation interne des conditions aux limites
Objectif
Les conditions fournies par l’utilisateur sont retraduites sous forme de couples de coefficients Ab et Bb pour chaque variable f et chaque face de bord. Ces coefficients sont utilisés pour le calcul des termes discrets intervenant dans les équations à résoudre et permettent en particulier de déterminer une valeur de face de bord fb,int. Il est important d’insister dès à présent sur le fait que cette valeur est, de manière générale, une simple valeur numérique qui ne reflète pas nécessairement une réalité physique (en particulier aux parois, pour les grandeurs affectées par la couche limite turbulente). On détaille ci-dessous le calcul de Ab, Bb et de fb,int.
Notations

f α symbole nom unité symbole nom unité ui vitesse m s−1 µ ou µ+µt viscosité dynamique kg m−1 s−1 p pression kg m−1 s−2 Δ t pas de temps s T température K λ conductivité thermique kg m s−3 K−1 =W m−1 K−1 H enthalpie m2 s−2 λ/Cp conductivité thermique/Cp kg m−1 s−1 =J kg−1 f VarScalaire unité(f) α conductivité ou diffusivité kg m−1 s−1
Table 5.1: Valeurs et unités de α dans quelques cas particuliers usuels.
Condition de type Dirichlet simple : lorsque la condition est une condition de Dirichlet simple, on
obtient naturellement (cas particulier de (??)) :
Autres cas : lorsque la condition à la limite porte
sur la donnée d’un flux, il s’agit
d’un flux diffusif11.
On a alors :

Le flux diffusif réel imposé peut être donné
Selon le type de condition (Dirichlet ou Neumann) et en prenant pour hypothèse
la conservation du flux dans la direction normale au bord,
on peut alors écrire (voir figure II.0.1) :

Le rapport entre le coefficient hb et le coefficient hint rend compte de l’importance de la traversée de la zone proche du bord et revêt une importance particulière dans le cas des parois le long desquelles se développe une couche limite (dont les propriétés sont alors prises en compte par hb : se reporter à clptur ). Dans le cadre plus simple considéré ici, on se limitera au cas hb=hint et fb,ext=fb,int=fb. La relation (??) s’écrit alors :

En réarrangeant, on obtient la valeur de bord :

Conclusion : on notera donc les conditions aux limites
de manière générale sous la forme :
avec Ab et Bb définis selon le type des conditions :

Remarques
Exemples de cas particuliers
Valeur et unité des données à fournir
Le tableau 5.2
permet d’identifier les unités de h (himp,ext ou
hint) et φimp,ext pour quelques variables classiques. La
variable d représente une longueur (égale, pour hint, à
I′F).
Il est également important de noter qu’un flux “sortant” doit être positif.
f h symbole nom unité homogène à unité ui vitesse m s−1 (µ+µt)/d kg m−2 s−1 p pression kg m−1 s−2 (Δ t)/d s m−1 T température K (λ+Cpµt/σt)/d kg s−3 K−1 =W m−2 K−1 H enthalpie m2 s−2=J kg−1 (λ/Cp+µt/σt)/d kg m−2 s−1 f scalaire unité(f) α/d kg m−2 s−1
f φimp,ext symbole nom unité homogène à unité ui vitesse m s−1 (µ+µt) grad (ui).n kg m−1 s−2 p pression kg m−1 s−2 (Δ t) grad (p).n kg m−2 s−1 T température K (λ+Cpµt/σt) grad (T).n kg s−3=W m−2 H enthalpie m2 s−2=J kg−1 (λ/Cp+µt/σt) grad (H).n kg s−3=W m−2 f scalaire unité(f) α grad (f).n kg m−2 s−1 unité(f)
Table 5.2: Valeur et unité de h et φimp,ext dans quelques cas particuliers usuels.
• Condition de sortie pour la pression
On précise ici la condition de sortie appliquée
à la pression dans le cas des sorties standards.
Il est nécessaire d’imposer une condition de type Dirichlet (accompagnée d’une
condition
de type Neumann homogène sur les composantes de la vitesse). On la
calcule à partir des valeurs de la variable au pas de temps précédent.
On constate donc que la condition de pression en sortie est une condition de Dirichlet dont les valeurs sont égales aux valeurs de la pression (prises au pas de temps précédent) sur le plan amont des points I′ et recalées pour obtenir P0 en un point de sortie arbitraire.
• Mode de prescription des conditions aux limites dans usclim
L’utilisateur fournit pour chaque face un moyen de déterminer les
conditions aux limites de toutes les variables de calcul. Comme on l’a vu,
plusieurs méthodes sont envisageables.
La plus simple consiste à renseigner, pour chaque face, un code désignant une condition à la limite standard (dans le tableau ITYPFB de dimension NFABOR) et les informations complémentaires éventuelles. Les valeurs de ITYPFB suivantes sont prédéfinies13 : IENTRE (entrée), ISOR09 (sortie de type 9), ISOR10 (sortie de type 10), ISYMET (symétrie), IPAROI (paroi). Dans le cas des entrées (et des sorties de type 10), il est nécessaire de fournir une valeur de Dirichlet.
L’utilisateur peut également renseigner un entier (tableau ICODCL de dimension NFABOR×NVAR) désignant le type de condition à appliquer à une variable donnée : les valeurs 1 (pour Dirichlet) et 3 (pour Neumann) sont souvent utilisées, plus rarement 5 (pour les conditions de paroi) et exceptionnellement 4 (pour la symétrie d’une vitesse ou du tenseur de Reynolds), 9 ou 10 (pour les sorties de type 9 ou 10). Lorsque ICODCL est renseigné pour une variable donnée, il prend alors le pas sur ITYPFB sur la face considérée. L’utilisateur doit dans ce cas également fournir, suivant les cas, zéro, un ou deux réels (dans le tableau RCODCL de dimension NFABOR×NVAR× 3). Pour une face et une variable f données, les 3 valeurs de RCODCL désignent respectivement les grandeurs fimp,ext, himp,ext et φimp,ext.
On indique dans le tableau 5.3 le mode de traitement des variables pour les différents types de conditions aux limites standards. La liste des valeurs complémentaires à fournir est également précisée. Le tableau 5.4 propose le même type d’information pour les conditions aux limites spécifiques plus complexes, définies à partir de la valeur de ICODCL. Enfin, le tableau 5.5 synthétise les valeurs admissibles de ICODCL pour chaque variable de calcul.
aLe gradient peut être extrapolé en paroi selon les valeurs de EXTRAP : voir gradrc
ITYPFB type variables traitées type de condition données complémentaires IENTRE entrée variables transportées Dirichlet RCODCL(.,.,1) valeur d’entrée nulle par défaut pression Neumann homogène ISYMET symétrie vitesse symétrie vecteur tensions de Reynolds symétrie tenseur autres variables Neumann homogène IPAROI paroi pression Neumann homogènea vitesses lois de paroi (Dirichlet)b RCODCL(.,.,1) vitesse de défilement nulle par défaut grandeurs turbulentes lois de paroic autres variables transportées Neumann homogèned ISOR09 sortie pression ∂2P/∂ n∂τi=0 vitesses Neumann homogène (flux de masse sortant) Dirichlet homogène (flux de masse entrant) autres variables transportées Neumann homogène ISOR10 sortie pression ∂2P/∂ n∂τi=0 vitesses Neumann homogène (flux de masse sortant) Dirichlet homogène (flux de masse entrant) autres variables Neumann homogène transportées (flux de masse sortant) Dirichlete RCODCL(.,.,1) valeur d’entrée nulle par défaut (flux de masse entrant)
bvoir clptur
cvoir également clptur
dLa condition de Neumann homogène est obtenue lorsque l’utilisateur ne précise rien d’autre que le type de frontière IPAROI ; d’autres conditions sont possibles : le tableau 5.4 les précise.
eLa valeur est imposée par l’utilisateur. Il n’y a pas d’implicitation temporelle.
Table 5.3: Conditions aux limites standards.
ICODCL variables type de condition données complémentaires nécessaires et suffisantes 1 toutes Dirichlet RCODCL(.,.,1) fimp,ext valeur nulle par défaut RCODCL(.,.,2) himp,ext coef. d’échange =RINFIN=1030 par défaut 3 toutes Neumann RCODCL(.,.,3) φimp,ext valeur nulle par défaut 4 vitesse Symétrie vecteur Rij Symétrie tenseur 5 vitesse Loi de paroi RCODCL(.,.,1) vitesse de défilement nulle par défaut k, Rij, ε, ϕ, f, ω Loi de paroi VarScalaire Loi de paroi RCODCL(.,.,1) fimp,ext valeur en paroi nulle par défaut (sauf variance) RCODCL(.,.,2) himp,ext coef. d’échange =RINFIN=1030 par défaut 9 vitesse Neumann homogène (flux de masse sortant) Dirichlet homogène (flux de masse entrant) 10 k, Rij, ε, ϕ, f, ω Dirichlet RCODCL(.,.,1) fimp,ext valeur nulle par défaut VarScalaire (flux de masse entrant) RCODCL(.,.,2) himp,ext coef. d’échange =RINFIN=1030 par défaut Neumann RCODCL(.,.,3) φimp,ext valeur nulle par défaut (flux de masse sortant)
Table 5.4: Conditions aux limites spécifiques.
Variable Valeurs de ICODCL admissibles Vitesse U 1 3 4 5 9 Pression p 1 3 Variable scalaire de turbulence k, ε, ϕ, f, ω 1 3 5 10 Tenseur de Reynolds Rij 1 3 4 5 10 VarScalaire (hormis variances) 1 3 5 10 Variance des fluctuations d’une VarScalaire 1 3 10
Table 5.5: Valeurs admissibles de ICODCL pour chaque variable.
Il est important de connaître également les compatibilités à assurer entre les valeurs de ICODCL associées aux différentes variables (Cf. Points à traiter).
• Conversion des données utilisateur
Une première étape (TYPECL) permet essentiellement de convertir les
données des utilisateurs. Plus précisément, les actions suivantes sont
réalisées :
• Vérifications
Une vérification des conditions aux limites est ensuite menée
(vericl
) (l’utilisateur est prévenu et le programme interrompu en cas de
problème).
• Calculs préliminaires
Différentes grandeurs sont ensuite construites
pour préparer le traitement ultérieur des conditions aux limites.
• Conditions aux limites de paroi
On détermine alors (clptur
) les conditions aux limites de paroi pour
la vitesse et les grandeurs turbulentes. Les VarScalaires (excepté les
variances) peuvent
également recevoir un traitement particulier prenant en compte la couche
limite si la condition qui leur est appliquée est de type Dirichlet
(ICODCL=5). On traite donc en particulier
dans clptur
les conditions portant sur la température lorsque la paroi est
à température imposée. Par contre, les conditions de flux sont traitées plus tard
dans condli
.
Le sous-programme clptur
remplit les
tableaux COEFA et COEFB pour les faces de paroi et les variables
traitées. Ces tableaux représentent les coefficients Ab et
Bb. Plus précisément, pour une face IFAC et une variable IVAR donnée,
les valeurs renseignées sont COEFA(IFAC,ICLVAF) et COEFB(IFAC,ICLVAF) avec
ICLVAF=ICLRTP(IVAR,ICOEFF). Deux autres valeurs sont également renseignées :
COEFA(IFAC,ICLVAR) et COEFB(IFAC,ICLVAR) avec
ICLVAR=ICLRTP(IVAR,ICOEF).
Elles ne diffèrent des précédentes qu’en
k−ε et représentent des coefficients Ab et
Bb particuliers pour le calcul des gradients intervenant dans le terme de
production turbulente (il y a donc bien deux types de conditions aux limites
pour la vitesse dans ce cas, et chacun est utilisé lors du traitement d’un
terme particulier : on se reportera à clptur
).
• Conditions aux limites de symétrie
On détermine également (clsyvt
) les conditions aux limites de symétrie pour
les vecteurs (vitesse) et les tenseurs (de Reynolds). Elles nécessitent des
rotations pour s’exprimer dans le repère lié au bord et le traitement lourd
qui en résulte a donc été encapsulé. Le sous-programme complète les
tableaux COEFA et COEFB aux faces de symétries pour la vitesse
et les tensions de Reynolds (contrairement aux faces de paroi en
k−ε, les valeurs COEFA(IFAC,ICLVAF) et
COEFB(IFAC,ICLVAF) sont égales à COEFA(IFAC,ICLVAR) et
COEFB(IFAC,ICLVAR)).
• Autres conditions aux limites pour la vitesse
On détermine, pour la vitesse, les conditions aux limites en sortie. On traite
en outre les conditions restantes de type
Dirichlet et Neumann. Ici également, on fournit une valeur de
COEFA et de COEFB pour chaque face concernée
(les valeurs COEFA(IFAC,ICLVAF) et
COEFB(IFAC,ICLVAF) sont égales à COEFA(IFAC,ICLVAR) et
COEFB(IFAC,ICLVAR)).
Notons que, si le flux de masse est entrant à
travers une face de sortie, on impose un Dirichlet homogène sur la vitesse
(COEFA(IFAC,ICLVAF)=0, COEFB(IFAC,ICLVAF)=0) au
lieu de la condition de Neumann homogène
(COEFA(IFAC,ICLVAF)=0, COEFB(IFAC,ICLVAF)=1), lorsque le flux de
masse est sortant.
• Autres conditions aux limites
On détermine enfin, pour la pression, les grandeurs turbulentes et les autres
scalaires, les conditions aux limites de type Dirichlet et Neumann restantes. Ici également, on fournit donc une valeur de
COEFA et de COEFB pour chaque face concernée
(les valeurs COEFA(IFAC,ICLVAF) et
COEFB(IFAC,ICLVAF) sont égales à COEFA(IFAC,ICLVAR) et
COEFB(IFAC,ICLVAR)).
• Représentation des conditions par une valeur de face
Bien que la méthode utilisée permette une simplicité et une
homogénéité de traitement de toutes les conditions aux limites,
elle est relativement
restrictive au sens où une seule valeur ne suffit pas toujours pour
représenter les conditions à appliquer lors du calcul de termes
différents.
Ainsi, en k−ε a-t-il été nécessaire, lors du calcul des conditions aux limites de paroi, de disposer de deux couples (Ab, Bb) afin de prendre en compte les conditions à appliquer pour le calcul de la contrainte tangentielle et celles à utiliser lors du calcul du terme de production (et un troisième jeu de coefficients serait nécessaire pour permettre le traitement des gradients intervenant dans les termes de gradient transposé, dans vissec ).
Peut-être pourrait-il être utile de mettre en place une méthode permettant d’utiliser (au moins en certains points stratégiques du code) directement des forces, des contraintes ou des flux, sans passer nécessairement par le calcul d’une valeur de face.
• Difficultés liées à la donnée d’un flux (entrée des données
peu intuitive)
L’utilisateur est invité à fournir, dans le cas d’une condition de Neumann,
une valeur de flux en W m−2 pour la température ou l’enthalpie. Par
souci de cohérence, lorsqu’il souhaite fournir une condition de Neumann sur
une autre variable, il est amené à fournir une grandeur similaire (en
fait homogène à α grad f.n, si f est la variable), ce qui est
peu naturel pour la vitesse, la pression ou un scalaire, dans le cas où l’on
souhaite imposer la valeur du gradient normal à la face et non pas la valeur
de (µ+µt)grad uj.n, de Δ t grad (p).n ou
de α/C grad (f).n.
• Condition de sortie en pression
La condition de pression en sortie se traduit par
pf=pI′+R1 et le profil obtenu correspond au
profil amont pris aux points I′ et recalé pour obtenir p0 en un point
A arbitraire. Ce type de condition est appliqué sans précautions, mais
n’est pas toujours justifié (une condition de Dirichlet basée sur la valeur calculée
directement aux faces de bord pourrait être plus adaptée).
Les hypothèses sont en particulier mises en défaut
dans les cas suivants :
On pourrait également tester la méthode d’Orlansky (équation de convection sur la pression).
Par ailleurs, en l’absence de condition de sortie, il pourrait peut-être se révéler utile de fixer une valeur de référence sur une cellule donnée ou de ramener la moyenne de la pression à une valeur de référence (avec le décalage du spectre, on assure l’inversibilité de la matrice à chaque pas de temps, mais il faudrait vérifier si la pression n’est pas susceptible de dériver au cours du calcul).
• Termes non pris en compte
Les conditions aux limites actuelles
semblent causer des difficultés lors du traitement du terme
de gradient transposé de la vitesse dans l’équation de Navier-Stokes (terme
traité de manière explicite en temps). Il est possible de “débrancher” ce terme en positionnant le mot clé IVISSE à 0. Sa valeur par
défaut est 1 (les termes en gradient transposé sont pris en compte).
On remarquera que l’indicateur IVISSE active non seulement les termes de gradient
transposé en
( tgrad v), mais également le terme en
− 2/3 grad ( µ tot div v) avec :