programmer's documentation
cs_turbulence_model.h
Go to the documentation of this file.
1 #ifndef __CS_TURBULENCE_MODEL_H__
2 #define __CS_TURBULENCE_MODEL_H__
3 
4 /*============================================================================
5  * Base turbulence model data.
6  *============================================================================*/
7 
8 /*
9  This file is part of Code_Saturne, a general-purpose CFD tool.
10 
11  Copyright (C) 1998-2015 EDF S.A.
12 
13  This program is free software; you can redistribute it and/or modify it under
14  the terms of the GNU General Public License as published by the Free Software
15  Foundation; either version 2 of the License, or (at your option) any later
16  version.
17 
18  This program is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
20  FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
21  details.
22 
23  You should have received a copy of the GNU General Public License along with
24  this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
25  Street, Fifth Floor, Boston, MA 02110-1301, USA.
26 */
27 
28 /*----------------------------------------------------------------------------*/
29 
30 /*----------------------------------------------------------------------------
31  * Local headers
32  *----------------------------------------------------------------------------*/
33 
34 #include "cs_defs.h"
35 
36 /*----------------------------------------------------------------------------*/
37 
39 
40 /*=============================================================================
41  * Macro definitions
42  *============================================================================*/
43 
44 /*============================================================================
45  * Type definitions
46  *============================================================================*/
47 
48 /* turbulence model general options descriptor */
49 /*---------------------------------------------*/
50 
51 typedef struct {
52 
53  int iturb; /* turbulence model
54  - 0: no turbulence model (laminar flow)
55  - 10: mixing length model
56  - 20: standard k-epsilon model
57  - 21: k-epsilon model with Linear
58  Production (LP) correction
59  - 30: Rij-epsilon (LRR)
60  - 31: Rij-epsilon (SSG)
61  - 32: Rij-epsilon (EBRSM)
62  - 40: LES (constant Smagorinsky model)
63  - 41: LES ("classical" dynamic Smagorisky
64  model)
65  - 42: LES (WALE)
66  - 50: v2f phi-model
67  - 51: v2f BL-v2-k
68  - 60: k-omega SST
69  - 70: Spalart-Allmaras model */
70  int itytur; /* class of turbulence model (integer value
71  iturb/10) */
72  int nvarcl; /* number of variable plus number of turbulent
73  fluxes (used by the boundary conditions) */
74 
76 
77 
78 /* Reference values for turbulence structure and associated pointer */
79 /*------------------------------------------------------------------*/
80 
81 typedef struct {
82  double almax; /* characteristic macroscopic length of the
83  domain */
84  double uref; /* characteristic flow velocity */
86 
87 
88 /* rans turbulence model descriptor */
89 /*----------------------------------*/
90 
91 typedef struct {
92 
93  int irccor; /* activation of rotation/curvature correction for
94  an eddy viscosity turbulence models
95  - 0: false
96  - 1: true */
97  int itycor; /* type of rotation/curvature correction for an
98  eddy viscosity turbulence models
99  - 1: Cazalbou correction (default when irccor=1
100  and itytur=2 or 5)
101  - 2: Spalart-Shur correction (default when
102  irccor=1 and iturb=60 or 70) */
103  int idirsm; /* turbulent diffusion model for second moment
104  closure
105  - 0: scalar diffusivity (Shir model)
106  - 1: tensorial diffusivity (Daly and Harlow
107  model, default model) */
108  int iclkep; /* clipping of k and epsilon
109  - 0: absolute value clipping
110  - 1: coupled clipping based on physical
111  relationships */
112  int igrhok; /* take (2/3 rho grad k) in the momentum
113  equation
114  - 1: true
115  - 0: false (default) */
116  int igrake; /* buoyant term in k-epsilon
117  - 1: true (default if rho is variable)
118  - 0: false */
119  int igrari; /* buoyant term in Rij-epsilon
120  - 1: true (default if rho is variable)
121  - 0: false */
122  int ikecou; /* partially coupled version of
123  k-epsilon (only for iturb=20)
124  - 1: true (default)
125  - 0: false */
126  int reinit_turb; /* Advanced re-init for EBRSM and k-omega models
127  - 1: true (default)
128  - 0: false */
129  int irijco; /* coupled solving of Rij
130  - 1: true
131  - 0: false (default) */
132  int irijnu; /* pseudo eddy viscosity in the matrix of momentum
133  equation to partially implicit div( rho R )
134  - 1: true
135  - 0: false (default) */
136  int irijrb; /* accurate treatment of R at the boundary (see
137  \ref condli)
138  - 1: true
139  - 0: false (default) */
140  int irijec; /* wall echo term of R
141  - 1: true
142  - 0: false (default) */
143  int idifre; /* whole treatment of the diagonal part of the
144  diffusion tensor of R and epsilon
145  - 1: true (default)
146  - 0: simplified treatment */
147  int iclsyr; /* partial implicitation of symmetry BCs of R
148  - 1: true (default)
149  - 0: false */
150  int iclptr; /* partial implicitation of wall BCs of R
151  - 1: true
152  - 0: false (default) */
153  double xlomlg; /* mixing length */
154 
156 
157 /* les turbulence model descriptor */
158 /*---------------------------------*/
159 
160 typedef struct {
161 
162  int idries; /* Van Driest smoothing at the wall (only for
163  itytur=4)
164  - 1: true
165  - 0: false */
166  int ivrtex; /* vortex method (in LES)
167  - 1: true
168  - 0: false (default) */
169 
171 
172 /*============================================================================
173  * Static global variables
174  *============================================================================*/
175 
176 /* Pointer to main turbulence model descriptor structure */
177 
178 extern const cs_turb_model_t *cs_glob_turb_model;
179 
180 /* Pointer to reference values for turbulence descriptor structure */
181 
183 
184 /* Pointer to RANS turbulence model descriptor structure */
185 
187 
188 /* Pointer to LES turbulence model descriptor structure */
189 
191 
192 /* Constant for turbulence models */
193 
194 extern const double cs_turb_xkappa;
195 extern const double cs_turb_vdriest;
196 extern const double cs_turb_cstlog;
197 extern const double cs_turb_cstlog_rough;
198 extern double cs_turb_cstlog_alpha;
199 extern const double cs_turb_apow;
200 extern const double cs_turb_bpow;
201 extern double cs_turb_dpow;
202 extern const double cs_turb_cmu;
203 extern double cs_turb_cmu025;
204 extern const double cs_turb_ce1;
205 extern const double cs_turb_ce2;
206 extern const double cs_turb_ce4;
207 extern const double cs_turb_sigmak;
208 extern double cs_turb_sigmae;
209 extern const double cs_turb_crij1;
210 extern const double cs_turb_crij2;
211 extern const double cs_turb_crij3;
212 extern const double cs_turb_crijp1;
213 extern const double cs_turb_crijp2;
214 extern const double cs_turb_cssge2;
215 extern const double cs_turb_cssgs1;
216 extern const double cs_turb_cssgs2;
217 extern const double cs_turb_cssgr1;
218 extern const double cs_turb_cssgr2;
219 extern const double cs_turb_cssgr3;
220 extern const double cs_turb_cssgr4;
221 extern const double cs_turb_cssgr5;
222 extern const double cs_turb_cebms1;
223 extern const double cs_turb_cebms2;
224 extern const double cs_turb_cebmr1, cebmr2, cebmr3, cebmr4, cebmr5, cebmr6;
225 extern double cs_turb_csrij;
226 extern const double cs_turb_cebme2;
227 extern const double cs_turb_cebmmu;
228 extern const double cs_turb_xcl;
229 extern const double cs_turb_xa1;
230 extern const double cs_turb_xct;
231 extern const double cs_turb_xceta;
232 extern const double cs_turb_cpale1;
233 extern const double cs_turb_cpale2;
234 extern const double cs_turb_cpale3;
235 extern const double cs_turb_cpale4;
236 extern const double cs_turb_cpalse;
237 extern const double cs_turb_cpalmu;
238 extern const double cs_turb_cpalc1;
239 extern const double cs_turb_cpalc2;
240 extern const double cs_turb_cpalct;
241 extern const double cs_turb_cpalcl;
242 extern const double cs_turb_cpalet;
243 extern const double cs_turb_ckwsk1;
244 extern const double cs_turb_ckwsk2;
245 extern const double cs_turb_ckwsw1;
246 extern const double cs_turb_ckwsw2;
247 extern const double cs_turb_ckwbt1;
248 extern const double cs_turb_ckwbt2;
249 extern double cs_turb_ckwgm1;
250 extern double cs_turb_ckwgm2;
251 extern const double cs_turb_ckwa1;
252 extern const double cs_turb_ckwc1;
253 extern const double cs_turb_csab1;
254 extern const double cs_turb_csab2;
255 extern const double cs_turb_csasig;
256 extern const double cs_turb_csav1;
257 extern double cs_turb_csaw1;
258 extern const double cs_turb_csaw2;
259 extern const double cs_turb_csaw3;
260 extern const double cs_turb_cssr1;
261 extern const double cs_turb_cssr2;
262 extern const double cs_turb_cssr3;
263 extern const double cs_turb_ccaze2;
264 extern const double cs_turb_ccazsc;
265 extern const double cs_turb_ccaza;
266 extern const double cs_turb_ccazb;
267 extern const double cs_turb_ccazc;
268 extern const double cs_turb_ccazd;
269 extern const double cs_turb_xlesfl;
270 extern const double cs_turb_ales;
271 extern const double cs_turb_bles;
272 extern const double cs_turb_csmago;
273 extern const double cs_turb_xlesfd;
274 extern double cs_turb_smagmx;
275 extern const double cs_turb_cdries;
276 extern const double cs_turb_cv2fa1;
277 extern const double cs_turb_cv2fe2;
278 extern const double cs_turb_cv2fmu;
279 extern const double cs_turb_cv2fc1;
280 extern const double cs_turb_cv2fc2;
281 extern const double cs_turb_cv2fct;
282 extern const double cs_turb_cv2fcl;
283 extern const double cs_turb_cv2fet;
284 extern const double cs_turb_cwale;
285 extern const double cs_turb_xiafm;
286 extern const double cs_turb_etaafm;
287 extern const double cs_turb_c1trit;
288 extern const double cs_turb_c2trit;
289 extern const double cs_turb_c3trit;
290 extern const double cs_turb_c4trit;
291 extern const double cs_turb_cthafm;
292 extern const double cs_turb_cthdfm;
293 
294 /*=============================================================================
295  * Public function prototypes
296  *============================================================================*/
297 
298 /*----------------------------------------------------------------------------
299  * Provide acces to cs_glob_turb_model
300  *
301  * needed to initialize structure with GUI
302  *----------------------------------------------------------------------------*/
303 
306 
307 /*----------------------------------------------------------------------------
308  * Provide acces to cs_glob_turb_ref_values
309  *
310  * needed to initialize structure with GUI
311  *----------------------------------------------------------------------------*/
312 
315 
316 
317 /*----------------------------------------------------------------------------
318  * Provide acces to cs_glob_turb_rans_model
319  *
320  * needed to initialize structure with GUI
321  *----------------------------------------------------------------------------*/
322 
325 
326 /*----------------------------------------------------------------------------
327  * Provide acces to cs_glob_turb_les_model
328  *
329  * needed to initialize structure with GUI
330  *----------------------------------------------------------------------------*/
331 
334 
335 /*----------------------------------------------------------------------------*/
336 
338 
339 #endif /* __CS_TURBULENCE_MODEL_H__ */
const double cs_turb_csav1
Definition: cs_turbulence_model.c:640
const double cs_turb_cv2fmu
Definition: cs_turbulence_model.c:786
const double cs_turb_ckwsw1
Definition: cs_turbulence_model.c:565
const double cs_turb_cstlog
Definition: cs_turbulence_model.c:315
double cs_turb_csrij
Definition: cs_turbulence_model.c:496
int itytur
Definition: cs_turbulence_model.h:70
const double cs_turb_ckwsw2
Definition: cs_turbulence_model.c:571
const cs_turb_rans_model_t * cs_glob_turb_rans_model
const double cs_turb_cebmr1
Definition: cs_turbulence_model.c:485
const double cs_turb_cssgr4
Definition: cs_turbulence_model.c:471
const double cs_turb_cssgr2
Definition: cs_turbulence_model.c:459
double cs_turb_ckwgm2
Definition: cs_turbulence_model.c:606
const double cebmr5
Definition: cstphy.f90:395
const double cs_turb_cpalct
Definition: cs_turbulence_model.c:541
double xlomlg
Definition: cs_turbulence_model.h:153
const double cs_turb_c3trit
Definition: cs_turbulence_model.c:846
int irijec
Definition: cs_turbulence_model.h:140
const double cs_turb_ccazd
Definition: cs_turbulence_model.c:700
const double cs_turb_crijp2
Definition: cs_turbulence_model.c:429
const double cs_turb_cv2fe2
Definition: cs_turbulence_model.c:780
#define BEGIN_C_DECLS
Definition: cs_defs.h:429
cs_turb_les_model_t * cs_get_glob_turb_les_model(void)
Provide acces to cs_glob_turb_les_model.
Definition: cs_turbulence_model.c:1127
const double cs_turb_ccaze2
Definition: cs_turbulence_model.c:675
Turbulence model general options descriptor.
Definition: cs_turbulence_model.h:51
int idries
Definition: cs_turbulence_model.h:162
int irijrb
Definition: cs_turbulence_model.h:136
const double cs_turb_ales
Definition: cs_turbulence_model.c:715
double almax
Definition: cs_turbulence_model.h:82
const double cs_turb_cssr3
Definition: cs_turbulence_model.c:670
const double cebmr2
Definition: cstphy.f90:395
const double cs_turb_csmago
Definition: cs_turbulence_model.c:738
const double cs_turb_xceta
Definition: cs_turbulence_model.c:514
int igrari
Definition: cs_turbulence_model.h:119
int irccor
Definition: cs_turbulence_model.h:93
const double cs_turb_ce4
Definition: cs_turbulence_model.c:381
double cs_turb_sigmae
Definition: cs_turbulence_model.c:394
const double cs_turb_ckwsk2
Definition: cs_turbulence_model.c:559
const double cs_turb_crij1
Definition: cs_turbulence_model.c:400
int itycor
Definition: cs_turbulence_model.h:97
const double cs_turb_cssgr3
Definition: cs_turbulence_model.c:465
int igrake
Definition: cs_turbulence_model.h:116
const double cs_turb_xiafm
Definition: cs_turbulence_model.c:826
const cs_turb_les_model_t * cs_glob_turb_les_model
Definition: cs_turbulence_model.h:81
const double cs_turb_crijp1
Definition: cs_turbulence_model.c:421
const double cs_turb_sigmak
Definition: cs_turbulence_model.c:387
const double cs_turb_cpalc2
Definition: cs_turbulence_model.c:538
const double cs_turb_cpale2
Definition: cs_turbulence_model.c:520
int irijnu
Definition: cs_turbulence_model.h:132
const double cs_turb_apow
Definition: cs_turbulence_model.c:339
int reinit_turb
Definition: cs_turbulence_model.h:126
int iclptr
Definition: cs_turbulence_model.h:150
const double cs_turb_cpale3
Definition: cs_turbulence_model.c:523
const double cs_turb_xa1
Definition: cs_turbulence_model.c:508
const double cs_turb_cebmmu
Definition: cs_turbulence_model.c:502
const double cs_turb_ckwa1
Definition: cs_turbulence_model.c:613
double cs_turb_cmu025
Definition: cs_turbulence_model.c:356
const double cs_turb_cebms2
Definition: cs_turbulence_model.c:483
const double cs_turb_cv2fc1
Definition: cs_turbulence_model.c:792
int nvarcl
Definition: cs_turbulence_model.h:72
const double cs_turb_cv2fa1
Definition: cs_turbulence_model.c:774
const double cs_turb_xlesfl
Definition: cs_turbulence_model.c:706
const double cs_turb_cpalse
Definition: cs_turbulence_model.c:529
const double cebmr3
Definition: cstphy.f90:395
const double cs_turb_c1trit
Definition: cs_turbulence_model.c:836
const double cs_turb_bles
Definition: cs_turbulence_model.c:724
RANS turbulence model descriptor.
Definition: cs_turbulence_model.h:91
const cs_turb_ref_values_t * cs_glob_turb_ref_values
const double cs_turb_cmu
Definition: cs_turbulence_model.c:353
const double cs_turb_csaw3
Definition: cs_turbulence_model.c:655
const double cs_turb_cv2fct
Definition: cs_turbulence_model.c:804
const double cs_turb_cssgs1
Definition: cs_turbulence_model.c:441
const double cs_turb_cv2fet
Definition: cs_turbulence_model.c:816
const double cs_turb_cv2fc2
Definition: cs_turbulence_model.c:798
const double cs_turb_cstlog_rough
Definition: cs_turbulence_model.c:326
const double cs_turb_xkappa
Definition: cs_turbulence_model.c:295
double cs_turb_ckwgm1
Definition: cs_turbulence_model.c:595
const double cs_turb_csab2
Definition: cs_turbulence_model.c:630
const double cs_turb_csab1
Definition: cs_turbulence_model.c:625
const double cs_turb_ccazc
Definition: cs_turbulence_model.c:695
const double cs_turb_ccazsc
Definition: cs_turbulence_model.c:680
int ikecou
Definition: cs_turbulence_model.h:122
const double cebmr6
Definition: cstphy.f90:395
const double cs_turb_cssgr5
Definition: cs_turbulence_model.c:477
const double cs_turb_ccazb
Definition: cs_turbulence_model.c:690
double cs_turb_smagmx
Definition: cs_turbulence_model.c:759
const double cs_turb_crij2
Definition: cs_turbulence_model.c:406
const double cs_turb_ckwbt2
Definition: cs_turbulence_model.c:583
const double cs_turb_cpalcl
Definition: cs_turbulence_model.c:544
cs_turb_ref_values_t * cs_get_glob_turb_ref_values(void)
Provide acces to cs_glob_turb_ref_values.
Definition: cs_turbulence_model.c:1101
int idifre
Definition: cs_turbulence_model.h:143
int iturb
Definition: cs_turbulence_model.h:53
const double cs_turb_ckwsk1
Definition: cs_turbulence_model.c:553
const double cs_turb_cpalet
Definition: cs_turbulence_model.c:547
LES turbulence model descriptor.
Definition: cs_turbulence_model.h:160
const double cebmr4
Definition: cstphy.f90:395
const double cs_turb_vdriest
Definition: cs_turbulence_model.c:304
#define END_C_DECLS
Definition: cs_defs.h:430
const double cs_turb_cpale1
Definition: cs_turbulence_model.c:517
const double cs_turb_cthafm
Definition: cs_turbulence_model.c:856
cs_turb_model_t * cs_get_glob_turb_model(void)
Provide acces to cs_glob_turb_model.
Definition: cs_turbulence_model.c:1088
const double cs_turb_ce1
Definition: cs_turbulence_model.c:364
const double cs_turb_csasig
Definition: cs_turbulence_model.c:635
const double cs_turb_c4trit
Definition: cs_turbulence_model.c:851
const double cs_turb_cssgs2
Definition: cs_turbulence_model.c:447
const double cs_turb_cdries
Definition: cs_turbulence_model.c:768
int iclsyr
Definition: cs_turbulence_model.h:147
const double cs_turb_cebme2
Definition: cs_turbulence_model.c:499
const double cs_turb_cpalmu
Definition: cs_turbulence_model.c:532
const double cs_turb_crij3
Definition: cs_turbulence_model.c:412
int iclkep
Definition: cs_turbulence_model.h:108
const double cs_turb_cv2fcl
Definition: cs_turbulence_model.c:810
const double cs_turb_cwale
Definition: cs_turbulence_model.c:821
const double cs_turb_ckwbt1
Definition: cs_turbulence_model.c:577
const double cs_turb_xcl
Definition: cs_turbulence_model.c:505
const cs_turb_model_t * cs_glob_turb_model
const double cs_turb_c2trit
Definition: cs_turbulence_model.c:841
const double cs_turb_xlesfd
Definition: cs_turbulence_model.c:748
const double cs_turb_cssgr1
Definition: cs_turbulence_model.c:453
const double cs_turb_etaafm
Definition: cs_turbulence_model.c:831
int igrhok
Definition: cs_turbulence_model.h:112
const double cs_turb_ccaza
Definition: cs_turbulence_model.c:685
double cs_turb_csaw1
Definition: cs_turbulence_model.c:645
cs_turb_rans_model_t * cs_get_glob_turb_rans_model(void)
Provide acces to cs_glob_turb_rans_model.
Definition: cs_turbulence_model.c:1114
int idirsm
Definition: cs_turbulence_model.h:103
const double cs_turb_ckwc1
Definition: cs_turbulence_model.c:620
const double cs_turb_cssge2
Definition: cs_turbulence_model.c:435
double cs_turb_dpow
Definition: cs_turbulence_model.c:345
int irijco
Definition: cs_turbulence_model.h:129
const double cs_turb_cpalc1
Definition: cs_turbulence_model.c:535
const double cs_turb_csaw2
Definition: cs_turbulence_model.c:650
const double cs_turb_cssr1
Definition: cs_turbulence_model.c:660
int ivrtex
Definition: cs_turbulence_model.h:166
const double cs_turb_bpow
Definition: cs_turbulence_model.c:342
const double cs_turb_cebms1
Definition: cs_turbulence_model.c:480
const double cs_turb_xct
Definition: cs_turbulence_model.c:511
double cs_turb_cstlog_alpha
Definition: cs_turbulence_model.c:336
const double cs_turb_cthdfm
Definition: cs_turbulence_model.c:861
const double cs_turb_ce2
Definition: cs_turbulence_model.c:372
const double cs_turb_cssr2
Definition: cs_turbulence_model.c:665
const double cs_turb_cpale4
Definition: cs_turbulence_model.c:526
double uref
Definition: cs_turbulence_model.h:84