CoolProp
6.6.1dev
An open-source fluid property and humid air property database
|
Definition at line 74 of file GeneralizedCubic.h.
#include <GeneralizedCubic.h>
Public Member Functions | |
AbstractCubic (std::vector< double > Tc, std::vector< double > pc, std::vector< double > acentric, double R_u, double Delta_1, double Delta_2, std::vector< double > C1=std::vector< double >(), std::vector< double > C2=std::vector< double >(), std::vector< double > C3=std::vector< double >()) | |
The abstract base clase for the concrete implementations of the cubic equations of state. More... | |
virtual | ~AbstractCubic () |
void | set_alpha (const std::vector< double > &C1, const std::vector< double > &C2, const std::vector< double > &C3) |
Set the constants for the Mathias-Copeman alpha function, or if C1,C2,C3 are all empty, set the default alpha model. More... | |
void | set_alpha_function (std::size_t i, shared_ptr< AbstractCubicAlphaFunction > &acaf) |
Set the alpha function for the i-th component. More... | |
shared_ptr< AbstractCubicAlphaFunction > | get_alpha_function (std::size_t i) |
Get the alpha function for the i-th component. More... | |
const std::vector< shared_ptr< AbstractCubicAlphaFunction > > & | get_all_alpha_functions () |
Get all the alpha functions. More... | |
void | set_all_alpha_functions (const std::vector< shared_ptr< AbstractCubicAlphaFunction >> &alpha) |
Set all the alpha functions. More... | |
const std::vector< std::vector< double > > & | get_kmat () |
Get the entire kij matrix in one shot. More... | |
void | set_kmat (const std::vector< std::vector< double >> &k) |
Set the entire kij matrix in one shot. More... | |
void | set_kij (std::size_t i, std::size_t j, double val) |
Set the kij factor for the ij pair. More... | |
double | get_kij (std::size_t i, std::size_t j) |
Get the kij factor for the ij pair. More... | |
std::vector< double > & | get_Tc () |
Get the vector of critical temperatures (in K) More... | |
std::vector< double > & | get_pc () |
Get the vector of critical pressures (in Pa) More... | |
std::vector< double > & | get_acentric () |
Get the vector of acentric factors. More... | |
double | get_Delta_1 () |
Read-only accessor for value of Delta_1. More... | |
double | get_Delta_2 () |
Read-only accessor for value of Delta_2. More... | |
double | get_R_u () |
Read-only accessor for value of R_u (universal gas constant) More... | |
void | set_Tr (double Tr) |
Set the reducing temperature to be used. More... | |
void | set_rhor (double rhor) |
Set the reducing density to be used. More... | |
double | get_Tr () |
Get the reducing temperature to be used. More... | |
double | get_rhor () |
Get the reducing density to be used. More... | |
void | set_C_MC (std::size_t i, double c1, double c2, double c3) |
Set the three Mathias-Copeman constants in one shot for the component i of a mixture. More... | |
void | set_C_Twu (std::size_t i, double L, double M, double N) |
Set the three Twu constants in one shot for the component i of a mixture. More... | |
virtual double | a0_ii (std::size_t i)=0 |
virtual double | b0_ii (std::size_t i)=0 |
virtual double | m_ii (std::size_t i)=0 |
Get the m_ii variable in the alpha term inculuded in the attractive part. More... | |
virtual double | alphar (double tau, double delta, const std::vector< double > &x, std::size_t itau, std::size_t idelta) |
The residual non-dimensionalized Helmholtz energy \(\alpha^r\). More... | |
virtual double | d_alphar_dxi (double tau, double delta, const std::vector< double > &x, std::size_t itau, std::size_t idelta, std::size_t i, bool xN_independent) |
The first composition derivative of \(\alpha^r\) as well as derivatives with respect to \(\tau\) and \(\delta\). More... | |
virtual double | d2_alphar_dxidxj (double tau, double delta, const std::vector< double > &x, std::size_t itau, std::size_t idelta, std::size_t i, std::size_t j, bool xN_independent) |
The second composition derivative of \(\alpha^r\) as well as derivatives with respect to \(\tau\) and \(\delta\). More... | |
virtual double | d3_alphar_dxidxjdxk (double tau, double delta, const std::vector< double > &x, std::size_t itau, std::size_t idelta, std::size_t i, std::size_t j, std::size_t k, bool xN_independent) |
The third composition derivative of \(\alpha^r\) as well as derivatives with respect to \(\tau\) and \(\delta\). More... | |
virtual double | am_term (double tau, const std::vector< double > &x, std::size_t itau) |
The n-th derivative of \(a_m\) with respect to \(\tau\). More... | |
virtual double | d_am_term_dxi (double tau, const std::vector< double > &x, std::size_t itau, std::size_t i, bool xN_independent) |
The first composition derivative of \(a_m\) as well as derivatives with respect to \(\tau\). More... | |
virtual double | d2_am_term_dxidxj (double tau, const std::vector< double > &x, std::size_t itau, std::size_t i, std::size_t j, bool xN_independent) |
The second composition derivative of \(a_m\) as well as derivatives with respect to \(\tau\). More... | |
virtual double | d3_am_term_dxidxjdxk (double tau, const std::vector< double > &x, std::size_t itau, std::size_t i, std::size_t j, std::size_t k, bool xN_independent) |
The third composition derivative of \(a_m\) as well as derivatives with respect to \(\tau\). More... | |
virtual double | bm_term (const std::vector< double > &x) |
The term \(b_{\rm m}\) (mixture co-volume) More... | |
virtual double | d_bm_term_dxi (const std::vector< double > &x, std::size_t i, bool xN_independent) |
The first composition derivative of \(b_m\). More... | |
virtual double | d2_bm_term_dxidxj (const std::vector< double > &x, std::size_t i, std::size_t j, bool xN_independent) |
The second composition derivative of \(b_m\). More... | |
virtual double | d3_bm_term_dxidxjdxk (const std::vector< double > &x, std::size_t i, std::size_t j, std::size_t k, bool xN_independent) |
The third composition derivative of \(b_m\). More... | |
virtual double | cm_term () |
The term \(c_{\rm m}\) (volume translation) More... | |
void | set_cm (double val) |
Set the volume translation parameter. More... | |
double | get_cm () |
Get the volume translation parameter. More... | |
virtual void | set_Q_k (const size_t sgi, const double value) |
Modify the surface parameter Q_k of the sub group sgi. More... | |
virtual double | get_Q_k (const size_t sgi) const |
Retrieve the surface parameter Q_k of the sub group sgi. More... | |
double | aij_term (double tau, std::size_t i, std::size_t j, std::size_t itau) |
The n-th \(\tau\) derivative of \(a_{ij}(\tau)\). More... | |
double | u_term (double tau, std::size_t i, std::size_t j, std::size_t itau) |
double | aii_term (double tau, std::size_t i, std::size_t itau) |
double | psi_minus (double delta, const std::vector< double > &x, std::size_t itau, std::size_t idelta) |
The term \( \psi^{(-)}\) and its \(\tau\) and \( \delta \) derivatives. More... | |
double | d_psi_minus_dxi (double delta, const std::vector< double > &x, std::size_t itau, std::size_t idelta, std::size_t i, bool xN_independent) |
The third composition derivative of \( \psi^{(-)}\) and its \( \delta \) derivatives. More... | |
double | d2_psi_minus_dxidxj (double delta, const std::vector< double > &x, std::size_t itau, std::size_t idelta, std::size_t i, std::size_t j, bool xN_independent) |
The second composition derivative of \( \psi^{(-)}\) and its \( \delta \) derivatives. More... | |
double | d3_psi_minus_dxidxjdxk (double delta, const std::vector< double > &x, std::size_t itau, std::size_t idelta, std::size_t i, std::size_t j, std::size_t k, bool xN_independent) |
The third composition derivative of \( \psi^{(-)}\) and its \( \delta \) derivatives. More... | |
double | PI_12 (double delta, const std::vector< double > &x, std::size_t idelta) |
The term \( \Pi_{12}\) and its \( \delta \) derivatives. More... | |
double | d_PI_12_dxi (double delta, const std::vector< double > &x, std::size_t idelta, std::size_t i, bool xN_independent) |
The first composition derivative of \( \Pi_{12}\) and its \( \delta \) derivatives. More... | |
double | d2_PI_12_dxidxj (double delta, const std::vector< double > &x, std::size_t idelta, std::size_t i, std::size_t j, bool xN_independent) |
The second composition derivative of \( \Pi_{12}\) and its \( \delta \) derivatives. More... | |
double | d3_PI_12_dxidxjdxk (double delta, const std::vector< double > &x, std::size_t idelta, std::size_t i, std::size_t j, std::size_t k, bool xN_independent) |
The third composition derivative of \( \Pi_{12}\) and its \( \delta \) derivatives. More... | |
double | tau_times_a (double tau, const std::vector< double > &x, std::size_t itau) |
The term \( \tau\cdot a_m(\tau)\) and its \( \tau \) derivatives. More... | |
double | d_tau_times_a_dxi (double tau, const std::vector< double > &x, std::size_t itau, std::size_t i, bool xN_independent) |
The first composition derivative of \( \tau\cdot a_m(\tau)\) and its \( \tau \) derivatives. More... | |
double | d2_tau_times_a_dxidxj (double tau, const std::vector< double > &x, std::size_t itau, std::size_t i, std::size_t j, bool xN_independent) |
The second composition derivative of \( \tau\cdot a_m(\tau)\) and its \( \tau \) derivatives. More... | |
double | d3_tau_times_a_dxidxjdxk (double tau, const std::vector< double > &x, std::size_t itau, std::size_t i, std::size_t j, std::size_t k, bool xN_independent) |
The third composition derivative of \( \tau\cdot a_m(\tau)\) and its \( \tau \) derivatives. More... | |
double | psi_plus (double delta, const std::vector< double > &x, std::size_t idelta) |
The term \( \psi^{(+)}\) and its \( \delta \) derivatives. More... | |
double | d_psi_plus_dxi (double delta, const std::vector< double > &x, std::size_t idelta, std::size_t i, bool xN_independent) |
The first composition derivative of \( \psi^{(+)}\) and its \( \delta \) derivatives. More... | |
double | d2_psi_plus_dxidxj (double delta, const std::vector< double > &x, std::size_t idelta, std::size_t i, std::size_t j, bool xN_independent) |
The second composition derivative of \( \psi^{(+)}\) and its \( \delta \) derivatives. More... | |
double | d3_psi_plus_dxidxjdxk (double delta, const std::vector< double > &x, std::size_t idelta, std::size_t i, std::size_t j, std::size_t k, bool xN_independent) |
The third composition derivative of \( \psi^{(+)}\) and its \( \delta \) derivatives. More... | |
double | c_term (const std::vector< double > &x) |
The term \(c\) used in the pure composition partial derivatives of \(\psi^{(+)}\). More... | |
double | d_c_term_dxi (const std::vector< double > &x, std::size_t i, bool xN_independent) |
The first composition derivative of the term \(c\) used in the pure composition partial derivatives of \(\psi^{(+)}\). More... | |
double | d2_c_term_dxidxj (const std::vector< double > &x, std::size_t i, std::size_t j, bool xN_independent) |
The second composition derivative of the term \(c\) used in the pure composition partial derivatives of \(\psi^{(+)}\). More... | |
double | d3_c_term_dxidxjdxk (const std::vector< double > &x, std::size_t i, std::size_t j, std::size_t k, bool xN_independent) |
The third composition derivative of the term \(c\) used in the pure composition partial derivatives of \(\psi^{(+)}\). More... | |
double | A_term (double delta, const std::vector< double > &x) |
The term \(A\) used in the pure composition partial derivatives of \(\psi^{(+)}\). More... | |
double | d_A_term_dxi (double delta, const std::vector< double > &x, std::size_t i, bool xN_independent) |
The first composition derivative of the term \(A\) used in the pure composition partial derivatives of \(\psi^{(+)}\). More... | |
double | d2_A_term_dxidxj (double delta, const std::vector< double > &x, std::size_t i, std::size_t j, bool xN_independent) |
The second composition derivative of the term \(A\) used in the pure composition partial derivatives of \(\psi^{(+)}\). More... | |
double | d3_A_term_dxidxjdxk (double delta, const std::vector< double > &x, std::size_t i, std::size_t j, std::size_t k, bool xN_independent) |
The third composition derivative of the term \(A\) used in the pure composition partial derivatives of \(\psi^{(+)}\). More... | |
virtual void | set_interaction_parameter (const std::size_t mgi1, const std::size_t mgi2, const std::string ¶meter, const double value) |
virtual double | get_interaction_parameter (const std::size_t mgi1, const std::size_t mgi2, const std::string ¶meter) |
Protected Attributes | |
double | rho_r |
The reducing density to be used [mol/m3]. More... | |
double | T_r |
The reducing temperature to be used [K]. More... | |
std::vector< double > | Tc |
Vector of critical temperatures (in K) More... | |
std::vector< double > | pc |
Vector of critical pressures (in Pa) More... | |
std::vector< double > | acentric |
Vector of acentric factors (unitless) More... | |
double | R_u |
The universal gas constant in J/(mol*K) More... | |
double | Delta_1 |
The first cubic constant. More... | |
double | Delta_2 |
The second cubic constant. More... | |
int | N |
Number of components in the mixture. More... | |
std::vector< std::vector< double > > | k |
The interaction parameters (k_ii = 0) More... | |
double | cm |
The volume translation parameter. More... | |
std::vector< shared_ptr< AbstractCubicAlphaFunction > > | alpha |
The vector of alpha functions for the pure components. More... | |
AbstractCubic::AbstractCubic | ( | std::vector< double > | Tc, |
std::vector< double > | pc, | ||
std::vector< double > | acentric, | ||
double | R_u, | ||
double | Delta_1, | ||
double | Delta_2, | ||
std::vector< double > | C1 = std::vector<double>() , |
||
std::vector< double > | C2 = std::vector<double>() , |
||
std::vector< double > | C3 = std::vector<double>() |
||
) |
The abstract base clase for the concrete implementations of the cubic equations of state.
This abstract base class describes the structure that must be implemented by concrete implementations of the cubic equations of state (SRK, PR, etc.). The virtual functions must be implemented by the derived classes, the remaining functions are generic and are not dependent on the equation of state, so long as it has the formulation given in this work.
Definition at line 120 of file GeneralizedCubic.cpp.
|
inlinevirtual |
Definition at line 103 of file GeneralizedCubic.h.
|
pure virtual |
Get the leading constant in the expression for the pure fluid attractive energy term (must be implemented by derived classes)
Implemented in SRK, and PengRobinson.
|
inline |
The term \(A\) used in the pure composition partial derivatives of \(\psi^{(+)}\).
\[ A = \log\left(\frac{\Delta_1\delta\rho_r b_m+1}{\Delta_2\delta\rho_r b+1}\right) \]
delta | The reduced density \(\delta = \frac{\rho}{\rho_c}\) |
x | The vector of mole fractions |
Definition at line 548 of file GeneralizedCubic.h.
double AbstractCubic::aii_term | ( | double | tau, |
std::size_t | i, | ||
std::size_t | itau | ||
) |
Take the n-th tau derivative of the \(a_{ii}(\tau)\) pure fluid contribution
tau | The reciprocal reduced temperature \(\tau=T_r/T\) |
i | The index of the component |
itau | The number of derivatives of \(u\) to take with respect to \(\tau\) (itau=0 is just a_{ij}, itau=1 is d(a_ij)/d(tau), etc.) |
Definition at line 210 of file GeneralizedCubic.cpp.
double AbstractCubic::aij_term | ( | double | tau, |
std::size_t | i, | ||
std::size_t | j, | ||
std::size_t | itau | ||
) |
The n-th \(\tau\) derivative of \(a_{ij}(\tau)\).
tau | The reciprocal reduced temperature \(\tau=T_r/T\) |
i | The first index |
j | The second index |
itau | The number of derivatives of \(a_{ij}\) to take with respect to \(\tau\) (itau=0 is just a_{ij}, itau=1 is d(a_ij)/d(tau), etc.) |
Definition at line 232 of file GeneralizedCubic.cpp.
|
virtual |
The residual non-dimensionalized Helmholtz energy \(\alpha^r\).
Definition at line 600 of file GeneralizedCubic.cpp.
|
virtual |
The n-th derivative of \(a_m\) with respect to \(\tau\).
tau | The reciprocal reduced temperature \(\tau=T_r/T\) |
x | The vector of mole fractions |
itau | The number of derivatives of \(a_m\) to take with respect to \(\tau\) (itau=0 is just a_m, itau=1 is d(a_m)/d(tau), etc.) |
Reimplemented in VTPRCubic.
Definition at line 147 of file GeneralizedCubic.cpp.
|
pure virtual |
Get the leading constant in the expression for the pure fluid covolume term (must be implemented by derived classes)
Implemented in SRK, and PengRobinson.
|
virtual |
The term \(b_{\rm m}\) (mixture co-volume)
x | The vector of mole fractions |
Reimplemented in VTPRCubic.
Definition at line 185 of file GeneralizedCubic.cpp.
|
inline |
The term \(c\) used in the pure composition partial derivatives of \(\psi^{(+)}\).
\(c\) is given by
\[ c = \frac{1}{b_m} \]
x | The vector of mole fractions |
Definition at line 495 of file GeneralizedCubic.h.
|
virtual |
The term \(c_{\rm m}\) (volume translation)
Definition at line 206 of file GeneralizedCubic.cpp.
|
inline |
The second composition derivative of the term \(A\) used in the pure composition partial derivatives of \(\psi^{(+)}\).
delta | The reduced density \(\delta = \frac{\rho}{\rho_c}\) |
x | The vector of mole fractions |
i | The first index |
j | The second index |
xN_independent | True if \(x_N\) is an independent variable, false otherwise (dependent on other \(N-1\) mole fractions) |
Definition at line 572 of file GeneralizedCubic.h.
|
virtual |
The second composition derivative of \(\alpha^r\) as well as derivatives with respect to \(\tau\) and \(\delta\).
Definition at line 610 of file GeneralizedCubic.cpp.
|
virtual |
The second composition derivative of \(a_m\) as well as derivatives with respect to \(\tau\).
tau | The reciprocal reduced temperature \(\tau=T_r/T\) |
x | The vector of mole fractions |
itau | The number of derivatives of \(a_m\) to take with respect to \(\tau\) (itau=0 is just a_m, itau=1 is d(a_m)/d(tau), etc.) |
i | The first index |
j | The second index |
xN_independent | True if \(x_N\) is an independent variable, false otherwise (dependent on other \(N-1\) mole fractions) |
Reimplemented in VTPRCubic.
Definition at line 171 of file GeneralizedCubic.cpp.
|
virtual |
The second composition derivative of \(b_m\).
x | The vector of mole fractions |
i | The first index |
j | The second index |
xN_independent | True if \(x_N\) is an independent variable, false otherwise (dependent on other \(N-1\) mole fractions) |
Reimplemented in VTPRCubic.
Definition at line 199 of file GeneralizedCubic.cpp.
|
inline |
The second composition derivative of the term \(c\) used in the pure composition partial derivatives of \(\psi^{(+)}\).
x | The vector of mole fractions |
i | The first index |
j | The second index |
xN_independent | True if \(x_N\) is an independent variable, false otherwise (dependent on other \(N-1\) mole fractions) |
Definition at line 514 of file GeneralizedCubic.h.
double AbstractCubic::d2_PI_12_dxidxj | ( | double | delta, |
const std::vector< double > & | x, | ||
std::size_t | idelta, | ||
std::size_t | i, | ||
std::size_t | j, | ||
bool | xN_independent | ||
) |
The second composition derivative of \( \Pi_{12}\) and its \( \delta \) derivatives.
delta | The reduced density \(\delta = \frac{\rho}{\rho_c}\) |
x | The vector of mole fractions |
idelta | How many derivatives to take with respect to \(\delta\) |
i | The first index |
j | The second index |
xN_independent | True if \(x_N\) is an independent variable, false otherwise (dependent on other \(N-1\) mole fractions) |
Definition at line 379 of file GeneralizedCubic.cpp.
double AbstractCubic::d2_psi_minus_dxidxj | ( | double | delta, |
const std::vector< double > & | x, | ||
std::size_t | itau, | ||
std::size_t | idelta, | ||
std::size_t | i, | ||
std::size_t | j, | ||
bool | xN_independent | ||
) |
The second composition derivative of \( \psi^{(-)}\) and its \( \delta \) derivatives.
delta | The reduced density \(\delta = \frac{\rho}{\rho_c}\) |
x | The vector of mole fractions |
itau | How many derivatives to take with respect to \(\tau\) |
idelta | How many derivatives to take with respect to \(\delta\) |
i | The first index |
j | The second index |
xN_independent | True if \(x_N\) is an independent variable, false otherwise (dependent on other \(N-1\) mole fractions) |
Definition at line 296 of file GeneralizedCubic.cpp.
double AbstractCubic::d2_psi_plus_dxidxj | ( | double | delta, |
const std::vector< double > & | x, | ||
std::size_t | idelta, | ||
std::size_t | i, | ||
std::size_t | j, | ||
bool | xN_independent | ||
) |
The second composition derivative of \( \psi^{(+)}\) and its \( \delta \) derivatives.
delta | The reduced density \(\delta = \frac{\rho}{\rho_c}\) |
x | The vector of mole fractions |
idelta | How many derivatives to take with respect to \(\delta\) |
i | The first index |
j | The second index |
xN_independent | True if \(x_N\) is an independent variable, false otherwise (dependent on other \(N-1\) mole fractions) |
Definition at line 477 of file GeneralizedCubic.cpp.
double AbstractCubic::d2_tau_times_a_dxidxj | ( | double | tau, |
const std::vector< double > & | x, | ||
std::size_t | itau, | ||
std::size_t | i, | ||
std::size_t | j, | ||
bool | xN_independent | ||
) |
The second composition derivative of \( \tau\cdot a_m(\tau)\) and its \( \tau \) derivatives.
tau | The reciprocal reduced temperature \(\tau = \frac{T_c}{T}\) |
x | The vector of mole fractions |
itau | How many derivatives to take with respect to \(\tau\) |
i | The first index |
j | The second index |
xN_independent | True if \(x_N\) is an independent variable, false otherwise (dependent on other \(N-1\) mole fractions) |
Definition at line 583 of file GeneralizedCubic.cpp.
|
inline |
The third composition derivative of the term \(A\) used in the pure composition partial derivatives of \(\psi^{(+)}\).
delta | The reduced density \(\delta = \frac{\rho}{\rho_c}\) |
x | The vector of mole fractions |
i | The first index |
j | The second index |
k | The third index |
xN_independent | True if \(x_N\) is an independent variable, false otherwise (dependent on other \(N-1\) mole fractions) |
Definition at line 588 of file GeneralizedCubic.h.
|
virtual |
The third composition derivative of \(\alpha^r\) as well as derivatives with respect to \(\tau\) and \(\delta\).
Definition at line 619 of file GeneralizedCubic.cpp.
|
virtual |
The third composition derivative of \(a_m\) as well as derivatives with respect to \(\tau\).
tau | The reciprocal reduced temperature \(\tau=T_r/T\) |
x | The vector of mole fractions |
itau | The number of derivatives of \(a_m\) to take with respect to \(\tau\) (itau=0 is just a_m, itau=1 is d(a_m)/d(tau), etc.) |
i | The first index |
j | The second index |
k | The third index |
xN_independent | True if \(x_N\) is an independent variable, false otherwise (dependent on other \(N-1\) mole fractions) |
Reimplemented in VTPRCubic.
Definition at line 180 of file GeneralizedCubic.cpp.
|
virtual |
The third composition derivative of \(b_m\).
x | The vector of mole fractions |
i | The first index |
j | The second index |
k | The third index |
xN_independent | True if \(x_N\) is an independent variable, false otherwise (dependent on other \(N-1\) mole fractions) |
Reimplemented in VTPRCubic.
Definition at line 202 of file GeneralizedCubic.cpp.
|
inline |
The third composition derivative of the term \(c\) used in the pure composition partial derivatives of \(\psi^{(+)}\).
x | The vector of mole fractions |
i | The first index |
j | The second index |
k | The third index |
xN_independent | True if \(x_N\) is an independent variable, false otherwise (dependent on other \(N-1\) mole fractions) |
Definition at line 527 of file GeneralizedCubic.h.
double AbstractCubic::d3_PI_12_dxidxjdxk | ( | double | delta, |
const std::vector< double > & | x, | ||
std::size_t | idelta, | ||
std::size_t | i, | ||
std::size_t | j, | ||
std::size_t | k, | ||
bool | xN_independent | ||
) |
The third composition derivative of \( \Pi_{12}\) and its \( \delta \) derivatives.
delta | The reduced density \(\delta = \frac{\rho}{\rho_c}\) |
x | The vector of mole fractions |
idelta | How many derivatives to take with respect to \(\delta\) |
i | The first index |
j | The second index |
k | The third index |
xN_independent | True if \(x_N\) is an independent variable, false otherwise (dependent on other \(N-1\) mole fractions) |
Definition at line 405 of file GeneralizedCubic.cpp.
double AbstractCubic::d3_psi_minus_dxidxjdxk | ( | double | delta, |
const std::vector< double > & | x, | ||
std::size_t | itau, | ||
std::size_t | idelta, | ||
std::size_t | i, | ||
std::size_t | j, | ||
std::size_t | k, | ||
bool | xN_independent | ||
) |
The third composition derivative of \( \psi^{(-)}\) and its \( \delta \) derivatives.
delta | The reduced density \(\delta = \frac{\rho}{\rho_c}\) |
x | The vector of mole fractions |
itau | How many derivatives to take with respect to \(\tau\) |
idelta | How many derivatives to take with respect to \(\delta\) |
i | The first index |
j | The second index |
k | The third index |
xN_independent | True if \(x_N\) is an independent variable, false otherwise (dependent on other \(N-1\) mole fractions) |
Definition at line 322 of file GeneralizedCubic.cpp.
double AbstractCubic::d3_psi_plus_dxidxjdxk | ( | double | delta, |
const std::vector< double > & | x, | ||
std::size_t | idelta, | ||
std::size_t | i, | ||
std::size_t | j, | ||
std::size_t | k, | ||
bool | xN_independent | ||
) |
The third composition derivative of \( \psi^{(+)}\) and its \( \delta \) derivatives.
delta | The reduced density \(\delta = \frac{\rho}{\rho_c}\) |
x | The vector of mole fractions |
idelta | How many derivatives to take with respect to \(\delta\) |
i | The first index |
j | The second index |
k | The third index |
xN_independent | True if \(x_N\) is an independent variable, false otherwise (dependent on other \(N-1\) mole fractions) |
Definition at line 541 of file GeneralizedCubic.cpp.
double AbstractCubic::d3_tau_times_a_dxidxjdxk | ( | double | tau, |
const std::vector< double > & | x, | ||
std::size_t | itau, | ||
std::size_t | i, | ||
std::size_t | j, | ||
std::size_t | k, | ||
bool | xN_independent | ||
) |
The third composition derivative of \( \tau\cdot a_m(\tau)\) and its \( \tau \) derivatives.
tau | The reciprocal reduced temperature \(\tau = \frac{T_c}{T}\) |
x | The vector of mole fractions |
itau | How many derivatives to take with respect to \(\tau\) |
i | The first index |
j | The second index |
k | The third index |
xN_independent | True if \(x_N\) is an independent variable, false otherwise (dependent on other \(N-1\) mole fractions) |
Definition at line 591 of file GeneralizedCubic.cpp.
|
inline |
The first composition derivative of the term \(A\) used in the pure composition partial derivatives of \(\psi^{(+)}\).
delta | The reduced density \(\delta = \frac{\rho}{\rho_c}\) |
x | The vector of mole fractions |
i | The first index |
xN_independent | True if \(x_N\) is an independent variable, false otherwise (dependent on other \(N-1\) mole fractions) |
Definition at line 560 of file GeneralizedCubic.h.
|
virtual |
The first composition derivative of \(\alpha^r\) as well as derivatives with respect to \(\tau\) and \(\delta\).
Definition at line 603 of file GeneralizedCubic.cpp.
|
virtual |
The first composition derivative of \(a_m\) as well as derivatives with respect to \(\tau\).
tau | The reciprocal reduced temperature \(\tau=T_r/T\) |
x | The vector of mole fractions |
itau | The number of derivatives of \(a_m\) to take with respect to \(\tau\) (itau=0 is just a_m, itau=1 is d(a_m)/d(tau), etc.) |
i | The first index |
xN_independent | True if \(x_N\) is an independent variable, false otherwise (dependent on other \(N-1\) mole fractions) |
Reimplemented in VTPRCubic.
Definition at line 156 of file GeneralizedCubic.cpp.
|
virtual |
The first composition derivative of \(b_m\).
x | The vector of mole fractions |
i | The first index |
xN_independent | True if \(x_N\) is an independent variable, false otherwise (dependent on other \(N-1\) mole fractions) |
Reimplemented in VTPRCubic.
Definition at line 192 of file GeneralizedCubic.cpp.
|
inline |
The first composition derivative of the term \(c\) used in the pure composition partial derivatives of \(\psi^{(+)}\).
x | The vector of mole fractions |
i | The first index |
xN_independent | True if \(x_N\) is an independent variable, false otherwise (dependent on other \(N-1\) mole fractions) |
Definition at line 504 of file GeneralizedCubic.h.
double AbstractCubic::d_PI_12_dxi | ( | double | delta, |
const std::vector< double > & | x, | ||
std::size_t | idelta, | ||
std::size_t | i, | ||
bool | xN_independent | ||
) |
The first composition derivative of \( \Pi_{12}\) and its \( \delta \) derivatives.
delta | The reduced density \(\delta = \frac{\rho}{\rho_c}\) |
x | The vector of mole fractions |
idelta | How many derivatives to take with respect to \(\delta\) |
i | The first index |
xN_independent | True if \(x_N\) is an independent variable, false otherwise (dependent on other \(N-1\) mole fractions) |
Definition at line 360 of file GeneralizedCubic.cpp.
double AbstractCubic::d_psi_minus_dxi | ( | double | delta, |
const std::vector< double > & | x, | ||
std::size_t | itau, | ||
std::size_t | idelta, | ||
std::size_t | i, | ||
bool | xN_independent | ||
) |
The third composition derivative of \( \psi^{(-)}\) and its \( \delta \) derivatives.
delta | The reduced density \(\delta = \frac{\rho}{\rho_c}\) |
x | The vector of mole fractions |
itau | How many derivatives to take with respect to \(\tau\) |
idelta | How many derivatives to take with respect to \(\delta\) |
i | The first index |
xN_independent | True if \(x_N\) is an independent variable, false otherwise (dependent on other \(N-1\) mole fractions) |
Definition at line 274 of file GeneralizedCubic.cpp.
double AbstractCubic::d_psi_plus_dxi | ( | double | delta, |
const std::vector< double > & | x, | ||
std::size_t | idelta, | ||
std::size_t | i, | ||
bool | xN_independent | ||
) |
The first composition derivative of \( \psi^{(+)}\) and its \( \delta \) derivatives.
delta | The reduced density \(\delta = \frac{\rho}{\rho_c}\) |
x | The vector of mole fractions |
idelta | How many derivatives to take with respect to \(\delta\) |
i | The first index |
xN_independent | True if \(x_N\) is an independent variable, false otherwise (dependent on other \(N-1\) mole fractions) |
Definition at line 443 of file GeneralizedCubic.cpp.
double AbstractCubic::d_tau_times_a_dxi | ( | double | tau, |
const std::vector< double > & | x, | ||
std::size_t | itau, | ||
std::size_t | i, | ||
bool | xN_independent | ||
) |
The first composition derivative of \( \tau\cdot a_m(\tau)\) and its \( \tau \) derivatives.
tau | The reciprocal reduced temperature \(\tau = \frac{T_c}{T}\) |
x | The vector of mole fractions |
itau | How many derivatives to take with respect to \(\tau\) |
i | The first index |
xN_independent | True if \(x_N\) is an independent variable, false otherwise (dependent on other \(N-1\) mole fractions) |
Definition at line 576 of file GeneralizedCubic.cpp.
|
inline |
Get the vector of acentric factors.
Definition at line 149 of file GeneralizedCubic.h.
|
inline |
Get all the alpha functions.
Definition at line 115 of file GeneralizedCubic.h.
|
inline |
Get the alpha function for the i-th component.
Definition at line 111 of file GeneralizedCubic.h.
|
inline |
Get the volume translation parameter.
Definition at line 287 of file GeneralizedCubic.h.
|
inline |
Read-only accessor for value of Delta_1.
Definition at line 153 of file GeneralizedCubic.h.
|
inline |
Read-only accessor for value of Delta_2.
Definition at line 157 of file GeneralizedCubic.h.
|
inlinevirtual |
Reimplemented in VTPRCubic.
Definition at line 607 of file GeneralizedCubic.h.
|
inline |
Get the kij factor for the ij pair.
Definition at line 137 of file GeneralizedCubic.h.
|
inline |
Get the entire kij matrix in one shot.
Definition at line 124 of file GeneralizedCubic.h.
|
inline |
Get the vector of critical pressures (in Pa)
Definition at line 145 of file GeneralizedCubic.h.
|
inlinevirtual |
Retrieve the surface parameter Q_k of the sub group sgi.
Reimplemented in VTPRCubic.
Definition at line 296 of file GeneralizedCubic.h.
|
inline |
Read-only accessor for value of R_u (universal gas constant)
Definition at line 161 of file GeneralizedCubic.h.
|
inline |
Get the reducing density to be used.
Definition at line 180 of file GeneralizedCubic.h.
|
inline |
Get the vector of critical temperatures (in K)
Definition at line 141 of file GeneralizedCubic.h.
|
inline |
Get the reducing temperature to be used.
Definition at line 176 of file GeneralizedCubic.h.
|
pure virtual |
Get the m_ii variable in the alpha term inculuded in the attractive part.
Implemented in SRK, and PengRobinson.
double AbstractCubic::PI_12 | ( | double | delta, |
const std::vector< double > & | x, | ||
std::size_t | idelta | ||
) |
The term \( \Pi_{12}\) and its \( \delta \) derivatives.
delta | The reduced density \(\delta = \frac{\rho}{\rho_c}\) |
x | The vector of mole fractions |
idelta | How many derivatives to take with respect to \(\delta\) |
\[ \Pi_{12} = (1+\Delta_1\bm\rhor \delta)(1+\Delta_2\bm\rhor \delta) \]
Definition at line 342 of file GeneralizedCubic.cpp.
double AbstractCubic::psi_minus | ( | double | delta, |
const std::vector< double > & | x, | ||
std::size_t | itau, | ||
std::size_t | idelta | ||
) |
The term \( \psi^{(-)}\) and its \(\tau\) and \( \delta \) derivatives.
delta | The reduced density \(\delta = \frac{\rho}{\rho_c}\) |
x | The vector of mole fractions |
itau | How many derivatives to take with respect to \(\tau\) |
idelta | How many derivatives to take with respect to \(\delta\) |
Definition at line 254 of file GeneralizedCubic.cpp.
double AbstractCubic::psi_plus | ( | double | delta, |
const std::vector< double > & | x, | ||
std::size_t | idelta | ||
) |
The term \( \psi^{(+)}\) and its \( \delta \) derivatives.
delta | The reduced density \(\delta = \frac{\rho}{\rho_c}\) |
x | The vector of mole fractions |
idelta | How many derivatives to take with respect to \(\delta\) |
\[ \psi^{(+)} = \dfrac{\ln\left(\dfrac{\Delta_1\bm\rhor \delta+1}{\Delta_2\bm\rhor \delta+1}\right)}{\bm(\Delta_1-\Delta_2)} \]
Definition at line 425 of file GeneralizedCubic.cpp.
|
inline |
Set all the alpha functions.
Definition at line 119 of file GeneralizedCubic.h.
void AbstractCubic::set_alpha | ( | const std::vector< double > & | C1, |
const std::vector< double > & | C2, | ||
const std::vector< double > & | C3 | ||
) |
Set the constants for the Mathias-Copeman alpha function, or if C1,C2,C3 are all empty, set the default alpha model.
Resize the vector of alpha functions
If no Mathias-Copeman coefficients are passed in (all empty vectors), use the predictive scheme for m_ii
Use the Mathias-Copeman constants passed in to initialize Mathias-Copeman alpha functions
Definition at line 131 of file GeneralizedCubic.cpp.
|
inline |
Set the alpha function for the i-th component.
Definition at line 107 of file GeneralizedCubic.h.
|
inline |
Set the three Mathias-Copeman constants in one shot for the component i of a mixture.
Definition at line 185 of file GeneralizedCubic.h.
|
inline |
Set the three Twu constants in one shot for the component i of a mixture.
Definition at line 189 of file GeneralizedCubic.h.
|
inline |
Set the volume translation parameter.
Definition at line 283 of file GeneralizedCubic.h.
|
inlinevirtual |
Reimplemented in VTPRCubic.
Definition at line 603 of file GeneralizedCubic.h.
|
inline |
Set the kij factor for the ij pair.
Definition at line 132 of file GeneralizedCubic.h.
|
inline |
Set the entire kij matrix in one shot.
Definition at line 128 of file GeneralizedCubic.h.
|
inlinevirtual |
Modify the surface parameter Q_k of the sub group sgi.
Reimplemented in VTPRCubic.
Definition at line 292 of file GeneralizedCubic.h.
|
inline |
Set the reducing density to be used.
Definition at line 172 of file GeneralizedCubic.h.
|
inline |
Set the reducing temperature to be used.
Definition at line 165 of file GeneralizedCubic.h.
double AbstractCubic::tau_times_a | ( | double | tau, |
const std::vector< double > & | x, | ||
std::size_t | itau | ||
) |
The term \( \tau\cdot a_m(\tau)\) and its \( \tau \) derivatives.
tau | The reciprocal reduced temperature \(\tau = \frac{T_c}{T}\) |
x | The vector of mole fractions |
itau | How many derivatives to take with respect to \(\tau\) |
Definition at line 569 of file GeneralizedCubic.cpp.
double AbstractCubic::u_term | ( | double | tau, |
std::size_t | i, | ||
std::size_t | j, | ||
std::size_t | itau | ||
) |
The n-th tau derivative of \(u(\tau)\), the argument of sqrt in the cross aij term
tau | The reciprocal reduced temperature \(\tau=T_r/T\) |
i | The first index |
j | The first index |
itau | The number of derivatives of \(a_{ij}\) to take with respect to \(\tau\) (itau=0 is just a_{ij}, itau=1 is d(a_ij)/d(tau), etc.) |
Definition at line 213 of file GeneralizedCubic.cpp.
|
protected |
Vector of acentric factors (unitless)
Definition at line 82 of file GeneralizedCubic.h.
|
protected |
The vector of alpha functions for the pure components.
Definition at line 89 of file GeneralizedCubic.h.
|
protected |
The volume translation parameter.
Definition at line 88 of file GeneralizedCubic.h.
|
protected |
The first cubic constant.
Definition at line 84 of file GeneralizedCubic.h.
|
protected |
The second cubic constant.
Definition at line 85 of file GeneralizedCubic.h.
|
protected |
The interaction parameters (k_ii = 0)
Definition at line 87 of file GeneralizedCubic.h.
|
protected |
Number of components in the mixture.
Definition at line 86 of file GeneralizedCubic.h.
|
protected |
Vector of critical pressures (in Pa)
Definition at line 81 of file GeneralizedCubic.h.
|
protected |
The universal gas constant in J/(mol*K)
Definition at line 83 of file GeneralizedCubic.h.
|
protected |
The reducing density to be used [mol/m3].
Definition at line 78 of file GeneralizedCubic.h.
|
protected |
The reducing temperature to be used [K].
Definition at line 79 of file GeneralizedCubic.h.
|
protected |
Vector of critical temperatures (in K)
Definition at line 80 of file GeneralizedCubic.h.