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 /* 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_vdriest;
178 extern const double cs_turb_cstlog;
179 extern const double cs_turb_apow;
180 extern const double cs_turb_bpow;
181 extern double cs_turb_dpow;
182 extern const double cs_turb_cmu;
183 extern double cs_turb_cmu025;
184 extern const double cs_turb_ce1;
185 extern const double cs_turb_ce2;
186 extern const double cs_turb_ce4;
187 extern const double cs_turb_sigmak;
188 extern double cs_turb_sigmae;
189 extern const double cs_turb_crij1;
190 extern const double cs_turb_crij2;
191 extern const double cs_turb_crij3;
192 extern const double cs_turb_crijp1;
193 extern const double cs_turb_crijp2;
194 extern const double cs_turb_cssge2;
195 extern const double cs_turb_cssgs1;
196 extern const double cs_turb_cssgs2;
197 extern const double cs_turb_cssgr1;
198 extern const double cs_turb_cssgr2;
199 extern const double cs_turb_cssgr3;
200 extern const double cs_turb_cssgr4;
201 extern const double cs_turb_cssgr5;
202 extern const double cs_turb_cebms1;
203 extern const double cs_turb_cebms2;
204 extern const double cs_turb_cebmr1, cebmr2, cebmr3, cebmr4, cebmr5, cebmr6;
205 extern double cs_turb_csrij;
206 extern const double cs_turb_cebme2;
207 extern const double cs_turb_cebmmu;
208 extern const double cs_turb_xcl;
209 extern const double cs_turb_xa1;
210 extern const double cs_turb_xct;
211 extern const double cs_turb_xceta;
212 extern const double cs_turb_cpale1;
213 extern const double cs_turb_cpale2;
214 extern const double cs_turb_cpale3;
215 extern const double cs_turb_cpale4;
216 extern const double cs_turb_cpalse;
217 extern const double cs_turb_cpalmu;
218 extern const double cs_turb_cpalc1;
219 extern const double cs_turb_cpalc2;
220 extern const double cs_turb_cpalct;
221 extern const double cs_turb_cpalcl;
222 extern const double cs_turb_cpalet;
223 extern const double cs_turb_ckwsk1;
224 extern const double cs_turb_ckwsk2;
225 extern const double cs_turb_ckwsw1;
226 extern const double cs_turb_ckwsw2;
227 extern const double cs_turb_ckwbt1;
228 extern const double cs_turb_ckwbt2;
229 extern double cs_turb_ckwgm1;
230 extern double cs_turb_ckwgm2;
231 extern const double cs_turb_ckwa1;
232 extern const double cs_turb_ckwc1;
233 extern const double cs_turb_csab1;
234 extern const double cs_turb_csab2;
235 extern const double cs_turb_csasig;
236 extern const double cs_turb_csav1;
237 extern double cs_turb_csaw1;
238 extern const double cs_turb_csaw2;
239 extern const double cs_turb_csaw3;
240 extern const double cs_turb_cssr1;
241 extern const double cs_turb_cssr2;
242 extern const double cs_turb_cssr3;
243 extern const double cs_turb_ccaze2;
244 extern const double cs_turb_ccazsc;
245 extern const double cs_turb_ccaza;
246 extern const double cs_turb_ccazb;
247 extern const double cs_turb_ccazc;
248 extern const double cs_turb_ccazd;
249 extern const double cs_turb_xlesfl;
250 extern const double cs_turb_ales;
251 extern const double cs_turb_bles;
252 extern const double cs_turb_csmago;
253 extern const double cs_turb_xlesfd;
254 extern double cs_turb_smagmx;
255 extern const double cs_turb_cdries;
256 extern const double cs_turb_cv2fa1;
257 extern const double cs_turb_cv2fe2;
258 extern const double cs_turb_cv2fmu;
259 extern const double cs_turb_cv2fc1;
260 extern const double cs_turb_cv2fc2;
261 extern const double cs_turb_cv2fct;
262 extern const double cs_turb_cv2fcl;
263 extern const double cs_turb_cv2fet;
264 extern const double cs_turb_cwale;
265 extern const double cs_turb_xiafm;
266 extern const double cs_turb_etaafm;
267 extern const double cs_turb_c1trit;
268 extern const double cs_turb_c2trit;
269 extern const double cs_turb_c3trit;
270 extern const double cs_turb_c4trit;
271 extern const double cs_turb_cthafm;
272 extern const double cs_turb_cthdfm;
273 
274 /*=============================================================================
275  * Public function prototypes
276  *============================================================================*/
277 
278 /*----------------------------------------------------------------------------*/
279 
281 
282 #endif /* __CS_TURBULENCE_MODEL_H__ */
const double cs_turb_csav1
Definition: cs_turbulence_model.c:596
const double cs_turb_cv2fmu
Definition: cs_turbulence_model.c:742
const double cs_turb_ckwsw1
Definition: cs_turbulence_model.c:521
const double cs_turb_cstlog
Definition: cs_turbulence_model.c:292
double cs_turb_csrij
Definition: cs_turbulence_model.c:452
int itytur
Definition: cs_turbulence_model.h:70
const double cs_turb_ckwsw2
Definition: cs_turbulence_model.c:527
const cs_turb_rans_model_t * cs_glob_turb_rans_model
const double cs_turb_cebmr1
Definition: cs_turbulence_model.c:441
const double cs_turb_cssgr4
Definition: cs_turbulence_model.c:427
const double cs_turb_cssgr2
Definition: cs_turbulence_model.c:415
double cs_turb_ckwgm2
Definition: cs_turbulence_model.c:562
const double cebmr5
Definition: cstphy.f90:379
const double cs_turb_cpalct
Definition: cs_turbulence_model.c:497
double xlomlg
Definition: cs_turbulence_model.h:139
const double cs_turb_c3trit
Definition: cs_turbulence_model.c:802
int irijec
Definition: cs_turbulence_model.h:123
const double cs_turb_ccazd
Definition: cs_turbulence_model.c:656
const double cs_turb_crijp2
Definition: cs_turbulence_model.c:385
const double cs_turb_cv2fe2
Definition: cs_turbulence_model.c:736
#define BEGIN_C_DECLS
Definition: cs_defs.h:419
const double cs_turb_ccaze2
Definition: cs_turbulence_model.c:631
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:671
const double cs_turb_cssr3
Definition: cs_turbulence_model.c:626
const double cebmr2
Definition: cstphy.f90:379
const double cs_turb_csmago
Definition: cs_turbulence_model.c:694
const double cs_turb_xceta
Definition: cs_turbulence_model.c:470
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:337
double cs_turb_sigmae
Definition: cs_turbulence_model.c:350
const double cs_turb_ckwsk2
Definition: cs_turbulence_model.c:515
const double cs_turb_crij1
Definition: cs_turbulence_model.c:356
int itycor
Definition: cs_turbulence_model.h:86
const double cs_turb_cssgr3
Definition: cs_turbulence_model.c:421
int igrake
Definition: cs_turbulence_model.h:105
const double cs_turb_xiafm
Definition: cs_turbulence_model.c:782
const cs_turb_les_model_t * cs_glob_turb_les_model
const double cs_turb_crijp1
Definition: cs_turbulence_model.c:377
const double cs_turb_sigmak
Definition: cs_turbulence_model.c:343
const double cs_turb_cpalc2
Definition: cs_turbulence_model.c:494
const double cs_turb_cpale2
Definition: cs_turbulence_model.c:476
int irijnu
Definition: cs_turbulence_model.h:115
const double cs_turb_apow
Definition: cs_turbulence_model.c:295
int iclptr
Definition: cs_turbulence_model.h:133
const double cs_turb_cpale3
Definition: cs_turbulence_model.c:479
const double cs_turb_xa1
Definition: cs_turbulence_model.c:464
const double cs_turb_cebmmu
Definition: cs_turbulence_model.c:458
const double cs_turb_ckwa1
Definition: cs_turbulence_model.c:569
double cs_turb_cmu025
Definition: cs_turbulence_model.c:312
const double cs_turb_cebms2
Definition: cs_turbulence_model.c:439
const double cs_turb_cv2fc1
Definition: cs_turbulence_model.c:748
int nvarcl
Definition: cs_turbulence_model.h:72
const double cs_turb_cv2fa1
Definition: cs_turbulence_model.c:730
const double cs_turb_xlesfl
Definition: cs_turbulence_model.c:662
const double cs_turb_cpalse
Definition: cs_turbulence_model.c:485
double almax
Definition: cs_turbulence_model.h:136
const double cebmr3
Definition: cstphy.f90:379
const double cs_turb_c1trit
Definition: cs_turbulence_model.c:792
const double cs_turb_bles
Definition: cs_turbulence_model.c:680
RANS turbulence model descriptor.
Definition: cs_turbulence_model.h:80
const double cs_turb_cmu
Definition: cs_turbulence_model.c:309
const double cs_turb_csaw3
Definition: cs_turbulence_model.c:611
const double cs_turb_cv2fct
Definition: cs_turbulence_model.c:760
const double cs_turb_cssgs1
Definition: cs_turbulence_model.c:397
const double cs_turb_cv2fet
Definition: cs_turbulence_model.c:772
const double cs_turb_cv2fc2
Definition: cs_turbulence_model.c:754
const double cs_turb_xkappa
Definition: cs_turbulence_model.c:272
double cs_turb_ckwgm1
Definition: cs_turbulence_model.c:551
const double cs_turb_csab2
Definition: cs_turbulence_model.c:586
const double cs_turb_csab1
Definition: cs_turbulence_model.c:581
const double cs_turb_ccazc
Definition: cs_turbulence_model.c:651
const double cs_turb_ccazsc
Definition: cs_turbulence_model.c:636
int ikecou
Definition: cs_turbulence_model.h:111
double uref
Definition: cs_turbulence_model.h:138
const double cebmr6
Definition: cstphy.f90:379
const double cs_turb_cssgr5
Definition: cs_turbulence_model.c:433
const double cs_turb_ccazb
Definition: cs_turbulence_model.c:646
double cs_turb_smagmx
Definition: cs_turbulence_model.c:715
const double cs_turb_crij2
Definition: cs_turbulence_model.c:362
const double cs_turb_ckwbt2
Definition: cs_turbulence_model.c:539
const double cs_turb_cpalcl
Definition: cs_turbulence_model.c:500
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:509
const double cs_turb_cpalet
Definition: cs_turbulence_model.c:503
LES turbulence model descriptor.
Definition: cs_turbulence_model.h:146
const double cebmr4
Definition: cstphy.f90:379
const double cs_turb_vdriest
Definition: cs_turbulence_model.c:281
#define END_C_DECLS
Definition: cs_defs.h:420
const double cs_turb_cpale1
Definition: cs_turbulence_model.c:473
const double cs_turb_cthafm
Definition: cs_turbulence_model.c:812
const double cs_turb_ce1
Definition: cs_turbulence_model.c:320
const double cs_turb_csasig
Definition: cs_turbulence_model.c:591
const double cs_turb_c4trit
Definition: cs_turbulence_model.c:807
const double cs_turb_cssgs2
Definition: cs_turbulence_model.c:403
const double cs_turb_cdries
Definition: cs_turbulence_model.c:724
int iclsyr
Definition: cs_turbulence_model.h:130
const double cs_turb_cebme2
Definition: cs_turbulence_model.c:455
const double cs_turb_cpalmu
Definition: cs_turbulence_model.c:488
const double cs_turb_crij3
Definition: cs_turbulence_model.c:368
int iclkep
Definition: cs_turbulence_model.h:97
const double cs_turb_cv2fcl
Definition: cs_turbulence_model.c:766
const double cs_turb_cwale
Definition: cs_turbulence_model.c:777
const double cs_turb_ckwbt1
Definition: cs_turbulence_model.c:533
const double cs_turb_xcl
Definition: cs_turbulence_model.c:461
const cs_turb_model_t * cs_glob_turb_model
const double cs_turb_c2trit
Definition: cs_turbulence_model.c:797
const double cs_turb_xlesfd
Definition: cs_turbulence_model.c:704
const double cs_turb_cssgr1
Definition: cs_turbulence_model.c:409
const double cs_turb_etaafm
Definition: cs_turbulence_model.c:787
int igrhok
Definition: cs_turbulence_model.h:101
const double cs_turb_ccaza
Definition: cs_turbulence_model.c:641
double cs_turb_csaw1
Definition: cs_turbulence_model.c:601
int idirsm
Definition: cs_turbulence_model.h:92
const double cs_turb_ckwc1
Definition: cs_turbulence_model.c:576
const double cs_turb_cssge2
Definition: cs_turbulence_model.c:391
double cs_turb_dpow
Definition: cs_turbulence_model.c:301
const double cs_turb_cpalc1
Definition: cs_turbulence_model.c:491
const double cs_turb_csaw2
Definition: cs_turbulence_model.c:606
const double cs_turb_cssr1
Definition: cs_turbulence_model.c:616
int ivrtex
Definition: cs_turbulence_model.h:152
const double cs_turb_bpow
Definition: cs_turbulence_model.c:298
const double cs_turb_cebms1
Definition: cs_turbulence_model.c:436
const double cs_turb_xct
Definition: cs_turbulence_model.c:467
const double cs_turb_cthdfm
Definition: cs_turbulence_model.c:817
const double cs_turb_ce2
Definition: cs_turbulence_model.c:328
const double cs_turb_cssr2
Definition: cs_turbulence_model.c:621
const double cs_turb_cpale4
Definition: cs_turbulence_model.c:482