Cantera
2.1.2
|
The NASA polynomial parameterization for two temperature ranges. More...
#include <NasaPoly2.h>
Public Member Functions | |
NasaPoly2 () | |
Empty constructor. More... | |
NasaPoly2 (size_t n, doublereal tlow, doublereal thigh, doublereal pref, const doublereal *coeffs) | |
Full Constructor. More... | |
NasaPoly2 (const NasaPoly2 &b) | |
Copy Constructor. More... | |
NasaPoly2 & | operator= (const NasaPoly2 &b) |
Assignment operator. More... | |
virtual SpeciesThermoInterpType * | duplMyselfAsSpeciesThermoInterpType () const |
duplicator More... | |
virtual int | reportType () const |
Returns an integer representing the type of parameterization. More... | |
void | updateProperties (const doublereal *tt, doublereal *cp_R, doublereal *h_RT, doublereal *s_R) const |
Update the properties for this species, given a temperature polynomial. More... | |
void | updatePropertiesTemp (const doublereal temp, doublereal *cp_R, doublereal *h_RT, doublereal *s_R) const |
Compute the reference-state property of one species. More... | |
void | reportParameters (size_t &n, int &type, doublereal &tlow, doublereal &thigh, doublereal &pref, doublereal *const coeffs) const |
Public Member Functions inherited from SpeciesThermoInterpType | |
SpeciesThermoInterpType () | |
Constructor. More... | |
SpeciesThermoInterpType (size_t n, doublereal tlow, doublereal thigh, doublereal pref) | |
Constructor. More... | |
virtual | ~SpeciesThermoInterpType () |
Destructor. More... | |
virtual doublereal | minTemp () const |
Returns the minimum temperature that the thermo parameterization is valid. More... | |
virtual doublereal | maxTemp () const |
Returns the maximum temperature that the thermo parameterization is valid. More... | |
virtual doublereal | refPressure () const |
Returns the reference pressure (Pa) More... | |
virtual size_t | speciesIndex () const |
Returns an integer representing the species index. More... | |
virtual void | modifyParameters (doublereal *coeffs) |
Modify parameters for the standard state. More... | |
Protected Attributes | |
doublereal | m_midT |
Midrange temperature. More... | |
NasaPoly1 | mnp_low |
NasaPoly1 object for the low temperature region. More... | |
NasaPoly1 | mnp_high |
NasaPoly1 object for the high temperature region. More... | |
vector_fp | m_coeff |
array of polynomial coefficients More... | |
Protected Attributes inherited from SpeciesThermoInterpType | |
doublereal | m_lowT |
lowest valid temperature More... | |
doublereal | m_highT |
Highest valid temperature. More... | |
doublereal | m_Pref |
Reference state pressure. More... | |
size_t | m_index |
species index More... | |
The NASA polynomial parameterization for two temperature ranges.
This parameterization expresses the heat capacity as a fourth-order polynomial. Note that this is the form used in the 1971 NASA equilibrium program and by the Chemkin software package, but differs from the form used in the more recent NASA equilibrium program.
Seven coefficients \((a_0,\dots,a_6)\) are used to represent \( c_p^0(T)\), \( h^0(T)\), and \( s^0(T) \) as polynomials in \( T \) :
\[ \frac{c_p(T)}{R} = a_0 + a_1 T + a_2 T^2 + a_3 T^3 + a_4 T^4 \]
\[ \frac{h^0(T)}{RT} = a_0 + \frac{a_1}{2} T + \frac{a_2}{3} T^2 + \frac{a_3}{4} T^3 + \frac{a_4}{5} T^4 + \frac{a_5}{T}. \]
\[ \frac{s^0(T)}{R} = a_0\ln T + a_1 T + \frac{a_2}{2} T^2 + \frac{a_3}{3} T^3 + \frac{a_4}{4} T^4 + a_6. \]
This class is designed specifically for use by the class GeneralSpeciesThermo.
Definition at line 48 of file NasaPoly2.h.
|
inline |
Empty constructor.
Definition at line 52 of file NasaPoly2.h.
Referenced by NasaPoly2::duplMyselfAsSpeciesThermoInterpType().
|
inline |
Full Constructor.
n | Species index |
tlow | output - Minimum temperature |
thigh | output - Maximum temperature |
pref | output - reference pressure (Pa). |
coeffs | Vector of coefficients used to set the parameters for the standard state. |
Definition at line 66 of file NasaPoly2.h.
References NasaPoly2::m_coeff, and NasaPoly2::m_midT.
Assignment operator.
b | object to be copied. |
Definition at line 92 of file NasaPoly2.h.
References NasaPoly2::m_coeff, NasaPoly2::m_midT, NasaPoly2::mnp_high, and NasaPoly2::mnp_low.
|
inlinevirtual |
duplicator
Implements SpeciesThermoInterpType.
Definition at line 104 of file NasaPoly2.h.
References NasaPoly2::NasaPoly2().
|
inlinevirtual |
Returns an integer representing the type of parameterization.
Implements SpeciesThermoInterpType.
Definition at line 109 of file NasaPoly2.h.
References NASA2.
|
inlinevirtual |
Update the properties for this species, given a temperature polynomial.
This method is called with a pointer to an array containing the functions of temperature needed by this parameterization, and three pointers to arrays where the computed property values should be written. This method updates only one value in each array.
Temperature Polynomial: tt[0] = t; tt[1] = t*t; tt[2] = m_t[1]*t; tt[3] = m_t[2]*t; tt[4] = 1.0/t; tt[5] = std::log(t);
tt | vector of temperature polynomials |
cp_R | Vector of Dimensionless heat capacities. (length m_kk). |
h_RT | Vector of Dimensionless enthalpies. (length m_kk). |
s_R | Vector of Dimensionless entropies. (length m_kk). |
Reimplemented from SpeciesThermoInterpType.
Definition at line 133 of file NasaPoly2.h.
References NasaPoly2::m_midT, NasaPoly2::mnp_high, NasaPoly2::mnp_low, and NasaPoly1::updateProperties().
|
inlinevirtual |
Compute the reference-state property of one species.
Given temperature T in K, this method updates the values of the non-dimensional heat capacity at constant pressure, enthalpy, and entropy, at the reference pressure, Pref of one of the species. The species index is used to reference into the cp_R, h_RT, and s_R arrays.
temp | Temperature (Kelvin) |
cp_R | Vector of Dimensionless heat capacities. (length m_kk). |
h_RT | Vector of Dimensionless enthalpies. (length m_kk). |
s_R | Vector of Dimensionless entropies. (length m_kk). |
Implements SpeciesThermoInterpType.
Definition at line 143 of file NasaPoly2.h.
References NasaPoly2::m_midT, NasaPoly2::mnp_high, NasaPoly2::mnp_low, and NasaPoly1::updatePropertiesTemp().
|
inlinevirtual |
Implements SpeciesThermoInterpType.
Definition at line 155 of file NasaPoly2.h.
References NasaPoly2::m_coeff, SpeciesThermoInterpType::m_highT, SpeciesThermoInterpType::m_index, SpeciesThermoInterpType::m_lowT, SpeciesThermoInterpType::m_Pref, NASA2, and Cantera::warn_deprecated().
|
protected |
Midrange temperature.
Definition at line 204 of file NasaPoly2.h.
Referenced by NasaPoly2::NasaPoly2(), NasaPoly2::operator=(), NasaPoly2::updateProperties(), and NasaPoly2::updatePropertiesTemp().
|
protected |
NasaPoly1 object for the low temperature region.
Definition at line 206 of file NasaPoly2.h.
Referenced by NasaPoly2::operator=(), NasaPoly2::updateProperties(), and NasaPoly2::updatePropertiesTemp().
|
protected |
NasaPoly1 object for the high temperature region.
Definition at line 208 of file NasaPoly2.h.
Referenced by NasaPoly2::operator=(), NasaPoly2::updateProperties(), and NasaPoly2::updatePropertiesTemp().
|
protected |
array of polynomial coefficients
Definition at line 210 of file NasaPoly2.h.
Referenced by NasaPoly2::NasaPoly2(), NasaPoly2::operator=(), and NasaPoly2::reportParameters().