8 #ifndef CT_RATECOEFF_MGR_H 9 #define CT_RATECOEFF_MGR_H 32 void install(
size_t rxnNumber,
const R& rate) {
33 m_rxn.push_back(rxnNumber);
34 m_rates.push_back(rate);
39 void replace(
size_t rxnNumber,
const R& rate) {
53 for (
size_t i = 0; i != m_rates.size(); i++) {
54 m_rates[i].update_C(c);
65 void update(doublereal T, doublereal logT, doublereal* values) {
66 doublereal recipT = 1.0/T;
67 for (
size_t i = 0; i != m_rates.size(); i++) {
68 values[m_rxn[i]] = m_rates[i].updateRC(logT, recipT);
72 size_t nReactions()
const {
73 return m_rates.size();
85 return m_rates[irxn].preExponentialFactor();
97 return m_rates[irxn].activationEnergy_R();
111 return m_rates[irxn].temperatureExponent();
115 std::vector<R> m_rates;
116 std::vector<size_t> m_rxn;
void install(size_t rxnNumber, const R &rate)
Install a rate coefficient calculator.
std::map< size_t, size_t > m_indices
map reaction number to index in m_rxn / m_rates
This rate coefficient manager supports one parameterization of the rate constant of any type...
void update_C(const doublereal *c)
Update the concentration-dependent parts of the rate coefficient, if any.
double effectiveActivationEnergy_R(size_t irxn)
Return effective activation energy for the specified reaction.
void update(doublereal T, doublereal logT, doublereal *values)
Write the rate coefficients into array values.
double effectiveTemperatureExponent(size_t irxn)
Return effective temperature exponent for the specified reaction.
void replace(size_t rxnNumber, const R &rate)
Replace an existing rate coefficient calculator.
Namespace for the Cantera kernel.
double effectivePreExponentialFactor(size_t irxn)
Return effective preexponent for the specified reaction.