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 returns False.

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, or False 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). If False, uses Cantera.ArrheniusRate

to_html(self)

Return an HTML rendering.

uncertainty

rmgpy.kinetics.uncertainties.RateUncertainty

Type:

uncertainty