rmgpy.kinetics.SurfaceArrhenius¶
- class rmgpy.kinetics.SurfaceArrhenius(A=None, n=0.0, Ea=None, T0=(1.0, 'K'), Tmin=None, Tmax=None, Pmin=None, Pmax=None, coverage_dependence=None, uncertainty=None, comment='')¶
A kinetics model based on (modified) Arrhenius for surface reactions.
It is very similar to the gas phase
Arrhenius
The attributes are:
Attribute
Description
A
The preexponential factor
T0
The reference temperature
n
The temperature exponent
Ea
The activation energy
Tmin
The minimum temperature at which the model is valid, or zero if unknown or undefined
Tmax
The maximum temperature at which the model is valid, or zero if unknown or undefined
Pmin
The minimum pressure at which the model is valid, or zero if unknown or undefined
Pmax
The maximum pressure at which the model is valid, or zero if unknown or undefined
coverage_dependence
- A dictionary of coverage dependent parameters to a certain surface species with:
a, the coefficient for exponential dependence on the coverage, m, the power-law exponent of coverage dependence, and E, the activation energy dependence on coverage.
uncertainty
Uncertainty information
comment
Information about the model (e.g. its source)
The SurfaceArrhenius class uses a rate expression that is identical to the Arrhenius class:
\[k(T) = A \left( \frac{T}{T_0} \right)^n \exp \left( -\frac{E_\mathrm{a}}{RT} \right)\]Above, \(A\) is the preexponential factor, \(T_0\) is the reference temperature, \(n\) is the temperature exponent, and \(E_\mathrm{a}\) is the activation energy.
The only difference is the units for \(A\) are in terms of surface concentration (\(\mathrm{mol/m^2}\)) instead of volume concentration (\(\mathrm{mol/m^3}\)).
- A¶
The preexponential factor.
This is the only thing different from a normal Arrhenius class.
- Ea¶
The activation energy.
- Pmax¶
The maximum pressure at which the model is valid, or
None
if not defined.
- Pmin¶
The minimum pressure at which the model is valid, or
None
if not defined.
- T0¶
The reference temperature.
- Tmax¶
The maximum temperature at which the model is valid, or
None
if not defined.
- Tmin¶
The minimum temperature at which the model is valid, or
None
if not defined.
- change_rate(self, double factor)¶
Changes A factor in Arrhenius expression by multiplying it by a
factor
.
- change_t0(self, double T0)¶
Changes the reference temperature used in the exponent to T0 in K, and adjusts the preexponential factor accordingly.
- comment¶
unicode
- Type:
comment
- coverage_dependence¶
The coverage dependence parameters.
- discrepancy(self, KineticsModel other_kinetics) double ¶
Returns some measure of the discrepancy based on two different reaction models.
- fit_to_data(self, ndarray Tlist, ndarray klist, unicode kunits, double T0=1, ndarray weights=None, bool three_params=True)¶
Fit the Arrhenius parameters to a set of rate coefficient data klist in units of kunits corresponding to a set of temperatures Tlist in K. A linear least-squares fit is used, which guarantees that the resulting parameters provide the best possible approximation to the data.
- get_rate_coefficient(self, double T, double P=0.0) double ¶
Return the rate coefficient in the appropriate combination of m^3, mol, and s at temperature T in K.
- is_identical_to(self, KineticsModel other_kinetics) bool ¶
Returns
True
if kinetics matches that of another kinetics model. Must match temperature and pressure range of kinetics model, as well as parameters: A, n, Ea, T0. (Shouldn’t have pressure range if it’s Arrhenius.) Otherwise returnsFalse
.
- is_pressure_dependent(self) bool ¶
Return
False
since, by default, all objects derived from KineticsModel represent pressure-independent kinetics.
- is_similar_to(self, KineticsModel other_kinetics) bool ¶
Returns
True
if rates of reaction at temperatures 500,1000,1500,2000 K and 1 and 10 bar are within +/ .5 for log(k), in other words, within a factor of 3.
- is_temperature_valid(self, double T) bool ¶
Return
True
if the temperature T in K is within the valid temperature range of the kinetic data, orFalse
if not. If the minimum and maximum temperature are not defined,True
is returned.
- n¶
The temperature exponent.
- set_cantera_kinetics(self, ct_reaction, species_list)¶
Passes in a cantera Reaction() object and sets its rate to a Cantera ArrheniusRate object.
- to_arrhenius_ep(self, double alpha=0.0, double dHrxn=0.0) ArrheniusEP ¶
Converts an Arrhenius object to ArrheniusEP
If setting alpha, you need to also input dHrxn, which must be given in J/mol (and vise versa).
- to_cantera_kinetics(self, arrhenius_class=False)¶
Converts the RMG Arrhenius object to a cantera ArrheniusRate or the auxiliary cantera Arrhenius class (used by falloff reactions). Inputs for both are (A,b,E) where A is in units of m^3/kmol/s, b is dimensionless, and E is in J/kmol
arrhenius_class: If
True
, uses cantera.Arrhenius (for falloff reactions). IfFalse
, uses Cantera.ArrheniusRate
- to_html(self)¶
Return an HTML rendering.
- uncertainty¶
rmgpy.kinetics.uncertainties.RateUncertainty
- Type:
uncertainty