Generated on Wed Apr 29 2015 11:51:40 for GGL-4.1.2 by doxygen 1.8.3.1
RRC_ArrheniusLaw.hh
Go to the documentation of this file.
1 
2 #ifndef GGL_CHEM_RRC_ARRHENIUSLAW_HH_
3 #define GGL_CHEM_RRC_ARRHENIUSLAW_HH_
4 
7 
8 namespace ggl {
9 namespace chem {
10 
11 ///////////////////////////////////////////////////////////////////////////
12 
13  /*! @brief Arrhenius law based reaction rate calculation
14  *
15  * Computes a reaction rate based on the Arrhenius law. To this end, it
16  * evaluates the energy difference of the educts compared to the products
17  * and uses the Boltzmann weight to predict a reaction rate.
18  *
19  * It uses the formula
20  *
21  * rate k = A * exp( -deltaE / kT )
22  *
23  * using the Arrhenius constant (A), the energy difference of educts to
24  * products (deltaE), and the generalized temperature (kT).
25  *
26  * Note kT has to be set according to the used energy calculator. For
27  * its determination for a given temperature T, you can use the
28  * predefined constants within ggl::chem::EnergyCalculationConstants like
29  * the Boltzmann constant k_B or the gas constant R.
30  */
32 
33  protected:
34 
35  //! the energy calculator to be used
37 
38  //! the generalized temperature to be applied within the Arrhenius law
39  const double kT;
40 
41  //! the Arrhenius constant to be applied within the Arrhenius law
42  const double Arrhenius_constant_A;
43 
44  public:
45 
46  /*!
47  * Construction
48  *
49  * @param energyCalculation the energy calculator to use to estimate
50  * the energy of educts and products
51  * @param kT the generalized temperature to be applied within the
52  * Arrhenius law
53  * @param Arrhenius_constant_A the Arrhenius constant to be applied
54  * within the Arrhenius law
55  */
57  const double kT,
58  const double Arrhenius_constant_A = 1.0 );
59 
60 
61  //! destruction
62  virtual ~RRC_ArrheniusLaw();
63 
64 
65  /*!
66  * Calculates the reaction rate for a given Reaction based on the
67  * Arrhenius law.
68  *
69  * @param reaction the Reaction object to calculate the rate for
70  * @return the according reaction rate
71  */
72  virtual
73  double
74  getRate( const Reaction & reaction ) const;
75 
76  /*!
77  * The Arrhenius law calculation does not need the transition state
78  * information.
79  *
80  * @return false
81  */
82  virtual
83  bool
84  needTransitionState( void ) const;
85 
86  };
87 
88 ///////////////////////////////////////////////////////////////////////////
89 
90 } // namespace chem
91 } // namespace ggl
92 
93 #endif /* GGL_CHEM_RRC_ARRHENIUSLAW_HH_ */