teqp 0.22.0
Loading...
Searching...
No Matches
teqp::association::Association Class Reference

#include <association.hpp>

Classes

struct  IndexMapper
 

Public Types

using CompSite = std::tuple<std::size_t, std::string>
 
using CompCIndex = std::tuple<std::size_t, std::size_t>
 

Public Member Functions

 Association (const Eigen::ArrayXd &b_m3mol, const Eigen::ArrayXd &beta, const Eigen::ArrayXd &epsilon_Jmol, const std::vector< std::vector< std::string > > &molecule_sites, const AssociationOptions &options)
 
 Association (const decltype(datasidecar)&data, const std::vector< std::vector< std::string > > &molecule_sites, const AssociationOptions &options)
 
template<typename TType , typename RhoType , typename MoleFracsType >
auto get_Delta (const TType &T, const RhoType &rhomolar, const MoleFracsType &molefracs) const
 
template<typename TType , typename RhoType , typename MoleFracsType , typename XType >
auto successive_substitution (const TType &T, const RhoType &rhomolar, const MoleFracsType &molefracs, const XType &X_init) const
 
template<typename TType , typename RhoType , typename MoleFracsType >
auto alphar (const TType &T, const RhoType &rhomolar, const MoleFracsType &molefracs) const
 Calculate the contribution \(\alpha = a/(RT)\), where the Helmholtz energy \(a\) is on a molar basis, making \(\alpha\) dimensionless.
 
nlohmann::json get_assoc_calcs (double T, double rhomolar, const Eigen::ArrayXd &mole_fractions) const
 Get things from the association calculations for debug purposes.
 

Static Public Member Functions

static Association factory (const nlohmann::json &j)
 

Public Attributes

const AssociationOptions options
 
const IndexMapper mapper
 
const Eigen::ArrayXXi D
 
const Delta_rules m_Delta_rule
 
const std::variant< CanonicalData, DufalDatadatasidecar
 

Detailed Description

Definition at line 60 of file association.hpp.

Member Typedef Documentation

◆ CompCIndex

using teqp::association::Association::CompCIndex = std::tuple<std::size_t, std::size_t>

Definition at line 63 of file association.hpp.

◆ CompSite

using teqp::association::Association::CompSite = std::tuple<std::size_t, std::string>

Definition at line 62 of file association.hpp.

Constructor & Destructor Documentation

◆ Association() [1/2]

teqp::association::Association::Association ( const Eigen::ArrayXd & b_m3mol,
const Eigen::ArrayXd & beta,
const Eigen::ArrayXd & epsilon_Jmol,
const std::vector< std::vector< std::string > > & molecule_sites,
const AssociationOptions & options )
inline

Definition at line 177 of file association.hpp.

◆ Association() [2/2]

teqp::association::Association::Association ( const decltype(datasidecar)& data,
const std::vector< std::vector< std::string > > & molecule_sites,
const AssociationOptions & options )
inline

Definition at line 182 of file association.hpp.

Member Function Documentation

◆ alphar()

template<typename TType , typename RhoType , typename MoleFracsType >
auto teqp::association::Association::alphar ( const TType & T,
const RhoType & rhomolar,
const MoleFracsType & molefracs ) const
inline

Calculate the contribution \(\alpha = a/(RT)\), where the Helmholtz energy \(a\) is on a molar basis, making \(\alpha\) dimensionless.

Definition at line 438 of file association.hpp.

◆ factory()

static Association teqp::association::Association::factory ( const nlohmann::json & j)
inlinestatic

Definition at line 184 of file association.hpp.

◆ get_assoc_calcs()

nlohmann::json teqp::association::Association::get_assoc_calcs ( double T,
double rhomolar,
const Eigen::ArrayXd & mole_fractions ) const
inline

Get things from the association calculations for debug purposes.

Definition at line 473 of file association.hpp.

◆ get_Delta()

template<typename TType , typename RhoType , typename MoleFracsType >
auto teqp::association::Association::get_Delta ( const TType & T,
const RhoType & rhomolar,
const MoleFracsType & molefracs ) const
inline

Build the Delta matrix, where entries are given by

\[ \Delta_{IJ} = ... \]

A helper function for the I integral representation of Dufal (http://dx.doi.org/10.1080/00268976.2015.1029027)

Definition at line 275 of file association.hpp.

◆ successive_substitution()

template<typename TType , typename RhoType , typename MoleFracsType , typename XType >
auto teqp::association::Association::successive_substitution ( const TType & T,
const RhoType & rhomolar,
const MoleFracsType & molefracs,
const XType & X_init ) const
inline

Definition at line 370 of file association.hpp.

Member Data Documentation

◆ D

const Eigen::ArrayXXi teqp::association::Association::D

Definition at line 173 of file association.hpp.

◆ datasidecar

const std::variant<CanonicalData, DufalData> teqp::association::Association::datasidecar

Definition at line 175 of file association.hpp.

◆ m_Delta_rule

const Delta_rules teqp::association::Association::m_Delta_rule

Definition at line 174 of file association.hpp.

◆ mapper

const IndexMapper teqp::association::Association::mapper

Definition at line 172 of file association.hpp.

◆ options

const AssociationOptions teqp::association::Association::options

Definition at line 171 of file association.hpp.


The documentation for this class was generated from the following file: