rmgpy.kinetics.Chebyshev¶

class
rmgpy.kinetics.
Chebyshev
(coeffs=None, kunits='', highPlimit=None, Tmin=None, Tmax=None, Pmin=None, Pmax=None, comment='')¶ A model of a phenomenological rate coefficient \(k(T,P)\) using a set of Chebyshev polynomials in temperature and pressure. The attributes are:
Attribute Description coeffs Matrix of Chebyshev coefficients, such that the resulting \(k(T,P)\) has units of cm^3, mol, s kunits The units of the rate coefficient degreeT The number of terms in the inverse temperature direction degreeP The number of terms in the log pressure direction 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 comment Information about the model (e.g. its source) The Chebyshev polynomial formulation is a means of fitting a wide range of complex \(k(T,P)\) behavior. However, there is no meaningful physical interpretation of the polynomialbased fit, and one must take care to minimize the magnitude of Runge’s phenomenon. The formulation is as follows:
\[\log k(T,P) = \sum_{t=1}^{N_T} \sum_{p=1}^{N_P} \alpha_{tp} \phi_t(\tilde{T}) \phi_p(\tilde{P})\]Above, \(\alpha_{tp}\) is a constant, \(\phi_n(x)\) is the Chebyshev polynomial of degree \(n\) evaluated at \(x\), and
\[\tilde{T} \equiv \frac{2T^{1}  T_\mathrm{min}^{1}  T_\mathrm{max}^{1}}{T_\mathrm{max}^{1}  T_\mathrm{min}^{1}}\]\[\tilde{P} \equiv \frac{2 \log P  \log P_\mathrm{min}  \log P_\mathrm{max}}{\log P_\mathrm{max}  \log P_\mathrm{min}}\]are reduced temperature and reduced pressure designed to map the ranges \((T_\mathrm{min}, T_\mathrm{max})\) and \((P_\mathrm{min}, P_\mathrm{max})\) to \((1, 1)\).

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.

changeRate
(self, double factor)¶ Changes kinetics rates by a multiple
factor
.

coeffs
¶ The Chebyshev coefficients.

comment
¶ comment – str

degreeP
¶ degreeP – ‘int’

degreeT
¶ degreeT – ‘int’

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, int degreeT, int degreeP, double Tmin, double Tmax, double Pmin, double Pmax)¶ Fit a Chebyshev kinetic model to a set of rate coefficients K, which is a matrix corresponding to the temperatures Tlist in K and pressures Plist in Pa. degreeT and degreeP are the degree of the polynomials in temperature and pressure, while Tmin, Tmax, Pmin, and Pmax set the edges of the valid temperature and pressure ranges in K and bar, respectively.

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 by evaluating the Chebyshev expression.

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 pressuredependent kinetics.

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

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, orFalse
if not. If the minimum and maximum temperature are not defined,True
is returned.

kunits
¶ kunits – str

setCanteraKinetics
(self, ctReaction, speciesList)¶ Sets the kinetics parameters for a Cantera ChebyshevReaction() object Uses set_parameters(self,Tmin,Tmax,Pmin,Pmax,coeffs) where T’s are in units of K, P’s in units of Pa, and coeffs is 2D array of (nTemperature, nPressure).

toHTML
(self)¶ Return an HTML rendering.
