9 #ifndef CT_AQUEOUSKINETICS_H
10 #define CT_AQUEOUSKINETICS_H
15 #include "cantera/thermo/mix_defs.h"
28 void get_wdot(
const doublereal* rop, doublereal* wdot);
83 DEPRECATED(
virtual int ID()
const) {
84 return cAqueousKinetics;
87 return cAqueousKinetics;
111 std::copy(m_ropf.begin(), m_ropf.end(), fwdROP);
122 std::copy(m_ropr.begin(), m_ropr.end(), revROP);
133 std::copy(m_ropnet.begin(), m_ropnet.end(), netROP);
263 return m_index[i].first;
276 if (std::find(m_revindex.begin(), m_revindex.end(), i)
277 < m_revindex.end()) {
301 bool doIrreversible =
false);
315 virtual bool ready()
const;
318 virtual void update_C();
323 const std::vector<grouplist_t>& reactantGroups(
size_t i) {
326 const std::vector<grouplist_t>& productGroups(
size_t i) {
331 void _update_rates_T();
340 Rate1<Arrhenius> m_rates;
342 mutable std::map<size_t, std::pair<int, size_t> > m_index;
344 std::vector<size_t> m_irrev;
346 ReactionStoichMgr m_rxnstoich;
348 std::vector<size_t> m_fwdOrder;
353 std::map<size_t, std::vector<grouplist_t> > m_rgroups;
354 std::map<size_t, std::vector<grouplist_t> > m_pgroups;
356 std::vector<int> m_rxntype;
358 mutable std::vector<std::map<size_t, doublereal> > m_rrxn;
359 mutable std::vector<std::map<size_t, doublereal> > m_prxn;
368 std::vector<size_t> m_revindex;
370 std::vector<std::string> m_rxneqn;
390 size_t reactionNumber() {
393 std::vector<std::map<int, doublereal> > m_stoich;
395 void addElementaryReaction(ReactionData& r);
398 void installReagents(
const ReactionData& r);
400 void installGroups(
size_t irxn,
const std::vector<grouplist_t>& r,
401 const std::vector<grouplist_t>& p);
404 void registerReaction(
size_t rxnNumber,
int type,
size_t loc) {
405 m_index[rxnNumber] = std::pair<int, size_t>(
type, loc);