teqp 0.19.1
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
teqp::PCSAFT::PCSAFTMixture Class Reference

#include <pcsaft.hpp>

Public Types

using PCSAFTDipolarContribution = SAFTpolar::DipolarContributionGrossVrabec
 
using PCSAFTQuadrupolarContribution = SAFTpolar::QuadrupolarContributionGross
 

Public Member Functions

 PCSAFTMixture (const std::vector< std::string > &names, const Eigen::ArrayXXd &kmat={})
 
 PCSAFTMixture (const std::vector< SAFTCoeffs > &coeffs, 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)
 
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 280 of file pcsaft.hpp.

Member Typedef Documentation

◆ PCSAFTDipolarContribution

Definition at line 282 of file pcsaft.hpp.

◆ PCSAFTQuadrupolarContribution

Definition at line 283 of file pcsaft.hpp.

Constructor & Destructor Documentation

◆ PCSAFTMixture() [1/2]

teqp::PCSAFT::PCSAFTMixture::PCSAFTMixture ( const std::vector< std::string > & names,
const Eigen::ArrayXXd & kmat = {} )
inline

Definition at line 368 of file pcsaft.hpp.

◆ PCSAFTMixture() [2/2]

teqp::PCSAFT::PCSAFTMixture::PCSAFTMixture ( const std::vector< SAFTCoeffs > & coeffs,
const Eigen::ArrayXXd & kmat = {} )
inline

Definition at line 369 of file pcsaft.hpp.

Member Function Documentation

◆ alphar()

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

Definition at line 405 of file pcsaft.hpp.

◆ build_dipolar()

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

Definition at line 339 of file pcsaft.hpp.

◆ build_hardchain()

auto teqp::PCSAFT::PCSAFTMixture::build_hardchain ( const std::vector< SAFTCoeffs > & coeffs)
inlineprotected

Definition at line 311 of file pcsaft.hpp.

◆ build_quadrupolar()

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

Definition at line 353 of file pcsaft.hpp.

◆ check_kmat()

void teqp::PCSAFT::PCSAFTMixture::check_kmat ( Eigen::Index N)
inlineprotected

Definition at line 296 of file pcsaft.hpp.

◆ extract_names()

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

Definition at line 332 of file pcsaft.hpp.

◆ get_BibTeXKeys()

auto teqp::PCSAFT::PCSAFTMixture::get_BibTeXKeys ( ) const
inline

Definition at line 379 of file pcsaft.hpp.

◆ get_coeffs_from_names()

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

Definition at line 307 of file pcsaft.hpp.

◆ get_epsilon_over_k_K()

auto teqp::PCSAFT::PCSAFTMixture::get_epsilon_over_k_K ( ) const
inline

Definition at line 376 of file pcsaft.hpp.

◆ get_kmat()

auto teqp::PCSAFT::PCSAFTMixture::get_kmat ( ) const
inline

Definition at line 377 of file pcsaft.hpp.

◆ get_m()

auto teqp::PCSAFT::PCSAFTMixture::get_m ( ) const
inline

Definition at line 374 of file pcsaft.hpp.

◆ get_names()

auto teqp::PCSAFT::PCSAFTMixture::get_names ( ) const
inline

Definition at line 378 of file pcsaft.hpp.

◆ get_sigma_Angstrom()

auto teqp::PCSAFT::PCSAFTMixture::get_sigma_Angstrom ( ) const
inline

Definition at line 375 of file pcsaft.hpp.

◆ max_rhoN()

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

Definition at line 390 of file pcsaft.hpp.

◆ operator=()

PCSAFTMixture & teqp::PCSAFT::PCSAFTMixture::operator= ( const PCSAFTMixture & )
delete

◆ print_info()

auto teqp::PCSAFT::PCSAFTMixture::print_info ( )
inline

Definition at line 381 of file pcsaft.hpp.

◆ R()

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

Definition at line 400 of file pcsaft.hpp.

Member Data Documentation

◆ bibtex

std::vector<std::string> teqp::PCSAFT::PCSAFTMixture::bibtex
protected

Definition at line 289 of file pcsaft.hpp.

◆ dipolar

std::optional<PCSAFTDipolarContribution> teqp::PCSAFT::PCSAFTMixture::dipolar
protected

Definition at line 293 of file pcsaft.hpp.

◆ epsilon_over_k

Eigen::ArrayX<double> teqp::PCSAFT::PCSAFTMixture::epsilon_over_k
protected

depth of pair potential divided by Boltzman constant

Definition at line 288 of file pcsaft.hpp.

◆ hardchain

PCSAFTHardChainContribution teqp::PCSAFT::PCSAFTMixture::hardchain
protected

Definition at line 292 of file pcsaft.hpp.

◆ kmat

Eigen::ArrayXXd teqp::PCSAFT::PCSAFTMixture::kmat
protected

binary interaction parameter matrix

Definition at line 290 of file pcsaft.hpp.

◆ m

Eigen::ArrayX<double> teqp::PCSAFT::PCSAFTMixture::m
protected

number of segments

Definition at line 285 of file pcsaft.hpp.

◆ mminus1

Eigen::ArrayX<double> teqp::PCSAFT::PCSAFTMixture::mminus1
protected

m-1

Definition at line 286 of file pcsaft.hpp.

◆ names

std::vector<std::string> teqp::PCSAFT::PCSAFTMixture::names
protected

Definition at line 289 of file pcsaft.hpp.

◆ quadrupolar

std::optional<PCSAFTQuadrupolarContribution> teqp::PCSAFT::PCSAFTMixture::quadrupolar
protected

Definition at line 294 of file pcsaft.hpp.

◆ sigma_Angstrom

Eigen::ArrayX<double> teqp::PCSAFT::PCSAFTMixture::sigma_Angstrom
protected

Definition at line 287 of file pcsaft.hpp.


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