Cantera  2.1.2
Go to the documentation of this file.
1 /**
2  * @file VPSSMgr_IdealGas.h
3  * Declaration file for a derived class that handles the calculation
4  * of standard state thermo properties for
5  * a set of species which have an Ideal Gas dependence
6  * (see \ref mgrpdssthermocalc and
7  * class \link Cantera::VPSSMgr_IdealGas VPSSMgr_IdealGas\endlink).
8  */
9 /*
10  * Copyright (2005) Sandia Corporation. Under the terms of
11  * Contract DE-AC04-94AL85000 with Sandia Corporation, the
12  * U.S. Government retains certain rights in this software.
13  */
18 #include "cantera/base/ct_defs.h"
19 #include "PDSS.h"
20 #include "VPSSMgr.h"
22 namespace Cantera
23 {
25 class SpeciesThermoInterpType;
26 class VPStandardStateTP;
27 class SpeciesThermo;
30 //! A VPSSMgr where all species in the phase obey an ideal gas equation of state
31 class VPSSMgr_IdealGas : public VPSSMgr
32 {
33 public:
34  //! Basic constructor that initializes the object
35  /*!
36  * @param vp_ptr Pointer to the owning ThermoPhase
37  * @param spth Species thermo pointer.
38  */
41  //! Copy Constructor
42  VPSSMgr_IdealGas(const VPSSMgr_IdealGas& right);
44  //! Assignment operator
47  virtual VPSSMgr* duplMyselfAsVPSSMgr() const;
49  /*! @name Properties of the Standard State of the Species in the Solution
50  * Within VPStandardStateTP, these properties are calculated via a common
51  * routine, _updateStandardStateThermo(), which must be overloaded in
52  * inherited objects. The values are cached within this object, and are
53  * not recalculated unless the temperature or pressure changes.
54  */
55  //@{
56  virtual void getIntEnergy_RT(doublereal* urt) const;
57  virtual void getStandardVolumes(doublereal* vol) const;
58  //@}
60 protected:
62  virtual void _updateStandardStateThermo();
64 public:
66  /*! @name Initialization Methods - For Internal use
67  * The following methods are used in the process of constructing the phase
68  * and setting its parameters from a specification in an input file. They
69  * are not normally used in application programs. To see how they are
70  * used, see files importCTML.cpp and ThermoFactory.cpp.
71  */
72  //@{
73  virtual void initThermoXML(XML_Node& phaseNode, const std::string& id);
74  //@}
76  //! Create and install an ideal gas standard state manager for one species
77  //! within this object
78  /*!
79  * This function sets up the internal data within this object for
80  * handling the calculation of the standard state for the species.
81  *
82  * - It registers the species with the SpeciesThermo object for the
83  * containing VPStandardStateTP phase.
84  * - It also creates a PDSS object, which basically contains a
85  * duplication of some of this information and returns a pointer to
86  * the new object.
87  * .
88  * @param k Species index within the phase
89  * @param speciesNode Reference to the species node in the XML tree
90  * @param phaseNode_ptr Pointer to the phase node in the XML tree
91  * @return Returns a pointer to the a newly malloced PDSS object
92  * containing the parameterization
93  */
94  virtual PDSS* createInstallPDSS(size_t k, const XML_Node& speciesNode,
95  const XML_Node* const phaseNode_ptr);
97  virtual PDSS_enumType reportPDSSType(int index = -1) const ;
98  virtual VPSSMgr_enumType reportVPSSMgrType() const ;
99 };
100 }
102 #endif
virtual void getStandardVolumes(doublereal *vol) const
Get the molar volumes of each species in their standard states at the current T and P of the solution...
virtual void _updateStandardStateThermo()
Updates the standard state thermodynamic functions at the current T and P of the solution.
Virtual base class for the classes that manage the calculation of standard state properties for all t...
Definition: VPSSMgr.h:238
Declaration file for a virtual base class that manages the calculation of standard state properties f...
virtual PDSS * createInstallPDSS(size_t k, const XML_Node &speciesNode, const XML_Node *const phaseNode_ptr)
Create and install an ideal gas standard state manager for one species within this object...
virtual PDSS_enumType reportPDSSType(int index=-1) const
This utility function reports the type of parameterization used for the species with index number ind...
Class XML_Node is a tree-based representation of the contents of an XML file.
Definition: xml.h:100
virtual VPSSMgr_enumType reportVPSSMgrType() const
This utility function reports the type of manager for the calculation of ss properties.
VPSSMgr_IdealGas & operator=(const VPSSMgr_IdealGas &right)
Assignment operator.
This file contains definitions of terms that are used in internal routines and are unlikely to need m...
VPSSMgr_IdealGas(VPStandardStateTP *vp_ptr, SpeciesThermo *spth)
Basic constructor that initializes the object.
Pure Virtual base class for the species thermo manager classes.
enum for VPSSMgr types that are responsible for calculating the species standard state and reference-...
Definition: mix_defs.h:133
Declarations for the virtual base class PDSS (pressure dependent standard state) which handles calcul...
virtual void initThermoXML(XML_Node &phaseNode, const std::string &id)
Finalize the thermo after all species have been entered.
Types of PDSS's.
Definition: mix_defs.h:119
This is a filter class for ThermoPhase that implements some prepatory steps for efficiently handling ...
virtual void getIntEnergy_RT(doublereal *urt) const
Returns the vector of nondimensional internal Energies of the standard state at the current temperatu...
Virtual base class for a species with a pressure dependent standard state.
Definition: PDSS.h:195
A VPSSMgr where all species in the phase obey an ideal gas equation of state.
virtual VPSSMgr * duplMyselfAsVPSSMgr() const
Duplication routine for objects which derive from VPSSMgr.