24 Nasa9PolyMultiTempRegion::Nasa9PolyMultiTempRegion() :
28 "Default constructor to be removed after Cantera 2.3.");
45 throw CanteraError(
"Nasa9PolyMultiTempRegion::Nasa9PolyMultiTempRegion",
46 "refPressure inconsistency");
50 throw CanteraError(
"Nasa9PolyMultiTempRegion::Nasa9PolyMultiTempRegion",
51 "minTemp bounds inconsistency");
54 throw CanteraError(
"Nasa9PolyMultiTempRegion::Nasa9PolyMultiTempRegion",
55 "Temp bounds inconsistency");
63 m_lowerTempBounds(b.m_lowerTempBounds),
64 m_currRegion(b.m_currRegion)
72 Nasa9PolyMultiTempRegion&
73 Nasa9PolyMultiTempRegion::operator=(
const Nasa9PolyMultiTempRegion& b)
81 m_regionPts[i].reset(
new Nasa9Poly1(*b.m_regionPts[i]));
87 Nasa9PolyMultiTempRegion::~Nasa9PolyMultiTempRegion()
91 SpeciesThermoInterpType*
106 T_poly[2] = T_poly[1] * T;
107 T_poly[3] = T_poly[2] * T;
109 T_poly[5] = T_poly[4] / T;
110 T_poly[6] = std::log(T);
116 doublereal* s_R)
const 130 doublereal* cp_R, doublereal* h_RT,
131 doublereal* s_R)
const 146 doublereal& tlow, doublereal& thigh,
148 doublereal*
const coeffs)
const 160 double pref_tmp = 0.0;
161 for (
size_t iReg = 0; iReg <
m_regionPts.size(); iReg++) {
162 m_regionPts[iReg]->reportParameters(n_tmp, type_tmp,
163 coeffs[index], coeffs[index+1],
165 for (
int i = 0; i < 9; i++) {
166 coeffs[index+2+i] = ctmp[3+i];
175 "removed after Cantera 2.3. Use MultiSpeciesThermo::modifySpecies instead.");
177 for (
size_t iReg = 0; iReg <
m_regionPts.size(); iReg++) {
178 m_regionPts[iReg]->modifyParameters(coeffs + index);
virtual void updatePropertiesTemp(const doublereal temp, doublereal *cp_R, doublereal *h_RT, doublereal *s_R) const
Compute the reference-state property of one species.
Abstract Base class for the thermodynamic manager for an individual species' reference state...
virtual int reportType() const
Returns an integer representing the type of parameterization.
Nasa9PolyMultiTempRegion()
Empty constructor.
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.
void warn_deprecated(const std::string &method, const std::string &extra)
Print a warning indicating that method is deprecated.
virtual SpeciesThermoInterpType * duplMyselfAsSpeciesThermoInterpType() const
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.
The NASA 9 polynomial parameterization for a single species encompassing multiple temperature regions...
virtual void modifyParameters(doublereal *coeffs)
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.
SpeciesThermoInterpType & operator=(const SpeciesThermoInterpType &b)