Cantera  2.3.0
ChebyshevRate Class Reference

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

## Detailed Description

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 340 of file RxnRates.h.

## ◆ ChebyshevRate() [1/2]

 ChebyshevRate ( )
inline

Default constructor.

Definition at line 349 of file RxnRates.h.

## ◆ ChebyshevRate() [2/2]

 ChebyshevRate ( double Tmin, double Tmax, double Pmin, double Pmax, const Array2D & coeffs )

Constructor directly from coefficient array.

Definition at line 127 of file RxnRates.cpp.

## ◆ type()

 static int type ( )
inlinestatic

return the rate coefficient type.

Definition at line 344 of file RxnRates.h.

## ◆ update_C()

 void update_C ( const doublereal * c )
inline

Update concentration-dependent parts of the rate coefficient.

Parameters
 c base-10 logarithm of the pressure in Pa

Definition at line 366 of file RxnRates.h.

## ◆ updateRC()

 doublereal updateRC ( doublereal logT, doublereal recipT ) const
inline

Update the value the rate constant.

This function returns the actual value of the rate constant.

Definition at line 389 of file RxnRates.h.

References ChebyshevRate::dotProd_, ChebyshevRate::nT_, and ChebyshevRate::TrDen_.

## ◆ Tmin()

 double Tmin ( ) const
inline

Minimum valid temperature [K].

Definition at line 405 of file RxnRates.h.

Referenced by ChebyshevRate::ChebyshevRate().

## ◆ Tmax()

 double Tmax ( ) const
inline

Maximum valid temperature [K].

Definition at line 410 of file RxnRates.h.

References ChebyshevRate::Tmax_.

Referenced by ChebyshevRate::ChebyshevRate().

## ◆ Pmin()

 double Pmin ( ) const
inline

Minimum valid pressure [Pa].

Definition at line 415 of file RxnRates.h.

Referenced by ChebyshevRate::ChebyshevRate().

## ◆ Pmax()

 double Pmax ( ) const
inline

Maximum valid pressure [Pa].

Definition at line 420 of file RxnRates.h.

References ChebyshevRate::Pmax_.

Referenced by ChebyshevRate::ChebyshevRate().

## ◆ nPressure()

 size_t nPressure ( ) const
inline

Number of points in the pressure direction.

Definition at line 425 of file RxnRates.h.

References ChebyshevRate::nP_.

## ◆ nTemperature()

 size_t nTemperature ( ) const
inline

Number of points in the temperature direction.

Definition at line 430 of file RxnRates.h.

References ChebyshevRate::nT_.

## ◆ coeffs()

 const vector_fp& coeffs ( ) const
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 439 of file RxnRates.h.

References ChebyshevRate::chebCoeffs_.

Referenced by ChebyshevRate::ChebyshevRate().

## ◆ Tmax_

 double Tmax_
protected

valid temperature range

Definition at line 444 of file RxnRates.h.

Referenced by ChebyshevRate::Tmax().

## ◆ Pmax_

 double Pmax_
protected

valid pressure range

Definition at line 445 of file RxnRates.h.

Referenced by ChebyshevRate::Pmax().

## ◆ TrDen_

 double TrDen_
protected

terms appearing in the reduced temperature

Definition at line 446 of file RxnRates.h.

Referenced by ChebyshevRate::ChebyshevRate(), and ChebyshevRate::updateRC().

## ◆ PrDen_

 double PrDen_
protected

terms appearing in the reduced pressure

Definition at line 447 of file RxnRates.h.

Referenced by ChebyshevRate::ChebyshevRate().

## ◆ nP_

 size_t nP_
protected

number of points in the pressure direction

Definition at line 449 of file RxnRates.h.

Referenced by ChebyshevRate::ChebyshevRate(), and ChebyshevRate::nPressure().

## ◆ nT_

 size_t nT_
protected

number of points in the temperature direction

Definition at line 450 of file RxnRates.h.

## ◆ chebCoeffs_

 vector_fp chebCoeffs_
protected

Chebyshev coefficients, length nP * nT.

Definition at line 451 of file RxnRates.h.

Referenced by ChebyshevRate::ChebyshevRate(), and ChebyshevRate::coeffs().

## ◆ dotProd_

 vector_fp dotProd_
protected

dot product of chebCoeffs with the reduced pressure polynomial

Definition at line 452 of file RxnRates.h.

Referenced by ChebyshevRate::updateRC().

The documentation for this class was generated from the following files: