1%------------------------------------------------------------------------------- 2 3% This file is part of Code_Saturne, a general-purpose CFD tool. 4% 5% Copyright (C) 1998-2021 EDF S.A. 6% 7% This program is free software; you can redistribute it and/or modify it under 8% the terms of the GNU General Public License as published by the Free Software 9% Foundation; either version 2 of the License, or (at your option) any later 10% version. 11% 12% This program is distributed in the hope that it will be useful, but WITHOUT 13% ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 14% FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 15% details. 16% 17% You should have received a copy of the GNU General Public License along with 18% this program; if not, write to the Free Software Foundation, Inc., 51 Franklin 19% Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 21%------------------------------------------------------------------------------- 22 23\programme{condli} 24 25\hypertarget{condli}{} 26 27\vspace{1cm} 28%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 29%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 30\section*{Function} 31%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 32%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 33Boundary conditions are required in at least three principal cases~: 34\begin{itemize} 35\item calculation of the convection terms (first order derivative in space) at 36the boundary~: the calculation uses a flux at the boundary and requires the 37value of the convected variable at the boundary when the latter is entering 38the domain in the sens of the characteristic curves of the system (in the sens 39of the velocity, in the case of the single equation of a simple scalar~: 40 sufficient interpretation in the current framework of 41\CS\footnote{except with the compressible module, see. \fort{cfxtcl}})~; 42\item calculation of the diffusion terms (second order derivative 43in space)~: 44a method to determine the value of the first order spatial derivatives 45at the boundary is then required 46 (more exactly, the terms that depend upon it are required, 47 such as the stresses of the thermal fluxes at the wall)~: 48\item calculation of the cell gradients~: the variable at the boundary faces 49 are required (more generally, the discrete terms of the equations which depend 50upon the gradient inside boundary cells are required, such as the transpose 51gradient terms in the Navier-Stokes equations). 52\end{itemize} 53These considerations only concern the computational variables 54(velocity, pressure, Reynolds tensor, 55scalars solution of a convection-diffussion equation). For these variables 56\footnote{ 57The other variables 58(the physical properties for instance) have a different treatment which will 59not be detailed here (for instance, for the density, the user defines 60directly the values at the boundary. This information is then stored~; one 61is referred to \fort{usphyv} or \fort{phyvar} for more information). 62}, 63the user has to define the boundary conditions at every boundary face 64(\fort{usclim}). 65 66 67The subroutine \fort{condli} transforms the data provided by the user 68(in \fort{usclim}) into an internal format of representation of the boundary 69 conditions. Verifications of the completeness and coherence are also 70performed (in \fort{vericl}). More particularly, the smooth-wall boundary conditions 71 (\fort{clptur}), the rough-wall boundary conditions (\fort{clptrg}) 72and the symmetry boundary conditions for the velocities and 73the Reynolds stress tensor (\fort{clsyvt}) are treated in dedicated subroutines. 74 75The subroutine \fort{condli} 76provides as an output pairs of coefficients 77$A_b$ and $B_b$ 78for each variable~$f$ and for each boudary face. 79These are used for the calculation of the discrete terms in the equations 80to be solved. More specifically, these coefficients are used to calculate 81a value at the boundary faces $f_{b,int}$ (localised at the centre of the 82boundary face, barycentre of its vertices) by the relation 83 $f_{b,int} = A_b+B_b\,f_{I'}$, where $f_{I'}$ is the value of the variable 84at point $I'$. $I'$ is the projection onto the centre of the cell 85adjoin to the boundary on the line normal to the boundary face and passing 86by its centre 87(see figure~\ref{Base_Condli_fig_flux_condli}). 88 89See the \doxygenfile{condli_8f90.html}{programmers reference of the dedicated subroutine} for further details. 90 91\begin{figure}[h] 92\centerline{\includegraphics[height=8cm]{fluxbord}} 93\caption{\label{Base_Condli_fig_flux_condli}Boundary cell.} 94\end{figure} 95 96%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 97%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 98\section*{Discretisation} 99%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 100%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 101 102\etape{Notation} 103%%%%%%%%%%%%%%%% 104On d\'esignera dans la suite par {\it VarScalaire} toute variable 105\begin{itemize} 106\item [-] autre que la 107vitesse, la pression, les grandeurs turbulentes $k$, $\varepsilon$, 108$R_{ij}$, $\varphi$, $\bar{f}$ et $\omega$, 109\item [-] solution d'une \'equation de convection-diffusion. 110\end{itemize} 111La d\'enomination {\it VarScalaire} pourra en particulier d\'esigner 112la temp\'erature, un scalaire 113passif, une fraction massique ou (sauf mention contraire explicite) la variance des fluctuations 114d'une autre {\it VarScalaire}. Les variables d'\'etat d\'eduites (masse 115volumique, viscosit\'e...) ne seront pas d\'esign\'ees par {\it VarScalaire}. 116 117 118\etape{Repr\'esentation des conditions aux limites standard dans \fort{usclim} \vspace{0,3cm}} 119%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 120Des conditions aux limites standardis\'ees peuvent \^etre fournies par 121l'utilisateur dans \fort{usclim}. Il est pour cela n\'ecessaire d'affecter un 122type aux 123faces de bord des cellules concern\'ees\footnote{L'affectation d'un type se fait 124en renseignant le tableau 125\var{ITYPFB}.}. Les conditions pr\'evues par d\'efaut sont les suivantes~: 126 127 128 129\begin{itemize} 130\item [$\bullet$] {\bf Entr\'ee}~: correspond \`a une condition de Dirichlet sur 131toutes les variables transport\'ees (vitesse, variables turbulentes, 132{\it VarScalaires}...), et \`a 133une condition de Neumann homog\`ene (flux nul) sur la pression. 134\item [$\bullet$] {\bf Sortie}~: 135 \begin{itemize} 136 \item [-] lorsque le flux de masse est effectivement dirig\'e vers 137l'ext\'erieur du domaine, ce choix correspond \`a une condition de Neumann 138homog\`ene sur toutes les variables transport\'ees et \`a 139$\displaystyle\frac{\partial^2P}{\partial \vect{n}\partial\vect{\tau}_i}=0$, pris en compte sous forme 140de Dirichlet pour la pression 141($\vect{n}$ et $(\vect{\tau}_i)_{i \in \{1,2\}}$ 142d\'esignent respectivement le vecteur normal de la face de sortie consid\'er\'ee 143et deux vecteurs norm\'es, orthogonaux entre eux et dans le plan de la face de 144sortie). Cette condition est appliqu\'ee de 145mani\`ere explicite en utilisant le champ de pression et son gradient 146au pas de temps pr\'ec\'edent. 147En outre, la pression \'etant d\'efinie \`a une 148constante pr\`es, elle est recal\'ee en un point de 149sortie pour y conserver la valeur \var{P0} (on \'evite ainsi toute d\'erive 150vers des valeurs tr\`es grandes relativement \`a l'\'ecart maximal de 151pression sur le domaine)\footnote{Lorsqu'il n'y a pas de sortie, le spectre des 152valeurs propres de la matrice est d\'ecal\'e d'une valeur constante 153afin de rendre le syst\`eme inversible~: voir \fort{matrix}.}. 154 \item [-] lorsque le flux de masse est dirig\'e vers l'int\'erieur du 155domaine, situation peu souhaitable {\it a priori}\footnote{Un message indique 156\`a l'utilisateur combien de faces de sortie voient un flux de masse entrer dans 157le domaine. 158}, 159on impose une condition de 160Dirichlet homog\`ene sur la vitesse (pas sur le flux de masse), 161\`a d\'efaut de conna\^\i tre sa valeur en aval du domaine. La pression est 162trait\'ee comme dans le cas pr\'ec\'edent o\`u le flux de masse est 163dirig\'e vers l'ext\'erieur du domaine. Pour les variables autres que 164la vitesse et la pression, deux cas se 165pr\'esentent~: 166 \begin{itemize} 167 \item[-] on peut imposer une condition de Dirichlet 168 pour repr\'esenter la valeur du scalaire introduit dans le domaine par 169 les faces de bord concern\'ees. 170 \item[-] on peut imposer, comme lorsque 171 le flux de masse est sortant, une condition de Neumann homog\`ene 172 (ceci n'est pas une situation souhaitable, puisque l'information 173 port\'ee sur les faces de bord provient alors de {\it l'aval} de 174 l'\'ecoulement local). C'est le cas par d\'efaut si l'on ne donne pas 175 de valeur pour le Dirichlet. 176 \end{itemize} 177\end{itemize} 178\item [$\bullet$] {\bf Paroi}~: on se reportera \`a \fort{clptur} (ou \`a \fort{clptrg} pour les 179parois rugueuses) pour une description du 180traitement des conditions aux limites de paroi (suppos\'ees imperm\'eables au 181fluide). Bri\`evement, on peut dire ici 182qu'une approche par lois de paroi est utilis\'ee afin d'imposer la contrainte 183tangentielle sur la vitesse. La paroi peut \^etre d\'efilante\footnote{On doit alors fournir 184les composantes de la vitesse de la paroi.}. Les {\it VarScalaires} re\c coivent par 185d\'efaut une condition de Neumann homog\`ene (flux nul). Si l'on souhaite 186imposer une valeur en paroi pour ces variables (par exemple, dans le cas d'une 187paroi \`a temp\'erature impos\'ee) une loi de similitude est utilis\'ee 188pour d\'eterminer le flux au bord en tenant compte de la couche limite. 189Dans le cas des couplages avec \syrthes, \CS 190re\c coit une temp\'erature de paroi et fournit un flux thermique. La condition 191de pression standard est une condition de Neumann homog\`ene. 192\item [$\bullet$] {\bf Sym\'etrie}~: correspond \`a des conditions de Neumann homog\`enes pour les 193grandeurs scalaires et \`a des conditions de sym\'etrie classiques pour les vecteurs 194(vitesse) et les tenseurs (tensions de Reynolds)~: voir \fort{clsyvt}. 195\end{itemize} 196 197\newpage 198 199\etape{Repr\'esentation des conditions aux limites sp\'ecifiques dans \fort{usclim}\vspace{0,3cm}} 200%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 201On a vu que l'affectation \`a une face de bord d'un type standard 202(entr\'ee, sortie, paroi, sym\'etrie) permettait d'appliquer simplement 203\`a l'ensemble des variables un assortiment de conditions aux limites 204coh\'erentes entre elles pour les types usuels de fronti\`ere physique. 205 206Une solution consiste \`a d\'efinir dans \fort{usclim}, 207pour chaque face de bord et chaque variable, des conditions aux limites 208sp\'ecifiques\footnote{Les conditions 209aux limites sp\'ecifiques sont cod\'ees en 210renseignant directement les tableaux \var{ICODCL} et \var{RCODCL} pour chaque face de 211bord et chaque variable~: des exemples sont fournis dans \fort{usclim}.} 212(celles-ci, comme les conditions standards, se ram\`enent 213finalement \`a des conditions de type mixte). 214 215Les deux approches ne sont pas n\'ecessairement incompatibles et peuvent m\^eme 216se r\'ev\'eler compl\'ementaires. En effet, les conditions aux limites standards 217peuvent \^etre surcharg\'ees par l'utilisateur pour une ou plusieurs 218variables donn\'ees. Il convient cependant de s'assurer que, d'une fa\c con ou 219d'une autre, une condition \`a la limite a \'et\'e d\'efinie pour chaque face 220de bord et chaque variable. 221 222Des conditions de compatibilit\'e existent \'egalement entre les diff\'erentes 223variables~(voir \fort{vericl}): \begin{itemize} 224\item [-] en entr\'ee, paroi, sym\'etrie ou sortie libre, il est important que toutes les 225composantes de la vitesse aient le m\^eme type de condition~; 226\item [-] lorsque la vitesse re\c coit une condition de sortie, il est important 227que la pression re\c coive une condition de type Dirichlet. Pour plus de 228d\'etails, on se reportera au paragraphe relatif \`a la condition de sortie pour 229la pression, page \pageref{Base_Condli_Sortie_Pression}~; 230\item [-] lorsqu'une des variables de vitesse ou de turbulence 231re\c coit une condition de paroi, il doit en \^etre de m\^eme pour toutes~; 232\item [-] lorsqu'une des composantes $R_{ij}$ re\c coit une condition de sym\'etrie, 233il doit en \^etre de m\^eme pour toutes~; 234\item [-] lorsqu'une {\it VarScalaire} re\c coit une condition de paroi, la 235vitesse doit avoir le m\^eme type de condition. 236\end{itemize} 237 238\newpage 239\etape{Repr\'esentation interne des conditions aux limites} 240%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 241 242{\bf Objectif} 243 244Les conditions fournies par l'utilisateur sont 245retraduites sous forme de couples de coefficients $A_b$ et $B_b$ 246pour chaque variable~$f$ et chaque face de bord. Ces coefficients 247sont utilis\'es pour le calcul des 248termes discrets intervenant dans les \'equations \`a r\'esoudre et 249permettent en particulier de d\'eterminer une valeur de face 250de bord $f_{b,int}$. Il est important d'insister d\`es \`a pr\'esent sur le fait 251que cette valeur est, de mani\`ere g\'en\'erale, une simple valeur num\'erique 252qui ne refl\`ete pas n\'ecessairement une r\'ealit\'e physique (en particulier 253 aux parois, pour les grandeurs affect\'ees par la couche limite turbulente). 254On d\'etaille ci-dessous le calcul de $A_b$, $B_b$ et de $f_{b,int}$. 255 256{\bf Notations} 257\begin{itemize} 258 259\item[-] On consid\`ere l'\'equation (\ref{Base_Condli_eq_conv_diff_condli}) 260portant sur le scalaire $f$, dans laquelle 261$\rho$ repr\'esente la masse volumique, $\vect{u}$ la vitesse, $\alpha$ la 262conductivit\'e et 263$S$ les termes sources additionnels. $C$ est d\'efini plus bas. 264\begin{equation}\label{Base_Condli_eq_conv_diff_condli} 265\displaystyle\rho\frac{\partial f}{\partial t} + div(\rho \vect{u} f)=div\left(\displaystyle\frac{\alpha}{C}\, \grad f\right)+S 266\end{equation} 267 268\item[-] Le coefficient $\alpha$ repr\'esente la somme des 269conductivit\'es mol\'eculaire et turbulente (selon les mod\`eles utilis\'es), soit 270$\alpha=\alpha_m+\alpha_t$, avec, pour une mod\'elisation de type viscosit\'e 271turbulente, $\displaystyle\alpha_t=C\,\frac{\mu_t}{\sigma_t}$, o\`u $\sigma_t$ est le nombre de 272Prandtl turbulent\footnote{Le nombre de Prandtl turbulent est sans dimension et, 273dans certains cas usuels, pris \'egal \`a $0,7$.}. 274 275\item[-] Le coefficient $C_p$ repr\'esente la chaleur sp\'ecifique, d'unit\'e 276 $m^{2}\,s^{-2}\,K^{-1}=J\,kg^{-1}\,K^{-1}$. 277 278\item[-] On note $\lambda$ la conductivit\'e thermique, d'unit\'e 279$kg\,m\,s^{-3}\,K^{-1}=W\,m^{-1}\,K^{-1}$. 280 281\item[-] Il convient de pr\'eciser que $C=1$ pour toutes les variables hormis 282pour la temp\'erature, cas dans lequel on a\footnote{Plus exactement, on a 283$C=C_p$ pour toutes les {\it VarScalaires} $f$ que l'on souhaite traiter comme la 284temp\'erature pour les conditions aux limites. Ces {\it VarScalaires} sont 285rep\'erables par l'utilisateur au moyen de l'indicateur \var{ISCSTH=1}. Par 286d\'efaut cet indicateur est positionn\'e \`a la valeur 0 pour toutes les 287{\it VarScalaires} (qui sont alors trait\'ees comme des scalaires passifs 288avec $C=1$) hormis pour la variable 289thermique \'eventuelle (\var{ISCALT}$^\text{i\`eme}$ {\it VarScalaire}), pour laquelle on a 290\var{ISCSTH=1}~: on suppose par d\'efaut que la variable thermique est la temp\'erature et non 291l'enthalpie. Si l'on souhaite r\'esoudre en enthalpie, il faut positionner 292\var{ISCSTH} \`a la valeur 2 pour la variable thermique. Pour le compressible, 293la variable thermique est l'�nergie, identifi�e par \var{ISCSTH=3}. On se 294reportera � \fort{cfxtcl} pour le traitement des conditions aux limites.} 295$C=C_p$. Dans le code, c'est la valeur de 296$\displaystyle\frac{\alpha_m}{C}$ que l'utilisateur doit fournir (si la propri\'et\'e est 297constante, les valeurs sont affect\'ees dans \fort{usini1} \`a \var{VISCL0} pour 298la vitesse et \`a \var{VISLS0} pour les {\it VarScalaires}~; si la propri\'et\'e 299est variable, ce sont des tableaux \'equivalents qui doivent \^etre renseign\'es 300dans \fort{usphyv}). 301 302\item[-] Pour la variance des fluctuations d'une {\it VarScalaire}, la 303conductivit\'e $\alpha$ et le coefficient $C$ sont h\'erit\'es de la 304{\it VarScalaire} associ\'ee. 305 306\end{itemize} 307 308 309{\bf Condition de type Dirichlet simple}~: lorsque la condition est une condition de Dirichlet simple, on 310obtient naturellement (cas particulier de (\ref{Base_Condli_eq_fbord_condli}))~: 311\begin{equation} 312\underbrace{\ \ f_{b,int}\ \ }_{\text{valeur de bord utilis\'ee par le calcul}} 313= \underbrace{\ \ f_{\text{\it r\'eel}}\ \ }_{\text{valeur r\'eelle impos\'ee au bord}} 314\end{equation} 315{\bf Autres cas}~: lorsque la condition \`a la limite porte 316sur la donn\'ee d'un flux, il s'agit 317d'un flux diffusif\footnote{En effet, le flux total sortant du domaine est 318donn\'e par la 319somme du flux convectif (si la variable est effectivement convect\'ee) 320et du flux diffusif. N\'eanmoins, pour les parois 321\'etanches et les sym\'etries, le flux de masse est nul et la condition se 322r\'eduit \`a une contrainte sur le flux diffusif. De plus, pour les 323sorties (flux de masse sortant), la condition \`a la limite ne porte que sur le 324flux diffusif (souvent une condition de Neumann homog\`ene), le flux convectif 325d\'ependant des conditions amont (il n'a donc pas besoin de 326condition \`a la limite). Enfin, aux entr\'ees, c'est le plus souvent une 327condition de Dirichlet simple qui est appliqu\'ee et le flux diffusif s'en d\'eduit.}. 328On a alors~: 329\begin{equation} 330\underbrace{\ \ \phi_{int}\ \ }_{\text{flux diffusif transmis au domaine interne}} 331= \underbrace{\ \ \phi_{\text{\it r\'eel}}\ \ }_{\text{flux diffusif r\'eel impos\'e au bord}} 332\end{equation} 333 334Le flux diffusif r\'eel impos\'e peut \^etre donn\'e 335\begin{itemize} 336\item [-] directement (condition de Neumann), soit 337$\phi_{\text{\it r\'eel}}=\phi_{\text{\it imp,ext}}$ ou 338\item [-] d\'eduit implicitement de deux informations impos\'ees~: une valeur 339externe $f_{imp,ext}$ et un coefficient d'\'echange $h_{imp,ext}$ 340(condition de Dirichlet g\'en\'eralis\'ee). 341\end{itemize} 342 343\vspace{1cm} 344Selon le type de condition (Dirichlet ou Neumann) et en prenant pour hypoth\`ese 345la conservation du flux dans la direction normale au bord, 346on peut alors \'ecrire (voir figure \ref{Base_Condli_fig_flux_condli})~: 347\begin{equation}\label{Base_Condli_eq_flux_condli} 348\begin{array}{l} 349 \underbrace{h_{int}(f_{b,int}-f_{I'})}_{\phi_{int}} 350 = \underbrace{h_{b}(f_{b,ext}-f_{I'})}_{\phi_{b}} 351 = \left\{\begin{array}{ll} 352 \underbrace{h_{imp,ext}(f_{imp,ext}-f_{b,ext})}_{\phi_{\text{\it r\'eel 353impos\'e}}} &\text{(condition de Dirichlet)}\\ 354 \underbrace{\phi_{\text{\it imp,ext}}}_{\phi_{\text{\it r\'eel impos\'e}}} 355 &\text{(condition de Neumann)} 356 \end{array}\right. 357\end{array} 358\end{equation} 359 360Le rapport entre le coefficient $h_{b}$ et le coefficient $h_{int}$ rend compte 361de l'importance de la travers\'ee de la zone proche du bord et 362rev\^et une importance particuli\`ere dans le 363cas des parois le long desquelles se d\'eveloppe une couche limite (dont les 364propri\'et\'es sont alors prises en compte par $h_{b}$~: se reporter \`a 365\fort{clptur}). Dans le cadre plus simple consid\'er\'e ici, on se limitera au 366cas $h_{b}=h_{int}$ et $f_{b,ext}=f_{b,int}=f_{b}$. 367La relation (\ref{Base_Condli_eq_flux_condli}) s'\'ecrit alors~: 368 369\begin{equation} 370\underbrace{h_{int}(f_{b}-f_{I'})}_{\phi_{int}} 371 = \left\{\begin{array}{ll} 372 \underbrace{h_{imp,ext}(f_{imp,ext}-f_{b})}_{\phi_{\text{\it r\'eel 373impos\'e}}} &\text{(condition de Dirichlet)}\\ 374 \underbrace{\phi_{\text{\it imp,ext}}}_{\phi_{\text{\it r\'eel impos\'e}}} 375 &\text{(condition de Neumann)} 376 \end{array}\right. 377\end{equation} 378 379En r\'earrangeant, on obtient la valeur de bord~: 380\begin{equation}\label{Base_Condli_eq_fbord_condli} 381f_{b} 382 = \left\{\begin{array}{cccccl} 383 \displaystyle\frac{h_{imp,ext}}{h_{int}+h_{imp,ext}}&f_{imp,ext}&+& 384 \displaystyle\frac{h_{int}}{h_{int}+h_{imp,ext}} &f_{I'} 385 &\text{(condition de Dirichlet)}\\ 386 \displaystyle\frac{1}{h_{int}}&\phi_{\text{\it imp,ext}}&+& 387 \ &f_{I'} 388 &\text{(condition de Neumann)} 389 \end{array}\right. 390\end{equation} 391 392 393{\bf Conclusion}~: on notera donc les conditions aux limites 394de mani\`ere g\'en\'erale sous la forme~: 395\begin{equation} 396f_{b}=A_b + B_b\,f_{I'} 397\end{equation} 398avec $A_b$ et $B_b$ d\'efinis selon le type des conditions~: 399\begin{equation} 400\begin{array}{c} 401\text{Dirichlet}\left\{\begin{array}{ll} 402 A_b = &\displaystyle\frac{h_{imp,ext}}{h_{int}+h_{imp,ext}}f_{imp,ext}\\ 403 B_b = &\displaystyle\frac{h_{int}}{h_{int}+h_{imp,ext}} 404 \end{array}\right. 405\text{\ \ Neumann}\left\{\begin{array}{ll} 406 A_b = &\displaystyle\frac{1}{h_{int}}\phi_{\text{\it imp,ext}}\\ 407 B_b = &1 408 \end{array}\right. 409\end{array} 410\end{equation} 411 412 413\newpage 414 415{\bf Remarques } 416\begin{itemize} 417\item [-] La valeur $f_{I'}$ est calcul\'ee en utilisant le gradient cellule de $f$, 418soit~: $f_{I'}=f_{I}+\vect{II'}\grad{f}_I$. 419\item [-] Il reste \`a pr\'eciser la valeur de $h_{int}$. Il s'agit d'une valeur {\it 420num\'erique}, n'ayant {\it a priori} aucun rapport avec un coefficient d'\'echange 421physique, et d\'ependante du mode de calcul du flux diffusif dans la premi\`ere 422maille de bord. Ainsi~$\displaystyle h_{int}=\displaystyle\frac{\alpha}{\overline{I'F}}$ 423(l'unit\'e s'en d\'eduit naturellement). 424\item [-] On rappelle que dans le code, c'est la valeur de 425$\displaystyle\frac{\alpha_m}{C}$ que l'utilisateur doit fournir. Si la propri\'et\'e est 426constante, les valeurs sont affect\'ees dans \fort{usini1} \`a \var{VISCL0} pour 427la vitesse (viscosit\'e dynamique mol\'eculaire $\mu$ en $kg\,m^{-1}\,s^{-1}$) 428et \`a \var{VISLS0} pour les {\it VarScalaires} (par exemple, pour la 429temp\'erature et l'enthalpie, $\displaystyle\frac{\lambda}{C_p}$ en $kg\,m^{-1}\,s^{-1}$). 430Si la propri\'et\'e est variable en espace ou en temps, ce sont des tableaux \'equivalents 431qui doivent \^etre renseign\'es dans \fort{usphyv}. En outre, la variance 432des fluctuations d'une {\it VarScalaire} h\'erite automatiquement la valeur 433de $\displaystyle\frac{\alpha_m}{C}$ de la {\it VarScalaire} associ\'ee 434(\CS~1.1 et suivantes). 435\item [-] On rappelle \'egalement, car ce peut \^etre source d'erreur, que dans 436le code, on a~: 437 \begin{itemize} 438 \item [-] pour la temp\'erature $\alpha_m=\lambda$ et $C=C_p$ 439 \item [-] pour l'enthalpie $\alpha_m=\displaystyle\frac{\lambda}{C_p}$ et $C=1$ 440 \end{itemize} 441\end{itemize} 442 443 444{\bf Exemples de cas particuliers} 445\begin{itemize} 446\item [-] Dans le cas d'une condition de Dirichlet, 447l'utilisateur est donc conduit \`a 448fournir deux donn\'ees : $f_{imp,ext}$ et $h_{imp,ext}$. 449Pour obtenir une condition de Dirichlet simple (sans coefficient d'\'echange) 450il suffit d'imposer $h_{imp,ext}=+\infty$. C'est le cas d'utilisation le plus 451courant (en pratique, $h_{imp,ext}=10^{30}$ ). 452\item [-] Dans le cas d'une condition de Neumann, l'utilisateur fournit une seule valeur 453$\phi_{\text{\it imp,ext}}$ (nulle pour les conditions de Neumann homog\`enes). 454\end{itemize} 455 456\newpage 457\etape{Condition de sortie pour la pression\vspace{0,3cm}}\label{Base_Condli_Sortie_Pression} 458%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 459On pr\'ecise ici la condition de sortie appliqu\'ee 460\`a la pression dans le cas des sorties standards. 461Il est n\'ecessaire d'imposer une condition de type Dirichlet (accompagn\'ee d'une 462condition 463de type Neumann homog\`ene sur les composantes de la vitesse). On la 464calcule \`a partir des valeurs de la variable au pas de temps pr\'ec\'edent. 465\begin{itemize} 466\item [-] En raisonnant sur une configuration simple (de type canal, avec une sortie 467plane, perpendiculaire \`a l'\'ecoulement), 468on peut faire l'hypoth\`ese que la forme des profils de pression pris 469sur les surfaces parall\`eles \`a la sortie est inchang\'ee aux alentours de 470celle-ci (hypoth\`ese d'un \'ecoulement \'etabli, loin de toute 471perturbation). Dans cette situation, on peut \'ecrire 472$\displaystyle\frac{\partial^2P}{\partial\vect{n}\partial\vect{\tau}_i}=0$ 473($\vect{n}$ est le vecteur normal \`a la sortie, $\vect{\tau}_i$ repr\'esente 474une base du plan de sortie). 475 476\item [-] Si, de plus, 477on peut supposer que le gradient de pression pris dans la direction 478perpendiculaire aux faces de sortie est uniforme au 479voisinage de celle-ci, le profil \`a imposer en sortie (valeurs $p_b$) 480se d\'eduit du profil 481pris sur un plan amont (valeurs $p_{amont}$) en ajoutant simplement la constante 482$R=d\,\grad{(p)}.\vect{n}$ (o\`u $d$ est la distance entre le plan amont 483et la sortie), soit $p_b=p_{amont}+R$ (le fait que $R$ soit identique pour 484toutes les faces de sortie est important afin de pouvoir l'\'eliminer dans 485l'\'equation (\ref{Base_Condli_eq_psortie_condli}) ci-dessous). 486 487\item [-] Avec l'hypoth\`ese 488suppl\'ementaire que les points $I'$ relatifs aux faces de sortie sont 489sur un plan parall\`ele \`a la sortie, on peut utiliser les 490valeurs en ces points ($p_{I'}$) pour valeurs amont soit 491$p_{amont}=p_{I'}=p_{I}+\vect{II'}.\grad{p}$. 492 493\item [-] Par ailleurs, la 494pression \'etant d\'efinie \`a une constante pr\`es (\'ecoulement 495incompressible) on peut fixer sa valeur arbitrairement en un point $A$ (centre 496d'une face de sortie choisie arbitrairement\footnote{premi\`ere face de 497sortie rencontr\'ee en parcourant les faces de bord dans l'ordre naturel induit 498par la num\'erotation interne au code}) \`a $p_0$ (valeur fix\'ee par 499l'utilisateur, \'egale \`a \var{P0} et nulle par d\'efaut), 500et donc d\'ecaler le profil impos\'e en sortie en ajoutant~:\\ 501$R_0=p_0-(p_{amont,A}+R)=p_0-(p_{I',A}+R)$. 502 503\item [-] On obtient donc finalement~: 504\begin{equation}\label{Base_Condli_eq_psortie_condli} 505\begin{array}{lll} 506p_b&=&p_{I'}+R+R_0\\ 507 &=&p_{I'}+R+p_0-(p_{I',A}+R)\\ 508 &=&p_{I'}+\underbrace{p_0-p_{I',A}}_{\text{valeur constante $R_1$}}\\ 509 &=&p_{I'}+R_1 510\end{array} 511\end{equation} 512\end{itemize} 513On constate donc que la condition de pression en sortie est une condition de 514Dirichlet dont les valeurs sont \'egales aux valeurs de la pression (prises au 515pas de temps pr\'ec\'edent) sur le plan amont des points $I'$ et recal\'ees pour obtenir \var{P0} en 516un point de sortie arbitraire. 517 518 519%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 520%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 521\section*{Points \`a traiter} 522%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 523%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 524\etape{Repr\'esentation des conditions par une valeur de face} 525Bien que la m\'ethode utilis\'ee permette une simplicit\'e et une 526homog\'en\'eit\'e de traitement de toutes les conditions aux limites, 527elle est relativement 528restrictive au sens o\`u une seule valeur ne suffit pas toujours pour 529repr\'esenter les conditions \`a appliquer lors du calcul de termes 530diff\'erents. 531 532Ainsi, en $k-\varepsilon$ a-t-il \'et\'e n\'ecessaire, lors du 533calcul des conditions aux limites de paroi, de disposer de deux couples 534($A_b$, $B_b$) afin de prendre en compte les 535conditions \`a appliquer pour le calcul de la contrainte tangentielle 536 et celles \`a utiliser lors du calcul du terme 537de production (et un troisi\`eme jeu de coefficients serait n\'ecessaire pour 538permettre le traitement des gradients intervenant dans les termes de gradient 539transpos\'e, dans \fort{visecv}). 540 541Peut-\^etre pourrait-il \^etre utile de mettre en place une m\'ethode 542permettant d'utiliser (au moins en certains points strat\'egiques du code) 543directement des forces, des contraintes ou des flux, sans passer 544n\'ecessairement par le calcul d'une valeur de face. 545 546\etape{Condition de sortie en pression} 547La condition de pression en sortie se traduit par 548$p_f=p_{I'}+R1$ et le profil obtenu correspond au 549profil amont pris aux points $I'$ et recal\'e pour obtenir $p_0$ en un point 550$A$ arbitraire. Ce type de condition est appliqu\'e sans pr\'ecautions, mais 551n'est pas toujours justifi\'e (une condition de Dirichlet bas\'ee sur la valeur calcul\'ee 552directement aux faces de bord pourrait \^etre plus adapt\'ee). 553Les hypoth\`eses sont en particulier mises en d\'efaut 554dans les cas suivants~: 555\begin{itemize} 556\item [-] la sortie est proche d'une zone o\`u l'\'ecoulement n'est pas \'etabli 557en espace (ou varie en temps)~; 558\item [-] la sortie n'est pas une surface perpendiculaire \`a l'\'ecoulement~; 559\item [-] le gradient de pression dans la direction normale \`a la sortie n'est 560pas le m\^eme pour toutes les faces de sortie 561(dans le cas de sortie multiples, par exemple, le gradient n'est 562probablement pas le m\^eme au travers de toutes les sorties)~; 563\item [-] les points $I'$ ne sont pas sur une surface parall\`ele \`a la sortie 564(cas des maillage irr\'eguliers par exemple). 565\end{itemize} 566 567Par ailleurs, en l'absence de condition de sortie, il pourrait peut-\^etre se 568r\'ev\'eler utile de fixer une valeur de r\'ef\'erence sur une cellule donn\'ee 569ou de ramener la moyenne de la pression \`a une valeur de r\'ef\'erence (avec le 570d\'ecalage du spectre, on assure l'inversibilit\'e de la matrice \`a chaque pas 571de temps, mais il 572faudrait v\'erifier si la pression n'est pas susceptible de d\'eriver au cours 573du calcul). 574 575\etape{Termes non pris en compte} 576Les conditions aux limites actuelles 577semblent causer des difficult\'es lors du traitement du terme 578de gradient transpos\'e de la vitesse dans l'\'equation de Navier-Stokes (terme 579trait\'e de mani\`ere explicite en temps). Il est possible de ``d\'ebrancher'' ce terme en positionnant le mot cl\'e \var{IVISSE} \`a $0$. Sa valeur par 580d\'efaut est $1$ (les termes en gradient transpos\'e sont pris en compte).\\ 581