9 #ifndef CT_GENERALSPECIESTHERMO_H
10 #define CT_GENERALSPECIESTHERMO_H
76 virtual void install(
const std::string& name,
size_t index,
int type,
82 shared_ptr<SpeciesThermoInterpType> stit_ptr);
103 virtual void update_one(
size_t k, doublereal T, doublereal* cp_R,
105 doublereal* s_R)
const;
107 virtual void update(doublereal T, doublereal* cp_R,
108 doublereal* h_RT, doublereal* s_R)
const;
119 doublereal& refPressure)
const;
123 virtual void modifyOneHf298(
const size_t k,
const doublereal Hf298New);
136 typedef std::pair<size_t, shared_ptr<SpeciesThermoInterpType> > index_STIT;
137 typedef std::map<int, std::vector<index_STIT> > STIT_map;
138 typedef std::map<int, std::vector<double> > tpoly_map;
150 std::map<size_t, std::pair<int, size_t> > m_speciesLoc;
SpeciesThermoInterpType * provideSTIT(size_t k)
Provide the SpeciesthermoInterpType object.
Pure Virtual Base class for the thermodynamic manager for an individual species' reference state...
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) ...
STIT_map m_sp
This is the main data structure, which contains the SpeciesThermoInterpType objects, sorted by the parameterization type.
Virtual base class for the classes that manage the calculation of standard state properties for all t...
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.
const size_t npos
index returned by functions to indicate "no position"
virtual SpeciesThermo * duplMyselfAsSpeciesThermo() const
Duplication routine for objects derived from SpeciesThermo.
doublereal m_tlow_max
Maximum value of the lowest temperature.
Pure Virtual base class for the species thermo manager classes.
Pure Virtual Base class for individual species reference state thermodynamic managers and text for th...
A species thermodynamic property manager for a phase.
GeneralSpeciesThermo & operator=(const GeneralSpeciesThermo &b)
Assignment operator.
virtual doublereal maxTemp(size_t k=npos) const
Maximum temperature.
virtual doublereal minTemp(size_t k=npos) const
Minimum temperature.
virtual void install_STIT(size_t index, shared_ptr< SpeciesThermoInterpType > stit_ptr)
Install a new species thermodynamic property parameterization for one species.
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 m_p0
reference pressure (Pa)
Virtual base class for a species with a pressure dependent standard state.
virtual doublereal refPressure(size_t k=npos) const
The reference-state pressure for species k.
tpoly_map m_tpoly
Temperature polynomials for each thermo parameterization.
doublereal m_thigh_min
Minimum value of the highest temperature.
virtual int reportType(size_t index) const
This utility function reports the type of parameterization used for the species with index number ind...
GeneralSpeciesThermo()
Constructor.
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 install(const std::string &name, size_t index, int type, const doublereal *c, doublereal minTemp, doublereal maxTemp, doublereal refPressure)
Install a new species thermodynamic property parameterization for one species.
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...
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 ...
void installPDSShandler(size_t k, PDSS *PDSS_ptr, VPSSMgr *vpssmgr_ptr)
Install a PDSS object to handle the reference state thermodynamics calculation.