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 polynomial-based fit, and one must take care to minimize the magnitude of Runge’s phenomenon. The formulation is as follows:
Above, \(\alpha_{tp}\) is a constant, \(\phi_n(x)\) is the Chebyshev polynomial of degree \(n\) evaluated at \(x\), and
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 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.
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.