63 NasaPoly2(
double tlow,
double thigh,
double pref, span<const double> coeffs) :
66 mnp_low(tlow, coeffs[0], pref, coeffs.subspan(8, 7)),
67 mnp_high(coeffs[0], thigh, pref, coeffs.subspan(1, 7)) {
92 void setParameters(
double Tmid, span<const double> low, span<const double> high);
106 double& s_R)
const override {
115 double& s_R)
const override {
123 size_t nCoeffs()
const override {
return 15; }
126 double& pref, span<double> coeffs)
const override {
149 double delH = Hf298New - h298now;
151 double hnew = h + delH;
158 void validate(
const string& name)
override;
Header for a single-species standard state object derived from SpeciesThermoInterpType based on the N...
Pure Virtual Base class for individual species reference state thermodynamic managers and text for th...
A map of string keys to values whose type can vary at runtime.
The NASA polynomial parameterization for one temperature range.
void updatePropertiesTemp(const double temp, double &cp_R, double &h_RT, double &s_R) const override
Compute the reference-state property of one species.
void reportParameters(size_t &n, int &type, double &tlow, double &thigh, double &pref, span< double > coeffs) const override
This utility function returns the type of parameterization and all of the parameters for the species.
void updateTemperaturePoly(double T, span< double > T_poly) const override
Given the temperature T, compute the terms of the temperature polynomial T_poly.
double reportHf298() const override
Report the 298 K Heat of Formation of the standard state of one species (J kmol-1)
void resetHf298() override
Restore the original heat of formation for this species.
void modifyOneHf298(const size_t k, const double Hf298New) override
Modify the value of the 298 K Heat of Formation of one species in the phase (J kmol-1)
void updateProperties(span< const double > tt, double &cp_R, double &h_RT, double &s_R) const override
Update the properties for this species, given a temperature polynomial.
The NASA polynomial parameterization for two temperature ranges.
void setMinTemp(double Tmin) override
Set the minimum temperature at which the thermo parameterization is valid.
int reportType() const override
Returns an integer representing the type of parameterization.
void setParameters(double Tmid, span< const double > low, span< const double > high)
void updatePropertiesTemp(const double temp, double &cp_R, double &h_RT, double &s_R) const override
Compute the reference-state property of one species.
size_t temperaturePolySize() const override
Number of terms in the temperature polynomial for this parameterization.
void getParameters(AnyMap &thermo) const override
Store the parameters of the species thermo object such that an identical species thermo object could ...
size_t nCoeffs() const override
This utility function returns the number of coefficients for a given type of species parameterization...
void validate(const string &name) override
Check for problems with the parameterization, and generate warnings or throw and exception if any are...
void reportParameters(size_t &n, int &type, double &tlow, double &thigh, double &pref, span< double > coeffs) const override
This utility function returns the type of parameterization and all of the parameters for the species.
NasaPoly2(double tlow, double thigh, double pref, span< const double > coeffs)
Constructor with all input data.
void updateTemperaturePoly(double T, span< double > T_poly) const override
Given the temperature T, compute the terms of the temperature polynomial T_poly.
void setRefPressure(double Pref) override
Set the reference pressure [Pa].
double reportHf298() const override
Report the 298 K Heat of Formation of the standard state of one species (J kmol-1)
void resetHf298() override
Restore the original heat of formation for this species.
void setMaxTemp(double Tmax) override
Set the maximum temperature at which the thermo parameterization is valid.
double m_midT
Midrange temperature.
NasaPoly1 mnp_low
NasaPoly1 object for the low temperature region.
void modifyOneHf298(const size_t k, const double Hf298New) override
Modify the value of the 298 K Heat of Formation of one species in the phase (J kmol-1)
void updateProperties(span< const double > tt, double &cp_R, double &h_RT, double &s_R) const override
Update the properties for this species, given a temperature polynomial.
NasaPoly1 mnp_high
NasaPoly1 object for the high temperature region.
Abstract Base class for the thermodynamic manager for an individual species' reference state.
virtual void setRefPressure(double Pref)
Set the reference pressure [Pa].
virtual void setMinTemp(double Tmin)
Set the minimum temperature at which the thermo parameterization is valid.
virtual void setMaxTemp(double Tmax)
Set the maximum temperature at which the thermo parameterization is valid.
Namespace for the Cantera kernel.
#define NASA2
Two regions of 7 coefficient NASA Polynomials This is implemented in the class NasaPoly2 in NasaPoly2...