10 #ifndef THERMO_FACTORY_H 11 #define THERMO_FACTORY_H 42 const std::string& thermoModel) :
45 " does not match any known type.") {}
110 "The `ThermoFactory*` argument to this function is deprecated and" 111 " will be removed after Cantera 2.3.");
113 return f->create(model);
140 ThermoPhase*
newPhase(XML_Node& phase);
153 ThermoPhase*
newPhase(
const std::string& infile, std::string
id=
"");
208 void importPhase(XML_Node& phase, ThermoPhase* th);
224 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
std::string eosTypeString(int ieos, int length)
Translate the eosType id into a string.
static ThermoFactory * factory()
Static function that creates a static instance of the factory.
void warn_deprecated(const std::string &method, const std::string &extra)
Print a warning indicating that method is deprecated.
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.
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
ThermoPhase * newThermoPhase(const std::string &model, ThermoFactory *f=0)
Create a new thermo manager 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.
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.