FreeFOAM The Cross-Platform CFD Toolkit
makeHsReactionThermo.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) 2010-2010 OpenCFD Ltd.
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 InClass
25  Foam::hReactionThermo
26 
27 \*---------------------------------------------------------------------------*/
28 
29 #ifndef makeReactionThermo_H
30 #define makeReactionThermo_H
31 
34 
35 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
36 
37 #define makeHsReactionThermo(CThermo,MixtureThermo,Mixture,Transport,Thermo,EqnOfState)\
38  \
39 typedef MixtureThermo \
40  <Mixture<Transport<specieThermo<Thermo<EqnOfState> > > > > \
41  MixtureThermo##Mixture##Transport##Thermo##EqnOfState; \
42  \
43 defineTemplateTypeNameAndDebugWithName \
44 ( \
45  MixtureThermo##Mixture##Transport##Thermo##EqnOfState, \
46  #MixtureThermo \
47  "<"#Mixture"<"#Transport"<specieThermo<"#Thermo"<"#EqnOfState">>>>>", \
48  0 \
49 ); \
50  \
51 addToRunTimeSelectionTable \
52 ( \
53  basicRhoThermo, \
54  MixtureThermo##Mixture##Transport##Thermo##EqnOfState, \
55  fvMesh \
56 ); \
57  \
58 addToRunTimeSelectionTable \
59 ( \
60  CThermo, \
61  MixtureThermo##Mixture##Transport##Thermo##EqnOfState, \
62  fvMesh \
63 )
64 
65 
66 #define makeHsReactionMixtureThermo(CThermo,MixtureThermo,Mixture,ThermoPhys) \
67  \
68 typedef MixtureThermo<Mixture<ThermoPhys> > \
69  MixtureThermo##Mixture##ThermoPhys; \
70  \
71 defineTemplateTypeNameAndDebugWithName \
72 ( \
73  MixtureThermo##Mixture##ThermoPhys, \
74  #MixtureThermo"<"#Mixture"<"#ThermoPhys">>", \
75  0 \
76 ); \
77  \
78 addToRunTimeSelectionTable \
79 ( \
80  basicRhoThermo, \
81  MixtureThermo##Mixture##ThermoPhys, \
82  fvMesh \
83 ); \
84  \
85 addToRunTimeSelectionTable \
86 ( \
87  CThermo, \
88  MixtureThermo##Mixture##ThermoPhys, \
89  fvMesh \
90 );
91 
92 
93 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
94 
95 #endif
96 
97 // ************************ vim: set sw=4 sts=4 et: ************************ //