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 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 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, 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.
- 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