Cantera  2.3.0
VPSSMgr.cpp
Go to the documentation of this file.
1 /**
2  * @file VPSSMgr.cpp
3  * Definition file for a virtual base class that manages
4  * the calculation of standard state properties for all of the
5  * species in a single phase, assuming a variable P and T standard state
6  * (see \ref mgrpdssthermocalc and
7  * class \link Cantera::VPSSMgr VPSSMgr\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 #include "cantera/thermo/VPSSMgr.h"
16 #include "cantera/thermo/PDSS.h"
18 #include "cantera/base/utilities.h"
19 #include "cantera/base/xml.h"
20 
21 using namespace std;
22 
23 namespace Cantera
24 {
25 VPSSMgr::VPSSMgr(VPStandardStateTP* vptp_ptr, MultiSpeciesThermo* spthermo) :
26  m_kk(0),
27  m_vptp_ptr(vptp_ptr),
28  m_spthermo(spthermo),
29  m_tlast(-1.0),
30  m_plast(-1.0),
31  m_p0(-1.0),
32  m_minTemp(-1.0),
33  m_maxTemp(1.0E8),
34  m_useTmpRefStateStorage(false),
35  m_useTmpStandardStateStorage(false)
36 {
37  if (!m_vptp_ptr) {
38  throw CanteraError("VPSSMgr",
39  "null pointer for VPStandardStateTP is not permissible");
40  }
41 }
42 
43 VPSSMgr::VPSSMgr(const VPSSMgr& right) :
44  m_kk(0),
45  m_vptp_ptr(0),
46  m_spthermo(0),
47  m_tlast(-1.0),
48  m_plast(-1.0),
49  m_p0(-1.0),
50  m_minTemp(-1.0),
51  m_maxTemp(1.0E8),
52  m_useTmpRefStateStorage(false),
53  m_useTmpStandardStateStorage(false)
54 {
55  warn_deprecated("VPSSMgr copy constructor", "To be removed after"
56  " Cantera 2.3 for all classes derived from VPSSMgr.");
57  *this = right;
58 }
59 
61 {
62  warn_deprecated("VPSSMgr assignment operator", "To be removed after"
63  " Cantera 2.3 for all classes derived from VPSSMgr.");
64  if (&right == this) {
65  return *this;
66  }
67  m_kk = right.m_kk;
68 
69  // What we are doing here is to make a shallow copy of the VPStandardStateTP
70  // pointer in the "new" VPSSMgr object using the value from the "old"
71  // VPSSMgr object. This is not appropriate if we are making a copy of a
72  // ThermoPhase object and the VPSSMgr objects are owned by the ThermoPhase
73  // object.
74  //
75  // The new object will want to have a different value of m_vptp_ptr than the
76  // value this is being copied here. It will want to refer to the copy of the
77  // VPStandardStateTP object being made that will own the new VPSSMgr object.
78  // However, the assignment object is not the place to carry out this fixup.
79  //
80  // We will have to "fix" up the shallow copies later.
81  m_vptp_ptr = right.m_vptp_ptr;
82  m_spthermo = right.m_spthermo;
83  m_tlast = -1.0;
84  m_plast = -1.0;
85  m_p0 = right.m_p0;
86  m_minTemp = right.m_minTemp;
87  m_maxTemp = right.m_maxTemp;
89  m_h0_RT = right.m_h0_RT;
90  m_cp0_R = right.m_cp0_R;
91  m_g0_RT = right.m_g0_RT;
92  m_s0_R = right.m_s0_R;
93  m_V0 = right.m_V0;
95  m_hss_RT = right.m_hss_RT;
96  m_cpss_R = right.m_cpss_R;
97  m_gss_RT = right.m_gss_RT;
98  m_sss_R = right.m_sss_R;
99  m_Vss = right.m_Vss;
100  mPDSS_h0_RT = right.mPDSS_h0_RT;
101  mPDSS_cp0_R = right.mPDSS_cp0_R;
102  mPDSS_g0_RT = right.mPDSS_g0_RT;
103  mPDSS_s0_R = right.mPDSS_s0_R;
104  mPDSS_V0 = right.mPDSS_V0;
105  mPDSS_hss_RT = right.mPDSS_hss_RT;
106  mPDSS_cpss_R = right.mPDSS_cpss_R;
107  mPDSS_gss_RT = right.mPDSS_gss_RT;
108  mPDSS_sss_R = right.mPDSS_sss_R;
109  mPDSS_Vss = right.mPDSS_Vss;
110 
111  return *this;
112 }
113 
115 {
116  warn_deprecated("VPSSMgr::duplMyselfAsVPSSMgr", "To be removed after"
117  " Cantera 2.3 for all classes derived from VPSSMgr.");
118  return new VPSSMgr(*this);
119 }
120 
122  MultiSpeciesThermo* sp_ptr)
123 {
124  warn_deprecated("VPSSMgr::initAllPtrs", "To be removed after Cantera 2.3 "
125  "for all classes derived from VPSSMgr.");
126  m_vptp_ptr = vp_ptr;
127  m_spthermo = sp_ptr;
128 
129  // Take care of STITTbyPDSS objects
130  for (size_t k = 0; k < m_kk; k++) {
132  STITbyPDSS* stpd = dynamic_cast<STITbyPDSS*>(st);
133  if (stpd) {
134  PDSS* PDSS_ptr = vp_ptr->providePDSS(k);
135  stpd->initAllPtrs(k, this, PDSS_ptr);
136  }
137  }
138 }
139 
140 // Standard States
141 
142 void VPSSMgr::getStandardChemPotentials(doublereal* mu) const
143 {
145  std::copy(m_gss_RT.begin(), m_gss_RT.end(), mu);
146  scale(mu, mu+m_kk, mu, GasConstant * m_tlast);
147  } else {
148  throw NotImplementedError("VPSSMgr::getStandardChemPotentials");
149  }
150 }
151 
152 void VPSSMgr::getGibbs_RT(doublereal* grt) const
153 {
155  std::copy(m_gss_RT.begin(), m_gss_RT.end(), grt);
156  } else {
157  throw NotImplementedError("VPSSMgr::getGibbs_RT");
158  }
159 }
160 
161 void VPSSMgr::getEnthalpy_RT(doublereal* hrt) const
162 {
164  std::copy(m_hss_RT.begin(), m_hss_RT.end(), hrt);
165  } else {
166  throw NotImplementedError("VPSSMgr::getEnthalpy_RT");
167  }
168 }
169 
170 void VPSSMgr::getEntropy_R(doublereal* sr) const
171 {
173  std::copy(m_sss_R.begin(), m_sss_R.end(), sr);
174  } else {
175  throw NotImplementedError("VPSSMgr::getEntropy_RT");
176  }
177 }
178 
179 void VPSSMgr::getIntEnergy_RT(doublereal* urt) const
180 {
182  std::copy(m_hss_RT.begin(), m_hss_RT.end(), urt);
183  for (size_t k = 0; k < m_kk; k++) {
184  urt[k] -= m_plast / (GasConstant * m_tlast) * m_Vss[k];
185  }
186  } else {
187  throw NotImplementedError("VPSSMgr::getEntropy_RT");
188  }
189 }
190 
191 void VPSSMgr::getCp_R(doublereal* cpr) const
192 {
194  std::copy(m_cpss_R.begin(), m_cpss_R.end(), cpr);
195  } else {
196  throw NotImplementedError("VPSSMgr::getCp_R");
197  }
198 }
199 
200 void VPSSMgr::getStandardVolumes(doublereal* vol) const
201 {
203  std::copy(m_Vss.begin(), m_Vss.end(), vol);
204  } else {
205  throw NotImplementedError("VPSSMgr::getStandardVolumes");
206  }
207 }
208 const vector_fp& VPSSMgr::getStandardVolumes() const
209 {
211  throw NotImplementedError("VPSSMgr::getStandardVolumes");
212  }
213  return m_Vss;
214 }
215 
216 /*****************************************************************/
217 
218 void VPSSMgr::getEnthalpy_RT_ref(doublereal* hrt) const
219 {
221  std::copy(m_h0_RT.begin(), m_h0_RT.end(), hrt);
222  } else {
223  throw NotImplementedError("VPSSMgr::getEnthalpy_RT_ref");
224  }
225 }
226 
227 void VPSSMgr::getGibbs_RT_ref(doublereal* grt) const
228 {
230  std::copy(m_g0_RT.begin(), m_g0_RT.end(), grt);
231  } else {
232  throw NotImplementedError("VPSSMgr::getGibbs_RT_ref");
233  }
234 }
235 
236 void VPSSMgr::getGibbs_ref(doublereal* g) const
237 {
239  std::copy(m_g0_RT.begin(), m_g0_RT.end(), g);
240  scale(g, g+m_kk, g, GasConstant * m_tlast);
241  } else {
242  throw NotImplementedError("VPSSMgr::getGibbs_ref");
243  }
244 }
245 
246 void VPSSMgr::getEntropy_R_ref(doublereal* sr) const
247 {
249  std::copy(m_s0_R.begin(), m_s0_R.end(), sr);
250  } else {
251  throw NotImplementedError("VPSSMgr::getEntropy_R_ref");
252  }
253 }
254 
255 void VPSSMgr::getCp_R_ref(doublereal* cpr) const
256 {
258  std::copy(m_cp0_R.begin(), m_cp0_R.end(), cpr);
259  } else {
260  throw NotImplementedError("VPSSMgr::getCp_R_ref");
261  }
262 }
263 
264 void VPSSMgr::getStandardVolumes_ref(doublereal* vol) const
265 {
266  getStandardVolumes(vol);
267 }
268 
269 /*****************************************************************/
270 
271 void VPSSMgr::setState_P(doublereal pres)
272 {
273  if (m_plast != pres) {
274  m_plast = pres;
276  }
277 }
278 
279 void VPSSMgr::setState_T(doublereal temp)
280 {
281  if (m_tlast != temp) {
282  m_tlast = temp;
285  }
286 }
287 
288 void VPSSMgr::setState_TP(doublereal temp, doublereal pres)
289 {
290  if (m_tlast != temp) {
291  m_tlast = temp;
292  m_plast = pres;
295  } else if (m_plast != pres) {
296  m_plast = pres;
298  }
299 }
300 
302 {
304 }
305 
307 {
309 }
310 
312 {
313  for (size_t k = 0; k < m_kk; k++) {
314  PDSS* kPDSS = m_vptp_ptr->providePDSS(k);
315  kPDSS->setState_TP(m_tlast, m_plast);
316  }
317  throw NotImplementedError("VPSSMgr::_updateStandardStateThermo()");
318 }
319 
321 {
322  if (m_spthermo) {
323  m_spthermo->update(m_tlast, &m_cp0_R[0], &m_h0_RT[0], &m_s0_R[0]);
324  for (size_t k = 0; k < m_kk; k++) {
325  m_g0_RT[k] = m_h0_RT[k] - m_s0_R[k];
326  }
327  }
328 }
329 
330 /*****************************************************************/
331 
333 {
334  initLengths();
335 }
336 
338 {
339  m_kk = m_vptp_ptr->nSpecies();
340  m_h0_RT.resize(m_kk, 0.0);
341  m_cp0_R.resize(m_kk, 0.0);
342  m_g0_RT.resize(m_kk, 0.0);
343  m_s0_R.resize(m_kk, 0.0);
344  m_V0.resize(m_kk, 0.0);
345  m_hss_RT.resize(m_kk, 0.0);
346  m_cpss_R.resize(m_kk, 0.0);
347  m_gss_RT.resize(m_kk, 0.0);
348  m_sss_R.resize(m_kk, 0.0);
349  m_Vss.resize(m_kk, 0.0);
350 
351  // Storage used by the PDSS objects to store their answers.
352  mPDSS_h0_RT.resize(m_kk, 0.0);
353  mPDSS_cp0_R.resize(m_kk, 0.0);
354  mPDSS_g0_RT.resize(m_kk, 0.0);
355  mPDSS_s0_R.resize(m_kk, 0.0);
356  mPDSS_V0.resize(m_kk, 0.0);
357  mPDSS_hss_RT.resize(m_kk, 0.0);
358  mPDSS_cpss_R.resize(m_kk, 0.0);
359  mPDSS_gss_RT.resize(m_kk, 0.0);
360  mPDSS_sss_R.resize(m_kk, 0.0);
361  mPDSS_Vss.resize(m_kk, 0.0);
362 }
363 
364 void VPSSMgr::initThermoXML(XML_Node& phaseNode, const std::string& id)
365 {
366  const PDSS* kPDSS = m_vptp_ptr->providePDSS(0);
367  m_p0 = kPDSS->refPressure();
368  for (size_t i = 0; i < m_kk; i++) {
369  const PDSS* kPDSS = m_vptp_ptr->providePDSS(i);
370  m_minTemp = std::max(m_minTemp, kPDSS->minTemp());
371  m_maxTemp = std::min(m_maxTemp, kPDSS->maxTemp());
372  }
373 }
374 
375 void VPSSMgr::installSTSpecies(size_t k, const XML_Node& s,
376  const XML_Node* phaseNode_ptr)
377 {
378  shared_ptr<SpeciesThermoInterpType> stit(newSpeciesThermoInterpType(s.child("thermo")));
379  stit->validate(s["name"]);
380  m_spthermo->install_STIT(k, stit);
381  if (m_p0 < 0.0) {
383  }
384 }
385 
387  const XML_Node* phaseNode_ptr)
388 {
389  throw NotImplementedError("VPSSMgr::VPSSMgr::createInstallPDSS");
390 }
391 
392 /*****************************************************************/
393 
394 doublereal VPSSMgr::minTemp(size_t k) const
395 {
396  if (k != npos) {
397  return m_vptp_ptr->providePDSS(k)->minTemp();
398  }
399  return m_minTemp;
400 }
401 
402 doublereal VPSSMgr::maxTemp(size_t k) const
403 {
404  if (k != npos) {
405  return m_vptp_ptr->providePDSS(k)->maxTemp();
406  }
407  return m_maxTemp;
408 }
409 
410 doublereal VPSSMgr::refPressure(size_t k) const
411 {
412  if (k != npos) {
413  return m_vptp_ptr->providePDSS(k)->refPressure();
414  }
415  return m_p0;
416 }
417 
419 {
420  throw NotImplementedError("VPSSMgr::reportPDSSType()");
421 }
422 
424 {
425  throw NotImplementedError("VPSSMgr::reportVPSSType()");
426 }
427 
428 }
vector_fp m_V0
Vector containing the species reference molar volumes.
Definition: VPSSMgr.h:753
Header for a general species thermodynamic property manager for a phase (see MultiSpeciesThermo).
virtual void updateRefStateThermo() const
Updates the internal reference state thermodynamic vectors at the current T of the solution and the r...
Definition: VPSSMgr.cpp:306
vector_fp mPDSS_s0_R
species reference entropies - used by individual PDSS objects
Definition: VPSSMgr.h:805
doublereal m_minTemp
minimum temperature for the standard state calculations
Definition: VPSSMgr.h:727
Abstract Base class for the thermodynamic manager for an individual species&#39; reference state...
bool m_useTmpRefStateStorage
boolean indicating whether temporary reference state storage is used -> default is false ...
Definition: VPSSMgr.h:734
void initLengths()
Initialize the lengths within the object.
Definition: VPSSMgr.cpp:337
vector_fp mPDSS_V0
species reference state molar Volumes - used by individual PDSS objects
Definition: VPSSMgr.h:812
SpeciesThermoInterpType * newSpeciesThermoInterpType(int type, double tlow, double thigh, double pref, const double *coeffs)
Create a new SpeciesThermoInterpType object given a corresponding constant.
vector_fp m_sss_R
Vector containing the species Standard State entropies at T = m_tlast and P = m_plast.
Definition: VPSSMgr.h:773
doublereal m_maxTemp
maximum temperature for the standard state calculations
Definition: VPSSMgr.h:730
An error indicating that an unimplemented function has been called.
Definition: ctexceptions.h:193
Various templated functions that carry out common vector operations (see Templated Utility Functions)...
virtual void update(doublereal T, doublereal *cp_R, doublereal *h_RT, doublereal *s_R) const
Compute the reference-state properties for all species.
Virtual base class for the classes that manage the calculation of standard state properties for all t...
Definition: VPSSMgr.h:228
virtual void getEntropy_R(doublereal *sr) const
Get the array of nondimensional Enthalpy functions for the standard state species at the current T an...
Definition: VPSSMgr.cpp:170
Declaration file for a virtual base class that manages the calculation of standard state properties f...
VPSSMgr & operator=(const VPSSMgr &right)
Definition: VPSSMgr.cpp:60
const size_t npos
index returned by functions to indicate "no position"
Definition: ct_defs.h:165
bool m_useTmpStandardStateStorage
boolean indicating whether temporary standard state storage is used -> default is false ...
Definition: VPSSMgr.h:757
virtual void initAllPtrs(VPStandardStateTP *vp_ptr, MultiSpeciesThermo *sp_ptr)
Initialize the internal shallow pointers in this object.
Definition: VPSSMgr.cpp:121
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...
Definition: VPSSMgr.cpp:386
virtual void initThermoXML(XML_Node &phaseNode, const std::string &id)
Finalize the thermo after all species have been entered.
Definition: VPSSMgr.cpp:364
doublereal refPressure() const
Return the reference pressure for this phase.
Definition: PDSS.h:335
size_t m_kk
Number of species in the phase.
Definition: VPSSMgr.h:704
vector_fp mPDSS_cpss_R
species standard state heat capacities - used by individual PDSS objects
Definition: VPSSMgr.h:826
Class XML_Node is a tree-based representation of the contents of an XML file.
Definition: xml.h:97
virtual void getStandardChemPotentials(doublereal *mu) const
Get the array of chemical potentials at unit activity.
Definition: VPSSMgr.cpp:142
void warn_deprecated(const std::string &method, const std::string &extra)
Print a warning indicating that method is deprecated.
Definition: global.cpp:54
size_t nSpecies() const
Returns the number of species in the phase.
Definition: Phase.h:262
STL namespace.
virtual doublereal refPressure(size_t k=npos) const
The reference-state pressure for species k.
virtual void getGibbs_RT(doublereal *grt) const
Get the nondimensional Gibbs functions for the species at their standard states of solution at the cu...
Definition: VPSSMgr.cpp:152
virtual void initThermo()
Definition: VPSSMgr.cpp:332
void initAllPtrs(size_t speciesIndex, VPSSMgr *vpssmgr_ptr, PDSS *PDSS_ptr)
Initialize and/or Reinitialize all the pointers for this object.
virtual doublereal minTemp(size_t k=npos) const
Minimum temperature.
Definition: VPSSMgr.cpp:394
doublereal maxTemp() const
return the minimum temperature
Definition: PDSS.h:345
VPSSMgr_enumType
enum for VPSSMgr types that are responsible for calculating the species standard state and reference-...
Definition: mix_defs.h:119
virtual void getGibbs_RT_ref(doublereal *grt) const
Definition: VPSSMgr.cpp:227
virtual doublereal refPressure(size_t k=npos) const
The reference-state pressure for the standard state.
Definition: VPSSMgr.cpp:410
virtual void _updateStandardStateThermo()
Updates the standard state thermodynamic functions at the current T and P of the solution.
Definition: VPSSMgr.cpp:311
vector_fp mPDSS_cp0_R
species reference heat capacities - used by individual PDSS objects
Definition: VPSSMgr.h:791
virtual void getCp_R_ref(doublereal *cpr) const
Definition: VPSSMgr.cpp:255
vector_fp m_cp0_R
Vector containing the species reference constant pressure heat capacities at T = m_tlast and P = p_re...
Definition: VPSSMgr.h:742
Declarations for the virtual base class PDSS (pressure dependent standard state) which handles calcul...
virtual doublereal maxTemp(size_t k=npos) const
Maximum temperature.
Definition: VPSSMgr.cpp:402
VPStandardStateTP * m_vptp_ptr
Variable pressure ThermoPhase object.
Definition: VPSSMgr.h:707
MultiSpeciesThermo * m_spthermo
Pointer to reference state thermo calculator.
Definition: VPSSMgr.h:713
virtual void getEnthalpy_RT_ref(doublereal *hrt) const
Definition: VPSSMgr.cpp:218
doublereal m_plast
The last pressure at which the Standard State thermodynamic properties were calculated at...
Definition: VPSSMgr.h:721
PDSS_enumType
Types of PDSS&#39;s.
Definition: mix_defs.h:105
vector_fp mPDSS_g0_RT
species reference Gibbs free energies - used by individual PDSS objects
Definition: VPSSMgr.h:798
Classes providing support for XML data files.
virtual void setState_T(doublereal T)
Set the temperature (K)
Definition: VPSSMgr.cpp:279
Class for the thermodynamic manager for an individual species&#39; reference state which uses the PDSS ba...
virtual void _updateRefStateThermo() const
Updates the reference state thermodynamic functions at the current T of the solution and the referenc...
Definition: VPSSMgr.cpp:320
SpeciesThermoInterpType * provideSTIT(size_t k)
Provide the SpeciesthermoInterpType object.
Base class for exceptions thrown by Cantera classes.
Definition: ctexceptions.h:65
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...
Definition: VPSSMgr.cpp:264
virtual VPSSMgr_enumType reportVPSSMgrType() const
This utility function reports the type of manager for the calculation of ss properties.
Definition: VPSSMgr.cpp:423
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...
Definition: VPSSMgr.cpp:179
vector_fp mPDSS_sss_R
species standard state entropies - used by individual PDSS objects
Definition: VPSSMgr.h:840
vector_fp mPDSS_Vss
species standard state molar Volumes - used by individual PDSS objects
Definition: VPSSMgr.h:847
vector_fp m_Vss
Vector containing the species standard state volumes at T = m_tlast and P = m_plast.
Definition: VPSSMgr.h:777
vector_fp mPDSS_gss_RT
species standard state Gibbs free energies - used by individual PDSS objects
Definition: VPSSMgr.h:833
XML_Node & child(const size_t n) const
Return a changeable reference to the n&#39;th child of the current node.
Definition: xml.cpp:546
virtual void updateStandardStateThermo()
Updates the internal standard state thermodynamic vectors at the current T and P of the solution...
Definition: VPSSMgr.cpp:301
vector_fp m_hss_RT
Vector containing the species Standard State enthalpies at T = m_tlast and P = m_plast.
Definition: VPSSMgr.h:761
VPSSMgr(VPStandardStateTP *vptp_ptr, MultiSpeciesThermo *spth=0)
Constructor.
Definition: VPSSMgr.cpp:25
vector_fp m_cpss_R
Vector containing the species Standard State constant pressure heat capacities at T = m_tlast and P =...
Definition: VPSSMgr.h:765
vector_fp m_h0_RT
Vector containing the species reference enthalpies at T = m_tlast and P = p_ref.
Definition: VPSSMgr.h:738
Header for factory functions to build instances of classes that manage the standard-state thermodynam...
Header file for a derived class of ThermoPhase that handles variable pressure standard state methods ...
std::vector< double > vector_fp
Turn on the use of stl vectors for the basic array type within cantera Vector of doubles.
Definition: ct_defs.h:157
Virtual base class for a species with a pressure dependent standard state.
Definition: PDSS.h:176
vector_fp mPDSS_hss_RT
species standard state enthalpies - used by individual PDSS objects
Definition: VPSSMgr.h:819
virtual void getEnthalpy_RT(doublereal *hrt) const
Get the nondimensional Enthalpy functions for the species at their standard states at the current T a...
Definition: VPSSMgr.cpp:161
void scale(InputIter begin, InputIter end, OutputIter out, S scale_factor)
Multiply elements of an array by a scale factor.
Definition: utilities.h:130
vector_fp m_g0_RT
Vector containing the species reference Gibbs functions at T = m_tlast and P = p_ref.
Definition: VPSSMgr.h:746
doublereal m_p0
Reference pressure (Pa) must be the same for all species - defaults to 1 atm.
Definition: VPSSMgr.h:724
const doublereal GasConstant
Universal Gas Constant. [J/kmol/K].
Definition: ct_defs.h:64
virtual void getEntropy_R_ref(doublereal *er) const
Definition: VPSSMgr.cpp:246
doublereal minTemp() const
return the minimum temperature
Definition: PDSS.h:340
A species thermodynamic property manager for a phase.
vector_fp mPDSS_h0_RT
species reference enthalpies - used by individual PDSS objects
Definition: VPSSMgr.h:784
void installSTSpecies(size_t k, const XML_Node &speciesNode, const XML_Node *phaseNode_ptr)
Install specific content for species k in the reference-state thermodynamic SpeciesManager object...
Definition: VPSSMgr.cpp:375
doublereal m_tlast
The last temperature at which the standard state thermodynamic properties were calculated at...
Definition: VPSSMgr.h:717
virtual PDSS_enumType reportPDSSType(int index=-1) const
This utility function reports the type of parameterization used for the species with index number ind...
Definition: VPSSMgr.cpp:418
virtual void install_STIT(size_t index, shared_ptr< SpeciesThermoInterpType > stit)
Install a new species thermodynamic property parameterization for one species.
Namespace for the Cantera kernel.
Definition: application.cpp:29
virtual void setState_TP(doublereal T, doublereal P)
Set the temperature (K) and pressure (Pa)
Definition: VPSSMgr.cpp:288
vector_fp m_gss_RT
Vector containing the species Standard State Gibbs functions at T = m_tlast and P = m_plast...
Definition: VPSSMgr.h:769
virtual VPSSMgr * duplMyselfAsVPSSMgr() const
Duplication routine for objects which derive from VPSSMgr.
Definition: VPSSMgr.cpp:114
virtual void setState_P(doublereal P)
Set the pressure (Pa)
Definition: VPSSMgr.cpp:271
virtual void setState_TP(doublereal temp, doublereal pres)
Set the internal temperature and pressure.
Definition: PDSS.cpp:365
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...
Definition: VPSSMgr.cpp:200
virtual void getGibbs_ref(doublereal *g) const
Definition: VPSSMgr.cpp:236
vector_fp m_s0_R
Vector containing the species reference entropies at T = m_tlast and P = p_ref.
Definition: VPSSMgr.h:750
virtual void getCp_R(doublereal *cpr) const
Get the nondimensional Heat Capacities at constant pressure for the standard state of the species at ...
Definition: VPSSMgr.cpp:191