Cantera  2.2.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AqueousKinetics.h
Go to the documentation of this file.
1 /**
2  * @file AqueousKinetics.h
3  * @ingroup chemkinetics
4  */
5 
6 // Copyright 2001 California Institute of Technology
7 
8 #ifndef CT_AQUEOUSKINETICS_H
9 #define CT_AQUEOUSKINETICS_H
10 
11 #include "BulkKinetics.h"
12 
13 namespace Cantera
14 {
15 
16 /**
17  * Kinetics manager for elementary aqueous-phase chemistry. This kinetics
18  * manager implements standard mass-action reaction rate expressions for liquids
19  *
20  * @ingroup kinetics
21  */
23 {
24 public:
25  /// Constructor. Creates an empty reaction mechanism.
27 
28  //! Duplication routine for objects which inherit from Kinetics
29  /*!
30  * This virtual routine can be used to duplicate Kinetics objects
31  * inherited from Kinetics even if the application only has
32  * a pointer to Kinetics to work with.
33  *
34  * These routines are basically wrappers around the derived copy constructor.
35  *
36  * @param tpVector Vector of shallow pointers to ThermoPhase objects. this is the
37  * m_thermo vector within this object
38  */
39  virtual Kinetics* duplMyselfAsKinetics(const std::vector<thermo_t*> & tpVector) const;
40 
41  virtual int type() const {
42  return cAqueousKinetics;
43  }
44 
45  virtual void getEquilibriumConstants(doublereal* kc);
46  virtual void getFwdRateConstants(doublereal* kfwd);
47  void updateROP();
48 
49  //! Update temperature-dependent portions of reaction rates
50  void _update_rates_T();
51 
52  //! Update properties that depend on concentrations.
53  void _update_rates_C();
54 
55  //! Update the equilibrium constants in molar units.
56  void updateKc();
57 
58  virtual void addReaction(ReactionData& r);
59  virtual bool addReaction(shared_ptr<Reaction> r);
60  virtual void modifyReaction(size_t i, shared_ptr<Reaction> rNew);
61 };
62 }
63 
64 #endif
Kinetics manager for elementary aqueous-phase chemistry.
thermo_t & thermo(size_t n=0)
This method returns a reference to the nth ThermoPhase object defined in this kinetics mechanism...
Definition: Kinetics.h:285
virtual void addReaction(ReactionData &r)
Add a single reaction to the mechanism.
virtual void modifyReaction(size_t i, shared_ptr< Reaction > rNew)
Modify the rate expression associated with a reaction.
AqueousKinetics(thermo_t *thermo=0)
Constructor. Creates an empty reaction mechanism.
virtual void getEquilibriumConstants(doublereal *kc)
Return a vector of Equilibrium constants.
Base class for a phase with thermodynamic properties.
Definition: ThermoPhase.h:97
Partial specialization of Kinetics for chemistry in a single bulk phase.
Definition: BulkKinetics.h:18
Public interface for kinetics managers.
Definition: Kinetics.h:128
Intermediate class which stores data about a reaction and its rate parameterization before adding the...
Definition: ReactionData.h:22
void _update_rates_T()
Update temperature-dependent portions of reaction rates.
void updateKc()
Update the equilibrium constants in molar units.
virtual int type() const
Identifies the kinetics manager type.
void _update_rates_C()
Update properties that depend on concentrations.
virtual void getFwdRateConstants(doublereal *kfwd)
Return the forward rate constants.
virtual Kinetics * duplMyselfAsKinetics(const std::vector< thermo_t * > &tpVector) const
Duplication routine for objects which inherit from Kinetics.