teqp
0.23.1
Toggle main menu visibility
Loading...
Searching...
No Matches
include
teqp
models
fwd.hpp
Go to the documentation of this file.
1
#pragma once
2
10
11
#include <valarray>
12
#include <variant>
13
14
#include "
teqp/models/vdW.hpp
"
15
#include "
teqp/models/cubics/simple_cubics.hpp
"
16
#include "
teqp/models/cubics/advancedmixing_cubics.hpp
"
17
#include "
teqp/models/CPA.hpp
"
18
#include "
teqp/models/pcsaft.hpp
"
19
#include "
teqp/models/saftvrmie.hpp
"
20
#include "
teqp/models/multifluid.hpp
"
21
#include "
teqp/models/multifluid_mutant.hpp
"
22
#include "
teqp/models/ECSHuberEly.hpp
"
23
#include "
teqp/ideal_eosterms.hpp
"
24
#include "
teqp/models/ammonia_water.hpp
"
25
#include "
teqp/models/model_potentials/squarewell.hpp
"
26
#include "
teqp/models/model_potentials/exp6.hpp
"
27
#include "
teqp/models/model_potentials/2center_ljf.hpp
"
28
#include "
teqp/models/mie/lennardjones.hpp
"
29
#include "
teqp/models/mie/mie.hpp
"
30
#include "
teqp/models/GERG/GERG.hpp
"
31
#include "
teqp/models/LKP.hpp
"
32
33
namespace
teqp
{
34
35
using
vad
= std::valarray<double>;
36
using
vecs
= std::vector<std::string>;
37
38
// Define the EOS types by interrogating the types returned by the respective
39
// factory function or by alias of the class name
40
using
canonical_cubic_t
=
decltype
(
canonical_PR
(
vad
{},
vad
{},
vad
{}));
41
using
PCSAFT_t
=
decltype
(
PCSAFT::PCSAFTfactory
(nlohmann::json{}));
42
using
SAFTVRMie_t
=
decltype
(
SAFTVRMie::SAFTVRMieMixture
(
vecs
{}));
43
using
CPA_t
=
decltype
(
CPA::CPAfactory
(nlohmann::json{}));
44
using
multifluid_t
=
decltype
(
multifluidfactory
(nlohmann::json{}));
45
using
multifluidmutant_t
=
decltype
(
build_multifluid_mutant
(
multifluidfactory
(nlohmann::json{}), nlohmann::json{}));
46
using
ammonia_water_TillnerRoth_t
=
AmmoniaWaterTillnerRoth
;
47
using
SW_EspindolaHeredia2009_t
=
squarewell::EspindolaHeredia2009
;
48
using
EXP6_Kataoka1992_t
=
exp6::Kataoka1992
;
49
using
vdWEOS_t
=
vdWEOS<double>
;
50
using
twocenterLJF_t
=
decltype
(
twocenterljf::build_two_center_model_dipole
(std::string{},
double
{},
double
{}));
51
using
LJ126KolafaNezbeda1994_t
=
LJ126KolafaNezbeda1994
;
52
using
LJ126Johnson1993_t
=
LJ126Johnson1993
;
53
using
Mie6Pohl2023_t
=
Mie::Mie6Pohl2023
;
54
using
QuantumPR_t
=
QuantumCorrectedPR
;
55
56
using
idealgas_t
=
IdealHelmholtz
;
57
58
/*
59
// The set of these models is exposed in the variant
60
using AllowedModels = std::variant<
61
vdWEOS1,
62
vdWEOS_t,
63
canonical_cubic_t,
64
PCSAFT_t,
65
SAFTVRMie_t,
66
CPA_t,
67
multifluid_t,
68
multifluidmutant_t,
69
idealgas_t,
70
ammonia_water_TillnerRoth_t,
71
SW_EspindolaHeredia2009_t,
72
EXP6_Kataoka1992_t,
73
twocenterLJF_t,
74
LJ126KolafaNezbeda1994_t,
75
LJ126Johnson1993_t,
76
Mie6Pohl2023_t
77
>;
78
*/
79
}
2center_ljf.hpp
CPA.hpp
ECSHuberEly.hpp
GERG.hpp
LKP.hpp
advancedmixing_cubics.hpp
ammonia_water.hpp
teqp::AmmoniaWaterTillnerRoth
Definition
ammonia_water.hpp:8
teqp::IdealHelmholtz
Ideal-gas Helmholtz energy container.
Definition
ideal_eosterms.hpp:310
teqp::Mie::Mie6Pohl2023
Definition
mie.hpp:13
teqp::QuantumCorrectedPR
Definition
simple_cubics.hpp:447
teqp::SAFTVRMie::SAFTVRMieMixture
A class used to evaluate mixtures using the SAFT-VR-Mie model.
Definition
saftvrmie.hpp:921
teqp::exp6::Kataoka1992
Definition
exp6.hpp:19
teqp::mie::lennardjones::Johnson::LJ126Johnson1993
Definition
johnson.hpp:140
teqp::mie::lennardjones::Kolafa::LJ126KolafaNezbeda1994
Definition
johnson.hpp:10
teqp::squarewell::EspindolaHeredia2009
Definition
squarewell.hpp:31
teqp::vdWEOS
A slightly more involved implementation of van der Waals, this time with mixture properties.
Definition
vdW.hpp:45
exp6.hpp
ideal_eosterms.hpp
lennardjones.hpp
mie.hpp
multifluid.hpp
multifluid_mutant.hpp
teqp::CPA::CPAfactory
auto CPAfactory(const nlohmann::json &j)
Definition
CPA.hpp:301
teqp::saft::pcsaft::PCSAFTfactory
auto PCSAFTfactory(const nlohmann::json &spec)
A JSON-based factory function for the PC-SAFT model.
Definition
pcsaft.hpp:455
teqp::twocenterljf::build_two_center_model_dipole
auto build_two_center_model_dipole(const std::string &model_version, const double &L=0.0, const double &mu_sq=0.0)
Definition
2center_ljf.hpp:429
teqp
Definition
ancillary_builder.hpp:8
teqp::SAFTVRMie_t
decltype(SAFTVRMie::SAFTVRMieMixture(vecs{})) SAFTVRMie_t
Definition
fwd.hpp:42
teqp::idealgas_t
IdealHelmholtz idealgas_t
Definition
fwd.hpp:56
teqp::vecs
std::vector< std::string > vecs
Definition
fwd.hpp:36
teqp::multifluid_t
decltype(multifluidfactory(nlohmann::json{})) multifluid_t
Definition
fwd.hpp:44
teqp::ammonia_water_TillnerRoth_t
AmmoniaWaterTillnerRoth ammonia_water_TillnerRoth_t
Definition
fwd.hpp:46
teqp::build_multifluid_mutant
auto build_multifluid_mutant(const Model &model, const nlohmann::json &jj)
Definition
multifluid_mutant.hpp:66
teqp::twocenterLJF_t
decltype(twocenterljf::build_two_center_model_dipole(std::string{}, double{}, double{})) twocenterLJF_t
Definition
fwd.hpp:50
teqp::LJ126Johnson1993_t
LJ126Johnson1993 LJ126Johnson1993_t
Definition
fwd.hpp:52
teqp::canonical_PR
auto canonical_PR(TCType Tc_K, PCType pc_Pa, AcentricType acentric, const std::optional< Eigen::ArrayXXd > &kmat=std::nullopt, const std::optional< double > R_JmolK=std::nullopt)
Definition
simple_cubics.hpp:298
teqp::vdWEOS_t
vdWEOS< double > vdWEOS_t
Definition
fwd.hpp:49
teqp::multifluidfactory
auto multifluidfactory(const nlohmann::json &spec)
Load a model from a JSON data structure.
Definition
multifluid.hpp:1095
teqp::CPA_t
decltype(CPA::CPAfactory(nlohmann::json{})) CPA_t
Definition
fwd.hpp:43
teqp::Mie6Pohl2023_t
Mie::Mie6Pohl2023 Mie6Pohl2023_t
Definition
fwd.hpp:53
teqp::EXP6_Kataoka1992_t
exp6::Kataoka1992 EXP6_Kataoka1992_t
Definition
fwd.hpp:48
teqp::LJ126KolafaNezbeda1994_t
LJ126KolafaNezbeda1994 LJ126KolafaNezbeda1994_t
Definition
fwd.hpp:51
teqp::SW_EspindolaHeredia2009_t
squarewell::EspindolaHeredia2009 SW_EspindolaHeredia2009_t
Definition
fwd.hpp:47
teqp::canonical_cubic_t
decltype(canonical_PR(vad{}, vad{}, vad{})) canonical_cubic_t
Definition
fwd.hpp:40
teqp::vad
std::valarray< double > vad
Definition
fwd.hpp:35
teqp::QuantumPR_t
QuantumCorrectedPR QuantumPR_t
Definition
fwd.hpp:54
teqp::PCSAFT_t
decltype(PCSAFT::PCSAFTfactory(nlohmann::json{})) PCSAFT_t
Definition
fwd.hpp:41
teqp::multifluidmutant_t
decltype(build_multifluid_mutant(multifluidfactory(nlohmann::json{}), nlohmann::json{})) multifluidmutant_t
Definition
fwd.hpp:45
pcsaft.hpp
saftvrmie.hpp
simple_cubics.hpp
squarewell.hpp
vdW.hpp
Generated by
1.17.0