Cantera  2.0

Class for pressure dependent standard states corresponding to ionic solutes in electrolyte water. More...

#include <PDSS_HKFT.h>

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

## Public Member Functions

Constructors
PDSS_HKFT (VPStandardStateTP *tp, size_t spindex)
Constructor that initializes the object by examining the XML entries from the ThermoPhase object.

PDSS_HKFT (const PDSS_HKFT &b)
Copy Constructor.

PDSS_HKFToperator= (const PDSS_HKFT &b)
Assignment operator.

PDSS_HKFT (VPStandardStateTP *vptp_ptr, size_t spindex, std::string inputFile, std::string id="")
Constructor that initializes the object by examining the input file of the ThermoPhase object.

PDSS_HKFT (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.

virtual ~PDSS_HKFT ()
Destructor for the phase.

virtual PDSSduplMyselfAsPDSS () const
Duplicator.

Molar Thermodynamic Properties of 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 gibbs_mole () const
Return the molar gibbs free energy in units of J kmol-1.

virtual doublereal cp_mole () const
Return the molar const pressure heat capacity in units of J kmol-1 K-1.

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.

Properties of the Reference State of the Species
  in the Solution

doublereal refPressure () const
Return the reference pressure for this phase.

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.

Mechanical Equation of State Properties
virtual doublereal pressure () const
Returns the pressure (Pa)

virtual void setPressure (doublereal pres)
Sets the pressure in the object.

virtual void setTemperature (doublereal temp)
Set the internal temperature.

doublereal temperature () const
Return the current stored temperature.

virtual void setState_TP (doublereal temp, doublereal pres)
Set the internal temperature and pressure.

Miscellaneous properties of the standard state
virtual doublereal critTemperature () const
critical temperature

virtual doublereal critPressure () const
critical pressure

virtual doublereal critDensity () const
critical density

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.

virtual void initAllPtrs (VPStandardStateTP *vptp_ptr, VPSSMgr *vpssmgr_ptr, SpeciesThermo *spthermo_ptr)
Initialize or Reinitialize all shallow pointers in 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.

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 entropy_R () const
Return the standard state entropy divided by RT.

virtual doublereal gibbs_RT () const
Return the molar gibbs free energy divided by RT.

virtual doublereal cp_R () const
Return the molar const pressure heat capacity divided by RT.

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 minTemp () const
return the minimum temperature

doublereal maxTemp () const
return the minimum temperature

Mechanical Equation of State Properties
virtual doublereal thermalExpansionCoeff () const
Return the volumetric thermal expansion coefficient. Units: 1/K.

Partial Molar Properties of the Solution -----------------
virtual void setState_TR (doublereal temp, doublereal rho)
Set the internal temperature and density.

Miscellaneous properties of the standard state
virtual doublereal satPressure (doublereal T)
saturation pressure

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.

## 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

doublereal deltaG () const
Main routine that actually calculates the gibbs free energy difference between the reference state at Tr, Pr and T,P.

doublereal deltaS () const
Main routine that actually calculates the entropy difference between the reference state at Tr, Pr and T,P.

doublereal ag (const doublereal temp, const int ifunc=0) const
Internal formula for the calculation of a_g()

doublereal bg (const doublereal temp, const int ifunc=0) const
Internal formula for the calculation of b_g()

doublereal g (const doublereal temp, const doublereal pres, const int ifunc=0) const
function g appearing in the formulation

doublereal f (const doublereal temp, const doublereal pres, const int ifunc=0) const
Difference function f appearing in the formulation.

doublereal gstar (const doublereal temp, const doublereal pres, const int ifunc=0) const
Evaluate the Gstar value appearing in the HKFT formulation.

doublereal LookupGe (const std::string &elemName)
Function to look up Element Free Energies.

void convertDGFormation ()
Translate a Gibbs free energy of formation value to a NIST-based Chemical potential.

## Private Attributes

Water standard state calculator.

density of standard-state water

WaterPropsm_waterProps
Pointer to the water property calculator.

doublereal m_born_coeff_j
Born coefficient for the current ion or species.

doublereal m_r_e_j

doublereal m_deltaG_formation_tr_pr
Input value of deltaG of Formation at Tr and Pr (cal gmol-1)

doublereal m_deltaH_formation_tr_pr
Input value of deltaH of Formation at Tr and Pr (cal gmol-1)

doublereal m_Mu0_tr_pr
Value of the Absolute Gibbs Free Energy NIST scale at T_r and P_r.

doublereal m_Entrop_tr_pr
Input value of S_j at Tr and Pr (cal gmol-1 K-1)

doublereal m_a1
Input a1 coefficient (cal gmol-1 bar-1)

doublereal m_a2
Input a2 coefficient (cal gmol-1)

doublereal m_a3
Input a3 coefficient (cal K gmol-1 bar-1)

doublereal m_a4
Input a4 coefficient (cal K gmol-1)

doublereal m_c1
Input c1 coefficient (cal gmol-1 K-1)

doublereal m_c2
Input c2 coefficient (cal K gmol-1)

doublereal m_omega_pr_tr
Input omega_pr_tr coefficient(cal gmol-1)

doublereal m_Y_pr_tr
y = dZdT = 1/(esp*esp) desp/dT at 298.15 and 1 bar

doublereal m_Z_pr_tr
Z = -1 / relEpsilon at 298.15 and 1 bar.

doublereal m_presR_bar
Reference pressure is 1 atm in units of bar= 1.0132.

doublereal m_domega_jdT_prtr
small value that is not quite zero

doublereal m_charge_j
Charge of the ion.

## Detailed Description

Class for pressure dependent standard states corresponding to ionic solutes in electrolyte water.

Virtual base class for calculation of the pressure dependent standard state for a single species

Class PDSS is the base class for a family of classes that compute properties of a set of species in their standard states at a range of temperatures and pressures. The independent variables for this object are temperature and pressure. The class may have a reference to a SpeciesThermo object which handles the calculation of the reference state temperature behavior of a subset of species.

This class is analogous to the SpeciesThermoInterpType class, except that the standard state inherently incorporates the pressure dependence.

The class operates on a setState temperature and pressure basis. It only recalculates the standard state when the setState functions for temperature and pressure are called

Definition at line 53 of file PDSS_HKFT.h.

## Constructor & Destructor Documentation

 PDSS_HKFT ( VPStandardStateTP * tp, size_t spindex )

Constructor that initializes the object by examining the XML entries from the ThermoPhase object.

This function calls the constructPDSS member function.

Parameters
 tp Pointer to the ThermoPhase object pertaining to the phase spindex Species index of the species in the phase

Definition at line 32 of file PDSS_HKFT.cpp.

References PDSS::m_pdssType, PDSS::m_pres, PDSS_HKFT::m_presR_bar, and Cantera::OneAtm.

Referenced by PDSS_HKFT::duplMyselfAsPDSS().

 PDSS_HKFT ( const PDSS_HKFT & b )

Copy Constructor.

Parameters
 b object to be copied

Definition at line 124 of file PDSS_HKFT.cpp.

References PDSS::m_pdssType, PDSS_HKFT::m_presR_bar, and Cantera::OneAtm.

 PDSS_HKFT ( VPStandardStateTP * vptp_ptr, 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
 vptp_ptr Pointer to the ThermoPhase object pertaining to the phase spindex Species index of the species in the phase inputFile String name of the input file id String 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 62 of file PDSS_HKFT.cpp.

 PDSS_HKFT ( 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_ptr Pointer to the ThermoPhase object pertaining to the phase spindex Species index of the species in the phase speciesNode Reference to the species XML tree. phaseRef Reference to the XML tree containing the phase information. spInstalled Boolean indicating whether the species is installed yet or not.

Definition at line 92 of file PDSS_HKFT.cpp.

 ~PDSS_HKFT ( )
virtual

Destructor for the phase.

Definition at line 207 of file PDSS_HKFT.cpp.

References PDSS_HKFT::m_waterProps.

## Member Function Documentation

 PDSS_HKFT & operator= ( const PDSS_HKFT & b )

Assignment operator.

Parameters
 b Object to be copied

Definition at line 160 of file PDSS_HKFT.cpp.

 PDSS * duplMyselfAsPDSS ( ) const
virtual

Duplicator.

Reimplemented from PDSS.

Definition at line 213 of file PDSS_HKFT.cpp.

References PDSS_HKFT::PDSS_HKFT().

 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 222 of file PDSS_HKFT.cpp.

Referenced by PDSS_HKFT::cp_mole(), and PDSS_HKFT::enthalpy_RT().

 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 240 of file PDSS_HKFT.cpp.

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

 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 261 of file PDSS_HKFT.cpp.

References PDSS_HKFT::enthalpy_RT(), PDSS::m_pres, and PDSS_HKFT::molarVolume().

 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 272 of file PDSS_HKFT.cpp.

References PDSS_HKFT::deltaS(), and PDSS_HKFT::m_Entrop_tr_pr.

Referenced by VPSSMgr_Water_HKFT::_updateRefStateThermo(), and PDSS_HKFT::enthalpy_mole().

 doublereal gibbs_mole ( ) const
virtual

Return the molar gibbs free energy in units of J kmol-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 282 of file PDSS_HKFT.cpp.

References PDSS_HKFT::deltaG(), and PDSS_HKFT::m_Mu0_tr_pr.

Referenced by PDSS_HKFT::enthalpy_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 292 of file PDSS_HKFT.cpp.

 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 393 of file PDSS_HKFT.cpp.

 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 399 of file PDSS_HKFT.cpp.

 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 456 of file PDSS_HKFT.cpp.

References PDSS::m_mw, and PDSS_HKFT::molarVolume().

 doublereal refPressure ( ) const
inline

Return the reference pressure for this phase.

Definition at line 244 of file PDSS_HKFT.h.

References PDSS::m_p0.

 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 463 of file PDSS_HKFT.cpp.

 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 473 of file PDSS_HKFT.cpp.

 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 483 of file PDSS_HKFT.cpp.

 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 493 of file PDSS_HKFT.cpp.

 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 503 of file PDSS_HKFT.cpp.

 doublereal pressure ( ) const
virtual

Returns the pressure (Pa)

Reimplemented from PDSS.

Definition at line 518 of file PDSS_HKFT.cpp.

References PDSS::m_pres.

 void setPressure ( doublereal pres )
virtual

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
 pres Pressure to be set (Pascal)

Reimplemented from PDSS.

Definition at line 524 of file PDSS_HKFT.cpp.

References PDSS::m_pres.

Referenced by PDSS_HKFT::setState_TP().

 void setTemperature ( doublereal temp )
virtual

Set the internal temperature.

Parameters
 temp Temperature (Kelvin)

Reimplemented from PDSS.

Definition at line 529 of file PDSS_HKFT.cpp.

References PDSS::m_temp.

Referenced by PDSS_HKFT::setState_TP().

 doublereal temperature ( ) const

Return the current stored temperature.

Definition at line 534 of file PDSS_HKFT.cpp.

References PDSS::m_temp.

 void setState_TP ( doublereal temp, doublereal pres )
virtual

Set the internal temperature and pressure.

Parameters
 temp Temperature (Kelvin) pres pressure (Pascals)

Reimplemented from PDSS.

Definition at line 539 of file PDSS_HKFT.cpp.

References PDSS_HKFT::setPressure(), and PDSS_HKFT::setTemperature().

 doublereal critTemperature ( ) const
virtual

critical temperature

Reimplemented from PDSS.

Definition at line 547 of file PDSS_HKFT.cpp.

 doublereal critPressure ( ) const
virtual

critical pressure

Reimplemented from PDSS.

Definition at line 554 of file PDSS_HKFT.cpp.

 doublereal critDensity ( ) const
virtual

critical density

Reimplemented from PDSS.

Definition at line 561 of file PDSS_HKFT.cpp.

 void initThermo ( )
virtual

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 568 of file PDSS_HKFT.cpp.

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

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_ptr Pointer to the Variable pressure ThermoPhase object This object must have already been malloced. spindex Species index within the phase inputFile XML file containing the description of the phase id Optional parameter identifying the name of the phase. If none is given, the first XML phase element will be used.

Definition at line 811 of file PDSS_HKFT.cpp.

Referenced by PDSS_HKFT::PDSS_HKFT().

 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.

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_ptr Pointer to the Variable pressure ThermoPhase object This object must have already been malloced. spindex Species index within the phase speciesNode XML Node containing the species information phaseNode Reference to the phase Information for the phase that owns this species. spInstalled Boolean indicating whether the species is already installed.

Definition at line 651 of file PDSS_HKFT.cpp.

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

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

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
 phaseNode Reference to the phase Information for the phase that owns this species. id Optional 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 634 of file PDSS_HKFT.cpp.

References PDSS::initThermoXML().

 void initAllPtrs ( VPStandardStateTP * vptp_ptr, VPSSMgr * vpssmgr_ptr, SpeciesThermo * spthermo_ptr )
virtual

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_ptr Pointer to the Variable pressure ThermoPhase object This object must have already been malloced. vpssmgr_ptr Pointer to the variable pressure standard state calculator for this phase spthermo_ptr Pointer to the optional SpeciesThermo object that will handle the calculation of the reference state thermodynamic coefficients.

Reimplemented from PDSS.

Definition at line 639 of file PDSS_HKFT.cpp.

References PDSS::initAllPtrs(), PDSS::m_tp, PDSS_HKFT::m_waterProps, and PDSS_HKFT::m_waterSS.

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

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

The following parameters are reported

• c[0] = m_deltaG_formation_tr_pr;
• c[1] = m_deltaH_formation_tr_pr;
• c[2] = m_Mu0_tr_pr;
• c[3] = m_Entrop_tr_pr;
• c[4] = m_a1;
• c[5] = m_a2;
• c[6] = m_a3;
• c[7] = m_a4;
• c[8] = m_c1;
• c[9] = m_c2;
• c[10] = m_omega_pr_tr;
Parameters
 kindex Species index type Integer type of the standard type c Vector of coefficients used to set the parameters for the standard state. minTemp output - Minimum temperature maxTemp output - Maximum temperature refPressure output - reference pressure (Pa).

Reimplemented from PDSS.

Definition at line 1272 of file PDSS_HKFT.cpp.

 doublereal deltaG ( ) const
private

Main routine that actually calculates the gibbs free energy difference between the reference state at Tr, Pr and T,P.

This is eEqn. 59 in Johnson et al. (1992).

Definition at line 914 of file PDSS_HKFT.cpp.

Referenced by PDSS_HKFT::gibbs_mole().

 doublereal deltaS ( ) const
private

Main routine that actually calculates the entropy difference between the reference state at Tr, Pr and T,P.

This is Eqn. 61 in Johnson et al. (1992). Actually, there appears to be an error in the latter. This is a correction.

Definition at line 963 of file PDSS_HKFT.cpp.

Referenced by PDSS_HKFT::entropy_mole().

 doublereal ag ( const doublereal temp, const int ifunc = 0 ) const
private

Internal formula for the calculation of a_g()

The output of this is in units of Angstroms

Parameters
 temp Temperature (K) ifunc parameters specifying the desired information 0 function value 1 derivative wrt temperature 2 2nd derivative wrt temperature 3 derivative wrt pressure

Definition at line 1027 of file PDSS_HKFT.cpp.

Referenced by PDSS_HKFT::g().

 doublereal bg ( const doublereal temp, const int ifunc = 0 ) const
private

Internal formula for the calculation of b_g()

the output of this is unitless

Parameters
 temp Temperature (K) ifunc parameters specifying the desired information 0 function value 1 derivative wrt temperature 2 2nd derivative wrt temperature 3 derivative wrt pressure

Definition at line 1048 of file PDSS_HKFT.cpp.

Referenced by PDSS_HKFT::g().

 doublereal g ( const doublereal temp, const doublereal pres, const int ifunc = 0 ) const
private

function g appearing in the formulation

Function g appearing in the Johnson et al formulation

Parameters
 temp Temperature kelvin pres Pressure (pascal) ifunc parameters specifying the desired information 0 function value 1 derivative wrt temperature 2 2nd derivative wrt temperature 3 derivative wrt pressure

Definition at line 1110 of file PDSS_HKFT.cpp.

Referenced by PDSS_HKFT::gstar().

 doublereal f ( const doublereal temp, const doublereal pres, const int ifunc = 0 ) const
private

Difference function f appearing in the formulation.

Function f appearing in the Johnson et al formulation of omega_j Eqn. 33 ref

Parameters
 temp Temperature kelvin pres Pressure (pascal) ifunc parameters specifying the desired information 0 function value 1 derivative wrt temperature 2 2nd derivative wrt temperature 3 derivative wrt pressure

Definition at line 1065 of file PDSS_HKFT.cpp.

Referenced by PDSS_HKFT::gstar().

 doublereal gstar ( const doublereal temp, const doublereal pres, const int ifunc = 0 ) const
private

Evaluate the Gstar value appearing in the HKFT formulation.

Parameters
 temp Temperature kelvin pres Pressure (pascal) ifunc parameters specifying the desired information 0 function value 1 derivative wrt temperature 2 2nd derivative wrt temperature 3 derivative wrt pressure

Definition at line 1173 of file PDSS_HKFT.cpp.

References PDSS_HKFT::f(), and PDSS_HKFT::g().

 doublereal LookupGe ( const std::string & elemName )
private

Function to look up Element Free Energies.

Static function to look up Element Free Energies.

This static function looks up the argument string in the element database and returns the associated 298 K Gibbs Free energy of the element in its stable state

Parameters
 elemName String. Only the first 3 characters are significant
Returns
Return value contains the Gibbs free energy for that element
Exceptions
 CanteraError If a match is not found, a CanteraError is thrown as well

This static function looks up the argument string in the database above and returns the associated Gibbs Free energies.

Parameters
 elemName String. Only the first 3 characters are significant
Returns
Return value contains the Gibbs free energy for that element
Exceptions
 CanteraError If a match is not found, a CanteraError is thrown as well

Definition at line 1212 of file PDSS_HKFT.cpp.

Referenced by PDSS_HKFT::convertDGFormation().

 void convertDGFormation ( )
private

Translate a Gibbs free energy of formation value to a NIST-based Chemical potential.

Internally, this function is used to translate the input value, m_deltaG_formation_tr_pr, to the internally stored value, m_Mu0_tr_pr.

Definition at line 1227 of file PDSS_HKFT.cpp.

Referenced by PDSS_HKFT::constructPDSSXML(), and PDSS_HKFT::initThermo().

 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 entropy_R ( ) const
virtualinherited

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 in PDSS_SSVol, PDSS_IonsFromNeutral, PDSS_IdealGas, and PDSS_ConstVol.

Definition at line 287 of file PDSS.cpp.

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

 doublereal gibbs_RT ( ) const
virtualinherited

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 in PDSS_SSVol, PDSS_IonsFromNeutral, PDSS_IdealGas, and PDSS_ConstVol.

Definition at line 305 of file PDSS.cpp.

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

 doublereal cp_R ( ) const
virtualinherited

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 in PDSS_SSVol, PDSS_IonsFromNeutral, PDSS_IdealGas, and PDSS_ConstVol.

Definition at line 324 of file PDSS.cpp.

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

 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.

 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 minTemp ( ) const
inlineinherited

return the minimum temperature

Definition at line 434 of file PDSS.h.

References PDSS::m_minTemp.

 doublereal maxTemp ( ) const
inlineinherited

return the minimum temperature

Definition at line 440 of file PDSS.h.

References PDSS::m_maxTemp.

 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.

 void setState_TR ( doublereal temp, doublereal rho )
virtualinherited

Set the internal temperature and density.

Parameters
 temp Temperature (Kelvin) rho Density (kg m-3)

Reimplemented in PDSS_SSVol, PDSS_IonsFromNeutral, PDSS_Water, PDSS_IdealGas, and PDSS_ConstVol.

Definition at line 515 of file PDSS.cpp.

References PDSS::err().

 doublereal satPressure ( doublereal T )
virtualinherited

saturation pressure

Parameters
 T Temperature (Kelvin)

Reimplemented in PDSS_SSVol, PDSS_Water, PDSS_IonsFromNeutral, PDSS_IdealGas, and PDSS_ConstVol.

Definition at line 521 of file PDSS.cpp.

References PDSS::err().

Referenced by HMWSoln::satPressure().

 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
 mw Molecular Weight in kg kmol-1

Definition at line 505 of file PDSS.cpp.

References PDSS::m_mw.

## Member Data Documentation

private

Water standard state calculator.

derived from the equation of state for water. This object doesn't own the object. Just a shallow pointer.

Definition at line 609 of file PDSS_HKFT.h.

mutableprivate

density of standard-state water

internal temporary variable

Definition at line 615 of file PDSS_HKFT.h.

Referenced by PDSS_HKFT::g(), PDSS_HKFT::initThermo(), and PDSS_HKFT::operator=().

 WaterProps* m_waterProps
private

Pointer to the water property calculator.

Definition at line 618 of file PDSS_HKFT.h.

 doublereal m_born_coeff_j
private

Born coefficient for the current ion or species.

Definition at line 621 of file PDSS_HKFT.h.

Referenced by PDSS_HKFT::operator=().

 doublereal m_r_e_j
private

Definition at line 624 of file PDSS_HKFT.h.

Referenced by PDSS_HKFT::operator=().

 doublereal m_deltaG_formation_tr_pr
private

Input value of deltaG of Formation at Tr and Pr (cal gmol-1)

Tr = 298.15 Pr = 1 atm

This is the delta G for the formation reaction of the ion from elements in their stable state at Tr, Pr.

Definition at line 633 of file PDSS_HKFT.h.

 doublereal m_deltaH_formation_tr_pr
private

Input value of deltaH of Formation at Tr and Pr (cal gmol-1)

Tr = 298.15 Pr = 1 atm

This is the delta H for the formation reaction of the ion from elements in their stable state at Tr, Pr.

Definition at line 642 of file PDSS_HKFT.h.

 doublereal m_Mu0_tr_pr
private

Value of the Absolute Gibbs Free Energy NIST scale at T_r and P_r.

This is the NIST scale value of Gibbs free energy at T_r = 298.15 and P_r = 1 atm.

J kmol-1

Definition at line 651 of file PDSS_HKFT.h.

 doublereal m_Entrop_tr_pr
private

Input value of S_j at Tr and Pr (cal gmol-1 K-1)

Tr = 298.15 Pr = 1 atm

Definition at line 657 of file PDSS_HKFT.h.

 doublereal m_a1
private

Input a1 coefficient (cal gmol-1 bar-1)

Definition at line 660 of file PDSS_HKFT.h.

 doublereal m_a2
private

Input a2 coefficient (cal gmol-1)

Definition at line 663 of file PDSS_HKFT.h.

 doublereal m_a3
private

Input a3 coefficient (cal K gmol-1 bar-1)

Definition at line 666 of file PDSS_HKFT.h.

 doublereal m_a4
private

Input a4 coefficient (cal K gmol-1)

Definition at line 669 of file PDSS_HKFT.h.

 doublereal m_c1
private

Input c1 coefficient (cal gmol-1 K-1)

Definition at line 672 of file PDSS_HKFT.h.

 doublereal m_c2
private

Input c2 coefficient (cal K gmol-1)

Definition at line 675 of file PDSS_HKFT.h.

 doublereal m_omega_pr_tr
private

Input omega_pr_tr coefficient(cal gmol-1)

Definition at line 678 of file PDSS_HKFT.h.

 doublereal m_Y_pr_tr
private

y = dZdT = 1/(esp*esp) desp/dT at 298.15 and 1 bar

Definition at line 681 of file PDSS_HKFT.h.

Referenced by PDSS_HKFT::deltaG(), PDSS_HKFT::deltaS(), PDSS_HKFT::initThermo(), and PDSS_HKFT::operator=().

 doublereal m_Z_pr_tr
private

Z = -1 / relEpsilon at 298.15 and 1 bar.

Definition at line 684 of file PDSS_HKFT.h.

 doublereal m_presR_bar
private

Reference pressure is 1 atm in units of bar= 1.0132.

Definition at line 687 of file PDSS_HKFT.h.

 doublereal m_domega_jdT_prtr
private

small value that is not quite zero

Definition at line 690 of file PDSS_HKFT.h.

Referenced by PDSS_HKFT::cp_mole(), PDSS_HKFT::deltaS(), PDSS_HKFT::initThermo(), and PDSS_HKFT::operator=().

 doublereal m_charge_j
private

Charge of the ion.

Definition at line 693 of file PDSS_HKFT.h.

 PDSS_enumType m_pdssType
protectedinherited

Enumerated type describing the type of the PDSS object.

Definition at line 661 of file PDSS.h.

 doublereal m_p0
protectedinherited
 doublereal m_minTemp
protectedinherited

Minimum temperature.

Definition at line 673 of file PDSS.h.

 doublereal m_maxTemp
protectedinherited

Maximum temperature.

Definition at line 676 of file PDSS.h.

 VPStandardStateTP* m_tp
protectedinherited

Thermophase which this species belongs to.

Note, in some applications (i.e., mostly testing applications, this may be a null value. Applications should test whether this is null before usage.

Definition at line 684 of file PDSS.h.

 VPSSMgr* m_vpssmgr_ptr
protectedinherited

Pointer to the VPSS manager for this object.

Definition at line 687 of file PDSS.h.

 doublereal m_mw
protectedinherited

Molecular Weight of the species.

Definition at line 692 of file PDSS.h.

 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.

 doublereal* m_h0_RT_ptr
protectedinherited

Reference state enthalpy divided by RT.

Storage for the thermo properties is provided by VPSSMgr. This object owns a shallow pointer. Calculated at the current value of T and m_p0

Definition at line 715 of file PDSS.h.

 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.

 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.

 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.

 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.

 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.

 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.

 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.

 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.

 doublereal* m_Vss_ptr
protectedinherited

Standard State molar volume (m3 kg-1)

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

Definition at line 785 of file PDSS.h.

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