OpenFOAM
11
The OpenFOAM Foundation
makeMulticomponentThermo.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) 2011-2022 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
#ifndef makeMulticomponentThermo_H
27
#define makeMulticomponentThermo_H
28
29
#include "
makeThermo.H
"
30
#include "
SpecieMixture.H
"
31
32
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
33
34
#define defineMulticomponentThermo( \
35
BaseMulticomponentThermo, CThermo, Mixture, ThermoPhys) \
36
\
37
typedef CThermo \
38
< \
39
BaseMulticomponentThermo::composite, \
40
SpecieMixture \
41
< \
42
Mixture \
43
< \
44
ThermoPhys \
45
> \
46
> \
47
> CThermo##Mixture##ThermoPhys; \
48
\
49
defineTemplateTypeNameAndDebugWithName \
50
( \
51
CThermo##Mixture##ThermoPhys, \
52
( \
53
word(CThermo##Mixture##ThermoPhys::typeName_()) + "<"
\
54
+ Mixture<ThermoPhys>::typeName() + ">" \
55
).c_str(), \
56
0 \
57
)
58
59
60
#define addMulticomponentThermo( \
61
BaseMulticomponentThermo, CThermo, Mixture, ThermoPhys) \
62
\
63
addThermo(BaseMulticomponentThermo, CThermo, Mixture, ThermoPhys)
64
65
66
#define makeMulticomponentThermo( \
67
BaseMulticomponentThermo, CThermo, Mixture, ThermoPhys) \
68
\
69
defineMulticomponentThermo \
70
(BaseMulticomponentThermo, CThermo, Mixture, ThermoPhys); \
71
\
72
addMulticomponentThermo \
73
(fluidMulticomponentThermo, CThermo, Mixture, ThermoPhys); \
74
\
75
addMulticomponentThermo \
76
(BaseMulticomponentThermo, CThermo, Mixture, ThermoPhys)
77
78
79
#define makeMulticomponentThermos( \
80
BaseThermo, BaseMulticomponentThermo, CThermo, Mixture, ThermoPhys) \
81
\
82
defineMulticomponentThermo \
83
(BaseMulticomponentThermo, CThermo, Mixture, ThermoPhys); \
84
\
85
addMulticomponentThermo(basicThermo, CThermo, Mixture, ThermoPhys); \
86
addMulticomponentThermo(fluidThermo, CThermo, Mixture, ThermoPhys); \
87
addMulticomponentThermo(BaseThermo, CThermo, Mixture, ThermoPhys); \
88
\
89
addMulticomponentThermo \
90
(fluidMulticomponentThermo, CThermo, Mixture, ThermoPhys); \
91
\
92
addMulticomponentThermo \
93
(BaseMulticomponentThermo, CThermo, Mixture, ThermoPhys)
94
95
96
#define makePsiuMulticomponentThermo(Mixture, ThermoPhys) \
97
\
98
defineMulticomponentThermo \
99
( \
100
psiuMulticomponentThermo, \
101
heheuPsiThermo, \
102
Mixture, \
103
ThermoPhys \
104
); \
105
\
106
addThermo(psiuMulticomponentThermo, heheuPsiThermo, Mixture, ThermoPhys)
107
108
109
#define makePsiuMulticomponentThermos(Mixture, ThermoPhys) \
110
\
111
defineMulticomponentThermo \
112
( \
113
psiuMulticomponentThermo, \
114
heheuPsiThermo, \
115
Mixture, \
116
ThermoPhys \
117
); \
118
\
119
addThermo(basicThermo, heheuPsiThermo, Mixture, ThermoPhys); \
120
addThermo(fluidThermo, heheuPsiThermo, Mixture, ThermoPhys); \
121
addThermo(psiThermo, heheuPsiThermo, Mixture, ThermoPhys); \
122
addThermo(psiuMulticomponentThermo, heheuPsiThermo, Mixture, ThermoPhys)
123
124
125
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
126
127
#endif
128
129
// ************************************************************************* //
SpecieMixture.H
makeThermo.H
Macros for creating basic fluid thermo packages.
src
thermophysicalModels
multicomponentThermo
makeMulticomponentThermo.H
Generated by
1.9.1