antioch-0.4.0
|
Van't Hoff rate equation. More...
#include <kinetics_type.h>
Public Member Functions | |
VantHoffRate (const CoeffType Cf=0., const CoeffType eta=0., const CoeffType Ea=0., const CoeffType D=0., const CoeffType Tref=1., const CoeffType rscale=Constants::R_universal< CoeffType >()) | |
~VantHoffRate () | |
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_D (const CoeffType D) |
void | set_Tref (const CoeffType Tref) |
void | set_rscale (const CoeffType rscale) |
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 | D () const |
CoeffType | Tref () const |
CoeffType | rscale () const |
template<typename StateType > | |
rate (const StateType &T) const ANTIOCH_AUTOFUNC(StateType | |
_Cf * | ant_pow (T, _eta)*ant_exp(-_Ea/T+_D *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()+_D *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)*(_D+_eta/T+_Ea/(T *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)*(_D+_eta/T.T()+_Ea/(T.temp_cache().T2))) 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 | _D |
CoeffType | _Tref |
CoeffType | _rscale |
Van't Hoff rate equation.
The Van't Hoff kinetics model is of the form:
thus
Internally, we use the reduced pre-exponential parameter and the reduced activation energy
Definition at line 62 of file kinetics_type.h.
Antioch::VantHoffRate< CoeffType >::VantHoffRate | ( | const CoeffType | Cf = 0. , |
const CoeffType | eta = 0. , |
||
const CoeffType | Ea = 0. , |
||
const CoeffType | D = 0. , |
||
const CoeffType | Tref = 1. , |
||
const CoeffType | rscale = Constants::R_universal<CoeffType>() |
||
) |
Definition at line 180 of file vanthoff_rate.h.
References Antioch::VantHoffRate< CoeffType >::_rscale, and Antioch::VantHoffRate< CoeffType >::compute_cf().
Antioch::VantHoffRate< CoeffType >::~VantHoffRate | ( | ) |
Definition at line 196 of file vanthoff_rate.h.
_Cf* Antioch::VantHoffRate< CoeffType >::ant_exp | ( | _eta *T. | temp_cache).lnT-_Ea/T.T()+_D *T.T( | ) |
T
. _Cf* Antioch::VantHoffRate< CoeffType >::ant_pow | ( | T | , |
_eta | |||
) | const |
T
.T
. Referenced by Antioch::VantHoffRate< CoeffType >::compute_cf().
|
inline |
Definition at line 390 of file vanthoff_rate.h.
References Antioch::VantHoffRate< CoeffType >::_Cf.
Referenced by Antioch::VantHoffRate< CoeffType >::get_parameter(), and Antioch::VantHoffRate< CoeffType >::set_Cf().
|
inlineprivate |
Definition at line 449 of file vanthoff_rate.h.
References Antioch::VantHoffRate< CoeffType >::ant_pow().
Referenced by Antioch::VantHoffRate< CoeffType >::set_Cf(), Antioch::VantHoffRate< CoeffType >::set_eta(), Antioch::VantHoffRate< CoeffType >::set_Tref(), and Antioch::VantHoffRate< CoeffType >::VantHoffRate().
|
inherited |
|
inherited |
|
inline |
Definition at line 410 of file vanthoff_rate.h.
References Antioch::VantHoffRate< CoeffType >::_D.
Referenced by Antioch::VantHoffRate< CoeffType >::get_parameter(), and Antioch::VantHoffRate< CoeffType >::set_D().
|
inherited |
_Cf VectorStateType VectorStateType Antioch::VantHoffRate< CoeffType >::derivative | ( | const KineticsConditions< StateType, VectorStateType > & | T | ) | const |
Referenced by test_values(), and vectester().
|
inline |
Definition at line 400 of file vanthoff_rate.h.
References Antioch::VantHoffRate< CoeffType >::_raw_Ea.
Referenced by Antioch::VantHoffRate< CoeffType >::get_parameter(), Antioch::VantHoffRate< CoeffType >::reset_Ea(), and Antioch::VantHoffRate< CoeffType >::set_Ea().
|
inline |
|
inline |
Definition at line 395 of file vanthoff_rate.h.
References Antioch::VantHoffRate< CoeffType >::_eta.
Referenced by Antioch::VantHoffRate< CoeffType >::get_parameter(), and Antioch::VantHoffRate< CoeffType >::set_eta().
|
inline |
get one parameter, characterized by enum
Definition at line 344 of file vanthoff_rate.h.
References Antioch::KineticsModel::A, antioch_error, Antioch::KineticsModel::B, Antioch::VantHoffRate< CoeffType >::Cf(), Antioch::KineticsModel::D, Antioch::VantHoffRate< CoeffType >::D(), Antioch::KineticsModel::E, Antioch::VantHoffRate< CoeffType >::Ea(), Antioch::VantHoffRate< CoeffType >::eta(), Antioch::KineticsModel::R_SCALE, Antioch::VantHoffRate< CoeffType >::rscale(), Antioch::KineticsModel::T_REF, and Antioch::VantHoffRate< CoeffType >::Tref().
|
inherited |
get one parameter, characterized by enum, for vectorized parameter
|
virtual |
print equation
Implements Antioch::KineticsType< CoeffType >.
Definition at line 202 of file vanthoff_rate.h.
References Antioch::VantHoffRate< CoeffType >::_eta, and Antioch::VantHoffRate< CoeffType >::_raw_Cf.
|
inherited |
_Cf VectorStateType Antioch::VantHoffRate< CoeffType >::operator() | ( | const KineticsConditions< StateType, VectorStateType > & | T | ) | const |
T
.
|
inherited |
Formatted print, by default to std::cout
.
Antioch::VantHoffRate< CoeffType >::rate | ( | const StateType & | T | ) | const |
T
. Antioch::VantHoffRate< CoeffType >::rate | ( | const KineticsConditions< StateType, VectorStateType > & | T | ) | const |
T
.
|
inline |
reset the coeffs
Two ways of modifying your rate:
Definition at line 280 of file vanthoff_rate.h.
References antioch_assert_greater, antioch_assert_less, antioch_assert_not_equal_to, Antioch::VantHoffRate< CoeffType >::set_Cf(), Antioch::VantHoffRate< CoeffType >::set_D(), Antioch::VantHoffRate< CoeffType >::set_Ea(), Antioch::VantHoffRate< CoeffType >::set_eta(), Antioch::VantHoffRate< CoeffType >::set_rscale(), and Antioch::VantHoffRate< CoeffType >::set_Tref().
Referenced by tester().
|
inline |
set _Ea, unit is K, _raw_Ea is computed
Definition at line 253 of file vanthoff_rate.h.
References Antioch::VantHoffRate< CoeffType >::_rscale, and Antioch::VantHoffRate< CoeffType >::Ea().
Referenced by Antioch::VantHoffRate< CoeffType >::set_parameter().
|
inline |
Definition at line 420 of file vanthoff_rate.h.
References Antioch::VantHoffRate< CoeffType >::_rscale.
Referenced by Antioch::VantHoffRate< CoeffType >::get_parameter(), and Antioch::VantHoffRate< CoeffType >::set_rscale().
|
inline |
Definition at line 215 of file vanthoff_rate.h.
References Antioch::VantHoffRate< CoeffType >::Cf(), and Antioch::VantHoffRate< CoeffType >::compute_cf().
Referenced by Antioch::VantHoffRate< CoeffType >::reset_coefs(), Antioch::VantHoffRate< CoeffType >::set_parameter(), and tester().
|
inline |
Definition at line 271 of file vanthoff_rate.h.
References Antioch::VantHoffRate< CoeffType >::D().
Referenced by Antioch::VantHoffRate< CoeffType >::reset_coefs(), Antioch::VantHoffRate< 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 244 of file vanthoff_rate.h.
References Antioch::VantHoffRate< CoeffType >::_rscale, and Antioch::VantHoffRate< CoeffType >::Ea().
Referenced by Antioch::VantHoffRate< CoeffType >::reset_coefs(), and tester().
|
inline |
Definition at line 235 of file vanthoff_rate.h.
References Antioch::VantHoffRate< CoeffType >::compute_cf(), and Antioch::VantHoffRate< CoeffType >::eta().
Referenced by Antioch::VantHoffRate< CoeffType >::reset_coefs(), Antioch::VantHoffRate< CoeffType >::set_parameter(), and tester().
|
inherited |
|
inline |
set one parameter, characterized by enum
Definition at line 300 of file vanthoff_rate.h.
References Antioch::KineticsModel::A, antioch_error, Antioch::KineticsModel::B, Antioch::KineticsModel::D, Antioch::KineticsModel::E, Antioch::KineticsModel::R_SCALE, Antioch::VantHoffRate< CoeffType >::reset_Ea(), Antioch::VantHoffRate< CoeffType >::set_Cf(), Antioch::VantHoffRate< CoeffType >::set_D(), Antioch::VantHoffRate< CoeffType >::set_eta(), Antioch::VantHoffRate< CoeffType >::set_rscale(), Antioch::VantHoffRate< CoeffType >::set_Tref(), and Antioch::KineticsModel::T_REF.
|
inline |
for compatibility purpose with photochemistry (particle flux reactions)
Definition at line 101 of file vanthoff_rate.h.
References antioch_error.
|
inline |
Definition at line 262 of file vanthoff_rate.h.
References Antioch::VantHoffRate< CoeffType >::_rscale, and Antioch::VantHoffRate< CoeffType >::rscale().
Referenced by Antioch::VantHoffRate< CoeffType >::reset_coefs(), Antioch::VantHoffRate< CoeffType >::set_parameter(), and tester().
|
inline |
Definition at line 225 of file vanthoff_rate.h.
References Antioch::VantHoffRate< CoeffType >::compute_cf(), and Antioch::VantHoffRate< CoeffType >::Tref().
Referenced by Antioch::VantHoffRate< CoeffType >::reset_coefs(), Antioch::VantHoffRate< CoeffType >::set_parameter(), and tester().
|
inline |
Definition at line 415 of file vanthoff_rate.h.
References Antioch::VantHoffRate< CoeffType >::_Tref.
Referenced by Antioch::VantHoffRate< CoeffType >::get_parameter(), and Antioch::VantHoffRate< CoeffType >::set_Tref().
|
inherited |
|
private |
Definition at line 65 of file vanthoff_rate.h.
Referenced by Antioch::VantHoffRate< CoeffType >::Cf().
|
private |
Definition at line 69 of file vanthoff_rate.h.
Referenced by Antioch::VantHoffRate< CoeffType >::D().
|
private |
Definition at line 68 of file vanthoff_rate.h.
Referenced by Antioch::VantHoffRate< CoeffType >::Ea_K().
|
private |
Definition at line 66 of file vanthoff_rate.h.
Referenced by Antioch::VantHoffRate< CoeffType >::eta(), and Antioch::VantHoffRate< CoeffType >::numeric().
|
private |
Definition at line 64 of file vanthoff_rate.h.
Referenced by Antioch::VantHoffRate< CoeffType >::numeric().
|
private |
Definition at line 67 of file vanthoff_rate.h.
Referenced by Antioch::VantHoffRate< CoeffType >::Ea().
|
private |
Definition at line 71 of file vanthoff_rate.h.
Referenced by Antioch::VantHoffRate< CoeffType >::reset_Ea(), Antioch::VantHoffRate< CoeffType >::rscale(), Antioch::VantHoffRate< CoeffType >::set_Ea(), Antioch::VantHoffRate< CoeffType >::set_rscale(), and Antioch::VantHoffRate< CoeffType >::VantHoffRate().
|
private |
Definition at line 70 of file vanthoff_rate.h.
Referenced by Antioch::VantHoffRate< CoeffType >::Tref().
_Cf(*) StateType StateType& drate_d Antioch::VantHoffRate< CoeffType >::const) |
Definition at line 144 of file vanthoff_rate.h.
_Cf(*) StateType Antioch::VantHoffRate< CoeffType >::rate) |
Definition at line 144 of file vanthoff_rate.h.
|
inline |
Definition at line 168 of file vanthoff_rate.h.
Referenced by test_values(), and vectester().
_Cf(* Antioch::VantHoffRate< CoeffType >::this)(T)*(_D+_eta/T+_Ea/(T *T)))template< typename StateType > void rate_and_derivative(const StateType &T |
Simultaneously evaluate the rate and its derivative at T
.
Definition at line 140 of file vanthoff_rate.h.
_Cf VectorStateType VectorStateType(* Antioch::VantHoffRate< CoeffType >::this)(T)*(_D+_eta/T.T()+_Ea/(T.temp_cache().T2)))template< typename StateType |
Simultaneously evaluate the rate and its derivative at T
.
Definition at line 164 of file vanthoff_rate.h.