27 #ifndef ANTIOCH_BERTHELOT_HERCOURT_ESSEN_RATE_H
28 #define ANTIOCH_BERTHELOT_HERCOURT_ESSEN_RATE_H
56 template<
typename CoeffType=
double>
75 void set_D(
const CoeffType
D );
87 template <
typename VectorCoeffType>
100 template <
typename VectorCoeffType>
101 void reset_coefs(
const VectorCoeffType & coefficients);
103 CoeffType
Cf()
const;
104 CoeffType
eta()
const;
106 CoeffType
Tref()
const;
109 template <
typename StateType>
115 template <typename StateType>
121 template <typename StateType>
127 template <typename StateType>
133 template <typename StateType, typename VectorStateType>
139 template <typename StateType, typename VectorStateType>
145 template <typename StateType, typename VectorStateType>
151 template <typename StateType,typename VectorStateType>
162 template<typename CoeffType>
174 template<
typename CoeffType>
180 template<
typename CoeffType>
183 std::stringstream os;
185 if (_eta != 0.) os <<
"*(T/" << _Tref <<
")^" <<
_eta;
186 os <<
"*exp(" << _D <<
"*T)";
192 template<
typename CoeffType>
201 template<
typename CoeffType>
210 template<
typename CoeffType>
219 template<
typename CoeffType>
227 template<
typename CoeffType>
228 template <
typename VectorCoeffType>
235 if(coefficients.size() == 4)this->
set_Tref(coefficients[3]);
236 this->
set_Cf(coefficients[0]);
237 this->
set_eta(coefficients[1]);
238 this->
set_D(coefficients[2]);
241 template<
typename CoeffType>
259 this->
set_D(new_value);
275 template<
typename CoeffType>
310 template<
typename CoeffType>
315 template<
typename CoeffType>
320 template<
typename CoeffType>
325 template<
typename CoeffType>
330 template<
typename CoeffType>
331 template<
typename StateType>
335 StateType& drate_dT)
const
338 drate_dT = rate*(_eta/T +
_D);
342 template<
typename CoeffType>
343 template<
typename StateType,
typename VectorStateType>
347 StateType& drate_dT)
const
350 drate_dT = rate*(_eta/T.T() +
_D);
354 template<
typename CoeffType>
358 _Cf = _raw_Cf *
ant_pow(KineticsModel::Tref<CoeffType>()/_Tref,_eta);
364 #endif // ANTIOCH_BERTHELOT_HERCOURT_ESSEN_RATE_H
_Cf VectorStateType VectorStateType(*) VectorStateType voi rate_and_derivative)(const KineticsConditions< StateType, VectorStateType > &T, StateType &rate, StateType &drate_dT) const
_Cf * ant_pow(T, _eta)*ant_exp(_D *T))) template< typename StateType > operator()(const StateType &T) const template< typename StateType > derivative(const StateType &T) const ANTIOCH_AUTOFUNC(StateType
_Cf * ant_exp(_eta *T.temp_cache().lnT+_D *T.T())) template< typename StateType
_Cf(* this)(T)*(_eta/T+_D)) template< typename StateType > void rate_and_derivative(const StateType &T
Simultaneously evaluate the rate and its derivative at T.
base class for kinetics models
void set_eta(const CoeffType eta)
#define antioch_assert_greater(expr1, expr2)
Berthelot Hercourt-Essen rate equation.
#define antioch_assert_less(expr1, expr2)
~BerthelotHercourtEssenRate()
Scalar BHE(const Scalar &T, const Scalar &Cf, const Scalar &eta, const Scalar &D, const Scalar &Tf=1.)
CoeffType get_parameter(KineticsModel::Parameters parameter) const
get one parameter, characterized by enum
void set_Tref(const CoeffType Tref)
BerthelotHercourtEssenRate(const CoeffType Cf=0., const CoeffType eta=0., const CoeffType D=0., const CoeffType Tref=1.)
_Cf VectorStateType VectorStateType derivative(const KineticsConditions< StateType, VectorStateType > &T) const ANTIOCH_AUTOFUNC(StateType
void reset_coefs(const VectorCoeffType &coefficients)
reset the coeffs
void set_Cf(const CoeffType Cf)
#define ANTIOCH_AUTOFUNC(Type, Expr)
const ANTIOCH_AUTO(StateType) KineticsTheoryThermalConductivity< ThermoEvaluator
void set_parameter(KineticsModel::Parameters parameter, CoeffType new_value)
set one parameter, characterized by enum
const std::string numeric() const
print equation
The parameters are reduced parameters.
void set_D(const CoeffType D)
This class contains the conditions of the chemistry.
void set_parameter(KineticsModel::Parameters parameter, VectorCoeffType new_value)
for compatibility purpose with photochemistry (particle flux reactions)
_Cf(*) StateType StateType &drate_d const)