Cantera  2.1.2
Private Member Functions | Private Attributes | List of all members

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. More...
 
 PDSS_HKFT (const PDSS_HKFT &b)
 Copy Constructor. More...
 
PDSS_HKFToperator= (const PDSS_HKFT &b)
 Assignment operator. More...
 
 PDSS_HKFT (VPStandardStateTP *vptp_ptr, size_t spindex, const std::string &inputFile, const std::string &id="")
 Constructor that initializes the object by examining the input file of the ThermoPhase object. More...
 
 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. More...
 
virtual ~PDSS_HKFT ()
 Destructor for the phase. More...
 
virtual PDSSduplMyselfAsPDSS () const
 Duplication routine for objects which inherit from PDSS. More...
 
Molar Thermodynamic Properties of the Solution
virtual doublereal enthalpy_mole () const
 Return the molar enthalpy in units of J kmol-1. More...
 
doublereal enthalpy_mole2 () const
 Return the molar enthalpy in units of J kmol-1. More...
 
virtual doublereal enthalpy_RT () const
 Return the standard state molar enthalpy divided by RT. More...
 
virtual doublereal intEnergy_mole () const
 Return the molar internal Energy in units of J kmol-1. More...
 
virtual doublereal entropy_mole () const
 Return the molar entropy in units of J kmol-1 K-1. More...
 
virtual doublereal gibbs_mole () const
 Return the molar Gibbs free energy in units of J kmol-1. More...
 
virtual doublereal cp_mole () const
 Return the molar const pressure heat capacity in units of J kmol-1 K-1. More...
 
virtual doublereal cv_mole () const
 Return the molar const volume heat capacity in units of J kmol-1 K-1. More...
 
virtual doublereal molarVolume () const
 Return the molar volume at standard state. More...
 
virtual doublereal density () const
 Return the standard state density at standard state. More...
 
Properties of the Reference State of the Species in the Solution
doublereal refPressure () const
 
virtual doublereal gibbs_RT_ref () const
 Return the molar gibbs free energy divided by RT at reference pressure. More...
 
virtual doublereal enthalpy_RT_ref () const
 Return the molar enthalpy divided by RT at reference pressure. More...
 
virtual doublereal entropy_R_ref () const
 Return the molar entropy divided by R at reference pressure. More...
 
virtual doublereal cp_R_ref () const
 Return the molar heat capacity divided by R at reference pressure. More...
 
virtual doublereal molarVolume_ref () const
 Return the molar volume at reference pressure. More...
 
Mechanical Equation of State Properties
virtual doublereal pressure () const
 Returns the pressure (Pa) More...
 
virtual void setPressure (doublereal pres)
 Sets the pressure in the object. More...
 
virtual void setTemperature (doublereal temp)
 Set the internal temperature. More...
 
doublereal temperature () const
 
virtual void setState_TP (doublereal temp, doublereal pres)
 Set the internal temperature and pressure. More...
 
Miscellaneous properties of the standard state
virtual doublereal critTemperature () const
 critical temperature More...
 
virtual doublereal critPressure () const
 critical pressure More...
 
virtual doublereal critDensity () const
 critical density More...
 
Initialization of the Object
virtual void initThermo ()
 Initialization routine for all of the shallow pointers. More...
 
void constructPDSSFile (VPStandardStateTP *vptp_ptr, size_t spindex, const std::string &inputFile, const std::string &id)
 Initialization of a PDSS object using an input XML file. More...
 
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. More...
 
virtual void initThermoXML (const XML_Node &phaseNode, const std::string &id)
 Initialization routine for the PDSS object based on the phaseNode. More...
 
virtual void initAllPtrs (VPStandardStateTP *vptp_ptr, VPSSMgr *vpssmgr_ptr, SpeciesThermo *spthermo_ptr)
 Initialize or Reinitialize all shallow pointers in the object. More...
 
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. More...
 
- Public Member Functions inherited from PDSS
 PDSS ()
 Empty Constructor. More...
 
 PDSS (VPStandardStateTP *tp, size_t spindex)
 Constructor that initializes the object by examining the XML entries from the ThermoPhase object. More...
 
 PDSS (const PDSS &b)
 Copy Constructor. More...
 
PDSSoperator= (const PDSS &b)
 Assignment operator. More...
 
virtual ~PDSS ()
 Destructor for the phase. More...
 
virtual doublereal entropy_R () const
 Return the standard state entropy divided by RT. More...
 
virtual doublereal gibbs_RT () const
 Return the molar Gibbs free energy divided by RT. More...
 
virtual doublereal cp_R () const
 Return the molar const pressure heat capacity divided by RT. More...
 
virtual doublereal enthalpyDelp_mole () const
 Get the difference in the standard state enthalpy between the current pressure and the reference pressure, p0. More...
 
virtual doublereal entropyDelp_mole () const
 Get the difference in the standard state entropy between the current pressure and the reference pressure, p0. More...
 
virtual doublereal gibbsDelp_mole () const
 Get the difference in the standard state gibbs free energy between the current pressure and the reference pressure, p0. More...
 
virtual doublereal cpDelp_mole () const
 Get the difference in standard state heat capacity between the current pressure and the reference pressure, p0. More...
 
doublereal refPressure () const
 Return the reference pressure for this phase. More...
 
doublereal minTemp () const
 return the minimum temperature More...
 
doublereal maxTemp () const
 return the minimum temperature More...
 
virtual doublereal thermalExpansionCoeff () const
 Return the volumetric thermal expansion coefficient. Units: 1/K. More...
 
doublereal temperature () const
 Return the current stored temperature. More...
 
virtual void setState_TR (doublereal temp, doublereal rho)
 Set the internal temperature and density. More...
 
virtual doublereal satPressure (doublereal T)
 saturation pressure More...
 
doublereal molecularWeight () const
 Return the molecular weight of the species in units of kg kmol-1. More...
 
void setMolecularWeight (doublereal mw)
 Set the molecular weight of the species. More...
 
PDSS_enumType reportPDSSType () const
 Returns the type of the standard state parameterization. More...
 

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. More...
 
doublereal deltaS () const
 Main routine that actually calculates the entropy difference between the reference state at Tr, Pr and T,P. More...
 
doublereal deltaH () const
 Routine that actually calculates the enthalpy difference between the reference state at Tr, Pr and T,P. More...
 
doublereal ag (const doublereal temp, const int ifunc=0) const
 Internal formula for the calculation of a_g() More...
 
doublereal bg (const doublereal temp, const int ifunc=0) const
 Internal formula for the calculation of b_g() More...
 
doublereal g (const doublereal temp, const doublereal pres, const int ifunc=0) const
 function g appearing in the formulation More...
 
doublereal f (const doublereal temp, const doublereal pres, const int ifunc=0) const
 Difference function f appearing in the formulation. More...
 
doublereal gstar (const doublereal temp, const doublereal pres, const int ifunc=0) const
 Evaluate the Gstar value appearing in the HKFT formulation. More...
 
doublereal LookupGe (const std::string &elemName)
 Function to look up Element Free Energies. More...
 
void convertDGFormation ()
 Translate a Gibbs free energy of formation value to a NIST-based Chemical potential. More...
 

Private Attributes

PDSS_Waterm_waterSS
 Water standard state calculator. More...
 
doublereal m_densWaterSS
 density of standard-state water More...
 
WaterPropsm_waterProps
 Pointer to the water property calculator. More...
 
doublereal m_born_coeff_j
 Born coefficient for the current ion or species. More...
 
doublereal m_r_e_j
 Electrostatic radii. More...
 
doublereal m_deltaG_formation_tr_pr
 Input value of deltaG of Formation at Tr and Pr (cal gmol-1) More...
 
doublereal m_deltaH_formation_tr_pr
 Input value of deltaH of Formation at Tr and Pr (cal gmol-1) More...
 
doublereal m_Mu0_tr_pr
 Value of the Absolute Gibbs Free Energy NIST scale at T_r and P_r. More...
 
doublereal m_Entrop_tr_pr
 Input value of S_j at Tr and Pr (cal gmol-1 K-1) More...
 
doublereal m_a1
 Input a1 coefficient (cal gmol-1 bar-1) More...
 
doublereal m_a2
 Input a2 coefficient (cal gmol-1) More...
 
doublereal m_a3
 Input a3 coefficient (cal K gmol-1 bar-1) More...
 
doublereal m_a4
 Input a4 coefficient (cal K gmol-1) More...
 
doublereal m_c1
 Input c1 coefficient (cal gmol-1 K-1) More...
 
doublereal m_c2
 Input c2 coefficient (cal K gmol-1) More...
 
doublereal m_omega_pr_tr
 Input omega_pr_tr coefficient(cal gmol-1) More...
 
doublereal m_Y_pr_tr
 y = dZdT = 1/(esp*esp) desp/dT at 298.15 and 1 bar More...
 
doublereal m_Z_pr_tr
 Z = -1 / relEpsilon at 298.15 and 1 bar. More...
 
doublereal m_presR_bar
 Reference pressure is 1 atm in units of bar= 1.0132. More...
 
doublereal m_domega_jdT_prtr
 small value that is not quite zero More...
 
doublereal m_charge_j
 Charge of the ion. More...
 

Additional Inherited Members

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

Detailed Description

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

Definition at line 32 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
tpPointer to the ThermoPhase object pertaining to the phase
spindexSpecies index of the species in the phase

Definition at line 27 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
bobject to be copied

Definition at line 119 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,
const std::string &  inputFile,
const 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_ptrPointer 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 56 of file PDSS_HKFT.cpp.

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

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

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

~PDSS_HKFT ( )
virtual

Destructor for the phase.

Definition at line 194 of file PDSS_HKFT.cpp.

References PDSS_HKFT::m_waterProps.

Member Function Documentation

PDSS_HKFT & operator= ( const PDSS_HKFT b)
PDSS * duplMyselfAsPDSS ( ) const
virtual

Duplication routine for objects which inherit from PDSS.

This function can be used to duplicate objects derived from PDSS even if the application only has a pointer to PDSS to work with.

Returns
A pointer to the base PDSS object type

Reimplemented from PDSS.

Definition at line 199 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.

Reimplemented from PDSS.

Definition at line 204 of file PDSS_HKFT.cpp.

References PDSS_HKFT::enthalpy_mole2(), PDSS_HKFT::entropy_mole(), PDSS_HKFT::gibbs_mole(), PDSS::m_p0, PDSS::m_pres, PDSS::m_spindex, and PDSS::m_temp.

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

doublereal enthalpy_mole2 ( ) const

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.

Note this is just an extra routine to check the arithmetic

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

Definition at line 230 of file PDSS_HKFT.cpp.

References PDSS_HKFT::deltaH(), PDSS_HKFT::m_Entrop_tr_pr, and PDSS_HKFT::m_Mu0_tr_pr.

Referenced by PDSS_HKFT::enthalpy_mole().

doublereal enthalpy_RT ( ) const
virtual

Return the standard state molar enthalpy divided by RT.

Returns
The dimensionless species standard state enthalpy divided at the current temperature and pressure.

Reimplemented from PDSS.

Definition at line 222 of file PDSS_HKFT.cpp.

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

Referenced by VPSSMgr_Water_HKFT::_updateRefStateThermo(), PDSS_HKFT::enthalpy_RT_ref(), and PDSS_HKFT::intEnergy_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.

Reimplemented from PDSS.

Definition at line 238 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.

Reimplemented from PDSS.

Definition at line 245 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.

Reimplemented from PDSS.

Definition at line 251 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.

Reimplemented from PDSS.

Definition at line 257 of file PDSS_HKFT.cpp.

References PDSS_HKFT::enthalpy_mole(), PDSS_HKFT::gstar(), PDSS_HKFT::m_a3, PDSS_HKFT::m_a4, PDSS_HKFT::m_c1, PDSS_HKFT::m_c2, PDSS_HKFT::m_charge_j, PDSS_HKFT::m_domega_jdT_prtr, PDSS_HKFT::m_omega_pr_tr, PDSS::m_pres, PDSS_HKFT::m_presR_bar, PDSS::m_spindex, PDSS::m_temp, PDSS_HKFT::m_waterProps, PDSS_HKFT::m_Z_pr_tr, and WaterProps::relEpsilon().

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.

Reimplemented from PDSS.

Definition at line 353 of file PDSS_HKFT.cpp.

doublereal molarVolume ( ) const
virtual

Return the molar volume at standard state.

Returns
The standard state molar volume at the current temperature and pressure. Units are m**3 kmol-1.

Reimplemented from PDSS.

Definition at line 359 of file PDSS_HKFT.cpp.

References PDSS_HKFT::gstar(), PDSS_HKFT::m_a1, PDSS_HKFT::m_a2, PDSS_HKFT::m_a3, PDSS_HKFT::m_a4, PDSS_HKFT::m_charge_j, PDSS_HKFT::m_omega_pr_tr, PDSS::m_pres, PDSS::m_temp, PDSS_HKFT::m_waterProps, and WaterProps::relEpsilon().

Referenced by VPSSMgr_Water_HKFT::_updateRefStateThermo(), VPSSMgr_Water_HKFT::_updateStandardStateThermo(), PDSS_HKFT::density(), PDSS_HKFT::intEnergy_mole(), and PDSS_HKFT::molarVolume_ref().

doublereal density ( ) const
virtual

Return the standard state density at standard state.

Returns
The standard state density at the current temperature and pressure. units are kg m-3

Reimplemented from PDSS.

Definition at line 414 of file PDSS_HKFT.cpp.

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

doublereal gibbs_RT_ref ( ) const
virtual

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

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

Reimplemented from PDSS.

Definition at line 421 of file PDSS_HKFT.cpp.

References PDSS::gibbs_RT(), PDSS::m_pres, PDSS::m_temp, PDSS_HKFT::m_waterSS, and PDSS_Water::pref_safe().

doublereal enthalpy_RT_ref ( ) const
virtual

Return the molar enthalpy divided by RT at reference pressure.

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

Reimplemented from PDSS.

Definition at line 431 of file PDSS_HKFT.cpp.

References PDSS_HKFT::enthalpy_RT(), PDSS::m_pres, PDSS::m_temp, PDSS_HKFT::m_waterSS, and PDSS_Water::pref_safe().

doublereal entropy_R_ref ( ) const
virtual

Return the molar entropy divided by R at reference pressure.

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

Reimplemented from PDSS.

Definition at line 441 of file PDSS_HKFT.cpp.

References PDSS::entropy_R(), PDSS::m_pres, PDSS::m_temp, PDSS_HKFT::m_waterSS, and PDSS_Water::pref_safe().

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.

Reimplemented from PDSS.

Definition at line 451 of file PDSS_HKFT.cpp.

References PDSS::cp_R(), PDSS::m_pres, PDSS::m_temp, PDSS_HKFT::m_waterSS, and PDSS_Water::pref_safe().

doublereal molarVolume_ref ( ) const
virtual

Return the molar volume at reference pressure.

Returns
The reference state molar volume. units are m**3 kmol-1.

Reimplemented from PDSS.

Definition at line 461 of file PDSS_HKFT.cpp.

References PDSS::m_pres, PDSS::m_temp, PDSS_HKFT::m_waterSS, PDSS_HKFT::molarVolume(), and PDSS_Water::pref_safe().

doublereal pressure ( ) const
virtual

Returns the pressure (Pa)

Reimplemented from PDSS.

Definition at line 471 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
presPressure to be set (Pascal)

Reimplemented from PDSS.

Definition at line 477 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
tempTemperature (Kelvin)

Reimplemented from PDSS.

Definition at line 482 of file PDSS_HKFT.cpp.

References PDSS::m_temp.

Referenced by PDSS_HKFT::setState_TP().

void setState_TP ( doublereal  temp,
doublereal  pres 
)
virtual

Set the internal temperature and pressure.

Parameters
tempTemperature (Kelvin)
prespressure (Pascals)

Reimplemented from PDSS.

Definition at line 492 of file PDSS_HKFT.cpp.

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

Referenced by VPSSMgr_Water_HKFT::_updateRefStateThermo(), and VPSSMgr_Water_HKFT::_updateStandardStateThermo().

doublereal critTemperature ( ) const
virtual

critical temperature

Reimplemented from PDSS.

Definition at line 499 of file PDSS_HKFT.cpp.

doublereal critPressure ( ) const
virtual

critical pressure

Reimplemented from PDSS.

Definition at line 505 of file PDSS_HKFT.cpp.

doublereal critDensity ( ) const
virtual

critical density

Reimplemented from PDSS.

Definition at line 511 of file PDSS_HKFT.cpp.

void initThermo ( )
virtual
void constructPDSSFile ( VPStandardStateTP vptp_ptr,
size_t  spindex,
const std::string &  inputFile,
const 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_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 756 of file PDSS_HKFT.cpp.

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

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

References Phase::charge(), PDSS_HKFT::convertDGFormation(), XML_Node::findByName(), Cantera::fpValueCheck(), ctml::getFloat(), XML_Node::hasChild(), Cantera::lowercase(), PDSS_HKFT::m_a1, PDSS_HKFT::m_a2, PDSS_HKFT::m_a3, PDSS_HKFT::m_a4, PDSS_HKFT::m_c1, PDSS_HKFT::m_c2, PDSS_HKFT::m_charge_j, PDSS_HKFT::m_deltaG_formation_tr_pr, PDSS_HKFT::m_deltaH_formation_tr_pr, PDSS_HKFT::m_Entrop_tr_pr, PDSS::m_maxTemp, PDSS::m_minTemp, PDSS_HKFT::m_Mu0_tr_pr, PDSS_HKFT::m_omega_pr_tr, PDSS::m_p0, PDSS::m_spindex, PDSS::m_tp, XML_Node::name(), Cantera::OneAtm, and Cantera::strSItoDbl().

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

void initThermoXML ( const XML_Node phaseNode,
const 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
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 582 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_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 from PDSS.

Definition at line 587 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
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).
Deprecated:

Reimplemented from PDSS.

Definition at line 1164 of file PDSS_HKFT.cpp.

References PDSS_HKFT::m_a1, PDSS_HKFT::m_a2, PDSS_HKFT::m_a3, PDSS_HKFT::m_a4, PDSS_HKFT::m_c1, PDSS_HKFT::m_c2, PDSS_HKFT::m_deltaG_formation_tr_pr, PDSS_HKFT::m_deltaH_formation_tr_pr, PDSS_HKFT::m_Entrop_tr_pr, PDSS_HKFT::m_Mu0_tr_pr, PDSS_HKFT::m_omega_pr_tr, PDSS::reportParams(), and Cantera::warn_deprecated().

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

References PDSS_HKFT::gstar(), PDSS_HKFT::m_a1, PDSS_HKFT::m_a2, PDSS_HKFT::m_a3, PDSS_HKFT::m_a4, PDSS_HKFT::m_c1, PDSS_HKFT::m_c2, PDSS_HKFT::m_charge_j, PDSS_HKFT::m_Entrop_tr_pr, PDSS_HKFT::m_omega_pr_tr, PDSS::m_pres, PDSS_HKFT::m_presR_bar, PDSS::m_temp, PDSS_HKFT::m_waterProps, PDSS_HKFT::m_Y_pr_tr, PDSS_HKFT::m_Z_pr_tr, and WaterProps::relEpsilon().

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

References PDSS_HKFT::gstar(), PDSS_HKFT::m_a3, PDSS_HKFT::m_a4, PDSS_HKFT::m_c1, PDSS_HKFT::m_c2, PDSS_HKFT::m_charge_j, PDSS_HKFT::m_domega_jdT_prtr, PDSS_HKFT::m_omega_pr_tr, PDSS::m_pres, PDSS_HKFT::m_presR_bar, PDSS::m_temp, PDSS_HKFT::m_waterProps, PDSS_HKFT::m_Y_pr_tr, PDSS_HKFT::m_Z_pr_tr, and WaterProps::relEpsilon().

Referenced by PDSS_HKFT::entropy_mole().

doublereal deltaH ( ) const
private

Routine that actually calculates the enthalpy difference between the reference state at Tr, Pr and T,P.

This is an extra routine that was added to check the arithmetic

Deprecated:

Definition at line 795 of file PDSS_HKFT.cpp.

References PDSS_HKFT::gstar(), PDSS_HKFT::m_a1, PDSS_HKFT::m_a2, PDSS_HKFT::m_a3, PDSS_HKFT::m_a4, PDSS_HKFT::m_c1, PDSS_HKFT::m_c2, PDSS_HKFT::m_charge_j, PDSS_HKFT::m_domega_jdT_prtr, PDSS_HKFT::m_omega_pr_tr, PDSS::m_pres, PDSS_HKFT::m_presR_bar, PDSS::m_temp, PDSS_HKFT::m_waterProps, PDSS_HKFT::m_Y_pr_tr, PDSS_HKFT::m_Z_pr_tr, and WaterProps::relEpsilon().

Referenced by PDSS_HKFT::enthalpy_mole2().

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
tempTemperature (K)
ifuncparameters specifying the desired information
  • 0 function value
  • 1 derivative wrt temperature
  • 2 2nd derivative wrt temperature
  • 3 derivative wrt pressure

Definition at line 960 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
tempTemperature (K)
ifuncparameters specifying the desired information
  • 0 function value
  • 1 derivative wrt temperature
  • 2 2nd derivative wrt temperature
  • 3 derivative wrt pressure

Definition at line 975 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
tempTemperature kelvin
presPressure (pascal)
ifuncparameters specifying the desired information
  • 0 function value
  • 1 derivative wrt temperature
  • 2 2nd derivative wrt temperature
  • 3 derivative wrt pressure

Definition at line 1033 of file PDSS_HKFT.cpp.

References PDSS_HKFT::ag(), PDSS_HKFT::bg(), PDSS_Water::density(), PDSS_Water::dthermalExpansionCoeffdT(), PDSS_Water::isothermalCompressibility(), PDSS_HKFT::m_densWaterSS, PDSS_HKFT::m_waterSS, PDSS_Water::setState_TP(), and PDSS_Water::thermalExpansionCoeff().

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
tempTemperature kelvin
presPressure (pascal)
ifuncparameters specifying the desired information
  • 0 function value
  • 1 derivative wrt temperature
  • 2 2nd derivative wrt temperature
  • 3 derivative wrt pressure

Definition at line 990 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
tempTemperature kelvin
presPressure (pascal)
ifuncparameters specifying the desired information
  • 0 function value
  • 1 derivative wrt temperature
  • 2 2nd derivative wrt temperature
  • 3 derivative wrt pressure

Definition at line 1093 of file PDSS_HKFT.cpp.

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

Referenced by PDSS_HKFT::cp_mole(), PDSS_HKFT::deltaG(), PDSS_HKFT::deltaH(), PDSS_HKFT::deltaS(), PDSS_HKFT::initThermo(), and PDSS_HKFT::molarVolume().

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

Function to look up Element Free Energies.

This 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
elemNameString. Only the first 3 characters are significant
Returns
value contains the Gibbs free energy for that element
Exceptions
CanteraErrorIf a match is not found, a CanteraError is thrown as well

Definition at line 1118 of file PDSS_HKFT.cpp.

References Phase::elementIndex(), ENTROPY298_UNKNOWN, Phase::entropyElement298(), PDSS::m_tp, and Cantera::npos.

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

References Phase::elementName(), PDSS_HKFT::LookupGe(), PDSS_HKFT::m_charge_j, PDSS_HKFT::m_deltaG_formation_tr_pr, PDSS_HKFT::m_Mu0_tr_pr, PDSS::m_spindex, PDSS::m_tp, Phase::nAtoms(), and Phase::nElements().

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

Member Data Documentation

PDSS_Water* m_waterSS
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 364 of file PDSS_HKFT.h.

Referenced by PDSS_HKFT::cp_R_ref(), PDSS_HKFT::enthalpy_RT_ref(), PDSS_HKFT::entropy_R_ref(), PDSS_HKFT::g(), PDSS_HKFT::gibbs_RT_ref(), PDSS_HKFT::initAllPtrs(), PDSS_HKFT::initThermo(), PDSS_HKFT::molarVolume_ref(), and PDSS_HKFT::operator=().

doublereal m_densWaterSS
mutableprivate

density of standard-state water

internal temporary variable

Definition at line 370 of file PDSS_HKFT.h.

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

WaterProps* m_waterProps
private
doublereal m_born_coeff_j
private

Born coefficient for the current ion or species.

Definition at line 376 of file PDSS_HKFT.h.

Referenced by PDSS_HKFT::operator=().

doublereal m_r_e_j
private

Electrostatic radii.

Definition at line 379 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 388 of file PDSS_HKFT.h.

Referenced by PDSS_HKFT::constructPDSSXML(), PDSS_HKFT::convertDGFormation(), PDSS_HKFT::operator=(), and PDSS_HKFT::reportParams().

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 397 of file PDSS_HKFT.h.

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

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 406 of file PDSS_HKFT.h.

Referenced by PDSS_HKFT::constructPDSSXML(), PDSS_HKFT::convertDGFormation(), PDSS_HKFT::enthalpy_mole2(), PDSS_HKFT::gibbs_mole(), PDSS_HKFT::initThermo(), PDSS_HKFT::operator=(), and PDSS_HKFT::reportParams().

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 412 of file PDSS_HKFT.h.

Referenced by PDSS_HKFT::constructPDSSXML(), PDSS_HKFT::deltaG(), PDSS_HKFT::enthalpy_mole2(), PDSS_HKFT::entropy_mole(), PDSS_HKFT::initThermo(), PDSS_HKFT::operator=(), and PDSS_HKFT::reportParams().

doublereal m_a1
private
doublereal m_a2
private
doublereal m_a3
private
doublereal m_a4
private
doublereal m_c1
private
doublereal m_c2
private
doublereal m_omega_pr_tr
private
doublereal m_Y_pr_tr
private

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

Definition at line 436 of file PDSS_HKFT.h.

Referenced by PDSS_HKFT::deltaG(), PDSS_HKFT::deltaH(), 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 439 of file PDSS_HKFT.h.

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

doublereal m_presR_bar
private

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

Definition at line 442 of file PDSS_HKFT.h.

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

doublereal m_domega_jdT_prtr
private

small value that is not quite zero

Definition at line 445 of file PDSS_HKFT.h.

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

doublereal m_charge_j
private

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