rmgpy.kinetics.PDepArrhenius

class rmgpy.kinetics.PDepArrhenius(pressures=None, arrhenius=None, highPlimit=None, Tmin=None, Tmax=None, Pmin=None, Pmax=None, comment='')

A kinetic model of a phenomenological rate coefficient \(k(T,P)\) where a set of Arrhenius kinetics are stored at a variety of pressures and interpolated between on a logarithmic scale. The attributes are:

Attribute Description
pressures The list of pressures
arrhenius The list of Arrhenius objects at each pressure
Tmin The minimum temperature in K at which the model is valid, or zero if unknown or undefined
Tmax The maximum temperature in K at which the model is valid, or zero if unknown or undefined
Pmin The minimum pressure in bar at which the model is valid, or zero if unknown or undefined
Pmax The maximum pressure in bar at which the model is valid, or zero if unknown or undefined
efficiencies A dict associating chemical species with associated efficiencies
order The reaction order (1 = first, 2 = second, etc.)
comment Information about the model (e.g. its source)

The pressure-dependent Arrhenius formulation is sometimes used to extend the Arrhenius expression to handle pressure-dependent kinetics. The formulation simply parameterizes \(A\), \(n\), and \(E_\mathrm{a}\) to be dependent on pressure:

\[k(T,P) = A(P) \left( \frac{T}{T_0} \right)^{n(P)} \exp \left( -\frac{E_\mathrm{a}(P)}{RT} \right)\]

Although this suggests some physical insight, the \(k(T,P)\) data is often highly complex and non-Arrhenius, limiting the usefulness of this formulation to simple systems.

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.

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.

arrhenius

arrhenius: list

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

fitToData(self, ndarray Tlist, ndarray Plist, ndarray K, str kunits, double T0=1)

Fit the pressure-dependent Arrhenius model to a matrix of rate coefficient data K with units of kunits corresponding to a set of temperatures Tlist in K and pressures Plist in Pa. An Arrhenius model is fit cpdef changeRate(self, double factor)at each pressure.

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) → double

Return the rate coefficient in the appropriate combination of m^3, mol, and s at temperature T in K and pressure P in Pa.

highPlimit

highPlimit: rmgpy.kinetics.model.KineticsModel

isIdenticalTo(self, KineticsModel otherKinetics) → bool

Returns True if kinetics matches that of another kinetics model. Each duplicate reaction must be matched and equal to that in the other PDepArrhenius model in the same order. Otherwise returns False

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.

pressures

The list of pressures.

setCanteraKinetics(self, ctReaction, speciesList)

Sets a Cantera PlogReaction()’s rates attribute with A list of tuples containing [(pressure in Pa, cantera arrhenius object), (..)]

toHTML(self)

Return an HTML rendering.