Cantera  2.4.0
PDSS.h
Go to the documentation of this file.
1 /**
2  * @file PDSS.h
3  * Declarations for the virtual base class PDSS (pressure dependent standard state)
4  * which handles calculations for a single species in a phase
5  * (see \ref pdssthermo and class \link Cantera::PDSS PDSS\endlink).
6  */
7 
8 // This file is part of Cantera. See License.txt in the top-level directory or
9 // at http://www.cantera.org/license.txt for license and copyright information.
10 
11 #ifndef CT_PDSS_H
12 #define CT_PDSS_H
13 #include "cantera/base/ct_defs.h"
14 
15 namespace Cantera
16 {
17 /**
18  * @defgroup pdssthermo Species Standard-State Thermodynamic Properties
19  *
20  * In this module we describe %Cantera's treatment of pressure dependent
21  * standard states (PDSS) objects. These are objects that calculate the standard
22  * state of a single species that depends on both temperature and pressure.
23  *
24  * To compute the thermodynamic properties of multicomponent solutions, it is
25  * necessary to know something about the thermodynamic properties of the
26  * individual species present in the solution. Exactly what sort of species
27  * properties are required depends on the thermodynamic model for the solution.
28  * For a gaseous solution (i.e., a gas mixture), the species properties required
29  * are usually ideal gas properties at the mixture temperature and at a
30  * reference pressure (almost always at 1 bar). For other types of solutions,
31  * however, it may not be possible to isolate the species in a "pure" state. For
32  * example, the thermodynamic properties of, say, Na+ and Cl- in saltwater are
33  * not easily determined from data on the properties of solid NaCl, or solid Na
34  * metal, or chlorine gas. In this case, the solvation in water is fundamental
35  * to the identity of the species, and some other reference state must be used.
36  * One common convention for liquid solutions is to use thermodynamic data for
37  * the solutes in the limit of infinite dilution within the pure solvent;
38  * another convention is to reference all properties to unit molality.
39  *
40  * In defining these standard states for species in a phase, we make the
41  * following definition. A reference state is a standard state of a species in a
42  * phase limited to one particular pressure, the reference pressure. The
43  * reference state specifies the dependence of all thermodynamic functions as a
44  * function of the temperature, in between a minimum temperature and a maximum
45  * temperature. The reference state also specifies the molar volume of the
46  * species as a function of temperature. The molar volume is a thermodynamic
47  * function. A full standard state does the same thing as a reference state, but
48  * specifies the thermodynamics functions at all pressures.
49  *
50  * Class PDSS is the base class for a family of classes that compute properties
51  * of a single species in a phase at its standard states, for a range of
52  * temperatures and pressures. PDSS objects are used by derivatives of the
53  * VPStandardState class. These classes assume that there exists a standard
54  * state for each species in the phase, where the thermodynamic functions are
55  * specified as a function of temperature and pressure. Standard state objects
56  * for each species in the phase are all derived from the PDSS virtual base
57  * class.
58  *
59  * The following classes inherit from PDSS. Each of these classes handles just
60  * one species.
61  *
62  * - PDSS_IdealGas
63  * - standardState model = "IdealGas"
64  * - This model assumes that the species in the phase obeys the ideal gas law
65  * for their pressure dependence. The manager uses a SimpleThermo object to
66  * handle the calculation of the reference state. This object adds the
67  * pressure dependencies to the thermo functions.
68  *
69  * - PDSS_ConstVol
70  * - standardState model = "ConstVol" or "constant_incompressible"
71  * - This model assumes that the species in the phase obeys the constant
72  * partial molar volume pressure dependence. The manager uses a
73  * SimpleThermo object to handle the calculation of the reference state.
74  * This object adds the pressure dependencies to these thermo functions.
75  *
76  * - PDSS_SSVol
77  * - standardState model = "temperature_polynomial"
78  * - standardState model = "density_temperature_polynomial"
79  * - This model assumes that the species in the phase obey a fairly general
80  * equation of state, but one that separates out the calculation of the
81  * standard state density and/or volume. Models include a cubic polynomial
82  * in temperature for either the standard state volume or the standard state
83  * density. The manager uses a SimpleThermo object to handle the calculation
84  * of the reference state. This object then adds the pressure dependencies
85  * and the volume terms to these thermo functions to complete the
86  * representation.
87  *
88  * - PDSS_Water
89  * - standardState model = "Water"
90  * - This model assumes that Species 0 is assumed to be water, and a real
91  * equation of state is used to model the T, P behavior. Note, the model
92  * assumes that the species is liquid water, and not steam.
93  *
94  * - PDSS_HKFT
95  * - standardState model = "HKFT"
96  * - This model assumes that the species follows the HKFT pressure dependent
97  * equation of state
98  *
99  * Normally the PDSS object is not called directly. Instead the
100  * VPStandardStateTP object manages the calls to the PDSS object for the entire
101  * set of species that comprise a phase.
102  *
103  * The PDSS objects may or may not utilize the MultiSpeciesThermo reference state
104  * manager class to calculate the reference state thermodynamics functions in
105  * its own calculation. There are some classes, such as PDSS_IdealGas and
106  * PDSS+_ConstVol, which utilize the MultiSpeciesThermo object because the
107  * calculation is very similar to the reference state calculation, while there
108  * are other classes, PDSS_Water and PDSS_HKFT, which don't utilize the
109  * reference state calculation at all, because it wouldn't make sense to. For
110  * example, using the PDSS_Water module, there isn't anything special about the
111  * reference pressure of 1 bar, so the reference state calculation would
112  * represent a duplication of work. Additionally, when evaluating thermodynamic
113  * properties at higher pressures and temperatures, near the critical point,
114  * evaluation of the thermodynamics at a pressure of 1 bar may lead to
115  * situations where the liquid is unstable, i.e., beyond the spinodal curve
116  * leading to potentially wrong evaluation results.
117  *
118  * For cases where the PDSS object doesn't use the MultiSpeciesThermo object, a
119  * dummy SpeciesThermoInterpType object is actually installed into the
120  * MultiSpeciesThermo object for that species. This dummy
121  * SpeciesThermoInterpType object is called a STITbyPDSS object. This object
122  * satisfies calls to MultiSpeciesThermo member functions by actually calling
123  * the PDSS object at the reference pressure.
124  *
125  * @ingroup thermoprops
126  */
127 
128 class XML_Node;
129 class MultiSpeciesThermo;
130 class SpeciesThermoInterpType;
131 class VPStandardStateTP;
132 
133 //! Virtual base class for a species with a pressure dependent standard state
134 /*!
135  * Virtual base class for calculation of the pressure dependent standard state
136  * for a single species
137  *
138  * Class PDSS is the base class for a family of classes that compute
139  * properties of a set of species in their standard states at a range of
140  * temperatures and pressures. The independent variables for this object are
141  * temperature and pressure. The class may have a reference to a MultiSpeciesThermo
142  * object which handles the calculation of the reference state temperature
143  * behavior of a subset of species.
144  *
145  * This class is analogous to the SpeciesThermoInterpType class, except that
146  * the standard state inherently incorporates the pressure dependence.
147  *
148  * The class operates on a setState temperature and pressure basis. It only
149  * recalculates the standard state when the setState functions for temperature
150  * and pressure are called.
151  *
152  * ### Thread Safety
153  *
154  * These classes are designed such that they are not thread safe when called by
155  * themselves. The reason for this is that they sometimes use shared
156  * MultiSpeciesThermo resources where they set the states. This condition may be
157  * remedied in the future if we get serious about employing multithreaded
158  * capabilities by adding mutex locks to the MultiSpeciesThermo resources.
159  *
160  * However, in many other respects they can be thread safe. They use separate
161  * memory and hold intermediate data.
162  *
163  * @ingroup pdssthermo
164  */
165 class PDSS
166 {
167 public:
168  //! @name Constructors
169  //! @{
170 
171  //! Default Constructor
172  PDSS();
173 
174  // PDSS objects are not copyable or assignable
175  PDSS(const PDSS& b) = delete;
176  PDSS& operator=(const PDSS& b) = delete;
177  virtual ~PDSS() {}
178 
179  //! @}
180  //! @name Utilities
181  //! @{
182 
183  //! @}
184  //! @name Molar Thermodynamic Properties of the Species Standard State in
185  //! the Solution
186  //! @{
187 
188  //! Return the molar enthalpy in units of J kmol-1
189  /*!
190  * @return the species standard state enthalpy in J kmol-1 at the current
191  * temperature and pressure.
192  */
193  virtual doublereal enthalpy_mole() const;
194 
195  //! Return the standard state molar enthalpy divided by RT
196  /*!
197  * @return The dimensionless species standard state enthalpy divided at
198  * the current temperature and pressure.
199  */
200  virtual doublereal enthalpy_RT() const;
201 
202  //! Return the molar internal Energy in units of J kmol-1
203  /*!
204  * @return The species standard state internal Energy in J kmol-1 at the
205  * current temperature and pressure.
206  */
207  virtual doublereal intEnergy_mole() const;
208 
209  //! Return the molar entropy in units of J kmol-1 K-1
210  /*!
211  * @return The species standard state entropy in J kmol-1 K-1 at the
212  * current temperature and pressure.
213  */
214  virtual doublereal entropy_mole() const;
215 
216  //! Return the standard state entropy divided by RT
217  /*!
218  * @return The species standard state entropy divided by RT at the current
219  * temperature and pressure.
220  */
221  virtual doublereal entropy_R() const;
222 
223  //! Return the molar Gibbs free energy in units of J kmol-1
224  /*!
225  * @return The species standard state Gibbs free energy in J kmol-1 at the
226  * current temperature and pressure.
227  */
228  virtual doublereal gibbs_mole() const;
229 
230  //! Return the molar Gibbs free energy divided by RT
231  /*!
232  * @return The species standard state Gibbs free energy divided by RT at
233  * the current temperature and pressure.
234  */
235  virtual doublereal gibbs_RT() const;
236 
237  //! Return the molar const pressure heat capacity in units of J kmol-1 K-1
238  /*!
239  * @return The species standard state Cp in J kmol-1 K-1 at the current
240  * temperature and pressure.
241  */
242  virtual doublereal cp_mole() const;
243 
244  //! Return the molar const pressure heat capacity divided by RT
245  /*!
246  * @return The species standard state Cp divided by RT at the current
247  * temperature and pressure.
248  */
249  virtual doublereal cp_R() const;
250 
251  //! Return the molar const volume heat capacity in units of J kmol-1 K-1
252  /*!
253  * @return The species standard state Cv in J kmol-1 K-1 at the
254  * current temperature and pressure.
255  */
256  virtual doublereal cv_mole() const;
257 
258  //! Return the molar volume at standard state
259  /*!
260  * @return The standard state molar volume at the current temperature and
261  * pressure. Units are m**3 kmol-1.
262  */
263  virtual doublereal molarVolume() const;
264 
265  //! Return the standard state density at standard state
266  /*!
267  * @return The standard state density at the current temperature and
268  * pressure. units are kg m-3
269  */
270  virtual doublereal density() const;
271 
272  //! Get the difference in the standard state enthalpy
273  //! between the current pressure and the reference pressure, p0.
274  virtual doublereal enthalpyDelp_mole() const;
275 
276  //! Get the difference in the standard state entropy between
277  //! the current pressure and the reference pressure, p0
278  virtual doublereal entropyDelp_mole() const;
279 
280  //! Get the difference in the standard state Gibbs free energy
281  //! between the current pressure and the reference pressure, p0.
282  virtual doublereal gibbsDelp_mole() const;
283 
284  //! Get the difference in standard state heat capacity
285  //! between the current pressure and the reference pressure, p0.
286  virtual doublereal cpDelp_mole() const;
287 
288  //! @}
289  //! @name Properties of the Reference State of the Species in the Solution
290  //! @{
291 
292  //! Return the reference pressure for this phase.
293  doublereal refPressure() const {
294  return m_p0;
295  }
296 
297  //! return the minimum temperature
298  doublereal minTemp() const {
299  return m_minTemp;
300  }
301 
302  //! return the minimum temperature
303  doublereal maxTemp() const {
304  return m_maxTemp;
305  }
306 
307  //! Return the molar Gibbs free energy divided by RT at reference pressure
308  /*!
309  * @return The reference state Gibbs free energy at the current
310  * temperature, divided by RT.
311  */
312  virtual doublereal gibbs_RT_ref() const;
313 
314  //! Return the molar enthalpy divided by RT at reference pressure
315  /*!
316  * @return The species reference state enthalpy at the current
317  * temperature, divided by RT.
318  */
319  virtual doublereal enthalpy_RT_ref() const;
320 
321  //! Return the molar entropy divided by R at reference pressure
322  /*!
323  * @return The species reference state entropy at the current
324  * temperature, divided by R.
325  */
326  virtual doublereal entropy_R_ref() const;
327 
328  //! Return the molar heat capacity divided by R at reference pressure
329  /*!
330  * @return The species reference state heat capacity divided by R at the
331  * current temperature.
332  */
333  virtual doublereal cp_R_ref() const;
334 
335  //! Return the molar volume at reference pressure
336  /*!
337  * @return The reference state molar volume. units are m**3 kmol-1.
338  */
339  virtual doublereal molarVolume_ref() const;
340 
341  //! @}
342  //! @name Mechanical Equation of State Properties
343  //! @{
344 
345  //! Returns the pressure (Pa)
346  virtual doublereal pressure() const;
347 
348  //! Sets the pressure in the object
349  /*!
350  * Currently, this sets the pressure in the PDSS object. It is indeterminant
351  * what happens to the owning VPStandardStateTP object.
352  *
353  * @param pres Pressure to be set (Pascal)
354  */
355  virtual void setPressure(doublereal pres);
356 
357  //! Return the volumetric thermal expansion coefficient. Units: 1/K.
358  /*!
359  * The thermal expansion coefficient is defined as
360  * \f[
361  * \beta = \frac{1}{v}\left(\frac{\partial v}{\partial T}\right)_P
362  * \f]
363  */
364  virtual doublereal thermalExpansionCoeff() const;
365 
366  //@}
367  /// @name Partial Molar Properties of the Solution
368  //@{
369 
370  //! Set the internal temperature
371  /*!
372  * @param temp Temperature (Kelvin)
373  */
374  virtual void setTemperature(doublereal temp);
375 
376  //! Return the current stored temperature
377  virtual doublereal temperature() const;
378 
379  //! Set the internal temperature and pressure
380  /*!
381  * @param temp Temperature (Kelvin)
382  * @param pres pressure (Pascals)
383  */
384  virtual void setState_TP(doublereal temp, doublereal pres);
385 
386  //! Set the internal temperature and density
387  /*!
388  * @param temp Temperature (Kelvin)
389  * @param rho Density (kg m-3)
390  */
391  virtual void setState_TR(doublereal temp, doublereal rho);
392 
393  //! @}
394  //! @name Miscellaneous properties of the standard state
395  //! @{
396 
397  //! critical temperature
398  virtual doublereal critTemperature() const;
399 
400  //! critical pressure
401  virtual doublereal critPressure() const;
402 
403  //! critical density
404  virtual doublereal critDensity() const;
405 
406  //! saturation pressure
407  /*!
408  * @param T Temperature (Kelvin)
409  */
410  virtual doublereal satPressure(doublereal T);
411 
412  //! Return the molecular weight of the species
413  //! in units of kg kmol-1
414  doublereal molecularWeight() const;
415 
416  //! Set the molecular weight of the species
417  /*!
418  * @param mw Molecular Weight in kg kmol-1
419  */
420  void setMolecularWeight(doublereal mw);
421 
422  //! @}
423  //! @name Initialization of the Object
424  //! @{
425 
426  //! Set the SpeciesThermoInterpType object used to calculate reference
427  //! state properties
428  void setReferenceThermo(shared_ptr<SpeciesThermoInterpType> stit) {
429  m_spthermo = stit;
430  }
431 
432  //! Returns 'true' if this object should be used in an STITbyPDSS object
433  //! in the phase's reference thermo manager, or 'false' if a separate
434  //! SpeciesThermoInterpType should be constructed
435  virtual bool useSTITbyPDSS() const {
436  return false;
437  }
438 
439  //! Set the parent VPStandardStateTP object of this PDSS object
440  /*!
441  * This information is only used by certain PDSS subclasses
442  * @param phase Pointer to the parent phase
443  * @param k Index of this species in the phase
444  */
445  virtual void setParent(VPStandardStateTP* phase, size_t k) {}
446 
447  //! Initialization routine
448  /*!
449  * This is a cascading call, where each level should call the the parent
450  * level.
451  */
452  virtual void initThermo() {}
453 
454  //! Initialization routine for the PDSS object based on the speciesNode
455  /*!
456  * This is a cascading call, where each level should call the the parent
457  * level. This function is called before initThermo()
458  */
459  virtual void setParametersFromXML(const XML_Node& speciesNode) {}
460 
461  //! This utility function reports back the type of parameterization and
462  //! all of the parameters for the species, index.
463  /*!
464  * @param kindex Species index (unused)
465  * @param type Integer type of the standard type (unused)
466  * @param c Vector of coefficients used to set the
467  * parameters for the standard state.
468  * @param minTemp output - Minimum temperature
469  * @param maxTemp output - Maximum temperature
470  * @param refPressure output - reference pressure (Pa).
471  */
472  virtual void reportParams(size_t& kindex, int& type, doublereal* const c,
473  doublereal& minTemp, doublereal& maxTemp,
474  doublereal& refPressure) const;
475 
476  //@}
477 
478 protected:
479  //! Current temperature used by the PDSS object
480  mutable doublereal m_temp;
481 
482  //! State of the system - pressure
483  mutable doublereal m_pres;
484 
485  //! Reference state pressure of the species.
486  doublereal m_p0;
487 
488  //! Minimum temperature
489  doublereal m_minTemp;
490 
491  //! Maximum temperature
492  doublereal m_maxTemp;
493 
494  //! Molecular Weight of the species
495  doublereal m_mw;
496 
497  //! Pointer to the species thermodynamic property manager. Not used in all
498  //! PDSS models.
499  shared_ptr<SpeciesThermoInterpType> m_spthermo;
500 };
501 
502 //! Base class for PDSS classes which compute molar properties directly
503 class PDSS_Molar : public virtual PDSS
504 {
505 public:
506  virtual doublereal enthalpy_RT() const;
507  virtual doublereal entropy_R() const;
508  virtual doublereal gibbs_RT() const;
509  virtual doublereal cp_R() const;
510 };
511 
512 //! Base class for PDSS classes which compute nondimensional properties directly
513 class PDSS_Nondimensional : public virtual PDSS
514 {
515 public:
517 
518  virtual doublereal enthalpy_mole() const;
519  virtual doublereal entropy_mole() const;
520  virtual doublereal gibbs_mole() const;
521  virtual doublereal cp_mole() const;
522 
523  virtual double enthalpy_RT_ref() const;
524  virtual double entropy_R_ref() const;
525  virtual double gibbs_RT_ref() const;
526  virtual double cp_R_ref() const;
527  virtual double molarVolume_ref() const;
528  virtual double enthalpy_RT() const;
529  virtual double entropy_R() const;
530  virtual double gibbs_RT() const;
531  virtual double cp_R() const;
532  virtual double molarVolume() const;
533  virtual double density() const;
534 
535 protected:
536  double m_h0_RT; //!< Reference state enthalpy divided by RT
537  double m_cp0_R; //!< Reference state heat capacity divided by R
538  double m_s0_R; //!< Reference state entropy divided by R
539  double m_g0_RT; //!< Reference state Gibbs free energy divided by RT
540  double m_V0; //!< Reference state molar volume (m^3/kmol)
541  double m_hss_RT; //!< Standard state enthalpy divided by RT
542  double m_cpss_R; //!< Standard state heat capacity divided by R
543  double m_sss_R; //!< Standard state entropy divided by R
544  double m_gss_RT; //!< Standard state Gibbs free energy divided by RT
545  double m_Vss; //!< Standard State molar volume (m^3/kmol)
546 };
547 
548 }
549 
550 #endif
void setReferenceThermo(shared_ptr< SpeciesThermoInterpType > stit)
Set the SpeciesThermoInterpType object used to calculate reference state properties.
Definition: PDSS.h:428
double m_gss_RT
Standard state Gibbs free energy divided by RT.
Definition: PDSS.h:544
virtual doublereal critPressure() const
critical pressure
Definition: PDSS.cpp:147
virtual double entropy_R_ref() const
Return the molar entropy divided by R at reference pressure.
Definition: PDSS.cpp:277
virtual double enthalpy_RT() const
Return the standard state molar enthalpy divided by RT.
Definition: PDSS.cpp:292
virtual doublereal entropy_mole() const
Return the molar entropy in units of J kmol-1 K-1.
Definition: PDSS.cpp:252
virtual doublereal gibbs_RT() const
Return the molar Gibbs free energy divided by RT.
Definition: PDSS.cpp:221
virtual void initThermo()
Initialization routine.
Definition: PDSS.h:452
virtual double gibbs_RT_ref() const
Return the molar Gibbs free energy divided by RT at reference pressure.
Definition: PDSS.cpp:267
virtual doublereal entropy_mole() const
Return the molar entropy in units of J kmol-1 K-1.
Definition: PDSS.cpp:42
virtual void setParent(VPStandardStateTP *phase, size_t k)
Set the parent VPStandardStateTP object of this PDSS object.
Definition: PDSS.h:445
virtual double enthalpy_RT_ref() const
Return the molar enthalpy divided by RT at reference pressure.
Definition: PDSS.cpp:272
virtual void setPressure(doublereal pres)
Sets the pressure in the object.
Definition: PDSS.cpp:157
virtual doublereal entropy_R_ref() const
Return the molar entropy divided by R at reference pressure.
Definition: PDSS.cpp:97
virtual doublereal entropy_R() const
Return the standard state entropy divided by RT.
Definition: PDSS.cpp:47
virtual doublereal cp_mole() const
Return the molar const pressure heat capacity in units of J kmol-1 K-1.
Definition: PDSS.cpp:62
virtual void setParametersFromXML(const XML_Node &speciesNode)
Initialization routine for the PDSS object based on the speciesNode.
Definition: PDSS.h:459
virtual doublereal density() const
Return the standard state density at standard state.
Definition: PDSS.cpp:77
double m_sss_R
Standard state entropy divided by R.
Definition: PDSS.h:543
virtual doublereal satPressure(doublereal T)
saturation pressure
Definition: PDSS.cpp:191
doublereal refPressure() const
Return the reference pressure for this phase.
Definition: PDSS.h:293
doublereal m_pres
State of the system - pressure.
Definition: PDSS.h:483
doublereal molecularWeight() const
Return the molecular weight of the species in units of kg kmol-1.
Definition: PDSS.cpp:172
Class XML_Node is a tree-based representation of the contents of an XML file.
Definition: xml.h:97
This file contains definitions of terms that are used in internal routines and are unlikely to need m...
virtual doublereal cv_mole() const
Return the molar const volume heat capacity in units of J kmol-1 K-1.
Definition: PDSS.cpp:82
virtual doublereal cp_R() const
Return the molar const pressure heat capacity divided by RT.
Definition: PDSS.cpp:226
virtual doublereal temperature() const
Return the current stored temperature.
Definition: PDSS.cpp:162
virtual doublereal pressure() const
Returns the pressure (Pa)
Definition: PDSS.cpp:132
double m_cp0_R
Reference state heat capacity divided by R.
Definition: PDSS.h:537
virtual doublereal cpDelp_mole() const
Get the difference in standard state heat capacity between the current pressure and the reference pre...
Definition: PDSS.cpp:127
virtual doublereal cp_R() const
Return the molar const pressure heat capacity divided by RT.
Definition: PDSS.cpp:67
void setMolecularWeight(doublereal mw)
Set the molecular weight of the species.
Definition: PDSS.cpp:176
virtual doublereal enthalpy_mole() const
Return the molar enthalpy in units of J kmol-1.
Definition: PDSS.cpp:27
virtual doublereal intEnergy_mole() const
Return the molar internal Energy in units of J kmol-1.
Definition: PDSS.cpp:37
doublereal maxTemp() const
return the minimum temperature
Definition: PDSS.h:303
virtual doublereal entropy_R() const
Return the standard state entropy divided by RT.
Definition: PDSS.cpp:216
virtual doublereal molarVolume_ref() const
Return the molar volume at reference pressure.
Definition: PDSS.cpp:107
Base class for PDSS classes which compute molar properties directly.
Definition: PDSS.h:503
double m_hss_RT
Standard state enthalpy divided by RT.
Definition: PDSS.h:541
virtual doublereal molarVolume() const
Return the molar volume at standard state.
Definition: PDSS.cpp:72
double m_cpss_R
Standard state heat capacity divided by R.
Definition: PDSS.h:542
double m_s0_R
Reference state entropy divided by R.
Definition: PDSS.h:538
virtual double entropy_R() const
Return the standard state entropy divided by RT.
Definition: PDSS.cpp:297
virtual bool useSTITbyPDSS() const
Returns &#39;true&#39; if this object should be used in an STITbyPDSS object in the phase&#39;s reference thermo ...
Definition: PDSS.h:435
virtual void setTemperature(doublereal temp)
Set the internal temperature.
Definition: PDSS.cpp:167
Base class for PDSS classes which compute nondimensional properties directly.
Definition: PDSS.h:513
double m_Vss
Standard State molar volume (m^3/kmol)
Definition: PDSS.h:545
virtual doublereal cp_R_ref() const
Return the molar heat capacity divided by R at reference pressure.
Definition: PDSS.cpp:102
double m_V0
Reference state molar volume (m^3/kmol)
Definition: PDSS.h:540
shared_ptr< SpeciesThermoInterpType > m_spthermo
Pointer to the species thermodynamic property manager.
Definition: PDSS.h:499
virtual double gibbs_RT() const
Return the molar Gibbs free energy divided by RT.
Definition: PDSS.cpp:302
double m_g0_RT
Reference state Gibbs free energy divided by RT.
Definition: PDSS.h:539
virtual doublereal critDensity() const
critical density
Definition: PDSS.cpp:152
virtual double cp_R() const
Return the molar const pressure heat capacity divided by RT.
Definition: PDSS.cpp:307
virtual doublereal enthalpy_RT() const
Return the standard state molar enthalpy divided by RT.
Definition: PDSS.cpp:32
virtual doublereal thermalExpansionCoeff() const
Return the volumetric thermal expansion coefficient. Units: 1/K.
Definition: PDSS.cpp:137
This is a filter class for ThermoPhase that implements some prepatory steps for efficiently handling ...
virtual doublereal gibbs_RT_ref() const
Return the molar Gibbs free energy divided by RT at reference pressure.
Definition: PDSS.cpp:87
virtual doublereal gibbs_RT() const
Return the molar Gibbs free energy divided by RT.
Definition: PDSS.cpp:57
virtual doublereal enthalpyDelp_mole() const
Get the difference in the standard state enthalpy between the current pressure and the reference pres...
Definition: PDSS.cpp:112
doublereal m_maxTemp
Maximum temperature.
Definition: PDSS.h:492
virtual doublereal gibbs_mole() const
Return the molar Gibbs free energy in units of J kmol-1.
Definition: PDSS.cpp:52
doublereal m_minTemp
Minimum temperature.
Definition: PDSS.h:489
virtual void setState_TR(doublereal temp, doublereal rho)
Set the internal temperature and density.
Definition: PDSS.cpp:186
virtual double molarVolume_ref() const
Return the molar volume at reference pressure.
Definition: PDSS.cpp:287
virtual doublereal gibbsDelp_mole() const
Get the difference in the standard state Gibbs free energy between the current pressure and the refer...
Definition: PDSS.cpp:122
virtual double cp_R_ref() const
Return the molar heat capacity divided by R at reference pressure.
Definition: PDSS.cpp:282
virtual void reportParams(size_t &kindex, int &type, doublereal *const c, doublereal &minTemp, doublereal &maxTemp, doublereal &refPressure) const
This utility function reports back the type of parameterization and all of the parameters for the spe...
Definition: PDSS.cpp:196
virtual doublereal enthalpy_mole() const
Return the molar enthalpy in units of J kmol-1.
Definition: PDSS.cpp:247
Virtual base class for a species with a pressure dependent standard state.
Definition: PDSS.h:165
PDSS()
Default Constructor.
Definition: PDSS.cpp:17
doublereal m_temp
Current temperature used by the PDSS object.
Definition: PDSS.h:480
virtual doublereal gibbs_mole() const
Return the molar Gibbs free energy in units of J kmol-1.
Definition: PDSS.cpp:257
virtual doublereal entropyDelp_mole() const
Get the difference in the standard state entropy between the current pressure and the reference press...
Definition: PDSS.cpp:117
doublereal minTemp() const
return the minimum temperature
Definition: PDSS.h:298
virtual double density() const
Return the standard state density at standard state.
Definition: PDSS.cpp:317
double m_h0_RT
Reference state enthalpy divided by RT.
Definition: PDSS.h:536
virtual doublereal enthalpy_RT_ref() const
Return the molar enthalpy divided by RT at reference pressure.
Definition: PDSS.cpp:92
virtual doublereal cp_mole() const
Return the molar const pressure heat capacity in units of J kmol-1 K-1.
Definition: PDSS.cpp:262
Namespace for the Cantera kernel.
Definition: AnyMap.cpp:8
virtual doublereal enthalpy_RT() const
Return the standard state molar enthalpy divided by RT.
Definition: PDSS.cpp:211
virtual void setState_TP(doublereal temp, doublereal pres)
Set the internal temperature and pressure.
Definition: PDSS.cpp:181
virtual double molarVolume() const
Return the molar volume at standard state.
Definition: PDSS.cpp:312
doublereal m_p0
Reference state pressure of the species.
Definition: PDSS.h:486
doublereal m_mw
Molecular Weight of the species.
Definition: PDSS.h:495
virtual doublereal critTemperature() const
critical temperature
Definition: PDSS.cpp:142