CoolProp
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
CoolProp::ReducingFunction Class Referenceabstract

Detailed Description

Abstract base class for reducing function An abstract base class for the reducing function to allow for Lemmon-Jacobsen, GERG, or other reducing function to yield the reducing parameters \(\rho_r\) and \(T_r\).

#include <ReducingFunctions.h>

Inheritance diagram for CoolProp::ReducingFunction:
CoolProp::ConstantReducingFunction CoolProp::GERG2008ReducingFunction

Public Member Functions

virtual ReducingFunctioncopy ()=0
 
virtual void set_binary_interaction_double (const std::size_t i, const std::size_t j, const std::string &parameter, double value)=0
 
virtual double get_binary_interaction_double (const std::size_t i, const std::size_t j, const std::string &parameter) const =0
 
virtual CoolPropDbl Tr (const std::vector< CoolPropDbl > &x) const =0
 The reduced temperature.
 
virtual CoolPropDbl dTrdxi__constxj (const std::vector< CoolPropDbl > &x, std::size_t i, x_N_dependency_flag xN_flag) const =0
 The derivative of reduced temperature with respect to component i mole fraction.
 
virtual CoolPropDbl rhormolar (const std::vector< CoolPropDbl > &x) const =0
 The molar reducing density.
 
virtual CoolPropDbl drhormolardxi__constxj (const std::vector< CoolPropDbl > &x, std::size_t i, x_N_dependency_flag xN_flag) const =0
 Derivative of the molar reducing density with respect to component i mole fraction.
 
virtual CoolPropDbl dTr_dgammaT (const std::vector< CoolPropDbl > &x) const
 
virtual CoolPropDbl dTr_dbetaT (const std::vector< CoolPropDbl > &x) const
 
virtual CoolPropDbl drhormolar_dgammaV (const std::vector< CoolPropDbl > &x) const
 
virtual CoolPropDbl drhormolar_dbetaV (const std::vector< CoolPropDbl > &x) const
 
virtual CoolPropDbl d2Tr_dxidgammaT (const std::vector< CoolPropDbl > &x, std::size_t i, x_N_dependency_flag xN_flag) const
 
virtual CoolPropDbl d2Tr_dxidbetaT (const std::vector< CoolPropDbl > &x, std::size_t i, x_N_dependency_flag xN_flag) const
 
virtual CoolPropDbl d2rhormolar_dxidgammaV (const std::vector< CoolPropDbl > &x, std::size_t i, x_N_dependency_flag xN_flag) const
 
virtual CoolPropDbl d2rhormolar_dxidbetaV (const std::vector< CoolPropDbl > &x, std::size_t i, x_N_dependency_flag xN_flag) const
 
virtual CoolPropDbl d2rhormolardxi2__constxj (const std::vector< CoolPropDbl > &x, std::size_t i, x_N_dependency_flag xN_flag) const =0
 
virtual CoolPropDbl d2rhormolardxidxj (const std::vector< CoolPropDbl > &x, std::size_t i, std::size_t j, x_N_dependency_flag xN_flag) const =0
 
virtual 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 =0
 
virtual CoolPropDbl d2Trdxi2__constxj (const std::vector< CoolPropDbl > &x, std::size_t i, x_N_dependency_flag xN_flag) const =0
 
virtual CoolPropDbl d2Trdxidxj (const std::vector< CoolPropDbl > &x, std::size_t i, std::size_t j, x_N_dependency_flag xN_flag) const =0
 
virtual 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 =0
 
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
 

Static Public Member Functions

static shared_ptr< ReducingFunctionfactory (const std::vector< CoolPropFluid *> &components, STLMatrix &F)
 A factory function to generate the required reducing function.
 

Protected Attributes

std::size_t N
 

Member Function Documentation

§ d_ndTrdni_dxj__constxi()

CoolPropDbl CoolProp::ReducingFunction::d_ndTrdni_dxj__constxi ( const std::vector< CoolPropDbl > &  x,
std::size_t  i,
std::size_t  j,
x_N_dependency_flag  xN_flag 
) const
virtual

GERG 2004 Monograph equation 7.56:

If the \(x_i\) are all independent

\[ \left(\frac{\partial}{\partial x_j}\left(n\left(\frac{\partial T_r}{\partial n_i} \right)_{n_j}\right)\right)_{x_i} = \left(\frac{\partial^2T_r}{\partial x_j \partial x_i}\right)-\left(\frac{\partial T_r}{\partial x_j}\right)_{x_i}-\sum_{k=0}^{N-1}x_k\left(\frac{\partial^2T_r}{\partial x_j \partial x_k}\right) \]

If \(x_N = 1-\sum x_i\):

\[ \left(\frac{\partial}{\partial x_j}\left(n\left(\frac{\partial T_r}{\partial n_i} \right)_{n_j}\right)\right)_{x_i} = \left(\frac{\partial^2T_r}{\partial x_j \partial x_i}\right)-\left(\frac{\partial T_r}{\partial x_j}\right)_{x_i}-\sum_{k=0}^{N-1}x_k\left(\frac{\partial^2T_r}{\partial x_j \partial x_k}\right) \]


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