10 #ifndef THERMO_FACTORY_H 11 #define THERMO_FACTORY_H 42 const std::string& thermoModel) :
45 " does not match any known type.") {}
121 ThermoPhase*
newPhase(XML_Node& phase);
134 ThermoPhase*
newPhase(
const std::string& infile, std::string
id=
"");
189 void importPhase(XML_Node& phase, ThermoPhase* th);
205 const XML_Node* phaseSpeciesData);
Specific error to be thrown if the type of Thermo manager is unrecognized.
virtual void deleteFactory()
delete the static instance of this factory
static ThermoFactory * factory()
Static function that creates a static instance of the factory.
const XML_Node * speciesXML_Node(const std::string &kname, const XML_Node *phaseSpeciesData)
Search an XML tree for species data.
UnknownThermoPhaseModel(const std::string &proc, const std::string &thermoModel)
Constructor.
Factory class for thermodynamic property managers.
Base class for a phase with thermodynamic properties.
static std::mutex thermo_mutex
Decl for locking mutex for thermo factory singleton.
T * create(std::string name, Args... args)
Create an object using the object construction function corresponding to "name" and the provided cons...
virtual ThermoPhase * newThermoPhase(const std::string &model)
Create a new thermodynamic property manager.
Classes providing support for XML data files.
Base class for exceptions thrown by Cantera classes.
static ThermoFactory * s_factory
static member of a single instance
void importPhase(XML_Node &phase, ThermoPhase *th)
Import a phase information into an empty ThermoPhase object.
Factory class that supports registering functions to create objects.
void installElements(Phase &th, const XML_Node &phaseNode)
Add the elements given in an XML_Node tree to the specified phase.
ThermoFactory()
Private constructors prevents usage.
ThermoPhase * newThermoPhase(const std::string &model)
Create a new thermo manager instance.
Namespace for the Cantera kernel.
Header file for class ThermoPhase, the base class for phases with thermodynamic properties, and the text for the Module thermoprops (see Thermodynamic Properties and class ThermoPhase).
File contains the FactoryBase class declarations.