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