The Shomate polynomial parameterization for one temperature range for one species. More...
#include <ShomatePoly.h>
The Shomate polynomial parameterization for one temperature range for one species.
Seven coefficients \( (A,\dots,G) \) are used to represent \( c_p^0(T) \), \( h^0(T) \), and \( s^0(T) \) as polynomials in the temperature, \( T \) :
\[\tilde{c}_p^0(T) = A + B t + C t^2 + D t^3 + \frac{E}{t^2} \]
\[\tilde{h}^0(T) = A t + \frac{B t^2}{2} + \frac{C t^3}{3} + \frac{D t^4}{4} - \frac{E}{t} + F. \]
\[\tilde{s}^0(T) = A\ln t + B t + \frac{C t^2}{2} + \frac{D t^3}{3} - \frac{E}{2t^2} + G. \]
In the above expressions, the thermodynamic polynomials are expressed in dimensional units, but the temperature, \( t \), is divided by 1000. The following dimensions are assumed in the above expressions:
For more information about Shomate polynomials, see the NIST website, http://webbook.nist.gov/
Before being used within Cantera, the dimensions must be adjusted to those used by Cantera (for example, Joules and kmol).
Definition at line 58 of file ShomatePoly.h.
Public Member Functions | |
| ShomatePoly (double tlow, double thigh, double pref, span< const double > coeffs) | |
| Constructor with all input data. | |
| void | setParameters (const span< const double > coeffs) |
| Set array of 7 polynomial coefficients. | |
| int | reportType () const override |
| Returns an integer representing the type of parameterization. | |
| size_t | temperaturePolySize () const override |
| Number of terms in the temperature polynomial for this parameterization. | |
| void | updateTemperaturePoly (double T, span< double > T_poly) const override |
| Given the temperature T, compute the terms of the temperature polynomial T_poly. | |
| Public Member Functions inherited from SpeciesThermoInterpType | |
| SpeciesThermoInterpType (double tlow, double thigh, double pref) | |
| SpeciesThermoInterpType (const SpeciesThermoInterpType &b)=delete | |
| SpeciesThermoInterpType & | operator= (const SpeciesThermoInterpType &b)=delete |
| virtual double | minTemp () const |
| Returns the minimum temperature that the thermo parameterization is valid. | |
| virtual void | setMinTemp (double Tmin) |
| Set the minimum temperature at which the thermo parameterization is valid. | |
| virtual double | maxTemp () const |
| Returns the maximum temperature that the thermo parameterization is valid. | |
| virtual void | setMaxTemp (double Tmax) |
| Set the maximum temperature at which the thermo parameterization is valid. | |
| virtual double | refPressure () const |
| Returns the reference pressure (Pa). | |
| virtual void | setRefPressure (double Pref) |
| Set the reference pressure [Pa]. | |
| virtual void | validate (const string &name) |
| Check for problems with the parameterization, and generate warnings or throw and exception if any are found. | |
| virtual void | updateProperties (span< const double > tt, double &cp_R, double &h_RT, double &s_R) const |
| Update the properties for this species, given a temperature polynomial. | |
| virtual void | updatePropertiesTemp (const double temp, double &cp_R, double &h_RT, double &s_R) const |
| Compute the reference-state property of one species. | |
| virtual size_t | nCoeffs () const |
| This utility function returns the number of coefficients for a given type of species parameterization. | |
| virtual void | reportParameters (size_t &index, int &type, double &minTemp, double &maxTemp, double &refPressure, span< double > coeffs) const |
| This utility function returns the type of parameterization and all of the parameters for the species. | |
| AnyMap | parameters (bool withInput=true) const |
| Return the parameters of the species thermo object such that an identical species thermo object could be reconstructed using the newSpeciesThermo() function. | |
| virtual double | reportHf298 () const |
| Report the 298 K Heat of Formation of the standard state of one species (J kmol-1). | |
| virtual void | modifyOneHf298 (const size_t k, const double Hf298New) |
| Modify the value of the 298 K Heat of Formation of one species in the phase (J kmol-1). | |
| virtual void | resetHf298 () |
| Restore the original heat of formation for this species. | |
| const AnyMap & | input () const |
| Access input data associated with the species thermo definition. | |
| AnyMap & | input () |
Additional Inherited Members | |
| Protected Member Functions inherited from SpeciesThermoInterpType | |
| virtual void | getParameters (AnyMap &thermo) const |
| Store the parameters of the species thermo object such that an identical species thermo object could be reconstructed using the newSpeciesThermo() function. | |
| Protected Attributes inherited from SpeciesThermoInterpType | |
| double | m_lowT = 0.0 |
| lowest valid temperature | |
| double | m_highT = 0.0 |
| Highest valid temperature. | |
| double | m_Pref = 0.0 |
| Reference state pressure. | |
| AnyMap | m_input |
|
inline |
Definition at line 61 of file ShomatePoly.h.
|
inline |
Constructor with all input data.
| tlow | Minimum temperature |
| thigh | Maximum temperature |
| pref | reference pressure (Pa). |
| coeffs | Vector of coefficients, [A,B,C,D,E,F,G], used to set the parameters for the species standard state. |
See the class description for the polynomial representation of the thermo functions in terms of \( A, \dots, G \).
Definition at line 74 of file ShomatePoly.h.
|
inline |
Set array of 7 polynomial coefficients.
Input values are assumed to be on a kJ/mol basis.
Definition at line 86 of file ShomatePoly.h.
|
inlineoverridevirtual |
Returns an integer representing the type of parameterization.
Reimplemented from SpeciesThermoInterpType.
Definition at line 97 of file ShomatePoly.h.
|
inlineoverridevirtual |
Number of terms in the temperature polynomial for this parameterization.
Reimplemented from SpeciesThermoInterpType.
Definition at line 101 of file ShomatePoly.h.
|
inlineoverridevirtual |
Given the temperature T, compute the terms of the temperature polynomial T_poly.
Reimplemented from SpeciesThermoInterpType.
Definition at line 103 of file ShomatePoly.h.