10 #ifndef THERMO_FACTORY_H
11 #define THERMO_FACTORY_H
21 class SpeciesThermoFactory;
46 const std::string& thermoModel) :
49 " does not match any known type.") {}
121 return f->newThermoPhase(model);
150 ThermoPhase*
newPhase(XML_Node& phase);
166 ThermoPhase*
newPhase(
const std::string& infile, std::string
id);
233 bool importPhase(XML_Node& phase, ThermoPhase* th, SpeciesThermoFactory* spfactory = 0);
277 SpeciesThermo* spthermo_ptr,
int rule,
278 XML_Node* phaseNode_ptr = 0,
279 VPSSMgr* vpss_ptr = 0,
280 SpeciesThermoFactory* factory = 0);
296 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.
bool installSpecies(size_t k, const XML_Node &s, thermo_t &th, SpeciesThermo *spthermo_ptr, int rule, XML_Node *phaseNode_ptr, VPSSMgr *vpss_ptr, SpeciesThermoFactory *factory)
Install a species into a ThermoPhase object, which defines the phase thermodynamics and speciation...
static mutex_t thermo_mutex
Decl for locking mutex for thermo factory singleton.
static ThermoFactory * factory()
Static function that creates a static instance of the factory.
Base class for factories.
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.
ThermoPhase thermo_t
typedef for the ThermoPhase class
Base class for a phase with thermodynamic properties.
bool importPhase(XML_Node &phase, ThermoPhase *th, SpeciesThermoFactory *spfactory)
Import a phase information into an empty thermophase object.
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.
ThermoFactory()
Private constructors prevents usage.
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.