antioch-0.4.0
|
Kooij rate equation. More...
#include <kinetics_type.h>
Public Member Functions | |
KooijRate (const CoeffType Cf=0., const CoeffType eta=0., const CoeffType Ea=0., const CoeffType Tref=1., const CoeffType rscale=Constants::R_universal< CoeffType >()) | |
~KooijRate () | |
void | set_Cf (const CoeffType Cf) |
void | set_eta (const CoeffType eta) |
void | set_Ea (const CoeffType Ea) |
set _raw_Ea, unit is known (cal.mol-1, J.mol-1, whatever), _Ea is computed More... | |
void | reset_Ea (const CoeffType Ea) |
set _Ea, unit is K, _raw_Ea is computed More... | |
void | set_Tref (const CoeffType Tref) |
void | set_rscale (const CoeffType scale) |
void | set_parameter (KineticsModel::Parameters parameter, CoeffType new_value) |
set one parameter, characterized by enum More... | |
CoeffType | get_parameter (KineticsModel::Parameters parameter) const |
get one parameter, characterized by enum More... | |
template<typename VectorCoeffType > | |
void | set_parameter (KineticsModel::Parameters parameter, VectorCoeffType new_value) |
for compatibility purpose with photochemistry (particle flux reactions) More... | |
template<typename VectorCoeffType > | |
void | reset_coefs (const VectorCoeffType &coefficients) |
reset the coeffs More... | |
CoeffType | Cf () const |
CoeffType | eta () const |
CoeffType | Ea () const |
CoeffType | Ea_K () const |
CoeffType | Tref () const |
CoeffType | rscale () const |
template<typename StateType > | |
rate (const StateType &T) const ANTIOCH_AUTOFUNC(StateType | |
_Cf * | ant_exp (_eta *ant_log(T)-_Ea/T))) template< typename StateType > operator()(const StateType &T) const template< typename StateType > derivative(const StateType &T) const ANTIOCH_AUTOFUNC(StateType |
template<typename StateType , typename VectorStateType > | |
rate (const KineticsConditions< StateType, VectorStateType > &T) const ANTIOCH_AUTOFUNC(StateType | |
_Cf * | ant_exp (_eta *T.temp_cache().lnT-_Ea/T.T())) template< typename StateType |
_Cf VectorStateType | operator() (const KineticsConditions< StateType, VectorStateType > &T) const template< typename StateType |
_Cf VectorStateType VectorStateType | derivative (const KineticsConditions< StateType, VectorStateType > &T) const ANTIOCH_AUTOFUNC(StateType |
const std::string | numeric () const |
print equation More... | |
KineticsModel::KineticsModel | type () const |
StateType | operator() (const StateType &temp) const |
StateType | derivative (const StateType &conditions) const |
CoeffType | get_parameter (KineticsModel::Parameters parameter, int l) const |
get one parameter, characterized by enum, for vectorized parameter More... | |
void | compute_rate_and_derivative (const KineticsConditions< StateType, VectorStateType > &conditions, StateType &rate, StateType &drate_dT) const |
void | compute_rate_and_derivative (const StateType &temp, StateType &rate, StateType &drate_dT) const |
void | set_index (unsigned int nr) |
void | print (std::ostream &os=std::cout) const |
Formatted print, by default to std::cout . More... | |
Public Attributes | |
_Cf(* | this )(T)/T *(_eta+_Ea/T)) template< typename StateType > void rate_and_derivative(const StateType &T |
Simultaneously evaluate the rate and its derivative at T . More... | |
_Cf(*) StateType | rate ) |
_Cf(*) StateType StateType &drate_d | const ) |
_Cf VectorStateType VectorStateType(* | this )(T)/T.T()*(_eta+_Ea/T.T())) template< typename StateType |
Simultaneously evaluate the rate and its derivative at T . More... | |
_Cf VectorStateType VectorStateType(*) VectorStateType voi | rate_and_derivative )(const KineticsConditions< StateType, VectorStateType > &T, StateType &rate, StateType &drate_dT) const |
Private Member Functions | |
void | compute_cf () |
Private Attributes | |
CoeffType | _raw_Cf |
CoeffType | _Cf |
CoeffType | _eta |
CoeffType | _raw_Ea |
CoeffType | _Ea |
CoeffType | _Tref |
CoeffType | _rscale |
Kooij rate equation.
The Kooij kinetics model is of the form:
thus
Internally, we use the reduced pre-exponential parameter and the reduced activation energy
Definition at line 59 of file kinetics_type.h.
Antioch::KooijRate< CoeffType >::KooijRate | ( | const CoeffType | Cf = 0. , |
const CoeffType | eta = 0. , |
||
const CoeffType | Ea = 0. , |
||
const CoeffType | Tref = 1. , |
||
const CoeffType | rscale = Constants::R_universal<CoeffType>() |
||
) |
Definition at line 175 of file kooij_rate.h.
References Antioch::KooijRate< CoeffType >::_rscale, and Antioch::KooijRate< CoeffType >::compute_cf().
Antioch::KooijRate< CoeffType >::~KooijRate | ( | ) |
Definition at line 191 of file kooij_rate.h.
_Cf* Antioch::KooijRate< CoeffType >::ant_exp | ( | _eta *ant_log(T)-_Ea/ | T | ) | const |
T
.T
. _Cf* Antioch::KooijRate< CoeffType >::ant_exp | ( | _eta *T. | temp_cache).lnT-_Ea/T.T( | ) |
T
.
|
inline |
Definition at line 366 of file kooij_rate.h.
References Antioch::KooijRate< CoeffType >::_Cf.
Referenced by Antioch::KooijRate< CoeffType >::get_parameter(), and Antioch::KooijRate< CoeffType >::set_Cf().
|
inlineprivate |
Definition at line 422 of file kooij_rate.h.
Referenced by Antioch::KooijRate< CoeffType >::KooijRate(), Antioch::KooijRate< CoeffType >::set_Cf(), Antioch::KooijRate< CoeffType >::set_eta(), and Antioch::KooijRate< CoeffType >::set_Tref().
|
inherited |
|
inherited |
|
inherited |
_Cf VectorStateType VectorStateType Antioch::KooijRate< CoeffType >::derivative | ( | const KineticsConditions< StateType, VectorStateType > & | T | ) | const |
Referenced by test_values(), and vectester().
|
inline |
Definition at line 376 of file kooij_rate.h.
References Antioch::KooijRate< CoeffType >::_raw_Ea.
Referenced by Antioch::KooijRate< CoeffType >::get_parameter(), Antioch::KooijRate< CoeffType >::reset_Ea(), and Antioch::KooijRate< CoeffType >::set_Ea().
|
inline |
|
inline |
Definition at line 371 of file kooij_rate.h.
References Antioch::KooijRate< CoeffType >::_eta.
Referenced by Antioch::KooijRate< CoeffType >::get_parameter(), and Antioch::KooijRate< CoeffType >::set_eta().
|
inline |
get one parameter, characterized by enum
Definition at line 325 of file kooij_rate.h.
References Antioch::KineticsModel::A, antioch_error, Antioch::KineticsModel::B, Antioch::KooijRate< CoeffType >::Cf(), Antioch::KineticsModel::E, Antioch::KooijRate< CoeffType >::Ea(), Antioch::KooijRate< CoeffType >::eta(), Antioch::KineticsModel::R_SCALE, Antioch::KooijRate< CoeffType >::rscale(), Antioch::KineticsModel::T_REF, and Antioch::KooijRate< CoeffType >::Tref().
|
inherited |
get one parameter, characterized by enum, for vectorized parameter
|
virtual |
print equation
Implements Antioch::KineticsType< CoeffType >.
Definition at line 197 of file kooij_rate.h.
References Antioch::KooijRate< CoeffType >::_eta, and Antioch::KooijRate< CoeffType >::_raw_Cf.
|
inherited |
_Cf VectorStateType Antioch::KooijRate< CoeffType >::operator() | ( | const KineticsConditions< StateType, VectorStateType > & | T | ) | const |
T
.
|
inherited |
Formatted print, by default to std::cout
.
Antioch::KooijRate< CoeffType >::rate | ( | const StateType & | T | ) | const |
T
. Antioch::KooijRate< CoeffType >::rate | ( | const KineticsConditions< StateType, VectorStateType > & | T | ) | const |
T
.
|
inline |
reset the coeffs
Two ways of modifying your rate:
Definition at line 267 of file kooij_rate.h.
References antioch_assert_greater, antioch_assert_less, antioch_assert_not_equal_to, Antioch::KooijRate< CoeffType >::set_Cf(), Antioch::KooijRate< CoeffType >::set_Ea(), Antioch::KooijRate< CoeffType >::set_eta(), Antioch::KooijRate< CoeffType >::set_rscale(), and Antioch::KooijRate< CoeffType >::set_Tref().
Referenced by tester().
|
inline |
set _Ea, unit is K, _raw_Ea is computed
Definition at line 248 of file kooij_rate.h.
References Antioch::KooijRate< CoeffType >::_rscale, and Antioch::KooijRate< CoeffType >::Ea().
Referenced by Antioch::KooijRate< CoeffType >::set_parameter().
|
inline |
Definition at line 391 of file kooij_rate.h.
References Antioch::KooijRate< CoeffType >::_rscale.
Referenced by Antioch::KooijRate< CoeffType >::get_parameter(), and Antioch::KooijRate< CoeffType >::set_rscale().
|
inline |
Definition at line 210 of file kooij_rate.h.
References Antioch::KooijRate< CoeffType >::Cf(), and Antioch::KooijRate< CoeffType >::compute_cf().
Referenced by Antioch::KooijRate< CoeffType >::reset_coefs(), Antioch::KooijRate< CoeffType >::set_parameter(), and tester().
|
inline |
set _raw_Ea, unit is known (cal.mol-1, J.mol-1, whatever), _Ea is computed
Definition at line 239 of file kooij_rate.h.
References Antioch::KooijRate< CoeffType >::_rscale, and Antioch::KooijRate< CoeffType >::Ea().
Referenced by Antioch::KooijRate< CoeffType >::reset_coefs(), and tester().
|
inline |
Definition at line 230 of file kooij_rate.h.
References Antioch::KooijRate< CoeffType >::compute_cf(), and Antioch::KooijRate< CoeffType >::eta().
Referenced by Antioch::KooijRate< CoeffType >::reset_coefs(), Antioch::KooijRate< CoeffType >::set_parameter(), and tester().
|
inherited |
|
inline |
set one parameter, characterized by enum
Definition at line 286 of file kooij_rate.h.
References Antioch::KineticsModel::A, antioch_error, Antioch::KineticsModel::B, Antioch::KineticsModel::E, Antioch::KineticsModel::R_SCALE, Antioch::KooijRate< CoeffType >::reset_Ea(), Antioch::KooijRate< CoeffType >::set_Cf(), Antioch::KooijRate< CoeffType >::set_eta(), Antioch::KooijRate< CoeffType >::set_rscale(), Antioch::KooijRate< CoeffType >::set_Tref(), and Antioch::KineticsModel::T_REF.
|
inline |
for compatibility purpose with photochemistry (particle flux reactions)
Definition at line 97 of file kooij_rate.h.
References antioch_error.
|
inline |
Definition at line 257 of file kooij_rate.h.
References Antioch::KooijRate< CoeffType >::_rscale, and Antioch::KooijRate< CoeffType >::rscale().
Referenced by Antioch::KooijRate< CoeffType >::reset_coefs(), Antioch::KooijRate< CoeffType >::set_parameter(), and tester().
|
inline |
Definition at line 220 of file kooij_rate.h.
References Antioch::KooijRate< CoeffType >::compute_cf(), and Antioch::KooijRate< CoeffType >::Tref().
Referenced by Antioch::KooijRate< CoeffType >::reset_coefs(), Antioch::KooijRate< CoeffType >::set_parameter(), and tester().
|
inline |
Definition at line 386 of file kooij_rate.h.
References Antioch::KooijRate< CoeffType >::_Tref.
Referenced by Antioch::KooijRate< CoeffType >::get_parameter(), and Antioch::KooijRate< CoeffType >::set_Tref().
|
inherited |
|
private |
Definition at line 65 of file kooij_rate.h.
Referenced by Antioch::KooijRate< CoeffType >::Cf().
|
private |
Definition at line 68 of file kooij_rate.h.
Referenced by Antioch::KooijRate< CoeffType >::Ea_K().
|
private |
Definition at line 66 of file kooij_rate.h.
Referenced by Antioch::KooijRate< CoeffType >::eta(), and Antioch::KooijRate< CoeffType >::numeric().
|
private |
Definition at line 64 of file kooij_rate.h.
Referenced by Antioch::KooijRate< CoeffType >::numeric().
|
private |
Definition at line 67 of file kooij_rate.h.
Referenced by Antioch::KooijRate< CoeffType >::Ea().
|
private |
Definition at line 70 of file kooij_rate.h.
Referenced by Antioch::KooijRate< CoeffType >::KooijRate(), Antioch::KooijRate< CoeffType >::reset_Ea(), Antioch::KooijRate< CoeffType >::rscale(), Antioch::KooijRate< CoeffType >::set_Ea(), and Antioch::KooijRate< CoeffType >::set_rscale().
|
private |
Definition at line 69 of file kooij_rate.h.
Referenced by Antioch::KooijRate< CoeffType >::Tref().
_Cf(*) StateType StateType& drate_d Antioch::KooijRate< CoeffType >::const) |
Definition at line 139 of file kooij_rate.h.
_Cf(*) StateType Antioch::KooijRate< CoeffType >::rate) |
Definition at line 139 of file kooij_rate.h.
|
inline |
Definition at line 163 of file kooij_rate.h.
Referenced by test_values(), and vectester().
_Cf(* Antioch::KooijRate< CoeffType >::this)(T)/T *(_eta+_Ea/T))template< typename StateType > void rate_and_derivative(const StateType &T |
Simultaneously evaluate the rate and its derivative at T
.
Definition at line 135 of file kooij_rate.h.
_Cf VectorStateType VectorStateType(* Antioch::KooijRate< CoeffType >::this)(T)/T.T()*(_eta+_Ea/T.T()))template< typename StateType |
Simultaneously evaluate the rate and its derivative at T
.
Definition at line 159 of file kooij_rate.h.