CoolProp
|
The reducing function model of GERG-2008.
Used by the GERG-2008 formulation to yield the reducing parameters \( \rho_r \) and \( T_r \) and derivatives thereof
#include <ReducingFunctions.h>
Public Member Functions | |
GERG2008ReducingFunction (const std::vector< CoolPropFluid > &pFluids, const STLMatrix &beta_v, const STLMatrix &gamma_v, STLMatrix beta_T, const STLMatrix &gamma_T) | |
ReducingFunction * | copy () |
~GERG2008ReducingFunction () | |
Default destructor. | |
void | set_binary_interaction_double (const std::size_t i, const std::size_t j, double betaT, double gammaT, double betaV, double gammaV) |
Set all beta and gamma values in one shot. | |
virtual void | set_binary_interaction_double (const std::size_t i, const std::size_t j, const std::string ¶meter, double value) |
Set a parameter. | |
virtual double | get_binary_interaction_double (const std::size_t i, const std::size_t j, const std::string ¶meter) const |
Get a parameter. | |
CoolPropDbl | Tr (const std::vector< CoolPropDbl > &x) const |
The reducing temperature Calculated from Yr with \(T = Y\). | |
CoolPropDbl | dTr_dgammaT (const std::vector< CoolPropDbl > &x) const |
The derivative of reducing temperature with respect to gammaT Calculated from dYr_gamma with \(T = Y\). | |
CoolPropDbl | dTr_dbetaT (const std::vector< CoolPropDbl > &x) const |
The derivative of reducing temperature with respect to betaT Calculated from dYr_beta with \(T = Y\). | |
CoolPropDbl | d2Tr_dxidgammaT (const std::vector< CoolPropDbl > &x, std::size_t i, x_N_dependency_flag xN_flag) const |
The derivative of reducing temperature with respect to gammaT and composition. | |
CoolPropDbl | d2Tr_dxidbetaT (const std::vector< CoolPropDbl > &x, std::size_t i, x_N_dependency_flag xN_flag) const |
The derivative of reducing temperature with respect to betaT and composition. | |
CoolPropDbl | dTrdxi__constxj (const std::vector< CoolPropDbl > &x, std::size_t i, x_N_dependency_flag xN_flag) const |
The derivative of reducing temperature with respect to component i mole fraction. More... | |
CoolPropDbl | d2Trdxi2__constxj (const std::vector< CoolPropDbl > &x, std::size_t i, x_N_dependency_flag xN_flag) const |
The second derivative of reducing temperature with respect to component i mole fraction. More... | |
CoolPropDbl | d2Trdxidxj (const std::vector< CoolPropDbl > &x, std::size_t i, std::size_t j, x_N_dependency_flag xN_flag) const |
The second derivative of reducing temperature with respect to component i and j mole fractions. More... | |
CoolPropDbl | d3Trdxidxjdxk (const std::vector< CoolPropDbl > &x, std::size_t i, std::size_t j, std::size_t k, x_N_dependency_flag xN_flag) const |
The third derivative of reducing temperature with respect to component i, j and k mole fractions. More... | |
CoolPropDbl | dvrmolardxi__constxj (const std::vector< CoolPropDbl > &x, std::size_t i, x_N_dependency_flag xN_flag) const |
The derivative of reducing molar volume with respect to component i mole fraction. More... | |
CoolPropDbl | d2vrmolardxi2__constxj (const std::vector< CoolPropDbl > &x, std::size_t i, x_N_dependency_flag xN_flag) const |
The second derivative of reducing molar volume with respect to component i mole fraction. More... | |
CoolPropDbl | d2vrmolardxidxj (const std::vector< CoolPropDbl > &x, std::size_t i, std::size_t j, x_N_dependency_flag xN_flag) const |
The second derivative of reducing molar volume with respect to component i and j mole fractions. More... | |
CoolPropDbl | d3vrmolardxidxjdxk (const std::vector< CoolPropDbl > &x, std::size_t i, std::size_t j, std::size_t k, x_N_dependency_flag xN_flag) const |
The third derivative of reducing molar volume with respect to component i, j and k mole fractions. More... | |
CoolPropDbl | rhormolar (const std::vector< CoolPropDbl > &x) const |
The molar reducing density. More... | |
CoolPropDbl | drhormolar_dgammaV (const std::vector< CoolPropDbl > &x) const |
The derivative of reducing density with respect to gammaV Calculated from dYr_gamma with \(v = Y\). | |
CoolPropDbl | drhormolar_dbetaV (const std::vector< CoolPropDbl > &x) const |
The derivative of reducing density with respect to betaV Calculated from dYr_beta with \(v = Y\). | |
CoolPropDbl | d2vrmolar_dxidgammaV (const std::vector< CoolPropDbl > &x, std::size_t i, x_N_dependency_flag xN_flag) const |
The derivative of reducing volume with respect to gammaV and composition. | |
CoolPropDbl | d2vrmolar_dxidbetaV (const std::vector< CoolPropDbl > &x, std::size_t i, x_N_dependency_flag xN_flag) const |
The derivative of reducing volume with respect to betaV and composition. | |
CoolPropDbl | d2rhormolar_dxidbetaV (const std::vector< CoolPropDbl > &x, std::size_t i, x_N_dependency_flag xN_flag) const |
The derivative of reducing density with respect to betaV and composition. | |
CoolPropDbl | d2rhormolar_dxidgammaV (const std::vector< CoolPropDbl > &x, std::size_t i, x_N_dependency_flag xN_flag) const |
The derivative of reducing density with respect to gammaV and composition. | |
CoolPropDbl | drhormolardxi__constxj (const std::vector< CoolPropDbl > &x, std::size_t i, x_N_dependency_flag xN_flag) const |
Derivative of the molar reducing density with respect to component i mole fraction. More... | |
CoolPropDbl | d2rhormolardxi2__constxj (const std::vector< CoolPropDbl > &x, std::size_t i, x_N_dependency_flag xN_flag) const |
Derivative of the molar reducing density with respect to component i mole fraction. More... | |
CoolPropDbl | d2rhormolardxidxj (const std::vector< CoolPropDbl > &x, std::size_t i, std::size_t j, x_N_dependency_flag xN_flag) const |
Derivative of the molar reducing density with respect to component i and j mole fractions. More... | |
CoolPropDbl | d3rhormolardxidxjdxk (const std::vector< CoolPropDbl > &x, std::size_t i, std::size_t j, std::size_t k, x_N_dependency_flag xN_flag) const |
Derivative of the molar reducing density with respect to component i, j, and k mole fractions. More... | |
CoolPropDbl | Yr (const std::vector< CoolPropDbl > &x, const STLMatrix &beta, const STLMatrix &gamma, const STLMatrix &Y_c_ij, const std::vector< CoolPropDbl > &Yc) const |
Generalized reducing term \(Y_r\). More... | |
CoolPropDbl | dYr_dgamma (const std::vector< CoolPropDbl > &x, const STLMatrix &beta, const STLMatrix &gamma, const STLMatrix &Y_c_ij, const std::vector< CoolPropDbl > &Yc) const |
Derivative of reducing term \(Y_r\) with respect to \(\gamma\). More... | |
CoolPropDbl | dYr_dbeta (const std::vector< CoolPropDbl > &x, const STLMatrix &beta, const STLMatrix &gamma, const STLMatrix &Y_c_ij, const std::vector< CoolPropDbl > &Yc) const |
Derivative of reducing term \(Y_r\) with respect to \(\beta\). | |
CoolPropDbl | dYrdxi__constxj (const std::vector< CoolPropDbl > &x, std::size_t i, const STLMatrix &beta, const STLMatrix &gamma, const STLMatrix &Y_c_ij, const std::vector< CoolPropDbl > &Yc, x_N_dependency_flag xN_flag) const |
First composition derivative of \(Y_r\) with \(x_i\). More... | |
CoolPropDbl | d2Yrdxidgamma (const std::vector< CoolPropDbl > &x, std::size_t i, const STLMatrix &beta, const STLMatrix &gamma, const STLMatrix &Y_c_ij, const std::vector< CoolPropDbl > &Yc, x_N_dependency_flag xN_flag) const |
Derivative of derivative of reducing term \(\frac{\partial Y_r}{\partial x_i}\) with respect to \(\beta\). | |
CoolPropDbl | d2Yrdxidbeta (const std::vector< CoolPropDbl > &x, std::size_t i, const STLMatrix &beta, const STLMatrix &gamma, const STLMatrix &Y_c_ij, const std::vector< CoolPropDbl > &Yc, x_N_dependency_flag xN_flag) const |
Derivative of derivative of reducing term \(\frac{\partial Y_r}{\partial x_i}\) with respect to \(\gamma\). | |
CoolPropDbl | d2Yrdxi2__constxj (const std::vector< CoolPropDbl > &x, std::size_t i, const STLMatrix &beta, const STLMatrix &gamma, const STLMatrix &Y_c_ij, const std::vector< CoolPropDbl > &Yc, x_N_dependency_flag xN_flag) const |
Second composition derivative of \(Y_r\) with \(x_i\). More... | |
CoolPropDbl | d2Yrdxidxj (const std::vector< CoolPropDbl > &x, std::size_t i, std::size_t j, const STLMatrix &beta, const STLMatrix &gamma, const STLMatrix &Y_c_ij, const std::vector< CoolPropDbl > &Yc, x_N_dependency_flag xN_flag) const |
Second mixed composition derivative of \(Y_r\) with \(x_i\) and \(x_j\). More... | |
CoolPropDbl | d3Yrdxidxjdxk (const std::vector< CoolPropDbl > &x, std::size_t i, std::size_t j, std::size_t k, const STLMatrix &beta, const STLMatrix &gamma, const STLMatrix &Y_c_ij, const std::vector< CoolPropDbl > &Yc, x_N_dependency_flag xN_flag) const |
Third mixed composition derivative of \(Y_r\) with \(x_i\) and \(x_j\) and \(x_k\). More... | |
const CoolPropDbl | c_Y_ij (const std::size_t i, const std::size_t j, const STLMatrix &beta, const STLMatrix &gamma, const STLMatrix &Y_c) const |
The coefficient \( c_{Y,ij} \). More... | |
CoolPropDbl | f_Y_ij (const std::vector< CoolPropDbl > &x, std::size_t i, std::size_t j, const STLMatrix &beta) const |
The function \( f_{Y,ij}(x_i,x_j) \). More... | |
CoolPropDbl | dfYkidxi__constxk (const std::vector< CoolPropDbl > &x, std::size_t k, std::size_t i, const STLMatrix &beta) const |
\[ \left(\frac{\partial f_{Y,ki}(x_k, x_i)}{\partial x_i}\right)_{x_{k\neq i}} = x_k\frac{x_k+x_i}{\beta_{Y,ki}^2x_k+x_i} + \frac{x_kx_i}{\beta_{Y,ki}^2x_k+x_i}\left(1-\frac{x_k+x_i}{\beta_{Y,ki}^2x_k+x_i}\right) \] | |
CoolPropDbl | dfYikdxi__constxk (const std::vector< CoolPropDbl > &x, std::size_t i, std::size_t k, const STLMatrix &beta) const |
\[ \left(\frac{\partial f_{Y,ik}(x_i, x_k)}{\partial x_i}\right)_{x_k} = x_k\frac{x_i+x_k}{\beta_{Y,ik}^2x_i+x_k} + \frac{x_ix_k}{\beta_{Y,ik}^2x_i+x_k}\left(1-\beta_{Y,ik}^2\frac{x_i+x_k}{\beta_{Y,ik}^2x_i+x_k}\right) \] | |
CoolPropDbl | d2fYkidxi2__constxk (const std::vector< CoolPropDbl > &x, std::size_t k, std::size_t i, const STLMatrix &beta) const |
\[ \left(\frac{\partial^2 f_{Y,ki}(x_k, x_i)}{\partial x_i^2}\right)_{x_{k\neq i}} = \frac{1}{\beta_{Y,ki}^2x_k+x_i}\left(1-\frac{x_k+x_i}{\beta_{Y,ki}^2x_k+x_i}\right)\left(2x_k-\frac{2x_kx_i}{\beta_{Y,ki}^2x_k+x_i}\right) \] | |
CoolPropDbl | d2fYikdxi2__constxk (const std::vector< CoolPropDbl > &x, std::size_t i, std::size_t k, const STLMatrix &beta) const |
\[ \left(\frac{\partial^2 f_{Y,ik}(x_i, x_k)}{\partial x_i^2}\right)_{x_{k}} = \frac{1}{\beta_{Y,ik}^2x_i+x_k}\left(1-\beta_{Y,ik}^2\frac{x_i+x_k}{\beta_{Y,ik}^2x_i+x_k}\right)\left(2x_k-\frac{2x_ix_k\beta_{Y,ik}^2}{\beta_{Y,ik}^2x_i+x_k}\right) \] | |
CoolPropDbl | d2fYijdxidxj (const std::vector< CoolPropDbl > &x, std::size_t i, std::size_t k, const STLMatrix &beta) const |
\begin{eqnarray*} \left(\frac{\partial^2 f_{Y,ki}(x_k, x_i)}{\partial x_i\partial x_j}\right)_{x_{k\neq j\neq i}} &=& \frac{x_i+x_j}{\beta_{Y,ij}^2x_i+x_j} + \frac{x_j}{\beta_{Y,ij}^2x_i+x_j}\left(1-\frac{x_i+x_j}{\beta_{Y,ij}^2x_i+x_j}\right) \\ &+& \frac{x_i}{\beta_{Y,ij}^2x_i+x_j}\left(1-\beta_{Y,ij}^2\frac{x_i+x_j}{\beta_{Y,ij}^2x_i+x_j}\right) - \frac{x_ix_j}{(\beta_{Y,ij}^2x_i+x_j)^2}\left(1+\beta_{Y,ij}^2-2\beta_{Y,ij}^2\frac{x_i+x_j}{\beta_{Y,ij}^2x_i+x_j}\right) \end{eqnarray*} | |
CoolPropDbl | d3fYijdxi2dxj (const std::vector< CoolPropDbl > &x, std::size_t i, std::size_t j, const STLMatrix &beta) const |
CoolPropDbl | d3fYijdxidxj2 (const std::vector< CoolPropDbl > &x, std::size_t i, std::size_t j, const STLMatrix &beta) const |
CoolPropDbl | d3fYkidxi3__constxk (const std::vector< CoolPropDbl > &x, std::size_t k, std::size_t i, const STLMatrix &beta) const |
CoolPropDbl | d3fYikdxi3__constxk (const std::vector< CoolPropDbl > &x, std::size_t i, std::size_t k, const STLMatrix &beta) const |
Public Member Functions inherited from CoolProp::ReducingFunction | |
virtual CoolPropDbl | d_ndTrdni_dxj__constxi (const std::vector< CoolPropDbl > &x, std::size_t i, std::size_t j, x_N_dependency_flag xN_flag) const |
GERG 2004 Monograph equation 7.56: More... | |
virtual CoolPropDbl | d2_ndTrdni_dxj_dxk__constxi (const std::vector< CoolPropDbl > &x, std::size_t i, std::size_t j, std::size_t k, x_N_dependency_flag xN_flag) const |
virtual CoolPropDbl | d_ndrhorbardni_dxj__constxi (const std::vector< CoolPropDbl > &x, std::size_t i, std::size_t j, x_N_dependency_flag xN_flag) const |
GERG 2004 Monograph equation 7.55: If the \(x_i\) are all independent \[ \left(\frac{\partial}{\partial x_j}\left(n\left(\frac{\partial \rho_r}{\partial n_i} \right)_{n_j}\right)\right)_{x_i} = \left(\frac{\partial^2\rho_r}{\partial x_j \partial x_i}\right)-\left(\frac{\partial \rho_r}{\partial x_j}\right)_{x_i}-\sum_{k=0}^{N-1}x_k\left(\frac{\partial^2\rho_r}{\partial x_j \partial x_k}\right) \] Gernert, JPCRD, 2014, A28 If \(x_N = 1-\sum x_i\): \[ \left(\frac{\partial}{\partial x_j}\left(n\left(\frac{\partial \rho_r}{\partial n_i} \right)_{n_j}\right)\right)_{x_i} = \left(\frac{\partial^2\rho_r}{\partial x_j \partial x_i}\right)-\left(\frac{\partial \rho_r}{\partial x_j}\right)_{x_i}-\sum_{k=0}^{N-2}x_k\left(\frac{\partial^2\rho_r}{\partial x_j \partial x_k}\right) \] . | |
virtual CoolPropDbl | d2_ndrhorbardni_dxj_dxk__constxi (const std::vector< CoolPropDbl > &x, std::size_t i, std::size_t j, std::size_t k, x_N_dependency_flag xN_flag) const |
virtual CoolPropDbl | ndrhorbardni__constnj (const std::vector< CoolPropDbl > &x, std::size_t i, x_N_dependency_flag xN_flag) const |
virtual CoolPropDbl | ndTrdni__constnj (const std::vector< CoolPropDbl > &x, std::size_t i, x_N_dependency_flag xN_flag) const |
virtual CoolPropDbl | PSI_rho (const std::vector< CoolPropDbl > &x, std::size_t i, x_N_dependency_flag xN_flag) const |
virtual CoolPropDbl | d_PSI_rho_dxj (const std::vector< CoolPropDbl > &x, std::size_t i, std::size_t j, x_N_dependency_flag xN_flag) const |
virtual CoolPropDbl | d2_PSI_rho_dxj_dxk (const std::vector< CoolPropDbl > &x, std::size_t i, std::size_t j, std::size_t k, x_N_dependency_flag xN_flag) const |
virtual CoolPropDbl | PSI_T (const std::vector< CoolPropDbl > &x, std::size_t i, x_N_dependency_flag xN_flag) const |
virtual CoolPropDbl | d_PSI_T_dxj (const std::vector< CoolPropDbl > &x, std::size_t i, std::size_t j, x_N_dependency_flag xN_flag) const |
virtual CoolPropDbl | d2_PSI_T_dxj_dxk (const std::vector< CoolPropDbl > &x, std::size_t i, std::size_t j, std::size_t k, x_N_dependency_flag xN_flag) const |
Protected Attributes | |
STLMatrix | v_c |
\( v_{c,ij} = \frac{1}{8}\left(v_{c,i}^{1/3}+v_{c,j}^{1/3}\right)^{3}\) from GERG-2008 | |
STLMatrix | T_c |
\( T_{c,ij} = \sqrt{T_{c,i}T_{c,j}} \) from GERG=2008 | |
STLMatrix | beta_v |
\( \beta_{v,ij} \) from GERG-2008 | |
STLMatrix | gamma_v |
\( \gamma_{v,ij} \) from GERG-2008 | |
STLMatrix | beta_T |
\( \beta_{T,ij} \) from GERG-2008 | |
STLMatrix | gamma_T |
\( \gamma_{T,ij} \) from GERG-2008 | |
std::vector< CoolPropDbl > | Yc_T |
Vector of critical temperatures for all components. | |
std::vector< CoolPropDbl > | Yc_v |
Vector of critical molar volumes for all components. | |
std::vector< CoolPropFluid > | pFluids |
List of fluids. | |
Protected Attributes inherited from CoolProp::ReducingFunction | |
std::size_t | N |
Additional Inherited Members | |
Static Public Member Functions inherited from CoolProp::ReducingFunction | |
static shared_ptr< ReducingFunction > | factory (const std::vector< CoolPropFluid *> &components, STLMatrix &F) |
A factory function to generate the required reducing function. | |
const CoolPropDbl CoolProp::GERG2008ReducingFunction::c_Y_ij | ( | const std::size_t | i, |
const std::size_t | j, | ||
const STLMatrix & | beta, | ||
const STLMatrix & | gamma, | ||
const STLMatrix & | Y_c | ||
) | const |
The coefficient \( c_{Y,ij} \).
\[ c_{Y,ij} = 2\beta_{Y,ij}\gamma_{Y,ij}Y_{c,ij} \]
|
virtual |
Derivative of the molar reducing density with respect to component i mole fraction.
See also GERG 2004, Eqn. 7.58
\[ \left(\frac{\partial^2 \rho_r}{\partial x_i^2}\right)_{x_{i\neq j}} = 2\rho_r^3\left(\left(\frac{\partial v_r}{\partial x_i}\right)_{x_{i\neq j}}\right)^2-\rho_r\left(\left(\frac{\partial^2 v_r}{\partial x_i^2}\right)_{x_{i\neq j}}\right) \]
Implements CoolProp::ReducingFunction.
|
virtual |
Derivative of the molar reducing density with respect to component i and j mole fractions.
See also GERG 2004, Eqn. 7.59
\[ \left(\frac{\partial^2 \rho_r}{\partial x_i\partial x_j}\right) = 2\rho_r^3\left(\left(\frac{\partial v_r}{\partial x_i}\right)_{x_{i\neq j}}\right)\left(\left(\frac{\partial v_r}{\partial x_j}\right)_{x_{i\neq j}}\right)-\rho_r^2\left(\left(\frac{\partial v_r}{\partial x_i\partial x_j}\right)\right) \]
Implements CoolProp::ReducingFunction.
|
virtual |
The second derivative of reducing temperature with respect to component i mole fraction.
Calculated from d2Yrdxi2__constxj with \(T = Y\)
Implements CoolProp::ReducingFunction.
|
virtual |
The second derivative of reducing temperature with respect to component i and j mole fractions.
Calculated from d2Yrdxidxj with \(T = Y\)
Implements CoolProp::ReducingFunction.
CoolPropDbl CoolProp::GERG2008ReducingFunction::d2vrmolardxi2__constxj | ( | const std::vector< CoolPropDbl > & | x, |
std::size_t | i, | ||
x_N_dependency_flag | xN_flag | ||
) | const |
The second derivative of reducing molar volume with respect to component i mole fraction.
Calculated from d2Yrdxi2__constxj with \(v = Y\)
CoolPropDbl CoolProp::GERG2008ReducingFunction::d2vrmolardxidxj | ( | const std::vector< CoolPropDbl > & | x, |
std::size_t | i, | ||
std::size_t | j, | ||
x_N_dependency_flag | xN_flag | ||
) | const |
The second derivative of reducing molar volume with respect to component i and j mole fractions.
Calculated from d2Yrdxidxj with \(v = Y\)
CoolPropDbl CoolProp::GERG2008ReducingFunction::d2Yrdxi2__constxj | ( | const std::vector< CoolPropDbl > & | x, |
std::size_t | i, | ||
const STLMatrix & | beta, | ||
const STLMatrix & | gamma, | ||
const STLMatrix & | Y_c_ij, | ||
const std::vector< CoolPropDbl > & | Yc, | ||
x_N_dependency_flag | xN_flag | ||
) | const |
Second composition derivative of \(Y_r\) with \(x_i\).
If \(x_N\) is given by \( x_N = 1-\sum_{i=1}^{N-1}x_i\) (Gernert, FPE, 2014, Table S1):
\begin{eqnarray*} \left(\frac{\partial^2 Y_r}{\partial x_i^2}\right)_{\substack{x_{j\neq i} \\ i<N}} &=& 2(Y_{c,i}+Y_{c,N}) + \sum_{k=1}^{i-1}c_{Y,ki}\frac{\partial^2 f_{Y,ki}(x_k, x_i)}{\partial x_i^2}+\sum_{k=i+1}^{N-1}c_{Y,ik}\frac{\partial^2 f_{Y,ik}(x_i, x_k)}{\partial x_i^2} \\ &&+2c_{Y,iN}\left(-\frac{x_i+x_N}{\beta_{Y,iN}^2x_i+x_N}+(1-\beta_{Y,iN}^2)\left( \frac{x_N^2}{(\beta_{Y,iN}^2x_i+x_N)^2} + \frac{(1-\beta_{Y,iN}^2)x_ix_{N}^2-\beta_{Y,iN}^2x_i^2x_N}{(\beta_{Y,iN}^2x_i+x_N)^3}\right)\right) \\ &&+\sum_{k=1}^{N-1}2c_{Y,kN}x_k^2\frac{1-\beta_{Y,kN}^2}{(\beta_{Y,kN}^2x_k+x_N)^2} \left(\frac{x_N}{\beta_{Y,kN}^2 x_k+x_N}-1\right) \end{eqnarray*}
Otherwise, if \(x_i\) are all independent:
\[ \left(\frac{\partial^2 Y_r}{\partial x_i^2}\right)_{x_{j\neq i}} = 2Y_{c,i} + \sum_{k=1}^{i-1}c_{Y,ki}\frac{\partial^2 f_{Y,ki}(x_k,x_i)}{\partial x_i^2} + \sum_{k=i+1}^{N}c_{Y,ik}\frac{\partial^2 f_{Y,ik}(x_i,x_k)}{\partial x_i^2} \]
CoolPropDbl CoolProp::GERG2008ReducingFunction::d2Yrdxidxj | ( | const std::vector< CoolPropDbl > & | x, |
std::size_t | i, | ||
std::size_t | j, | ||
const STLMatrix & | beta, | ||
const STLMatrix & | gamma, | ||
const STLMatrix & | Y_c_ij, | ||
const std::vector< CoolPropDbl > & | Yc, | ||
x_N_dependency_flag | xN_flag | ||
) | const |
Second mixed composition derivative of \(Y_r\) with \(x_i\) and \(x_j\).
If \(x_N\) is given by \( x_N = 1-\sum_{i=1}^{N-1}x_i\) (Gernert, FPE, 2014, Table S1):
\begin{eqnarray*} \left(\frac{\partial^2 Y_r}{\partial x_i\partial x_j}\right)_{\substack{x_{k\neq j\neq i} \\ i<N \\ j < N}} &=& 2Y_{c,N} + c_{Y,ij}\frac{\partial^2 f_{Y,ij}(x_i, x_j)}{\partial x_i\partial x_j}+\sum_{k=1}^{N-1}2c_{Y,kN}x_k^2 \frac{1-\beta_{Y,kN}^2}{(\beta_{Y,kN}^2x_k+x_N)^2} \left(\frac{x_N}{\beta_{Y,kN}^2 x_k+x_N}-1\right) \\ &&+c_{Y,iN}\left((1-\beta_{Y,iN}^2)\left(\frac{2x_ix_N^2}{(\beta_{Y,iN}^2x_i+x_N)^3}-\frac{x_ix_N}{(\beta_{Y,iN}^2x_i+x_N)^2}\right) - \frac{x_i+x_N}{\beta_{Y,iN}^2x_i+x_N} \right) \\ &&-c_{Y,jN}\left((1-\beta_{Y,jN}^2)\left(\frac{2x_j^2x_N\beta_{Y,jN}^2}{(\beta_{Y,jN}^2x_j+x_N)^3}-\frac{x_jx_N}{(\beta_{Y,jN}^2x_j+x_N)^2}\right) + \frac{x_j+x_N}{\beta_{Y,jN}^2x_j+x_N} \right) \end{eqnarray*}
Otherwise, if \(x_i\) are all independent:
\[ \left(\frac{\partial^2 Y_r}{\partial x_i\partial x_j}\right)_{\substack{x_{k\neq j\neq i}}} = c_{Y,ij}\frac{\partial^2f_{Y,ij}(x_i,x_j)}{\partial x_i\partial x_j} \]
|
virtual |
Derivative of the molar reducing density with respect to component i, j, and k mole fractions.
Implements CoolProp::ReducingFunction.
|
virtual |
The third derivative of reducing temperature with respect to component i, j and k mole fractions.
Calculated from d3Yrdxidxjdxk with \(T = Y\)
Implements CoolProp::ReducingFunction.
CoolPropDbl CoolProp::GERG2008ReducingFunction::d3vrmolardxidxjdxk | ( | const std::vector< CoolPropDbl > & | x, |
std::size_t | i, | ||
std::size_t | j, | ||
std::size_t | k, | ||
x_N_dependency_flag | xN_flag | ||
) | const |
The third derivative of reducing molar volume with respect to component i, j and k mole fractions.
Calculated from d3Yrdxidxjdxk with \(v = Y\)
CoolPropDbl CoolProp::GERG2008ReducingFunction::d3Yrdxidxjdxk | ( | const std::vector< CoolPropDbl > & | x, |
std::size_t | i, | ||
std::size_t | j, | ||
std::size_t | k, | ||
const STLMatrix & | beta, | ||
const STLMatrix & | gamma, | ||
const STLMatrix & | Y_c_ij, | ||
const std::vector< CoolPropDbl > & | Yc, | ||
x_N_dependency_flag | xN_flag | ||
) | const |
Third mixed composition derivative of \(Y_r\) with \(x_i\) and \(x_j\) and \(x_k\).
|
virtual |
Derivative of the molar reducing density with respect to component i mole fraction.
See also GERG 2004, Eqn. 7.57
\[ \left(\frac{\partial \rho_r}{\partial x_i}\right)_{x_{i\neq j}} = -\rho_r^2\left(\frac{\partial v_r}{\partial x_i}\right)_{x_{i\neq j}} \]
Implements CoolProp::ReducingFunction.
|
virtual |
The derivative of reducing temperature with respect to component i mole fraction.
Calculated from dYrdxi__constxj with \(T = Y\)
Implements CoolProp::ReducingFunction.
CoolPropDbl CoolProp::GERG2008ReducingFunction::dvrmolardxi__constxj | ( | const std::vector< CoolPropDbl > & | x, |
std::size_t | i, | ||
x_N_dependency_flag | xN_flag | ||
) | const |
The derivative of reducing molar volume with respect to component i mole fraction.
Calculated from dYrdxi__constxj with \(v = Y\)
CoolPropDbl CoolProp::GERG2008ReducingFunction::dYr_dgamma | ( | const std::vector< CoolPropDbl > & | x, |
const STLMatrix & | beta, | ||
const STLMatrix & | gamma, | ||
const STLMatrix & | Y_c_ij, | ||
const std::vector< CoolPropDbl > & | Yc | ||
) | const |
Derivative of reducing term \(Y_r\) with respect to \(\gamma\).
\[ \frac{\partial Y_r}{\partial \gamma} = \sum_{i=1}^{N-1}\sum_{j=i+1}^{N} 2\beta_{ij}Y_{c,ij}f_{Y,ij}(x_i,x_j) \]
CoolPropDbl CoolProp::GERG2008ReducingFunction::dYrdxi__constxj | ( | const std::vector< CoolPropDbl > & | x, |
std::size_t | i, | ||
const STLMatrix & | beta, | ||
const STLMatrix & | gamma, | ||
const STLMatrix & | Y_c_ij, | ||
const std::vector< CoolPropDbl > & | Yc, | ||
x_N_dependency_flag | xN_flag | ||
) | const |
First composition derivative of \(Y_r\) with \(x_i\).
If \(x_N\) is given by \( x_N = 1-\sum_{i=1}^{N-1}x_i\) (Gernert, FPE, 2014, Table S1):
\begin{eqnarray*} \left(\frac{\partial Y_r}{\partial x_i}\right)_{\substack{x_{j\neq i} \\ i<N}} &=& 2x_iY_{c,j}-2x_NY_{c,N} + \sum_{k=1}^{i-1}c_{Y,ki}\frac{\partial f_{Y,ki}(x_k, x_i)}{\partial x_i}+\sum_{k=i+1}^{N-1}c_{Y,ik}\frac{\partial f_{Y,ik}(x_i, x_k)}{\partial x_i} \\ &&+c_{Y,iN}\left(\frac{x_{N}(x_i+x_{N})}{\beta_{Y,iN}^2x_i+x_{N}}+(1-\beta_{Y,iN}^2)\frac{x_ix_{N}^2}{(\beta_{Y,i(N)}^2x_i+x_{N})^2}\right) \\ &&+\sum_{k=0}^{N-2}c_{Y,kN}\left(-\frac{x_k(x_k+x_N)}{\beta_{Y,kN}^2 x_k+x_N}+(1-\beta_{Y,kN}^2)\frac{x_Nx_k^2}{(\beta_{Y,kN}^2x_k+x_N)^2}\right) \end{eqnarray*}
Otherwise, if \(x_i\) are all independent:
\[ \left(\frac{\partial Y_r}{\partial x_i}\right)_{\substack{x_{j\neq i}}} = 2x_iY_{c,i} + \sum_{k=1}^{i-1}c_{Y,ki}\frac{\partial f_{Y,ki}(x_k,x_i)}{\partial x_i} + \sum_{k=i+1}^{N}c_{Y,ik}\frac{\partial f_{Y,ik}(x_i,x_k)}{\partial x_i} \]
CoolPropDbl CoolProp::GERG2008ReducingFunction::f_Y_ij | ( | const std::vector< CoolPropDbl > & | x, |
std::size_t | i, | ||
std::size_t | j, | ||
const STLMatrix & | beta | ||
) | const |
The function \( f_{Y,ij}(x_i,x_j) \).
\[ f_{Y,ij}(x_i,x_j) = x_ix_j\frac{x_i+x_j}{\beta_{Y,ij}^2x_i+x_j} \]
|
virtual |
CoolPropDbl CoolProp::GERG2008ReducingFunction::Yr | ( | const std::vector< CoolPropDbl > & | x, |
const STLMatrix & | beta, | ||
const STLMatrix & | gamma, | ||
const STLMatrix & | Y_c_ij, | ||
const std::vector< CoolPropDbl > & | Yc | ||
) | const |
Generalized reducing term \(Y_r\).
\[ Y_r = \sum_{i=1}^{N}x_iY_{c,i}^2+\sum_{i=1}^{N-1}\sum_{j=i+1}^{N} c_{Y,ij}f_{Y,ij}(x_i,x_j) \]