20 KineticsFactory* KineticsFactory::s_factory = 0;
21 mutex_t KineticsFactory::kinetics_mutex;
23 static int ntypes = 6;
24 static string _types[] = {
"none",
"GasKinetics",
"GRI30",
"Interface",
"Edge",
"AqueousKinetics"};
25 static int _itypes[] = {0, cGasKinetics, cGRI30, cInterfaceKinetics, cEdgeKinetics, cAqueousKinetics};
27 Kinetics* KineticsFactory::
28 newKinetics(
XML_Node& phaseData, vector<ThermoPhase*> th)
35 string kintype = phaseData.
child(
"kinetics")[
"model"];
43 for (n = 0; n < ntypes; n++) {
44 if (kintype == _types[n]) {
69 case cInterfaceKinetics:
77 case cAqueousKinetics:
82 throw UnknownKineticsModel(
"KineticsFactory::newKinetics",
94 Kinetics* KineticsFactory::newKinetics(
const string& model)
99 for (n = 0; n < ntypes; n++) {
100 if (model == _types[n]) {
115 case cInterfaceKinetics:
120 throw UnknownKineticsModel(
"KineticsFactory::newKinetics",
Kinetics manager for elementary aqueous-phase chemistry.
Kinetics manager implementing reaction mechanism GRI-Mech 3.0.
Class XML_Node is a tree-based representation of the contents of an XML file.
Kinetics manager for elementary gas-phase chemistry.
XML_Node & child(const size_t n) const
Return a changeable reference to the n'th child of the current node.
bool importKinetics(const XML_Node &phase, std::vector< ThermoPhase * > th, Kinetics *k)
Import a reaction mechanism for a phase or an interface.
A kinetics manager for heterogeneous reaction mechanisms.
Public interface for kinetics managers.
Definitions of global routines for the importing of data from XML files (see Input File Handling)...
Heterogeneous reactions at one-dimensional interfaces between multiple adjacent two-dimensional surfa...