Cantera  2.2.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
VPSSMgr_ConstVol.h
Go to the documentation of this file.
1 /**
2  * @file VPSSMgr_ConstVol.h
3  * Declarations for a derived class for the calculation of multiple-species thermodynamic
4  * property managers for variable temperature and pressure standard
5  * states assuming constant volume (see class
6  * \link Cantera::VPSSMgr_ConstVol VPSSMgr_ConstVol \endlink).
7  */
8 /*
9  * Copyright (2005) Sandia Corporation. Under the terms of
10  * Contract DE-AC04-94AL85000 with Sandia Corporation, the
11  * U.S. Government retains certain rights in this software.
12  */
13 
14 #ifndef CT_VPSSMGR_CONSTVOL_H
15 #define CT_VPSSMGR_CONSTVOL_H
16 
17 #include "VPSSMgr.h"
18 
19 namespace Cantera
20 {
21 //! Constant Molar Volume e VPSS species thermo manager class
22 /*!
23  * The calculation of multiple-species thermodynamic
24  * property managers for variable temperature and pressure standard
25  * states assuming a constant partial molar volume assumption.
26  *
27  * @ingroup mgrpdssthermocalc
28  */
29 class VPSSMgr_ConstVol : public VPSSMgr
30 {
31 
32 public:
33 
34  //! Constructor
35  /*!
36  * @param vp_ptr Pointer to the owning VPStandardStateTP object
37  * for the phase. It's a requirement that this be
38  * already malloced.
39  * @param spth Pointer to the SpeciesThermo object for the
40  * phase. It's a requirement that this be already
41  * malloced.
42  */
44 
45  //! Copy Constructor
46  VPSSMgr_ConstVol(const VPSSMgr_ConstVol& right);
47 
48  //! Assignment operator
50 
51  virtual VPSSMgr* duplMyselfAsVPSSMgr() const;
52 
53  /*!
54  * @name Properties of the Standard State of the Species in the Solution
55  *
56  * Within VPStandardStateTP, these properties are calculated via a common
57  * routine, _updateStandardStateThermo(), which must be overloaded in
58  * inherited objects. The values are cached within this object, and are
59  * not recalculated unless the temperature or pressure changes.
60  */
61  //@{
62 
63 protected:
64 
65  virtual void _updateStandardStateThermo();
66 
67  //@}
68  /*! @name Thermodynamic Values for the Species Reference States
69  *
70  * There are also temporary variables for holding the species reference-
71  * state values of Cp, H, S, and V at the last temperature and reference
72  * pressure called. These functions are not recalculated if a new call is
73  * made using the previous temperature. All calculations are done within
74  * the routine _updateRefStateThermo(). _updateRefStateThermo() is
75  * defined in the parent object.
76  */
77  //@{
78 
79  virtual void getGibbs_RT_ref(doublereal* grt) const ;
80  virtual void getStandardVolumes_ref(doublereal* vol) const ;
81 
82  //@}
83  /*! @name Initialization Methods - For Internal use
84  * The following methods are used in the process of constructing
85  * the phase and setting its parameters from a specification in an
86  * input file. They are not normally seen by application programs
87  */
88  //@{
89 
90 public:
91  virtual void initThermo();
92  virtual void initThermoXML(XML_Node& phaseNode, const std::string& id);
93 
94  //! Create and install a constant volume pressure dependent
95  //! standard state for one species within this object
96  /*!
97  * This function sets up the internal data within this object for
98  * handling the calculation of the standard state for the species.
99  *
100  * - It registers the species with the SpeciesThermo object for the
101  * containing VPStandardStateTP phase.
102  * - It grabs the molar volume property and installs its value within
103  * this object.
104  * - It also creates a PDSS object, which basically contains a
105  * duplication of some of this information and returns a pointer to
106  * the new object.
107  *
108  * @param k Species index within the phase
109  * @param speciesNode Reference to the species node in the XML tree
110  * @param phaseNode_ptr Pointer to the phase node in the XML tree
111  * @return Returns a pointer to the a newly malloced PDSS object
112  * containing the parameterization
113  */
114  virtual PDSS* createInstallPDSS(size_t k, const XML_Node& speciesNode,
115  const XML_Node* const phaseNode_ptr);
116  //@}
117 
118  virtual PDSS_enumType reportPDSSType(int index = -1) const ;
119  virtual VPSSMgr_enumType reportVPSSMgrType() const ;
120 };
121 
122 }
123 
124 #endif
virtual PDSS_enumType reportPDSSType(int index=-1) const
This utility function reports the type of parameterization used for the species with index number ind...
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 void getStandardVolumes_ref(doublereal *vol) const
Get the molar volumes of the species reference states at the current T and P_ref of the solution...
VPSSMgr_ConstVol & operator=(const VPSSMgr_ConstVol &right)
Assignment operator.
Class XML_Node is a tree-based representation of the contents of an XML file.
Definition: xml.h:100
VPSSMgr_ConstVol(VPStandardStateTP *vp_ptr, SpeciesThermo *spth)
Constructor.
virtual PDSS * createInstallPDSS(size_t k, const XML_Node &speciesNode, const XML_Node *const phaseNode_ptr)
Create and install a constant volume pressure dependent standard state for one species within this ob...
Constant Molar Volume e VPSS species thermo manager class.
virtual void initThermoXML(XML_Node &phaseNode, const std::string &id)
Finalize the thermo after all species have been entered.
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 getGibbs_RT_ref(doublereal *grt) const
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 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:193
virtual void _updateStandardStateThermo()
Updates the standard state thermodynamic functions at the current T and P of the solution.
virtual VPSSMgr_enumType reportVPSSMgrType() const
This utility function reports the type of manager for the calculation of ss properties.