Cantera  3.1.0b1
Loading...
Searching...
No Matches

Custom reaction rate depending only on temperature. More...

#include <Custom.h>

Inheritance diagram for CustomFunc1Rate:
[legend]

Detailed Description

Custom reaction rate depending only on temperature.

The rate expression is provided by a Func1 object taking a single argument (temperature) and does not use a formalized parameterization.

Warning
This class is an experimental part of the Cantera API and may be changed or removed without notice.

Definition at line 37 of file Custom.h.

Public Member Functions

 CustomFunc1Rate (const AnyMap &node, const UnitStack &rate_units)
 
unique_ptr< MultiRateBasenewMultiRate () const override
 Create a rate evaluator for reactions of a particular derived type.
 
const string type () const override
 String identifying reaction rate specialization.
 
void getParameters (AnyMap &rateNode, const Units &rate_units=Units(0.)) const
 
void validate (const string &equation, const Kinetics &kin) override
 Validate the reaction rate expression.
 
double evalFromStruct (const ArrheniusData &shared_data) const
 Update information specific to reaction.
 
void setRateFunction (shared_ptr< Func1 > f)
 Set custom rate.
 
virtual void getParameters (AnyMap &node) const
 Get parameters.
 
- 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

shared_ptr< Func1m_ratefunc
 
- 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

◆ CustomFunc1Rate()

CustomFunc1Rate ( const AnyMap node,
const UnitStack rate_units 
)

Definition at line 12 of file Custom.cpp.

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 Custom.h:43

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 43 of file Custom.h.

◆ type()

const string type ( ) const
inlineoverridevirtual

String identifying reaction rate specialization.

Implements ReactionRate.

Definition at line 47 of file Custom.h.

◆ getParameters() [1/2]

void getParameters ( AnyMap rateNode,
const Units rate_units = Units(0.) 
) const

Definition at line 40 of file Custom.cpp.

◆ validate()

void validate ( const string &  equation,
const Kinetics kin 
)
overridevirtual

Validate the reaction rate expression.

Reimplemented from ReactionRate.

Definition at line 24 of file Custom.cpp.

◆ evalFromStruct()

double evalFromStruct ( const ArrheniusData shared_data) const

Update information specific to reaction.

Parameters
shared_datadata shared by all reactions of a given type

Definition at line 32 of file Custom.cpp.

◆ setRateFunction()

void setRateFunction ( shared_ptr< Func1 f)

Set custom rate.

The call to the Func1 object takes a single argument (temperature) and does not depend on parameters handled in C++.

Definition at line 18 of file Custom.cpp.

◆ getParameters() [2/2]

virtual void getParameters ( AnyMap node) const
inlinevirtual

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 ReactionRate.

Definition at line 224 of file ReactionRate.h.

Member Data Documentation

◆ m_ratefunc

shared_ptr<Func1> m_ratefunc
protected

Definition at line 68 of file Custom.h.


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