Cantera  3.1.0a1
Loading...
Searching...
No Matches

The SRI falloff function. More...

#include <Falloff.h>

Inheritance diagram for SriRate:
[legend]

Detailed Description

The SRI falloff function.

This falloff function is based on the one originally due to Stewart et al. [41], which required three parameters \( a \), \( b \), and \( c \). Kee et al. [14] generalized this slightly by adding two more parameters \( d \) and \( e \). (The original form corresponds to \( d = 1 \) and \( e = 0 \).) In keeping with the nomenclature of Kee et al. [14], the rate is referred to as the SRI falloff function.

The falloff function defines the value of \( F \) in the following rate expression

\[ k = k_{\infty} \left( \frac{P_r}{1 + P_r} \right) F \]

where

\[ P_r = \frac{k_0 [M]}{k_{\infty}} \]

\[ F(T, P_r) = {\left[ a \; \exp\left(\frac{-b}{T}\right) + \exp\left(\frac{-T}{c}\right)\right]}^n \; d \; T^e \]

where

\[ n = \frac{1.0}{1.0 + (\log_{10} P_r)^2} \]

\( c \) is required to be greater than or equal to zero. If it is zero, then the corresponding term is set to zero. \( d \) is required to be greater than zero.

Definition at line 397 of file Falloff.h.

Public Member Functions

 SriRate ()
 Constructor.
 
 SriRate (const AnyMap &node, const UnitStack &rate_units={})
 
 SriRate (const ArrheniusRate &low, const ArrheniusRate &high, const vector< double > &c)
 
unique_ptr< MultiRateBasenewMultiRate () const override
 Create a rate evaluator for reactions of a particular derived type.
 
void setFalloffCoeffs (const vector< double > &c) override
 Set coefficients used by parameterization.
 
void getFalloffCoeffs (vector< double > &c) const override
 Retrieve coefficients of the falloff parameterization.
 
void updateTemp (double T, double *work) const override
 Update the temperature parameters in the representation.
 
double F (double pr, const double *work) const override
 The falloff function.
 
const string subType () const override
 String identifying sub-type of reaction rate specialization.
 
size_t nParameters () const override
 Returns the number of parameters used by this parameterization.
 
void setParameters (const AnyMap &node, const UnitStack &rate_units) override
 Set parameters.
 
void getParameters (AnyMap &node) const override
 Get parameters.
 
- Public Member Functions inherited from FalloffRate
 FalloffRate (const AnyMap &node, const UnitStack &rate_units={})
 
virtual void setFalloffCoeffs (const vector< double > &c)
 Set coefficients of the falloff parameterization.
 
virtual void getFalloffCoeffs (vector< double > &c) const
 Retrieve coefficients of the falloff parameterization.
 
virtual void updateTemp (double T, double *work) const
 Update the temperature-dependent portions of the falloff function, if any, and store them in the 'work' array.
 
virtual double F (double pr, const double *work) const
 The falloff function.
 
double evalF (double T, double conc3b)
 Evaluate falloff function at current conditions.
 
const string type () const override
 String identifying reaction rate specialization.
 
virtual size_t nParameters () const
 Returns the number of parameters used by this parameterization.
 
void setParameters (const AnyMap &node, const UnitStack &rate_units) override
 Set parameters.
 
void getParameters (AnyMap &node) const override
 Get parameters.
 
double evalFromStruct (const FalloffData &shared_data)
 Evaluate reaction rate.
 
void check (const string &equation) override
 Check basic syntax and settings of reaction rate expression.
 
void validate (const string &equation, const Kinetics &kin) override
 Validate the reaction rate expression.
 
bool allowNegativePreExponentialFactor () const
 Get flag indicating whether negative A values are permitted.
 
void setAllowNegativePreExponentialFactor (bool value)
 Set flag indicating whether negative A values are permitted.
 
bool chemicallyActivated () const
 Get flag indicating whether reaction is chemically activated.
 
void setChemicallyActivated (bool activated)
 Set flag indicating whether reaction is chemically activated.
 
ArrheniusRatelowRate ()
 Get reaction rate in the low-pressure limit.
 
void setLowRate (const ArrheniusRate &low)
 Set reaction rate in the low-pressure limit.
 
ArrheniusRatehighRate ()
 Get reaction rate in the high-pressure limit.
 
void setHighRate (const ArrheniusRate &high)
 Set reaction rate in the high-pressure limit.
 
- Public Member Functions inherited from ReactionRate
 ReactionRate (const ReactionRate &other)
 
ReactionRateoperator= (const ReactionRate &other)
 
virtual unique_ptr< MultiRateBasenewMultiRate () const
 Create a rate evaluator for reactions of a particular derived type.
 
virtual const string type () const =0
 String identifying reaction rate specialization.
 
virtual const string subType () const
 String identifying sub-type of reaction rate specialization.
 
virtual void setParameters (const AnyMap &node, const UnitStack &units)
 Set parameters.
 
AnyMap parameters () const
 Return the parameters such that an identical Reaction could be reconstructed using the newReaction() function.
 
const UnitsconversionUnits () const
 Get the units for converting the leading term in the reaction rate expression.
 
virtual void setRateUnits (const UnitStack &rate_units)
 Set the units of the reaction rate expression.
 
virtual void check (const string &equation)
 Check basic syntax and settings of reaction rate expression.
 
virtual void validate (const string &equation, const Kinetics &kin)
 Validate the reaction rate expression.
 
size_t rateIndex () const
 Reaction rate index within kinetics evaluator.
 
void setRateIndex (size_t idx)
 Set reaction rate index within kinetics evaluator.
 
virtual void setContext (const Reaction &rxn, const Kinetics &kin)
 Set context of reaction rate evaluation.
 
double eval (double T)
 Evaluate reaction rate based on temperature.
 
double eval (double T, double extra)
 Evaluate reaction rate based on temperature and an extra parameter.
 
double eval (double T, const vector< double > &extra)
 Evaluate reaction rate based on temperature and an extra vector parameter.
 
bool valid () const
 Get flag indicating whether reaction rate is set up correctly.
 
bool compositionDependent ()
 Boolean indicating whether rate has compositional dependence.
 
void setCompositionDependence (bool comp_dep)
 Set rate compositional dependence.
 

Protected Attributes

double m_a
 parameter a in the 5-parameter SRI falloff function. Dimensionless.
 
double m_b
 parameter b in the 5-parameter SRI falloff function. [K]
 
double m_c
 parameter c in the 5-parameter SRI falloff function. [K]
 
double m_d
 parameter d in the 5-parameter SRI falloff function. Dimensionless.
 
double m_e
 parameter d in the 5-parameter SRI falloff function. Dimensionless.
 
- Protected Attributes inherited from FalloffRate
ArrheniusRate m_lowRate
 The reaction rate in the low-pressure limit.
 
ArrheniusRate m_highRate
 The reaction rate in the high-pressure limit.
 
bool m_chemicallyActivated = false
 Flag labeling reaction as chemically activated.
 
bool m_negativeA_ok = false
 Flag indicating whether negative A values are permitted.
 
double m_rc_low = NAN
 Evaluated reaction rate in the low-pressure limit.
 
double m_rc_high = NAN
 Evaluated reaction rate in the high-pressure limit.
 
vector< double > m_work
 Work vector.
 
- Protected Attributes inherited from ReactionRate
AnyMap m_input
 Input data used for specific models.
 
size_t m_rate_index = npos
 Index of reaction rate within kinetics evaluator.
 
bool m_valid = false
 Flag indicating whether reaction rate is set up correctly.
 
bool m_composition_dependent_rate = false
 Flag indicating composition dependent rate.
 
Units m_conversion_units {0.}
 Units of the leading term in the reaction rate expression.
 

Additional Inherited Members

virtual void getParameters (AnyMap &node) const
 Get parameters.
 

Constructor & Destructor Documentation

◆ SriRate() [1/3]

SriRate ( )
inline

Constructor.

Definition at line 401 of file Falloff.h.

◆ SriRate() [2/3]

SriRate ( const AnyMap node,
const UnitStack rate_units = {} 
)

Definition at line 341 of file Falloff.cpp.

◆ SriRate() [3/3]

SriRate ( const ArrheniusRate low,
const ArrheniusRate high,
const vector< double > &  c 
)
inline

Definition at line 407 of file Falloff.h.

Member Function Documentation

◆ newMultiRate()

unique_ptr< MultiRateBase > newMultiRate ( ) const
inlineoverridevirtual

Create a rate evaluator for reactions of a particular derived type.

Derived classes usually implement this as:

unique_ptr<MultiRateBase> newMultiRate() const override {
return make_unique<MultiRate<RateType, DataType>>();
unique_ptr< MultiRateBase > newMultiRate() const override
Create a rate evaluator for reactions of a particular derived type.
Definition Falloff.h:415

where RateType is the derived class name and DataType is the corresponding container for parameters needed to evaluate reactions of that type.

Reimplemented from ReactionRate.

Definition at line 415 of file Falloff.h.

◆ setFalloffCoeffs()

void setFalloffCoeffs ( const vector< double > &  c)
overridevirtual

Set coefficients used by parameterization.

Parameters
cVector of three or five doubles: The doubles are the parameters, a, b, c, d (optional; default 1.0), and e (optional; default 0.0) of the SRI parameterization

Reimplemented from FalloffRate.

Definition at line 347 of file Falloff.cpp.

◆ getFalloffCoeffs()

void getFalloffCoeffs ( vector< double > &  c) const
overridevirtual

Retrieve coefficients of the falloff parameterization.

Parameters
cVector of coefficients of the parameterization. The number and meaning of these coefficients is subclass-dependent.

Reimplemented from FalloffRate.

Definition at line 377 of file Falloff.cpp.

◆ updateTemp()

void updateTemp ( double  T,
double *  work 
) const
overridevirtual

Update the temperature parameters in the representation.

Parameters
TTemperature (Kelvin)
workVector of working space, length 2, representing the temperature-dependent part of the parameterization.

Reimplemented from FalloffRate.

Definition at line 391 of file Falloff.cpp.

◆ F()

double F ( double  pr,
const double *  work 
) const
overridevirtual

The falloff function.

Parameters
prreduced pressure (dimensionless).
workarray of size workSize() containing cached temperature-dependent intermediate results from a prior call to updateTemp.
Returns
the value of the falloff function \( F \) defined above

Reimplemented from FalloffRate.

Definition at line 400 of file Falloff.cpp.

◆ subType()

const string subType ( ) const
inlineoverridevirtual

String identifying sub-type of reaction rate specialization.

Reimplemented from ReactionRate.

Definition at line 439 of file Falloff.h.

◆ nParameters()

size_t nParameters ( ) const
inlineoverridevirtual

Returns the number of parameters used by this parameterization.

The values of these parameters can be obtained from getParameters().

Reimplemented from FalloffRate.

Definition at line 443 of file Falloff.h.

◆ setParameters()

void setParameters ( const AnyMap node,
const UnitStack units 
)
overridevirtual

Set parameters.

Parameters
nodeAnyMap object containing reaction rate specification
unitsunit definitions specific to rate information

Reimplemented from FalloffRate.

Definition at line 407 of file Falloff.cpp.

◆ getParameters()

void getParameters ( AnyMap node) const
overridevirtual

Get parameters.

Parameters
nodeAnyMap containing rate information Store the parameters of a ReactionRate needed to reconstruct an identical object. Does not include user-defined fields available in the m_input map.

Reimplemented from FalloffRate.

Definition at line 432 of file Falloff.cpp.

Member Data Documentation

◆ m_a

double m_a
protected

parameter a in the 5-parameter SRI falloff function. Dimensionless.

Definition at line 452 of file Falloff.h.

◆ m_b

double m_b
protected

parameter b in the 5-parameter SRI falloff function. [K]

Definition at line 455 of file Falloff.h.

◆ m_c

double m_c
protected

parameter c in the 5-parameter SRI falloff function. [K]

Definition at line 458 of file Falloff.h.

◆ m_d

double m_d
protected

parameter d in the 5-parameter SRI falloff function. Dimensionless.

Definition at line 461 of file Falloff.h.

◆ m_e

double m_e
protected

parameter d in the 5-parameter SRI falloff function. Dimensionless.

Definition at line 464 of file Falloff.h.


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