Cantera  2.3.0
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 // This file is part of Cantera. See License.txt in the top-level directory or
11 // at http://www.cantera.org/license.txt for license and copyright information.
12 
13 #ifndef CT_VPSSMGR_IDEALGAS_H
14 #define CT_VPSSMGR_IDEALGAS_H
15 
16 #include "VPSSMgr.h"
17 
18 namespace Cantera
19 {
20 //! A VPSSMgr where all species in the phase obey an ideal gas equation of state
21 /**
22  * @attention This class currently does not have any test cases or examples. Its
23  * implementation may be incomplete, and future changes to Cantera may
24  * unexpectedly cause this class to stop working. If you use this class,
25  * please consider contributing examples or test cases. In the absence of
26  * new tests or examples, this class may be deprecated and removed in a
27  * future version of Cantera. See
28  * https://github.com/Cantera/cantera/issues/267 for additional information.
29  */
30 class VPSSMgr_IdealGas : public VPSSMgr
31 {
32 public:
33  //! Basic constructor that initializes the object
34  /*!
35  * @param vp_ptr Pointer to the owning ThermoPhase
36  * @param spth Species thermo pointer.
37  */
39 
40  VPSSMgr_IdealGas(const VPSSMgr_IdealGas& right);
41  VPSSMgr_IdealGas& operator=(const VPSSMgr_IdealGas& right);
42  virtual VPSSMgr* duplMyselfAsVPSSMgr() const;
43 
44  /*! @name Properties of the Standard State of the Species in the Solution
45  * Within VPStandardStateTP, these properties are calculated via a common
46  * routine, _updateStandardStateThermo(), which must be overloaded in
47  * inherited objects. The values are cached within this object, and are
48  * not recalculated unless the temperature or pressure changes.
49  */
50  //@{
51  virtual void getIntEnergy_RT(doublereal* urt) const;
52  virtual void getStandardVolumes(doublereal* vol) const;
53  //@}
54 
55 protected:
56  virtual void _updateStandardStateThermo();
57 
58 public:
59  //! Create and install an ideal gas standard state manager for one species
60  //! within this object
61  /*!
62  * This function sets up the internal data within this object for
63  * handling the calculation of the standard state for the species.
64  *
65  * - It registers the species with the MultiSpeciesThermo object for the
66  * containing VPStandardStateTP phase.
67  * - It also creates a PDSS object, which basically contains a
68  * duplication of some of this information and returns a pointer to
69  * the new object.
70  * .
71  * @param k Species index within the phase
72  * @param speciesNode Reference to the species node in the XML tree
73  * @param phaseNode_ptr Pointer to the phase node in the XML tree
74  * @return a pointer to the a newly created PDSS object containing the
75  * parameterization
76  */
77  virtual PDSS* createInstallPDSS(size_t k, const XML_Node& speciesNode,
78  const XML_Node* const phaseNode_ptr);
79 
80  virtual PDSS_enumType reportPDSSType(int index = -1) const;
81  virtual VPSSMgr_enumType reportVPSSMgrType() const;
82 };
83 }
84 
85 #endif
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:228
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 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...
Class XML_Node is a tree-based representation of the contents of an XML file.
Definition: xml.h:97
virtual VPSSMgr_enumType reportVPSSMgrType() const
This utility function reports the type of manager for the calculation of ss properties.
VPSSMgr_enumType
enum for VPSSMgr types that are responsible for calculating the species standard state and reference-...
Definition: mix_defs.h:119
virtual void getIntEnergy_RT(doublereal *urt) const
Returns the vector of nondimensional internal Energies of the standard state at the current temperatu...
PDSS_enumType
Types of PDSS's.
Definition: mix_defs.h:105
This is a filter class for ThermoPhase that implements some prepatory steps for efficiently handling ...
virtual VPSSMgr * duplMyselfAsVPSSMgr() const
Duplication routine for objects which derive from VPSSMgr.
Virtual base class for a species with a pressure dependent standard state.
Definition: PDSS.h:176
A VPSSMgr where all species in the phase obey an ideal gas equation of state.
virtual PDSS_enumType reportPDSSType(int index=-1) const
This utility function reports the type of parameterization used for the species with index number ind...
A species thermodynamic property manager for a phase.
Namespace for the Cantera kernel.
Definition: application.cpp:29
VPSSMgr_IdealGas(VPStandardStateTP *vp_ptr, MultiSpeciesThermo *spth)
Basic constructor that initializes the object.