rmgpy.kinetics.Troe

class rmgpy.kinetics.Troe(arrheniusHigh=None, arrheniusLow=None, alpha=0.0, T3=None, T1=None, T2=None, Tmin=None, Tmax=None, Pmin=None, Pmax=None, efficiencies=None, comment='')

A kinetic model of a phenomenological rate coefficient \(k(T, P)\) using the Troe formulation. The attributes are:

Attribute Description
arrheniusHigh The Arrhenius kinetics at the high-pressure limit
arrheniusLow The Arrhenius kinetics at the low-pressure limit
alpha The \(\alpha\) parameter
T1 The \(T_1\) parameter
T2 The \(T_2\) parameter
T3 The \(T_3\) parameter
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
efficiencies A dict associating chemical species with associated efficiencies
comment Information about the model (e.g. its source)

The Troe model attempts to make the Lindemann model quantitative by introducing a broadening factor \(F\). The formulation is as follows:

\[k(T,P) = k_\infty(T) \left[ \frac{P_\mathrm{r}}{1 + P_\mathrm{r}} \right] F\]

where

\[ \begin{align}\begin{aligned}P_\mathrm{r} &= \frac{k_0(T)}{k_\infty(T)} [\mathrm{M}]\\k_0(T) &= A_0 T^{n_0} \exp \left( - \frac{E_0}{RT} \right)\\k_\infty(T) &= A_\infty T^{n_\infty} \exp \left( - \frac{E_\infty}{RT} \right)\end{aligned}\end{align} \]

and \([\mathrm{M}] \approx P/RT\) is the concentration of the bath gas. The Arrhenius expressions \(k_0(T)\) and \(k_\infty(T)\) represent the low-pressure and high-pressure limit kinetics, respectively. The broadening factor \(F\) is computed via

\[ \begin{align}\begin{aligned}\log F &= \left\{1 + \left[ \frac{\log P_\mathrm{r} + c}{n - d (\log P_\mathrm{r} + c)} \right]^2 \right\}^{-1} \log F_\mathrm{cent}\\c &= -0.4 - 0.67 \log F_\mathrm{cent}\\n &= 0.75 - 1.27 \log F_\mathrm{cent}\\d &= 0.14\\F_\mathrm{cent} &= (1 - \alpha) \exp \left( -T/T_3 \right) + \alpha \exp \left( -T/T_1 \right) + \exp \left( -T_2/T \right)\end{aligned}\end{align} \]
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.

T1

The Troe \(T_1\) parameter.

T2

The Troe \(T_2\) parameter.

T3

The Troe \(T_3\) parameter.

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.

alpha

alpha: ‘double’

arrheniusHigh

arrheniusHigh: rmgpy.kinetics.arrhenius.Arrhenius

arrheniusLow

arrheniusLow: rmgpy.kinetics.arrhenius.Arrhenius

changeRate(self, double factor)

Changes kinetics rate by a multiple factor.

comment

comment: str

discrepancy(self, KineticsModel otherKinetics) → double

Returns some measure of the discrepancy based on two different reaction models.

efficiencies

efficiencies: dict

getCanteraEfficiencies(self, speciesList)

Returns a dictionary containing the collider efficiencies for this PDepKineticsModel object suitable for setting the efficiencies in the following cantera reaction objects: ThreeBodyReaction, FalloffReaction,`ChemicallyActivatedReaction`

getEffectiveColliderEfficiencies(self, list species) → ndarray

Return the effective collider efficiencies for all species in the form of a numpy array. This function helps assist rapid effective pressure calculations in the solver.

getEffectivePressure(self, double P, list species, ndarray fractions) → double

Return the effective pressure in Pa for a system at a given pressure P in Pa composed of the given list of species (Species or Molecule objects) with the given fractions.

getRateCoefficient(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 and pressure P in Pa. If you wish to consider collision efficiencies, then you should first use getEffectivePressure() to compute the effective pressure, and pass that value as the pressure to this method.

highPlimit

highPlimit: rmgpy.kinetics.model.KineticsModel

isIdenticalTo(self, KineticsModel otherKinetics) → bool

Checks to see if kinetics matches that of other kinetics and returns True if coeffs, kunits, Tmin,

isPressureDependent(self) → bool

Return True since all objects derived from PDepKineticsModel represent pressure-dependent kinetics.

isPressureValid(self, double P) → bool

Return True if the pressure P in Pa is within the valid pressure range of the kinetic data, or False if not. If the minimum and maximum pressure are not defined, True is returned.

isSimilarTo(self, KineticsModel otherKinetics) → 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.

isTemperatureValid(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.

setCanteraKinetics(self, ctReaction, speciesList)

Sets the efficiencies, kinetics, and troe falloff parameters for a cantera FalloffReaction.

toHTML(self)

Return an HTML rendering.