Cantera  2.2.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
VPSSMgr_IdealGas.h
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  */
14 
15 #ifndef CT_VPSSMGR_IDEALGAS_H
16 #define CT_VPSSMGR_IDEALGAS_H
17 
18 #include "VPSSMgr.h"
19 
20 namespace Cantera
21 {
22 //! A VPSSMgr where all species in the phase obey an ideal gas equation of state
23 class VPSSMgr_IdealGas : public VPSSMgr
24 {
25 public:
26  //! Basic constructor that initializes the object
27  /*!
28  * @param vp_ptr Pointer to the owning ThermoPhase
29  * @param spth Species thermo pointer.
30  */
32 
33  //! Copy Constructor
34  VPSSMgr_IdealGas(const VPSSMgr_IdealGas& right);
35 
36  //! Assignment operator
38 
39  virtual VPSSMgr* duplMyselfAsVPSSMgr() const;
40 
41  /*! @name Properties of the Standard State of the Species in the Solution
42  * Within VPStandardStateTP, these properties are calculated via a common
43  * routine, _updateStandardStateThermo(), which must be overloaded in
44  * inherited objects. The values are cached within this object, and are
45  * not recalculated unless the temperature or pressure changes.
46  */
47  //@{
48  virtual void getIntEnergy_RT(doublereal* urt) const;
49  virtual void getStandardVolumes(doublereal* vol) const;
50  //@}
51 
52 protected:
53 
54  virtual void _updateStandardStateThermo();
55 
56 public:
57 
58  /*! @name Initialization Methods - For Internal use
59  * The following methods are used in the process of constructing the phase
60  * and setting its parameters from a specification in an input file. They
61  * are not normally used in application programs. To see how they are
62  * used, see importPhase().
63  */
64  //@{
65  virtual void initThermoXML(XML_Node& phaseNode, const std::string& id);
66  //@}
67 
68  //! Create and install an ideal gas standard state manager for one species
69  //! within this object
70  /*!
71  * This function sets up the internal data within this object for
72  * handling the calculation of the standard state for the species.
73  *
74  * - It registers the species with the SpeciesThermo object for the
75  * containing VPStandardStateTP phase.
76  * - It also creates a PDSS object, which basically contains a
77  * duplication of some of this information and returns a pointer to
78  * the new object.
79  * .
80  * @param k Species index within the phase
81  * @param speciesNode Reference to the species node in the XML tree
82  * @param phaseNode_ptr Pointer to the phase node in the XML tree
83  * @return Returns a pointer to the a newly malloced PDSS object
84  * containing the parameterization
85  */
86  virtual PDSS* createInstallPDSS(size_t k, const XML_Node& speciesNode,
87  const XML_Node* const phaseNode_ptr);
88 
89  virtual PDSS_enumType reportPDSSType(int index = -1) const ;
90  virtual VPSSMgr_enumType reportVPSSMgrType() const ;
91 };
92 }
93 
94 #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:235
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.
VPSSMgr_IdealGas(VPStandardStateTP *vp_ptr, SpeciesThermo *spth)
Basic constructor that initializes the object.
Pure Virtual base class for the species thermo manager classes.
VPSSMgr_enumType
enum for VPSSMgr types that are responsible for calculating the species standard state and reference-...
Definition: mix_defs.h:135
virtual void initThermoXML(XML_Node &phaseNode, const std::string &id)
Finalize the thermo after all species have been entered.
PDSS_enumType
Types of PDSS's.
Definition: mix_defs.h:121
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:193
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.