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