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¶
‘double’
- Type:
alpha
- arrheniusHigh¶
rmgpy.kinetics.arrhenius.Arrhenius
- Type:
arrheniusHigh
- arrheniusLow¶
rmgpy.kinetics.arrhenius.Arrhenius
- Type:
arrheniusLow
- change_rate(self, double factor)¶
Changes kinetics rate by a multiple
factor
.
- comment¶
unicode
- Type:
comment
- discrepancy(self, KineticsModel other_kinetics) double ¶
Returns some measure of the discrepancy based on two different reaction models.
- efficiencies¶
dict
- Type:
efficiencies
- get_cantera_efficiencies(self, species_list)¶
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`
- get_effective_collider_efficiencies(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.
- get_effective_pressure(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.
- 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 and pressure P in Pa. If you wish to consider collision efficiencies, then you should first use
get_effective_pressure()
to compute the effective pressure, and pass that value as the pressure to this method.
- highPlimit¶
rmgpy.kinetics.model.KineticsModel
- Type:
highPlimit
- is_identical_to(self, KineticsModel other_kinetics) bool ¶
Checks to see if kinetics matches that of other kinetics and returns
True
if coeffs, kunits, Tmin,
- is_pressure_dependent(self) bool ¶
Return
True
since all objects derived from PDepKineticsModel represent pressure-dependent kinetics.
- is_pressure_valid(self, double P) bool ¶
Return
True
if the pressure P in Pa is within the valid pressure range of the kinetic data, orFalse
if not. If the minimum and maximum pressure are not defined,True
is returned.
- 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.
- set_cantera_kinetics(self, ct_reaction, species_list)¶
Sets the efficiencies, kinetics, and troe falloff parameters for a cantera FalloffReaction.
- to_cantera_kinetics(self)¶
Converts the Troe object to a cantera Troe object
- to_html(self)¶
Return an HTML rendering.
- uncertainty¶
rmgpy.kinetics.uncertainties.RateUncertainty
- Type:
uncertainty