OpenFOAM
6
The OpenFOAM Foundation
Main Page
+
Namespaces
Namespace List
+
Namespace Members
+
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
z
+
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
Enumerations
Enumerator
+
Classes
Class List
Class Index
Class Hierarchy
+
Class Members
+
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
v
w
+
Enumerations
a
b
c
d
e
f
g
i
k
l
m
o
p
r
s
t
v
w
+
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Related Functions
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
+
Files
File List
+
File Members
+
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
+
Typedefs
b
c
d
f
g
k
l
m
p
r
s
t
v
w
+
Macros
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
src
TurbulenceModels
turbulenceModels
makeTurbulenceModel.H
Go to the documentation of this file.
1
/*---------------------------------------------------------------------------*\
2
========= |
3
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4
\\ / O peration | Website: https://openfoam.org
5
\\ / A nd | Copyright (C) 2013-2018 OpenFOAM Foundation
6
\\/ M anipulation |
7
-------------------------------------------------------------------------------
8
License
9
This file is part of OpenFOAM.
10
11
OpenFOAM is free software: you can redistribute it and/or modify it
12
under the terms of the GNU General Public License as published by
13
the Free Software Foundation, either version 3 of the License, or
14
(at your option) any later version.
15
16
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19
for more details.
20
21
You should have received a copy of the GNU General Public License
22
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23
24
\*---------------------------------------------------------------------------*/
25
26
#define makeTurbulenceModelTypes(Alpha, Rho, baseModel, BaseModel, Transport) \
27
\
28
namespace Foam \
29
{ \
30
typedef BaseModel<Transport> Transport##BaseModel; \
31
typedef laminarModel<Transport##BaseModel> \
32
laminar##Transport##BaseModel; \
33
typedef RASModel<Transport##BaseModel> RAS##Transport##BaseModel; \
34
typedef LESModel<Transport##BaseModel> LES##Transport##BaseModel; \
35
}
36
37
38
#define makeBaseTurbulenceModel(Alpha, Rho, baseModel, BaseModel, Transport) \
39
\
40
namespace Foam \
41
{ \
42
typedef TurbulenceModel \
43
< \
44
Alpha, \
45
Rho, \
46
baseModel, \
47
Transport \
48
> Transport##baseModel; \
49
\
50
defineTemplateRunTimeSelectionTable \
51
( \
52
Transport##baseModel, \
53
dictionary \
54
); \
55
\
56
\
57
defineNamedTemplateTypeNameAndDebug(laminar##Transport##BaseModel, 0); \
58
\
59
defineTemplateRunTimeSelectionTable \
60
(laminar##Transport##BaseModel, dictionary); \
61
\
62
addToRunTimeSelectionTable \
63
( \
64
Transport##baseModel, \
65
laminar##Transport##BaseModel, \
66
dictionary \
67
); \
68
\
69
\
70
defineNamedTemplateTypeNameAndDebug(RAS##Transport##BaseModel, 0); \
71
\
72
defineTemplateRunTimeSelectionTable \
73
(RAS##Transport##BaseModel, dictionary); \
74
\
75
addToRunTimeSelectionTable \
76
( \
77
Transport##baseModel, \
78
RAS##Transport##BaseModel, \
79
dictionary \
80
); \
81
\
82
\
83
defineNamedTemplateTypeNameAndDebug(LES##Transport##BaseModel, 0); \
84
\
85
defineTemplateRunTimeSelectionTable \
86
(LES##Transport##BaseModel, dictionary); \
87
\
88
addToRunTimeSelectionTable \
89
( \
90
Transport##baseModel, \
91
LES##Transport##BaseModel, \
92
dictionary \
93
); \
94
}
95
96
97
#define makeTemplatedTurbulenceModel(BaseModel, SType, Type) \
98
defineNamedTemplateTypeNameAndDebug \
99
(Foam::SType##Models::Type<Foam::BaseModel>, 0); \
100
\
101
namespace Foam \
102
{ \
103
namespace SType##Models \
104
{ \
105
typedef Type<BaseModel> Type##SType##BaseModel; \
106
\
107
addToRunTimeSelectionTable \
108
( \
109
SType##BaseModel, \
110
Type##SType##BaseModel, \
111
dictionary \
112
); \
113
} \
114
}
115
116
117
#define makeTurbulenceModel(BaseModel, SType, Type) \
118
namespace Foam \
119
{ \
120
namespace SType##Models \
121
{ \
122
defineTypeNameAndDebug(Type, 0); \
123
\
124
addToRunTimeSelectionTable \
125
( \
126
SType##BaseModel, \
127
Type, \
128
dictionary \
129
); \
130
} \
131
}
132
133
134
// ************************************************************************* //
Generated by
1.8.13