teqp 0.22.0
Loading...
Searching...
No Matches
teqp::saft::pcsaft::PCSAFTMixture Class Reference

#include <pcsaft.hpp>

Public Types

using PCSAFTDipolarContribution = teqp::saft::polar_terms::GrossVrabec::DipolarContributionGrossVrabec
 
using PCSAFTQuadrupolarContribution = teqp::saft::polar_terms::GrossVrabec::QuadrupolarContributionGross
 

Public Member Functions

 PCSAFTMixture (const std::vector< std::string > &names, const Eigen::Array< double, 3, 7 > &a=teqp::saft::PCSAFT::PCSAFTMatrices::GrossSadowski2001::a, const Eigen::Array< double, 3, 7 > &b=teqp::saft::PCSAFT::PCSAFTMatrices::GrossSadowski2001::b, const Eigen::ArrayXXd &kmat={})
 
 PCSAFTMixture (const std::vector< SAFTCoeffs > &coeffs, const Eigen::Array< double, 3, 7 > &a=teqp::saft::PCSAFT::PCSAFTMatrices::GrossSadowski2001::a, const Eigen::Array< double, 3, 7 > &b=teqp::saft::PCSAFT::PCSAFTMatrices::GrossSadowski2001::b, const Eigen::ArrayXXd &kmat={})
 
PCSAFTMixtureoperator= (const PCSAFTMixture &)=delete
 
auto get_m () const
 
auto get_sigma_Angstrom () const
 
auto get_epsilon_over_k_K () const
 
auto get_kmat () const
 
auto get_names () const
 
auto get_BibTeXKeys () const
 
auto print_info ()
 
template<typename VecType >
double max_rhoN (const double T, const VecType &mole_fractions) const
 
template<class VecType >
auto R (const VecType &molefrac) const
 
template<typename TTYPE , typename RhoType , typename VecType >
auto alphar (const TTYPE &T, const RhoType &rhomolar, const VecType &mole_fractions) const
 

Protected Member Functions

void check_kmat (Eigen::Index N)
 
auto get_coeffs_from_names (const std::vector< std::string > &the_names)
 
auto build_hardchain (const std::vector< SAFTCoeffs > &coeffs, const Eigen::Array< double, 3, 7 > &a, const Eigen::Array< double, 3, 7 > &b)
 
auto extract_names (const std::vector< SAFTCoeffs > &coeffs)
 
auto build_dipolar (const std::vector< SAFTCoeffs > &coeffs) -> std::optional< PCSAFTDipolarContribution >
 
auto build_quadrupolar (const std::vector< SAFTCoeffs > &coeffs) -> std::optional< PCSAFTQuadrupolarContribution >
 

Protected Attributes

Eigen::ArrayX< double > m
 number of segments
 
Eigen::ArrayX< double > mminus1
 m-1
 
Eigen::ArrayX< double > sigma_Angstrom
 
Eigen::ArrayX< double > epsilon_over_k
 depth of pair potential divided by Boltzman constant
 
std::vector< std::string > names
 
std::vector< std::string > bibtex
 
Eigen::ArrayXXd kmat
 binary interaction parameter matrix
 
PCSAFTHardChainContribution hardchain
 
std::optional< PCSAFTDipolarContributiondipolar
 
std::optional< PCSAFTQuadrupolarContributionquadrupolar
 

Detailed Description

A class used to evaluate mixtures using PC-SAFT model

This is the classical Gross and Sadowski model from 2001: https://doi.org/10.1021/ie0003887

with the errors fixed as noted in a comment: https://doi.org/10.1021/acs.iecr.9b01515

Definition at line 303 of file pcsaft.hpp.

Member Typedef Documentation

◆ PCSAFTDipolarContribution

◆ PCSAFTQuadrupolarContribution

Constructor & Destructor Documentation

◆ PCSAFTMixture() [1/2]

teqp::saft::pcsaft::PCSAFTMixture::PCSAFTMixture ( const std::vector< std::string > & names,
const Eigen::Array< double, 3, 7 > & a = teqp::saft::PCSAFT::PCSAFTMatrices::GrossSadowski2001::a,
const Eigen::Array< double, 3, 7 > & b = teqp::saft::PCSAFT::PCSAFTMatrices::GrossSadowski2001::b,
const Eigen::ArrayXXd & kmat = {} )
inline

Definition at line 391 of file pcsaft.hpp.

◆ PCSAFTMixture() [2/2]

teqp::saft::pcsaft::PCSAFTMixture::PCSAFTMixture ( const std::vector< SAFTCoeffs > & coeffs,
const Eigen::Array< double, 3, 7 > & a = teqp::saft::PCSAFT::PCSAFTMatrices::GrossSadowski2001::a,
const Eigen::Array< double, 3, 7 > & b = teqp::saft::PCSAFT::PCSAFTMatrices::GrossSadowski2001::b,
const Eigen::ArrayXXd & kmat = {} )
inline

Definition at line 395 of file pcsaft.hpp.

Member Function Documentation

◆ alphar()

template<typename TTYPE , typename RhoType , typename VecType >
auto teqp::saft::pcsaft::PCSAFTMixture::alphar ( const TTYPE & T,
const RhoType & rhomolar,
const VecType & mole_fractions ) const
inline

Definition at line 434 of file pcsaft.hpp.

◆ build_dipolar()

auto teqp::saft::pcsaft::PCSAFTMixture::build_dipolar ( const std::vector< SAFTCoeffs > & coeffs) -> std::optional<PCSAFTDipolarContribution>
inlineprotected

Definition at line 362 of file pcsaft.hpp.

◆ build_hardchain()

auto teqp::saft::pcsaft::PCSAFTMixture::build_hardchain ( const std::vector< SAFTCoeffs > & coeffs,
const Eigen::Array< double, 3, 7 > & a,
const Eigen::Array< double, 3, 7 > & b )
inlineprotected

Definition at line 334 of file pcsaft.hpp.

◆ build_quadrupolar()

auto teqp::saft::pcsaft::PCSAFTMixture::build_quadrupolar ( const std::vector< SAFTCoeffs > & coeffs) -> std::optional<PCSAFTQuadrupolarContribution>
inlineprotected

Definition at line 376 of file pcsaft.hpp.

◆ check_kmat()

void teqp::saft::pcsaft::PCSAFTMixture::check_kmat ( Eigen::Index N)
inlineprotected

Definition at line 319 of file pcsaft.hpp.

◆ extract_names()

auto teqp::saft::pcsaft::PCSAFTMixture::extract_names ( const std::vector< SAFTCoeffs > & coeffs)
inlineprotected

Definition at line 355 of file pcsaft.hpp.

◆ get_BibTeXKeys()

auto teqp::saft::pcsaft::PCSAFTMixture::get_BibTeXKeys ( ) const
inline

Definition at line 408 of file pcsaft.hpp.

◆ get_coeffs_from_names()

auto teqp::saft::pcsaft::PCSAFTMixture::get_coeffs_from_names ( const std::vector< std::string > & the_names)
inlineprotected

Definition at line 330 of file pcsaft.hpp.

◆ get_epsilon_over_k_K()

auto teqp::saft::pcsaft::PCSAFTMixture::get_epsilon_over_k_K ( ) const
inline

Definition at line 405 of file pcsaft.hpp.

◆ get_kmat()

auto teqp::saft::pcsaft::PCSAFTMixture::get_kmat ( ) const
inline

Definition at line 406 of file pcsaft.hpp.

◆ get_m()

auto teqp::saft::pcsaft::PCSAFTMixture::get_m ( ) const
inline

Definition at line 403 of file pcsaft.hpp.

◆ get_names()

auto teqp::saft::pcsaft::PCSAFTMixture::get_names ( ) const
inline

Definition at line 407 of file pcsaft.hpp.

◆ get_sigma_Angstrom()

auto teqp::saft::pcsaft::PCSAFTMixture::get_sigma_Angstrom ( ) const
inline

Definition at line 404 of file pcsaft.hpp.

◆ max_rhoN()

template<typename VecType >
double teqp::saft::pcsaft::PCSAFTMixture::max_rhoN ( const double T,
const VecType & mole_fractions ) const
inline

Definition at line 419 of file pcsaft.hpp.

◆ operator=()

PCSAFTMixture & teqp::saft::pcsaft::PCSAFTMixture::operator= ( const PCSAFTMixture & )
delete

◆ print_info()

auto teqp::saft::pcsaft::PCSAFTMixture::print_info ( )
inline

Definition at line 410 of file pcsaft.hpp.

◆ R()

template<class VecType >
auto teqp::saft::pcsaft::PCSAFTMixture::R ( const VecType & molefrac) const
inline

Definition at line 429 of file pcsaft.hpp.

Member Data Documentation

◆ bibtex

std::vector<std::string> teqp::saft::pcsaft::PCSAFTMixture::bibtex
protected

Definition at line 312 of file pcsaft.hpp.

◆ dipolar

std::optional<PCSAFTDipolarContribution> teqp::saft::pcsaft::PCSAFTMixture::dipolar
protected

Definition at line 316 of file pcsaft.hpp.

◆ epsilon_over_k

Eigen::ArrayX<double> teqp::saft::pcsaft::PCSAFTMixture::epsilon_over_k
protected

depth of pair potential divided by Boltzman constant

Definition at line 311 of file pcsaft.hpp.

◆ hardchain

PCSAFTHardChainContribution teqp::saft::pcsaft::PCSAFTMixture::hardchain
protected

Definition at line 315 of file pcsaft.hpp.

◆ kmat

Eigen::ArrayXXd teqp::saft::pcsaft::PCSAFTMixture::kmat
protected

binary interaction parameter matrix

Definition at line 313 of file pcsaft.hpp.

◆ m

Eigen::ArrayX<double> teqp::saft::pcsaft::PCSAFTMixture::m
protected

number of segments

Definition at line 308 of file pcsaft.hpp.

◆ mminus1

Eigen::ArrayX<double> teqp::saft::pcsaft::PCSAFTMixture::mminus1
protected

m-1

Definition at line 309 of file pcsaft.hpp.

◆ names

std::vector<std::string> teqp::saft::pcsaft::PCSAFTMixture::names
protected

Definition at line 312 of file pcsaft.hpp.

◆ quadrupolar

std::optional<PCSAFTQuadrupolarContribution> teqp::saft::pcsaft::PCSAFTMixture::quadrupolar
protected

Definition at line 317 of file pcsaft.hpp.

◆ sigma_Angstrom

Eigen::ArrayX<double> teqp::saft::pcsaft::PCSAFTMixture::sigma_Angstrom
protected

Definition at line 310 of file pcsaft.hpp.


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