27 #ifndef ANTIOCH_HERCOURT_ESSEN_RATE_H
28 #define ANTIOCH_HERCOURT_ESSEN_RATE_H
56 template<
typename CoeffType=
double>
85 template <
typename VectorCoeffType>
98 template <
typename VectorCoeffType>
99 void reset_coefs(
const VectorCoeffType & coefficients);
101 CoeffType
Cf()
const;
102 CoeffType
eta()
const;
103 CoeffType
Tref()
const;
106 template <
typename StateType>
112 template <typename StateType>
118 template <typename StateType>
124 template <typename StateType>
130 template <typename StateType, typename VectorStateType>
136 template <typename StateType, typename VectorStateType>
142 template <typename StateType, typename VectorStateType>
148 template <typename StateType,typename VectorStateType>
160 template<typename CoeffType>
172 template<
typename CoeffType>
178 template<
typename CoeffType>
181 std::stringstream os;
183 os <<
"*(T/" << _Tref <<
")^" <<
_eta;
189 template<
typename CoeffType>
199 template<
typename CoeffType>
208 template<
typename CoeffType>
218 template<
typename CoeffType>
219 template <
typename VectorCoeffType>
225 if(coefficients.size() == 3)this->
set_Tref(coefficients[2]);
226 this->
set_Cf(coefficients[0]);
227 this->
set_eta(coefficients[1]);
230 template<
typename CoeffType>
259 template<
typename CoeffType>
290 template<
typename CoeffType>
295 template<
typename CoeffType>
300 template<
typename CoeffType>
305 template<
typename CoeffType>
306 template<
typename StateType>
310 StateType& drate_dT)
const
313 drate_dT = rate/T*(
_eta);
317 template<
typename CoeffType>
321 _Cf = _raw_Cf *
ant_pow(KineticsModel::Tref<CoeffType>()/_Tref,_eta);
326 template<
typename CoeffType>
327 template <
typename StateType,
typename VectorStateType>
331 StateType& drate_dT)
const
333 rate = (*this)(cond);
334 drate_dT = rate/cond.
T() *
_eta;
340 #endif // ANTIOCH_HERCOURT_ESSEN_RATE_H
void set_parameter(KineticsModel::Parameters parameter, VectorCoeffType new_value)
for compatibility purpose with photochemistry (particle flux reactions)
_Cf VectorStateType VectorStateType derivative(const KineticsConditions< StateType, VectorStateType > &T) const ANTIOCH_AUTOFUNC(StateType
base class for kinetics models
const std::string numeric() const
print equation
#define antioch_assert_greater(expr1, expr2)
#define antioch_assert_less(expr1, expr2)
void set_parameter(KineticsModel::Parameters parameter, CoeffType new_value)
set one parameter, characterized by enum
void set_Tref(const CoeffType Tref)
void reset_coefs(const VectorCoeffType &coefficients)
reset the coeffs
void set_eta(const CoeffType eta)
_Cf * ant_exp(_eta *T.temp_cache().lnT)) template< typename StateType
_Cf * ant_pow(T, _eta))) template< typename StateType > operator()(const StateType &T) const template< typename StateType > derivative(const StateType &T) const ANTIOCH_AUTOFUNC(StateType
_Cf(*) StateType StateType &drate_d const)
CoeffType get_parameter(KineticsModel::Parameters parameter) const
get one parameter, characterized by enum
#define ANTIOCH_AUTOFUNC(Type, Expr)
const ANTIOCH_AUTO(StateType) KineticsTheoryThermalConductivity< ThermoEvaluator
Hercourt-Essen rate equation.
_Cf(* this)(T)/T *(_eta)) template< typename StateType > void rate_and_derivative(const StateType &T
Simultaneously evaluate the rate and its derivative at T.
The parameters are reduced parameters.
void set_Cf(const CoeffType Cf)
HercourtEssenRate(const CoeffType Cf=0., const CoeffType eta=0., const CoeffType Tref=1.)
const StateType & T() const
This class contains the conditions of the chemistry.
_Cf VectorStateType VectorStateType(*) VectorStateType voi rate_and_derivative)(const KineticsConditions< StateType, VectorStateType > &T, StateType &rate, StateType &drate_dT) const