%                      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
%
%-----------------------------------------------------------------------
%


\programme{cfxtcl}
%
\vspace{1cm}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Fonction}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Pour le traitement des conditions aux limites, on consid\`ere
le syst\`eme (\ref{Cfbl_Cfxtcl_eq_ref_laminaire_cfxtcl}) 

\begin{equation}\label{Cfbl_Cfxtcl_eq_ref_laminaire_cfxtcl}
\left\{\begin{array}{l}

\displaystyle\frac{\partial\rho}{\partial t} + \divs(\vect{Q}) = 0 \\
\\
\displaystyle\frac{\partial\vect{Q}}{\partial t}
+ \divv(\vect{u} \otimes \vect{Q}) + \gradv{P}
= \rho \vect{f}_v + \divv(\tens{\Sigma}^v) \\
\\
\displaystyle\frac{\partial E}{\partial t} + \divs( \vect{u} (E+P) )
= \rho\vect{f}_v\cdot\vect{u} + \divs(\tens{\Sigma}^v \vect{u})
- \divs{\,\vect{\Phi}_s} + \rho\Phi_v

\end{array}\right.
\end{equation}

en tant que syst\`eme hyperbolique portant sur la variable vectorielle 
$\vect{W}=\ ^t(\rho,\vect{Q},E)$.

Le syst\`eme s'\'ecrit alors~:
\begin{equation}\label{Cfbl_Cfxtcl_eq_hyperbolique_cfxtcl}
\displaystyle\frac{\partial \vect{W}}{\partial t}
+ \displaystyle\sum\limits_{i=1}^3
\frac{\partial}{\partial x_i}\vect{F}_i(\vect{W})
= \displaystyle\sum\limits_{i=1}^3
\frac{\partial}{\partial x_i}\vect{F}_i^D(\vect{W},\nabla \vect{W})
+ \vect{\mathcal{S}}
\end{equation}
o\`u les $\vect{F}_i(\vect{W})$ sont les vecteurs flux convectifs
et les $\vect{F}_i^D(\vect{W})$ sont les vecteurs flux diffusifs
dans les trois directions d'espace,
et $\vect{\mathcal{S}}$ est un terme source.

La d\'emarche classique de \CS\ est adopt\'ee~: on impose les conditions 
aux limites en d\'eterminant, pour chaque variable, des valeurs num\'eriques 
de bord. Ces valeurs sont calcul\'ees de telle fa\c con que, lorsqu'on 
les utilise dans les formules standard donnant les flux discrets, on obtienne
les contributions souhait\'ees au bord. 

Pour rendre compte des flux convectifs (aux entr\'ees et aux sorties en particulier), 
on fait abstraction des flux diffusifs et des termes
sources pour r\'esoudre un probl\`eme de Riemann qui
fournit un vecteur d'\'etat au bord. Celui-ci permet de calculer un flux, 
soit directement (par les formules discr\`etes standard), 
soit en appliquant un sch\'ema de Rusanov (sch\'ema de flux d\'ecentr\'e). 

En paroi, on r\'esout  \'egalement, dans certains cas, un probl\`eme de 
Riemann pour d\'eterminer une pression au bord. 