%                      Code_Saturne version 1.3
%                      ------------------------
%
%     This file is part of the Code_Saturne Kernel, element of the
%     Code_Saturne CFD tool.
% 
%     Copyright (C) 1998-2007 EDF S.A., France
%
%     contact: saturne-support@edf.fr
% 
%     The Code_Saturne Kernel is free software; you can redistribute it
%     and/or modify it under the terms of the GNU General Public License
%     as published by the Free Software Foundation; either version 2 of
%     the License, or (at your option) any later version.
% 
%     The Code_Saturne Kernel is distributed in the hope that it will be
%     useful, but WITHOUT ANY WARRANTY; without even the implied warranty
%     of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
%     GNU General Public License for more details.
% 
%     You should have received a copy of the GNU General Public License
%     along with the Code_Saturne Kernel; if not, write to the
%     Free Software Foundation, Inc.,
%     51 Franklin St, Fifth Floor,
%     Boston, MA  02110-1301  USA
%
%-----------------------------------------------------------------------
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Mise en \oe uvre}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\etape{Mode de prescription des conditions aux limites dans \fort{usclim}\vspace{0,3cm}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
L'utilisateur fournit pour chaque face un moyen de d\'eterminer les
conditions aux limites de toutes les variables de calcul. Comme on l'a vu, 
plusieurs m\'ethodes sont envisageables. 

La plus simple consiste \`a renseigner, pour chaque face, un code 
d\'esignant une condition \`a la limite standard (dans le tableau \var{ITYPFB} 
de dimension \var{NFABOR}) et les
informations compl\'emen\-tai\-res \'eventuelles. Les 
valeurs de \var{ITYPFB} suivantes  sont 
pr\'ed\'efinies\footnote{L'utilisateur peut d\'efinir d'autres types ({\it i.e.}
affecter \`a
\var{ITYPFB} d'autres valeurs enti\`eres), mais elles ne recouvrent pas de
conditions aux limites par d\'efaut. Les faces de bord ainsi 
rep\'er\'ees sont cependant trait\'ees comme un ensemble particulier 
lors de l'impression 
d'informations de type flux de masse par exemple.}~:
\var{IENTRE} (entr\'ee), \var{ISOR09}
(sortie de type 9), \var{ISOR10} (sortie de type 10), \var{ISYMET} (sym\'etrie), 
\var{IPAROI} (paroi). Dans le cas des entr\'ees (et des sorties de type 10), il
est n\'ecessaire de fournir une valeur de Dirichlet. 

L'utilisateur peut \'egalement renseigner un entier (tableau \var{ICODCL}
de dimension \var{NFABOR}$\times$\var{NVAR}) d\'esignant le type de
condition \`a appliquer \`a une variable donn\'ee~: les valeurs 1 (pour 
Dirichlet) et 3 (pour Neumann) sont souvent utilis\'ees,
plus rarement 5 (pour les conditions de paroi) et exceptionnellement 4 
(pour la sym\'etrie d'une
vitesse ou du tenseur de Reynolds), 9 ou 10 (pour les sorties de type 9 ou
10). Lorsque \var{ICODCL} est renseign\'e pour une variable donn\'ee, 
il prend alors le pas sur
\var{ITYPFB} sur la face consid\'er\'ee. 
L'utilisateur doit dans ce cas \'egalement fournir, suivant les
cas, z\'ero, un ou deux r\'eels (dans le tableau \var{RCODCL}
de dimension \var{NFABOR}$\times$\var{NVAR}$\times 3$). Pour une face et une
variable~$f$ donn\'ees, les 3 valeurs de
\var{RCODCL} d\'esignent respectivement les grandeurs $f_{imp,ext}$,
$h_{imp,ext}$ et~$\phi_{\text{\it imp,ext}}$. 

On indique dans le tableau \ref{Base_Condli_table_ITYPFB_condli} le mode de traitement des
variables pour les diff\'erents types de conditions aux limites standards. La
liste des valeurs compl\'ementaires \`a fournir est \'egalement pr\'ecis\'ee.
Le tableau \ref{Base_Condli_table_ICODCL_condli} propose le m\^eme type d'information pour 
les conditions aux limites sp\'ecifiques plus complexes, d\'efinies \`a partir
de la valeur de \var{ICODCL}. Enfin, le tableau  \ref{Base_Condli_table_ICODCLadm_condli}
synth\'etise les valeurs admissibles de \var{ICODCL} pour chaque variable de
calcul. 

\begin{table}
{\scriptsize
\begin{center}
\begin{tabular}{||l|l||l|l|lll||}
\hline
\var{ITYPFB}  & type  & variables trait\'ees    
 				&  type de condition
                      		&\multicolumn{3}{c||}{donn\'ees compl\'ementaires}\\ 
\hline
\hline
\var{IENTRE}  & entr\'ee       & variables transport\'ees
				&Dirichlet
					&RCODCL(.,.,1)&valeur d'entr\'ee& nulle par d\'efaut\\ 
\cline{3-7}
              &                & pression                
				&Neumann homog\`ene
					&             &                 &           \\ 
\hline
\hline
\var{ISYMET}  & sym\'etrie     & vitesse              
				&sym\'etrie vecteur
					&             &                 &           \\
\cline{3-7}
              &                & tensions de Reynolds    
				&sym\'etrie tenseur 
					&             &                 &           \\
\cline{3-7}
              &                & autres variables        
				&Neumann homog\`ene
					&             &                 &           \\
\hline
\hline
\var{IPAROI}  & paroi          & pression   
				&Neumann homog\`ene$^{a}$
					&             &                 &           \\
\cline{3-7}
              &                & vitesses                
				&lois de paroi (Dirichlet)$^{b}$
					&RCODCL(.,.,1)&vitesse de d\'efilement & nulle par d\'efaut\\
\cline{3-7}
              &                & grandeurs turbulentes
				&lois de paroi$^{c}$
					&             &                 &           \\
\cline{3-7}
              &                & autres variables 
				&
					&             &                 &           \\
              &                &\ \           transport\'ees
				&Neumann homog\`ene$^{d}$
					&             &                 &           \\
\hline
\hline
\var{ISOR09}  & sortie         & pression                
				&$\displaystyle\frac{\partial^2P}{\partial
\vect{n}\partial\vect{\tau}_i}=0$ 
					&             &                 &           \\
\cline{3-7}
              &                & vitesses                
				&Neumann homog\`ene 
					&             &                 &           \\
              &                &                         
				&\ \ (flux de masse sortant) 
					&             &                 &           \\
\cline{4-7}
              &                &               
				&Dirichlet homog\`ene 
					&             &                 &           \\
              &                &                         
				&\ \ (flux de masse entrant) 
					&             &                 &           \\
\cline{3-7}
              &                & autres variables        
				&
					&             &                 &           \\
              &                &\ \            transport\'ees
				&Neumann homog\`ene 
					&             &                 &           \\
\hline
\hline
\var{ISOR10}  & sortie         & pression                
				&$\displaystyle\frac{\partial^2P}{\partial
\vect{n}\partial\vect{\tau}_i}=0$
					&             &                 &           \\
\cline{3-7}
              &                & vitesses                
				&Neumann homog\`ene 
					&             &                 &           \\
              &                &                         
				&\ \ (flux de masse sortant) 
					&             &                 &           \\
\cline{4-7}
              &                &               
				&Dirichlet homog\`ene 
					&             &                 &           \\
              &                &                         
				&\ \ (flux de masse entrant) 
					&             &                 &           \\
\cline{3-7}
              &                & autres variables        
				&Neumann homog\`ene
					&             &                 &           \\
              &                &\ \            transport\'ees
				&\ \ (flux de masse sortant)
					&             &                 &           \\
\cline{4-7}
              &                &     
				&Dirichlet$^{e}$
					&RCODCL(.,.,1)&valeur d'entr\'ee& nulle par d\'efaut\\
              &                &           
				&\ \ (flux de masse entrant)
					&             &                 &            \\
\hline
\end{tabular}
\end{center}
$^{a}$Le gradient peut \^etre
extrapol\'e en paroi selon les valeurs de \var{EXTRAP}~: voir \fort{gradrc}\\
$^{b}$voir \fort{clptur}\\
$^{c}$voir \'egalement \fort{clptur}\\
$^{d}$La condition de Neumann
homog\`ene est obtenue lorsque l'utilisateur ne pr\'ecise rien d'autre que le
type de fronti\`ere \var{IPAROI}~; d'autres conditions sont possibles~: le
tableau \ref{Base_Condli_table_ICODCL_condli} les pr\'ecise.\\
$^{e}$La valeur est impos\'ee par l'utilisateur. Il n'y a pas d'implicitation
temporelle.
}
\caption{Conditions aux limites standards.}\label{Base_Condli_table_ITYPFB_condli}
\end{table}




\begin{table}
{\scriptsize
\begin{center}
\begin{tabular}{||c|l||l|llll||}
\hline
\var{ICODCL}  & variables               & type de condition     
	&\multicolumn{4}{c||}{donn\'ees compl\'ementaires n\'ecessaires et suffisantes}\\ 
\hline
\hline
1             & toutes                  & Dirichlet     
	&\var{RCODCL(.,.,1)} &$f_{imp,ext}$ & valeur &nulle par d\'efaut\\ 
              &                         &               
	&\var{RCODCL(.,.,2)} &$h_{imp,ext}$ & coef. d'\'echange&=\var{RINFIN}$=10^{30}$ par d\'efaut\\ 
\hline
\hline
3             & toutes                  & Neumann     
	&\var{RCODCL(.,.,3)} &$\phi_{imp,ext}$ &valeur &nulle par d\'efaut\\ 
\hline
\hline
4             & vitesse                 & Sym\'etrie vecteur 
	&                    &            &                         & \\
\cline{2-7}
              & $R_{ij}$                & Sym\'etrie tenseur 
	&                    &            &                         & \\ 
\hline
\hline
5             & vitesse                 & Loi de paroi      
	&\var{RCODCL(.,.,1)} &            & vitesse de d\'efilement &nulle par d\'efaut\\ 
\cline{2-7}
              & $k$, $R_{ij}$, $\varepsilon$, $\varphi$, $\bar{f}$, $\omega$ & Loi de paroi      
	&                    &            &                         & \\ 
\cline{2-7}
              & {\it VarScalaire}             & Loi de paroi      
	&\var{RCODCL(.,.,1)} &$f_{imp,ext}$ & valeur en paroi       &nulle par d\'efaut\\ 
              & \ (sauf variance)   &               
	&\var{RCODCL(.,.,2)} &$h_{imp,ext}$ & coef. d'\'echange&=\var{RINFIN}$=10^{30}$ par d\'efaut\\ 
\hline
\hline
9             & vitesse                 & Neumann homog\`ene 
	&                    &            &                         & \\ 
              &                         & \ \ (flux de masse sortant)
	&                    &            &                         & \\ 
\cline{3-7}
              &                         & Dirichlet homog\`ene 
	&                    &            &                         & \\ 
              &                         & \ \ (flux de masse entrant)
	&                    &            &                         & \\ 
\hline
\hline
10            & $k$, $R_{ij}$, $\varepsilon$, $\varphi$, $\bar{f}$, $\omega$ &  Dirichlet     
	&\var{RCODCL(.,.,1)} &$f_{imp,ext}$ & valeur   &nulle par d\'efaut\\ 
              & {\it VarScalaire}                & \ \ (flux de masse entrant)   
	&\var{RCODCL(.,.,2)} &$h_{imp,ext}$ & coef. d'\'echange&=\var{RINFIN}$=10^{30}$ par d\'efaut\\ 
\cline{3-7}
              &                         & Neumann 
	&\var{RCODCL(.,.,3)} &$\phi_{imp,ext}$ &valeur &nulle par d\'efaut\\ 
              &                         &  \ \ (flux de masse sortant)              
	&                    &            &                         & \\ 
\hline
\end{tabular}
\end{center}
}   
\caption{Conditions aux limites sp\'ecifiques.}\label{Base_Condli_table_ICODCL_condli}
\end{table}


\begin{table}
%{\tiny
\begin{center}
\begin{tabular}{||c|c||p{0,6cm}|p{0,6cm}|p{0,6cm}|p{0,6cm}|p{0,6cm}|p{0,6cm}||}
\hline
\multicolumn{2}{||c||}{Variable}
	&\multicolumn{6}{c||}{Valeurs de \var{ICODCL} admissibles}\\ 
%\multicolumn{2}{||c||}{}
%	&\multicolumn{6}{c||}{admissibles}\\ 
%\cline{3-8}
%        &          & 
%1& 3& 4& 5& 9& 10 \\
\hline
Vitesse 			        & $U$ 		&  1& 3& 4& 5& 9&  \\
Pression 			        & $p$ 		&  1& 3&  &  &  &  \\
Variable scalaire de turbulence & $k$, $\varepsilon$, $\varphi$, $\bar{f}$, $\omega$	&  1& 3&  & 5& &10 \\
Tenseur de Reynolds 	        & $R_{ij}$ 		&  1& 3& 4& 5& &10 \\
{\it VarScalaire} (hormis variances) &  		&  1& 3&  & 5& &10 \\
Variance des fluctuations d'une {\it VarScalaire} & &  1& 3&  &  & &10 \\
\hline
\end{tabular}
\end{center}
%}
\caption{Valeurs admissibles de \var{ICODCL} pour chaque variable.}\label{Base_Condli_table_ICODCLadm_condli}
\end{table}


\newpage
Il est important de conna\^\i tre \'egalement les compatibilit\'es \`a assurer
entre les valeurs de \var{ICODCL} associ\'ees aux diff\'erentes variables ({\it 
Cf.} Points \`a traiter).
\begin{itemize}
\item [-] Si \var{ICODCL} vaut 4, 5 ou 9 pour une composante de la vitesse,
la m\^eme valeur de \var{ICODCL} doit \^etre associ\'ee \`a toutes les
composantes (sym\'etrie, paroi ou sortie libre). 
\item [-] Si \var{ICODCL} vaut 9 pour une composante de la vitesse,
la valeur de \var{ICODCL} associ\'ee \`a la pression doit \^etre 1 (sortie libre). 
\item [-] Si \var{ICODCL} vaut 5 pour une composante de la vitesse, pour $k$,
$\varepsilon$, $\varphi$, $\bar{f}$, $\omega$ ou pour une des composantes du
tenseur de Reynolds $R_{ij}$, 
la valeur de \var{ICODCL} associ\'ee \`a toutes ces variables doit \^etre 5 (paroi). 
\item [-] Si \var{ICODCL} vaut 4 pour une composante de la vitesse 
ou pour une des composantes du tenseur de Reynolds $R_{ij}$, 
la valeur de \var{ICODCL} associ\'ee \`a toutes ces variables doit \^etre 4 (sym\'etrie). 
\item [-] Si \var{ICODCL} vaut 5 pour une variable {\it VarScalaire}, 
la valeur de \var{ICODCL} associ\'ee \`a toutes les composantes de la vitesse
doit \^etre 5 (paroi). 
\end{itemize}

\etape{Conversion des donn\'ees utilisateur}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Une premi\`ere \'etape (\var{TYPECL}) permet essentiellement de convertir les
donn\'ees des utilisateurs. Plus pr\'ecis\'ement, les actions suivantes sont
r\'ealis\'ees~:  
\begin{itemize}
\item[-] les faces de bord sont tri\'ees selon le
type de condition \`a la limite qui leur a \'eventuellement \'et\'e affect\'e 
(valeurs de \var{ITYPFB})~;
\item[-] les types \var{ITYPFB} (si l'utilisateur en a d\'efini) 
sont convertis en quadruplets d\'efinis pour
chaque face \var{IFAC} et chaque variable \var{IVAR} (hormis lorsque
l'utilisateur a affect\'e une valeur \`a \var{ICODCL})~:\\
(\var{ICODCL}, \var{RCODCL(IFAC,IVAR,1)}, 
 \var{RCODCL(IFAC,IVAR,2)}, \var{RCODCL(IFAC,IVAR,3)})
\item[-] pour la pression, la condition de sortie se traduit par une condition
de type Dirichlet~: on impose aux faces de bord la valeur de la pression $p$ au
point $I'$, calcul\'ee \`a partir des donn\'ees du pas de temps
pr\'ec\'edent (et le calcul du gradient de pression est donc r\'ealis\'e au
pr\'ealable). Cette valeur $p_{I'}$ est conserv\'ee 
dans le tableau \var{COEFU(.,1)}, de dimension \var{NFABOR}, puis 
affect\'ee \`a \var{RCODCL(.,IPR,1)} accompagn\'ee d'un recalage (identique pour
toutes les faces) destin\'e 
\`a assurer une valeur de Dirichlet de pression fixe \var{P0} sur la 
premi\`ere face de sortie rencontr\'ee ({\it Cf.} Points \`a traiter).  
\item[-]  L'indicateur \var{IDIRCL} (tableau de dimension 
\var{NVAR}) est annul\'e pour rep\'erer les variables pour lesquelles 
le syst\`eme diffusif \`a r\'esoudre n'est pas n\'ecessairement inversible (le
probl\`eme sera trait\'e dans \fort{matrix}). Il
s'agit en pratique, dans le cadre actuel, de la variable pression lorsqu'il n'y a aucune
face de sortie (cavit\'e ferm\'ee par exemple). Plus pr\'ecis\'ement,
\var{IDIRCL}  est annul\'e pour les variables qui n'ont aucune condition de 
Dirichlet\footnote{Le test contient une r\'ef\'erence \`a
\var{ICODCL}~$= 2$ qui est un h\'eritage d'une version dans laquelle les
conditions de Dirichlet avec coefficient d'\'echange \'etaient distingu\'ees des
conditions de Dirichlet sans coefficient d'\'echange.} et
pour lesquelles l'indicateur \var{ISTAT} est positionn\'e \`a z\'ero. Cet
indicateur (de valeur 0 ou 1) est, dans le bilan explicite, 
le coefficient multiplicatif du terme
de d\'eriv\'ee temporelle de la variable r\'esolue~; il est 
nul pour la pression. 
\item[-] la valeur du flux de masse est imprim\'ee 
pour les ensembles de faces de bord de m\^eme type \var{ITYPFB} (il existe un
type par d\'efaut appliqu\'e aux faces de bord pour lesquelles l'utilisateur 
n'a pas renseign\'e \var{ITYPFB}). 
\end{itemize}

\etape{V\'erifications}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Une v\'erification des conditions aux limites est ensuite men\'ee
(\fort{vericl}) (l'utilisateur est pr\'evenu et le programme interrompu en cas de 
probl\`eme).  
\begin{itemize}
\item[-] Le sous-programme s'assure que toutes les faces de bord ont re\c cu une 
condition \`a la limite pour toutes les variables.
\item[-] L'admissibilit\'e des conditions aux limites (selon la nature de la
variable \`a laquelle elles sont appliqu\'ees) est v\'erifi\'ee.
\item[-] La coh\'erence des conditions aux limites entre les diff\'erentes
variables est v\'erifi\'ee (voir les tableaux \ref{Base_Condli_table_ICODCL_condli} et
\ref{Base_Condli_table_ICODCLadm_condli}).  
\end{itemize}


\etape{Calculs pr\'eliminaires}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Diff\'erentes grandeurs sont ensuite construites  
pour pr\'eparer le traitement ult\'erieur des conditions aux limites. 
\begin{itemize}
\item[-] quand la connaissance de la distance à la paroi est nécessaire
($R_{ij}-\varepsilon$ avec termes d'\'echo de paroi, modèle LES de Smagorinsky
avec amortissement de van Driest, modèle $k-\omega$ SST) et que la méthode de
calcul ``ancienne'' a été choisie (\var{|ICDPAR|=2}, non compatible avec le
parallélisme et la périodicité), pour chaque phase \var{IPHAS}, 
 on d\'etermine, pour chaque cellule \var{IEL}, le num\'ero de la face 
de paroi la plus proche (cette information est stock\'ee dans  
\var{IA(IIFAPA(IPHAS)-1+IEL)})~; cette distance est inutile pour le traitement
des conditions aux limites, mais \fort{condli} est le sous-programme dans lequel
la r\'ealisation de ce calcul est la plus simple.
\item[-] en cas de couplage avec SYRTHES, on d\'etermine, pour le scalaire
coupl\'e $f$ (habituellement la temp\'erature), 
les valeurs $f_{I'}$ dans les cellules de bord au moyen de la formule
$f_{I'}=f_{I}+\vect{II'}\grad{f}_I$ (ou au moyen de $f_{I'}=f_{I}$ si on traite
le premier pas de temps\footnote{On ne dispose pas encore de conditions aux
limites permettant le calcul du gradient lors du passage dans \fort{condli} 
au premier pas de temps.} ou que la
reconstruction a \'et\'e desactiv\'ee par \var{ITBRRB}=0\footnote{ce qui est le
cas par défaut}). Ces valeurs sont 
stock\'ees dans \var{TBORD} (tableau de dimension \var{NFABOR}) qui est 
utilis\'e en sortie de \fort{condli} pour transmission d'information \`a
SYRTHES. 
\item[-] si des faces portent des conditions de sym\'etrie ou de paroi, on
construit les composantes de la vitesse $u_{j,I'}$ dans les cellules de
bord  (valeurs stock\'ees dans le tableau local \var{COEFU} de dimension 
\var{NFABOR}$\times 3$) au moyen de la formule $u_{j,I'}=u_{j,I}+\vect{II'}\grad{u_j}_I$ 
(ou au moyen de $u_{j,I'}=u_{j,I}$ au premier pas de temps)~; en outre, si le
mod\`ele de turbulence est le $R_{ij}-\varepsilon$, on construit les composantes
du tenseur de Reynolds dans les cellules de
bord  (valeurs stock\'ees dans le tableau local \var{RIJIPB} de dimension 
\var{NFABOR}$\times 6$) de la m\^eme mani\`ere. Les deux tableaux  \var{COEFU}
et  \var{RIJIPB} sont utilis\'es dans \fort{clptur} et \fort{clsyvt}. 
\end{itemize}

\etape{Conditions aux limites de paroi}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
On d\'etermine alors  (\fort{clptur}) les conditions aux limites de paroi pour 
la vitesse et les grandeurs turbulentes. Les {\it VarScalaires} (except\'e les
variances) peuvent
\'egalement recevoir un traitement particulier prenant en compte la couche
limite si la condition qui leur est appliqu\'ee est de type Dirichlet
(\var{ICODCL}=5). On traite donc en particulier
dans \fort{clptur} les conditions portant sur la temp\'erature lorsque la paroi est
\`a temp\'erature impos\'ee. Par contre, les conditions de flux sont trait\'ees plus tard   
dans \fort{condli}. 

Le sous-programme \fort{clptur} remplit les
tableaux \var{COEFA} et \var{COEFB} pour les faces de paroi et les variables
trait\'ees. Ces tableaux repr\'esentent les coefficients $A_b$ et
$B_b$. Plus pr\'ecis\'ement, pour une face \var{IFAC} et une variable \var{IVAR} donn\'ee, 
les valeurs renseign\'ees sont \var{COEFA(IFAC,ICLVAF)} et \var{COEFB(IFAC,ICLVAF)}  avec
\var{ICLVAF=ICLRTP(IVAR,ICOEFF)}. Deux autres valeurs sont \'egalement renseign\'ees~:\\
\var{COEFA(IFAC,ICLVAR)} et \var{COEFB(IFAC,ICLVAR)} avec
\var{ICLVAR=ICLRTP(IVAR,ICOEF)}.\\ 
Elles ne diff\`erent des pr\'ec\'edentes qu'en
$k-\varepsilon$ et repr\'esentent des coefficients $A_b$ et
$B_b$ 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\'e lors du traitement d'un
terme particulier~: on se reportera \`a \fort{clptur}).  

\etape{Conditions aux limites de sym\'etrie}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
On d\'etermine \'egalement  (\fort{clsyvt}) les conditions aux limites de sym\'etrie pour 
les vecteurs (vitesse) et les tenseurs (de Reynolds). Elles n\'ecessitent des
rotations pour s'exprimer dans le rep\`ere li\'e au bord et le traitement lourd
qui en r\'esulte a donc \'et\'e encapsul\'e. Le sous-programme compl\`ete les 
tableaux \var{COEFA} et \var{COEFB} aux faces de sym\'etries pour la vitesse
et les tensions de Reynolds (contrairement aux faces de paroi en
$k-\varepsilon$, les valeurs \var{COEFA(IFAC,ICLVAF)} et
\var{COEFB(IFAC,ICLVAF)} sont \'egales \`a \var{COEFA(IFAC,ICLVAR)} et
\var{COEFB(IFAC,ICLVAR)}).  


\etape{Autres conditions aux limites pour la vitesse}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
On d\'etermine, pour la vitesse, les conditions aux limites en sortie. On traite
en outre les conditions restantes de type
Dirichlet et Neumann. Ici \'egalement, on fournit une valeur de 
\var{COEFA} et de \var{COEFB} pour chaque face concern\'ee 
(les valeurs \var{COEFA(IFAC,ICLVAF)} et
\var{COEFB(IFAC,ICLVAF)} sont \'egales \`a \var{COEFA(IFAC,ICLVAR)} et
\var{COEFB(IFAC,ICLVAR)}). 
Notons que, si le flux de masse est entrant \`a
travers une face de sortie, on impose un Dirichlet homog\`ene sur la vitesse 
(\var{COEFA(IFAC,ICLVAF)}=0, \var{COEFB(IFAC,ICLVAF)}=0) au
lieu de la condition de Neumann homog\`ene
(\var{COEFA(IFAC,ICLVAF)}=0, \var{COEFB(IFAC,ICLVAF)}=1), lorsque le flux de
masse est sortant.


\etape{Autres conditions aux limites}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
On d\'etermine enfin, pour la pression, les grandeurs turbulentes et les autres 
scalaires, les conditions aux limites de type Dirichlet et Neumann restantes. Ici \'egalement, on fournit donc une valeur de 
\var{COEFA} et de \var{COEFB} pour chaque face concern\'ee 
(les valeurs \var{COEFA(IFAC,ICLVAF)} et
\var{COEFB(IFAC,ICLVAF)} sont \'egales \`a \var{COEFA(IFAC,ICLVAR)} et
\var{COEFB(IFAC,ICLVAR)}). 







%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Points \`a traiter}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\etape{Repr\'esentation des conditions par une valeur de face}
Bien que la m\'ethode utilis\'ee permette une simplicit\'e et une
homog\'en\'eit\'e de traitement de toutes les conditions aux limites, 
elle est relativement
restrictive au sens o\`u une seule valeur ne suffit pas toujours pour
repr\'esenter les conditions \`a appliquer lors du calcul de termes
diff\'erents. 

Ainsi, en $k-\varepsilon$ a-t-il \'et\'e n\'ecessaire, lors du
calcul des conditions aux limites de paroi, de disposer de deux couples 
($A_b$, $B_b$) afin de prendre en compte les
conditions \`a appliquer pour le calcul de la contrainte tangentielle 
 et celles \`a utiliser  lors du calcul du terme 
de production (et un troisi\`eme jeu de coefficients serait n\'ecessaire pour
permettre le traitement des gradients intervenant dans les termes de gradient
transpos\'e, dans \fort{vissec}).

Peut-\^etre pourrait-il \^etre utile de mettre en place une m\'ethode 
permettant d'utiliser (au moins en certains points strat\'egiques du code)
directement des forces, des contraintes ou des flux, sans  passer 
n\'ecessairement par le calcul d'une valeur de face. 

\etape{Difficult\'es li\'ees \`a la donn\'ee d'un flux (entr\'ee des donn\'ees
peu intuitive)}
L'utilisateur est invit\'e \`a fournir, dans le cas d'une condition de Neumann,
une valeur de flux en $W\,m^{-2}$ pour la temp\'erature ou l'enthalpie. Par
souci de coh\'erence, lorsqu'il souhaite fournir une condition de Neumann sur
une autre variable, il est amen\'e \`a fournir une grandeur similaire (en
fait homog\`ene \`a $\alpha\,\grad{f}.\vect{n}$, si $f$ est la variable), ce qui est 
peu naturel pour la vitesse, la pression ou un scalaire, dans le cas o\`u l'on
souhaite imposer la valeur du gradient normal \`a la face et non pas la valeur
de $(\mu+\mu_t)\grad{\vect{u}_j}.\vect{n}$, de $\Delta t \grad{(p)}.\vect{n}$ ou 
de $\displaystyle\frac{\alpha}{C} \grad{(f)}.\vect{n}$. 

\etape{Condition de sortie en pression}
La condition de pression en sortie se traduit par
$p_f=p_{I'}+R1$ et le profil obtenu correspond au 
profil amont pris aux points $I'$ et recal\'e pour obtenir $p_0$ en un point
$A$ arbitraire. Ce type de condition est appliqu\'e sans pr\'ecautions, mais
n'est pas toujours justifi\'e (une condition de Dirichlet bas\'ee sur la valeur calcul\'ee
directement aux faces de bord pourrait \^etre plus adapt\'ee). 
Les hypoth\`eses sont en particulier mises en d\'efaut  
dans les cas suivants~: 
\begin{itemize}
\item [-] la sortie est proche d'une zone o\`u l'\'ecoulement n'est pas \'etabli 
en espace (ou varie en temps)~;
\item [-] la sortie n'est pas une surface perpendiculaire \`a l'\'ecoulement~;
\item [-] le gradient de pression dans la direction normale \`a la sortie n'est
pas le m\^eme pour toutes les faces de sortie  
(dans le cas de sortie multiples, par exemple, le gradient n'est 
probablement pas le m\^eme au travers de toutes les sorties)~;
\item [-] les points $I'$ ne sont pas sur une surface parall\`ele \`a la sortie
(cas des maillage irr\'eguliers par exemple).
\end{itemize}

On pourrait \'egalement tester la m\'ethode d'Orlansky (\'equation de convection
sur la pression). 

Par ailleurs, en l'absence de condition de sortie, il pourrait peut-\^etre se
r\'ev\'eler utile de fixer une valeur de r\'ef\'erence sur une cellule donn\'ee
ou de ramener la moyenne de la pression \`a une valeur de r\'ef\'erence (avec le
d\'ecalage du spectre, on assure l'inversibilit\'e de la matrice \`a chaque pas
de temps, mais il
faudrait v\'erifier si la pression n'est pas susceptible de d\'eriver au cours
du calcul). 

\etape{Termes non pris en compte}
Les conditions aux limites actuelles 
semblent causer des difficult\'es lors du traitement du terme 
de gradient transpos\'e de la vitesse dans l'\'equation de Navier-Stokes (terme
trait\'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
d\'efaut est $1$ (les termes en gradient transpos\'e sont pris en compte).\\
%\minititre{Remarque}
On remarquera que l'indicateur \var{IVISSE} active non seulement les termes de gradient
transpos\'e en 
$(\ ^t\ggrad \underline {v})$, mais \'egalement le terme en
 $-\,\displaystyle\frac{2}{3}\,\grad(\,\mu_{\,tot}\,\dive\,{\vect{v}})$ avec~:\\
\begin{equation}
\mu_{\,tot}=
\begin{cases}
\mu_{\,l}   & \text{en laminaire ou en mod\`ele $R_{ij}-\varepsilon$}\\
\mu_{\,l} + \mu_t & \text{en  mod\`ele $k-\varepsilon$}.
\end{cases}
\end{equation}
