25 Nasa9PolyMultiTempRegion::Nasa9PolyMultiTempRegion(vector<Nasa9Poly1*>& regionPts) :
39 throw CanteraError(
"Nasa9PolyMultiTempRegion::Nasa9PolyMultiTempRegion",
40 "refPressure inconsistency");
44 throw CanteraError(
"Nasa9PolyMultiTempRegion::Nasa9PolyMultiTempRegion",
45 "minTemp bounds inconsistency");
48 throw CanteraError(
"Nasa9PolyMultiTempRegion::Nasa9PolyMultiTempRegion",
49 "Temp bounds inconsistency");
55 Nasa9PolyMultiTempRegion::~Nasa9PolyMultiTempRegion()
68 T_poly[2] = T_poly[1] * T;
69 T_poly[3] = T_poly[2] * T;
71 T_poly[5] = T_poly[4] / T;
72 T_poly[6] = std::log(T);
78 doublereal* s_R)
const 92 doublereal* cp_R, doublereal* h_RT,
93 doublereal* s_R)
const 108 doublereal& tlow, doublereal& thigh,
110 doublereal*
const coeffs)
const 122 double pref_tmp = 0.0;
123 for (
size_t iReg = 0; iReg <
m_regionPts.size(); iReg++) {
124 m_regionPts[iReg]->reportParameters(n_tmp, type_tmp,
125 coeffs[index], coeffs[index+1],
127 for (
int i = 0; i < 9; i++) {
128 coeffs[index+2+i] = ctmp[3+i];
virtual void updatePropertiesTemp(const doublereal temp, doublereal *cp_R, doublereal *h_RT, doublereal *s_R) const
Compute the reference-state property of one species.
virtual int reportType() const
Returns an integer representing the type of parameterization.
Header for a single-species standard state object derived from SpeciesThermoInterpType based on the N...
vector_fp m_lowerTempBounds
Lower boundaries of each temperature regions.
int m_currRegion
current region
#define NASA9MULTITEMP
9 coefficient NASA Polynomials in multiple temperature regions This is implemented in the class Nasa9...
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.
doublereal m_highT
Highest valid temperature.
Base class for exceptions thrown by Cantera classes.
doublereal m_lowT
lowest valid temperature
virtual doublereal refPressure() const
Returns the reference pressure (Pa)
virtual void updateTemperaturePoly(double T, double *T_poly) const
Given the temperature T, compute the terms of the temperature polynomial T_poly.
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...
The NASA 9 polynomial parameterization for one temperature range.
virtual doublereal maxTemp() const
Returns the maximum temperature that the thermo parameterization is valid.
doublereal m_Pref
Reference state pressure.
Namespace for the Cantera kernel.
Definitions for the classes that are thrown when Cantera experiences an error condition (also contain...
std::vector< std::unique_ptr< Nasa9Poly1 > > m_regionPts
Individual temperature region objects.