teqp 0.23.1
Loading...
Searching...
No Matches
model_factory_multifluid.cpp
Go to the documentation of this file.
4
5
6#include "model_flags.hpp" // Contains (optionally) macros to disable various models
7
8#ifndef DISABLE_AMMONIAWATERTILLNERROTH
10#endif
11
12#ifndef DISABLE_MIE
14#endif
15
16#ifndef DISABLE_ECSHUBERELY1994
18#endif
19
20namespace teqp{
21 namespace cppinterface{
22 std::unique_ptr<teqp::cppinterface::AbstractModel> make_multifluid(const nlohmann::json &j){
24 }
25#ifndef DISABLE_ECSHUBERELY1994
26 std::unique_ptr<teqp::cppinterface::AbstractModel> make_multifluid_ECS_HuberEly1994(const nlohmann::json &j){
28 }
29#else
30 std::unique_ptr<teqp::cppinterface::AbstractModel> make_multifluid_ECS_HuberEly1994(const nlohmann::json &){
31 throw teqp::NotImplementedError("The ECS model of Huber and Ely has been disabled");
32 }
33#endif
34
35#ifndef DISABLE_AMMONIAWATERTILLNERROTH
36 std::unique_ptr<teqp::cppinterface::AbstractModel> make_AmmoniaWaterTillnerRoth(){
38 }
39#else
40 std::unique_ptr<teqp::cppinterface::AbstractModel> make_AmmoniaWaterTillnerRoth(){
41 throw teqp::NotImplementedError("The ammonia-water model of Tillner-Roth and Friend has been disabled");
42 }
43#endif
44
45#ifndef DISABLE_MIE
46 std::unique_ptr<teqp::cppinterface::AbstractModel> make_LJ126_TholJPCRD2016(){
48 }
49 std::unique_ptr<teqp::cppinterface::AbstractModel> make_LJ126_KolafaNezbeda1994(){
51 }
52 std::unique_ptr<teqp::cppinterface::AbstractModel> make_LJ126_Johnson1993(){
54 }
55#else
56 std::unique_ptr<teqp::cppinterface::AbstractModel> make_LJ126_TholJPCRD2016(){
57 throw teqp::NotImplementedError("The Lennard-Jones 12-6 model of Thol has been disabled");
58 }
59 std::unique_ptr<teqp::cppinterface::AbstractModel> make_LJ126_KolafaNezbeda1994(){
60 throw teqp::NotImplementedError("The Lennard-Jones 12-6 model of Kolafa-Nezbeda has been disabled");
61 }
62 std::unique_ptr<teqp::cppinterface::AbstractModel> make_LJ126_Johnson1993(){
63 throw teqp::NotImplementedError("The Lennard-Jones 12-6 model of Johnson has been disabled");
64 }
65#endif
66 }
67}
auto make_owned(const TemplatedModel &tmodel)
std::unique_ptr< teqp::cppinterface::AbstractModel > make_LJ126_TholJPCRD2016()
std::unique_ptr< teqp::cppinterface::AbstractModel > make_LJ126_Johnson1993()
std::unique_ptr< teqp::cppinterface::AbstractModel > make_multifluid_ECS_HuberEly1994(const nlohmann::json &j)
std::unique_ptr< teqp::cppinterface::AbstractModel > make_multifluid(const nlohmann::json &j)
std::unique_ptr< teqp::cppinterface::AbstractModel > make_AmmoniaWaterTillnerRoth()
std::unique_ptr< teqp::cppinterface::AbstractModel > make_LJ126_KolafaNezbeda1994()
auto build_LJ126_TholJPCRD2016()
auto multifluidfactory(const nlohmann::json &spec)
Load a model from a JSON data structure.