11#ifndef CT_RATECOEFF_MGR_H
12#define CT_RATECOEFF_MGR_H
38 void install(
size_t rxnNumber,
const R& rate) {
39 m_rxn.push_back(rxnNumber);
40 m_rates.push_back(rate);
45 void replace(
size_t rxnNumber,
const R& rate) {
59 for (
size_t i = 0; i != m_rates.size(); i++) {
60 m_rates[i].update_C(c);
71 void update(doublereal T, doublereal logT, doublereal* values) {
72 doublereal recipT = 1.0/T;
73 for (
size_t i = 0; i != m_rates.size(); i++) {
74 values[m_rxn[i]] = m_rates[i].updateRC(logT, recipT);
78 size_t nReactions()
const {
79 return m_rates.size();
91 return m_rates[irxn].preExponentialFactor();
103 return m_rates[irxn].activationEnergy_R();
117 return m_rates[irxn].temperatureExponent();
121 std::vector<R> m_rates;
122 std::vector<size_t> m_rxn;
This rate coefficient manager supports one parameterization of the rate constant of any type.
double effectiveTemperatureExponent(size_t irxn)
Return effective temperature exponent for the specified reaction.
void update_C(const doublereal *c)
Update the concentration-dependent parts of the rate coefficient, if any.
std::map< size_t, size_t > m_indices
map reaction number to index in m_rxn / m_rates
void replace(size_t rxnNumber, const R &rate)
Replace an existing rate coefficient calculator.
void update(doublereal T, doublereal logT, doublereal *values)
Write the rate coefficients into array values.
double effectiveActivationEnergy_R(size_t irxn)
Return effective activation energy for the specified reaction.
double effectivePreExponentialFactor(size_t irxn)
Return effective preexponent for the specified reaction.
void install(size_t rxnNumber, const R &rate)
Install a rate coefficient calculator.
Namespace for the Cantera kernel.