10 #ifndef CT_NASATHERMO_H
11 #define CT_NASATHERMO_H
80 virtual void install(
const std::string& name,
size_t index,
int type,
82 doublereal min_temp, doublereal max_temp,
83 doublereal ref_pressure);
85 virtual void install_STIT(
size_t index, shared_ptr<SpeciesThermoInterpType> stit_ptr) {
98 doublereal* h_RT, doublereal* s_R)
const;
100 virtual void update(doublereal t, doublereal*
cp_R,
101 doublereal* h_RT, doublereal* s_R)
const;
148 virtual void modifyOneHf298(
const size_t k,
const doublereal Hf298New);
164 std::vector<std::vector<NasaPoly1> >
m_high;
173 std::vector<std::vector<NasaPoly1> >
m_low;
241 doublereal
cp_R(
double t,
const doublereal* c);
248 doublereal
enthalpy_RT(
double t,
const doublereal* c);
255 doublereal
entropy_R(
double t,
const doublereal* c);
269 doublereal* clow, doublereal* chigh);
288 doublereal* clow, doublereal* chigh);
virtual doublereal reportOneHf298(const size_t k) const
Report the 298 K Heat of Formation of the standard state of one species (J kmol-1) ...
doublereal m_thigh_min
Minimum value of the high temperature limit.
#define NASA
Two regions of 7 coefficient NASA Polynomials This is implemented in the class NasaPoly2 in NasaPoly2...
virtual doublereal minTemp(size_t k=npos) const
Minimum temperature.
std::vector< std::vector< NasaPoly1 > > m_high
Vector of vector of NasaPoly1's for the high temp region.
const size_t npos
index returned by functions to indicate "no position"
virtual void update(doublereal t, doublereal *cp_R, doublereal *h_RT, doublereal *s_R) const
Compute the reference-state properties for all species.
virtual int reportType(size_t index) const
This utility function reports the type of parameterization used for the species with index number ind...
virtual doublereal refPressure(size_t k=npos) const
The reference-state pressure for species k.
virtual void reportParams(size_t index, int &type, doublereal *const c, doublereal &minTemp, doublereal &maxTemp, doublereal &refPressure) const
A species thermodynamic property manager for the NASA polynomial parameterization with two temperatur...
doublereal m_tlow_max
Maximum value of the low temperature limit.
const int ID
Initialized to the type of parameterization.
Pure Virtual base class for the species thermo manager classes.
doublereal entropy_R(double t, const doublereal *c)
Compute the nondimensional entropy using the given NASA polynomial.
virtual void install_STIT(size_t index, shared_ptr< SpeciesThermoInterpType > stit_ptr)
Install a new species thermodynamic property parameterization for one species.
double checkContinuity(const std::string &name, double tmid, doublereal *clow, doublereal *chigh)
Adjust polynomials to be continuous at the midpoint temperature.
doublereal m_p0
Reference pressure (Pa)
virtual SpeciesThermo * duplMyselfAsSpeciesThermo() const
Duplication routine for objects derived from SpeciesThermo.
doublereal cp_R(double t, const doublereal *c)
Compute the nondimensional heat capacity using the given NASA polynomial.
std::map< int, int > m_index
Map between the midpoint temperature, as an int, to the group number.
virtual void install(const std::string &name, size_t index, int type, const doublereal *c, doublereal min_temp, doublereal max_temp, doublereal ref_pressure)
install a new species thermodynamic property parameterization for one species.
vector_fp m_tmid
Vector of log temperature limits.
Base class for exceptions thrown by Cantera classes.
int m_ngroups
number of groups
vector_fp m_t
Vector of temperature polynomials.
Header for a single-species standard state object derived from SpeciesThermoInterpType based on the N...
virtual void modifyOneHf298(const size_t k, const doublereal Hf298New)
Modify the value of the 298 K Heat of Formation of the standard state of one species in the phase (J ...
This file contains descriptions of templated subclasses of the virtual base class, SpeciesThermo, which includes SpeciesThermoDuo (see Managers for Calculating Reference-State Thermodynamics and class SpeciesThermoDuo)
doublereal enthalpy_RT(double t, const doublereal *c)
Compute the nondimensional enthalpy using the given NASA polynomial.
std::map< size_t, size_t > m_posInGroup_map
std::map< size_t, std::string > m_name
Species name as a function of the species index.
std::vector< double > vector_fp
Turn on the use of stl vectors for the basic array type within cantera Vector of doubles.
std::map< size_t, size_t > m_group_map
void fixDiscontinuities(doublereal Tlow, doublereal Tmid, doublereal Thigh, doublereal *clow, doublereal *chigh)
Adjust polynomials to be continuous at the midpoint temperature.
vector_fp m_thigh
Vector of low temperature limits (species index)
vector_fp m_tlow
Vector of low temperature limits (species index)
virtual doublereal maxTemp(size_t k=npos) const
Maximum temperature.
virtual void update_one(size_t k, doublereal t, doublereal *cp_R, doublereal *h_RT, doublereal *s_R) const
Like update(), but only updates the single species k.
std::vector< std::vector< NasaPoly1 > > m_low
Vector of vector of NasaPoly1's for the low temp region.