Cantera
2.2.1
|
Pressure-dependent reaction rate expressed by logarithmically interpolating between Arrhenius rate expressions at various pressures. More...
#include <RxnRates.h>
Public Member Functions | |
Plog () | |
Default constructor. More... | |
Plog (const ReactionData &rdata) | |
Constructor from ReactionData. More... | |
Plog (const std::multimap< double, Arrhenius > &rates) | |
Constructor from Arrhenius rate expressions at a set of pressures. More... | |
void | update_C (const doublereal *c) |
Update concentration-dependent parts of the rate coefficient. More... | |
doublereal | update (doublereal logT, doublereal recipT) const |
Update the value of the logarithm of the rate constant. More... | |
doublereal | updateRC (doublereal logT, doublereal recipT) const |
Update the value the rate constant. More... | |
doublereal | activationEnergy_R () const |
void | validate (const std::string &equation) |
Check to make sure that the rate expression is finite over a range of temperatures at each interpolation pressure. More... | |
std::vector< std::pair< double, Arrhenius > > | rates () const |
Return the pressures and Arrhenius expressions which comprise this reaction. More... | |
Static Public Member Functions | |
static int | type () |
return the rate coefficient type. More... | |
static bool | alwaysComputeRate () |
Protected Types | |
typedef std::map< double, std::pair< size_t, size_t > >::iterator | pressureIter |
Protected Attributes | |
std::map< double, std::pair < size_t, size_t > > | pressures_ |
log(p) to (index range) in the rates_ vector More... | |
std::vector< Arrhenius > | rates_ |
double | logP_ |
log(p) at the current state More... | |
double | logP1_ |
double | logP2_ |
log(p) at the lower / upper pressure reference More... | |
size_t | ilow1_ |
Indices to the ranges within rates_ for the lower / upper pressure, such that rates_[ilow1_] through rates_[ilow2_] (inclusive) are the rates expressions which are combined to form the rate at the lower reference pressure. More... | |
size_t | ilow2_ |
size_t | ihigh1_ |
size_t | ihigh2_ |
double | rDeltaP_ |
reciprocal of (logP2 - logP1) More... | |
Pressure-dependent reaction rate expressed by logarithmically interpolating between Arrhenius rate expressions at various pressures.
Definition at line 319 of file RxnRates.h.
|
inline |
Default constructor.
Definition at line 328 of file RxnRates.h.
|
explicit |
Constructor from ReactionData.
Definition at line 142 of file RxnRates.cpp.
References ReactionData::equation, ReactionData::plogParameters, Plog::pressures_, ReactionData::validate, and Plog::validate().
Constructor from Arrhenius rate expressions at a set of pressures.
Definition at line 179 of file RxnRates.cpp.
References Plog::pressures_.
|
inlinestatic |
return the rate coefficient type.
Definition at line 323 of file RxnRates.h.
|
inline |
Update concentration-dependent parts of the rate coefficient.
c | natural log of the pressure in Pa |
Definition at line 338 of file RxnRates.h.
References AssertThrowMsg, Cantera::fp2str(), Plog::ilow1_, Plog::logP2_, Plog::logP_, Plog::pressures_, and Plog::rDeltaP_.
Referenced by Plog::validate().
|
inline |
Update the value of the logarithm of the rate constant.
Definition at line 367 of file RxnRates.h.
References Plog::updateRC().
|
inline |
Update the value the rate constant.
This function returns the actual value of the rate constant.
Definition at line 376 of file RxnRates.h.
References Plog::ilow1_, Plog::logP_, and Plog::rDeltaP_.
Referenced by Plog::update(), and Plog::validate().
|
inline |
Definition at line 402 of file RxnRates.h.
|
inlinestatic |
Definition at line 407 of file RxnRates.h.
void validate | ( | const std::string & | equation | ) |
Check to make sure that the rate expression is finite over a range of temperatures at each interpolation pressure.
This is potentially an issue when one of the Arrhenius expressions at a particular pressure has a negative pre-exponential factor.
Definition at line 209 of file RxnRates.cpp.
References Cantera::fp2str(), Plog::pressures_, Plog::update_C(), and Plog::updateRC().
Referenced by Plog::Plog(), and PlogReaction::validate().
std::vector< std::pair< double, Arrhenius > > rates | ( | ) | const |
Return the pressures and Arrhenius expressions which comprise this reaction.
Definition at line 231 of file RxnRates.cpp.
References Plog::pressures_.
|
protected |
log(p) to (index range) in the rates_ vector
Definition at line 423 of file RxnRates.h.
Referenced by Plog::Plog(), Plog::rates(), Plog::update_C(), and Plog::validate().
|
protected |
log(p) at the current state
Definition at line 429 of file RxnRates.h.
Referenced by Plog::update_C(), and Plog::updateRC().
|
protected |
log(p) at the lower / upper pressure reference
Definition at line 430 of file RxnRates.h.
Referenced by Plog::update_C().
|
protected |
Indices to the ranges within rates_ for the lower / upper pressure, such that rates_[ilow1_] through rates_[ilow2_] (inclusive) are the rates expressions which are combined to form the rate at the lower reference pressure.
Definition at line 436 of file RxnRates.h.
Referenced by Plog::update_C(), and Plog::updateRC().
|
protected |
reciprocal of (logP2 - logP1)
Definition at line 438 of file RxnRates.h.
Referenced by Plog::update_C(), and Plog::updateRC().