Cantera  2.0
reaction_defs.h
Go to the documentation of this file.
1 /**
2  * @file reaction_defs.h
3  * This file defines some constants used to specify reaction types.
4  */
5 
6 // Copyright 2001 California Institute of Technology
7 
8 #ifndef CT_RXN_DEFS_H
9 #define CT_RXN_DEFS_H
10 
11 #include "cantera/base/ct_defs.h"
12 
13 namespace Cantera
14 {
15 
16 const int NONE = 0;
17 
18 /// @name Reaction Types
19 
20 //@{
21 
22 /**
23  * A reaction with a rate coefficient that depends only on
24  * temperature. Example: O + OH <-> O2 + H
25  */
26 const int ELEMENTARY_RXN = 1;
27 
28 /**
29  * A reaction that requires a third-body collision partner. Example:
30  * O2 + M <-> O + O + M
31  */
32 const int THREE_BODY_RXN = 2;
33 
34 /**
35  * The general form for an association or dissociation reaction, with a
36  * pressure-dependent rate. Example: CH3 + H (+M) <-> CH4 (+M)
37  */
38 const int FALLOFF_RXN = 4;
39 
40 /**
41  * A pressure-dependent rate expression consisting of several Arrhenius rate
42  * expressions evaluated at different pressures. The final rate is calculated
43  * by logarithmically interpolating between the two rates that bracket the
44  * current pressure.
45  */
46 const int PLOG_RXN = 5;
47 
48 /**
49  * A general pressure-dependent reaction where k(T,P) is defined in terms of
50  * a bivariate Chebyshev polynomial.
51  */
52 const int CHEBYSHEV_RXN = 6;
53 
54 /**
55  * A chemical activation reaction. For these reactions, the rate falls
56  * off as the pressure increases, due to collisional stabilization of
57  * a reaction intermediate. Example: Si + SiH4 (+M) <-> Si2H2 + H2
58  * (+M), which competes with Si + SiH4 (+M) <-> Si2H4 (+M).
59  * @todo Implement chemical activation reactions.
60  */
61 const int CHEMACT_RXN = 8;
62 
63 /**
64  * A reaction occurring on a surface.
65  */
66 const int SURFACE_RXN = 20;
67 
68 /**
69  * A reaction occurring at a one-dimensional interface between two
70  * surface phases.
71  */
72 const int EDGE_RXN = 22;
73 
74 /**
75  * A global reaction. These may have non-integral reaction orders,
76  * and are not allowed to be reversible.
77  */
78 const int GLOBAL_RXN = 30;
79 
80 //@}
81 
82 /** @name Rate Coefficient Types
83  * These types define the supported rate coefficient types for
84  * elementary reactions. Any of these may also be used as the high and
85  * low-pressure limits of falloff and chemical activation reactions.
86  *
87  * Note that not all of these are currently implemented!
88  * @todo Finish implementing reaction rate types.
89  */
90 //@{
91 
92 const int ARRHENIUS_REACTION_RATECOEFF_TYPE = 1;
93 const int LANDAUTELLER_REACTION_RATECOEFF_TYPE = 2;
94 const int TSTRATE_REACTION_RATECOEFF_TYPE = 3;
95 const int SURF_ARRHENIUS_REACTION_RATECOEFF_TYPE = 4;
96 const int ARRHENIUS_SUM_REACTION_RATECOEFF_TYPE = 5;
97 const int EXCHANGE_CURRENT_REACTION_RATECOEFF_TYPE = 6;
98 const int PLOG_REACTION_RATECOEFF_TYPE = 7;
99 const int CHEBYSHEV_REACTION_RATECOEFF_TYPE = 8;
100 
101 //@}
102 
103 /** @name Falloff Function Types
104  */
105 //@{
106 const int SIMPLE_FALLOFF = 100;
107 const int TROE3_FALLOFF = 110;
108 const int TROE4_FALLOFF = 111;
109 const int SRI3_FALLOFF = 112;
110 const int SRI5_FALLOFF = 113;
111 const int WF_FALLOFF = 114;
112 //@}
113 
114 // error flags
115 const int NO_ERROR = 0;
116 const int UNKNOWN_REACTION_TYPE = -100;
117 const int UNKNOWN_RATE_COEFF_TYPE = -200;
118 const int NOT_YET_IMPLEMENTED = -300;
119 
120 }
121 
122 #endif