This species thermo manager requires that all species have the same parameterization. More...
#include <SpeciesThermoMgr.h>
Public Member Functions | |
SpeciesThermo1 () | |
base constructor | |
virtual | ~SpeciesThermo1 () |
destructor | |
SpeciesThermo1 (const SpeciesThermo1 &right) | |
Copy Constructor. | |
SpeciesThermo1 & | operator= (const SpeciesThermo1 &right) |
Asignment Operator. | |
virtual SpeciesThermo * | duplMyselfAsSpeciesThermo () const |
Duplication routine for objects which inherit from SpeciesThermo. | |
virtual void | install (std::string name, int sp, int type, const vector_fp &c) |
Install one species into this Species Thermo Manager. | |
virtual void | update (doublereal t, vector_fp &cp_R, vector_fp &h_RT, vector_fp &s_R) const |
update the object, because the temperature changed | |
virtual void | update_one (int k, doublereal t, vector_fp &cp_R, vector_fp &h_RT, vector_fp &s_R) const |
update the object for one species, because the temperature changed | |
virtual doublereal | minTemp (int k=-1) const |
Returns the minimum temperature. | |
virtual doublereal | maxTemp (int k=-1) const |
Returns the maximum temperature. | |
virtual doublereal | refPressure (int k=-1) const |
returns the reference pressure | |
virtual int | reportType (int k) const |
This utility function reports the type of parameterization used for the species with index number index. | |
virtual void | reportParams (int index, int &type, doublereal *const c, doublereal &minTemp, doublereal &maxTemp, doublereal &refPressure) const |
virtual void | modifyParams (int index, doublereal *c) |
Modify parameters for the standard state. | |
virtual void | install (std::string name, int index, int type, const doublereal *c, doublereal minTemp, doublereal maxTemp, doublereal refPressure)=0 |
Install a new species thermodynamic property parameterization for one species. | |
virtual void | install_STIT (SpeciesThermoInterpType *stit_ptr)=0 |
Install a new species thermodynamic property parameterization for one species. | |
virtual void | update (doublereal T, doublereal *cp_R, doublereal *h_RT, doublereal *s_R) const =0 |
Compute the reference-state properties for all species. | |
virtual void | update_one (int k, doublereal T, doublereal *cp_R, doublereal *h_RT, doublereal *s_R) const |
Like update(), but only updates the single species k. | |
Private Attributes | |
std::vector< SPM > | m_thermo |
Vector of SPM objects. There are m_kk of them. | |
doublereal | m_pref |
Reference pressure (Pa). |
This species thermo manager requires that all species have the same parameterization.
This is a templated class. The first template is called SPM. SPM is an object that calculates the thermo for one species. This class contains a vector of SPM's, one for each species. Together, the vector of SPM's is itself a SpeciesThermo class.
Definition at line 364 of file SpeciesThermoMgr.h.
SpeciesThermo1 | ( | ) | [inline] |
base constructor
Definition at line 656 of file SpeciesThermoMgr.h.
~SpeciesThermo1 | ( | ) | [inline, virtual] |
destructor
Definition at line 662 of file SpeciesThermoMgr.h.
SpeciesThermo1 | ( | const SpeciesThermo1< SPM > & | right | ) | [inline] |
Copy Constructor.
right | Object to be copied |
Definition at line 667 of file SpeciesThermoMgr.h.
References SpeciesThermo1< SPM >::operator=().
SpeciesThermo * duplMyselfAsSpeciesThermo | ( | ) | const [inline, virtual] |
Duplication routine for objects which inherit from SpeciesThermo.
This virtual routine can be used to duplicate SpeciesThermo objects inherited from SpeciesThermo even if the application only has a pointer to SpeciesThermo to work with. ->commented out because we first need to add copy constructors and assignment operators to all of the derived classes.
Implements SpeciesThermo.
Definition at line 685 of file SpeciesThermoMgr.h.
virtual void install | ( | std::string | name, | |
int | index, | |||
int | type, | |||
const doublereal * | c, | |||
doublereal | minTemp, | |||
doublereal | maxTemp, | |||
doublereal | refPressure | |||
) | [pure virtual, inherited] |
Install a new species thermodynamic property parameterization for one species.
name | Name of the species | |
index | The 'update' method will update the property values for this species at position i index in the property arrays. | |
type | int flag specifying the type of parameterization to be installed. | |
c | vector of coefficients for the parameterization. This vector is simply passed through to the parameterization constructor. | |
minTemp | minimum temperature for which this parameterization is valid. | |
maxTemp | maximum temperature for which this parameterization is valid. | |
refPressure | standard-state pressure for this parameterization. |
Implemented in GeneralSpeciesThermo, and SpeciesThermoDuo< T1, T2 >.
void install | ( | std::string | name, | |
int | sp, | |||
int | type, | |||
const vector_fp & | c | |||
) | [inline, virtual] |
Install one species into this Species Thermo Manager.
name | Name of the species | |
sp | Species index | |
type | species type in terms of an int | |
c | Parameters for the species thermo |
Definition at line 692 of file SpeciesThermoMgr.h.
References SpeciesThermo1< SPM >::m_pref, SpeciesThermo1< SPM >::m_thermo, and SpeciesThermo1< SPM >::refPressure().
virtual void install_STIT | ( | SpeciesThermoInterpType * | stit_ptr | ) | [pure virtual, inherited] |
Install a new species thermodynamic property parameterization for one species.
stit_ptr | Pointer to the SpeciesThermoInterpType object This will set up the thermo for one species |
Implemented in GeneralSpeciesThermo, NasaThermo, ShomateThermo, SimpleThermo, and SpeciesThermoDuo< T1, T2 >.
doublereal maxTemp | ( | int | k = -1 |
) | const [inline, virtual] |
Returns the maximum temperature.
k | species index. Defaults to -1. |
Implements SpeciesThermo.
Definition at line 729 of file SpeciesThermoMgr.h.
References Cantera::_maxTemp(), and SpeciesThermo1< SPM >::m_thermo.
doublereal minTemp | ( | int | k = -1 |
) | const [inline, virtual] |
Returns the minimum temperature.
k | species index. Defaults to -1. |
Implements SpeciesThermo.
Definition at line 720 of file SpeciesThermoMgr.h.
References Cantera::_minTemp(), and SpeciesThermo1< SPM >::m_thermo.
void modifyParams | ( | int | index, | |
doublereal * | c | |||
) | [inline, virtual] |
Modify parameters for the standard state.
index | Species index | |
c | Vector of coefficients used to set the parameters for the standard state. |
Implements SpeciesThermo.
Definition at line 760 of file SpeciesThermoMgr.h.
References SpeciesThermo1< SPM >::m_thermo.
SpeciesThermo1< SPM > & operator= | ( | const SpeciesThermo1< SPM > & | right | ) | [inline] |
Asignment Operator.
right | Object to be copied |
Definition at line 675 of file SpeciesThermoMgr.h.
References SpeciesThermo1< SPM >::m_pref, and SpeciesThermo1< SPM >::m_thermo.
Referenced by SpeciesThermo1< SPM >::SpeciesThermo1().
doublereal refPressure | ( | int | k = -1 |
) | const [inline, virtual] |
returns the reference pressure
k | species index. Defaults to -1. |
Implements SpeciesThermo.
Definition at line 738 of file SpeciesThermoMgr.h.
References SpeciesThermo1< SPM >::m_pref.
Referenced by SpeciesThermo1< SPM >::install().
void reportParams | ( | int | index, | |
int & | type, | |||
doublereal *const | c, | |||
doublereal & | minTemp, | |||
doublereal & | maxTemp, | |||
doublereal & | refPressure | |||
) | const [inline, virtual] |
This utility function reports back the type of parameterization and all of the parameters for the species, index.
index | Species index | |
type | Integer type of the standard type | |
c | Vector of coefficients used to set the parameters for the standard state. | |
minTemp | output - Minimum temperature | |
maxTemp | output - Maximum temperature | |
refPressure | output - reference pressure (Pa). |
Implements SpeciesThermo.
Definition at line 750 of file SpeciesThermoMgr.h.
References SpeciesThermo1< SPM >::m_thermo.
int reportType | ( | int | k | ) | const [inline, virtual] |
This utility function reports the type of parameterization used for the species with index number index.
Note, all parameterizations are the same, by definition, here
k | Species index |
Implements SpeciesThermo.
Definition at line 744 of file SpeciesThermoMgr.h.
References SpeciesThermo1< SPM >::m_thermo.
virtual void update | ( | doublereal | T, | |
doublereal * | cp_R, | |||
doublereal * | h_RT, | |||
doublereal * | s_R | |||
) | const [pure virtual, inherited] |
Compute the reference-state properties for all species.
Given temperature T in K, this method updates the values of the non-dimensional heat capacity at constant pressure, enthalpy, and entropy, at the reference pressure, Pref of each of the standard states.
T | Temperature (Kelvin) | |
cp_R | Vector of Dimensionless heat capacities. (length m_kk). | |
h_RT | Vector of Dimensionless enthalpies. (length m_kk). | |
s_R | Vector of Dimensionless entropies. (length m_kk). |
Implemented in GeneralSpeciesThermo, NasaThermo, ShomateThermo, SimpleThermo, and SpeciesThermoDuo< T1, T2 >.
Referenced by VPSSMgr_Water_ConstVol::_updateRefStateThermo(), VPSSMgr::_updateRefStateThermo(), SurfPhase::_updateThermo(), SingleSpeciesTP::_updateThermo(), IdealSolidSolnPhase::_updateThermo(), IdealGasPhase::_updateThermo(), and SpeciesThermo::update_one().
void update | ( | doublereal | t, | |
vector_fp & | cp_R, | |||
vector_fp & | h_RT, | |||
vector_fp & | s_R | |||
) | const [inline, virtual] |
update the object, because the temperature changed
t | temperature(Kelvin) | |
cp_R | vector of dimensionless heat capacity | |
h_RT | vector of dimensionless enthalpy | |
s_R | vector of dimensionless entropy |
Definition at line 706 of file SpeciesThermoMgr.h.
References Cantera::_updateAll(), and SpeciesThermo1< SPM >::m_thermo.
virtual void update_one | ( | int | k, | |
doublereal | T, | |||
doublereal * | cp_R, | |||
doublereal * | h_RT, | |||
doublereal * | s_R | |||
) | const [inline, virtual, inherited] |
Like update(), but only updates the single species k.
The default treatment is to just call update() which means that potentially the operation takes a m_kk*m_kk hit.
k | species index | |
T | Temperature (Kelvin) | |
cp_R | Vector of Dimensionless heat capacities. (length m_kk). | |
h_RT | Vector of Dimensionless enthalpies. (length m_kk). | |
s_R | Vector of Dimensionless entropies. (length m_kk). |
Reimplemented in GeneralSpeciesThermo, NasaThermo, ShomateThermo, and SimpleThermo.
Definition at line 291 of file SpeciesThermo.h.
References SpeciesThermo::update().
Referenced by PDSS_SSVol::setTemperature(), PDSS_IdealGas::setTemperature(), and PDSS_ConstVol::setTemperature().
void update_one | ( | int | k, | |
doublereal | t, | |||
vector_fp & | cp_R, | |||
vector_fp & | h_RT, | |||
vector_fp & | s_R | |||
) | const [inline, virtual] |
update the object for one species, because the temperature changed
k | species index | |
t | temperature(Kelvin) | |
cp_R | vector of dimensionless heat capacity | |
h_RT | vector of dimensionless enthalpy | |
s_R | vector of dimensionless entropy |
Definition at line 713 of file SpeciesThermoMgr.h.
References SpeciesThermo1< SPM >::m_thermo.
doublereal m_pref [private] |
Reference pressure (Pa).
Definition at line 511 of file SpeciesThermoMgr.h.
Referenced by SpeciesThermo1< SPM >::install(), SpeciesThermo1< SPM >::operator=(), and SpeciesThermo1< SPM >::refPressure().
std::vector<SPM> m_thermo [private] |
Vector of SPM objects. There are m_kk of them.
Definition at line 508 of file SpeciesThermoMgr.h.
Referenced by SpeciesThermo1< SPM >::install(), SpeciesThermo1< SPM >::maxTemp(), SpeciesThermo1< SPM >::minTemp(), SpeciesThermo1< SPM >::modifyParams(), SpeciesThermo1< SPM >::operator=(), SpeciesThermo1< SPM >::reportParams(), SpeciesThermo1< SPM >::reportType(), SpeciesThermo1< SPM >::update(), and SpeciesThermo1< SPM >::update_one().