makeReactions.C
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2012-2020 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 #include "makeReaction.H"
27 
28 #include "ArrheniusReactionRate.H"
29 #include "infiniteReactionRate.H"
32 
33 #include "JanevReactionRate.H"
35 
37 #include "FallOffReactionRate.H"
38 
40 #include "SRIFallOffFunction.H"
41 #include "TroeFallOffFunction.H"
42 
44 
46 
47 #include "forCommonGases.H"
48 #include "forCommonLiquids.H"
49 #include "forPolynomials.H"
50 
51 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
52 
53 template<>
55 (
56  "Tuple2<word,scalar>"
57 );
58 
59 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
60 
61 namespace Foam
62 {
66 
67 
68  // Irreversible/reversible/non-equilibrium-reversible reactions
69 
70  forCommonGases(makeIRNReactions, ArrheniusReactionRate);
71  forCommonLiquids(makeIRNReactions, ArrheniusReactionRate);
72  forPolynomials(makeIRNReactions, ArrheniusReactionRate);
73 
74  forCommonGases(makeIRNReactions, infiniteReactionRate);
75  forCommonLiquids(makeIRNReactions, infiniteReactionRate);
76  forPolynomials(makeIRNReactions, infiniteReactionRate);
77 
78  forCommonGases(makeIRNReactions, LandauTellerReactionRate);
79  forCommonLiquids(makeIRNReactions, LandauTellerReactionRate);
80  forPolynomials(makeIRNReactions, LandauTellerReactionRate);
81 
82  forCommonGases(makeIRNReactions, thirdBodyArrheniusReactionRate);
83  forCommonLiquids(makeIRNReactions, thirdBodyArrheniusReactionRate);
84  forPolynomials(makeIRNReactions, thirdBodyArrheniusReactionRate);
85 
86 
87  // Irreversible/reversible reactions
88 
89  forCommonGases(makeIRReactions, JanevReactionRate);
90  forCommonLiquids(makeIRReactions, JanevReactionRate);
91  forPolynomials(makeIRReactions, JanevReactionRate);
92 
93  forCommonGases(makeIRReactions, powerSeriesReactionRate);
94  forCommonLiquids(makeIRReactions, powerSeriesReactionRate);
95  forPolynomials(makeIRReactions, powerSeriesReactionRate);
96 
97 
98  // Pressure dependent reactions
99 
101  (
103  FallOffReactionRate,
104  ArrheniusReactionRate,
105  LindemannFallOffFunction
106  );
108  (
110  FallOffReactionRate,
111  ArrheniusReactionRate,
112  LindemannFallOffFunction
113  );
115  (
117  FallOffReactionRate,
118  ArrheniusReactionRate,
119  LindemannFallOffFunction
120  );
121 
123  (
125  FallOffReactionRate,
126  ArrheniusReactionRate,
127  TroeFallOffFunction
128  );
130  (
132  FallOffReactionRate,
133  ArrheniusReactionRate,
134  TroeFallOffFunction
135  );
137  (
139  FallOffReactionRate,
140  ArrheniusReactionRate,
141  TroeFallOffFunction
142  );
143 
145  (
147  FallOffReactionRate,
148  ArrheniusReactionRate,
149  SRIFallOffFunction
150  );
152  (
154  FallOffReactionRate,
155  ArrheniusReactionRate,
156  SRIFallOffFunction
157  );
159  (
161  FallOffReactionRate,
162  ArrheniusReactionRate,
163  SRIFallOffFunction
164  );
165 
167  (
169  ChemicallyActivatedReactionRate,
170  ArrheniusReactionRate,
171  LindemannFallOffFunction
172  );
174  (
176  ChemicallyActivatedReactionRate,
177  ArrheniusReactionRate,
178  LindemannFallOffFunction
179  );
181  (
183  ChemicallyActivatedReactionRate,
184  ArrheniusReactionRate,
185  LindemannFallOffFunction
186  );
187 
189  (
191  ChemicallyActivatedReactionRate,
192  ArrheniusReactionRate,
193  TroeFallOffFunction
194  );
196  (
198  ChemicallyActivatedReactionRate,
199  ArrheniusReactionRate,
200  TroeFallOffFunction
201  );
203  (
205  ChemicallyActivatedReactionRate,
206  ArrheniusReactionRate,
207  TroeFallOffFunction
208  );
209 
211  (
213  ChemicallyActivatedReactionRate,
214  ArrheniusReactionRate,
215  SRIFallOffFunction
216  );
218  (
220  ChemicallyActivatedReactionRate,
221  ArrheniusReactionRate,
222  SRIFallOffFunction
223  );
225  (
227  ChemicallyActivatedReactionRate,
228  ArrheniusReactionRate,
229  SRIFallOffFunction
230  );
231 }
232 
233 // ************************************************************************* //
Macros for instantiating reactions on given thermo packages.
forCommonGases(makeThermoCombustionModel, diffusion, psiReactionThermo)
#define makeIRNReactions(ReactionRate, ThermoPhysics)
Definition: makeReaction.H:139
forPolynomials(makeThermos, rhoThermo, heRhoThermo, pureMixture)
#define defineReaction(nullArg, ThermoPhysics)
Definition: makeReaction.H:50
forCommonLiquids(defineChemistryReductionMethod, rhoReactionThermo)
#define makeIRRPressureDependentReactions( PressureDependentReactionRate, ReactionRate, FallOffFunction, ThermoPhysics)
Definition: makeReaction.H:145
static const char *const typeName
Definition: Tuple2.H:73
Namespace for OpenFOAM.
#define makeIRReactions(ReactionRate, ThermoPhysics)
Definition: makeReaction.H:133