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