makeChemistryReductionMethods.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) 2016-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 makeChemistryReductionMethods_H
29#define makeChemistryReductionMethods_H
30
32
34#include "DAC.H"
35#include "DRG.H"
36#include "DRGEP.H"
37#include "EFA.H"
38#include "PFA.H"
39
40// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
41
42#define makeChemistryReductionMethod(SS, Comp, Thermo) \
43 \
44 typedef chemistryReductionMethods::SS<Comp, Thermo> SS##Comp##Thermo; \
45 \
46 defineTemplateTypeNameAndDebugWithName \
47 ( \
48 SS##Comp##Thermo, \
49 (#SS"<" + word(Comp::typeName_()) \
50 + "," + Thermo::typeName() + ">").c_str(), \
51 0 \
52 ); \
53 \
54 chemistryReductionMethod<Comp, Thermo>:: \
55 adddictionaryConstructorToTable<SS##Comp##Thermo> \
56 add##chemistryReductionMethods##SS##Comp##Thermo##ConstructorToTable_;
57
58
59#define makeChemistryReductionMethods(CompChemModel, Thermo) \
60 \
61 typedef chemistryReductionMethod<CompChemModel, Thermo> \
62 chemistryReductionMethod##CompChemModel##Thermo; \
63 \
64 defineTemplateTypeNameAndDebugWithName \
65 ( \
66 chemistryReductionMethod##CompChemModel##Thermo, \
67 (word(chemistryReductionMethod##CompChemModel##Thermo::typeName_()) + \
68 '<' + word(CompChemModel::typeName_()) + "," + Thermo::typeName() + '>'\
69 ).c_str(), \
70 0 \
71 ); \
72 \
73 defineTemplateRunTimeSelectionTable \
74 ( \
75 chemistryReductionMethod##CompChemModel##Thermo, \
76 dictionary \
77 ); \
78 \
79 makeChemistryReductionMethod \
80 ( \
81 none, \
82 CompChemModel, \
83 Thermo \
84 ); \
85 \
86 makeChemistryReductionMethod \
87 ( \
88 DAC, \
89 CompChemModel, \
90 Thermo \
91 ); \
92 \
93 makeChemistryReductionMethod \
94 ( \
95 DRG, \
96 CompChemModel, \
97 Thermo \
98 ); \
99 \
100 makeChemistryReductionMethod \
101 ( \
102 DRGEP, \
103 CompChemModel, \
104 Thermo \
105 ); \
106 \
107 makeChemistryReductionMethod \
108 ( \
109 EFA, \
110 CompChemModel, \
111 Thermo \
112 ); \
113 \
114 makeChemistryReductionMethod \
115 ( \
116 PFA, \
117 CompChemModel, \
118 Thermo \
119 ); \
120
121
122// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
123
124#endif
125
126// ************************************************************************* //