6#ifndef REACTOR_FACTORY_H
7#define REACTOR_FACTORY_H
25class ReactorFactory :
public Factory<ReactorBase, shared_ptr<Solution>, bool, const string&>
28 static ReactorFactory* factory();
33 static ReactorFactory* s_factory;
34 static std::mutex reactor_mutex;
47class ReactorSurfaceFactory :
public Factory<ReactorSurface,
48 shared_ptr<Solution> ,
49 span<shared_ptr<ReactorBase>> ,
50 bool , const string& >
53 static ReactorSurfaceFactory* factory();
57 static ReactorSurfaceFactory* s_factory;
58 static std::mutex s_mutex;
59 ReactorSurfaceFactory();
76 const string& model, shared_ptr<Solution> phase,
bool clone=
true,
77 const string& name=
"(none)");
91 const string& model, shared_ptr<Solution> phase,
bool clone=
true,
92 const string& name=
"(none)");
96inline shared_ptr<Reactor>
newReactor4(
const string& model, shared_ptr<Solution> phase,
97 bool clone=
true,
const string& name=
"(none)")
110 shared_ptr<Solution> phase,
bool clone=
true,
const string& name=
"(none)");
128 shared_ptr<Solution> phase, span<shared_ptr<ReactorBase>> reactors,
129 bool clone=
true,
const string& name=
"(none)");
144 const string& model, shared_ptr<Solution> phase,
145 span<shared_ptr<ReactorBase>> reactors,
146 bool clone=
true,
const string& name=
"(none)");
File contains the FactoryBase class declarations.
Factory class that supports registering functions to create objects.
void deleteFactory() override
Virtual abstract function that deletes the factory.
void deleteFactory() override
Virtual abstract function that deletes the factory.
Class Reactor is a general-purpose class for stirred reactors.
A source or sink whose state remains constant regardless of any flows or other interactions with othe...
shared_ptr< ReactorSurface > newReactorSurface(shared_ptr< Solution > phase, span< shared_ptr< ReactorBase > > reactors, bool clone, const string &name)
Create a ReactorSurface object with the specified contents and adjacent reactors participating in sur...
shared_ptr< Reactor > newReactor(const string &model, shared_ptr< Solution > phase, bool clone, const string &name)
Create a Reactor object of the specified type and contents.
shared_ptr< ReactorBase > newReactorBase(const string &model, shared_ptr< Solution > phase, bool clone, const string &name)
Create a ReactorBase object of the specified type and contents.
shared_ptr< Reactor > newReactor4(const string &model, shared_ptr< Solution > phase, bool clone=true, const string &name="(none)")
Create a Reactor object of the specified type and contents.
shared_ptr< Reservoir > newReservoir(shared_ptr< Solution > phase, bool clone, const string &name)
Create a Reservoir object with the specified contents.
Namespace for the Cantera kernel.