%-------------------------------------------------------------------------------

% This file is part of Code_Saturne, a general-purpose CFD tool.
%
% Copyright (C) 1998-2013 EDF S.A.
%
% This program 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.
%
% This program 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
% this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
% Street, Fifth Floor, Boston, MA 02110-1301, USA.

%-------------------------------------------------------------------------------

\programme{visort}
%

\vspace{1cm}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{Fonction}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Dans ce sous-programme est calcul\'e le coefficient de diffusion ``orthotrope'' aux faces. Ce type de coefficient se rencontre pour la diffusion de $R_{\,ij}$ et
$\varepsilon$ en $R_{\,ij}-\varepsilon$ ( {\it cf.} \fort{turrij}), ainsi que pour la
correction de pression dans le cadre de l'algorithme avec couplage
vitesse-pression renforcé (\fort{resopv}).\\
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'}$,
rapport résultant de l'intégration du terme de diffusion.
La valeur de la viscosité aux faces est basée soit sur une moyenne
arithmétique, soit sur une moyenne harmonique de la viscosité au centre des
cellules.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{Discr\'etisation} \label{Base_Visort_paragraphe2}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
La figure \ref{Base_Visort_fig_geom} rappelle les diverses d\'efinitions g\'eom\'etriques
pour les faces internes et les faces de bord.

\begin{figure}[h]
\parbox{8cm}{%
\centerline{\includegraphics[height=4.5cm]{facette}}}
\parbox{8cm}{%
\centerline{\includegraphics[height=4.5cm]{facebord}}}
\caption{\label{Base_Visort_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 ``orthotrope'' sur une cellule est la
suivante :
\begin{equation}
\int_{\Omega_i}\dive \,(\tens{\mu}\ \grad f)\,d\Omega =\sum\limits_{j \in
Vois(i)}( \tens{\mu}\ \grad f)_{\,ij}\,.\,\underline{S}_{\,ij} + \sum\limits_{k \in
\gamma_b(i)}( \tens{\mu}\ \grad f)_{\,b_{ik}}\,.\,\underline{S}_{\,b_{ik}}
\end{equation}
avec :
\begin{equation}
\tens{\mu}=\begin{bmatrix}\mu_x & 0 & 0 \\ 0 & \mu_y & 0 \\ 0 & 0 & \mu_z \end{bmatrix}
\end{equation}
et :
\begin{equation}
\begin{array}{ll}
&\underline{S}_{\,ij} = S_{\,ij} \underline{n}_{\,ij} \\
&\underline{S}_{\,b_{ik}} = S_{\,b_{ik}} \underline{n}_{\,b_{ik}}
\end{array}
\end{equation}
Le terme $(\tens{\mu}\ \grad(f))_{\,ij}\underline{n}_{\,ij}$ est calculé à
l'aide de la décomposition suivante :
\begin{equation}
(\tens{\mu}\ \grad f)_{\,ij} = (\grad f \,.\,\underline{n}_{\,ij})\ \tens{\mu}\
\underline{n}_{\,ij}+
(\grad f .\underline{\tau}_{ij})\ \tens{\mu}\ \underline{\tau}_{\,ij}
\end{equation}
o\`u $\underline{\tau}_{ij}$ représente un vecteur tangent (unitaire) à
la face. Une décomposition similaire est utilisée aux faces de bord.\\
Dans la matrice, seul le terme
$(\grad f \,.\,\underline{n}_{\,ij})\ \tens{\mu}\ \underline{n}_{\,ij}$ est
int\'egrable facilement en implicite. Par cons\'equent, la partie projet\'ee sur $\underline{\tau}_{\,ij}$
est :
\begin{itemize}
\item n\'eglig\'ee dans le cas du calcul des échelles de temps relatives au
couplage vitesse-pression renforcé,
\item trait\'ee en explicite dans les termes de diffusion de
$R_{\,ij}-\varepsilon$ (\emph{cf.} \fort{turrij}).\\
\end{itemize}
L'intégration implicite du terme de diffusion s'\'ecrit :
\begin{equation}
\int_{\Omega_i}\dive\,(\tens{\mu}\ \grad f )\,d\Omega = \sum\limits_{j \in
Vois(i)}(\tens{\mu}\ \underline{n}_{\,ij})\,.\,\underline{S}_{\,ij}\,
\frac{f_{J'}-f_{I'}}{\overline{I'J'}} + \sum\limits_{k \in
\gamma_b(i)}(\tens{\mu}\ \underline{n}_{\,b_{ik}})\,.\,\underline{S}_{\,b_{ik}}
\,\frac{f_{\,b_{ik}}-f_{I'}}{\overline{I'F}}
\end{equation}
Dans ce sous-programme, on calcule le terme
$\displaystyle \frac{(\tens{\mu}\
\underline{n}_{\,ij})\,.\,\underline{S}_{\,ij}}{\overline{I'J'}}$ \`a l'aide la
formule :
\begin{equation}\notag
(\tens{\mu}\ \underline{n}_{\,ij})\,.\,\underline{n}_{\,ij} =
\mu_{\,ij}^{\,moy}=\mu_{\,ij}^{\,x} ( n_{\,ij}^{\,x})^2 + \mu_{\,ij}^{\,y} (n_{\,ij}^{\,y})^2 + \mu_{\,ij}^{\,z}(n_{\,ij}^{\,z})^2
\end{equation}
soit encore :
\begin{equation}\notag
\mu_{\,ij}^{\,moy}=\frac{\mu_{\,ij}^{\,x}
(S_{\,ij}^{\,x})^2 + \mu_{\,ij}^{\,y} (S_{\,ij}^{\,y})^2 +
\mu_{\,ij}^{\,z} (S_{\,ij}^{\,z})^2}{S_{\,ij}^2}
\end{equation}
Au bord, on calcule de même :
\begin{equation}\notag
\displaystyle \frac{(\tens{\mu}\
\underline{n}_{\,b_{ik}})\,.\,\underline{S}_{\,b_{ik}}}{\overline{I'F}}
\end{equation}

 avec :
\begin{equation}\notag
(\tens{\mu}\ \underline{n}_{\,b_{ik}})\,.\,\underline{n}_{\,b_{ik}} =
\mu_{\,b_{ik}}^{\,moy} = \displaystyle \frac{\mu_{I}^{\,x}
(S_{\,b_{ik}}^{\,x})^2 + \mu_{I}^{\,y} (S_{\,b_{ik}}^{\,y})^2 +
\mu_{I}^{\,z} (S_{\,b_{ik}}^{\,z})^2}{S_{\,b_{ik}}^2}
\end{equation}

La valeur de la viscosité dans une direction $l$ sur la face, $\mu_{\,ij}^{\,l}$,
est calculée :
\begin{itemize}
\item soit par interpolation lin\'eaire :
\begin{equation}
\mu_{\,ij}^{\,l}=\alpha_{\,ij}\mu_{i}^{\,l}+(1-\alpha_{\,ij})\mu_{j}^{\,l}
\end{equation}
avec $\alpha_{\,ij}= 0.5$ car ce choix semble stabiliser bien que cette
interpolation soit d'ordre 1 en espace en convergence,
\item soit par interpolation harmonique :
\begin{equation}\notag
\mu_{\,ij}^{\,l}=\displaystyle
\frac{\mu_{i}^{\,l}\ \mu_{j}^{\,l}}{\alpha_{\,ij}\mu_{i}^{\,l}+(1-\alpha_{\,ij}) \mu_{j}^{\,l}}
\end{equation}
où :
\begin{equation}\notag
\displaystyle \alpha_{\,ij}=\frac{\overline{FJ'}}{\overline{I'J'}}
\end{equation}
\end{itemize}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{Mise en \oe uvre}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
La viscosité orthotrope au centre des cellules est entrée en argument {\it via}
les variables $\var{W}_1$, $\var{W}_2$ et $\var{W}_3$. On calcule la valeur
moyenne de chaque viscosité aux faces de façon arithmétique ou
harmonique. Ensuite, on calcule la viscosité équivalente correspondant à
$\displaystyle (\tens{\mu}\ \underline{n}_{\,ij})\,.\,\frac{\underline{S}_{\,ij}}{\overline{I'J'}}$ pour les
faces internes et à $\displaystyle (\tens{\mu}\ \underline{n}_{\,b_{ik}})\,.\,
\frac{\underline{S}_{\,b_{ik}}}{\overline{I'F}}$ pour les faces de bord.\\

Cette \'ecriture fait intervenir les vecteurs surface stock\'es dans le tableau
\var{SURFAC}, la norme de la surface \var{SURFN}
 et la distance alg\'ebrique \var{DIST} pour une face interne (\var{SURFBO},
\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} (\var{VISCB} aux faces de bord).\\
La variable \var{IMVISF} détermine quel type de moyenne est utilisé pour
calculer la viscosité dans une direction \`a la face. Si \var{IMVISF}$=0$, alors
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_Visort_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 solutions 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é 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.
