OpenFOAM
8
The OpenFOAM Foundation
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
makeMomentumTransportModel.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) 2015-2020 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
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
27
28
#define makeMomentumTransportModelTypes( \
29
Alpha, Rho, baseModel, BaseModel, Transport) \
30
\
31
namespace Foam \
32
{ \
33
typedef BaseModel<Transport> \
34
Transport##BaseModel; \
35
typedef laminarModel<Transport##BaseModel> \
36
laminar##Transport##BaseModel; \
37
typedef RASModel<Transport##BaseModel> \
38
RAS##Transport##BaseModel; \
39
typedef LESModel<Transport##BaseModel> \
40
LES##Transport##BaseModel; \
41
}
42
43
44
#define makeBaseMomentumTransportModel( \
45
Alpha, Rho, baseModel, BaseModel, Transport) \
46
\
47
namespace Foam \
48
{ \
49
typedef MomentumTransportModel \
50
< \
51
Alpha, \
52
Rho, \
53
baseModel, \
54
Transport \
55
> Transport##baseModel; \
56
\
57
defineTemplateRunTimeSelectionTable \
58
( \
59
Transport##baseModel, \
60
dictionary \
61
); \
62
\
63
typedef BaseModel<Transport> \
64
Transport##BaseModel; \
65
\
66
\
67
typedef laminarModel<Transport##BaseModel> \
68
laminar##Transport##BaseModel; \
69
\
70
defineNamedTemplateTypeNameAndDebug(laminar##Transport##BaseModel, 0); \
71
\
72
defineTemplateRunTimeSelectionTable \
73
(laminar##Transport##BaseModel, dictionary); \
74
\
75
addToRunTimeSelectionTable \
76
( \
77
Transport##baseModel, \
78
laminar##Transport##BaseModel, \
79
dictionary \
80
); \
81
\
82
\
83
typedef RASModel<Transport##BaseModel> \
84
RAS##Transport##BaseModel; \
85
\
86
defineNamedTemplateTypeNameAndDebug(RAS##Transport##BaseModel, 0); \
87
\
88
defineTemplateRunTimeSelectionTable \
89
(RAS##Transport##BaseModel, dictionary); \
90
\
91
addToRunTimeSelectionTable \
92
( \
93
Transport##baseModel, \
94
RAS##Transport##BaseModel, \
95
dictionary \
96
); \
97
\
98
\
99
typedef LESModel<Transport##BaseModel> \
100
LES##Transport##BaseModel; \
101
\
102
defineNamedTemplateTypeNameAndDebug(LES##Transport##BaseModel, 0); \
103
\
104
defineTemplateRunTimeSelectionTable \
105
(LES##Transport##BaseModel, dictionary); \
106
\
107
addToRunTimeSelectionTable \
108
( \
109
Transport##baseModel, \
110
LES##Transport##BaseModel, \
111
dictionary \
112
); \
113
}
114
115
116
#define makeTemplatedLaminarModel(BaseModel, SType, Type) \
117
typedef Foam::SType##Models::Type<Foam::BaseModel> \
118
Type##SType##BaseModel; \
119
defineNamedTemplateTypeNameAndDebug(Type##SType##BaseModel, 0); \
120
\
121
namespace Foam \
122
{ \
123
namespace SType##Models \
124
{ \
125
typedef Type<BaseModel> Type##SType##BaseModel; \
126
\
127
addToRunTimeSelectionTable \
128
( \
129
SType##BaseModel, \
130
Type##SType##BaseModel, \
131
dictionary \
132
); \
133
} \
134
}
135
136
137
#define makeTemplatedMomentumTransportModel(BaseModel, SType, Type) \
138
typedef Foam::SType##Models::Type<Foam::BaseModel> \
139
Type##SType##BaseModel; \
140
defineNamedTemplateTypeNameAndDebug(Type##SType##BaseModel, 0); \
141
\
142
namespace Foam \
143
{ \
144
namespace SType##Models \
145
{ \
146
typedef Type<BaseModel> Type##SType##BaseModel; \
147
\
148
addToRunTimeSelectionTable \
149
( \
150
SType##BaseModel, \
151
Type##SType##BaseModel, \
152
dictionary \
153
); \
154
} \
155
}
156
157
158
#define makeMomentumTransportModel(BaseModel, SType, Type) \
159
namespace Foam \
160
{ \
161
namespace SType##Models \
162
{ \
163
defineTypeNameAndDebug(Type, 0); \
164
\
165
addToRunTimeSelectionTable \
166
( \
167
SType##BaseModel, \
168
Type, \
169
dictionary \
170
); \
171
} \
172
}
173
174
175
// ************************************************************************* //
src
MomentumTransportModels
compressible
fluidThermoMomentumTransportModels
makeMomentumTransportModel.H
Generated by
1.8.13