10 #ifndef CT_MULTISPECIESTHERMO_H 11 #define CT_MULTISPECIESTHERMO_H 65 shared_ptr<SpeciesThermoInterpType> stit);
73 shared_ptr<SpeciesThermoInterpType> spec);
85 virtual void update_one(
size_t k, doublereal T, doublereal* cp_R,
87 doublereal* s_R)
const;
98 double* h_RT,
double* s_R)
const;
111 virtual void update(doublereal T, doublereal* cp_R,
112 doublereal* h_RT, doublereal* s_R)
const;
193 virtual void modifyOneHf298(
const size_t k,
const doublereal Hf298New);
203 bool ready(
size_t nSpecies);
218 typedef std::pair<size_t, shared_ptr<SpeciesThermoInterpType> > index_STIT;
219 typedef std::map<int, std::vector<index_STIT> > STIT_map;
220 typedef std::map<int, vector_fp> tpoly_map;
virtual doublereal maxTemp(size_t k=npos) const
Maximum temperature.
Abstract Base class for the thermodynamic manager for an individual species' reference state...
virtual void reportParams(size_t index, int &type, doublereal *const c, doublereal &minTemp, doublereal &maxTemp, doublereal &refPressure) const
This utility function reports back the type of parameterization and all of the parameters for the spe...
bool ready(size_t nSpecies)
Check if data for all species (0 through nSpecies-1) has been installed.
virtual void resetHf298(const size_t k)
Restore the original heat of formation of one or more species.
virtual void modifySpecies(size_t index, shared_ptr< SpeciesThermoInterpType > spec)
Modify the species thermodynamic property parameterization for a species.
virtual void update(doublereal T, doublereal *cp_R, doublereal *h_RT, doublereal *s_R) const
Compute the reference-state properties for all species.
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 ...
const size_t npos
index returned by functions to indicate "no position"
virtual doublereal refPressure(size_t k=npos) const
The reference-state pressure for species k.
doublereal m_p0
reference pressure (Pa)
Pure Virtual Base class for individual species reference state thermodynamic managers and text for th...
std::map< size_t, std::pair< int, size_t > > m_speciesLoc
Map from species index to location within m_sp, such that m_sp[m_speciesLoc[k].first][m_speciesLoc[k]...
virtual int reportType(size_t index) const
This utility function reports the type of parameterization used for the species with index number ind...
doublereal m_tlow_max
Maximum value of the lowest temperature.
void markInstalled(size_t k)
Mark species k as having its thermodynamic data installed.
SpeciesThermoInterpType * provideSTIT(size_t k)
Provide the SpeciesthermoInterpType object.
STIT_map m_sp
This is the main data structure, which contains the SpeciesThermoInterpType objects, sorted by the parameterization type.
doublereal m_thigh_min
Minimum value of the highest temperature.
virtual doublereal minTemp(size_t k=npos) const
Minimum 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.
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) ...
A species thermodynamic property manager for a phase.
virtual void install_STIT(size_t index, shared_ptr< SpeciesThermoInterpType > stit)
Install a new species thermodynamic property parameterization for one species.
Namespace for the Cantera kernel.
virtual void update_single(size_t k, double T, double *cp_R, double *h_RT, double *s_R) const
Like update_one, but without applying offsets to the output pointers.
tpoly_map m_tpoly
Temperature polynomials for each thermo parameterization.
MultiSpeciesThermo()
Constructor.
std::vector< bool > m_installed
indicates if data for species has been installed