OpenFOAM
v2312
The open source CFD toolbox
makeChemistrySolverTypes.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) 2011-2017 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
#ifndef makeChemistrySolverTypes_H
29
#define makeChemistrySolverTypes_H
30
31
#include "
chemistrySolver.H
"
32
33
#include "
StandardChemistryModel.H
"
34
#include "
TDACChemistryModel.H
"
35
36
#include "
noChemistrySolver.H
"
37
#include "
EulerImplicit.H
"
38
#include "
ode.H
"
39
40
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
41
42
#define makeChemistrySolverType(SS, Comp, Thermo) \
43
\
44
typedef SS<StandardChemistryModel<Comp, Thermo>> SS##Comp##Thermo; \
45
\
46
defineTemplateTypeNameAndDebugWithName \
47
( \
48
SS##Comp##Thermo, \
49
(#SS"<" + word(StandardChemistryModel<Comp, Thermo>::typeName_()) + "<"\
50
+ word(Comp::typeName_()) + "," + Thermo::typeName() + ">>").c_str(), \
51
0 \
52
); \
53
\
54
BasicChemistryModel<Comp>:: \
55
add##thermo##ConstructorToTable<SS##Comp##Thermo> \
56
add##SS##Comp##Thermo##thermo##ConstructorTo##BasicChemistryModel##Comp\
57
##Table_; \
58
\
59
typedef SS<TDACChemistryModel<Comp, Thermo>> TDAC##SS##Comp##Thermo; \
60
\
61
defineTemplateTypeNameAndDebugWithName \
62
( \
63
TDAC##SS##Comp##Thermo, \
64
(#SS"<" + word(TDACChemistryModel<Comp, Thermo>::typeName_()) + "<" \
65
+ word(Comp::typeName_()) + "," + Thermo::typeName() + ">>").c_str(), \
66
0 \
67
); \
68
\
69
BasicChemistryModel<Comp>:: \
70
add##thermo##ConstructorToTable<TDAC##SS##Comp##Thermo> \
71
add##TDAC##SS##Comp##Thermo##thermo##ConstructorTo##BasicChemistryModel\
72
##Comp##Table_;
73
74
75
#define makeChemistrySolverTypes(Comp, Thermo) \
76
\
77
makeChemistrySolverType \
78
( \
79
noChemistrySolver, \
80
Comp, \
81
Thermo \
82
); \
83
\
84
makeChemistrySolverType \
85
( \
86
EulerImplicit, \
87
Comp, \
88
Thermo \
89
); \
90
\
91
makeChemistrySolverType \
92
( \
93
ode, \
94
Comp, \
95
Thermo \
96
); \
97
98
99
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
100
101
#endif
102
103
// ************************************************************************* //
TDACChemistryModel.H
ode.H
noChemistrySolver.H
EulerImplicit.H
StandardChemistryModel.H
chemistrySolver.H
src
thermophysicalModels
chemistryModel
chemistrySolver
chemistrySolver
makeChemistrySolverTypes.H
Generated by
1.8.14