Go to the documentation of this file.
302 const std::string& ph)
const;
400 doublereal* deltaProperty);
666 bool doIrreversible =
false) {
732 shared_ptr<Reaction>
reaction(
size_t i);
734 shared_ptr<const Reaction>
reaction(
size_t i)
const;
743 bool skipUndeclaredSpecies()
const {
755 bool skipUndeclaredThirdBodies()
const {
788 virtual void invalidateCache() {};
802 virtual std::pair<size_t, size_t>
checkDuplicates(
bool throw_err=
true)
const;
815 doublereal* phase_data);
818 virtual void setRoot(std::shared_ptr<Solution> root) {
827 virtual void updateROP() {
845 std::map<int, double>& r2)
const;
doublereal multiplier(size_t i) const
The current value of the multiplier for reaction i.
Kinetics()
Default constructor.
vector_fp m_perturb
Vector of perturbation factors for each reaction's rate of progress vector.
size_t kineticsSpeciesIndex(size_t k, size_t n) const
The location of species k of phase n in species arrays.
void selectPhase(const doublereal *data, const thermo_t *phase, doublereal *phase_data)
virtual double productStoichCoeff(size_t k, size_t i) const
Stoichiometric coefficient of species k as a product in reaction i.
virtual void getNetProductionRates(doublereal *wdot)
Species net production rates [kmol/m^3/s or kmol/m^2/s].
std::vector< thermo_t * > m_thermo
m_thermo is a vector of pointers to ThermoPhase objects that are involved with this kinetics operator
std::string productString(size_t i) const
Returns a string containing the products side of the reaction equation.
void checkReactionArraySize(size_t ii) const
Check that an array size is at least nReactions() Throws an exception if ii is less than nReactions()...
virtual void getDeltaGibbs(doublereal *deltaG)
Return the vector of values for the reaction Gibbs free energy change.
virtual void getRevRatesOfProgress(doublereal *revROP)
Return the Reverse rates of progress of the reactions.
std::vector< shared_ptr< Reaction > > m_reactions
Vector of Reaction objects represented by this Kinetics manager.
virtual void modifyReaction(size_t i, shared_ptr< Reaction > rNew)
Modify the rate expression associated with a reaction.
vector_fp m_ropf
Forward rate-of-progress for each reaction.
std::string reactantString(size_t i) const
Returns a string containing the reactants side of the reaction equation.
size_t m_rxnphase
Phase Index where reactions are assumed to be taking place.
virtual void addPhase(thermo_t &thermo)
Add a phase to the kinetics manager object.
virtual void getDeltaEnthalpy(doublereal *deltaH)
Return the vector of values for the reactions change in enthalpy.
virtual void getDeltaElectrochemPotentials(doublereal *deltaM)
Return the vector of values for the reaction electrochemical free energy change.
thermo_t & speciesPhase(const std::string &nm)
This function looks up the name of a species and returns a reference to the ThermoPhase object of the...
StoichManagerN m_reactantStoich
Stoichiometry manager for the reactants for each reaction.
size_t nPhases() const
The number of phases participating in the reaction mechanism.
An error indicating that an unimplemented function has been called.
void checkPhaseArraySize(size_t mm) const
Check that an array size is at least nPhases() Throws an exception if mm is less than nPhases().
std::string kineticsSpeciesName(size_t k) const
Return the name of the kth species in the kinetics manager.
virtual bool isReversible(size_t i)
True if reaction i has been declared to be reversible.
Public interface for kinetics managers.
StoichManagerN m_revProductStoich
Stoichiometry manager for the products of reversible reactions.
size_t reactionPhaseIndex() const
Phase where the reactions occur.
virtual void getCreationRates(doublereal *cdot)
Species creation rates [kmol/m^3/s or kmol/m^2/s].
thermo_t & speciesPhase(size_t k)
This function takes as an argument the kineticsSpecies index (i.e., the list index in the list of spe...
std::map< std::string, size_t > m_phaseindex
Mapping of the phase name to the position of the phase within the kinetics object.
virtual void getFwdRateConstants(doublereal *kfwd)
Return the forward rate constants.
void skipUndeclaredThirdBodies(bool skip)
Determine behavior when adding a new reaction that contains third-body efficiencies for species not d...
ThermoPhase thermo_t
typedef for the ThermoPhase class
void checkSpeciesIndex(size_t k) const
Check that the specified species index is in range Throws an exception if k is greater than nSpecies(...
std::vector< double > vector_fp
Turn on the use of stl vectors for the basic array type within cantera Vector of doubles.
virtual void getReactionDelta(const doublereal *property, doublereal *deltaProperty)
Change in species properties.
size_t m_surfphase
Index in the list of phases of the one surface phase.
virtual void getFwdRatesOfProgress(doublereal *fwdROP)
Return the forward rates of progress of the reactions.
double checkDuplicateStoich(std::map< int, double > &r1, std::map< int, double > &r2) const
Check whether r1 and r2 represent duplicate stoichiometries This function returns a ratio if two reac...
virtual std::string kineticsType() const
Identifies the Kinetics manager type.
size_t phaseIndex(const std::string &ph) const
Return the phase index of a phase in the list of phases defined within the object.
virtual void getDeltaSSGibbs(doublereal *deltaG)
Return the vector of values for the reaction standard state Gibbs free energy change.
virtual void getDeltaSSEnthalpy(doublereal *deltaH)
Return the vector of values for the change in the standard state enthalpies of reaction.
ValueCache m_cache
Cache for saved calculations within each Kinetics object.
virtual void getDestructionRates(doublereal *ddot)
Species destruction rates [kmol/m^3/s or kmol/m^2/s].
bool m_skipUndeclaredSpecies
vector_fp m_rkcn
Reciprocal of the equilibrium constant in concentration units.
std::weak_ptr< Solution > m_root
reference to Solution
virtual doublereal reactantOrder(size_t k, size_t i) const
Reactant order of species k in reaction i.
bool m_skipUndeclaredThirdBodies
std::vector< size_t > m_start
m_start is a vector of integers specifying the beginning position for the species vector for the n'th...
virtual std::pair< size_t, size_t > checkDuplicates(bool throw_err=true) const
Check for unmarked duplicate reactions and unmatched marked duplicates.
Base class for a phase with thermodynamic properties.
virtual void getDeltaEntropy(doublereal *deltaS)
Return the vector of values for the reactions change in entropy.
virtual bool addReaction(shared_ptr< Reaction > r)
Add a single reaction to the mechanism.
size_t nTotalSpecies() const
The total number of species in all phases participating in the kinetics mechanism.
size_t m_kk
The number of species in all of the phases that participate in this kinetics mechanism.
vector_fp m_rfn
Forward rate constant for each reaction.
void checkReactionIndex(size_t m) const
Check that the specified reaction index is in range Throws an exception if i is greater than nReactio...
virtual void getActivityConcentrations(doublereal *const conc)
Get the vector of activity concentrations used in the kinetics object.
virtual void getRevReactionDelta(const doublereal *g, doublereal *dg)
Given an array of species properties 'g', return in array 'dg' the change in this quantity in the rev...
virtual void getRevRateConstants(doublereal *krev, bool doIrreversible=false)
Return the reverse rate constants.
StoichManagerN m_irrevProductStoich
Stoichiometry manager for the products of irreversible reactions.
vector_fp m_ropr
Reverse rate-of-progress for each reaction.
virtual void getDeltaSSEntropy(doublereal *deltaS)
Return the vector of values for the change in the standard state entropies for each reaction.
size_t speciesPhaseIndex(size_t k) const
This function takes as an argument the kineticsSpecies index (i.e., the list index in the list of spe...
vector_fp m_ropnet
Net rate-of-progress for each reaction.
virtual doublereal productOrder(int k, int i) const
product Order of species k in reaction i.
virtual void setRoot(std::shared_ptr< Solution > root)
Set root Solution holding all phase information.
thermo_t & thermo(size_t n=0)
This method returns a reference to the nth ThermoPhase object defined in this kinetics mechanism.
virtual void getNetRatesOfProgress(doublereal *netROP)
Net rates of progress.
void checkPhaseIndex(size_t m) const
Check that the specified phase index is in range Throws an exception if m is greater than nPhases()
void skipUndeclaredSpecies(bool skip)
Determine behavior when adding a new reaction that contains species not defined in any of the phases ...
shared_ptr< Reaction > reaction(size_t i)
Return the Reaction object for reaction i.
size_t nReactions() const
Number of reactions in the reaction mechanism.
virtual void resizeSpecies()
Resize arrays with sizes that depend on the total number of species.
const size_t npos
index returned by functions to indicate "no position"
virtual void getEquilibriumConstants(doublereal *kc)
Return a vector of Equilibrium constants.
std::string reactionString(size_t i) const
Return a string representing the reaction.
Intermediate class which stores data about a reaction and its rate parameterization so that it can be...
void checkReactionBalance(const Reaction &R)
Check that the specified reaction is balanced (same number of atoms for each element in the reactants...
Namespace for the Cantera kernel.
void checkSpeciesArraySize(size_t mm) const
Check that an array size is at least nSpecies() Throws an exception if kk is less than nSpecies().
size_t surfacePhaseIndex() const
This returns the integer index of the phase which has ThermoPhase type cSurf.
size_t m_mindim
number of spatial dimensions of lowest-dimensional phase.
virtual int reactionType(size_t i) const
Flag specifying the type of reaction.
virtual double reactantStoichCoeff(size_t k, size_t i) const
Stoichiometric coefficient of species k as a reactant in reaction i.
virtual void setMultiplier(size_t i, doublereal f)
Set the multiplier for reaction i to f.
virtual void init()
Prepare the class for the addition of reactions, after all phases have been added.