%-----------------------------------------------------------------------
%
%     This file is part of the Code_Saturne Kernel, element of the
%     Code_Saturne CFD tool.
%
%     Copyright (C) 1998-2008 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{viscfa}
%

\vspace{1cm}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Fonction}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Dans ce sous-programme est calcul\'e le coefficient de diffusion isotrope aux
faces. Ce coefficient fait intervenir la valeur de la viscosité aux faces
multipliée par le rapport surface de la face sur la distance alg\'ebrique $\overline{I'J'}$ ou $\overline{I'F}$({\it cf.} figure \ref{Base_Viscfa_fig_geom}),
rapport résultant de l'intégration du terme de diffusion.
 Par analogie du terme calculé, ce sous-programme est aussi appelé par le
sous-programme \fort{resolp} pour calculer le coefficient ``diffusif'' de la pression faisant intervenir le pas de temps.\\
La valeur de la viscosité aux faces est déterminée soit par une moyenne
arithmétique, soit par une moyenne harmonique de la viscosité au centre des
cellules, suivant le choix de l'utilisateur. Par défaut, cette valeur est calculée par une moyenne arithmétique.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Discr\'etisation} \label{Base_Viscfa_paragraphe2}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
On rappelle dans la figure \ref{Base_Viscfa_fig_geom}, la définition des différents
points géométriques utilisés par la suite.

\begin{figure}[h]
\parbox{8cm}{%
\centerline{\includegraphics[height=4.5cm]{facette}}}
\parbox{8cm}{%
\centerline{\includegraphics[height=4.5cm]{facebord}}}
\caption{\label{Base_Viscfa_fig_geom}D\'efinition des diff\'erentes entit\'es
g\'eom\'etriques pour les faces internes (gauche) et de bord (droite).}
\end{figure}

L'intégration du terme de diffusion sur une cellule $\Omega_i$ est la suivante :
\begin{equation}
\int_{\Omega_i}\dive (\mu\,\grad(f))\,d\Omega= \sum\limits_{j \in
Vois(i)}\mu_{\,ij} \frac{f_{J'}-f_{I'}}{\overline{I'J'}}\,.\, S_{\,ij} + \sum\limits_{k \in
\gamma_b(i)}\mu_{\,b_{ik}} \frac{f_{\,b_{ik}}- f_{I'}}{\overline{I'F}}\,.\,S_{\,b_{ik}}
\end{equation}
Dans ce sous-programme, on calcule les termes de diffusion
$\displaystyle \mu_{\,ij}\frac{S_{\,ij}}{\overline{I'J'}}$ et $\displaystyle
\mu_{\,b_{ik}}\,.\,\frac{S_{\,b_{ik}}}{\overline{I'F}}$.\\

La valeur de la viscosité sur la face interne $ij$, $\mu_{\,ij}$, est calculée :\\
\hspace*{1.cm} {\tiny$\bigstar$}  soit par moyenne arithmétique :
\begin{equation}
\mu_{\,ij}=\alpha_{\,ij}\mu_{\,i}+(1-\alpha_{\,ij})\mu_{\,j}
\end{equation}
avec $\alpha_{\,ij} = 0.5$ car ce choix semble stabiliser, bien que cette
interpolation soit d'ordre 1 en espace en convergence.\\
\hspace*{1.cm} {\tiny$\bigstar$} soit par moyenne harmonique :
\begin{equation}\notag
\mu_{\,ij}=\frac{\mu_{\,i}\ \mu_{\,j}}{\alpha_{\,ij}\mu_{\,i}+(1-\alpha_{\,ij})\mu_{\,j}}
\end{equation}
avec $\alpha_{\,ij}=\displaystyle \frac{\overline{FJ'}}{\overline{I'J'}}$.\\

La valeur de la viscosité sur la face de bord $ik$, $\mu_{\,b_{ik}}$, est définie
ainsi :\\
\begin{equation}\notag
\mu_{\,b_{ik}}=\mu_I.
\end{equation}
\minititre{Remarque}
Lors de l'appel de \fort{viscfa} par le sous-programme \fort{resolp}, le terme
\`a consid\'erer est :
\begin{equation}\notag
\dive (\,\Delta t^n \ \grad(\delta p)\,)
\end{equation}
soit :
\begin{equation}\notag
\mu = \mu^n = \Delta t
\end{equation}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Mise en \oe uvre}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
La valeur de la viscosité au centre des cellules est entrée en argument {\it
via} la variable \var{VISTOT}. On calcule sa valeur moyenne aux faces et on la
multiplie par le rapport surface \var{SURFN} sur la distance alg\'ebrique
\var{DIST} pour une face interne (\var{SURFBN} et \var{DISTBR} respectivement
pour une face de bord). La valeur du terme de diffusion résultant est mise dans le vecteur \var{VISCF} pour une face interne et \var{VISCB} pour une face de bord.\\
La variable \var{IMVISF} détermine quel type de moyenne est utilisé pour
calculer la viscosité aux faces.\\
Si \var{IMVISF}$=0$, la moyenne est arithmétique, sinon la moyenne est harmonique.\\

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Points \`a traiter}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
L'obtention des interpolations utilisées dans le code \CS  du paragraphe \ref{Base_Viscfa_paragraphe2} est résumée dans le rapport de Davroux et
al\footnote{Davroux A., Archambeau F. et Hérard J.M., Tests numériques sur
quelques méthodes de résolution d'une équation de diffusion en volumes finis,
HI-83/00/027/A.}.
Les auteurs de ce rapport ont montré que, pour un maillage monodimensionnel irrégulier et avec une
viscosité non constante, la convergence mesurée est d'ordre 2 en espace avec
l'interpolation harmonique et d'ordre 1 en espace avec l'interpolation
linéaire (pour des solution régulières).\\
Par conséquent, il serait préférable d'utiliser l'interpolation harmonique pour
calculer la valeur de la viscosité aux faces. Des tests de stabilité seront nécessaires au préalable.
\\
De même, on envisage d'extrapoler la viscosité sur les faces de bord plutôt que
de prendre la valeur de la viscosité au centre de la cellule jouxtant cette face.\\
Dans le cas de la moyenne arithm\'etique, l'utilisation de la valeur $0.5$ pour les coefficients $\alpha_{\,ij}$ serait \`a revoir.
