main page
namespaces
classes
files
GGL home
Generated on Wed Apr 29 2015 11:51:40 for GGL-4.1.2 by
doxygen
1.8.3.1
Main Page
Related Pages
Namespaces
Data Structures
Files
File List
Globals
src
ggl
chem
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
5
#include "
ggl/chem/EnergyCalculation.hh
"
6
#include "
ggl/chem/ReactionRateCalculation.hh
"
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
*/
31
class
RRC_ArrheniusLaw
:
public
ggl::chem::ReactionRateCalculation
{
32
33
protected
:
34
35
//! the energy calculator to be used
36
const
EnergyCalculation
*
energyCalculation
;
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
*/
56
RRC_ArrheniusLaw
(
const
EnergyCalculation
&
energyCalculation
,
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_ */