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

Detailed Description

\[ \alpha^0 = \displaystyle\sum_i n_i\log[c_i+d_i\exp(\theta_i\tau)] \]

To convert conventional Plank-Einstein forms, given by \( \frac{c_p^0}{R} = a_k\displaystyle\frac{\left( b_k/T \right)^2\exp \left( b_k/T \right)}{\left(\exp \left(b_k/T\right) - 1 \right)^2} \) and \( \alpha^0 = a_k\ln \left[1 - \exp \left( \frac{-b_k\tau}{T_c} \right) \right] \) use \(c = 1\), \(d = -1\), \(n = a\), \(\theta = -\displaystyle\frac{b_k}{T_c}\)

To convert the second form of Plank-Einstein terms, given by \( \frac{c_p^0}{R} = a_k\displaystyle\frac{\left( -b_k/T \right)^2\exp \left( b_k/T \right)}{c\left(\exp \left(-b_k/T\right) + 1 \right)^2} \) and \( \alpha^0 = a_k\ln \left[c + \exp \left( \frac{b_k\tau}{T_c} \right) \right] \) use \(c = 1\), \(d = 1\), \(n = -a\), \(\theta = \displaystyle\frac{b_k}{T_c}\)

Converting Aly-Lee tems is a bit more complex

Aly-Lee starts as

\[\frac{c_p^0}{R_u} = A + B\left(\frac{C/T}{\sinh(C/T)}\right)^2 + D\left(\frac{E/T}{\cosh(E/T)}\right)^2\]

Constant is separated out, and handled separately. sinh part can be expanded as

\[B\left(\frac{C/T}{\sinh(C/T)}\right)^2 = \frac{B(-2C/T)^2\exp(-2C/T)}{(1-\exp(-2C/T))^2}\]

where

\[n_k = B\]

\[\theta_k = -\frac{2C}{T_c}\]

\[c_k = 1\]

\[d_k = -1\]

cosh part can be expanded as

\[D\left(\frac{E/T}{\cosh(E/T)}\right)^2 = \frac{D(-2E/T)^2\exp(-2E/T)}{(1+\exp(-2E/T))^2}\]

where

\[n_k = -D\]

\[\theta_k = -\frac{2E}{T_c}\]

\[c_k = 1\]

\[d_k = 1\]

#include <Helmholtz.h>

Inheritance diagram for CoolProp::IdealHelmholtzPlanckEinsteinGeneralized:
CoolProp::BaseHelmholtzTerm

Public Member Functions

 IdealHelmholtzPlanckEinsteinGeneralized (const std::vector< CoolPropDbl > &n, const std::vector< CoolPropDbl > &theta, const std::vector< CoolPropDbl > &c, const std::vector< CoolPropDbl > &d)
 
void extend (const std::vector< CoolPropDbl > &n, const std::vector< CoolPropDbl > &theta, const std::vector< CoolPropDbl > &c, const std::vector< CoolPropDbl > &d)
 
bool is_enabled () const
 
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 ()
 

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