35template<> KineticsCabinet* KineticsCabinet::s_storage = 0;
38template<> ThermoPhaseCabinet* ThermoPhaseCabinet::s_storage;
41template<> ReactionCabinet* ReactionCabinet::s_storage;
47 int32_t
kin_getType(int32_t handle, int32_t bufLen,
char* buf)
51 string out = KineticsCabinet::at(handle)->kineticsType();
53 return int(out.size()) + 1;
63 return KineticsCabinet::at(handle)->nReactions();
73 if (i < 0 || i >= KineticsCabinet::at(handle)->nReactions()) {
74 throw IndexError(
"kin_reaction",
"", i, KineticsCabinet::at(handle)->nReactions());
76 return ReactionCabinet::add(KineticsCabinet::at(handle)->reaction(i));
86 return KineticsCabinet::at(handle)->nPhases();
96 if (n < 0 || n >= KineticsCabinet::at(handle)->nPhases()) {
97 throw IndexError(
"kin_phase",
"", n, KineticsCabinet::at(handle)->nPhases());
99 return ThermoPhaseCabinet::add(KineticsCabinet::at(handle)->phase(n));
109 return ThermoPhaseCabinet::add(KineticsCabinet::at(handle)->reactionPhase());
119 return KineticsCabinet::at(handle)->phaseIndex(ph);
129 return KineticsCabinet::at(handle)->nTotalSpecies();
139 return KineticsCabinet::at(handle)->reactantStoichCoeff(k, i);
149 return KineticsCabinet::at(handle)->productStoichCoeff(k, i);
159 auto& obj = KineticsCabinet::at(handle);
161 obj->getFwdRatesOfProgress(fwdROP);
172 auto& obj = KineticsCabinet::at(handle);
174 obj->getRevRatesOfProgress(revROP);
185 auto& obj = KineticsCabinet::at(handle);
187 obj->getNetRatesOfProgress(netROP);
198 auto& obj = KineticsCabinet::at(handle);
200 obj->getEquilibriumConstants(kc);
211 auto& obj = KineticsCabinet::at(handle);
213 obj->getFwdRateConstants(kfwd);
224 bool doIrreversible_ = (doIrreversible != 0);
225 KineticsCabinet::at(handle)->getRevRateConstants(krev, doIrreversible_);
236 auto& obj = KineticsCabinet::at(handle);
238 obj->getCreationRates(cdot);
249 auto& obj = KineticsCabinet::at(handle);
251 obj->getDestructionRates(ddot);
262 auto& obj = KineticsCabinet::at(handle);
264 obj->getNetProductionRates(wdot);
275 return KineticsCabinet::at(handle)->multiplier(i);
285 KineticsCabinet::at(handle)->setMultiplier(i, f);
296 bool out = KineticsCabinet::at(handle)->isReversible(i);
307 return KineticsCabinet::at(handle)->kineticsSpeciesIndex(nm);
317 KineticsCabinet::as<InterfaceKinetics>(handle)->advanceCoverages(tstep);
328 auto& obj = KineticsCabinet::at(handle);
330 obj->getDeltaEnthalpy(deltaH);
341 auto& obj = KineticsCabinet::at(handle);
343 obj->getDeltaGibbs(deltaG);
354 auto& obj = KineticsCabinet::at(handle);
356 obj->getDeltaEntropy(deltaS);
367 auto& obj = KineticsCabinet::at(handle);
369 obj->getDeltaSSEnthalpy(deltaH);
380 auto& obj = KineticsCabinet::at(handle);
382 obj->getDeltaSSGibbs(deltaG);
393 auto& obj = KineticsCabinet::at(handle);
395 obj->getDeltaSSEntropy(deltaS);
406 KineticsCabinet::del(handle);
418 return KineticsCabinet::size();
Header for a simple thermodynamics model of a surface phase derived from ThermoPhase,...
Headers for the factory class that can create known ThermoPhase objects (see Thermodynamic Properties...
Template for classes to hold pointers to objects.
An array index is out of range.
CTKIN - Generated CLib Cantera interface library.
int32_t kin_getDeltaGibbs(int32_t handle, int32_t deltaGLen, double *deltaG)
Return the vector of values for the reaction Gibbs free energy change.
int32_t kin_setMultiplier(int32_t handle, int32_t i, double f)
Set the multiplier for reaction i to f.
int32_t kin_del(int32_t handle)
Delete Kinetics object.
int32_t kin_reaction(int32_t handle, int32_t i)
Return the Reaction object for reaction i.
int32_t kin_nPhases(int32_t handle)
The number of phases participating in the reaction mechanism.
int32_t kin_reactionPhase(int32_t handle)
Return pointer to phase where the reactions occur.
double kin_productStoichCoeff(int32_t handle, int32_t k, int32_t i)
Stoichiometric coefficient of species k as a product in reaction i.
int32_t kin_getEquilibriumConstants(int32_t handle, int32_t kcLen, double *kc)
Return a vector of Equilibrium constants.
int32_t kin_getRevRatesOfProgress(int32_t handle, int32_t revROPLen, double *revROP)
Return the Reverse rates of progress of the reactions.
int32_t kin_getDestructionRates(int32_t handle, int32_t ddotLen, double *ddot)
Species destruction rates [kmol/m^3/s or kmol/m^2/s].
int32_t kin_advanceCoverages(int32_t handle, double tstep)
Advance the surface coverages in time.
int32_t kin_phase(int32_t handle, int32_t n)
Return pointer to phase associated with Kinetics by index.
int32_t kin_getRevRateConstants(int32_t handle, int32_t krevLen, double *krev, int32_t doIrreversible)
Return the reverse rate constants.
int32_t kin_getDeltaEntropy(int32_t handle, int32_t deltaSLen, double *deltaS)
Return the vector of values for the reactions change in entropy.
int32_t kin_speciesIndex(int32_t handle, const char *nm)
This routine will look up a species number based on the input string nm.
int32_t kin_getDeltaEnthalpy(int32_t handle, int32_t deltaHLen, double *deltaH)
Return the vector of values for the reactions change in enthalpy.
int32_t kin_getCreationRates(int32_t handle, int32_t cdotLen, double *cdot)
Species creation rates [kmol/m^3/s or kmol/m^2/s].
int32_t kin_phaseIndex(int32_t handle, const char *ph)
Return the phase index of a phase in the list of phases defined within the object.
int32_t kin_getDeltaSSEnthalpy(int32_t handle, int32_t deltaHLen, double *deltaH)
Return the vector of values for the change in the standard state enthalpies of reaction.
int32_t kin_getDeltaSSGibbs(int32_t handle, int32_t deltaGLen, double *deltaG)
Return the vector of values for the reaction standard state Gibbs free energy change.
int32_t kin_getNetProductionRates(int32_t handle, int32_t wdotLen, double *wdot)
Species net production rates [kmol/m^3/s or kmol/m^2/s].
double kin_reactantStoichCoeff(int32_t handle, int32_t k, int32_t i)
Stoichiometric coefficient of species k as a reactant in reaction i.
int32_t kin_getFwdRatesOfProgress(int32_t handle, int32_t fwdROPLen, double *fwdROP)
Return the forward rates of progress of the reactions.
int32_t kin_getDeltaSSEntropy(int32_t handle, int32_t deltaSLen, double *deltaS)
Return the vector of values for the change in the standard state entropies for each reaction.
int32_t kin_getType(int32_t handle, int32_t bufLen, char *buf)
Identifies the Kinetics manager type.
int32_t kin_getNetRatesOfProgress(int32_t handle, int32_t netROPLen, double *netROP)
Net rates of progress.
int32_t kin_isReversible(int32_t handle, int32_t i)
True if reaction i has been declared to be reversible.
int32_t kin_nTotalSpecies(int32_t handle)
The total number of species in all phases participating in the kinetics mechanism.
int32_t kin_nReactions(int32_t handle)
Number of reactions in the reaction mechanism.
int32_t kin_getFwdRateConstants(int32_t handle, int32_t kfwdLen, double *kfwd)
Return the forward rate constants.
int32_t kin_cabinetSize()
Return size of Kinetics storage.
double kin_multiplier(int32_t handle, int32_t i)
The current value of the multiplier for reaction i.
size_t copyString(const string &source, char *dest, size_t length)
Copy the contents of a string into a char array of a given length.
Namespace for the Cantera kernel.
T handleAllExceptions(T ctErrorCode, T otherErrorCode)
Exception handler used at language interface boundaries.
Contains declarations for string manipulation functions within Cantera.