10 #ifndef CT_NASATHERMO_H
11 #define CT_NASATHERMO_H
81 virtual void install(
const std::string& name,
size_t index,
int type,
83 doublereal min_temp, doublereal max_temp,
84 doublereal ref_pressure);
99 doublereal* h_RT, doublereal* s_R)
const;
101 virtual void update(doublereal t, doublereal*
cp_R,
102 doublereal* h_RT, doublereal* s_R)
const;
149 #ifdef H298MODIFY_CAPABILITY
150 virtual doublereal reportOneHf298(
const int k)
const;
151 virtual void modifyOneHf298(
const int k,
const doublereal Hf298New);
168 std::vector<std::vector<NasaPoly1> >
m_high;
177 std::vector<std::vector<NasaPoly1> >
m_low;
237 mutable std::map<size_t, std::string>
m_name;
245 doublereal
cp_R(
double t,
const doublereal* c);
252 doublereal
enthalpy_RT(
double t,
const doublereal* c);
259 doublereal
entropy_R(
double t,
const doublereal* c);
273 doublereal* clow, doublereal* chigh);
292 doublereal* clow, doublereal* chigh);
Pure Virtual Base class for the thermodynamic manager for an individual species' reference state...
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...
This file contains definitions for utility functions and text for modules, inputfiles, logs, textlogs, HTML_logs (see Input File Handling, Diagnostic Output, Writing messages to the screen and Writing HTML Logfiles).
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.
Contains const definitions for types of species reference-state thermodynamics managers (see 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...
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.
virtual void install_STIT(SpeciesThermoInterpType *stit_ptr)
Install a new species thermodynamic property parameterization for one species.