10#ifndef THERMO_FACTORY_H
11#define THERMO_FACTORY_H
97shared_ptr<ThermoPhase>
newThermo(
const string& infile,
const string&
id=
"");
File contains the FactoryBase class declarations.
Header file for class ThermoPhase, the base class for phases with thermodynamic properties,...
A map of string keys to values whose type can vary at runtime.
Factory class that supports registering functions to create objects.
Factory class for thermodynamic property managers.
void deleteFactory() override
delete the static instance of this factory
ThermoFactory()
Private constructors prevents usage.
static ThermoFactory * factory()
Static function that creates a static instance of the factory.
static std::mutex thermo_mutex
Decl for locking mutex for thermo factory singleton.
ThermoPhase * newThermoPhase(const string &model)
Create a new thermodynamic property manager.
static ThermoFactory * s_factory
static member of a single instance
Base class for a phase with thermodynamic properties.
shared_ptr< ThermoPhase > newThermo(const AnyMap &phaseNode, const AnyMap &rootNode)
Create a new ThermoPhase object and initialize it.
void setupPhase(ThermoPhase &thermo, const AnyMap &phaseNode, const AnyMap &rootNode)
Initialize a ThermoPhase object.
unique_ptr< ThermoPhase > newPhase(const AnyMap &phaseNode, const AnyMap &rootNode)
Create a new ThermoPhase object and initialize it.
shared_ptr< ThermoPhase > newThermoModel(const string &model)
Create a new ThermoPhase instance.
ThermoPhase * newThermoPhase(const string &model)
Create a new ThermoPhase instance.
Namespace for the Cantera kernel.