| Cantera 3.0.0

Loading...
Searching...
No Matches
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"
10#include "cantera/base/FactoryBase.h"
11#include "cantera/thermo/VPStandardStateTP.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
45PDSS* newPDSS(const string& model);
46
47}
48
49#endif
FactoryBase.h
File contains the FactoryBase class declarations.
PDSS.h
Declarations for the virtual base class PDSS (pressure dependent standard state) which handles calcul...
VPStandardStateTP.h
Header file for a derived class of ThermoPhase that handles variable pressure standard state methods ...
Cantera
Namespace for the Cantera kernel.
Definition AnyMap.cpp:564