rmgpy.kinetics.StickingCoefficient

class rmgpy.kinetics.StickingCoefficient(A=None, n=0.0, Ea=None, T0=(1.0, 'K'), Tmin=None, Tmax=None, Pmin=None, Pmax=None, coverage_dependence=None, comment='')

A kinetics model to give Sticking Coefficients for surface adsorption, following Arrhenius form. Similar to Arrhenius but with different units for A. The attributes are:

Attribute

Description

A

The preexponential factor. Unitless (sticking probability)

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.

comment

Information about the model (e.g. its source)

The Sticking coefficient class uses an Arrhenius-like expression to determine the sticking coefficient \(\gamma\) of a species on a surface.

\[\gamma = A (T/T_0)^{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 sticking coefficient is then used to calculate the rate coefficient \(k\) using the following expression:

\[k = \frac{\gamma}{\Gamma} \sqrt{\frac{RT}{2 \pi W}}\]

where \(\Gamma\) is the surface site density and \(W\) is the molecular weight of the gas phase species.

A

The preexponential factor.

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 Arrhenius parameters to a set of sticking 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 value of the rate coefficient \(k(T)\) in units of m^3, mol, and s at the specified temperature T in K. This method must be overloaded in the derived class.

get_sticking_coefficient(self, double T) double

Return the sticking coefficient (dimensionless) 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 the sticking coefficient at temperatures 500,1000,1500,2000 K 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.

solute

object

Type:

solute

to_cantera_kinetics(self)

Converts the RMG StickingCoefficient object to a cantera StickingArrheniusRate

StickingArrheniusRate(A,b,E) where A is dimensionless, b is dimensionless, and E is in J/kmol

to_html(self)

Return an HTML rendering.

uncertainty

rmgpy.kinetics.uncertainties.RateUncertainty

Type:

uncertainty