CoolProp
Public Member Functions | Public Attributes | List of all members
CoolProp::ResidualHelmholtzGeneralizedExponential Class Reference

Detailed Description

A generalized residual helmholtz energy container that can deal with a wide range of terms which can be converted to this general form.

\( \alpha^r=\sum_i n_i \delta^{d_i} \tau^{t_i}\exp(u_i) \)

where \( u_i \) is given by

\( u_i = -c_i\delta^{l_i}-\omega_i\tau^{m_i}-\eta_{1,i}(\delta-\epsilon_{1,i})-\eta_{2,i}(\delta-\epsilon_{2,i})^2-\beta_{1,i}(\tau-\gamma_{1,i})-\beta_{2,i}(\tau-\gamma_{2,i})^2 \)

#include <Helmholtz.h>

Inheritance diagram for CoolProp::ResidualHelmholtzGeneralizedExponential:
CoolProp::BaseHelmholtzTerm

Public Member Functions

void add_Power (const std::vector< CoolPropDbl > &n, const std::vector< CoolPropDbl > &d, const std::vector< CoolPropDbl > &t, const std::vector< CoolPropDbl > &l)
 Add and convert an old-style power (polynomial) term to generalized form. More...
 
void add_Exponential (const std::vector< CoolPropDbl > &n, const std::vector< CoolPropDbl > &d, const std::vector< CoolPropDbl > &t, const std::vector< CoolPropDbl > &g, const std::vector< CoolPropDbl > &l)
 Add and convert an old-style exponential term to generalized form. More...
 
void add_Gaussian (const std::vector< CoolPropDbl > &n, const std::vector< CoolPropDbl > &d, const std::vector< CoolPropDbl > &t, const std::vector< CoolPropDbl > &eta, const std::vector< CoolPropDbl > &epsilon, const std::vector< CoolPropDbl > &beta, const std::vector< CoolPropDbl > &gamma)
 Add and convert an old-style Gaussian term to generalized form. More...
 
void add_GERG2008Gaussian (const std::vector< CoolPropDbl > &n, const std::vector< CoolPropDbl > &d, const std::vector< CoolPropDbl > &t, const std::vector< CoolPropDbl > &eta, const std::vector< CoolPropDbl > &epsilon, const std::vector< CoolPropDbl > &beta, const std::vector< CoolPropDbl > &gamma)
 Add and convert an old-style Gaussian term from GERG 2008 natural gas model to generalized form. More...
 
void add_Lemmon2005 (const std::vector< CoolPropDbl > &n, const std::vector< CoolPropDbl > &d, const std::vector< CoolPropDbl > &t, const std::vector< CoolPropDbl > &l, const std::vector< CoolPropDbl > &m)
 Add and convert a term from Lemmon and Jacobsen (2005) used for R125. More...
 
void finish ()
 
void to_json (rapidjson::Value &el, rapidjson::Document &doc)
 
void all (const CoolPropDbl &tau, const CoolPropDbl &delta, HelmholtzDerivatives &derivs) throw ()
 
- Public Member Functions inherited from CoolProp::BaseHelmholtzTerm
virtual CoolPropDbl base (const CoolPropDbl &tau, const CoolPropDbl &delta) throw ()
 Returns the base, non-dimensional, Helmholtz energy term (no derivatives) [-]. More...
 
virtual CoolPropDbl dTau (const CoolPropDbl &tau, const CoolPropDbl &delta) throw ()
 Returns the first partial derivative of Helmholtz energy term with respect to tau [-]. More...
 
virtual CoolPropDbl dTau2 (const CoolPropDbl &tau, const CoolPropDbl &delta) throw ()
 Returns the second partial derivative of Helmholtz energy term with respect to tau [-]. More...
 
virtual CoolPropDbl dDelta_dTau (const CoolPropDbl &tau, const CoolPropDbl &delta) throw ()
 Returns the second mixed partial derivative (delta1,dtau1) of Helmholtz energy term with respect to delta and tau [-]. More...
 
virtual CoolPropDbl dDelta (const CoolPropDbl &tau, const CoolPropDbl &delta) throw ()
 Returns the first partial derivative of Helmholtz energy term with respect to delta [-]. More...
 
virtual CoolPropDbl dDelta2 (const CoolPropDbl &tau, const CoolPropDbl &delta) throw ()
 Returns the second partial derivative of Helmholtz energy term with respect to delta [-]. More...
 
virtual CoolPropDbl dDelta2_dTau (const CoolPropDbl &tau, const CoolPropDbl &delta) throw ()
 Returns the third mixed partial derivative (delta2,dtau1) of Helmholtz energy term with respect to delta and tau [-]. More...
 
virtual CoolPropDbl dDelta_dTau2 (const CoolPropDbl &tau, const CoolPropDbl &delta) throw ()
 Returns the third mixed partial derivative (delta1,dtau2) of Helmholtz energy term with respect to delta and tau [-]. More...
 
virtual CoolPropDbl dTau3 (const CoolPropDbl &tau, const CoolPropDbl &delta) throw ()
 Returns the third partial derivative of Helmholtz energy term with respect to tau [-]. More...
 
virtual CoolPropDbl dDelta3 (const CoolPropDbl &tau, const CoolPropDbl &delta) throw ()
 Returns the third partial derivative of Helmholtz energy term with respect to delta [-]. More...
 
virtual CoolPropDbl dTau4 (const CoolPropDbl &tau, const CoolPropDbl &delta) throw ()
 Returns the fourth partial derivative of Helmholtz energy term with respect to tau [-]. More...
 
virtual CoolPropDbl dDelta_dTau3 (const CoolPropDbl &tau, const CoolPropDbl &delta) throw ()
 
virtual CoolPropDbl dDelta2_dTau2 (const CoolPropDbl &tau, const CoolPropDbl &delta) throw ()
 
virtual CoolPropDbl dDelta3_dTau (const CoolPropDbl &tau, const CoolPropDbl &delta) throw ()
 
virtual CoolPropDbl dDelta4 (const CoolPropDbl &tau, const CoolPropDbl &delta) throw ()
 

Public Attributes

bool delta_li_in_u
 
bool tau_mi_in_u
 
bool eta1_in_u
 
bool eta2_in_u
 
bool beta1_in_u
 
bool beta2_in_u
 
bool finished
 
std::vector< CoolPropDbl > s
 
std::size_t N
 
std::vector< double > n
 
std::vector< double > d
 
std::vector< double > t
 
std::vector< double > c
 
std::vector< double > l_double
 
std::vector< double > omega
 
std::vector< double > m_double
 
std::vector< double > eta1
 
std::vector< double > epsilon1
 
std::vector< double > eta2
 
std::vector< double > epsilon2
 
std::vector< double > beta1
 
std::vector< double > gamma1
 
std::vector< double > beta2
 
std::vector< double > gamma2
 
std::vector< int > l_int
 
std::vector< int > m_int
 
std::vector< ResidualHelmholtzGeneralizedExponentialElementelements
 

Member Function Documentation

§ add_Exponential()

void CoolProp::ResidualHelmholtzGeneralizedExponential::add_Exponential ( const std::vector< CoolPropDbl > &  n,
const std::vector< CoolPropDbl > &  d,
const std::vector< CoolPropDbl > &  t,
const std::vector< CoolPropDbl > &  g,
const std::vector< CoolPropDbl > &  l 
)
inline

Add and convert an old-style exponential term to generalized form.

Term of the format \( \alpha^r=\displaystyle\sum_i n_i \delta^{d_i} \tau^{t_i} \exp(-g_i\delta^{l_i}) \)

§ add_Gaussian()

void CoolProp::ResidualHelmholtzGeneralizedExponential::add_Gaussian ( const std::vector< CoolPropDbl > &  n,
const std::vector< CoolPropDbl > &  d,
const std::vector< CoolPropDbl > &  t,
const std::vector< CoolPropDbl > &  eta,
const std::vector< CoolPropDbl > &  epsilon,
const std::vector< CoolPropDbl > &  beta,
const std::vector< CoolPropDbl > &  gamma 
)
inline

Add and convert an old-style Gaussian term to generalized form.

Term of the format \( \alpha^r=\displaystyle\sum_i n_i \delta^{d_i} \tau^{t_i} \exp(-\eta_i(\delta-\epsilon_i)^2-\beta_i(\tau-\gamma_i)^2)\)

§ add_GERG2008Gaussian()

void CoolProp::ResidualHelmholtzGeneralizedExponential::add_GERG2008Gaussian ( const std::vector< CoolPropDbl > &  n,
const std::vector< CoolPropDbl > &  d,
const std::vector< CoolPropDbl > &  t,
const std::vector< CoolPropDbl > &  eta,
const std::vector< CoolPropDbl > &  epsilon,
const std::vector< CoolPropDbl > &  beta,
const std::vector< CoolPropDbl > &  gamma 
)
inline

Add and convert an old-style Gaussian term from GERG 2008 natural gas model to generalized form.

Term of the format \( \alpha^r=\displaystyle\sum_i n_i \delta^{d_i} \tau^{t_i} \exp(-\eta_i(\delta-\epsilon_i)^2-\beta_i(\delta-\gamma_i))\)

§ add_Lemmon2005()

void CoolProp::ResidualHelmholtzGeneralizedExponential::add_Lemmon2005 ( const std::vector< CoolPropDbl > &  n,
const std::vector< CoolPropDbl > &  d,
const std::vector< CoolPropDbl > &  t,
const std::vector< CoolPropDbl > &  l,
const std::vector< CoolPropDbl > &  m 
)
inline

Add and convert a term from Lemmon and Jacobsen (2005) used for R125.

Term of the format \( \alpha^r=\displaystyle\sum_i n_i \delta^{d_i} \tau^{t_i} \exp(-\delta^{l_i}-\tau^{m_i})\)

§ add_Power()

void CoolProp::ResidualHelmholtzGeneralizedExponential::add_Power ( const std::vector< CoolPropDbl > &  n,
const std::vector< CoolPropDbl > &  d,
const std::vector< CoolPropDbl > &  t,
const std::vector< CoolPropDbl > &  l 
)
inline

Add and convert an old-style power (polynomial) term to generalized form.

Term of the format \( \alpha^r=\left\lbrace\begin{array}{cc}\displaystyle\sum_i n_i \delta^{d_i} \tau^{t_i} & l_i=0\\ \displaystyle\sum_i n_i \delta^{d_i} \tau^{t_i} \exp(-\delta^{l_i}) & l_i\neq 0\end{array}\right.\)


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