Cantera  2.1.2
VPSSMgr_Water_ConstVol.h
Go to the documentation of this file.
1 /**
2  * @file VPSSMgr_Water_ConstVol.h
3  * Declaration file for a derived class that handles the calculation
4  * of standard state thermo properties for real water and
5  * a set of species which have a constant molar volume pressure
6  * dependence
7  * (see \ref mgrpdssthermocalc and
8  * class \link Cantera::VPSSMgr_ConstVol VPSSMgr_ConstVol\endlink).
9  */
10 /*
11  * Copyright (2005) Sandia Corporation. Under the terms of
12  * Contract DE-AC04-94AL85000 with Sandia Corporation, the
13  * U.S. Government retains certain rights in this software.
14  */
15 
16 #ifndef CT_VPSSMGR_WATER_CONSTVOL_H
17 #define CT_VPSSMGR_WATER_CONSTVOL_H
18 
19 #include "VPSSMgr.h"
20 
21 namespace Cantera
22 {
23 
24 class SpeciesThermoInterpType;
25 class VPStandardStateTP;
26 class SpeciesThermo;
27 class PDSS;
28 class PDSS_Water;
29 
30 //! Handles the calculation of standard state thermo properties for real water
31 //! and a set of species which have a constant molar volume pressure
32 //! dependence.
34 {
35 public:
36  //! Base Constructor
37  /*!
38  * Initialize the object.
39  *
40  * @param vp_ptr Pointer to the VPStandardStateTP standard state
41  * @param sp_ptr Pointer to the SpeciesThermo standard state
42  */
44 
45  //! Copy Constructor
47 
48  //! Assignment operator
50 
51  virtual VPSSMgr* duplMyselfAsVPSSMgr() const;
52 
53 private:
54  /*!
55  * @name Properties of the Standard State of the Species in the Solution
56  *
57  * Within VPStandardStateTP, these properties are calculated via a common
58  * routine, _updateStandardStateThermo(), which must be overloaded in
59  * inherited objects. The values are cached within this object, and are
60  * not recalculated unless the temperature or pressure changes.
61  */
62  //@{
63  virtual void _updateStandardStateThermo();
64  virtual void _updateRefStateThermo() const;
65  //@}
66 
67 public:
68 
69  /*! @name Thermodynamic Values for the Species Reference States
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().
75  */
76  //@{
77 
78  virtual void getEnthalpy_RT_ref(doublereal* hrt) const;
79  virtual void getGibbs_RT_ref(doublereal* grt) const ;
80  virtual void getGibbs_ref(doublereal* g) const ;
81  virtual void getEntropy_R_ref(doublereal* er) const ;
82  virtual void getCp_R_ref(doublereal* cpr) const ;
83  virtual void getStandardVolumes_ref(doublereal* vol) const ;
84 
85  //! @}
86  /*! @name Initialization Methods - For Internal use
87  * The following methods are used in the process of constructing
88  * the phase and setting its parameters from a specification in an
89  * input file. They are not normally used in application programs.
90  * To see how they are used, see files importCTML.cpp and
91  * ThermoFactory.cpp.
92  */
93  //@{
94 
95  virtual void initThermo();
96  virtual void initThermoXML(XML_Node& phaseNode, const std::string& id);
97  //@}
98 
99  virtual PDSS* createInstallPDSS(size_t k, const XML_Node& speciesNode,
100  const XML_Node* const phaseNode_ptr);
101 
102  virtual PDSS_enumType reportPDSSType(int index = -1) const ;
103  virtual VPSSMgr_enumType reportVPSSMgrType() const ;
104  virtual void initAllPtrs(VPStandardStateTP* vp_ptr, SpeciesThermo* sp_ptr);
105 
106 private:
107  //! Pointer to the Water PDSS object.
108  /*!
109  * This is a shallow copy. The water PDSS object is owned by the VPStandardStateTP
110  * object.
111  */
113 };
114 }
115 
116 #endif
PDSS_Water * m_waterSS
Pointer to the Water PDSS object.
virtual PDSS * createInstallPDSS(size_t k, const XML_Node &speciesNode, const XML_Node *const phaseNode_ptr)
Install specific content for species k in the standard-state thermodynamic calculator and also create...
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...
VPSSMgr_Water_ConstVol & operator=(const VPSSMgr_Water_ConstVol &right)
Assignment operator.
virtual void initAllPtrs(VPStandardStateTP *vp_ptr, SpeciesThermo *sp_ptr)
Initialize the internal shallow pointers in this object.
Class XML_Node is a tree-based representation of the contents of an XML file.
Definition: xml.h:100
Handles the calculation of standard state thermo properties for real water and a set of species which...
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 VPSSMgr_enumType reportVPSSMgrType() const
This utility function reports the type of manager for the calculation of ss properties.
virtual void getCp_R_ref(doublereal *cpr) const
virtual void getGibbs_ref(doublereal *g) const
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:133
virtual void getEnthalpy_RT_ref(doublereal *hrt) const
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...
Class for the liquid water pressure dependent standard state.
Definition: PDSS_Water.h:54
PDSS_enumType
Types of PDSS's.
Definition: mix_defs.h:119
virtual void initThermoXML(XML_Node &phaseNode, const std::string &id)
Finalize the thermo after all species have been entered.
VPSSMgr_Water_ConstVol(VPStandardStateTP *vp_ptr, SpeciesThermo *sp_ptr)
Base Constructor.
This is a filter class for ThermoPhase that implements some prepatory steps for efficiently handling ...
virtual void getEntropy_R_ref(doublereal *er) const
virtual void getGibbs_RT_ref(doublereal *grt) const
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:195
virtual void _updateRefStateThermo() const
Updates the reference state thermodynamic functions at the current T of the solution and the referenc...
virtual void _updateStandardStateThermo()
Updates the standard state thermodynamic functions at the current T and P of the solution.