diff --git a/Cantera/src/thermo/Nasa9Poly1.cpp b/Cantera/src/thermo/Nasa9Poly1.cpp index 8016ea1f6..ef2eb75b6 100644 --- a/Cantera/src/thermo/Nasa9Poly1.cpp +++ b/Cantera/src/thermo/Nasa9Poly1.cpp @@ -276,8 +276,11 @@ namespace Cantera { tlow = m_lowT; thigh = m_highT; pref = m_Pref; + coeffs[0] = 1; + coeffs[1] = m_lowT; + coeffs[2] = m_highT; for (int i = 0; i < 9; i++) { - coeffs[i] = m_coeff[i]; + coeffs[i+3] = m_coeff[i]; } } diff --git a/Cantera/src/thermo/Nasa9Poly1.h b/Cantera/src/thermo/Nasa9Poly1.h index 89dfdf514..a64b7a3fa 100644 --- a/Cantera/src/thermo/Nasa9Poly1.h +++ b/Cantera/src/thermo/Nasa9Poly1.h @@ -196,7 +196,13 @@ namespace Cantera { * @param thigh output - Maximum temperature * @param pref output - reference pressure (Pa). * @param coeffs Vector of coefficients used to set the - * parameters for the standard state. + * parameters for the standard state. There are + * 12 of them, designed to be compatible + * with the multiple temperature formulation. + * coeffs[0] is equal to one. + * coeffs[1] is min temperature + * coeffs[2] is max temperature + * coeffs[3+i] from i =0,9 are the coefficients themselves */ virtual void reportParameters(int &n, int &type, doublereal &tlow, doublereal &thigh, diff --git a/Cantera/src/thermo/Nasa9PolyMultiTempRegion.cpp b/Cantera/src/thermo/Nasa9PolyMultiTempRegion.cpp index 58ab7caeb..08d05d32a 100644 --- a/Cantera/src/thermo/Nasa9PolyMultiTempRegion.cpp +++ b/Cantera/src/thermo/Nasa9PolyMultiTempRegion.cpp @@ -343,7 +343,7 @@ namespace Cantera { doublereal &pref, doublereal* const coeffs) const { n = m_index; - type = NASA9; + type = NASA9MULTITEMP; tlow = m_lowT; thigh = m_highT; pref = m_Pref; diff --git a/Cantera/src/thermo/Nasa9PolyMultiTempRegion.h b/Cantera/src/thermo/Nasa9PolyMultiTempRegion.h index 239ca94c7..6e1cb5f96 100644 --- a/Cantera/src/thermo/Nasa9PolyMultiTempRegion.h +++ b/Cantera/src/thermo/Nasa9PolyMultiTempRegion.h @@ -160,6 +160,13 @@ namespace Cantera { * @param pref output - reference pressure (Pa). * @param coeffs Vector of coefficients used to set the * parameters for the standard state. + * There are 1 + 11*nzones coefficients + * coeffs[0] is equal to nTempZones. + * index = 1 + * for each zone: + * coeffs[index] = minTempZone + * coeffs[index+1] = maxTempZone + * coeffs[index+2+i] from i =0,9 are the coefficients themselves */ virtual void reportParameters(int &n, int &type, doublereal &tlow, doublereal &thigh,