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