An abstract base class for evaluating all reactions of a particular type.
More...
#include <MultiRateBase.h>
An abstract base class for evaluating all reactions of a particular type.
Because this class has no template parameters, the Kinetics object can store all of these rate coefficient evaluators as a vector<shared_ptr<MultiRateBase>>. All of the actual implementation for this capability is done in the MultiRate class.
Definition at line 27 of file MultiRateBase.h.
|
| virtual string | type ()=0 |
| | Identifier of reaction rate type.
|
| |
| virtual void | add (size_t rxn_index, ReactionRate &rate)=0 |
| | Add reaction rate object to the evaluator.
|
| |
| virtual bool | replace (size_t rxn_index, ReactionRate &rate)=0 |
| | Replace reaction rate object handled by the evaluator.
|
| |
| virtual void | resize (Kinetics &kin)=0 |
| | Update array sizes that depend on number of species, reactions or phases.
|
| |
| virtual void | getRateConstants (span< double > kf)=0 |
| | Evaluate all rate constants handled by the evaluator.
|
| |
| virtual void | modifyRateConstants (span< double > kf, span< double > kr)=0 |
| | For certain reaction types that do not follow mass action kinetics (for example, Butler-Volmer), calculate modifications to the forward and reverse rate constants.
|
| |
| virtual void | processRateConstants_ddT (span< double > rop, span< const double > kf, double deltaT)=0 |
| | Evaluate all rate constant temperature derivatives handled by the evaluator; which are multiplied with the array of rate-of-progress variables.
|
| |
| virtual void | processRateConstants_ddP (span< double > rop, span< const double > kf, double deltaP)=0 |
| | Evaluate all rate constant pressure derivatives handled by the evaluator; which are multiplied with the array of rate-of-progress variables.
|
| |
| virtual void | processRateConstants_ddM (span< double > rop, span< const double > kf, double deltaM, bool overwrite=true)=0 |
| | Evaluate all rate constant third-body derivatives handled by the evaluator; which are multiplied with the array of rate-of-progress variables.
|
| |
| virtual void | update (double T)=0 |
| | Update common reaction rate data based on temperature.
|
| |
| virtual void | update (double T, double extra)=0 |
| | Update common reaction rate data based on temperature and extra parameter.
|
| |
| virtual void | update (double T, span< const double > extra)=0 |
| | Update common reaction rate data based on temperature and extra parameter.
|
| |
| virtual bool | update (const ThermoPhase &phase, const Kinetics &kin)=0 |
| | Update data common to reaction rates of a specific type.
|
| |
| virtual double | evalSingle (ReactionRate &rate)=0 |
| | Get the rate for a single reaction.
|
| |
◆ ~MultiRateBase()
◆ type()
◆ add()
◆ replace()
| virtual bool replace |
( |
size_t |
rxn_index, |
|
|
ReactionRate & |
rate |
|
) |
| |
|
pure virtual |
Replace reaction rate object handled by the evaluator.
- Parameters
-
| rxn_index | index of reaction |
| rate | reaction rate object |
Implemented in MultiRate< RateType, DataType >.
◆ resize()
Update array sizes that depend on number of species, reactions or phases.
- Since
- Changed in Cantera 4.0 to take a Kinetics object as argument instead of specific array sizes.
Implemented in MultiRate< RateType, DataType >.
◆ getRateConstants()
| virtual void getRateConstants |
( |
span< double > |
kf | ) |
|
|
pure virtual |
◆ modifyRateConstants()
| virtual void modifyRateConstants |
( |
span< double > |
kf, |
|
|
span< double > |
kr |
|
) |
| |
|
pure virtual |
For certain reaction types that do not follow mass action kinetics (for example, Butler-Volmer), calculate modifications to the forward and reverse rate constants.
- Parameters
-
| [in,out] | kf | On input, contains the rate constants as computed by getRateConstants(). The output value is updated by the reactant StoichManagerN to determine the forward rates of progress. |
| [in,out] | kr | On input, contains the reverse rate constants computed from the forward rate constants and the equilibrium constants. The output value is updated by the product StoichManagerN to determine the reverse rates of progress. |
- Since
- New in Cantera 3.2
Implemented in MultiRate< RateType, DataType >.
◆ processRateConstants_ddT()
| virtual void processRateConstants_ddT |
( |
span< double > |
rop, |
|
|
span< const double > |
kf, |
|
|
double |
deltaT |
|
) |
| |
|
pure virtual |
Evaluate all rate constant temperature derivatives handled by the evaluator; which are multiplied with the array of rate-of-progress variables.
Depending on the implementation of a rate object, either an exact derivative or a numerical approximation may be used.
- Parameters
-
| [in,out] | rop | array of rop, which is modified by the method; contains rop on input, and d(rop)/dT on output |
| kf | array of forward rate constants (numerical derivative only) |
| deltaT | relative temperature perturbation (numerical derivative only) |
Implemented in MultiRate< RateType, DataType >.
◆ processRateConstants_ddP()
| virtual void processRateConstants_ddP |
( |
span< double > |
rop, |
|
|
span< const double > |
kf, |
|
|
double |
deltaP |
|
) |
| |
|
pure virtual |
Evaluate all rate constant pressure derivatives handled by the evaluator; which are multiplied with the array of rate-of-progress variables.
- Parameters
-
| [in,out] | rop | array of rop, which is modified by the method; contains rop on input, and d(rop)/dP on output |
| kf | array of forward rate constants |
| deltaP | relative pressure perturbation |
Implemented in MultiRate< RateType, DataType >.
◆ processRateConstants_ddM()
| virtual void processRateConstants_ddM |
( |
span< double > |
rop, |
|
|
span< const double > |
kf, |
|
|
double |
deltaM, |
|
|
bool |
overwrite = true |
|
) |
| |
|
pure virtual |
Evaluate all rate constant third-body derivatives handled by the evaluator; which are multiplied with the array of rate-of-progress variables.
- Parameters
-
| [in,out] | rop | array of rop, which is modified by the method; contains rop on input, and d(rop)/dM on output |
| kf | array of forward rate constants |
| deltaM | relative perturbation of third-body concentrations |
| overwrite | if true, rop entries not affected by M are set to zero |
Implemented in MultiRate< RateType, DataType >.
◆ update() [1/4]
| virtual void update |
( |
double |
T | ) |
|
|
pure virtual |
◆ update() [2/4]
| virtual void update |
( |
double |
T, |
|
|
double |
extra |
|
) |
| |
|
pure virtual |
Update common reaction rate data based on temperature and extra parameter.
Only used in conjunction with evalSingle and ReactionRate::eval
- Parameters
-
| T | temperature [K] |
| extra | extra parameter (depends on parameterization) |
Implemented in MultiRate< RateType, DataType >.
◆ update() [3/4]
| virtual void update |
( |
double |
T, |
|
|
span< const double > |
extra |
|
) |
| |
|
pure virtual |
Update common reaction rate data based on temperature and extra parameter.
Only used in conjunction with evalSingle and ReactionRate::eval
- Parameters
-
| T | temperature [K] |
| extra | extra vector parameter (depends on parameterization) |
- Warning
- This method is an experimental part of the Cantera API and may be changed or removed without notice.
Implemented in MultiRate< RateType, DataType >.
◆ update() [4/4]
Update data common to reaction rates of a specific type.
This update mechanism is used by Kinetics reaction rate evaluators.
- Parameters
-
| phase | object representing reacting phase |
| kin | object representing kinetics |
- Returns
- flag indicating whether reaction rates need to be re-evaluated
Implemented in MultiRate< RateType, DataType >.
◆ evalSingle()
The documentation for this class was generated from the following file: