Cantera  2.0
ReactionData.h
Go to the documentation of this file.
1 /**
2  * @file ReactionData.h
3  *
4  */
5 // Copyright 2001 California Institute of Technology
6 
7 
8 #ifndef CT_REACTION_DATA_H
9 #define CT_REACTION_DATA_H
10 
12 
13 namespace Cantera
14 {
15 
16 class ReactionData
17 {
18 public:
19  //! Default constructor
20  ReactionData() {
21  reactionType = ELEMENTARY_RXN;
22  validate = false;
23  number = 0;
24  rxn_number = 0;
25  reversible = true;
26  rateCoeffType = ARRHENIUS_REACTION_RATECOEFF_TYPE;
27  falloffType = NONE;
28  error = 0;
29  equation = "";
30  default_3b_eff = 1.0;
31  global = false;
32  isReversibleWithFrac = false;
33  beta = 0.0;
34  }
35 
36  //! Destructor
37  virtual ~ReactionData() {}
38 
39  //! type of the reaction
40  /*!
41  * The valid types are listed in the file, reaction_defs.h.
42  */
43  int reactionType;
44 
45  bool validate;
46  int number;
47  int rxn_number;
48  std::vector<size_t> reactants;
49  std::vector<size_t> products;
50  vector_fp rorder;
51  vector_fp porder;
52  vector_fp rstoich;
53  vector_fp pstoich;
54  std::vector<grouplist_t> rgroups;
55  std::vector<grouplist_t> pgroups;
56  std::map<size_t, doublereal> thirdBodyEfficiencies;
57 
58  //! True if the current reaction is reversible. False otherwise
59  bool reversible;
60 
61  //! Type of the rate coefficient for the forward rate constant
62  /*!
63  * The valid types are listed in the file, reaction_defs.h and they
64  * all end in RATECOEFF_TYPE
65  */
66  int rateCoeffType;
67 
68  //! Vector of rate coefficient parameters
69  vector_fp rateCoeffParameters;
70 
71  //! Vector of auxillary rate coefficient parameters
72  vector_fp auxRateCoeffParameters;
73 
74  int falloffType;
75  vector_fp falloffParameters;
76  int error;
77  std::string equation;
78  doublereal default_3b_eff;
79  vector_fp cov;
80  bool global;
81  bool isReversibleWithFrac;
82  doublereal beta; // for electrochemical reactions
83 
84  //! Arrhenius parameters for P-log reactions.
85  //! The keys are the pressures corresponding to each Arrhenius expression.
86  //! Multiple sets of Arrhenius parameters may be specified at a given
87  //! pressure.
88  std::multimap<double, vector_fp> plogParameters;
89 
90  double chebTmin; //!< Minimum temperature for Chebyshev fit
91  double chebTmax; //!< Maximum temperature for Chebyshev fit
92  double chebPmin; //!< Minimum pressure for Chebyshev fit
93  double chebPmax; //!< Maximum pressure for Chebyshev fit
94  size_t chebDegreeT; //!< Degree of Chebyshev fit in T
95  size_t chebDegreeP; //!< Degree of Chebyshev fit in P
96 
97  //! Chebyshev coefficients. length chebDegreeT * chebDegreeP
98  vector_fp chebCoeffs;
99 };
100 }
101 
102 #endif