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

% 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{predvv}\label{ap:predvv}
%
\vspace{1cm}
%-------------------------------------------------------------------------------
\section*{Fonction}
%-------------------------------------------------------------------------------
Dans ce sous-programme, on effectue l'\'etape de pr\'ediction de la vitesse
$\vect{u}$. Ceci consiste \`{a} r\'esoudre l'\'{e}quation de quantit\'e de
mouvement (Q.D.M.) en traitant la pression $p$ de mani\`{e}re explicite. La solution en vitesse-pression est obtenue apr\`{e}s une \'{e}tape de correction sur la pression
effectu\'{e}e dans le sous-programme \fort{resopv}, en utilisant la loi de conservation de la masse :
\begin{equation}
\frac{\partial \rho } {\partial t}+ \dive(\rho \underline{u}) = \Gamma,
\end{equation}
o\`u $\Gamma$ est le terme source de masse\footnote{ en $kg.m^{-3}.s^{-1}$ }.\\
L'\'{e}quation de conservation de la quantit\'{e} de mouvement moyenne obtenue par application
du th\'{e}or\`{e}me fondamental de la dynamique est :
\begin{equation}
\frac {\partial (\rho \underline {u})} {\partial t }+
\dive(\rho \underline{u} \otimes \underline{u}) =
\dive(\underline{\underline{\sigma}}) + \underline{S} - \dive{(\rho\,\tens{R})}\end{equation}
o\`{u} :
\begin{equation}
\underline{\underline{\sigma}} = - p \underline{\underline{Id}} + \underline{\underline{\tau }}
\end{equation}
avec pour les \'{e}coulements newtoniens, la relation lin\'{e}aire suivante :
\begin{equation}
\begin{array}{lcl}
&\displaystyle \underline{\underline{\tau}} = 2\ \mu\ \underline{\underline{D}}
+\,
 \lambda\ tr(\underline{\underline{D }})\ \underline{\underline{Id}} &\\
&\displaystyle \underline{\underline{D}}=\frac{1}{2}\ (\ggrad \underline
{u} +\ ^t\ggrad \underline {u})
\end{array}
\end{equation}


$\tens{\sigma}$ repr\'esente le tenseur de contraintes, $\tens{\tau}$ le tenseur
des contraintes visqueuses, $\mu$ la viscosit\'e dynamique (mol\'eculaire et
\'eventuellement turbulente), $\tens{D}$
 le tenseur taux de d\'eformation\footnote{\`A ne pas confondre, malgr\'e la m\^eme notation $D$, avec les flux
diffusifs d\'ecrits dans le sous-programme \fort{navstv}},
$\tens{R}$ le tenseur de Reynolds qui appara\^\i t lors de l'application de
l'op\'erateur moyenne \`a l'\'equation instantan\'ee, $\underline{S}$ les termes
sources.\\
$\lambda$ est le second coefficient de viscosit\'{e}. Il est reli\'{e} \`{a} la viscosit\'{e} de
volume $\kappa$ par la relation
\begin{equation}
\lambda=\kappa-\frac{2}{3}\mu
\end{equation}
Quand l'hypoth\`{e}se de Stokes est v\'{e}rifi\'{e}e, la viscosit\'{e} de volume $\kappa$ est
nulle, soit $3\lambda+2\mu=0$. Cette hypoth\`{e}se est implicite dans le code et
dans le reste du doument, sauf en compressible.\\


L'\'equation de conservation de la quantit\'{e} de mouvement s'\'ecrit finalement
 :
\begin{equation}
\begin{array}{lcl}
&\displaystyle \rho\,
\frac{\partial \underline {u} } {\partial t} = -\
\underbrace {\dive(\rho \underline{u} \otimes \underline{u})}_{\text{
convection}} +\ \underbrace {\dive (\mu\ \ggrad \underline {u})}_{\text{
diffusion}} &\\
&\displaystyle \underbrace { +\ \dive (\mu \,^t\ggrad \underline {u}) }_{\text{
terme en gradient transpos\'e}}
\underbrace { - \ \frac {2} {3}\ \grad (\mu\ \dive \underline {u})}_{\text{
viscosit\'{e} secondaire}}\ \ - \dive{(\rho \tens{R})}
 -\ \grad(p) + (\rho -\rho_0)\,\underline {g} +
\underline{u}\,\dive (\rho\,\underline {u})&\\
&\displaystyle +\underbrace {\Gamma
(\underline{u}_{\,i}-\underline{u})}_{\text{terme source de Q.D.M. dû \`{a} la source
de masse}}- \underbrace {\rho\
\tens{K}_{\,pdc} \underline {u}}_{\text{perte
de charge}} + \underbrace { \underline{T}_{\,s}^{\,exp}+
T_{s}^{\,imp}\ \underline{u}}_{\text{autres termes sources de
Q.D.M.}}
\label{Base_Predvv_eqqdm}

\end{array}
\end{equation}
avec $p$ d\'{e}finissant l'\'{e}cart \`{a} la pression hydrostatique de r\'ef\'erence (la
pression hydrostatique r\'eelle \'etant calcul\'ee avec la masse volumique $\rho$
et non $\rho_{\,0}$) :
\begin{equation}
p=p^*-\rho_{\,0}\ \underline{g}\,.\,\underline{X}
\end{equation}
(\underline{X} \'etant le vecteur de composantes $x$, $y$ et $z$).\\
$\mu_t$, $\tens{K}_{\,pdc}$, $\underline{u}_{\,i}$ repr\'esentent respectivement
la viscosit\'{e} dynamique turbulente, le tenseur des pertes de charge et la valeur de la variable associ\'{e}e \`{a} la source de
masse.\\
La divergence du tenseur des contraintes de Reynolds s'\'ecrit :
\begin{equation}
-\dive{(\rho\,\tens{R})}=
\begin{cases}
\vect{0} & \text{en laminaire}, \\
 -\displaystyle\frac {2} {3}\, \grad (\mu_t\ \dive \underline {u})+\dive (\mu_t\ (\ggrad \underline {u}+ \,^t\ggrad \underline {u}))-\frac {2}{3}\,\grad (\rho\, k) & \text{pour les mod\`{e}les}\\
 & \text{\`{a} viscosit\'{e} turbulente}, \\
 -\dive(\rho\,\tens{R})& \text{pour les mod\`{e}les}\\
 & \text{au second ordre},\\
-\displaystyle\frac {2} {3}\, \grad (\mu_t\ \dive \underline {u})+\dive (\mu_t\ (\ggrad \underline {u}+ \,^t\ggrad \underline {u})) & \text{en  LES}\\
\end{cases}
\end{equation}
Le terme source de masse fait intervenir la vitesse locale $\underline {u}$ et
aussi une vitesse $\underline {u}_{\,i}$ associ\'ee \`a la masse inject\'ee (ou retir\'ee).
Lorsque $\Gamma<0$, on \^ote de la masse au syst\`eme et on a donc
$\underline{u}_{\,i} = \underline{u}$. Le terme est nul (\emph{i.e.} $\Gamma
(\underline{u}_{\,i}-\underline{u})= \underline{0} $). Quand $\Gamma>0$, on a un
terme non nul si $\underline{u}_{\,i} \ne \underline{u}$.
Dans ce sous-programme, tous les termes intervenant dans
l'\'{e}quation de conservation de la
quantit\'{e} de mouvement, except\'{e} les termes de convection et diffusion, sont
calcul\'{e}s et transmis au sous-programme \fort{codits} qui r\'{e}sout l'\'{e}quation compl\`{e}te
(convection-diffusion avec termes sources).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{Discr\'etisation}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Le terme convectif en $\dive(\underline{u} \otimes \rho\,\underline{u})$
introduit une non lin\'earit\'e et un couplage des composantes de la vitesse
$\vect{u}$ dans l'\'{e}quation (\ref{Base_Predvv_eqqdm}). Une lin\'earisation et un d\'ecouplage
des trois composantes de la
vitesse sont r\'ealis\'es lors de la discr\'etisation de cette \'etape de
pr\'ediction.\\
En effet, soit :
\begin{equation}
\vect{\widetilde{u}}= \vect{u}^n + \delta \vect{u}
\end{equation}
La contribution exacte du terme convectif \`a prendre en compte dans cette
\'etape de pr\'ediction serait :\\
\begin{equation}\label{Base_Predvv_Conv_exact}
\begin{array}{ll}
\dive(\vect{\widetilde{u}} \otimes \rho\,\vect{\widetilde{u}}) =
\dive(\vect{u}^{n} \otimes \rho\,\vect{u}^{n}) + \dive(\delta \vect{u} \otimes
\rho\,\vect{u}^{n}) +  \underbrace { \dive(\vect{u}^{n} \otimes
\rho\,\delta \vect{u})}_{\text {terme couplant lin\'eaire}} +  \underbrace { \dive(\delta \vect{u} \otimes
\rho\,\delta \vect{u})}_{\text {terme couplant et non lin\'eaire}}\\
\end{array}
\end{equation}
Les deux derniers termes de l'expression (\ref{Base_Predvv_Conv_exact}) sont {\em a priori} n\'{e}glig\'{e}s
de mani\`{e}re \`{a} obtenir un syst\`eme en vitesse qui soit d\'ecoupl\'e et donc,
\'{e}viter l'inversion d'une matrice pouvant \^etre de tr\`es grande taille. Ces
deux termes peuvent n\'{e}anmoins être pris en compte de mani\`{e}re plus ou moins
approch\'{e}e par extrapolation explicite du flux de masse en $n+\theta_F$ (pour le
terme couplant lin\'{e}aire provenant de la convection de $\vect{u}^{n}$ par $\delta
\vect{u}$) et utilisation d'un point-fixe par sous it\'{e}ration sur le sous
programme \fort{navstv} (pour le terme non-lin\'{e}aire, en sp\'{e}cifiant $\var{NTERUP}>1$).

L'\'{e}quation (\ref{Base_Predvv_eqqdm}) est discr\'{e}tis\'{e}e au temps $n+\theta$ \`{a} l'aide d'un
$\theta$-sch\'{e}ma, et le tenseur des pertes de charges d\'{e}compos\'{e} en une partie
diagonale $\tens{K}_{d}$ et une extradiagonale $\tens{K}_{e}$ (soit
 $\tens{K}_{pdc}=\tens{K}_{d}+\tens{K}_{e}$).\\
$\bullet$ La pression est suppos\'{e}e connue en $n-1+\theta$ (d\'{e}calage temporel
pression-vitesse) et le gradient naturellement calcul\'{e} \`{a} cet instant.\\
$\bullet$ Les termes sources de viscosit\'{e} secondaire, de gradient transpos\'e,
ceux provenant du mod\`{e}le de turbulence\footnote{except\'{e} $\dive (\mu_t\ (\ggrad
\underline {u}))$}, $\rho\,\tens{K}_{\,e}\ \underline{u}$, $(\rho -\rho_0)
\underline {g}$ ainsi que $\underline{T}_{s}^{\,exp}$ et
$\Gamma\,\underline{u}_{\,i}$ sont pris de mani\`{e}re explicite au temps $n$, ou
extrapol\'{e}s suivant le sch\'{e}ma en temps choisi pour les propri\'{e}t\'{e}s physique et les
termes sources.\\
$\bullet$ Les termes sources $\underline{u}\,\,\dive (\rho\,\underline {u})$,
$\Gamma\,\,\underline{u}$, $T_{s}^{\,imp}\,\,\underline{u}$ et
$-\rho\,\tens{K}_{\,d}\,\,\underline{u}$ sont implicit\'{e}s est calcul\'{e}s \`{a}
l'instant $n+\theta$.\\
$\bullet$ Le terme de diffusion $\dive (\mu_{\,tot}\,\ggrad \underline{u})$ est
implicit\'{e} : la vitesse est prise \`{a} l'instant $n+\theta$ et la viscosit\'{e}
explicit\'{e}e ou extrapol\'{e}e.\\
$\bullet$ Enfin, le terme de convection en $\dive(\,\underline{u} \otimes
(\rho\underline{u})\,)$ est implicit\'{e} : la composante r\'{e}solue de la vitesse est
prise en $n+\theta$, et le flux de masse, explicit\'{e}, ou extrapol\'{e} en
$n+\theta_F$.

Par souci de clart\'{e}, on suppose, en l'absence d'indication, que les propri\'{e}tes
physiques $\Phi$ ($\rho,\,\mu_{tot},\,...$) et le flux de masse
$(\rho\underline{u})$ sont pris respectivement aux instants $n+\theta_\Phi$ et
$n+\theta_F$, o\`{u} $\theta_\Phi$ et $\theta_F$ d\'{e}pendent des sch\'{e}mas en temps
sp\'{e}cifiquement utilis\'{e}s pour ces grandeurs\footnote{cf. \fort{introd}}.

La discr\'{e}tisation temporelle de l'\'{e}quation (\ref{Base_Predvv_eqqdm}) s'\'{e}crit alors comme suit :

\begin{equation}\label{Base_Predvv_eq_di1}
 \begin{array}{c}
\displaystyle \rho\,\ \frac{ \underline {\widetilde{u}}^{n+1} -\underline {u}^{n} }
{\Delta t} + \dive(\,\underline{\widetilde{u}}^{n+\theta} \otimes (\rho\underline{u})\,) -\dive
(\mu_{\,tot}\,\ggrad \underline{\widetilde{u}}^{n+\theta}) =
\\
\displaystyle
 - \grad p^{n-1+\theta} + \dive (\rho\,\underline {u})\,\underline{\widetilde{u}}^{n+\theta} +(\Gamma\,\underline{u}_{\,i})^{n+\theta_S}-\Gamma^n\,\,\underline{\widetilde{u}}^{n+\theta}
\\
\begin{array}{c}
\displaystyle
- \rho\,\tens{K}_{\,d}^{n}\,\,\underline{\widetilde{u}}^{n+\theta} - (\rho\,\tens{K}_{\,e}\ \underline{u})^{n+\theta_S} + (\underline{T}_{s}^{\,exp})^{\,n+\theta_S} + T_{s}^{\,imp}\,\,\underline{\widetilde{u}}^{n+\theta}
\\
\displaystyle
+[\dive (\mu_{\,tot}\,^t\ggrad \underline {u})]^{n+\theta_S}-\frac {2} {3}[\,\grad (\mu_{\,tot}\,\dive \underline {u})]^{n+\theta_S} + (\rho -\rho_0) \underline {g}
 - (\underline{turb})^{n+\theta_S}
\end{array}
\end{array}
\end{equation}
o\`u, par souci de simplification, on a pos\'e :
\begin{equation}
\mu_{\,tot}=
\begin{cases}
\mu+\mu_t & \text{pour les mod\`{e}les \`{a} viscosit\'{e} turbulente ou en LES}, \\
\mu & \text{pour les mod\`{e}les au second ordre ou en laminaire}
\end{cases} \
\end{equation}
\\
et :
\begin{equation}
\underline{turb}^{n}=
\begin{cases}
\displaystyle\frac {2}{3}\grad (\rho^{n}\,k^{n}) & \text{pour les mod\`{e}les \`{a} viscosit\'{e} turbulente}, \\
\dive(\rho^{n}\,\tens{R}^n) & \text{pour les mod\`{e}les au second ordre},\\
0 & \text{en laminaire ou en LES}\\
\end{cases}
\end{equation}
Par analogie avec l'\'{e}criture du $\theta$-sch\'{e}ma pour une variable scalaire, $\,
\underline {\widetilde{u}}^{n+\theta}$ est interpol\'{e}e \`{a} partir de la vitesse
pr\'{e}dite $\underline {\widetilde{u}}^{n+1}$ de la mani\`ere suivante\footnote{si
$\theta=1/2$, ou qu'une extrapolation est utilis\'{e}e, l'ordre 2 n'est obtenu que si
le pas de temps $\Delta t$ est uniforme en temps et en espace.}~:
\begin{equation}
\underline {\widetilde{u}}^{n+\theta}=\theta\, \underline
{\widetilde{u}}^{n+1}+(1-\theta)\, \underline {u}^{n}\\
\end{equation}
Avec :
\begin{equation}
\left\{
\begin{array}{ll}
\theta = 1   & \text{Pour un sch\'ema de type Euler implicite d'ordre 1.}\\
\theta = 1/2 & \text{Pour un sch\'ema de type Cranck-Nicolson d'ordre 2.}\\
\end{array}
\right.
\end{equation}

L'\'{e}quation (\ref{Base_Predvv_eq_di1}) est alors r\'{e}\'{e}crite sous la forme :

\begin{equation}\label{Base_Predvv_eq_di2}
\begin{array}{c}
\displaystyle \underbrace{\left(\frac{\rho}{\Delta t} -\theta \,\dive (\rho\,\underline {u}) +\theta \,\, \Gamma^n +
\theta \,\, \rho\,\tens{K}_{\,d}^n-\theta \,T_s^{\,imp} \right)}_{\displaystyle f_s^{imp}}\, (\underline {\,\widetilde{u}}^{n+1} -\underline {u}^{n})
\\
 +\, \theta\, \dive(\underline {\widetilde{u}}^{n+1} \otimes (\rho\underline{u}))-\, \theta\,\dive (\mu_{\,tot}\,\ggrad \underline {\widetilde{u}}^{n+1}) =
\\
-\,(1-\theta)\, \dive(\underline {u}^{n} \otimes (\rho\underline{u})) +\,(1-\theta)\,\dive (\mu_{\,tot}\,\ggrad \underline {u}^{n})
\\
f_s^{exp}\left\{
\begin{array}{c}
\displaystyle
- \grad p^{n-1+\theta} + \dive (\rho\,\underline {u})\,\underline{u}^{n} +\,(\,\Gamma^{n}\,\underline{u}_{\,i}\,)^{n+\theta_S}- \Gamma^n\,\,\underline{u}^{n}
\\
\displaystyle
-(\,\rho\,\tens{K}_{\,e}\ \underline{u}\,)^{n+\theta_S} -\rho\,\tens{K}_{\,d}^n\ \underline{u}^{n}+ (\underline{T}_{s}^{\,exp})^{\,n+\theta_S} + T_s^{\,imp}\,\,\underline {u}^{n}
\\
\displaystyle
+[\dive (\mu_{\,tot}\,^t\ggrad \underline {u}\,)]^{n+\theta_S}-\frac {2} {3}[\,\grad (\mu_{\,tot}\,\dive \underline {u}\,)]^{n+\theta_S} + (\rho -\rho_0) \underline {g}-(\underline{turb})^{n+\theta_S}
\end{array}
\right.
\end{array}
\end{equation}

d'o\`{u} l'\'{e}quation r\'{e}solue par le sous-programme \fort{codits} :
\begin{equation}\begin{array}{c}
\displaystyle
f_s^{\,imp}(\underline {\widetilde{u}}^{n+1}-\underline {u}^{n}) + \theta\, \dive(\underline{\widetilde{u}}^{n+1} \otimes (\rho
\underline{u})) - \theta\,\dive (\,\mu_{\,tot}\,\ggrad \underline{\widetilde{u}}^{n+1}) =
\\\\
\displaystyle
-(1-\theta)\,\dive(\underline{u}^{n} \otimes (\rho \underline{u}))+(1-\theta)\,\dive (\,\mu_{\,tot}\,\ggrad \underline{u}^{n})
+ \underline{f}_{\,s}^{\,exp}
\end{array}
\end{equation}
La m\'ethode de discr\'etisation spatiale est d\'evelopp\'ee dans le sous-programme \fort{codits}.\\



\minititre{Remarques :}
{\tiny$\blacksquare$} Dans le cas standard sans extrapolation, le terme
$-\,T_s^{\,imp}$ n'est ajout\'{e} \`{a} $f_s^{\,imp}$ que s'il est positif afin de ne
pas affaiblir la dominance de la diagonale de la matrice \`{a} inverser.\\
{\tiny$\blacksquare$} Si une extrapolation est utilis\'{e}e, par contre,
$\,T_s^{\,imp}$ est ajout\'{e} \`{a} $f_s^{\,imp}$ quel que soit son signe. En effet, l'id\'{e}e intuitive qui
consiste \`{a} prendre~:
\begin{equation}
\begin{cases}
\displaystyle
(\underline{T}_{s}^{\,exp} + T_{s}^{\,imp}\,\underline {u})^{\,n+\theta_S} &
\text{si } T_{s}^{\,imp} > 0\\
\displaystyle
(\underline{T}_{s}^{\,exp})^{\,n+\theta_S} + T_{s}^{\,imp}\,\underline{u}^{n+\theta} &\text{sinon}\\
\end{cases}
\end{equation}
aboutit \`{a} une incoh\'{e}rence dans le traitement si $T_s^{imp}$ change de signe
entre deux pas de temps.\\
{\tiny$\blacksquare$} la partie diagonale $\tens{K}_{\,d}$ du terme
de perte de charge est utilis\'{e}e dans $f_s^{\,imp}$. En fait, pour \^etre rigoureux,
il faudrait ne retenir que les contributions positives (point signal\'e dans le
sous-programme utilisateur associ\'e \fort{uskpdc}). Cette prise en compte sera \`a am\'eliorer.\\
{\tiny$\blacksquare$} Le terme $\theta\,\Gamma^{n}-\theta\,\dive
(\rho\,\underline {u})$ ne pose pas de probl\`{e}me pour la
dominance de la diagonale de la matrice car il est exactement compens\'{e} par le
terme de convection (cf. \fort{covofi}).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{Mise en \oe uvre}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

L'\'{e}quation de conservation de la quantit\'{e} de mouvement est donc r\'{e}solue de façon
d\'{e}coupl\'{e}e. Ainsi, l'int\'{e}gration des diff\'{e}rents termes a \'{e}t\'{e} effectu\'{e}e afin de
traiter s\'{e}par\'{e}ment l'\'{e}quation obtenue pour chaque composante de la vitesse.\\
Dans le sous-programme \fort{predvv}, on calcule pour chaque
composante le second membre $f_s^{exp}$ du syst\`{e}me  (\ref{Base_Predvv_eq_di2}), les termes implicites du syst\`{e}me (\`{a} l'exception des termes de convection-diffusion), et le terme de viscosit\'{e} totale aux faces internes\footnote{valeur n\'{e}cessaire pour l'int\'{e}gration du terme de diffusion dans \fort{codits}, $\displaystyle(\mu_{\,tot})_{ij}\frac{\var{SURFN}}{\var{DIST}}$} et de
bord. Ces termes sont alors transmis au sous-programme \fort{codits} qui construit et
r\'{e}sout le syst\`{e}me complet obtenu pour chaque composante de la vitesse avec les termes de convection-diffusion.
\\\\
Le r\'esidu de normalisation pour la r\'esolution du syst\`eme en pression (\fort{resopv}) est calcul\'e dans
\fort{predvv}. Il est d\'efini par la norme de la
grandeur  $$\dive(\rho\,\widetilde{\vect{u}}^{n+1}+\Delta t \grad{P^{n-1+\theta}})-\Gamma$$
int\'egr\'ee sur chaque cellule \var{IEL} du maillage ($\Omega_{iel}$) soit, symboliquement, par la racine carr\'ee de la
somme sur les cellules du maillage de la quantit\'e
\begin{center}
\var{XNORMP(IEL)}=
$\int\limits_{\Omega_{iel}}[{\dive(\rho\,\widetilde{\vect{u}}^{n+1}+\Delta\,t\,\grad{P^{n-1+\theta}})
-\Gamma\,]\,d\Omega}$.
\end{center}

Il repr\'esente le second membre du syst\`eme qui porterait sur la pression si
le gradient de pression n'\'etait pas pris en compte lors de l'\'etape de pr\'ediction des vitesses. On note que si l'on utilisait directement le second membre de
l'\'equation portant sur l'incr\'ement de pression, on obtiendrait, pour un calcul
stationnaire men\'e \`a convergence, un r\'esidu de normalisation tendant vers z\'ero, ce qui serait p\'enalisant et
peu utile.

Au d\'ebut de \fort{predvv}, on ne dispose pas encore de $\widetilde{\vect{u}}^{n+1}$
et il n'est donc pas possible de calculer le r\'esidu de normalisation en
totalit\'e. Cependant, le calcul du r\'esidu complet \`a la fin de \fort{predvv}
n'est pas souhaitable non plus, car on devrait alors  monopoliser un tableau de
travail pour conserver le gradient de pression tout au long de \fort{predvv}.
Le calcul du r\'esidu de normalisation est donc r\'ealis\'e en deux fois.

La quantit\'e $\int\limits_{\Omega_{iel}}{\dive(\Delta\,t\,\grad{P^{n-1+\theta}}) -\Gamma d\Omega}$ est calcul\'ee au d\'ebut de \fort{predvv} et on y ajoute le compl\'ement $\int\limits_{\Omega_{iel}}{\dive(\rho\,\widetilde{\vect{u}}^{n+1})d\Omega}$ \`a la fin de \fort{predvv}.

On calcule donc tout d'abord le gradient de pression aux cellules \`a l'instant
$n-1+\theta$ par un appel \`a \fort{grdcel}. On utilise alors \fort{inimas} pour
\'evaluer $\Delta\,t\,S\,\grad{P^{n-1+\theta}}\cdot\vect{n}$ aux faces (de surface $S$ et de normale $\vect{n}$). Pour cela, en entr\'ee de \fort{inimas} , le tableau de travail \var{TRAV} contient $\frac{\Delta\,t}{\rho}\,\grad{P^{n-1+\theta}}$~; en sortie, les tableaux \var{VISCF} et \var{VISCB} contiennent la valeur de $\Delta\,t\,S\,\grad{P^{n-1+\theta}}\cdot\vect{n}$ aux faces internes et de bord respectivement.

On utilise ensuite \fort{divmas} qui place alors dans \var{XNORMP} la valeur de $\int\limits_{\Omega_{iel}}{\dive(\Delta\,t\,\grad{P^{n-1+\theta}}) d\Omega}$ aux cellules
\`a partir des tableaux \var{VISCF} et \var{VISCB}.

On ajoute enfin \`a \var{XNORMP} la contribution $\int\limits_{\Omega_{iel}}{ -\Gamma^{n} d\Omega}$ du terme source de masse.

On applique pour $\rho\,\widetilde{\vect{u}} + \Delta t \grad{P}$ les conditions
aux limites de la vitesse. Les conditions aux limites utilis\'{e}es pour le gradient
de pression (ou
plut\^ot pour $\frac{\Delta\,t}{\rho}\,\grad{P^{n-1+\theta}}$) pour le calcul de
$\int\limits_{\Omega_{iel}}{\dive(\Delta\,t\,\grad{P^{n-1+\theta}}) d\Omega}$
sont donc les conditions aux limites de la vitesse homog\'en\'eis\'ees~: ainsi,
on suppose
que dans la direction normale aux entr\'ees et aux parois, le gradient de
pression (ou plut\^ot $\frac{\Delta\,t}{\rho}\,\grad{P^{n-1+\theta}}$) est nul
et que dans la direction normale aux sym\'etries et aux sorties, il reste
inchang\'e.

De plus, pour gagner du temps calcul lors du passage par \fort{inimas},
on se contente, sur les maillages non orthogonaux,
d'une \'evaluation des valeurs aux faces \`a l'ordre 1 en espace (pas de
reconstruction~: \var{NSWRP=1}). En effet, on cherche \`a \'evaluer un simple
r\'esidu de normalisation global~: la pr\'ecision locale n'a donc pas
d'int\'er\^et.

Le calcul du r\'esidu sera compl\'et\'e \`a la fin de \fort{predvv}.


\etape{Calcul en partie du r\'esidu de normalisation pour l'\'etape de pression}

Dans cette premi\`{e}re \'{e}tape on calcule dans le tableau \var{XNORMP(NCELET)} la
grandeur $$\dive(\Delta t \,\grad{P^{n-1+\theta}})-\Gamma$$ int\'egr\'ee sur chaque cellule \var{IEL} du maillage ($\Omega_{iel}$)
soit, symboliquement,
$$\var{XNORMP(IEL)}=\int\limits_{\Omega_{iel}}{\dive(\Delta\,t\,\grad{P^{n-1+\theta}})-\Gamma
d\Omega}$$
On r\'ealise cette op\'eration en utilisant successivement \fort{inimas}
(calcul aux faces dans \var{VISCF} et \var{VISCB} de $\Delta t\,\grad{P^{n-1+\theta}}$ \`a
partir du tableau de travail \var{TRAV}=$\frac{\Delta t}{\rho}
\grad{P^{n-1+\theta}}$, assorti des conditions  aux limites de vitesse
homog\`enes et sans reconstruction) et \fort{divmas} (calcul dans \var{XNORMP}
de l'int\'egrale sur les cellules).  Par une simple boucle, on
ajoute ensuite la contribution du terme source de masse $\Gamma$.
Ce calcul est compl\'{e}t\'{e} \`a la fin de \fort{predvv}.\\

\etape{Calcul en partie du terme $\underline{f}_s^{\,exp}$}

Pour repr\'{e}senter le second membre correspondant \`{a} chaque composante de la
vitesse, on utilise les tableaux \var{TRAV}(\var{IEL},\var{DIR}),
\var{TRAVA}(\var{IEL},\var{DIR}) et \var{PROPCE},
o\`{u} \var{IEL} est le num\'{e}ro de la cellule et \var{DIR} la direction (x, y,
z). Quatre cas sont \`{a} consid\'{e}rer suivant que les termes sources sont extrapol\'{e}s
en $n+\theta_S$, ou que l'on it\`{e}re par un point fixe sur le syst\`{e}me en
vitesse-pression (\var{NTERUP}$>1$).
\\
$\bullet$ Si on extrapole les termes sources et que l'on it\`{e}re sur \fort{navstv}\\
\begin{itemize}
\item [-]\var{TRAV} reçoit les termes sources qui sont recalcul\'{e}s au cours de
toutes les it\'{e}rations sur \fort{navstv} et qui ne sont pas extrapol\'{e}s
($\grad{P^{n-1+\theta}}$ et $(\rho -\rho_0) \underline {g}$\footnote{en r\'{e}alit\'{e}
$(\rho -\rho_0) \underline {g}$ ne change pas, mais il est rapide \`{a} calculer ce
qui \'{e}vite d'avoir un traitement suppl\'{e}mentaire pour ce terme.}).\\
\item [-]\var{TRAVA} reçoit les termes sources qui ne changent pas au cours des
it\'{e}rations sur \fort{navstv} et qui ne sont pas extrapol\'{e}s
($T_s^{imp}\,u^n\,,-\rho\,\tens{K}_{d}\,u^n\,,\,-\Gamma^n\,u^n,...$).\\
\item [-]\var{PROPCE} reçoit les termes sources devant \^etre extrapol\'{e}s.\\
\\
\end{itemize}
$\bullet$ Sans it\'{e}ration sur \fort{navstv}, \var{TRAVA} est inutile et son contenu est directement stock\'{e} dans \var{TRAV}.\\
\\
$\bullet$ Sans extrapolation des termes sources, \var{PROPCE} est inutile et son contenu est directement stock\'{e} dans \var{TRAVA} (ou dans \var{TRAV} si \var{TRAVA} est inutile).\\
Ainsi, sans extrapolation des termes sources, et sans it\'{e}ration sur \fort{navstv}, tout les termes sources vont directement dans \var{TRAV}.\\
\\
\begin{itemize}
\item On dispose d\'ej\`a du gradient de pression sur les cellules \`a l'instant $n-1+\theta$. Le terme de gravit\'e est alors ajout\'{e} au vecteur \var{TRAV} qui contient d\'{e}j\`{a} le gradient de pression. Ainsi, on a par exemple pour la direction x :
\begin{equation}
\var{TRAV}(\var{IEL},1) = |\Omega_{IEL}| (-\displaystyle (\frac {\partial p}
{\partial x})_{\var{IEL}}+(\rho(\var{IEL})-\rho_0)g_x)
\end{equation}

\item Si une extrapolation des termes sources est utilis\'{e}e, le vecteur
\var{TRAV} (ou \var{TRAVA}) reçoit \`{a} la premi\`{e}re it\'{e}ration sur \fort{navstv},
$-\theta_S$ fois la contribution au temps $n-1$ des termes sources devant \^etre
extrapol\'{e}s\footnote{car
$(\underline{T}_s^{exp})^{n+\theta_S}=(1+\theta_S)\,(\underline{T}_s^{exp})^n
-\,\theta_S\, (\underline{T}_s^{exp})^{n-1}$} (stock\'{e}e dans
\var{PROPCE}). \var{PROPCE} est ensuite r\'{e}initialis\'{e} \`{a} z\'{e}ro de façon \`{a} pouvoir
recevoir plus tard la contribution au pas de temps courant des termes sources qui
sont extrapol\'{e}s.

\item Le terme correspondant au mod\`{e}le de turbulence n'est calcul\'{e} que lors de la premiere it\'{e}ration sur \fort{navstv} puis ajout\'{e} \`{a} \var{TRAVA}, \var{TRAV} ou \var{PROPCE} suivant que les termes sources sont extrapol\'{e}s, ou que l'on it\`{e}re sur \fort{navstv}.\\

{\tiny$\blacksquare$} Mod\`{e}les \`{a} viscosit\'{e} turbulente :\\
Si $\var{IGRHOK}=1$, alors on calcule $-\displaystyle \frac{2}{3}\ \rho\ \grad k$ (et non, comme on devrait,
$-\displaystyle \frac{2}{3}\grad (\rho k)$) par  simplification
(cf. paragraphe~\ref{Base_Predvv_section4}). Le gradient de $k$ est calcul\'{e} sur la cellule
par le
sous-programme \fort{grdcel}. \\
Si $\var{IGRHOK}=0$, ce terme est suppos\'e \^etre implicitement pris en compte
dans la pression.\\
{\tiny$\blacksquare$} Mod\`{e}les  au second ordre :\\
Le calcul du terme $-\dive(\rho \tens{R})$ s'effectue en deux temps. Tout
d'abord, on appelle le sous-programme \fort{divrij} qui projette le vecteur
$\tens{R}.\underline{e}_{\var{DIR}}$ aux faces, pour la direction \var{DIR}. Puis, on
appelle le sous-programme \fort{divmas} qui en calcule la divergence.\\
\linebreak
\item Les termes de viscosit\'{e} secondaire $- \displaystyle \frac {2} {3}\grad (\mu_{\,tot} \dive \underline\,{u})$ et de gradient
transpos\'{e} $ \dive (\mu_{\,tot} \,^t\ggrad \underline {u})$ sont calcul\'{e}s (s'ils sont pris en compte \emph{i.e.} \var{IVISSE}\,(\var{IPHAS})\ = 1, o\`{u} \var{IPHAS} est le
num\'{e}ro de la phase trait\'{e}e) par le sous-programme \fort{visecv}. Il ne sont calcul\'{e}s qu'\`{a} la premi\`{e}re it\'{e}ration sur \fort{navstv}. Au cours de cette \'{e}tape, le tableau \var{TRAV} est utilis\'{e} comme tableau de travail lors de l'appel au sous-programme \fort{visecv}. Il retrouve sa valeur \`{a} la fin de cet appel, son contenu \'{e}tant temporairement stock\'{e} dans les vecteurs \var{W7} \`{a} \var{W9}.
\\
\item Les termes correspondant aux pertes de charges ($\rho \tens{K}_{\,pdc}
{u}$), s'ils existent (\ $\var{NCEPDP}> 0$\ ), sont calcul\'{e}s par le
sous-programme \fort{tspdcv} \`{a} la premi\`{e}re it\'{e}ration sur \fort{navstv}. Ils sont
d\'{e}compos\'{e}s en deux parties :\\
{\tiny$\blacksquare$} Une premi\`{e}re, correspondant \`{a} la contribution des termes
diagonaux ($-\rho\,\tens{K}_{\,d}\underline{u}$) qui n'est pas extrapol\'{e}e.\\
{\tiny$\blacksquare$} Une seconde, correspondant aux  termes extradiagonaux
($-\rho\,\tens{K}_{\,e}\underline{u}$) qui peut l'\^etre ou non.\\
Au cours de cette \'{e}tape, le tableau \var{TRAV} est utilis\'{e} comme tableau de
travail lors de l'appel au sous-programme \fort{tspdcv}. Il retrouve sa valeur \`{a}
la fin de cet appel, son contenu \'{e}tant temporairement stock\'{e} dans les vecteurs
\var{W7} \`{a} \var{W9}.

\end{itemize}

\etape{Calcul du terme de viscosit\'{e} aux faces
$\displaystyle(\mu_{\,tot})_{ij}\frac{\var{SURFN}}{\var{DIST}}$}
Le calcul du terme de viscosit\'{e} totale aux faces est effectu\'{e} par le
sous-programme \fort{viscfa} et stock\'{e} dans les tableaux \var{VISCF} et
\var{VISCB} pour les faces internes et faces de bord respectivement.\\
Lors de l'int\'{e}gration des termes de convection-diffusion dans le sous-programme
\fort{codits}, on distingue les termes non reconstruits, int\'egr\'es dans la
matrice $\tens{EM}$ , de l'ensemble des termes (non reconstruits +
gradients de reconstruction) associ\'es \`a l'op\'erateur $\mathcal{E}$ (non
lin\'eaire)\footnote{ par coh\'erence avec les op\'erateurs $\mathcal{EM}$ et $\mathcal{E}$ d\'efinis dans \fort{navstv} }.
De la même mani\`{e}re, on distingue la viscosit\'{e} totale aux faces utilis\'{e}e dans
$\mathcal{E}$, tableaux \var{VISCF} et \var{VISCB}, de la viscosit\'{e} totale aux
faces utilis\'{e}e dans $\tens{EM}$, tableaux \var{VISCFI} et
\var{VISCBI}.\\
Pour les mod\`{e}les \`{a} viscosit\'{e} turbulente et en LES, ces deux tableaux sont identiques et contiennent $\mu_t+\mu$.
Pour les mod\`{e}les au second ordre, ils contiennent normalement $\mu$, mais pour des simples raisons de stabilit\'{e}
num\'{e}rique, on peut choisir de mettre $\mu_t+\mu$ dans la matrice (\textit{i.e.} dans $\tens{EM}$) en
conservant $\mu$ au second menbre (\textit{i.e.} dans $\mathcal{E}$). De par la r\'{e}solution par incr\'{e}ments, cette
 manipulation ne change pas le r\'{e}sultat. Cette option est activ\'{e}e par l'indicateur $\var{IRIJNU}\ =\ 1$\\
Si la vitesse n'est pas diffus\'{e}e (\ \var{IDIFF}(\var{IUIPH})\ $<$\ 1), alors les termes \var{VISCF} et \var{VISCB} sont mis \`{a} z\'{e}ro.
\linebreak

\etape{Calcul du second membre complet, de $f_s^{\,imp}$ et r\'{e}solution de l'\'{e}quation}
Les \'{e}quations d'\'{e}volution des composantes de la quantit\'{e} de mouvement sont
r\'{e}solues de façon d\'{e}coupl\'{e}e. On utilise, par cons\'{e}quent, un seul tableau
\var{ROVSDT} pour repr\'{e}senter la partie diagonale de la matrice obtenue pour chaque composante de la vitesse.\\
Pour chaque composante de la vitesse :\\

\begin{itemize}
\item Lors de la premi\`{e}re it\'{e}ration sur le sous-programme \fort{navstv}, les parties implicites et explicites des termes sources utilisateurs sont calcul\'{e}es par appel au sous-programme \fort{ustsns}.\\
{\tiny$\blacksquare$} La partie implicite ($T_s^{imp}$) est conserv\'{e}e dans le vecteur \var{XIMPA} pour les it\'{e}rations suivantes en cas d'utilisation du point-fixe sur le syst\`{e}me en vitesse-pression, et la contribution issue des m\^emes termes implicites ($T_s^{imp}\,\underline{u}^n$) ajout\'{e}e \`{a} \var{TRAVA} ou \`{a} \var{TRAV}.\\
{\tiny$\blacksquare$} La partie explicite ($T_s^{exp}$) est ajout\'{e}e \`{a} \var{TRAVA}, \var{TRAV} ou \var{PROPCE} suivant que les termes sources sont extrapol\'{e}s, ou que l'on it\`{e}re sur \fort{navstv}.\\

\item Le terme d'accumulation de masse ($\dive(\rho \underline {u})$) est
calcul\'{e} en appelant le sous-programme \fort{divmas} avec en argument le flux de
masse. Lors de la premi\`{e}re it\'{e}ration faite sur le sous-programme \fort{navstv},
le terme correspondant \`{a} la contribution explicite de l'accumulation de masse
($\underline{u}^{n}\ \dive(\rho \underline{u})$) est ajout\'{e} \`a \var{TRAVA} ou \`{a}
\var{TRAV}. Le vecteur \var{ROVSDT} est initialis\'{e} par $\theta\,\dive(\rho
\underline{u})$ (par coh\'{e}rence avec ce qui est fait dans le sous-programme
\fort{bilsc2}) puis la contribution du terme instationnaire ($\displaystyle
\frac{\rho}{\Delta t}$) ajout\'{e}e \`{a} ce dernier.\\

\item Le vecteur \var{ROVSDT} est ensuite compl\'{e}t\'{e} avec la contribution des termes sources implicites utilisateur (stock\'{e}e dans \var{XIMPA}) et avec celle des perte de charge ($\rho\,\tens{K}_{\,d}$) si $\var{NCEPDP}>0$.\\
{\tiny$\blacksquare$} Dans le cas ou les termes sources ne sont pas extrapol\'{e}s, la partie implicite des termes sources utilisateur n'est ajout\'{e}e \`{a} \var{ROVSDT} que si elle est n\'{e}gative de fa\c con \`{a} ne pas affaiblir la diagonale du syt\`{e}me.\\
{\tiny$\blacksquare$} Dans le cas ou ils sont extrapol\'{e}s par contre, elle est prise en compte quel que soit son signe.\\

\item Les termes sources implicite et explicite de masse, s'ils existent
(~$\var{NCESMP}>0$~), sont calcul\'{e}s \`{a} la premi\`{e}re it\'{e}ration sur \fort{navstv}
par le sous-programme \fort{catsma}. $\Gamma\,\underline{u}_i$ est ajout\'{e} \`{a}
\var{TRAV}, \var{TRAVA} ou \var{PROPCE} pour être \'{e}ventuellement
extrapol\'{e}. $\Gamma\,\underline{u}^n$ est rajout\'{e} \`{a} \var{TRAV} ou \var{TRAVA} et
$-\Gamma$ \`{a} \var{ROVSDT}.
\\
\item Le second membre est enfin assembl\'{e} en tenant compte de toutes les
contributions stock\'{e}es dans les tableaux \var{PROPCE}, \var{TRAVA} et
\var{TRAV}.\\
{\tiny$\blacksquare$} Si les termes sources sont extrapol\'{e}s alors :
$$\var{SMBR}=(1-\theta_S)\,\var{PROPCE}+\var{TRAVA}+\var{TRAV}$$
{\tiny$\blacksquare$} Sinon on a directement :
$$\var{SMBR}=\var{TRAVA}+\var{TRAV}$$

\item Prise en compte des physiques particuli\`{e}res (lagrangien, arc \'{e}lectrique,
...) ajout\'{e}s directement \`{a} \var{SMBR}.
\\
\item La resolution du syst\`{e}me lin\'{e}aire est faite par le sous-programme
\fort{codits} avec pour argument \var{ROVSDT} et \var{SMBR}.\\

\item Si on utilise le couplage instationnaire renforc\'{e} vitesse-pression ($\ \var{IPUCOU} = 1\ $) (uniquement disponible avec l'ordre 1, sans extrapolation des termes sources et sans it\'{e}ration sur \fort{navstv}) on r\'{e}sout, en utilisant pour \fort{codits} :
\begin{equation}\label{Base_Predvv_Eq_Tdir}
\tens{EM}_{\,\var{DIR}}\,.\, (\tens{RHO}^{\,n})^{-1}\,.\,\underline{T}_{\,\var{DIR}} =
\tens{\Omega}\,.\,\vect{1}
\end{equation}
avec $\tens{RHO}^n$ le tenseur diagonal d'\'el\'ement $\rho^{n}_{IEL}$,
$\tens{\Omega}$ le tenseur diagonal d'\'el\'ement $|\Omega_{IEL}|$, $\vect{1}$ le
vecteur de composantes toutes \'egales \`a 1.\\
 L'inversion du syst\`{e}me par \fort{codits} fournit
$(\tens{RHO}^{\,n})^{-1}\,.\,\underline{T}_{\,\var{DIR}}$, qui est ensuite multipli\'{e} par $\tens{RHO}^{\,n}$
pour obtenir $\underline{T}_{\,\var{DIR}}$.
Ceci est r\'ealis\'e pour chaque composante \var{DIR} de la vitesse. $\underline{T}_{\,\var{DIR}}$
est alors une approximation de type matrice diagonale de
$\tens{RHO}^{\,n}\,.\,\tens{EM}_{\,\var{DIR}}^{-1}$, avec
$\tens{EM}_{\,\var{DIR}}$ repr\'{e}sentant toujours la partie implicite de l'\'{e}quation de quantit\'{e} de mouvement
(\emph{i.e.} \var{ROVSDT} + contribution des
termes de convection-diffusion pris en compte dans le sous-programme
\fort{matrix}). $\underline{T}_{\,\var{DIR}}$
intervient dans l'\'{e}tape corrective (cf. sous-programme \fort{resopv}).\\
\end{itemize}
Fin de la boucle sur les composantes de la vitesse.\\

\etape{Fin du calcul du r\'esidu de normalisation pour l'\'etape de pression}

Comme indiqu\'e pr\'ec\'edemment, on peut maintenant compl\'eter le calcul du
r\'esidu de normalisation pour l'\'etape de pression de \fort{resopv}.

Le tableau \var{XNORMP} contient d\'ej\`a
$\int\limits_{\Omega_{iel}}{\dive(\Delta\,t\,\grad{P^{n-1+\theta}}) -\Gamma d\Omega}$ . On
lui ajoute donc
$\int\limits_{\Omega_{iel}}{\dive(\rho\,\widetilde{\vect{u^{n+1}}})d\Omega}$.

Pour
cela, on proc\`ede comme pr\'ec\'edemment pour le calcul de
$\int\limits_{\Omega_{iel}}{\dive(\Delta\,t\,\grad{P^{n-1+\theta}}) d\Omega}$. Un appel \`a
\fort{inimas} permet d'obtenir
$\rho\,S\,\widetilde{\vect{u}}^{n+1}\cdot\widetilde{\vect{n}}$ aux faces \`a partir de
$\widetilde{\vect{u}}^{n+1}$ connu aux cellules (tableau \var{RTP}). Les conditions
aux limites pour \fort{inimas} sont naturellement celles de la vitesse. Comme
pr\'ec\'edemment, on se contente pour gagner du temps calcul lors du passage par
\fort{inimas}, d'une \'evaluation des valeurs aux faces \`a l'ordre 1 en espace
sur les maillages non orthogonaux (pas de
reconstruction~: \var{NSWRP=1}). On utilise ensuite \fort{divmas} pour calculer
aux cellules la divergence
$\int\limits_{\Omega_{iel}}{\dive(\rho\,\widetilde{\vect{u}}^{n+1})d\Omega}$ et
l'ajouter directement \`a \var{XNORMP}.

Pour finir, le r\'esidu de normalisation est d\'etermin\'e et stock\'e dans \var{RNORMP(IIPHAS)} par un appel \`a \fort{prodsc}  (qui r\'ealise le calcul de la somme sur les cellules du
carr\'e des valeurs de \var{XNORMP} et en prend la racine carr\'ee).\\


\newpage

On r\'{e}sume dans les tableaux (\ref{Base_Predvv_tab_ext0}), (\ref{Base_Predvv_tab_ext1}), (\ref{Base_Predvv_tab_exp0})
et (\ref{Base_Predvv_tab_exp1}) les diff\'{e}rentes contributions (hors convection-diffusion)
affect\'{e}es \`{a} chacun des vecteurs \var{TRAV}, \var{TRAVA}, \var{PROPCE} et
\var{ROVSDT} \`{a} l'it\'{e}ration $n$. On diff\'{e}rencie pour chacun des sch\'{e}mas en temps
appliqu\'{e}s aux les termes sources, deux cas suivant qu'un point fixe sur le
syst\`{e}me en vitesse-pression est utilis\'{e} ou non (it\'{e}ration sur \fort{navstv} pour
\var{NTERUP}$>1$). En l'absence d'indication les propri\'{e}t\'{e}s physiques $\Phi$
($\rho$,$\mu$,etc...) sont suppos\'{e}es prises au temps $n+\theta_\Phi$, et le flux
de masse $(\,\rho \underline{u})$ pris au temps $n+\theta_F$, o\`{u} $\theta_\Phi$
et $\theta_F$ d\'{e}pendent des sch\'{e}mas en temps sp\'{e}cifiquement utilis\'{e}s pour ces
grandeurs (cf. \fort{introd}).
\\\\
Les termes figurant dans ces tableaux sont \'{e}crits tels qu'ils ont \'{e}t\'{e} implant\'{e}s
dans le code, d'o\`{u} l'origine de certaines diff\'{e}rences par rapport \`{a} l'\'{e}criture
adopt\'{e}e dans l'\'{e}quation (\ref{Base_Predvv_eq_di2}).
\\\\
Par souci de simplification, on pose~:
\begin{equation}\notag
\mu_{\,tot}=
\begin{cases}
\mu+\mu_t & \text{pour les mod\`{e}les \`{a} viscosit\'{e} turbulente ou en LES}, \\
\mu & \text{pour les mod\`{e}les au second ordre ou en laminaire}\\
\end{cases} \
\end{equation}

\minititre{Avec extrapolation des termes sources}
\begin{equation}\notag
\underline{turb}^{n}=
\begin{cases}
\displaystyle\frac {2}{3}\,\rho^{n}\,\grad (\,k^{n}) &
\text{pour les mod\`{e}les \`{a} viscosit\'{e} turbulente}, \\
\dive(\rho^{n}\,\tens{R}^n) & \text{pour les mod\`{e}les au second ordre},\\
0 & \text{en laminaire ou en LE.}\\
\end{cases}
\end{equation}
$\bullet$ \var{NTERUP} $=$ 1 : $\var{SMBR}^n=(1-\theta_S)\,\var{PROPCE}^n+\var{TRAV}^n$
\begin{equation}\label{Base_Predvv_tab_ext0}
\begin{array}{|l|c|}
\hline
\var{ROVSDT}^{n}
& \displaystyle
\frac{\rho}{\Delta t} -\theta \,\dive (\rho\,\underline {u}) +\theta \,\, \Gamma^n + \theta \,\, \rho\,\tens{K}_{\,d}^n-\theta \,T_s^{\,imp} \\
\hline
\var{PROPCE}^{n}
& \displaystyle
\underline{T}_{s}^{\,exp,\,n}-\,\rho^{n}\,\tens{K}_{\,e}^{n}\ \underline{u}^{n} + \,\Gamma^{n}\,\underline{u}_{\,i}^{n}\\
& \displaystyle
-\underline{turb}^{n}+ \dive (\mu_{\,tot}^{n}\,^t\ggrad \underline {u}^{n}\,)+ \frac {2} {3}\,\grad (\mu_{\,tot}^{n}\,\dive \frac{(\rho \underline {u})}{\rho^{n}}\,)\\
\hline
\var{TRAV}^{n} & \displaystyle
- \grad p^{n-1+\theta} + (\rho -\rho_0) \underline {g} \\
& \displaystyle
-\theta_S\,\var{PROPCE}^{n-1} -\rho\,\tens{K}_{\,d}^n\ \underline{u}^{n} \\
& \displaystyle
+ T_s^{\,imp}\,\,\underline {u}^{n} + \dive (\rho\,\underline {u})\,\underline{u}^{n} - \Gamma^n\,\,\underline{u}^{n}\\
\hline
\end{array}
\end{equation}
\\\\
$\bullet$ \var{NTERUP} $>$ 1 (sous-it\'{e}ration $k$) : $\var{SMBR}^n=(1-\theta_S)\,\var{PROPCE}^n+\var{TRAVA}^n+\var{TRAV}^n$
\begin{equation}\label{Base_Predvv_tab_ext1}
\begin{array}{|l|c|}
\hline
\var{ROVSDT}^{n}
& \displaystyle
\frac{\rho}{\Delta t} -\theta \,\dive (\rho\,\underline {u}) +\theta \,\, \Gamma^n + \theta \,\, \rho\,\tens{K}_{\,d}^n-\theta \,T_s^{\,imp} \\
\hline
\var{PROPCE}^{n}
& \displaystyle
\underline{T}_{s}^{\,exp,\,n}-\,\rho^{n}\,\tens{K}_{\,e}^{n}\ \underline{u}^{n} + \,\Gamma^{n}\,\underline{u}_{\,i}^{n}\\
& \displaystyle
-\underline{turb}^{n}+ \dive (\mu_{\,tot}^{n}\,^t\ggrad \underline {u}^{n}\,)+ \frac {2} {3}\,\grad (\mu_{\,tot}^{n}\,\dive \frac{(\rho \underline {u})}{\rho^{n}}\,)\\
\hline
\var{TRAVA}^{n} &
\displaystyle
-\theta_S\,\var{PROPCE}^{n-1} -\rho\,\tens{K}_{\,d}^n\ \underline{u}^{n} + T_s^{\,imp}\,\,\underline {u}^{n} + \dive (\rho\,\underline {u})\,\underline{u}^{n} - \Gamma^n\,\,\underline{u}^{n}\\
\hline
\var{TRAV}^{n}
& \displaystyle
- \grad (p^{n+\theta})^{(k-1)} + (\rho -\rho_0) \underline {g} \\
\hline
\end{array}
\end{equation}

\minititre{Sans extrapolation des termes sources}

\begin{equation}\notag
\underline{turb}^{n}=
\begin{cases}
\displaystyle\frac {2}{3}\,\rho\,\grad (\,k^{n}) &
\text{pour les mod\`{e}les \`{a} viscosit\'{e} turbulente}, \\
\dive(\rho\,\tens{R}^n) & \text{pour les mod\`{e}les au second ordre},\\
0 & \text{en laminaire ou en LES.}\\
\end{cases}
\end{equation}
$\bullet$ \var{NTERUP} $=$ 1 : $\var{SMBR}^n=\var{TRAV}^n$
\\\\
\begin{equation}\label{Base_Predvv_tab_exp0}
\begin{array}{|l|c|}
\hline
\var{ROVSDT}^{n} &
\displaystyle \frac{\rho}{\Delta t} -\theta \,\dive (\rho\,\underline {u}) +\, \Gamma^n + \, \rho\,\tens{K}_{\,d}^n+Max(-\,T_s^{\,imp},0)\\
\hline
\var{TRAV}^{n}
& \displaystyle
- \grad p^{n-1+\theta} + (\rho -\rho_0) \underline {g} \\
& \displaystyle
+ \underline{T}_{s}^{\,exp}-\,\rho\,\tens{K}_{\,e}^{n}\ \underline{u}^{n} + \,\Gamma^{n}\,\underline{u}_{\,i}^{n}\\
& \displaystyle
-\underline{turb}^{n}+ \dive (\mu_{\,tot}\,^t\ggrad \underline {u}^{n}\,)+ \frac {2} {3}\,\grad (\mu_{\,tot}\,\dive \frac{(\rho \underline {u})}{\rho}\,)\\
& \displaystyle
-\rho\,\tens{K}_{\,d}^n\ \underline{u}^{n}+ T_s^{\,imp}\,\,\underline {u}^{n} + \dive (\rho\,\underline {u})\,\underline{u}^{n} - \,\Gamma^{n}\,\underline{u}^{n}\\
\hline
\end{array}
\end{equation}
\\\\
$\bullet$ \var{NTERUP} $>$ 1 (sous-it\'{e}ration $k$) : $\var{SMBR}^n=\var{TRAVA}^n+\var{TRAV}^n$
\begin{equation}\label{Base_Predvv_tab_exp1}
\begin{array}{|l|c|}
\hline
\var{ROVSDT}^{n} &
\displaystyle \frac{\rho}{\Delta t} -\theta \,\dive (\rho\,\underline {u}) +\, \Gamma^n + \, \rho\,\tens{K}_{\,d}^n+Max(-\,T_s^{\,imp},0)\\
\hline
\var{TRAVA}^{n} &
\displaystyle
\underline{T}_{s}^{\,exp}-\,\rho\,\tens{K}_{\,e}^{n}\ \underline{u}^{n} + \,\Gamma^{n}\,\underline{u}_{\,i}^{n}\\
& \displaystyle
-\underline{turb}^{n}+ \dive (\mu_{\,tot}\,^t\ggrad \underline {u}^{n}\,)+ \frac {2} {3}\,\grad (\mu_{\,tot}\,\dive \frac{(\rho \underline {u})}{\rho}\,)\\
& \displaystyle
-\rho\,\tens{K}_{\,d}^n\ \underline{u}^{n}+ T_s^{\,imp}\,\,\underline {u}^{n} + \dive (\rho\,\underline {u})\,\underline{u}^{n} - \Gamma^n\,\,\underline{u}^{n}\\
\hline
\var{TRAV}^{n} &
\displaystyle
- \grad (p^{n+\theta})^{(k-1)} + (\rho -\rho_0) \underline {g} \\
\hline
\end{array}
\end{equation}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{Points \`a traiter}\label{Base_Predvv_section4}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\etape{Prise en compte du terme $\grad(\rho k)$ pour les mod\`{e}les \`{a} viscosit\'{e} turbulente}
Pour les mod\`{e}les \`{a} viscosit\'{e} turbulente, on calcule $\rho\ \grad k$ au lieu de $\grad(\rho k)$. Cette
approximation, historique, provient du fait que les conditions aux limites de
$\rho k$ ne sont pas directement accessibles, contrairement \`a celles de
$k$.\\

\etape{Prise en compte de la diagonale de $\tens{K}_{\,pdc}$}
Actuellement, dans le sous-programme utilisateur \fort{uskpdc}, une mise en
garde explicite est \'ecrite, mais en commentaire.
% \footnote{Son contenu est : Veillez
%\`a ce que les coefficients diagonaux  (du tenseur de pertes de charge consid\'er\'e) soient positifs. Vous risquez un PLANTAGE
%si ce n'est pas le cas. AUCUN contr\^ole ult\'erieur ne sera effectu\'e.}.
 La partie diagonale $\tens{K}_{\,d}$ du tenseur de pertes de charge
$\tens{K}_{\,pdc}$ peut donc intervenir syst\'ematiquement dans le calcul du
coefficient $f_s^{\,imp}$, que sa contribution $K_{\,d}$ soit positive ou non, si
l'utilisateur n'y prend garde. Un test de positivit\'e  sur les \'el\'ements de
$\tens{K}_{\,d}$ assurant une prise en compte correcte (contribution renfor\c
cant r\'eellement la diagonale de la matrice globale) devrait \^etre implant\'e.

\etape{\'Ecriture de $\tens{EM}$}
Dans la r\'esolution proc\'edant par incr\'ements, il n'est pas indispensable
\`a convergence
que la viscosit\'e utilis\'ee pour l'\'ecriture de l'op\'erateur $\mathcal{E}$  soit la m\^eme que celle prise en
compte dans $\tens{EM}$, matrice du syst\`eme en incr\'ements. Ainsi, en $R_{ij}-\varepsilon$, la
viscosit\'e totale utilis\'ee dans $\tens{EM}$ contient la viscosit\'e mol\'eculaire mais aussi la
viscosit\'e turbulente si l'on choisit l'option \var{IRIJNU = 1 }, alors que
dans $\mathcal{E}$ intervient seule la viscosit\'e mol\'eculaire. Cet ajout de
la viscosit\'e turbulente qui n'a pas de raison d'appara\^\i tre en
$R_{ij}-\varepsilon$, a \'et\'e h\'erit\'e des pratiques mises en \oe uvre dans
ESTET et N3S-EF pour renforcer la stabilit\'e (lissage \'eventuel de l'incr\'ement). Mais, ce
n'est peut \^etre pas le seul effet produit. En outre, cette pratique n'a pas aujourd'hui montr\'e son absolue
n\'ecessit\'e dans \CS. Par cons\'equent, une \'etude approfondie serait int\'eressante.


\etape{R\'esidu de normalisation de l'\'etape de pression}
On pourra v\'erifier le calcul du r\'esidu de normalisation et en
particulier l'utilisation des conditions aux limites de vitesse.

\etape{Calcul des pertes de charges}
Avec extrapolation des termes sources on a :
\begin{equation}\notag
(\tens{K}_{\,e}\underline{u})^{n+\theta_S} + \tens{K}_{\,d}^{n}\ \underline{u}^{n+\theta}
\end{equation}
Il serait aussi envisageable d'utiliser~:
\begin{equation}\notag
(\tens{K}_{\,e}\underline{u})^{n+\theta_S} + \tens{K}_{\,d}^{n+\theta_S}\ \underline{u}^{n+\theta}
\end{equation}
