Loading web-font TeX/Main/Regular
Cantera  2.5.1
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
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 355 of file RxnRates.h.

Constructor & Destructor Documentation

◆ ChebyshevRate() [1/2]

ChebyshevRate ( )
inline

Default constructor.

Definition at line 369 of file RxnRates.h.

◆ ChebyshevRate() [2/2]

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

Member Function Documentation

◆ type()

static int type ( )
inlinestatic

return the rate coefficient type.

Deprecated:
To be removed after Cantera 2.5.

Definition at line 362 of file RxnRates.h.

References Cantera::warn_deprecated().

◆ update_C()

void update_C ( const doublereal *  c)
inline

Update concentration-dependent parts of the rate coefficient.

Parameters
cbase-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_.

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

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

◆ Tmin()

double Tmin ( ) const
inline

Minimum valid temperature [K].

Definition at line 425 of file RxnRates.h.

Referenced by ChebyshevRate::ChebyshevRate().

◆ Tmax()

double Tmax ( ) const
inline

Maximum valid temperature [K].

Definition at line 430 of file RxnRates.h.

References ChebyshevRate::Tmax_.

Referenced by ChebyshevRate::ChebyshevRate().

◆ Pmin()

double Pmin ( ) const
inline

Minimum valid pressure [Pa].

Definition at line 435 of file RxnRates.h.

Referenced by ChebyshevRate::ChebyshevRate().

◆ Pmax()

double Pmax ( ) const
inline

Maximum valid pressure [Pa].

Definition at line 440 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 445 of file RxnRates.h.

References ChebyshevRate::nP_.

◆ nTemperature()

size_t nTemperature ( ) const
inline

Number of points in the temperature direction.

Definition at line 450 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 459 of file RxnRates.h.

References ChebyshevRate::chebCoeffs_.

Referenced by ChebyshevRate::ChebyshevRate().

Member Data Documentation

◆ Tmax_

double Tmax_
protected

valid temperature range

Definition at line 464 of file RxnRates.h.

Referenced by ChebyshevRate::Tmax().

◆ Pmax_

double Pmax_
protected

valid pressure range

Definition at line 465 of file RxnRates.h.

Referenced by ChebyshevRate::Pmax().

◆ TrDen_

double TrDen_
protected

terms appearing in the reduced temperature

Definition at line 466 of file RxnRates.h.

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

◆ PrDen_

double PrDen_
protected

terms appearing in the reduced pressure

Definition at line 467 of file RxnRates.h.

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

◆ nP_

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

◆ nT_

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

◆ chebCoeffs_

vector_fp chebCoeffs_
protected

Chebyshev coefficients, length nP * nT.

Definition at line 471 of file RxnRates.h.

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

◆ dotProd_

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


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