Cantera  3.1.0a1
PDSSFactory.h
Go to the documentation of this file.
1 //! @file PDSSFactory.h
2 
3 // This file is part of Cantera. See License.txt in the top-level directory or
4 // at https://cantera.org/license.txt for license and copyright information.
5 
6 #ifndef PDSS_FACTORY_H
7 #define PDSS_FACTORY_H
8 
9 #include "PDSS.h"
12 
13 namespace Cantera
14 {
15 
16 class PDSSFactory : public Factory<PDSS>
17 {
18 public:
19  //! Static function that creates a static instance of the factory.
20  static PDSSFactory* factory();
21 
22  //! delete the static instance of this factory
23  void deleteFactory() override;
24 
25  //! Create a new thermodynamic property manager.
26  /*!
27  * @param model String to look up the model against
28  * @returns a pointer to a new PDSS instance matching the model string.
29  * Returns NULL if something went wrong. Throws an exception if the string
30  * wasn't matched.
31  */
32  PDSS* newPDSS(const string& model);
33 
34 private:
35  //! static member of a single instance
36  static PDSSFactory* s_factory;
37 
38  //! Private constructors prevents usage
39  PDSSFactory();
40 
41  //! Decl for locking mutex for thermo factory singleton
42  static std::mutex thermo_mutex;
43 };
44 
45 PDSS* newPDSS(const string& model);
46 
47 }
48 
49 #endif
File contains the FactoryBase class declarations.
Declarations for the virtual base class PDSS (pressure dependent standard state) which handles calcul...
Header file for a derived class of ThermoPhase that handles variable pressure standard state methods ...
Namespace for the Cantera kernel.
Definition: AnyMap.cpp:564