My Project
programmer's documentation
Loading...
Searching...
No Matches
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-2019 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/*----------------------------------------------------------------------------
49 * turbulence models
50 *----------------------------------------------------------------------------*/
51
52enum {
69};
70
71
72/* turbulence model general options descriptor */
73/*---------------------------------------------*/
74
75typedef struct {
76
77 int iturb; /* turbulence model
78 CS_TURB_NONE: no turbulence model (laminar flow)
79 CS_TURB_MIXING_LENGTH: mixing length model
80 CS_TURB_K_EPSILON: standard k-epsilon model
81 CS_TURB_K_EPSILON_LIN_PROD: k-epsilon model with
82 Linear Production (LP) correction
83 CS_TURB_K_EPSILON_LS: Launder-Sharma low Re
84 k-epsilon model
85 CS_TURB_K_EPSILON_QUAD : Baglietto et al. low Re
86 k epsilon model
87 CS_TURB_RIJ_EPSILON_LRR: Rij-epsilon (LRR)
88 CS_TURB_RIJ_EPSILON_SSG: Rij-epsilon (SSG)
89 CS_TURB_RIJ_EPSILON_EBRSM: Rij-epsilon (EBRSM)
90 CS_TURB_LES_SMAGO_CONST: LES
91 (constant Smagorinsky model)
92 CS_TURB_LES_SMAGO_DYN: LES ("classical" dynamic
93 Smagorisky model)
94 CS_TURB_LES_WALE: LES (WALE)
95 CS_TURB_V2F_PHI: v2f phi-model
96 CS_TURB_V2F_BL_V2K: v2f BL-v2-k
97 CS_TURB_K_OMEGA: k-omega SST
98 CS_TURB_SPALART_ALLMARAS: Spalart-Allmaras model */
99 int itytur; /* class of turbulence model (integer value
100 iturb/10) */
102
103
104/* Reference values for turbulence structure and associated pointer */
105/*------------------------------------------------------------------*/
106
107typedef struct {
108 double almax; /* characteristic macroscopic length of the
109 domain */
110 double uref; /* characteristic flow velocity */
112
113
114/* rans turbulence model descriptor */
115/*----------------------------------*/
116
117typedef struct {
118
119 int irccor; /* activation of rotation/curvature correction for
120 an eddy viscosity turbulence models
121 - 0: false
122 - 1: true */
123 int itycor; /* type of rotation/curvature correction for an
124 eddy viscosity turbulence models
125 - 1: Cazalbou correction (default when irccor=1
126 and itytur=2 or 5)
127 - 2: Spalart-Shur correction (default when
128 irccor=1 and iturb=60 or 70) */
129 int idirsm; /* turbulent diffusion model for second moment
130 closure
131 - 0: scalar diffusivity (Shir model)
132 - 1: tensorial diffusivity (Daly and Harlow
133 model, default model) */
134 int iclkep; /* clipping of k and epsilon
135 - 0: absolute value clipping
136 - 1: coupled clipping based on physical
137 relationships */
138 int igrhok; /* take (2/3 rho grad k) in the momentum
139 equation
140 - 1: true
141 - 0: false (default) */
142 int igrake; /* buoyant term in k-epsilon
143 - 1: true (default if rho is variable)
144 - 0: false */
145 int igrari; /* buoyant term in Rij-epsilon
146 - 1: true (default if rho is variable)
147 - 0: false */
148 int ikecou; /* partially coupled version of
149 k-epsilon (only for iturb=20)
150 - 1: true (default)
151 - 0: false */
152 int reinit_turb; /* Advanced re-init for EBRSM and k-omega models
153 - 1: true (default)
154 - 0: false */
155 int irijco; /* coupled solving of Rij
156 - 1: true
157 - 0: false (default) */
158 int iddes; /* delayed detached eddy simulation
159 - 1: true
160 - 0: false (default) */
161 int irijnu; /* pseudo eddy viscosity in the matrix of momentum
162 equation to partially implicit div( rho R )
163 - 1: true
164 - 0: false (default) */
165 int irijrb; /* accurate treatment of R at the boundary (see
166 \ref condli)
167 - 1: true
168 - 0: false (default) */
169 int irijec; /* wall echo term of R
170 - 1: true
171 - 0: false (default) */
172 int idifre; /* whole treatment of the diagonal part of the
173 diffusion tensor of R and epsilon
174 - 1: true (default)
175 - 0: simplified treatment */
176 int iclsyr; /* partial implicitation of symmetry BCs of R
177 - 1: true (default)
178 - 0: false */
179 int iclptr; /* partial implicitation of wall BCs of R
180 - 1: true
181 - 0: false (default) */
182 double xlomlg; /* mixing length */
183
185
186/* LES turbulence model descriptor */
187/*---------------------------------*/
188
189typedef struct {
190
191 int idries; /* Van Driest smoothing at the wall (only for
192 itytur=4)
193 - 1: true
194 - 0: false */
195 int ivrtex; /* vortex method (in LES)
196 - 1: true
197 - 0: false (default) */
198
200
201/*============================================================================
202 * Static global variables
203 *============================================================================*/
204
205/* Pointer to main turbulence model descriptor structure */
206
208
209/* Pointer to reference values for turbulence descriptor structure */
210
212
213/* Pointer to RANS turbulence model descriptor structure */
214
216
217/* Pointer to LES turbulence model descriptor structure */
218
220
221/* Constant for turbulence models */
222
223extern const double cs_turb_xkappa;
224extern const double cs_turb_vdriest;
225extern const double cs_turb_cstlog;
226extern const double cs_turb_cstlog_rough;
227extern double cs_turb_cstlog_alpha;
228extern const double cs_turb_apow;
229extern const double cs_turb_bpow;
230extern double cs_turb_dpow;
231extern double cs_turb_cmu;
232extern double cs_turb_cmu025;
233extern const double cs_turb_ce1;
234extern const double cs_turb_ce2;
235extern const double cs_turb_ce4;
236extern const double cs_turb_sigmak;
237extern double cs_turb_sigmae;
238extern double cs_turb_crij1;
239extern double cs_turb_crij2;
240extern double cs_turb_crij3;
241extern const double cs_turb_crijp1;
242extern const double cs_turb_crijp2;
243extern const double cs_turb_cssge2;
244extern const double cs_turb_cssgs1;
245extern const double cs_turb_cssgs2;
246extern const double cs_turb_cssgr1;
247extern const double cs_turb_cssgr2;
248extern const double cs_turb_cssgr3;
249extern const double cs_turb_cssgr4;
250extern const double cs_turb_cssgr5;
251extern const double cs_turb_cebms1;
252extern const double cs_turb_cebms2;
253extern const double cs_turb_cebmr1, cebmr2, cebmr3, cebmr4, cebmr5;
254extern double cs_turb_csrij;
255extern const double cs_turb_cebme2;
256extern const double cs_turb_cebmmu;
257extern const double cs_turb_xcl;
258extern const double cs_turb_xa1;
259extern const double cs_turb_xct;
260extern const double cs_turb_xceta;
261extern const double cs_turb_cpale1;
262extern const double cs_turb_cpale2;
263extern const double cs_turb_cpale3;
264extern const double cs_turb_cpale4;
265extern const double cs_turb_cpalse;
266extern const double cs_turb_cpalmu;
267extern const double cs_turb_cpalc1;
268extern const double cs_turb_cpalc2;
269extern const double cs_turb_cpalct;
270extern const double cs_turb_cpalcl;
271extern const double cs_turb_cpalet;
272extern const double cs_turb_ckwsk1;
273extern const double cs_turb_ckwsk2;
274extern const double cs_turb_ckwsw1;
275extern const double cs_turb_ckwsw2;
276extern const double cs_turb_ckwbt1;
277extern const double cs_turb_ckwbt2;
278extern double cs_turb_ckwgm1;
279extern double cs_turb_ckwgm2;
280extern const double cs_turb_ckwa1;
281extern const double cs_turb_ckwc1;
282extern const double cs_turb_csab1;
283extern const double cs_turb_csab2;
284extern const double cs_turb_csasig;
285extern const double cs_turb_csav1;
286extern double cs_turb_csaw1;
287extern const double cs_turb_csaw2;
288extern const double cs_turb_csaw3;
289extern const double cs_turb_cssr1;
290extern const double cs_turb_cssr2;
291extern const double cs_turb_cssr3;
292extern const double cs_turb_ccaze2;
293extern const double cs_turb_ccazsc;
294extern const double cs_turb_ccaza;
295extern const double cs_turb_ccazb;
296extern const double cs_turb_ccazc;
297extern const double cs_turb_ccazd;
298extern const double cs_turb_xlesfl;
299extern const double cs_turb_ales;
300extern const double cs_turb_bles;
301extern double cs_turb_csmago;
302extern const double cs_turb_xlesfd;
303extern double cs_turb_smagmx;
304extern double cs_turb_smagmn;
305extern const double cs_turb_cdries;
306extern const double cs_turb_cv2fa1;
307extern const double cs_turb_cv2fe2;
308extern const double cs_turb_cv2fmu;
309extern const double cs_turb_cv2fc1;
310extern const double cs_turb_cv2fc2;
311extern const double cs_turb_cv2fct;
312extern const double cs_turb_cv2fcl;
313extern const double cs_turb_cv2fet;
314extern double cs_turb_cwale;
315extern const double cs_turb_xiafm;
316extern const double cs_turb_etaafm;
317extern const double cs_turb_c1trit;
318extern const double cs_turb_c2trit;
319extern const double cs_turb_c3trit;
320extern const double cs_turb_c4trit;
321extern const double cs_turb_cthafm;
322extern const double cs_turb_cthdfm;
323
324/*=============================================================================
325 * Public function prototypes
326 *============================================================================*/
327
328/*----------------------------------------------------------------------------
329 * Provide acces to cs_glob_turb_model
330 *
331 * needed to initialize structure with GUI
332 *----------------------------------------------------------------------------*/
333
336
337/*----------------------------------------------------------------------------
338 * Compute turbulence model constants,
339 * some of which may depend on the model choice.
340 *----------------------------------------------------------------------------*/
341
342void
344
345/*----------------------------------------------------------------------------
346 * Provide acces to cs_glob_turb_ref_values
347 *
348 * needed to initialize structure with GUI
349 *----------------------------------------------------------------------------*/
350
353
354/*----------------------------------------------------------------------------
355 * Provide acces to cs_glob_turb_rans_model
356 *
357 * needed to initialize structure with GUI
358 *----------------------------------------------------------------------------*/
359
362
363/*----------------------------------------------------------------------------
364 * Provide acces to cs_glob_turb_les_model
365 *
366 * needed to initialize structure with GUI
367 *----------------------------------------------------------------------------*/
368
371
372/*----------------------------------------------------------------------------*
373 * Print the turbulence model parameters to setup.log.
374 *----------------------------------------------------------------------------*/
375
376void
378
379/*----------------------------------------------------------------------------*
380 * Print the turbulent constants to setup.log.
381 *----------------------------------------------------------------------------*/
382
383void
385
386/*----------------------------------------------------------------------------*/
387
389
390#endif /* __CS_TURBULENCE_MODEL_H__ */
#define BEGIN_C_DECLS
Definition cs_defs.h:467
#define END_C_DECLS
Definition cs_defs.h:468
const double cs_turb_cpalcl
Definition cs_turbulence_model.c:621
const double cs_turb_csab2
Definition cs_turbulence_model.c:707
const double cs_turb_csab1
Definition cs_turbulence_model.c:702
const double cs_turb_ckwc1
Definition cs_turbulence_model.c:697
void cs_turb_model_log_setup(void)
Print the turbulence model parameters to setup.log.
Definition cs_turbulence_model.c:1265
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:1225
const double cs_turb_bpow
Definition cs_turbulence_model.c:420
const double cs_turb_xceta
Definition cs_turbulence_model.c:591
const double cs_turb_cebme2
Definition cs_turbulence_model.c:576
const double cs_turb_cstlog_rough
Definition cs_turbulence_model.c:404
const double cs_turb_ckwbt2
Definition cs_turbulence_model.c:660
const double cs_turb_ckwbt1
Definition cs_turbulence_model.c:654
const double cs_turb_ce2
Definition cs_turbulence_model.c:450
const double cebmr5
Definition cs_turbulence_model.h:253
const double cs_turb_c3trit
Definition cs_turbulence_model.c:936
double cs_turb_cstlog_alpha
Definition cs_turbulence_model.c:414
const double cs_turb_cv2fet
Definition cs_turbulence_model.c:906
const double cs_turb_ccazc
Definition cs_turbulence_model.c:772
double cs_turb_smagmx
Definition cs_turbulence_model.c:839
const double cs_turb_cv2fc1
Definition cs_turbulence_model.c:882
double cs_turb_crij2
Definition cs_turbulence_model.c:484
const double cs_turb_cpale1
Definition cs_turbulence_model.c:594
const double cs_turb_cv2fcl
Definition cs_turbulence_model.c:900
const double cs_turb_ales
Definition cs_turbulence_model.c:796
const double cs_turb_ce1
Definition cs_turbulence_model.c:442
const double cs_turb_xa1
Definition cs_turbulence_model.c:585
const double cs_turb_crijp1
Definition cs_turbulence_model.c:499
const double cs_turb_vdriest
Definition cs_turbulence_model.c:382
const double cs_turb_cstlog
Definition cs_turbulence_model.c:393
const double cs_turb_cthafm
Definition cs_turbulence_model.c:946
const double cs_turb_cssr3
Definition cs_turbulence_model.c:747
double cs_turb_crij1
Definition cs_turbulence_model.c:478
cs_turb_model_t * cs_get_glob_turb_model(void)
Provide access to global turbulence model structure cs_glob_turb_model.
Definition cs_turbulence_model.c:1167
const double cs_turb_ce4
Definition cs_turbulence_model.c:459
const double cs_turb_cpalet
Definition cs_turbulence_model.c:624
@ CS_TURB_SPALART_ALLMARAS
Definition cs_turbulence_model.h:68
@ CS_TURB_MIXING_LENGTH
Definition cs_turbulence_model.h:54
@ CS_TURB_K_EPSILON_LIN_PROD
Definition cs_turbulence_model.h:56
@ CS_TURB_RIJ_EPSILON_LRR
Definition cs_turbulence_model.h:59
@ CS_TURB_NONE
Definition cs_turbulence_model.h:53
@ CS_TURB_RIJ_EPSILON_EBRSM
Definition cs_turbulence_model.h:61
@ CS_TURB_K_EPSILON
Definition cs_turbulence_model.h:55
@ CS_TURB_RIJ_EPSILON_SSG
Definition cs_turbulence_model.h:60
@ CS_TURB_LES_WALE
Definition cs_turbulence_model.h:64
@ CS_TURB_LES_SMAGO_CONST
Definition cs_turbulence_model.h:62
@ CS_TURB_K_EPSILON_QUAD
Definition cs_turbulence_model.h:58
@ CS_TURB_V2F_PHI
Definition cs_turbulence_model.h:65
@ CS_TURB_K_EPSILON_LS
Definition cs_turbulence_model.h:57
@ CS_TURB_V2F_BL_V2K
Definition cs_turbulence_model.h:66
@ CS_TURB_K_OMEGA
Definition cs_turbulence_model.h:67
@ CS_TURB_LES_SMAGO_DYN
Definition cs_turbulence_model.h:63
const double cs_turb_cpalct
Definition cs_turbulence_model.c:618
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:1239
const double cs_turb_cv2fe2
Definition cs_turbulence_model.c:870
const double cs_turb_csav1
Definition cs_turbulence_model.c:717
double cs_turb_csrij
Definition cs_turbulence_model.c:573
const double cs_turb_cv2fct
Definition cs_turbulence_model.c:894
const double cs_turb_c4trit
Definition cs_turbulence_model.c:941
const double cs_turb_cpalc1
Definition cs_turbulence_model.c:612
double cs_turb_ckwgm1
Definition cs_turbulence_model.c:672
double cs_turb_crij3
Definition cs_turbulence_model.c:490
const double cs_turb_ckwsw2
Definition cs_turbulence_model.c:648
const double cs_turb_cssr1
Definition cs_turbulence_model.c:737
const double cs_turb_ccaza
Definition cs_turbulence_model.c:762
double cs_turb_cmu025
Definition cs_turbulence_model.c:434
const double cs_turb_cebms1
Definition cs_turbulence_model.c:558
const double cs_turb_xlesfd
Definition cs_turbulence_model.c:829
double cs_turb_sigmae
Definition cs_turbulence_model.c:472
const double cs_turb_ccazsc
Definition cs_turbulence_model.c:757
const double cs_turb_cssgr3
Definition cs_turbulence_model.c:543
const double cs_turb_ckwsk1
Definition cs_turbulence_model.c:630
const double cs_turb_xlesfl
Definition cs_turbulence_model.c:787
const cs_turb_ref_values_t * cs_glob_turb_ref_values
double cs_turb_smagmn
Definition cs_turbulence_model.c:849
const double cebmr4
Definition cs_turbulence_model.h:253
const double cs_turb_xiafm
Definition cs_turbulence_model.c:916
void cs_turb_compute_constants(void)
Compute turbulence model constants, some of which may depend on the model choice.
Definition cs_turbulence_model.c:1180
const double cs_turb_xkappa
Definition cs_turbulence_model.c:373
const double cebmr3
Definition cs_turbulence_model.h:253
const double cs_turb_cpalmu
Definition cs_turbulence_model.c:609
const double cs_turb_cssgr4
Definition cs_turbulence_model.c:549
const double cs_turb_ccazd
Definition cs_turbulence_model.c:777
const double cs_turb_crijp2
Definition cs_turbulence_model.c:507
double cs_turb_dpow
Definition cs_turbulence_model.c:423
const double cs_turb_apow
Definition cs_turbulence_model.c:417
const cs_turb_model_t * cs_glob_turb_model
const double cs_turb_cpale4
Definition cs_turbulence_model.c:603
double cs_turb_ckwgm2
Definition cs_turbulence_model.c:683
const double cs_turb_csaw2
Definition cs_turbulence_model.c:727
double cs_turb_cmu
Definition cs_turbulence_model.c:431
const double cs_turb_ckwsk2
Definition cs_turbulence_model.c:636
const double cs_turb_cssgs2
Definition cs_turbulence_model.c:525
const double cs_turb_cdries
Definition cs_turbulence_model.c:858
const double cs_turb_cv2fc2
Definition cs_turbulence_model.c:888
const double cs_turb_cpale2
Definition cs_turbulence_model.c:597
double cs_turb_csaw1
Definition cs_turbulence_model.c:722
const double cs_turb_cv2fa1
Definition cs_turbulence_model.c:864
const double cs_turb_cssgs1
Definition cs_turbulence_model.c:519
const double cs_turb_cthdfm
Definition cs_turbulence_model.c:951
const double cs_turb_cpale3
Definition cs_turbulence_model.c:600
const double cs_turb_ccaze2
Definition cs_turbulence_model.c:752
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:1253
const double cs_turb_cpalse
Definition cs_turbulence_model.c:606
const double cebmr2
Definition cs_turbulence_model.h:253
const double cs_turb_cv2fmu
Definition cs_turbulence_model.c:876
const cs_turb_rans_model_t * cs_glob_turb_rans_model
const double cs_turb_cssr2
Definition cs_turbulence_model.c:742
const double cs_turb_c1trit
Definition cs_turbulence_model.c:926
const double cs_turb_cebmmu
Definition cs_turbulence_model.c:579
const double cs_turb_csaw3
Definition cs_turbulence_model.c:732
const double cs_turb_bles
Definition cs_turbulence_model.c:805
const double cs_turb_cssgr5
Definition cs_turbulence_model.c:555
const double cs_turb_csasig
Definition cs_turbulence_model.c:712
const double cs_turb_ckwa1
Definition cs_turbulence_model.c:690
double cs_turb_cwale
Definition cs_turbulence_model.c:911
const double cs_turb_xct
Definition cs_turbulence_model.c:588
const double cs_turb_sigmak
Definition cs_turbulence_model.c:465
double cs_turb_csmago
Definition cs_turbulence_model.c:819
const double cs_turb_xcl
Definition cs_turbulence_model.c:582
const double cs_turb_cpalc2
Definition cs_turbulence_model.c:615
const double cs_turb_cssgr1
Definition cs_turbulence_model.c:531
void cs_turb_constants_log_setup(void)
Print the turbulent constants to setup.log.
Definition cs_turbulence_model.c:1579
const double cs_turb_ckwsw1
Definition cs_turbulence_model.c:642
const double cs_turb_ccazb
Definition cs_turbulence_model.c:767
const double cs_turb_cebms2
Definition cs_turbulence_model.c:561
const double cs_turb_cssge2
Definition cs_turbulence_model.c:513
const double cs_turb_cssgr2
Definition cs_turbulence_model.c:537
const double cs_turb_etaafm
Definition cs_turbulence_model.c:921
const double cs_turb_c2trit
Definition cs_turbulence_model.c:931
const cs_turb_les_model_t * cs_glob_turb_les_model
const double cs_turb_cebmr1
Definition cs_turbulence_model.c:563
LES turbulence model descriptor.
Definition cs_turbulence_model.h:189
int idries
Definition cs_turbulence_model.h:191
int ivrtex
Definition cs_turbulence_model.h:195
Turbulence model general options descriptor.
Definition cs_turbulence_model.h:75
int iturb
Definition cs_turbulence_model.h:77
int itytur
Definition cs_turbulence_model.h:99
RANS turbulence model descriptor.
Definition cs_turbulence_model.h:117
int idirsm
Definition cs_turbulence_model.h:129
int iddes
Definition cs_turbulence_model.h:158
int igrhok
Definition cs_turbulence_model.h:138
int igrake
Definition cs_turbulence_model.h:142
double xlomlg
Definition cs_turbulence_model.h:182
int ikecou
Definition cs_turbulence_model.h:148
int irijrb
Definition cs_turbulence_model.h:165
int iclkep
Definition cs_turbulence_model.h:134
int irijco
Definition cs_turbulence_model.h:155
int irijnu
Definition cs_turbulence_model.h:161
int reinit_turb
Definition cs_turbulence_model.h:152
int itycor
Definition cs_turbulence_model.h:123
int irccor
Definition cs_turbulence_model.h:119
int igrari
Definition cs_turbulence_model.h:145
int irijec
Definition cs_turbulence_model.h:169
int iclsyr
Definition cs_turbulence_model.h:176
int iclptr
Definition cs_turbulence_model.h:179
int idifre
Definition cs_turbulence_model.h:172
Definition cs_turbulence_model.h:107
double uref
Definition cs_turbulence_model.h:110
double almax
Definition cs_turbulence_model.h:108