File: viscfa.tex

package info (click to toggle)
code-saturne 5.3.2%2Brepack-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 76,868 kB
  • sloc: ansic: 338,582; f90: 118,487; python: 65,227; makefile: 4,429; cpp: 3,826; xml: 3,078; sh: 1,205; lex: 170; yacc: 100
file content (135 lines) | stat: -rw-r--r-- 6,515 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
%-------------------------------------------------------------------------------

% This file is part of Code_Saturne, a general-purpose CFD tool.
%
% Copyright (C) 1998-2018 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{viscfa}
%

\hypertarget{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
multiplie 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 rsultant de l'intgration du terme de diffusion.
 Par analogie du terme calcul, ce sous-programme est aussi appel par le
sous-programme \fort{resopv} pour calculer le coefficient ``diffusif'' de la pression faisant intervenir le pas de temps.\\
La valeur de la viscosit aux faces est dtermine soit par une moyenne
arithmtique, soit par une moyenne harmonique de la viscosit au centre des
cellules, suivant le choix de l'utilisateur. Par dfaut, cette valeur est calcule par une moyenne arithmtique.

See the \doxygenanchor{cs__face__viscosity_8c.html\#viscfa}{programmers reference of the dedicated subroutine}
for further details.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{Discr\'etisation} \label{Base_Viscfa_paragraphe2}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
On rappelle dans la figure \ref{Base_Viscfa_fig_geom}, la dfinition des diffrents
points gomtriques utiliss 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'intgration 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 calcule :\\
\hspace*{1.cm} {\tiny$\bigstar$}  soit par moyenne arithmtique :
\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 dfinie
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{resopv}, 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 entre 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 rsultant est mise dans le vecteur \var{VISCF} pour une face interne et \var{VISCB} pour une face de bord.\\
La variable \var{IMVISF} dtermine quel type de moyenne est utilis pour
calculer la viscosit aux faces.\\
Si \var{IMVISF}$=0$, la moyenne est arithmtique, sinon la moyenne est harmonique.\\

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{Points \`a traiter}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
L'obtention des interpolations utilises dans le code \CS  du paragraphe \ref{Base_Viscfa_paragraphe2} est rsume dans le rapport de Davroux et
al\footnote{Davroux A., Archambeau F. et Hrard J.M., Tests numriques sur
quelques mthodes de rsolution 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 irrgulier et avec une
viscosit non constante, la convergence mesure est d'ordre 2 en espace avec
l'interpolation harmonique et d'ordre 1 en espace avec l'interpolation
linaire (pour des solution rgulires).\\
Par consquent, il serait prfrable d'utiliser l'interpolation harmonique pour
calculer la valeur de la viscosit aux faces. Des tests de stabilit seront ncessaires au pralable.
\\
De mme, on envisage d'extrapoler la viscosit sur les faces de bord plutt 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.