CoolProp  6.6.1dev
An open-source fluid property and humid air property database
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 \)

Definition at line 332 of file Helmholtz.h.

#include <Helmholtz.h>

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

Public Member Functions

 ResidualHelmholtzGeneralizedExponential ()
 
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
 BaseHelmholtzTerm ()
 
virtual ~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< CoolPropDbls
 
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
 

Constructor & Destructor Documentation

◆ ResidualHelmholtzGeneralizedExponential()

CoolProp::ResidualHelmholtzGeneralizedExponential::ResidualHelmholtzGeneralizedExponential ( )
inline

Definition at line 350 of file Helmholtz.h.

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}) \)

Definition at line 379 of file Helmholtz.h.

◆ 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)\)

Definition at line 398 of file Helmholtz.h.

◆ 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))\)

Definition at line 420 of file Helmholtz.h.

◆ 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})\)

Definition at line 442 of file Helmholtz.h.

◆ 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.\)

Definition at line 357 of file Helmholtz.h.

◆ all()

void CoolProp::ResidualHelmholtzGeneralizedExponential::all ( const CoolPropDbl tau,
const CoolPropDbl delta,
HelmholtzDerivatives derivs 
)
throw (
)
virtual

Implements CoolProp::BaseHelmholtzTerm.

Definition at line 137 of file Helmholtz.cpp.

◆ finish()

void CoolProp::ResidualHelmholtzGeneralizedExponential::finish ( )
inline

Definition at line 461 of file Helmholtz.h.

◆ to_json()

void CoolProp::ResidualHelmholtzGeneralizedExponential::to_json ( rapidjson::Value &  el,
rapidjson::Document &  doc 
)

Definition at line 286 of file Helmholtz.cpp.

Member Data Documentation

◆ beta1

std::vector<double> CoolProp::ResidualHelmholtzGeneralizedExponential::beta1

Definition at line 342 of file Helmholtz.h.

◆ beta1_in_u

bool CoolProp::ResidualHelmholtzGeneralizedExponential::beta1_in_u

Definition at line 336 of file Helmholtz.h.

◆ beta2

std::vector<double> CoolProp::ResidualHelmholtzGeneralizedExponential::beta2

Definition at line 342 of file Helmholtz.h.

◆ beta2_in_u

bool CoolProp::ResidualHelmholtzGeneralizedExponential::beta2_in_u

Definition at line 336 of file Helmholtz.h.

◆ c

std::vector<double> CoolProp::ResidualHelmholtzGeneralizedExponential::c

Definition at line 342 of file Helmholtz.h.

◆ d

std::vector<double> CoolProp::ResidualHelmholtzGeneralizedExponential::d

Definition at line 342 of file Helmholtz.h.

◆ delta_li_in_u

bool CoolProp::ResidualHelmholtzGeneralizedExponential::delta_li_in_u

Definition at line 336 of file Helmholtz.h.

◆ elements

std::vector<ResidualHelmholtzGeneralizedExponentialElement> CoolProp::ResidualHelmholtzGeneralizedExponential::elements

Definition at line 348 of file Helmholtz.h.

◆ epsilon1

std::vector<double> CoolProp::ResidualHelmholtzGeneralizedExponential::epsilon1

Definition at line 342 of file Helmholtz.h.

◆ epsilon2

std::vector<double> CoolProp::ResidualHelmholtzGeneralizedExponential::epsilon2

Definition at line 342 of file Helmholtz.h.

◆ eta1

std::vector<double> CoolProp::ResidualHelmholtzGeneralizedExponential::eta1

Definition at line 342 of file Helmholtz.h.

◆ eta1_in_u

bool CoolProp::ResidualHelmholtzGeneralizedExponential::eta1_in_u

Definition at line 336 of file Helmholtz.h.

◆ eta2

std::vector<double> CoolProp::ResidualHelmholtzGeneralizedExponential::eta2

Definition at line 342 of file Helmholtz.h.

◆ eta2_in_u

bool CoolProp::ResidualHelmholtzGeneralizedExponential::eta2_in_u

Definition at line 336 of file Helmholtz.h.

◆ finished

bool CoolProp::ResidualHelmholtzGeneralizedExponential::finished

Definition at line 336 of file Helmholtz.h.

◆ gamma1

std::vector<double> CoolProp::ResidualHelmholtzGeneralizedExponential::gamma1

Definition at line 342 of file Helmholtz.h.

◆ gamma2

std::vector<double> CoolProp::ResidualHelmholtzGeneralizedExponential::gamma2

Definition at line 342 of file Helmholtz.h.

◆ l_double

std::vector<double> CoolProp::ResidualHelmholtzGeneralizedExponential::l_double

Definition at line 342 of file Helmholtz.h.

◆ l_int

std::vector<int> CoolProp::ResidualHelmholtzGeneralizedExponential::l_int

Definition at line 344 of file Helmholtz.h.

◆ m_double

std::vector<double> CoolProp::ResidualHelmholtzGeneralizedExponential::m_double

Definition at line 342 of file Helmholtz.h.

◆ m_int

std::vector<int> CoolProp::ResidualHelmholtzGeneralizedExponential::m_int

Definition at line 344 of file Helmholtz.h.

◆ N

std::size_t CoolProp::ResidualHelmholtzGeneralizedExponential::N

Definition at line 338 of file Helmholtz.h.

◆ n

std::vector<double> CoolProp::ResidualHelmholtzGeneralizedExponential::n

Definition at line 342 of file Helmholtz.h.

◆ omega

std::vector<double> CoolProp::ResidualHelmholtzGeneralizedExponential::omega

Definition at line 342 of file Helmholtz.h.

◆ s

std::vector<CoolPropDbl> CoolProp::ResidualHelmholtzGeneralizedExponential::s

Definition at line 337 of file Helmholtz.h.

◆ t

std::vector<double> CoolProp::ResidualHelmholtzGeneralizedExponential::t

Definition at line 342 of file Helmholtz.h.

◆ tau_mi_in_u

bool CoolProp::ResidualHelmholtzGeneralizedExponential::tau_mi_in_u

Definition at line 336 of file Helmholtz.h.


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