OpenFOAM
9
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) 2013-2021 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> Transport##BaseModel; \
34
typedef laminarModel<Transport##BaseModel> \
35
laminar##Transport##BaseModel; \
36
typedef RASModel<Transport##BaseModel> RAS##Transport##BaseModel; \
37
typedef LESModel<Transport##BaseModel> LES##Transport##BaseModel; \
38
}
39
40
41
#define makeBaseMomentumTransportModel( \
42
Alpha, Rho, baseModel, BaseModel, Transport) \
43
\
44
namespace Foam \
45
{ \
46
typedef MomentumTransportModel \
47
< \
48
Alpha, \
49
Rho, \
50
baseModel, \
51
Transport \
52
> Transport##baseModel; \
53
\
54
defineTemplateRunTimeSelectionTable \
55
( \
56
Transport##baseModel, \
57
dictionary \
58
); \
59
\
60
\
61
defineNamedTemplateTypeNameAndDebug(laminar##Transport##BaseModel, 0); \
62
\
63
defineTemplateRunTimeSelectionTable \
64
(laminar##Transport##BaseModel, dictionary); \
65
\
66
addToRunTimeSelectionTable \
67
( \
68
Transport##baseModel, \
69
laminar##Transport##BaseModel, \
70
dictionary \
71
); \
72
\
73
\
74
defineNamedTemplateTypeNameAndDebug(RAS##Transport##BaseModel, 0); \
75
\
76
defineTemplateRunTimeSelectionTable \
77
(RAS##Transport##BaseModel, dictionary); \
78
\
79
addToRunTimeSelectionTable \
80
( \
81
Transport##baseModel, \
82
RAS##Transport##BaseModel, \
83
dictionary \
84
); \
85
\
86
\
87
defineNamedTemplateTypeNameAndDebug(LES##Transport##BaseModel, 0); \
88
\
89
defineTemplateRunTimeSelectionTable \
90
(LES##Transport##BaseModel, dictionary); \
91
\
92
addToRunTimeSelectionTable \
93
( \
94
Transport##baseModel, \
95
LES##Transport##BaseModel, \
96
dictionary \
97
); \
98
}
99
100
101
#define makeTemplatedLaminarModel(BaseModel, SType, Type) \
102
typedef Foam::SType##Models::Type<Foam::BaseModel> \
103
Type##SType##BaseModel; \
104
defineNamedTemplateTypeNameAndDebug(Type##SType##BaseModel, 0); \
105
\
106
namespace Foam \
107
{ \
108
namespace SType##Models \
109
{ \
110
typedef Type<BaseModel> Type##SType##BaseModel; \
111
\
112
addToRunTimeSelectionTable \
113
( \
114
SType##BaseModel, \
115
Type##SType##BaseModel, \
116
dictionary \
117
); \
118
} \
119
}
120
121
122
#define makeTemplatedMomentumTransportModel(BaseModel, SType, Type) \
123
defineNamedTemplateTypeNameAndDebug \
124
(Foam::SType##Models::Type<Foam::BaseModel>, 0); \
125
\
126
namespace Foam \
127
{ \
128
namespace SType##Models \
129
{ \
130
typedef Type<BaseModel> Type##SType##BaseModel; \
131
\
132
addToRunTimeSelectionTable \
133
( \
134
SType##BaseModel, \
135
Type##SType##BaseModel, \
136
dictionary \
137
); \
138
} \
139
}
140
141
142
#define makeMomentumTransportModel(BaseModel, SType, Type) \
143
namespace Foam \
144
{ \
145
namespace SType##Models \
146
{ \
147
defineTypeNameAndDebug(Type, 0); \
148
\
149
addToRunTimeSelectionTable \
150
( \
151
SType##BaseModel, \
152
Type, \
153
dictionary \
154
); \
155
} \
156
}
157
158
159
// ************************************************************************* //
src
MomentumTransportModels
momentumTransportModels
makeMomentumTransportModel.H
Generated by
1.8.13