SpeciesThermo1< SPM > Class Template Reference
[Managers for Calculating Reference-State Thermodynamics]

This species thermo manager requires that all species have the same parameterization. More...

#include <SpeciesThermoMgr.h>

Inheritance diagram for SpeciesThermo1< SPM >:
Inheritance graph
[legend]
Collaboration diagram for SpeciesThermo1< SPM >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 SpeciesThermo1 ()
 base constructor
virtual ~SpeciesThermo1 ()
 destructor
 SpeciesThermo1 (const SpeciesThermo1 &right)
 Copy Constructor.
SpeciesThermo1operator= (const SpeciesThermo1 &right)
 Asignment Operator.
virtual SpeciesThermoduplMyselfAsSpeciesThermo () 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).

Detailed Description

template<class SPM>
class Cantera::SpeciesThermo1< SPM >

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.

Todo:
The form of the template class, SPM, is basically unspecified. it needs to be nailed down to a specific form. One way to do this is with a virtual base class formulation. Note, that the specification could be that it inherits from the class SpeciesThermo, itself.
Deprecated:
Note this is currently unused and it may be on its way out.

Definition at line 364 of file SpeciesThermoMgr.h.


Constructor & Destructor Documentation

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.

Parameters:
right Object to be copied

Definition at line 667 of file SpeciesThermoMgr.h.

References SpeciesThermo1< SPM >::operator=().


Member Function Documentation

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.

Parameters:
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.
See also:
speciesThermoTypes.h

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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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

Parameters:
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.

Parameters:
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

Parameters:
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.

Parameters:
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

Parameters:
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.

Parameters:
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

Parameters:
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.


Member Data Documentation

doublereal m_pref [private]
std::vector<SPM> m_thermo [private]

The documentation for this class was generated from the following file:
Generated by  doxygen 1.6.3