teqp
0.23.1
Toggle main menu visibility
Loading...
Searching...
No Matches
interface
CPP
model_factory_multifluid.cpp
Go to the documentation of this file.
1
#include "
teqp/cpp/teqpcpp.hpp
"
2
#include "
teqp/cpp/deriv_adapter.hpp
"
3
#include "
teqp/models/multifluid.hpp
"
4
5
6
#include "model_flags.hpp"
// Contains (optionally) macros to disable various models
7
8
#ifndef DISABLE_AMMONIAWATERTILLNERROTH
9
#include "
teqp/models/ammonia_water.hpp
"
10
#endif
11
12
#ifndef DISABLE_MIE
13
#include "
teqp/models/mie/lennardjones.hpp
"
14
#endif
15
16
#ifndef DISABLE_ECSHUBERELY1994
17
#include "
teqp/models/ECSHuberEly.hpp
"
18
#endif
19
20
namespace
teqp
{
21
namespace
cppinterface
{
22
std::unique_ptr<teqp::cppinterface::AbstractModel>
make_multifluid
(
const
nlohmann::json &j){
23
return
teqp::cppinterface::adapter::make_owned
(
multifluidfactory
(j));
24
}
25
#ifndef DISABLE_ECSHUBERELY1994
26
std::unique_ptr<teqp::cppinterface::AbstractModel>
make_multifluid_ECS_HuberEly1994
(
const
nlohmann::json &j){
27
return
teqp::cppinterface::adapter::make_owned
(
ECSHuberEly::ECSHuberEly1994
(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
(){
37
return
teqp::cppinterface::adapter::make_owned
(
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
(){
47
return
teqp::cppinterface::adapter::make_owned
(
build_LJ126_TholJPCRD2016
());
48
}
49
std::unique_ptr<teqp::cppinterface::AbstractModel>
make_LJ126_KolafaNezbeda1994
(){
50
return
teqp::cppinterface::adapter::make_owned
(
LJ126KolafaNezbeda1994
());
51
}
52
std::unique_ptr<teqp::cppinterface::AbstractModel>
make_LJ126_Johnson1993
(){
53
return
teqp::cppinterface::adapter::make_owned
(
LJ126Johnson1993
());
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
}
ECSHuberEly.hpp
ammonia_water.hpp
teqp::AmmoniaWaterTillnerRoth
Definition
ammonia_water.hpp:8
teqp::ECSHuberEly::ECSHuberEly1994
Definition
ECSHuberEly.hpp:13
teqp::NotImplementedError
Definition
exceptions.hpp:45
teqp::mie::lennardjones::Johnson::LJ126Johnson1993
Definition
johnson.hpp:140
teqp::mie::lennardjones::Kolafa::LJ126KolafaNezbeda1994
Definition
johnson.hpp:10
deriv_adapter.hpp
lennardjones.hpp
multifluid.hpp
teqp::cppinterface::adapter::make_owned
auto make_owned(const TemplatedModel &tmodel)
Definition
deriv_adapter.hpp:259
teqp::cppinterface
Definition
deriv_adapter.hpp:15
teqp::cppinterface::make_LJ126_TholJPCRD2016
std::unique_ptr< teqp::cppinterface::AbstractModel > make_LJ126_TholJPCRD2016()
Definition
model_factory_multifluid.cpp:46
teqp::cppinterface::make_LJ126_Johnson1993
std::unique_ptr< teqp::cppinterface::AbstractModel > make_LJ126_Johnson1993()
Definition
model_factory_multifluid.cpp:52
teqp::cppinterface::make_multifluid_ECS_HuberEly1994
std::unique_ptr< teqp::cppinterface::AbstractModel > make_multifluid_ECS_HuberEly1994(const nlohmann::json &j)
Definition
model_factory_multifluid.cpp:26
teqp::cppinterface::make_multifluid
std::unique_ptr< teqp::cppinterface::AbstractModel > make_multifluid(const nlohmann::json &j)
Definition
model_factory_multifluid.cpp:22
teqp::cppinterface::make_AmmoniaWaterTillnerRoth
std::unique_ptr< teqp::cppinterface::AbstractModel > make_AmmoniaWaterTillnerRoth()
Definition
model_factory_multifluid.cpp:36
teqp::cppinterface::make_LJ126_KolafaNezbeda1994
std::unique_ptr< teqp::cppinterface::AbstractModel > make_LJ126_KolafaNezbeda1994()
Definition
model_factory_multifluid.cpp:49
teqp
Definition
ancillary_builder.hpp:8
teqp::build_LJ126_TholJPCRD2016
auto build_LJ126_TholJPCRD2016()
Definition
lennardjones.hpp:13
teqp::multifluidfactory
auto multifluidfactory(const nlohmann::json &spec)
Load a model from a JSON data structure.
Definition
multifluid.hpp:1095
teqpcpp.hpp
Generated by
1.17.0