26 const doublereal* coeffs) :
28 m_coeff(coeffs, coeffs + 9)
33 const double* coeffs) :
35 m_coeff(coeffs, coeffs + 9)
48 SpeciesThermoInterpType::operator=(b);
55 Nasa9Poly1::duplMyselfAsSpeciesThermoInterpType()
const
69 T_poly[2] = T_poly[1] * T;
70 T_poly[3] = T_poly[2] * T;
72 T_poly[5] = T_poly[4] / T;
73 T_poly[6] = std::log(T);
77 doublereal* cp_R, doublereal* h_RT,
78 doublereal* s_R)
const
81 doublereal ct0 =
m_coeff[0] * tt[5];
82 doublereal ct1 =
m_coeff[1] * tt[4];
84 doublereal ct3 =
m_coeff[3] * tt[0];
85 doublereal ct4 =
m_coeff[4] * tt[1];
86 doublereal ct5 =
m_coeff[5] * tt[2];
87 doublereal ct6 =
m_coeff[6] * tt[3];
90 doublereal cpdivR = ct0 + ct1 + ct2 + ct3 + ct4 + ct5 + ct6;
91 doublereal hdivRT = -ct0 + tt[6]*ct1 + ct2 + 0.5*ct3 + 1.0/3.0*ct4
92 + 0.25*ct5 + 0.2*ct6 +
m_coeff[7] * tt[4];
93 doublereal sdivR = -0.5*ct0 - ct1 + tt[6]*ct2 + ct3 + 0.5*ct4
94 + 1.0/3.0*ct5 + 0.25*ct6 +
m_coeff[8];
104 doublereal* cp_R, doublereal* h_RT,
105 doublereal* s_R)
const
113 doublereal& tlow, doublereal& thigh,
115 doublereal*
const coeffs)
const
125 for (
int i = 0; i < 9; i++) {
132 for (
int i = 0; i < 9; i++) {
Nasa9Poly1()
Empty constructor.
virtual void modifyParameters(doublereal *coeffs)
Modify parameters for the standard state.
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...
Pure Virtual Base class for the thermodynamic manager for an individual species' reference state...
Header for a single-species standard state object derived from SpeciesThermoInterpType based on the N...
size_t m_index
species index
virtual int reportType() const
Returns an integer representing the type of parameterization.
virtual void updatePropertiesTemp(const doublereal temp, doublereal *cp_R, doublereal *h_RT, doublereal *s_R) const
Compute the reference-state property of one species.
#define NASA9
9 coefficient NASA Polynomials This is implemented in the class Nasa9Poly1 in Nasa9Poly1.h
doublereal m_highT
Highest valid temperature.
virtual void updateTemperaturePoly(double T, double *T_poly) const
Given the temperature T, compute the terms of the temperature polynomial T_poly.
doublereal m_lowT
lowest valid temperature
Nasa9Poly1 & operator=(const Nasa9Poly1 &b)
assignment operator
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.
The NASA 9 polynomial parameterization for one temperature range.
doublereal m_Pref
Reference state pressure.
vector_fp m_coeff
array of polynomial coefficients