Go to the documentation of this file.
20 Nasa9Poly1::Nasa9Poly1()
25 Nasa9Poly1::Nasa9Poly1(
double tlow,
double thigh,
double pref,
26 const double* coeffs) :
28 m_coeff(coeffs, coeffs + 9)
34 if (coeffs.size() != 9) {
35 throw CanteraError(
"Nasa9Poly1::setParameters",
"Array must contain "
36 "9 coefficients, but {} were given.", coeffs.size());
50 T_poly[2] = T_poly[1] * T;
51 T_poly[3] = T_poly[2] * T;
53 T_poly[5] = T_poly[4] / T;
54 T_poly[6] = std::log(T);
58 doublereal* cp_R, doublereal* h_RT,
59 doublereal* s_R)
const
62 doublereal ct0 =
m_coeff[0] * tt[5];
63 doublereal ct1 =
m_coeff[1] * tt[4];
65 doublereal ct3 =
m_coeff[3] * tt[0];
66 doublereal ct4 =
m_coeff[4] * tt[1];
67 doublereal ct5 =
m_coeff[5] * tt[2];
68 doublereal ct6 =
m_coeff[6] * tt[3];
70 doublereal cpdivR = ct0 + ct1 + ct2 + ct3 + ct4 + ct5 + ct6;
71 doublereal hdivRT = -ct0 + tt[6]*ct1 + ct2 + 0.5*ct3 + 1.0/3.0*ct4
72 + 0.25*ct5 + 0.2*ct6 +
m_coeff[7] * tt[4];
73 doublereal sdivR = -0.5*ct0 - ct1 + tt[6]*ct2 + ct3 + 0.5*ct4
74 + 1.0/3.0*ct5 + 0.25*ct6 +
m_coeff[8];
83 doublereal* cp_R, doublereal* h_RT,
84 doublereal* s_R)
const
92 doublereal& tlow, doublereal& thigh,
94 doublereal*
const coeffs)
const
104 for (
int i = 0; i < 9; i++) {
virtual 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.
#define NASA9
9 coefficient NASA Polynomials This is implemented in the class Nasa9Poly1 in Nasa9Poly1....
virtual 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 spe...
vector_fp m_coeff
array of polynomial coefficients
Abstract Base class for the thermodynamic manager for an individual species' reference state.
void setParameters(const vector_fp &coeffs)
Set the array of 9 polynomial coefficients.
std::vector< double > vector_fp
Turn on the use of stl vectors for the basic array type within cantera Vector of doubles.
virtual void updatePropertiesTemp(const doublereal temp, doublereal *cp_R, doublereal *h_RT, doublereal *s_R) const
Compute the reference-state property of one species.
doublereal m_lowT
lowest valid temperature
virtual int reportType() const
Returns an integer representing the type of parameterization.
doublereal m_Pref
Reference state pressure.
doublereal m_highT
Highest valid temperature.
Base class for exceptions thrown by Cantera classes.
virtual void updateTemperaturePoly(double T, double *T_poly) const
Given the temperature T, compute the terms of the temperature polynomial T_poly.
Namespace for the Cantera kernel.