makeCombustionTypes.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-------------------------------------------------------------------------------
10License
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 makeCombustionTypes_H
29#define makeCombustionTypes_H
30
32
33// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
34
35namespace Foam
36{
37
38// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
39
40#define makeCombustion(Comp) \
41 \
42 typedef CombustionModel<Comp> CombustionModel##Comp; \
43 \
44 defineTemplateTypeNameAndDebugWithName \
45 ( \
46 CombustionModel##Comp, \
47 ( \
48 word(CombustionModel##Comp::typeName_()) + "<" + Comp::typeName \
49 + ">" \
50 ).c_str(), \
51 0 \
52 ); \
53 \
54 defineTemplateRunTimeSelectionTable \
55 ( \
56 CombustionModel##Comp, \
57 dictionary \
58 );
59
60
61#define makeCombustionTypesThermo(CombModel, Comp, Thermo) \
62 \
63 typedef combustionModels::CombModel<Comp, Thermo> \
64 CombModel##Comp##Thermo; \
65 \
66 defineTemplateTypeNameAndDebugWithName \
67 ( \
68 CombModel##Comp##Thermo, \
69 ( \
70 word(CombModel##Comp##Thermo::typeName_()) + "<" + Comp::typeName \
71 + "," + Thermo::typeName() + ">" \
72 ).c_str(), \
73 0 \
74 ); \
75 \
76 CombustionModel<Comp>:: \
77 add##dictionary##ConstructorToTable<CombModel##Comp##Thermo> \
78 add##CombModel##Comp##Thermo##dictionary##ConstructorTo##\
79CombustionModel##Comp##Table_;
80
81
82#define makeCombustionTypes(CombModel, Comp) \
83 \
84 typedef combustionModels::CombModel<Comp> CombModel##Comp; \
85 \
86 defineTemplateTypeNameAndDebugWithName \
87 ( \
88 CombModel##Comp, \
89 ( \
90 word(CombModel##Comp::typeName_()) + "<" + Comp::typeName + ">" \
91 ).c_str(), \
92 0 \
93 ); \
94 \
95 CombustionModel<Comp>:: \
96 add##dictionary##ConstructorToTable<CombModel##Comp> \
97 add##CombModel##Comp##dictionary##ConstructorTo##CombustionModel##Comp\
98##Table_;
99
100
101// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
102
103} // End namespace Foam
104
105// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
106
107#endif
108
109// ************************************************************************* //
Macros for easy insertion into run-time selection tables.
Namespace for OpenFOAM.