Cantera 2.6.0

PDSSFactory.cpp
Go to the documentation of this file.
1//! @file PDSSFactory.cpp
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#include "cantera/thermo/PDSSFactory.h"
7#include "cantera/thermo/PDSS_IdealGas.h"
8#include "cantera/thermo/PDSS_Water.h"
9#include "cantera/thermo/PDSS_ConstVol.h"
10#include "cantera/thermo/PDSS_SSVol.h"
11#include "cantera/thermo/PDSS_HKFT.h"
12#include "cantera/thermo/PDSS_IonsFromNeutral.h"
13
14 namespace Cantera
15{
16
17PDSSFactory* PDSSFactory::s_factory = 0;
18std::mutex PDSSFactory::thermo_mutex;
19
20PDSSFactory::PDSSFactory()
21{
22 reg("ideal-gas", []() { return new PDSS_IdealGas(); });
23 reg("constant-volume", []() { return new PDSS_ConstVol(); });
24 addAlias("constant-volume", "constant_incompressible");
25 addAlias("constant-volume", "constant-incompressible");
26 reg("liquid-water-IAPWS95", []() { return new PDSS_Water(); });
27 addAlias("liquid-water-IAPWS95", "waterPDSS");
28 addAlias("liquid-water-IAPWS95", "waterIAPWS");
29 addAlias("liquid-water-IAPWS95", "water");
30 reg("ions-from-neutral-molecule", []() { return new PDSS_IonsFromNeutral(); });
31 addAlias("ions-from-neutral-molecule", "IonFromNeutral");
32 addAlias("ions-from-neutral-molecule", "ions-from-neutral");
33 reg("molar-volume-temperature-polynomial", []() { return new PDSS_SSVol(); });
34 addAlias("molar-volume-temperature-polynomial", "temperature_polynomial");
35 reg("density-temperature-polynomial", []() { return new PDSS_SSVol(); });
36 addAlias("density-temperature-polynomial", "density_temperature_polynomial");
37 reg("HKFT", []() { return new PDSS_HKFT(); });
38}
39
40PDSS* PDSSFactory::newPDSS(const std::string& model)
41{
42 return create(model);
43}
44
45PDSS* newPDSS(const std::string& model)
46{
47 return PDSSFactory::factory()->newPDSS(model);
48}
49
50}
PDSSFactory.h
PDSS_ConstVol.h
Declarations for the class PDSS_ConstVol (pressure dependent standard state) which handles calculatio...
PDSS_HKFT.h
Declarations for the class PDSS_HKFT (pressure dependent standard state) which handles calculations f...
PDSS_IdealGas.h
Declarations for the class PDSS_IdealGas (pressure dependent standard state) which handles calculatio...
PDSS_IonsFromNeutral.h
Declarations for the class PDSS_IonsFromNeutral ( which handles calculations for a single ion in a fl...
PDSS_SSVol.h
Declarations for the class PDSS_SSVol (pressure dependent standard state) which handles calculations ...
PDSS_Water.h
Implementation of a pressure dependent standard state virtual function for a Pure Water Phase (see Sp...
Cantera
Namespace for the Cantera kernel.
Definition: AnyMap.cpp:557