8#ifndef KINETICS_FACTORY_H
9#define KINETICS_FACTORY_H
21class KineticsFactory :
public Factory<Kinetics>
24 static KineticsFactory* factory();
34 static KineticsFactory* s_factory;
36 static std::mutex kinetics_mutex;
45shared_ptr<Kinetics>
newKinetics(
const string& model);
59shared_ptr<Kinetics>
newKinetics(
const vector<shared_ptr<ThermoPhase>>& phases,
62 shared_ptr<Solution> soln={});
72shared_ptr<Kinetics>
newKinetics(
const vector<shared_ptr<ThermoPhase>>& phases,
73 const string& filename);
86 const AnyMap& rootNode=AnyMap());
File contains the FactoryBase class declarations.
Base class for kinetics managers and also contains the kineticsmgr module documentation (see Kinetics...
A map of string keys to values whose type can vary at runtime.
Factory class that supports registering functions to create objects.
void deleteFactory() override
Virtual abstract function that deletes the factory.
Kinetics * newKinetics(const string &model)
Return a new, empty kinetics manager.
Public interface for kinetics managers.
shared_ptr< Kinetics > newKinetics(const string &model)
Create a new Kinetics instance.
void addReactions(Kinetics &kin, const AnyMap &phaseNode, const AnyMap &rootNode)
Add reactions to a Kinetics object.
Namespace for the Cantera kernel.