teqp
0.23.1
Toggle main menu visibility
Loading...
Searching...
No Matches
include
teqp
models
multifluid_association.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include "
teqp/types.hpp
"
4
5
#include "
teqp/models/association/association.hpp
"
6
#include "
teqp/models/multifluid.hpp
"
7
8
namespace
teqp
{
9
10
class
MultifluidPlusAssociation
{
11
private
:
12
const
decltype
(
multifluidfactory
(nlohmann::json{})) m_multifluid;
13
const
association::Association
m_association;
14
public
:
15
MultifluidPlusAssociation
(
const
nlohmann::json &spec) :
16
m_multifluid(
multifluidfactory
(spec.at(
"multifluid"
))),
17
m_association(
association
::Association::factory(spec.at(
"association"
).at(
"model"
))){}
18
19
const
auto
&
get_association
()
const
{
return
m_association; }
20
21
template
<
class
VecType>
22
auto
R
(
const
VecType& molefrac)
const
{
23
return
get_R_gas<decltype(molefrac[0])>
();
24
}
25
26
template
<
typename
TType,
typename
RhoType,
typename
MoleFractions>
27
auto
alphar
(
const
TType& T,
const
RhoType& rho,
const
MoleFractions& molefrac)
const
{
28
return
forceeval
(
29
m_multifluid.alphar(T, rho, molefrac)
30
+ m_association.alphar(T, rho, molefrac)
31
);
32
}
33
};
34
35
};
// namespace teqp
association.hpp
teqp::MultifluidPlusAssociation::R
auto R(const VecType &molefrac) const
Definition
multifluid_association.hpp:22
teqp::MultifluidPlusAssociation::MultifluidPlusAssociation
MultifluidPlusAssociation(const nlohmann::json &spec)
Definition
multifluid_association.hpp:15
teqp::MultifluidPlusAssociation::alphar
auto alphar(const TType &T, const RhoType &rho, const MoleFractions &molefrac) const
Definition
multifluid_association.hpp:27
teqp::MultifluidPlusAssociation::get_association
const auto & get_association() const
Definition
multifluid_association.hpp:19
teqp::association::Association
Definition
association.hpp:60
multifluid.hpp
teqp::association
Definition
association.hpp:26
teqp
Definition
ancillary_builder.hpp:8
teqp::multifluidfactory
auto multifluidfactory(const nlohmann::json &spec)
Load a model from a JSON data structure.
Definition
multifluid.hpp:1095
teqp::forceeval
auto forceeval(T &&expr)
Definition
types.hpp:52
teqp::get_R_gas
auto get_R_gas()
< Gas constant, according to CODATA 2019, in the given number type
Definition
constants.hpp:22
types.hpp
Generated by
1.17.0