Cantera
2.5.1
|
Pressure-dependent rate expression where the rate coefficient is expressed as a bivariate Chebyshev polynomial in temperature and pressure. More...
#include <RxnRates.h>
Public Member Functions | |
ChebyshevRate () | |
Default constructor. More... | |
ChebyshevRate (double Tmin, double Tmax, double Pmin, double Pmax, const Array2D &coeffs) | |
Constructor directly from coefficient array. More... | |
void | update_C (const doublereal *c) |
Update concentration-dependent parts of the rate coefficient. More... | |
doublereal | updateRC (doublereal logT, doublereal recipT) const |
Update the value the rate constant. More... | |
double | Tmin () const |
Minimum valid temperature [K]. More... | |
double | Tmax () const |
Maximum valid temperature [K]. More... | |
double | Pmin () const |
Minimum valid pressure [Pa]. More... | |
double | Pmax () const |
Maximum valid pressure [Pa]. More... | |
size_t | nPressure () const |
Number of points in the pressure direction. More... | |
size_t | nTemperature () const |
Number of points in the temperature direction. More... | |
const vector_fp & | coeffs () const |
Access the Chebyshev coefficients. More... | |
Static Public Member Functions | |
static int | type () |
return the rate coefficient type. More... | |
Protected Attributes | |
double | Tmin_ |
double | Tmax_ |
valid temperature range More... | |
double | Pmin_ |
double | Pmax_ |
valid pressure range More... | |
double | TrNum_ |
double | TrDen_ |
terms appearing in the reduced temperature More... | |
double | PrNum_ |
double | PrDen_ |
terms appearing in the reduced pressure More... | |
size_t | nP_ |
number of points in the pressure direction More... | |
size_t | nT_ |
number of points in the temperature direction More... | |
vector_fp | chebCoeffs_ |
Chebyshev coefficients, length nP * nT. More... | |
vector_fp | dotProd_ |
dot product of chebCoeffs with the reduced pressure polynomial More... | |
Pressure-dependent rate expression where the rate coefficient is expressed as a bivariate Chebyshev polynomial in temperature and pressure.
The rate constant can be written as:
\[ \log k(T,P) = \sum_{t=1}^{N_T} \sum_{p=1}^{N_P} \alpha_{tp} \phi_t(\tilde{T}) \phi_p(\tilde{P}) \]
where \(\alpha_{tp}\) are the constants defining the rate, \(\phi_n(x)\) is the Chebyshev polynomial of the first kind 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 pressures which map the ranges \( (T_\mathrm{min}, T_\mathrm{max}) \) and \( (P_\mathrm{min}, P_\mathrm{max}) \) to (-1, 1).
A Chebyshev rate expression is specified in terms of the coefficient matrix \( \alpha \) and the temperature and pressure ranges. Note that the Chebyshev polynomials are not defined outside the interval (-1,1), and therefore extrapolation of rates outside the range of temperatures and pressures for which they are defined is strongly discouraged.
Definition at line 355 of file RxnRates.h.
|
inline |
Default constructor.
Definition at line 369 of file RxnRates.h.
ChebyshevRate | ( | double | Tmin, |
double | Tmax, | ||
double | Pmin, | ||
double | Pmax, | ||
const Array2D & | coeffs | ||
) |
Constructor directly from coefficient array.
Definition at line 133 of file RxnRates.cpp.
References ChebyshevRate::chebCoeffs_, ChebyshevRate::coeffs(), ChebyshevRate::nP_, ChebyshevRate::nT_, ChebyshevRate::Pmax(), ChebyshevRate::Pmin(), ChebyshevRate::PrDen_, ChebyshevRate::Tmax(), ChebyshevRate::Tmin(), and ChebyshevRate::TrDen_.
|
inlinestatic |
return the rate coefficient type.
Definition at line 362 of file RxnRates.h.
References Cantera::warn_deprecated().
|
inline |
Update concentration-dependent parts of the rate coefficient.
c | base-10 logarithm of the pressure in Pa |
Definition at line 386 of file RxnRates.h.
References ChebyshevRate::chebCoeffs_, ChebyshevRate::dotProd_, ChebyshevRate::nP_, ChebyshevRate::nT_, and ChebyshevRate::PrDen_.
|
inline |
Update the value the rate constant.
This function returns the actual value of the rate constant.
Definition at line 409 of file RxnRates.h.
References ChebyshevRate::dotProd_, ChebyshevRate::nT_, and ChebyshevRate::TrDen_.
|
inline |
Minimum valid temperature [K].
Definition at line 425 of file RxnRates.h.
Referenced by ChebyshevRate::ChebyshevRate().
|
inline |
Maximum valid temperature [K].
Definition at line 430 of file RxnRates.h.
References ChebyshevRate::Tmax_.
Referenced by ChebyshevRate::ChebyshevRate().
|
inline |
Minimum valid pressure [Pa].
Definition at line 435 of file RxnRates.h.
Referenced by ChebyshevRate::ChebyshevRate().
|
inline |
Maximum valid pressure [Pa].
Definition at line 440 of file RxnRates.h.
References ChebyshevRate::Pmax_.
Referenced by ChebyshevRate::ChebyshevRate().
|
inline |
Number of points in the pressure direction.
Definition at line 445 of file RxnRates.h.
References ChebyshevRate::nP_.
|
inline |
Number of points in the temperature direction.
Definition at line 450 of file RxnRates.h.
References ChebyshevRate::nT_.
|
inline |
Access the Chebyshev coefficients.
\( \alpha_{t,p} = \mathrm{coeffs}[N_P*t + p] \) where \( 0 <= t < N_T \) and \( 0 <= p < N_P \).
Definition at line 459 of file RxnRates.h.
References ChebyshevRate::chebCoeffs_.
Referenced by ChebyshevRate::ChebyshevRate().
|
protected |
valid temperature range
Definition at line 464 of file RxnRates.h.
Referenced by ChebyshevRate::Tmax().
|
protected |
valid pressure range
Definition at line 465 of file RxnRates.h.
Referenced by ChebyshevRate::Pmax().
|
protected |
terms appearing in the reduced temperature
Definition at line 466 of file RxnRates.h.
Referenced by ChebyshevRate::ChebyshevRate(), and ChebyshevRate::updateRC().
|
protected |
terms appearing in the reduced pressure
Definition at line 467 of file RxnRates.h.
Referenced by ChebyshevRate::ChebyshevRate(), and ChebyshevRate::update_C().
|
protected |
number of points in the pressure direction
Definition at line 469 of file RxnRates.h.
Referenced by ChebyshevRate::ChebyshevRate(), ChebyshevRate::nPressure(), and ChebyshevRate::update_C().
|
protected |
number of points in the temperature direction
Definition at line 470 of file RxnRates.h.
Referenced by ChebyshevRate::ChebyshevRate(), ChebyshevRate::nTemperature(), ChebyshevRate::update_C(), and ChebyshevRate::updateRC().
|
protected |
Chebyshev coefficients, length nP * nT.
Definition at line 471 of file RxnRates.h.
Referenced by ChebyshevRate::ChebyshevRate(), ChebyshevRate::coeffs(), and ChebyshevRate::update_C().
|
protected |
dot product of chebCoeffs with the reduced pressure polynomial
Definition at line 472 of file RxnRates.h.
Referenced by ChebyshevRate::update_C(), and ChebyshevRate::updateRC().