Cantera
2.0
|
The NASA polynomial parameterization for two temperature ranges. More...
#include <NasaPoly2.h>
Public Member Functions | |
NasaPoly2 () | |
Empty constructor. | |
NasaPoly2 (size_t n, doublereal tlow, doublereal thigh, doublereal pref, const doublereal *coeffs) | |
Full Constructor. | |
NasaPoly2 (const NasaPoly2 &b) | |
Copy Constructor. | |
NasaPoly2 & | operator= (const NasaPoly2 &b) |
Assignment operator. | |
virtual | ~NasaPoly2 () |
destructor | |
virtual SpeciesThermoInterpType * | duplMyselfAsSpeciesThermoInterpType () const |
duplicator | |
doublereal | minTemp () const |
Returns the minimum temperature that the thermo parameterization is valid. | |
doublereal | maxTemp () const |
Returns the maximum temperature that the thermo parameterization is valid. | |
doublereal | refPressure () const |
Returns the reference pressure (Pa) | |
virtual int | reportType () const |
Returns an integer representing the type of parameterization. | |
virtual size_t | speciesIndex () const |
Returns an integer representing the species index. | |
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. | |
void | updatePropertiesTemp (const doublereal temp, doublereal *cp_R, doublereal *h_RT, doublereal *s_R) const |
Compute the reference-state property of one species. | |
void | reportParameters (size_t &n, int &type, doublereal &tlow, doublereal &thigh, doublereal &pref, doublereal *const coeffs) const |
This utility function reports back the type of parameterization and all of the parameters for the species, index. | |
virtual void | modifyParameters (doublereal *coeffs) |
Modify parameters for the standard state. | |
Protected Attributes | |
doublereal | m_lowT |
lowest valid temperature | |
doublereal | m_midT |
Midrange temperature. | |
doublereal | m_highT |
Highest valid temperature. | |
doublereal | m_Pref |
Reference state pressure. | |
NasaPoly1 | mnp_low |
NasaPoly1 object for the low temperature region. | |
NasaPoly1 | mnp_high |
NasaPoly1 object for the high temperature region. | |
size_t | m_index |
species index | |
vector_fp | m_coeff |
array of polynomial coefficients | |
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 51 of file NasaPoly2.h.
|
inline |
Empty constructor.
Definition at line 57 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 75 of file NasaPoly2.h.
References NasaPoly2::m_coeff, and NasaPoly2::m_midT.
|
inlinevirtual |
destructor
Definition at line 123 of file NasaPoly2.h.
Assignment operator.
b | object to be copied. |
Definition at line 108 of file NasaPoly2.h.
References NasaPoly2::m_coeff, NasaPoly2::m_highT, NasaPoly2::m_index, NasaPoly2::m_lowT, NasaPoly2::m_midT, NasaPoly2::m_Pref, NasaPoly2::mnp_high, and NasaPoly2::mnp_low.
|
inlinevirtual |
duplicator
Implements SpeciesThermoInterpType.
Definition at line 127 of file NasaPoly2.h.
References NasaPoly2::NasaPoly2().
|
inlinevirtual |
Returns the minimum temperature that the thermo parameterization is valid.
Implements SpeciesThermoInterpType.
Definition at line 134 of file NasaPoly2.h.
References NasaPoly2::m_lowT.
|
inlinevirtual |
Returns the maximum temperature that the thermo parameterization is valid.
Implements SpeciesThermoInterpType.
Definition at line 140 of file NasaPoly2.h.
References NasaPoly2::m_highT.
|
inlinevirtual |
Returns the reference pressure (Pa)
Implements SpeciesThermoInterpType.
Definition at line 145 of file NasaPoly2.h.
References NasaPoly2::m_Pref.
|
inlinevirtual |
Returns an integer representing the type of parameterization.
Implements SpeciesThermoInterpType.
Definition at line 150 of file NasaPoly2.h.
References NASA2.
|
inlinevirtual |
Returns an integer representing the species index.
Implements SpeciesThermoInterpType.
Definition at line 155 of file NasaPoly2.h.
References NasaPoly2::m_index.
|
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 183 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 210 of file NasaPoly2.h.
References NasaPoly2::m_midT, NasaPoly2::mnp_high, NasaPoly2::mnp_low, and NasaPoly1::updatePropertiesTemp().
|
inlinevirtual |
This utility function reports back the type of parameterization and all of the parameters for the species, index.
All parameters are output variables
n | Species index |
type | Integer type of the standard type |
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. |
Implements SpeciesThermoInterpType.
Definition at line 235 of file NasaPoly2.h.
References NasaPoly2::m_coeff, NasaPoly2::m_highT, NasaPoly2::m_index, NasaPoly2::m_lowT, NasaPoly2::m_Pref, and NASA2.
|
inlinevirtualinherited |
Modify parameters for the standard state.
coeffs | Vector of coefficients used to set the parameters for the standard state. |
Reimplemented in ShomatePoly2, STITbyPDSS, ShomatePoly, NasaPoly1, Nasa9PolyMultiTempRegion, Nasa9Poly1, Mu0Poly, and ConstCpPoly.
Definition at line 262 of file SpeciesThermoInterpType.h.
Referenced by GeneralSpeciesThermo::modifyParams().
|
protected |
lowest valid temperature
Definition at line 283 of file NasaPoly2.h.
Referenced by NasaPoly2::minTemp(), NasaPoly2::operator=(), and NasaPoly2::reportParameters().
|
protected |
Midrange temperature.
Definition at line 285 of file NasaPoly2.h.
Referenced by NasaPoly2::NasaPoly2(), NasaPoly2::operator=(), NasaPoly2::updateProperties(), and NasaPoly2::updatePropertiesTemp().
|
protected |
Highest valid temperature.
Definition at line 287 of file NasaPoly2.h.
Referenced by NasaPoly2::maxTemp(), NasaPoly2::operator=(), and NasaPoly2::reportParameters().
|
protected |
Reference state pressure.
Definition at line 289 of file NasaPoly2.h.
Referenced by NasaPoly2::operator=(), NasaPoly2::refPressure(), and NasaPoly2::reportParameters().
|
protected |
NasaPoly1 object for the low temperature region.
Definition at line 291 of file NasaPoly2.h.
Referenced by NasaPoly2::operator=(), NasaPoly2::updateProperties(), and NasaPoly2::updatePropertiesTemp().
|
protected |
NasaPoly1 object for the high temperature region.
Definition at line 293 of file NasaPoly2.h.
Referenced by NasaPoly2::operator=(), NasaPoly2::updateProperties(), and NasaPoly2::updatePropertiesTemp().
|
protected |
species index
Definition at line 295 of file NasaPoly2.h.
Referenced by NasaPoly2::operator=(), NasaPoly2::reportParameters(), and NasaPoly2::speciesIndex().
|
protected |
array of polynomial coefficients
Definition at line 297 of file NasaPoly2.h.
Referenced by NasaPoly2::NasaPoly2(), NasaPoly2::operator=(), and NasaPoly2::reportParameters().