Cantera  2.0
Protected Attributes | Private Attributes | List of all members

Class for pressure dependent standard states that uses a standard state volume model of some sort. More...

#include <PDSS_SSVol.h>

Inheritance diagram for PDSS_SSVol:
[legend]
Collaboration diagram for PDSS_SSVol:
[legend]

Public Member Functions

Constructors
 PDSS_SSVol (VPStandardStateTP *tp, size_t spindex)
 Constructor.
 
 PDSS_SSVol (VPStandardStateTP *tp, size_t spindex, std::string inputFile, std::string id="")
 Constructor that initializes the object by examining the input file of the ThermoPhase object.
 
 PDSS_SSVol (VPStandardStateTP *vptp_ptr, size_t spindex, const XML_Node &speciesNode, const XML_Node &phaseRef, bool spInstalled)
 Constructor that initializes the object by examining the input file of the ThermoPhase object.
 
 PDSS_SSVol (const PDSS_SSVol &b)
 Copy Constructur.
 
PDSS_SSVoloperator= (const PDSS_SSVol &b)
 Assignment operator.
 
virtual ~PDSS_SSVol ()
 Destructor.
 
virtual PDSSduplMyselfAsPDSS () const
 Duplicator.
 
Molar Thermodynamic Properties of the Species Standard State
   in the Solution
virtual doublereal enthalpy_mole () const
 Return the molar enthalpy in units of J kmol-1.
 
virtual doublereal enthalpy_RT () const
 Return the standard state molar enthalpy divided by RT.
 
virtual doublereal intEnergy_mole () const
 Return the molar internal Energy in units of J kmol-1.
 
virtual doublereal entropy_mole () const
 Return the molar entropy in units of J kmol-1 K-1.
 
virtual doublereal entropy_R () const
 Return the standard state entropy divided by RT.
 
virtual doublereal gibbs_mole () const
 Return the molar gibbs free energy in units of J kmol-1.
 
virtual doublereal gibbs_RT () const
 Return the molar gibbs free energy divided by RT.
 
virtual doublereal cp_mole () const
 Return the molar const pressure heat capacity in units of J kmol-1 K-1.
 
virtual doublereal cp_R () const
 Return the molar const pressure heat capacity divided by RT.
 
virtual doublereal cv_mole () const
 Return the molar const volume heat capacity in units of J kmol-1 K-1.
 
virtual doublereal molarVolume () const
 Return the molar volume at standard state.
 
virtual doublereal density () const
 Return the standard state density at standard state.
 
Utilities
PDSS_enumType reportPDSSType () const
 Returns the type of the standard state parameterization.
 
Molar Thermodynamic Properties of the Species Standard State
   in the Solution
virtual doublereal enthalpyDelp_mole () const
 Get the difference in the standard state enthalpy between the current pressure and the reference pressure, p0.
 
virtual doublereal entropyDelp_mole () const
 Get the difference in the standard state entropy between the current pressure and the reference pressure, p0.
 
virtual doublereal gibbsDelp_mole () const
 Get the difference in the standard state gibbs free energy between the current pressure and the reference pressure, p0.
 
virtual doublereal cpDelp_mole () const
 Get the difference in standard state heat capacity between the current pressure and the reference pressure, p0.
 
Properties of the Reference State of the Species
  in the Solution
doublereal refPressure () const
 Return the reference pressure for this phase.
 
doublereal minTemp () const
 return the minimum temperature
 
doublereal maxTemp () const
 return the minimum temperature
 
Mechanical Equation of State Properties
virtual doublereal pressure () const
 Returns the pressure (Pa)
 
virtual doublereal thermalExpansionCoeff () const
 Return the volumetric thermal expansion coefficient. Units: 1/K.
 
Partial Molar Properties of the Solution -----------------
doublereal temperature () const
 Return the current stored temperature.
 
Miscellaneous properties of the standard state
doublereal molecularWeight () const
 Return the molecular weight of the species in units of kg kmol-1.
 
void setMolecularWeight (doublereal mw)
 Set the molecular weight of the species.
 
Initialization of the Object
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 species, index.
 
virtual void initAllPtrs (VPStandardStateTP *vptp_ptr, VPSSMgr *vpssmgr_ptr, SpeciesThermo *spthermo_ptr)
 Initialize or Reinitialize all shallow pointers in the object.
 

Protected Attributes

PDSS_enumType m_pdssType
 Enumerated type describing the type of the PDSS object.
 
doublereal m_temp
 Current temperature used by the PDSS object.
 
doublereal m_pres
 State of the system - pressure.
 
doublereal m_p0
 Reference state pressure of the species.
 
doublereal m_minTemp
 Minimum temperature.
 
doublereal m_maxTemp
 Maximum temperature.
 
VPStandardStateTPm_tp
 Thermophase which this species belongs to.
 
VPSSMgrm_vpssmgr_ptr
 Pointer to the VPSS manager for this object.
 
doublereal m_mw
 Molecular Weight of the species.
 
size_t m_spindex
 Species index in the thermophase corresponding to this species.
 
SpeciesThermom_spthermo
 Pointer to the species thermodynamic property manager.
 
doublereal * m_h0_RT_ptr
 Reference state enthalpy divided by RT.
 
doublereal * m_cp0_R_ptr
 Reference state heat capacity divided by R.
 
doublereal * m_s0_R_ptr
 Reference state entropy divided by R.
 
doublereal * m_g0_RT_ptr
 Reference state gibbs free energy divided by RT.
 
doublereal * m_V0_ptr
 Reference state molar volume (m3 kg-1)
 
doublereal * m_hss_RT_ptr
 Standard state enthalpy divided by RT.
 
doublereal * m_cpss_R_ptr
 Standard state heat capacity divided by R.
 
doublereal * m_sss_R_ptr
 Standard state entropy divided by R.
 
doublereal * m_gss_RT_ptr
 Standard state gibbs free energy divided by RT.
 
doublereal * m_Vss_ptr
 Standard State molar volume (m3 kg-1)
 

Private Member Functions

Mechanical Equation of State Properties
virtual void setPressure (doublereal pres)
 Sets the pressure in the object.
 
virtual void setTemperature (doublereal temp)
 Set the internal temperature.
 
virtual void setState_TP (doublereal temp, doublereal pres)
 Set the internal temperature and pressure.
 
virtual void setState_TR (doublereal temp, doublereal rho)
 Set the internal temperature and density.
 
Miscellaneous properties of the standard state
virtual doublereal critTemperature () const
 critical temperature
 
virtual doublereal critPressure () const
 critical pressure
 
virtual doublereal critDensity () const
 critical density
 
virtual doublereal satPressure (doublereal t)
 saturation pressure
 
Initialization of the Object
virtual void initThermo ()
 Initialization routine for all of the shallow pointers.
 
void constructPDSSFile (VPStandardStateTP *vptp_ptr, size_t spindex, std::string inputFile, std::string id)
 Initialization of a PDSS object using an input XML file.
 
void constructPDSSXML (VPStandardStateTP *vptp_ptr, size_t spindex, const XML_Node &speciesNode, const XML_Node &phaseNode, bool spInstalled)
 Initialization of a PDSS object using an xml tree.
 
virtual void initThermoXML (const XML_Node &phaseNode, std::string &id)
 Initialization routine for the PDSS object based on the phaseNode.
 

Private Attributes

SSVolume_Model_enumType volumeModel_
 Enumerated data type describing the type of volume model used to calculate the standard state volume of the species.
 
doublereal m_constMolarVolume
 Value of the constant molar volume for the species.
 
vector_fp TCoeff_
 coefficients for the temperature representation
 
doublereal dVdT_
 Derivative of the volume wrt temperature.
 
doublereal d2VdT2_
 2nd derivative of the volume wrt temperature
 

Properties of the Reference State of the Species

  in the Solution
virtual doublereal gibbs_RT_ref () const
 Return the molar gibbs free energy divided by RT at reference pressure.
 
virtual doublereal enthalpy_RT_ref () const
 Return the molar enthalpy divided by RT at reference pressure.
 
virtual doublereal entropy_R_ref () const
 Return the molar entropy divided by R at reference pressure.
 
virtual doublereal cp_R_ref () const
 Return the molar heat capacity divided by R at reference pressure.
 
virtual doublereal molarVolume_ref () const
 Return the molar volume at reference pressure.
 
void calcMolarVolume () const
 Does the internal calculation of the volume.
 

Detailed Description

Class for pressure dependent standard states that uses a standard state volume model of some sort.

Class PDSS_SSVol is an implementation class that compute the properties of a single
species in a phase at its standard states, for a range of temperatures
and pressures. This particular class assumes that the calculation of the
thermodynamics functions can be separated into a temperature polynomial representation
for thermo functions that can be handled bey a SimpleThermo object and
a separate calculation for the standard state volume.
The Models include a cubic polynomial in temperature for either
the standard state volume or the standard state density.
The manager uses a SimpleThermo object to handle the
calculation of the reference state. This object then adds the
pressure dependencies and the volume terms to these thermo functions
to complete the representation.

The class includes the following models for the representation of the
standard state volume:

   - Constant Volume
     - This standard state model is invoked with the keyword "constant_incompressible"
       or "constant". The standard state volume is considered constant.

\[ V^o_k(T,P) = a_0 \]

Specification of Species Standard State Properties

The standard molar Gibbs free energy for species k is determined from the enthalpy and entropy expressions

\[ G^o_k(T,P) = H^o_k(T,P) - S^o_k(T,P) \]

The enthalpy is calculated mostly from the SpeciesThermo object's enthalpy evalulator. The dependence on pressure originates from the Maxwell relation

\[ {\left(\frac{dH^o_k}{dP}\right)}_T = T {\left(\frac{dS^o_k}{dP}\right)}_T + V^o_k \]

which is equal to

\[ {\left(\frac{dH^o_k}{dP}\right)}_T = V^o_k - T {\left(\frac{dV^o_k}{dT}\right)}_P \]

The entropy is calculated mostly from the SpeciesThermo objects entropy evalulator. The dependence on pressure originates from the Maxwell relation:

\[ {\left(\frac{dS^o_k}{dP}\right)}_T = - {\left(\frac{dV^o_k}{dT}\right)}_P \]

The standard state constant-pressure heat capacity expression is obtained from taking the temperature derivative of the Maxwell relation involving the enthalpy given above to yield an expression for the pressure dependence of the heat capacity.

\[ {\left(\frac{d{C}^o_{p,k}}{dP}\right)}_T = - T {\left(\frac{{d}^2{V}^o_k}{{dT}^2}\right)}_T \]

The standard molar Internal Energy for species k is determined from the following relation.

\[ U^o_k(T,P) = H^o_k(T,P) - p V^o_k \]

XML Example

An example of the specification of a standard state for the LiCl molten salt which employs a constant molar volume expression.

 <speciesData id="species_MoltenSalt">
 <species name="LiCl(L)">
   <atomArray> Li:1 Cl:1 </atomArray>
   <standardState  model="constant_incompressible">
      <molarVolume> 0.02048004 </molarVolume>
   </standardState>
   <thermo>
     <Shomate Pref="1 bar" Tmax="2000.0" Tmin="700.0">
       <floatArray size="7">
        73.18025, -9.047232, -0.316390,
        0.079587, 0.013594, -417.1314,
        157.6711
       </floatArray>
     </Shomate>
   </thermo>
 </species>
 </speciesData>

An example of the specification of a standard state for the LiCl molten salt which has a temperature dependent standard state volume.

<speciesData id="species_MoltenSalt">
<species name="LiCl(L)">
   <atomArray> Li:1 Cl:1 </atomArray>
   <standardState  model="density_temperature_polynomial">
      <densityTemperaturePolynomial units="gm/cm3" >
         1.98715, -5.890906E-4, 0.0, 0.0
      </densityTemperaturePolynomial>
   </standardState>
   <thermo>
     <Shomate Pref="1 bar" Tmax="2000.0" Tmin="700.0">
       <floatArray size="7">
         73.18025, -9.047232, -0.316390,
         0.079587, 0.013594, -417.1314,
         157.6711
       </floatArray>
     </Shomate>
   </thermo>
 </species>
 </speciesData>

Definition at line 164 of file PDSS_SSVol.h.

Constructor & Destructor Documentation

PDSS_SSVol ( VPStandardStateTP tp,
size_t  spindex 
)

Constructor.

Basic list of constructors and duplicators.

Parameters
tpPointer to the ThermoPhase object pertaining to the phase
spindexSpecies index of the species in the phase

Definition at line 29 of file PDSS_SSVol.cpp.

References Cantera::cSSVOLUME_CONSTANT, PDSS::m_pdssType, and PDSS_SSVol::TCoeff_.

Referenced by PDSS_SSVol::duplMyselfAsPDSS().

PDSS_SSVol ( VPStandardStateTP tp,
size_t  spindex,
std::string  inputFile,
std::string  id = "" 
)

Constructor that initializes the object by examining the input file of the ThermoPhase object.

This function calls the constructPDSSFile member function.

Parameters
tpPointer to the ThermoPhase object pertaining to the phase
spindexSpecies index of the species in the phase
inputFileString name of the input file
idString name of the phase in the input file. The default is the empty string, in which case the first phase in the file is used.

Definition at line 41 of file PDSS_SSVol.cpp.

References PDSS_SSVol::constructPDSSFile(), and PDSS::m_pdssType.

PDSS_SSVol ( VPStandardStateTP vptp_ptr,
size_t  spindex,
const XML_Node speciesNode,
const XML_Node phaseRef,
bool  spInstalled 
)

Constructor that initializes the object by examining the input file of the ThermoPhase object.

This function calls the constructPDSSXML member function.

Parameters
vptp_ptrPointer to the ThermoPhase object pertaining to the phase
spindexSpecies index of the species in the phase
speciesNodeReference to the species XML tree.
phaseRefReference to the XML tree containing the phase information.
spInstalledBoolean indicating whether the species is installed yet or not.

Definition at line 52 of file PDSS_SSVol.cpp.

References PDSS_SSVol::constructPDSSXML(), and PDSS::m_pdssType.

PDSS_SSVol ( const PDSS_SSVol b)

Copy Constructur.

Parameters
bObject to be copied

Definition at line 65 of file PDSS_SSVol.cpp.

~PDSS_SSVol ( )
virtual

Destructor.

Definition at line 92 of file PDSS_SSVol.cpp.

Member Function Documentation

PDSS_SSVol & operator= ( const PDSS_SSVol b)

Assignment operator.

Parameters
bObject to be copeid

Definition at line 80 of file PDSS_SSVol.cpp.

References PDSS_SSVol::m_constMolarVolume, PDSS::operator=(), PDSS_SSVol::TCoeff_, and PDSS_SSVol::volumeModel_.

PDSS * duplMyselfAsPDSS ( ) const
virtual

Duplicator.

Reimplemented from PDSS.

Definition at line 97 of file PDSS_SSVol.cpp.

References PDSS_SSVol::PDSS_SSVol().

doublereal enthalpy_mole ( ) const
virtual

Return the molar enthalpy in units of J kmol-1.

Returns the species standard state enthalpy in J kmol-1 at the current temperature and pressure.

Returns
returns the species standard state enthalpy in J kmol-1

Reimplemented from PDSS.

Definition at line 236 of file PDSS_SSVol.cpp.

References PDSS_SSVol::enthalpy_RT(), Cantera::GasConstant, and PDSS::m_temp.

doublereal enthalpy_RT ( ) const
virtual

Return the standard state molar enthalpy divided by RT.

Returns the species standard state enthalpy divided by RT at the current temperature and pressure.

Returns
returns the species standard state enthalpy in unitless form

Reimplemented from PDSS.

Definition at line 244 of file PDSS_SSVol.cpp.

References PDSS::m_hss_RT_ptr, and PDSS::m_spindex.

Referenced by PDSS_SSVol::enthalpy_mole().

doublereal intEnergy_mole ( ) const
virtual

Return the molar internal Energy in units of J kmol-1.

Returns the species standard state internal Energy in J kmol-1 at the current temperature and pressure.

Returns
returns the species standard state internal Energy in J kmol-1

Reimplemented from PDSS.

Definition at line 251 of file PDSS_SSVol.cpp.

References Cantera::GasConstant, PDSS::m_h0_RT_ptr, PDSS::m_pres, PDSS::m_spindex, PDSS::m_temp, and PDSS::m_Vss_ptr.

doublereal entropy_mole ( ) const
virtual

Return the molar entropy in units of J kmol-1 K-1.

Returns the species standard state entropy in J kmol-1 K-1 at the current temperature and pressure.

Returns
returns the species standard state entropy in J kmol-1 K-1

Reimplemented from PDSS.

Definition at line 261 of file PDSS_SSVol.cpp.

References PDSS_SSVol::entropy_R(), and Cantera::GasConstant.

doublereal entropy_R ( ) const
virtual

Return the standard state entropy divided by RT.

Returns the species standard state entropy divided by RT at the current temperature and pressure.

Returns
returns the species standard state entropy divided by RT

Reimplemented from PDSS.

Definition at line 268 of file PDSS_SSVol.cpp.

References PDSS::m_spindex, and PDSS::m_sss_R_ptr.

Referenced by PDSS_SSVol::entropy_mole().

doublereal gibbs_mole ( ) const
virtual

Return the molar gibbs free energy in units of J kmol-1.

Calculate the Gibbs free energy in mks units of J kmol-1 K-1.

Returns the species standard state gibbs free energy in J kmol-1 at the current temperature and pressure.

Returns
returns the species standard state gibbs free energy in J kmol-1

Reimplemented from PDSS.

Definition at line 279 of file PDSS_SSVol.cpp.

References Cantera::GasConstant, PDSS_SSVol::gibbs_RT(), and PDSS::m_temp.

doublereal gibbs_RT ( ) const
virtual

Return the molar gibbs free energy divided by RT.

Returns the species standard state gibbs free energy divided by RT at the current temperature and pressure.

Returns
returns the species standard state gibbs free energy divided by RT

Reimplemented from PDSS.

Definition at line 287 of file PDSS_SSVol.cpp.

References PDSS::m_gss_RT_ptr, and PDSS::m_spindex.

Referenced by PDSS_SSVol::gibbs_mole().

doublereal cp_mole ( ) const
virtual

Return the molar const pressure heat capacity in units of J kmol-1 K-1.

Returns the species standard state Cp in J kmol-1 K-1 at the current temperature and pressure.

Returns
returns the species standard state Cp in J kmol-1 K-1

Reimplemented from PDSS.

Definition at line 294 of file PDSS_SSVol.cpp.

References Cantera::GasConstant, PDSS::m_cpss_R_ptr, and PDSS::m_spindex.

Referenced by PDSS_SSVol::cv_mole().

doublereal cp_R ( ) const
virtual

Return the molar const pressure heat capacity divided by RT.

Returns the species standard state Cp divided by RT at the current temperature and pressure.

Returns
returns the species standard state Cp divided by RT

Reimplemented from PDSS.

Definition at line 301 of file PDSS_SSVol.cpp.

References PDSS::m_cpss_R_ptr, and PDSS::m_spindex.

doublereal cv_mole ( ) const
virtual

Return the molar const volume heat capacity in units of J kmol-1 K-1.

Returns the species standard state Cv in J kmol-1 K-1 at the current temperature and pressure.

Returns
returns the species standard state Cv in J kmol-1 K-1

Reimplemented from PDSS.

Definition at line 308 of file PDSS_SSVol.cpp.

References PDSS_SSVol::cp_mole(), PDSS::m_spindex, and PDSS::m_V0_ptr.

doublereal molarVolume ( ) const
virtual

Return the molar volume at standard state.

Returns the species standard state molar volume at the current temperature and pressure

Returns
returns the standard state molar volume divided by R units are m**3 kmol-1.

Reimplemented from PDSS.

Definition at line 315 of file PDSS_SSVol.cpp.

References PDSS::m_spindex, and PDSS::m_Vss_ptr.

doublereal density ( ) const
virtual

Return the standard state density at standard state.

Returns the species standard state density at the current temperature and pressure

Returns
returns the standard state density units are kg m-3

Reimplemented from PDSS.

Definition at line 322 of file PDSS_SSVol.cpp.

References PDSS::m_mw, PDSS::m_spindex, and PDSS::m_Vss_ptr.

doublereal gibbs_RT_ref ( ) const
virtual

Return the molar gibbs free energy divided by RT at reference pressure.

Returns the species reference state gibbs free energy divided by RT at the current temperature.

Returns
returns the reference state gibbs free energy divided by RT

Reimplemented from PDSS.

Definition at line 329 of file PDSS_SSVol.cpp.

References PDSS::m_g0_RT_ptr, and PDSS::m_spindex.

doublereal enthalpy_RT_ref ( ) const
virtual

Return the molar enthalpy divided by RT at reference pressure.

Returns the species reference state enthalpy divided by RT at the current temperature.

Returns
returns the reference state enthalpy divided by RT

Reimplemented from PDSS.

Definition at line 335 of file PDSS_SSVol.cpp.

References PDSS::m_h0_RT_ptr, and PDSS::m_spindex.

doublereal entropy_R_ref ( ) const
virtual

Return the molar entropy divided by R at reference pressure.

Returns the species reference state entropy divided by R at the current temperature.

Returns
returns the reference state entropy divided by R

Reimplemented from PDSS.

Definition at line 341 of file PDSS_SSVol.cpp.

References PDSS::m_s0_R_ptr, and PDSS::m_spindex.

doublereal cp_R_ref ( ) const
virtual

Return the molar heat capacity divided by R at reference pressure.

Returns the species reference state heat capacity divided by R at the current temperature.

Returns
returns the reference state heat capacity divided by R

Reimplemented from PDSS.

Definition at line 347 of file PDSS_SSVol.cpp.

References PDSS::m_cp0_R_ptr, and PDSS::m_spindex.

doublereal molarVolume_ref ( ) const
virtual

Return the molar volume at reference pressure.

Returns the species reference state molar volume at the current temperature.

Returns
returns the reference state molar volume divided by R units are m**3 kmol-1.

Reimplemented from PDSS.

Definition at line 353 of file PDSS_SSVol.cpp.

References PDSS::m_spindex, and PDSS::m_V0_ptr.

void calcMolarVolume ( ) const
private
void setPressure ( doublereal  pres)
privatevirtual

Sets the pressure in the object.

Currently, this sets the pressure in the PDSS object. It is indeterminant what happens to the owning VPStandardStateTP object and to the VPSSMgr object.

Parameters
presPressure to be set (Pascal)

Reimplemented from PDSS.

Definition at line 404 of file PDSS_SSVol.cpp.

References PDSS_SSVol::d2VdT2_, PDSS_SSVol::dVdT_, Cantera::GasConstant, PDSS::m_cp0_R_ptr, PDSS::m_cpss_R_ptr, PDSS::m_gss_RT_ptr, PDSS::m_h0_RT_ptr, PDSS::m_hss_RT_ptr, PDSS::m_p0, PDSS::m_pres, PDSS::m_s0_R_ptr, PDSS::m_spindex, PDSS::m_sss_R_ptr, PDSS::m_temp, and PDSS::m_Vss_ptr.

void setTemperature ( doublereal  temp)
privatevirtual
void setState_TP ( doublereal  temp,
doublereal  pres 
)
privatevirtual

Set the internal temperature and pressure.

Parameters
tempTemperature (Kelvin)
prespressure (Pascals)

Reimplemented from PDSS.

Definition at line 446 of file PDSS_SSVol.cpp.

References PDSS::m_pres, and PDSS_SSVol::setTemperature().

void setState_TR ( doublereal  temp,
doublereal  rho 
)
privatevirtual

Set the internal temperature and density.

Parameters
tempTemperature (Kelvin)
rhoDensity (kg m-3)

Reimplemented from PDSS.

Definition at line 453 of file PDSS_SSVol.cpp.

References PDSS_SSVol::m_constMolarVolume, PDSS::m_mw, and PDSS_SSVol::setTemperature().

doublereal critTemperature ( ) const
privatevirtual

critical temperature

Reimplemented from PDSS.

Definition at line 382 of file PDSS_SSVol.cpp.

doublereal critPressure ( ) const
privatevirtual

critical pressure

Reimplemented from PDSS.

Definition at line 389 of file PDSS_SSVol.cpp.

doublereal critDensity ( ) const
privatevirtual

critical density

Reimplemented from PDSS.

Definition at line 396 of file PDSS_SSVol.cpp.

doublereal satPressure ( doublereal  t)
privatevirtual

saturation pressure

Parameters
tTemperature (kelvin)

Reimplemented from PDSS.

Definition at line 464 of file PDSS_SSVol.cpp.

void initThermo ( )
privatevirtual

Initialization routine for all of the shallow pointers.

This is a cascading call, where each level should call the the parent level.

The initThermo() routines get called before the initThermoXML() routines from the constructPDSSXML() routine.

Calls initPtrs();

Reimplemented from PDSS.

Definition at line 226 of file PDSS_SSVol.cpp.

References PDSS::initThermo(), PDSS_SSVol::m_constMolarVolume, PDSS::m_p0, PDSS::m_spindex, PDSS::m_tp, PDSS::m_V0_ptr, PDSS::m_Vss_ptr, SpeciesThermo::refPressure(), and ThermoPhase::speciesThermo().

void constructPDSSFile ( VPStandardStateTP vptp_ptr,
size_t  spindex,
std::string  inputFile,
std::string  id 
)
private

Initialization of a PDSS object using an input XML file.

This routine is a precursor to constructPDSSXML(XML_Node*) routine, which does most of the work.

Parameters
vptp_ptrPointer to the Variable pressure ThermoPhase object This object must have already been malloced.
spindexSpecies index within the phase
inputFileXML file containing the description of the phase
idOptional parameter identifying the name of the phase. If none is given, the first XML phase element will be used.

Definition at line 179 of file PDSS_SSVol.cpp.

References XML_Node::build(), XML_Node::child(), PDSS_SSVol::constructPDSSXML(), XML_Node::findByAttr(), Cantera::findInputFile(), Cantera::findXMLPhase(), Cantera::get_XML_NameID(), XML_Node::root(), and Phase::speciesNames().

Referenced by PDSS_SSVol::PDSS_SSVol().

void constructPDSSXML ( VPStandardStateTP vptp_ptr,
size_t  spindex,
const XML_Node speciesNode,
const XML_Node phaseNode,
bool  spInstalled 
)
private

Initialization of a PDSS object using an xml tree.

This routine is a driver for the initialization of the object.

basic logic: initThermo() (cascade) getStuff from species Part of XML file initThermoXML(phaseNode) (cascade)

Parameters
vptp_ptrPointer to the Variable pressure ThermoPhase object This object must have already been malloced.
spindexSpecies index within the phase
speciesNodeXML Node containing the species information
phaseNodeReference to the phase Information for the phase that owns this species.
spInstalledBoolean indicating whether the species is already installed.

Definition at line 119 of file PDSS_SSVol.cpp.

References Cantera::cSSVOLUME_CONSTANT, Cantera::cSSVOLUME_DENSITY_TPOLY, Cantera::cSSVOLUME_TPOLY, XML_Node::findByName(), ctml::getFloat(), ctml::getFloatArray(), PDSS::initThermo(), PDSS_SSVol::m_constMolarVolume, PDSS::m_p0, PDSS::m_spindex, PDSS::m_tp, XML_Node::name(), SpeciesThermo::refPressure(), ThermoPhase::speciesThermo(), PDSS_SSVol::TCoeff_, and PDSS_SSVol::volumeModel_.

Referenced by PDSS_SSVol::constructPDSSFile(), and PDSS_SSVol::PDSS_SSVol().

void initThermoXML ( const XML_Node phaseNode,
std::string &  id 
)
privatevirtual

Initialization routine for the PDSS object based on the phaseNode.

This is a cascading call, where each level should call the the parent level.

Parameters
phaseNodeReference to the phase Information for the phase that owns this species.
idOptional parameter identifying the name of the phase. If none is given, the first XML phase element will be used.

Reimplemented from PDSS.

Definition at line 217 of file PDSS_SSVol.cpp.

References PDSS::initThermoXML(), PDSS::m_maxTemp, PDSS::m_minTemp, PDSS::m_mw, PDSS::m_p0, PDSS::m_spindex, PDSS::m_spthermo, PDSS::m_tp, SpeciesThermo::maxTemp(), SpeciesThermo::minTemp(), Phase::molecularWeight(), and SpeciesThermo::refPressure().

PDSS_enumType reportPDSSType ( ) const
inherited

Returns the type of the standard state parameterization.

Returns
Returns the integer # of the parameterization

Definition at line 194 of file PDSS.cpp.

References PDSS::m_pdssType.

Referenced by VPSSMgr_General::reportPDSSType().

doublereal enthalpyDelp_mole ( ) const
virtualinherited

Get the difference in the standard state enthalpy between the current pressure and the reference pressure, p0.

Return the difference in enthalpy between current p and ref p0, in mks units of in units of J kmol-1.

Definition at line 390 of file PDSS.cpp.

References PDSS::enthalpy_mole(), PDSS::enthalpy_RT_ref(), Cantera::GasConstant, and PDSS::m_temp.

doublereal entropyDelp_mole ( ) const
virtualinherited

Get the difference in the standard state entropy between the current pressure and the reference pressure, p0.

Return the difference in entropy between current p and ref p0, in mks units of J kmol-1 K-1.

Definition at line 403 of file PDSS.cpp.

References PDSS::entropy_mole(), PDSS::entropy_R_ref(), and Cantera::GasConstant.

doublereal gibbsDelp_mole ( ) const
virtualinherited

Get the difference in the standard state gibbs free energy between the current pressure and the reference pressure, p0.

Calculate the difference in Gibbs free energy between current p and the ref p0, in mks units of J kmol-1 K-1.

Definition at line 415 of file PDSS.cpp.

References Cantera::GasConstant, PDSS::gibbs_mole(), PDSS::gibbs_RT_ref(), and PDSS::m_temp.

doublereal cpDelp_mole ( ) const
virtualinherited

Get the difference in standard state heat capacity between the current pressure and the reference pressure, p0.

Definition at line 429 of file PDSS.cpp.

References PDSS::cp_mole(), PDSS::cp_R_ref(), and Cantera::GasConstant.

doublereal refPressure ( ) const
inlineinherited

Return the reference pressure for this phase.

Definition at line 429 of file PDSS.h.

References PDSS::m_p0.

Referenced by VPSSMgr_General::createInstallPDSS(), VPSSMgr::initThermoXML(), STITbyPDSS::refPressure(), VPSSMgr::refPressure(), and STITbyPDSS::reportParameters().

doublereal minTemp ( ) const
inlineinherited

return the minimum temperature

Definition at line 434 of file PDSS.h.

References PDSS::m_minTemp.

Referenced by VPSSMgr_General::createInstallPDSS(), VPSSMgr::initThermoXML(), STITbyPDSS::minTemp(), and VPSSMgr::minTemp().

doublereal maxTemp ( ) const
inlineinherited

return the minimum temperature

Definition at line 440 of file PDSS.h.

References PDSS::m_maxTemp.

Referenced by VPSSMgr_General::createInstallPDSS(), VPSSMgr::initThermoXML(), STITbyPDSS::maxTemp(), and VPSSMgr::maxTemp().

doublereal pressure ( ) const
virtualinherited

Returns the pressure (Pa)

Calculate the pressure (Pascals), given the temperature and density Temperature: kelvin rho: density in kg m-3.

Reimplemented in PDSS_IonsFromNeutral, PDSS_HKFT, PDSS_Water, and PDSS_IdealGas.

Definition at line 440 of file PDSS.cpp.

References PDSS::m_pres.

doublereal thermalExpansionCoeff ( ) const
virtualinherited

Return the volumetric thermal expansion coefficient. Units: 1/K.

The thermal expansion coefficient is defined as

\[ \beta = \frac{1}{v}\left(\frac{\partial v}{\partial T}\right)_P \]

Reimplemented in PDSS_Water.

Definition at line 452 of file PDSS.cpp.

doublereal temperature ( ) const
inherited

Return the current stored temperature.

Return the temperature.

Obtain the temperature from the owning ThermoPhase object if you can.

Definition at line 491 of file PDSS.cpp.

References PDSS::m_temp.

doublereal molecularWeight ( ) const
inherited

Return the molecular weight of the species in units of kg kmol-1.

Definition at line 501 of file PDSS.cpp.

References PDSS::m_mw.

Referenced by DebyeHuckel::initThermoXML().

void setMolecularWeight ( doublereal  mw)
inherited

Set the molecular weight of the species.

Parameters
mwMolecular Weight in kg kmol-1

Definition at line 505 of file PDSS.cpp.

References PDSS::m_mw.

void reportParams ( size_t &  kindex,
int &  type,
doublereal *const  c,
doublereal &  minTemp,
doublereal &  maxTemp,
doublereal &  refPressure 
) const
virtualinherited

This utility function reports back the type of parameterization and all of the parameters for the species, index.

Parameters
kindexSpecies index
typeInteger type of the standard type
cVector of coefficients used to set the parameters for the standard state.
minTempoutput - Minimum temperature
maxTempoutput - Maximum temperature
refPressureoutput - reference pressure (Pa).

Reimplemented in PDSS_HKFT.

Definition at line 534 of file PDSS.cpp.

References PDSS::m_maxTemp, PDSS::m_minTemp, PDSS::m_p0, PDSS::m_pdssType, and PDSS::m_spindex.

Referenced by PDSS_HKFT::reportParams().

void initAllPtrs ( VPStandardStateTP vptp_ptr,
VPSSMgr vpssmgr_ptr,
SpeciesThermo spthermo_ptr 
)
virtualinherited

Initialize or Reinitialize all shallow pointers in the object.

This command is called to reinitialize all shallow pointers in the object. It's needed for the duplicator capability

Parameters
vptp_ptrPointer to the Variable pressure ThermoPhase object This object must have already been malloced.
vpssmgr_ptrPointer to the variable pressure standard state calculator for this phase
spthermo_ptrPointer to the optional SpeciesThermo object that will handle the calculation of the reference state thermodynamic coefficients.

Reimplemented in PDSS_HKFT, and PDSS_IonsFromNeutral.

Definition at line 216 of file PDSS.cpp.

References PDSS::initPtrs(), PDSS::m_spthermo, PDSS::m_tp, and PDSS::m_vpssmgr_ptr.

Referenced by PDSS_IonsFromNeutral::initAllPtrs(), PDSS_HKFT::initAllPtrs(), and VPStandardStateTP::operator=().

Member Data Documentation

SSVolume_Model_enumType volumeModel_
private

Enumerated data type describing the type of volume model used to calculate the standard state volume of the species.

Definition at line 560 of file PDSS_SSVol.h.

Referenced by PDSS_SSVol::calcMolarVolume(), PDSS_SSVol::constructPDSSXML(), and PDSS_SSVol::operator=().

doublereal m_constMolarVolume
private

Value of the constant molar volume for the species.

m3 / kmol

Definition at line 566 of file PDSS_SSVol.h.

Referenced by PDSS_SSVol::calcMolarVolume(), PDSS_SSVol::constructPDSSXML(), PDSS_SSVol::initThermo(), PDSS_SSVol::operator=(), and PDSS_SSVol::setState_TR().

vector_fp TCoeff_
private

coefficients for the temperature representation

Definition at line 569 of file PDSS_SSVol.h.

Referenced by PDSS_SSVol::calcMolarVolume(), PDSS_SSVol::constructPDSSXML(), PDSS_SSVol::operator=(), and PDSS_SSVol::PDSS_SSVol().

doublereal dVdT_
mutableprivate

Derivative of the volume wrt temperature.

Definition at line 572 of file PDSS_SSVol.h.

Referenced by PDSS_SSVol::calcMolarVolume(), PDSS_SSVol::setPressure(), and PDSS_SSVol::setTemperature().

doublereal d2VdT2_
mutableprivate

2nd derivative of the volume wrt temperature

Definition at line 575 of file PDSS_SSVol.h.

Referenced by PDSS_SSVol::calcMolarVolume(), PDSS_SSVol::setPressure(), and PDSS_SSVol::setTemperature().

PDSS_enumType m_pdssType
protectedinherited
doublereal m_temp
mutableprotectedinherited

Current temperature used by the PDSS object.

Definition at line 664 of file PDSS.h.

Referenced by PDSS_SSVol::calcMolarVolume(), PDSS_HKFT::cp_mole(), PDSS_Water::cp_R_ref(), PDSS_HKFT::cp_R_ref(), PDSS_HKFT::deltaG(), PDSS_HKFT::deltaS(), PDSS_IdealGas::density(), PDSS_IonsFromNeutral::density(), PDSS_Water::dthermalExpansionCoeffdT(), PDSS_ConstVol::enthalpy_mole(), PDSS_IdealGas::enthalpy_mole(), PDSS_IonsFromNeutral::enthalpy_mole(), PDSS_HKFT::enthalpy_mole(), PDSS_SSVol::enthalpy_mole(), PDSS_HKFT::enthalpy_RT(), PDSS::enthalpy_RT(), PDSS_Water::enthalpy_RT_ref(), PDSS_HKFT::enthalpy_RT_ref(), PDSS::enthalpyDelp_mole(), PDSS_Water::entropy_R_ref(), PDSS_HKFT::entropy_R_ref(), PDSS_ConstVol::gibbs_mole(), PDSS_IdealGas::gibbs_mole(), PDSS_IonsFromNeutral::gibbs_mole(), PDSS_Water::gibbs_mole(), PDSS_SSVol::gibbs_mole(), PDSS::gibbs_RT(), PDSS_Water::gibbs_RT_ref(), PDSS_HKFT::gibbs_RT_ref(), PDSS::gibbsDelp_mole(), PDSS_HKFT::initThermo(), PDSS_ConstVol::intEnergy_mole(), PDSS_IdealGas::intEnergy_mole(), PDSS_IonsFromNeutral::intEnergy_mole(), PDSS_SSVol::intEnergy_mole(), PDSS_IdealGas::molarVolume(), PDSS_HKFT::molarVolume(), PDSS_IdealGas::molarVolume_ref(), PDSS_Water::molarVolume_ref(), PDSS_HKFT::molarVolume_ref(), PDSS::operator=(), PDSS_Water::satPressure(), PDSS_Water::setDensity(), PDSS_ConstVol::setPressure(), PDSS_IdealGas::setPressure(), PDSS_Water::setPressure(), PDSS_SSVol::setPressure(), PDSS_Water::setState_TP(), PDSS_IonsFromNeutral::setState_TP(), PDSS_Water::setState_TR(), PDSS_ConstVol::setTemperature(), PDSS_IdealGas::setTemperature(), PDSS_Water::setTemperature(), PDSS_HKFT::setTemperature(), PDSS_IonsFromNeutral::setTemperature(), PDSS_SSVol::setTemperature(), PDSS::setTemperature(), PDSS_IdealGas::temperature(), PDSS_HKFT::temperature(), PDSS_IonsFromNeutral::temperature(), and PDSS::temperature().

doublereal m_pres
mutableprotectedinherited
doublereal m_p0
protectedinherited
doublereal m_minTemp
protectedinherited
doublereal m_maxTemp
protectedinherited
VPStandardStateTP* m_tp
protectedinherited
VPSSMgr* m_vpssmgr_ptr
protectedinherited
doublereal m_mw
protectedinherited
size_t m_spindex
protectedinherited

Species index in the thermophase corresponding to this species.

Definition at line 697 of file PDSS.h.

Referenced by PDSS_SSVol::calcMolarVolume(), PDSS_ConstVol::constructPDSSXML(), PDSS_HKFT::constructPDSSXML(), PDSS_SSVol::constructPDSSXML(), PDSS_HKFT::convertDGFormation(), PDSS_ConstVol::cp_mole(), PDSS_HKFT::cp_mole(), PDSS_SSVol::cp_mole(), PDSS_ConstVol::cp_R(), PDSS_IdealGas::cp_R(), PDSS_SSVol::cp_R(), PDSS_ConstVol::cp_R_ref(), PDSS_SSVol::cp_R_ref(), PDSS_ConstVol::cv_mole(), PDSS_SSVol::cv_mole(), PDSS_ConstVol::density(), PDSS_SSVol::density(), PDSS_HKFT::enthalpy_mole(), PDSS_ConstVol::enthalpy_RT(), PDSS_IdealGas::enthalpy_RT(), PDSS_SSVol::enthalpy_RT(), PDSS_ConstVol::enthalpy_RT_ref(), PDSS_IdealGas::enthalpy_RT_ref(), PDSS_SSVol::enthalpy_RT_ref(), PDSS_ConstVol::entropy_R(), PDSS_IdealGas::entropy_R(), PDSS_SSVol::entropy_R(), PDSS_ConstVol::entropy_R_ref(), PDSS_IdealGas::entropy_R_ref(), PDSS_SSVol::entropy_R_ref(), PDSS_ConstVol::gibbs_RT(), PDSS_IdealGas::gibbs_RT(), PDSS_SSVol::gibbs_RT(), PDSS_ConstVol::gibbs_RT_ref(), PDSS_IdealGas::gibbs_RT_ref(), PDSS_SSVol::gibbs_RT_ref(), PDSS_ConstVol::initThermo(), PDSS_HKFT::initThermo(), PDSS_IdealGas::initThermo(), PDSS_IonsFromNeutral::initThermo(), PDSS_SSVol::initThermo(), PDSS::initThermo(), PDSS_ConstVol::initThermoXML(), PDSS_SSVol::initThermoXML(), PDSS::initThermoXML(), PDSS_ConstVol::intEnergy_mole(), PDSS_IdealGas::intEnergy_mole(), PDSS_IonsFromNeutral::intEnergy_mole(), PDSS_SSVol::intEnergy_mole(), PDSS_ConstVol::molarVolume(), PDSS_SSVol::molarVolume(), PDSS_ConstVol::molarVolume_ref(), PDSS_SSVol::molarVolume_ref(), PDSS::operator=(), PDSS::reportParams(), PDSS_ConstVol::setPressure(), PDSS_IdealGas::setPressure(), PDSS_SSVol::setPressure(), PDSS_ConstVol::setTemperature(), PDSS_IdealGas::setTemperature(), and PDSS_SSVol::setTemperature().

SpeciesThermo* m_spthermo
protectedinherited

Pointer to the species thermodynamic property manager.

This is a copy of the pointer in the ThermoPhase object. Note, this object doesn't own the pointer. If the SpeciesThermo ThermoPhase object doesn't know or doesn't control the calculation, this will be set to zero.

Definition at line 707 of file PDSS.h.

Referenced by PDSS::initAllPtrs(), PDSS_IdealGas::initThermo(), PDSS_IonsFromNeutral::initThermo(), PDSS_ConstVol::initThermoXML(), PDSS_SSVol::initThermoXML(), PDSS::operator=(), PDSS::PDSS(), PDSS_Water::PDSS_Water(), PDSS_ConstVol::setTemperature(), PDSS_IdealGas::setTemperature(), and PDSS_SSVol::setTemperature().

doublereal* m_h0_RT_ptr
protectedinherited
doublereal* m_cp0_R_ptr
protectedinherited

Reference state heat capacity divided by R.

Storage for the thermo properties is provided by VPSSMgr. Calculated at the current value of T and m_p0

Definition at line 723 of file PDSS.h.

Referenced by PDSS_IdealGas::cp_R(), PDSS_ConstVol::cp_R_ref(), PDSS_SSVol::cp_R_ref(), PDSS::initPtrs(), PDSS::operator=(), PDSS_SSVol::setPressure(), PDSS_ConstVol::setTemperature(), PDSS_IdealGas::setTemperature(), and PDSS_SSVol::setTemperature().

doublereal* m_s0_R_ptr
protectedinherited

Reference state entropy divided by R.

Storage for the thermo properties is provided by VPSSMgr. Calculated at the current value of T and m_p0

Definition at line 731 of file PDSS.h.

Referenced by PDSS_IdealGas::entropy_R(), PDSS_ConstVol::entropy_R_ref(), PDSS_IdealGas::entropy_R_ref(), PDSS_SSVol::entropy_R_ref(), PDSS::initPtrs(), PDSS::operator=(), PDSS_IdealGas::setPressure(), PDSS_SSVol::setPressure(), PDSS_ConstVol::setTemperature(), PDSS_IdealGas::setTemperature(), and PDSS_SSVol::setTemperature().

doublereal* m_g0_RT_ptr
protectedinherited

Reference state gibbs free energy divided by RT.

Calculated at the current value of T and m_p0

Definition at line 737 of file PDSS.h.

Referenced by PDSS_IdealGas::gibbs_RT(), PDSS_ConstVol::gibbs_RT_ref(), PDSS_IdealGas::gibbs_RT_ref(), PDSS_SSVol::gibbs_RT_ref(), PDSS::initPtrs(), PDSS::operator=(), PDSS_ConstVol::setTemperature(), PDSS_IdealGas::setTemperature(), and PDSS_SSVol::setTemperature().

doublereal* m_V0_ptr
protectedinherited

Reference state molar volume (m3 kg-1)

Storage for the thermo properties is provided by VPSSMgr. Calculated at the current value of T and m_p0

Definition at line 745 of file PDSS.h.

Referenced by PDSS_ConstVol::cv_mole(), PDSS_SSVol::cv_mole(), PDSS::initPtrs(), PDSS_ConstVol::initThermo(), PDSS_SSVol::initThermo(), PDSS_ConstVol::molarVolume_ref(), PDSS_SSVol::molarVolume_ref(), PDSS::operator=(), and PDSS_IdealGas::setTemperature().

doublereal* m_hss_RT_ptr
protectedinherited

Standard state enthalpy divided by RT.

Storage for the thermo properties is provided by VPSSMgr. Calculated at the current value of T and P

Definition at line 753 of file PDSS.h.

Referenced by PDSS_ConstVol::enthalpy_RT(), PDSS_SSVol::enthalpy_RT(), PDSS::initPtrs(), PDSS::operator=(), PDSS_ConstVol::setPressure(), PDSS_IdealGas::setPressure(), PDSS_SSVol::setPressure(), PDSS_ConstVol::setTemperature(), PDSS_IdealGas::setTemperature(), and PDSS_SSVol::setTemperature().

doublereal* m_cpss_R_ptr
protectedinherited

Standard state heat capacity divided by R.

Storage for the thermo properties is provided by VPSSMgr. Calculated at the current value of T and P

Definition at line 761 of file PDSS.h.

Referenced by PDSS_ConstVol::cp_mole(), PDSS_SSVol::cp_mole(), PDSS_ConstVol::cp_R(), PDSS_SSVol::cp_R(), PDSS::initPtrs(), PDSS::operator=(), PDSS_SSVol::setPressure(), PDSS_ConstVol::setTemperature(), PDSS_IdealGas::setTemperature(), and PDSS_SSVol::setTemperature().

doublereal* m_sss_R_ptr
protectedinherited

Standard state entropy divided by R.

Storage for the thermo properties is provided by VPSSMgr. Calculated at the current value of T and P

Definition at line 769 of file PDSS.h.

Referenced by PDSS_ConstVol::entropy_R(), PDSS_SSVol::entropy_R(), PDSS::initPtrs(), PDSS::operator=(), PDSS_ConstVol::setPressure(), PDSS_IdealGas::setPressure(), PDSS_SSVol::setPressure(), PDSS_ConstVol::setTemperature(), PDSS_IdealGas::setTemperature(), and PDSS_SSVol::setTemperature().

doublereal* m_gss_RT_ptr
protectedinherited

Standard state gibbs free energy divided by RT.

Storage for the thermo properties is provided by VPSSMgr. Calculated at the current value of T and P

Definition at line 777 of file PDSS.h.

Referenced by PDSS_ConstVol::gibbs_RT(), PDSS_SSVol::gibbs_RT(), PDSS::initPtrs(), PDSS::operator=(), PDSS_ConstVol::setPressure(), PDSS_IdealGas::setPressure(), PDSS_SSVol::setPressure(), PDSS_ConstVol::setTemperature(), PDSS_IdealGas::setTemperature(), and PDSS_SSVol::setTemperature().

doublereal* m_Vss_ptr
protectedinherited

The documentation for this class was generated from the following files: