OpenFOAM: API Guide
v2006
The open source CFD toolbox
makeTurbulenceModel.H
Go to the documentation of this file.
1
/*---------------------------------------------------------------------------*\
2
========= |
3
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4
\\ / O peration |
5
\\ / A nd | www.openfoam.com
6
\\/ M anipulation |
7
-------------------------------------------------------------------------------
8
Copyright (C) 2013-2016 OpenFOAM Foundation
9
-------------------------------------------------------------------------------
10
License
11
This file is part of OpenFOAM.
12
13
OpenFOAM is free software: you can redistribute it and/or modify it
14
under the terms of the GNU General Public License as published by
15
the Free Software Foundation, either version 3 of the License, or
16
(at your option) any later version.
17
18
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21
for more details.
22
23
You should have received a copy of the GNU General Public License
24
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25
26
\*---------------------------------------------------------------------------*/
27
28
#define makeTurbulenceModelTypes(Alpha, Rho, baseModel, BaseModel, Transport) \
29
\
30
namespace Foam \
31
{ \
32
typedef BaseModel<Transport> Transport##BaseModel; \
33
typedef laminarModel<Transport##BaseModel> \
34
laminar##Transport##BaseModel; \
35
typedef RASModel<Transport##BaseModel> RAS##Transport##BaseModel; \
36
typedef LESModel<Transport##BaseModel> LES##Transport##BaseModel; \
37
}
38
39
40
#define makeBaseTurbulenceModel(Alpha, Rho, baseModel, BaseModel, Transport) \
41
\
42
namespace Foam \
43
{ \
44
typedef TurbulenceModel \
45
< \
46
Alpha, \
47
Rho, \
48
baseModel, \
49
Transport \
50
> Transport##baseModel; \
51
\
52
defineTemplateRunTimeSelectionTable \
53
( \
54
Transport##baseModel, \
55
dictionary \
56
); \
57
\
58
\
59
defineNamedTemplateTypeNameAndDebug(laminar##Transport##BaseModel, 0); \
60
\
61
defineTemplateRunTimeSelectionTable \
62
(laminar##Transport##BaseModel, dictionary); \
63
\
64
addToRunTimeSelectionTable \
65
( \
66
Transport##baseModel, \
67
laminar##Transport##BaseModel, \
68
dictionary \
69
); \
70
\
71
\
72
defineNamedTemplateTypeNameAndDebug(RAS##Transport##BaseModel, 0); \
73
\
74
defineTemplateRunTimeSelectionTable \
75
(RAS##Transport##BaseModel, dictionary); \
76
\
77
addToRunTimeSelectionTable \
78
( \
79
Transport##baseModel, \
80
RAS##Transport##BaseModel, \
81
dictionary \
82
); \
83
\
84
\
85
defineNamedTemplateTypeNameAndDebug(LES##Transport##BaseModel, 0); \
86
\
87
defineTemplateRunTimeSelectionTable \
88
(LES##Transport##BaseModel, dictionary); \
89
\
90
addToRunTimeSelectionTable \
91
( \
92
Transport##baseModel, \
93
LES##Transport##BaseModel, \
94
dictionary \
95
); \
96
}
97
98
99
#define makeTemplatedTurbulenceModel(BaseModel, SType, Type) \
100
defineNamedTemplateTypeNameAndDebug \
101
(Foam::SType##Models::Type<Foam::BaseModel>, 0); \
102
\
103
namespace Foam \
104
{ \
105
namespace SType##Models \
106
{ \
107
typedef Type<BaseModel> Type##SType##BaseModel; \
108
\
109
addToRunTimeSelectionTable \
110
( \
111
SType##BaseModel, \
112
Type##SType##BaseModel, \
113
dictionary \
114
); \
115
} \
116
}
117
118
119
#define makeTurbulenceModel(BaseModel, SType, Type) \
120
namespace Foam \
121
{ \
122
namespace SType##Models \
123
{ \
124
defineTypeNameAndDebug(Type, 0); \
125
\
126
addToRunTimeSelectionTable \
127
( \
128
SType##BaseModel, \
129
Type, \
130
dictionary \
131
); \
132
} \
133
}
134
135
136
// ************************************************************************* //
src
TurbulenceModels
turbulenceModels
makeTurbulenceModel.H
Generated by
1.8.17
OPENFOAM® is a registered
trademark
of OpenCFD Ltd.