6#ifndef CT_REACTION_RATE_DELEGATOR_H
7#define CT_REACTION_RATE_DELEGATOR_H
28 "Not implemented for delegated reaction rates");
80 const string type()
const override {
94 m_setParameters(node, units);
98 m_getParameters(node);
111 function<void(
const string&,
void*)> m_validate;
113 function<void(
AnyMap&)> m_getParameters;
Header for reaction rates that involve Arrhenius-type kinetics.
A map of string keys to values whose type can vary at runtime.
Delegate member functions of a C++ class to externally-specified functions.
Public interface for kinetics managers.
An error indicating that an unimplemented function has been called.
Delegate methods of the ReactionData class to external functions.
shared_ptr< ExternalHandle > m_wrappedSolution
An external language's wrapper for the Solution object where this ReactionData object is being used.
shared_ptr< ExternalHandle > m_wrappedData
An external language's wrapper for this ReactionData object.
shared_ptr< ExternalHandle > getWrapper() const
Get the external language wrapper for this ReactionData object.
bool update(const ThermoPhase &phase, const Kinetics &kin) override
Update data container based on thermodynamic phase state.
void update(double T) override
Update data container based on temperature T
string m_rateType
The reaction rate type.
function< double(void *)> m_update
Delegated update method taking the Solution wrapper as its argument.
void setWrapper(shared_ptr< ExternalHandle > wrapper)
Set the external language wrapper for this ReactionData object.
void setType(const string &name)
Set the type of the ReactionData class.
Delegate methods of the ReactionRate class to external functions.
unique_ptr< MultiRateBase > newMultiRate() const override
Create a rate evaluator for reactions of a particular derived type.
double evalFromStruct(const ReactionDataDelegator &shared_data)
Evaluate reaction rate.
void validate(const string &equation, const Kinetics &kin) override
Validate the reaction rate expression.
void getParameters(AnyMap &node) const override
Get parameters.
string m_rateType
The name of the reaction rate type.
function< double(void *)> m_evalFromStruct
Delegated evalFromStruct method taking a pointer to the corresponding ReactionData wrapper object.
void setType(const string &type)
Set the reaction type based on the user-provided reaction rate parameterization.
const string type() const override
String identifying reaction rate specialization.
void setParameters(const AnyMap &node, const UnitStack &units) override
Set parameters.
Abstract base class for reaction rate definitions; this base class is used by user-facing APIs to acc...
Base class for a phase with thermodynamic properties.
Namespace for the Cantera kernel.
Data container holding shared data used for ReactionRate calculation.
virtual void update(double T)
Update data container based on temperature T
Unit aggregation utility.