OpenFOAM
4.1
The OpenFOAM Foundation
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
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 |
5
\\ / A nd | Copyright (C) 2013-2015 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 makeBaseTurbulenceModel(Alpha, Rho, baseModel, BaseModel, Transport) \
27
\
28
namespace Foam \
29
{ \
30
typedef TurbulenceModel \
31
< \
32
Alpha, \
33
Rho, \
34
baseModel, \
35
Transport \
36
> Transport##baseModel; \
37
\
38
defineTemplateRunTimeSelectionTable \
39
( \
40
Transport##baseModel, \
41
dictionary \
42
); \
43
\
44
typedef BaseModel<Transport> Transport##BaseModel; \
45
\
46
\
47
typedef laminar<Transport##BaseModel> Laminar##Transport##BaseModel; \
48
\
49
defineNamedTemplateTypeNameAndDebug(Laminar##Transport##BaseModel, 0); \
50
\
51
addToRunTimeSelectionTable \
52
( \
53
Transport##baseModel, \
54
Laminar##Transport##BaseModel, \
55
dictionary \
56
); \
57
\
58
\
59
typedef RASModel<Transport##BaseModel> RAS##Transport##BaseModel; \
60
\
61
defineNamedTemplateTypeNameAndDebug(RAS##Transport##BaseModel, 0); \
62
\
63
defineTemplateRunTimeSelectionTable \
64
(RAS##Transport##BaseModel, dictionary); \
65
\
66
addToRunTimeSelectionTable \
67
( \
68
Transport##baseModel, \
69
RAS##Transport##BaseModel, \
70
dictionary \
71
); \
72
\
73
\
74
typedef LESModel<Transport##BaseModel> LES##Transport##BaseModel; \
75
\
76
defineNamedTemplateTypeNameAndDebug(LES##Transport##BaseModel, 0); \
77
\
78
defineTemplateRunTimeSelectionTable \
79
(LES##Transport##BaseModel, dictionary); \
80
\
81
addToRunTimeSelectionTable \
82
( \
83
Transport##baseModel, \
84
LES##Transport##BaseModel, \
85
dictionary \
86
); \
87
}
88
89
90
#define makeTemplatedTurbulenceModel(BaseModel, SType, Type) \
91
defineNamedTemplateTypeNameAndDebug \
92
(Foam::SType##Models::Type<Foam::BaseModel>, 0); \
93
\
94
namespace Foam \
95
{ \
96
namespace SType##Models \
97
{ \
98
typedef Type<BaseModel> Type##SType##BaseModel; \
99
\
100
addToRunTimeSelectionTable \
101
( \
102
SType##BaseModel, \
103
Type##SType##BaseModel, \
104
dictionary \
105
); \
106
} \
107
}
108
109
110
#define makeTurbulenceModel(BaseModel, SType, Type) \
111
namespace Foam \
112
{ \
113
namespace SType##Models \
114
{ \
115
defineTypeNameAndDebug(Type, 0); \
116
\
117
addToRunTimeSelectionTable \
118
( \
119
SType##BaseModel, \
120
Type, \
121
dictionary \
122
); \
123
} \
124
}
125
126
127
// ************************************************************************* //
Generated by
1.8.11