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-2016 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 /* rans turbulence model descriptor */
78 /*----------------------------------*/
79 
80 typedef struct {
81 
82  int irccor; /* activation of rotation/curvature correction for
83  an eddy viscosity turbulence models
84  - 0: false
85  - 1: true */
86  int itycor; /* type of rotation/curvature correction for an
87  eddy viscosity turbulence models
88  - 1: Cazalbou correction (default when irccor=1
89  and itytur=2 or 5)
90  - 2: Spalart-Shur correction (default when
91  irccor=1 and iturb=60 or 70) */
92  int idirsm; /* turbulent diffusion model for second moment
93  closure
94  - 0: scalar diffusivity (Shir model)
95  - 1: tensorial diffusivity (Daly and Harlow
96  model, default model) */
97  int iclkep; /* clipping of k and epsilon
98  - 0: absolute value clipping
99  - 1: coupled clipping based on physical
100  relationships */
101  int igrhok; /* take (2/3 rho grad k) in the momentum
102  equation
103  - 1: true
104  - 0: false (default) */
105  int igrake; /* buoyant term in k-epsilon
106  - 1: true (default if rho is variable)
107  - 0: false */
108  int igrari; /* buoyant term in Rij-epsilon
109  - 1: true (default if rho is variable)
110  - 0: false */
111  int ikecou; /* partially coupled version of
112  k-epsilon (only for iturb=20)
113  - 1: true (default)
114  - 0: false */
115  int irijnu; /* pseudo eddy viscosity in the matrix of momentum
116  equation to partially implicit div( rho R )
117  - 1: true
118  - 0: false (default) */
119  int irijrb; /* accurate treatment of R at the boundary (see
120  \ref condli)
121  - 1: true
122  - 0: false (default) */
123  int irijec; /* wall echo term of R
124  - 1: true
125  - 0: false (default) */
126  int idifre; /* whole treatment of the diagonal part of the
127  diffusion tensor of R and epsilon
128  - 1: true (default)
129  - 0: simplified treatment */
130  int iclsyr; /* partial implicitation of symmetry BCs of R
131  - 1: true (default)
132  - 0: false */
133  int iclptr; /* partial implicitation of wall BCs of R
134  - 1: true
135  - 0: false (default) */
136  double almax; /* characteristic macroscopic length of the
137  domain */
138  double uref; /* characteristic flow velocity */
139  double xlomlg; /* mixing length */
140 
142 
143 /* les turbulence model descriptor */
144 /*---------------------------------*/
145 
146 typedef struct {
147 
148  int idries; /* Van Driest smoothing at the wall (only for
149  itytur=4)
150  - 1: true
151  - 0: false */
152  int ivrtex; /* vortex method (in LES)
153  - 1: true
154  - 0: false (default) */
155 
157 
158 /*============================================================================
159  * Static global variables
160  *============================================================================*/
161 
162 /* Pointer to main turbulence model descriptor structure */
163 
164 extern const cs_turb_model_t *cs_glob_turb_model;
165 
166 /* Pointer to RANS turbulence model descriptor structure */
167 
169 
170 /* Pointer to LES turbulence model descriptor structure */
171 
173 
174 /* Constant for turbulence models */
175 
176 extern const double cs_turb_xkappa;
177 extern const double cs_turb_cstlog;
178 extern const double cs_turb_apow;
179 extern const double cs_turb_bpow;
180 extern double cs_turb_dpow;
181 extern const double cs_turb_cmu;
182 extern double cs_turb_cmu025;
183 extern const double cs_turb_ce1;
184 extern const double cs_turb_ce2;
185 extern const double cs_turb_ce4;
186 extern const double cs_turb_sigmak;
187 extern double cs_turb_sigmae;
188 extern const double cs_turb_crij1;
189 extern const double cs_turb_crij2;
190 extern const double cs_turb_crij3;
191 extern const double cs_turb_crijp1;
192 extern const double cs_turb_crijp2;
193 extern const double cs_turb_cssge2;
194 extern const double cs_turb_cssgs1;
195 extern const double cs_turb_cssgs2;
196 extern const double cs_turb_cssgr1;
197 extern const double cs_turb_cssgr2;
198 extern const double cs_turb_cssgr3;
199 extern const double cs_turb_cssgr4;
200 extern const double cs_turb_cssgr5;
201 extern const double cs_turb_cebms1;
202 extern const double cs_turb_cebms2;
203 extern const double cs_turb_cebmr1, cebmr2, cebmr3, cebmr4, cebmr5, cebmr6;
204 extern double cs_turb_csrij;
205 extern const double cs_turb_cebme2;
206 extern const double cs_turb_cebmmu;
207 extern const double cs_turb_xcl;
208 extern const double cs_turb_xa1;
209 extern const double cs_turb_xct;
210 extern const double cs_turb_xceta;
211 extern const double cs_turb_cpale1;
212 extern const double cs_turb_cpale2;
213 extern const double cs_turb_cpale3;
214 extern const double cs_turb_cpale4;
215 extern const double cs_turb_cpalse;
216 extern const double cs_turb_cpalmu;
217 extern const double cs_turb_cpalc1;
218 extern const double cs_turb_cpalc2;
219 extern const double cs_turb_cpalct;
220 extern const double cs_turb_cpalcl;
221 extern const double cs_turb_cpalet;
222 extern const double cs_turb_ckwsk1;
223 extern const double cs_turb_ckwsk2;
224 extern const double cs_turb_ckwsw1;
225 extern const double cs_turb_ckwsw2;
226 extern const double cs_turb_ckwbt1;
227 extern const double cs_turb_ckwbt2;
228 extern double cs_turb_ckwgm1;
229 extern double cs_turb_ckwgm2;
230 extern const double cs_turb_ckwa1;
231 extern const double cs_turb_ckwc1;
232 extern const double cs_turb_csab1;
233 extern const double cs_turb_csab2;
234 extern const double cs_turb_csasig;
235 extern const double cs_turb_csav1;
236 extern double cs_turb_csaw1;
237 extern const double cs_turb_csaw2;
238 extern const double cs_turb_csaw3;
239 extern const double cs_turb_cssr1;
240 extern const double cs_turb_cssr2;
241 extern const double cs_turb_cssr3;
242 extern const double cs_turb_ccaze2;
243 extern const double cs_turb_ccazsc;
244 extern const double cs_turb_ccaza;
245 extern const double cs_turb_ccazb;
246 extern const double cs_turb_ccazc;
247 extern const double cs_turb_ccazd;
248 extern const double cs_turb_xlesfl;
249 extern const double cs_turb_ales;
250 extern const double cs_turb_bles;
251 extern const double cs_turb_csmago;
252 extern const double cs_turb_xlesfd;
253 extern double cs_turb_smagmx;
254 extern const double cs_turb_cdries;
255 extern const double cs_turb_cv2fa1;
256 extern const double cs_turb_cv2fe2;
257 extern const double cs_turb_cv2fmu;
258 extern const double cs_turb_cv2fc1;
259 extern const double cs_turb_cv2fc2;
260 extern const double cs_turb_cv2fct;
261 extern const double cs_turb_cv2fcl;
262 extern const double cs_turb_cv2fet;
263 extern const double cs_turb_cwale;
264 extern const double cs_turb_xiafm;
265 extern const double cs_turb_etaafm;
266 extern const double cs_turb_c1trit;
267 extern const double cs_turb_c2trit;
268 extern const double cs_turb_c3trit;
269 extern const double cs_turb_c4trit;
270 extern const double cs_turb_cthafm;
271 extern const double cs_turb_cthdfm;
272 
273 /*=============================================================================
274  * Public function prototypes
275  *============================================================================*/
276 
277 /*----------------------------------------------------------------------------*/
278 
280 
281 #endif /* __CS_TURBULENCE_MODEL_H__ */
const double cs_turb_csav1
Definition: cs_turbulence_model.c:587
const double cs_turb_cv2fmu
Definition: cs_turbulence_model.c:733
const double cs_turb_ckwsw1
Definition: cs_turbulence_model.c:512
const double cs_turb_cstlog
Definition: cs_turbulence_model.c:283
double cs_turb_csrij
Definition: cs_turbulence_model.c:443
int itytur
Definition: cs_turbulence_model.h:70
const double cs_turb_ckwsw2
Definition: cs_turbulence_model.c:518
const cs_turb_rans_model_t * cs_glob_turb_rans_model
const double cs_turb_cebmr1
Definition: cs_turbulence_model.c:432
const double cs_turb_cssgr4
Definition: cs_turbulence_model.c:418
const double cs_turb_cssgr2
Definition: cs_turbulence_model.c:406
double cs_turb_ckwgm2
Definition: cs_turbulence_model.c:553
const double cebmr5
Definition: cstphy.f90:352
const double cs_turb_cpalct
Definition: cs_turbulence_model.c:488
double xlomlg
Definition: cs_turbulence_model.h:139
const double cs_turb_c3trit
Definition: cs_turbulence_model.c:793
int irijec
Definition: cs_turbulence_model.h:123
const double cs_turb_ccazd
Definition: cs_turbulence_model.c:647
const double cs_turb_crijp2
Definition: cs_turbulence_model.c:376
const double cs_turb_cv2fe2
Definition: cs_turbulence_model.c:727
#define BEGIN_C_DECLS
Definition: cs_defs.h:419
const double cs_turb_ccaze2
Definition: cs_turbulence_model.c:622
Turbulence model general options descriptor.
Definition: cs_turbulence_model.h:51
int idries
Definition: cs_turbulence_model.h:148
int irijrb
Definition: cs_turbulence_model.h:119
const double cs_turb_ales
Definition: cs_turbulence_model.c:662
const double cs_turb_cssr3
Definition: cs_turbulence_model.c:617
const double cebmr2
Definition: cstphy.f90:352
const double cs_turb_csmago
Definition: cs_turbulence_model.c:685
const double cs_turb_xceta
Definition: cs_turbulence_model.c:461
int igrari
Definition: cs_turbulence_model.h:108
int irccor
Definition: cs_turbulence_model.h:82
const double cs_turb_ce4
Definition: cs_turbulence_model.c:328
double cs_turb_sigmae
Definition: cs_turbulence_model.c:341
const double cs_turb_ckwsk2
Definition: cs_turbulence_model.c:506
const double cs_turb_crij1
Definition: cs_turbulence_model.c:347
int itycor
Definition: cs_turbulence_model.h:86
const double cs_turb_cssgr3
Definition: cs_turbulence_model.c:412
int igrake
Definition: cs_turbulence_model.h:105
const double cs_turb_xiafm
Definition: cs_turbulence_model.c:773
const cs_turb_les_model_t * cs_glob_turb_les_model
const double cs_turb_crijp1
Definition: cs_turbulence_model.c:368
const double cs_turb_sigmak
Definition: cs_turbulence_model.c:334
const double cs_turb_cpalc2
Definition: cs_turbulence_model.c:485
const double cs_turb_cpale2
Definition: cs_turbulence_model.c:467
int irijnu
Definition: cs_turbulence_model.h:115
const double cs_turb_apow
Definition: cs_turbulence_model.c:286
int iclptr
Definition: cs_turbulence_model.h:133
const double cs_turb_cpale3
Definition: cs_turbulence_model.c:470
const double cs_turb_xa1
Definition: cs_turbulence_model.c:455
const double cs_turb_cebmmu
Definition: cs_turbulence_model.c:449
const double cs_turb_ckwa1
Definition: cs_turbulence_model.c:560
double cs_turb_cmu025
Definition: cs_turbulence_model.c:303
const double cs_turb_cebms2
Definition: cs_turbulence_model.c:430
const double cs_turb_cv2fc1
Definition: cs_turbulence_model.c:739
int nvarcl
Definition: cs_turbulence_model.h:72
const double cs_turb_cv2fa1
Definition: cs_turbulence_model.c:721
const double cs_turb_xlesfl
Definition: cs_turbulence_model.c:653
const double cs_turb_cpalse
Definition: cs_turbulence_model.c:476
double almax
Definition: cs_turbulence_model.h:136
const double cebmr3
Definition: cstphy.f90:352
const double cs_turb_c1trit
Definition: cs_turbulence_model.c:783
const double cs_turb_bles
Definition: cs_turbulence_model.c:671
RANS turbulence model descriptor.
Definition: cs_turbulence_model.h:80
const double cs_turb_cmu
Definition: cs_turbulence_model.c:300
const double cs_turb_csaw3
Definition: cs_turbulence_model.c:602
const double cs_turb_cv2fct
Definition: cs_turbulence_model.c:751
const double cs_turb_cssgs1
Definition: cs_turbulence_model.c:388
const double cs_turb_cv2fet
Definition: cs_turbulence_model.c:763
const double cs_turb_cv2fc2
Definition: cs_turbulence_model.c:745
const double cs_turb_xkappa
Definition: cs_turbulence_model.c:272
double cs_turb_ckwgm1
Definition: cs_turbulence_model.c:542
const double cs_turb_csab2
Definition: cs_turbulence_model.c:577
const double cs_turb_csab1
Definition: cs_turbulence_model.c:572
const double cs_turb_ccazc
Definition: cs_turbulence_model.c:642
const double cs_turb_ccazsc
Definition: cs_turbulence_model.c:627
int ikecou
Definition: cs_turbulence_model.h:111
double uref
Definition: cs_turbulence_model.h:138
const double cebmr6
Definition: cstphy.f90:352
const double cs_turb_cssgr5
Definition: cs_turbulence_model.c:424
const double cs_turb_ccazb
Definition: cs_turbulence_model.c:637
double cs_turb_smagmx
Definition: cs_turbulence_model.c:706
const double cs_turb_crij2
Definition: cs_turbulence_model.c:353
const double cs_turb_ckwbt2
Definition: cs_turbulence_model.c:530
const double cs_turb_cpalcl
Definition: cs_turbulence_model.c:491
int idifre
Definition: cs_turbulence_model.h:126
int iturb
Definition: cs_turbulence_model.h:53
const double cs_turb_ckwsk1
Definition: cs_turbulence_model.c:500
const double cs_turb_cpalet
Definition: cs_turbulence_model.c:494
LES turbulence model descriptor.
Definition: cs_turbulence_model.h:146
const double cebmr4
Definition: cstphy.f90:352
#define END_C_DECLS
Definition: cs_defs.h:420
const double cs_turb_cpale1
Definition: cs_turbulence_model.c:464
const double cs_turb_cthafm
Definition: cs_turbulence_model.c:803
const double cs_turb_ce1
Definition: cs_turbulence_model.c:311
const double cs_turb_csasig
Definition: cs_turbulence_model.c:582
const double cs_turb_c4trit
Definition: cs_turbulence_model.c:798
const double cs_turb_cssgs2
Definition: cs_turbulence_model.c:394
const double cs_turb_cdries
Definition: cs_turbulence_model.c:715
int iclsyr
Definition: cs_turbulence_model.h:130
const double cs_turb_cebme2
Definition: cs_turbulence_model.c:446
const double cs_turb_cpalmu
Definition: cs_turbulence_model.c:479
const double cs_turb_crij3
Definition: cs_turbulence_model.c:359
int iclkep
Definition: cs_turbulence_model.h:97
const double cs_turb_cv2fcl
Definition: cs_turbulence_model.c:757
const double cs_turb_cwale
Definition: cs_turbulence_model.c:768
const double cs_turb_ckwbt1
Definition: cs_turbulence_model.c:524
const double cs_turb_xcl
Definition: cs_turbulence_model.c:452
const cs_turb_model_t * cs_glob_turb_model
const double cs_turb_c2trit
Definition: cs_turbulence_model.c:788
const double cs_turb_xlesfd
Definition: cs_turbulence_model.c:695
const double cs_turb_cssgr1
Definition: cs_turbulence_model.c:400
const double cs_turb_etaafm
Definition: cs_turbulence_model.c:778
int igrhok
Definition: cs_turbulence_model.h:101
const double cs_turb_ccaza
Definition: cs_turbulence_model.c:632
double cs_turb_csaw1
Definition: cs_turbulence_model.c:592
int idirsm
Definition: cs_turbulence_model.h:92
const double cs_turb_ckwc1
Definition: cs_turbulence_model.c:567
const double cs_turb_cssge2
Definition: cs_turbulence_model.c:382
double cs_turb_dpow
Definition: cs_turbulence_model.c:292
const double cs_turb_cpalc1
Definition: cs_turbulence_model.c:482
const double cs_turb_csaw2
Definition: cs_turbulence_model.c:597
const double cs_turb_cssr1
Definition: cs_turbulence_model.c:607
int ivrtex
Definition: cs_turbulence_model.h:152
const double cs_turb_bpow
Definition: cs_turbulence_model.c:289
const double cs_turb_cebms1
Definition: cs_turbulence_model.c:427
const double cs_turb_xct
Definition: cs_turbulence_model.c:458
const double cs_turb_cthdfm
Definition: cs_turbulence_model.c:808
const double cs_turb_ce2
Definition: cs_turbulence_model.c:319
const double cs_turb_cssr2
Definition: cs_turbulence_model.c:612
const double cs_turb_cpale4
Definition: cs_turbulence_model.c:473