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