Cantera
2.1.2
|
Class for pressure dependent standard states corresponding to ionic solutes in electrolyte water. More...
#include <PDSS_HKFT.h>
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_HKFT & | operator= (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 PDSS * | duplMyselfAsPDSS () 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... | |
PDSS & | operator= (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_Water * | m_waterSS |
Water standard state calculator. More... | |
doublereal | m_densWaterSS |
density of standard-state water More... | |
WaterProps * | m_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... | |
VPStandardStateTP * | m_tp |
ThermoPhase which this species belongs to. More... | |
VPSSMgr * | m_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... | |
SpeciesThermo * | m_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... | |
Class for pressure dependent standard states corresponding to ionic solutes in electrolyte water.
Definition at line 32 of file PDSS_HKFT.h.
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.
tp | Pointer to the ThermoPhase object pertaining to the phase |
spindex | Species 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().
Copy Constructor.
b | object 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.
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 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.
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 87 of file PDSS_HKFT.cpp.
References PDSS_HKFT::constructPDSSXML(), PDSS::m_pdssType, PDSS::m_pres, PDSS_HKFT::m_presR_bar, and Cantera::OneAtm.
|
virtual |
Destructor for the phase.
Definition at line 194 of file PDSS_HKFT.cpp.
References PDSS_HKFT::m_waterProps.
Assignment operator.
b | Object to be copied |
Definition at line 152 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_born_coeff_j, 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_densWaterSS, PDSS_HKFT::m_domega_jdT_prtr, PDSS_HKFT::m_Entrop_tr_pr, PDSS_HKFT::m_Mu0_tr_pr, PDSS_HKFT::m_omega_pr_tr, PDSS_HKFT::m_presR_bar, PDSS_HKFT::m_r_e_j, PDSS_HKFT::m_waterProps, PDSS_HKFT::m_waterSS, PDSS_HKFT::m_Y_pr_tr, PDSS_HKFT::m_Z_pr_tr, and PDSS::operator=().
|
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.
Reimplemented from PDSS.
Definition at line 199 of file PDSS_HKFT.cpp.
References PDSS_HKFT::PDSS_HKFT().
|
virtual |
Return the molar enthalpy in units of J kmol-1.
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
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().
|
virtual |
Return the standard state molar enthalpy divided by RT.
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().
|
virtual |
Return the molar internal Energy in units of J kmol-1.
Reimplemented from PDSS.
Definition at line 238 of file PDSS_HKFT.cpp.
References PDSS_HKFT::enthalpy_RT(), PDSS::m_pres, and PDSS_HKFT::molarVolume().
|
virtual |
Return the molar entropy in units of J kmol-1 K-1.
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().
|
virtual |
Return the molar Gibbs free energy in units of J kmol-1.
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().
|
virtual |
Return the molar const pressure heat capacity in units of J kmol-1 K-1.
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().
|
virtual |
Return the molar const volume heat capacity in units of J kmol-1 K-1.
Reimplemented from PDSS.
Definition at line 353 of file PDSS_HKFT.cpp.
|
virtual |
Return the molar volume at standard state.
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().
|
virtual |
Return the standard state density at standard state.
Reimplemented from PDSS.
Definition at line 414 of file PDSS_HKFT.cpp.
References PDSS::m_mw, and PDSS_HKFT::molarVolume().
|
virtual |
Return the molar gibbs free energy divided by RT at reference pressure.
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().
|
virtual |
Return the molar enthalpy divided by RT at reference pressure.
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().
|
virtual |
Return the molar entropy divided by R at reference pressure.
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().
|
virtual |
Return the molar heat capacity divided by R at reference pressure.
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().
|
virtual |
Return the molar volume at reference pressure.
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().
|
virtual |
Returns the pressure (Pa)
Reimplemented from PDSS.
Definition at line 471 of file PDSS_HKFT.cpp.
References PDSS::m_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.
pres | Pressure 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().
|
virtual |
Set the internal temperature.
temp | Temperature (Kelvin) |
Reimplemented from PDSS.
Definition at line 482 of file PDSS_HKFT.cpp.
References PDSS::m_temp.
Referenced by PDSS_HKFT::setState_TP().
|
virtual |
Set the internal temperature and pressure.
temp | Temperature (Kelvin) |
pres | pressure (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().
|
virtual |
|
virtual |
|
virtual |
|
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 517 of file PDSS_HKFT.cpp.
References Phase::charge(), PDSS_HKFT::convertDGFormation(), PDSS_Water::density(), Cantera::fp2str(), PDSS_HKFT::gstar(), PDSS::initThermo(), PDSS_HKFT::m_charge_j, PDSS_HKFT::m_deltaH_formation_tr_pr, PDSS_HKFT::m_densWaterSS, PDSS_HKFT::m_domega_jdT_prtr, PDSS_HKFT::m_Entrop_tr_pr, PDSS_HKFT::m_Mu0_tr_pr, PDSS_HKFT::m_omega_pr_tr, PDSS::m_pres, PDSS_HKFT::m_presR_bar, PDSS::m_spindex, PDSS::m_temp, PDSS::m_tp, PDSS_HKFT::m_waterProps, PDSS_HKFT::m_waterSS, PDSS_HKFT::m_Y_pr_tr, PDSS_HKFT::m_Z_pr_tr, Cantera::OneAtm, WaterProps::relEpsilon(), and PDSS_Water::setState_TP().
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.
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 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:
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 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().
|
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.
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 582 of file PDSS_HKFT.cpp.
References PDSS::initThermoXML().
|
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
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 587 of file PDSS_HKFT.cpp.
References PDSS::initAllPtrs(), PDSS::m_tp, PDSS_HKFT::m_waterProps, and PDSS_HKFT::m_waterSS.
|
virtual |
This utility function reports back the type of parameterization and all of the parameters for the species, index.
The following parameters are reported
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 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().
|
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().
|
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().
|
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
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().
|
private |
Internal formula for the calculation of a_g()
The output of this is in units of Angstroms
temp | Temperature (K) |
ifunc | parameters specifying the desired information
|
Definition at line 960 of file PDSS_HKFT.cpp.
Referenced by PDSS_HKFT::g().
|
private |
Internal formula for the calculation of b_g()
the output of this is unitless
temp | Temperature (K) |
ifunc | parameters specifying the desired information
|
Definition at line 975 of file PDSS_HKFT.cpp.
Referenced by PDSS_HKFT::g().
|
private |
function g appearing in the formulation
Function g appearing in the Johnson et al formulation
temp | Temperature kelvin |
pres | Pressure (pascal) |
ifunc | parameters specifying the desired information
|
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().
|
private |
Difference function f appearing in the formulation.
Function f appearing in the Johnson et al formulation of omega_j Eqn. 33 ref
temp | Temperature kelvin |
pres | Pressure (pascal) |
ifunc | parameters specifying the desired information
|
Definition at line 990 of file PDSS_HKFT.cpp.
Referenced by PDSS_HKFT::gstar().
|
private |
Evaluate the Gstar value appearing in the HKFT formulation.
temp | Temperature kelvin |
pres | Pressure (pascal) |
ifunc | parameters specifying the desired information
|
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().
|
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.
elemName | String. Only the first 3 characters are significant |
CanteraError | If 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().
|
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().
|
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=().
|
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=().
|
private |
Pointer to the water property calculator.
Definition at line 373 of file PDSS_HKFT.h.
Referenced by PDSS_HKFT::cp_mole(), PDSS_HKFT::deltaG(), PDSS_HKFT::deltaH(), PDSS_HKFT::deltaS(), PDSS_HKFT::initAllPtrs(), PDSS_HKFT::initThermo(), PDSS_HKFT::molarVolume(), PDSS_HKFT::operator=(), and PDSS_HKFT::~PDSS_HKFT().
|
private |
Born coefficient for the current ion or species.
Definition at line 376 of file PDSS_HKFT.h.
Referenced by PDSS_HKFT::operator=().
|
private |
Electrostatic radii.
Definition at line 379 of file PDSS_HKFT.h.
Referenced by PDSS_HKFT::operator=().
|
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().
|
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().
|
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().
|
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().
|
private |
Input a1 coefficient (cal gmol-1 bar-1)
Definition at line 415 of file PDSS_HKFT.h.
Referenced by PDSS_HKFT::constructPDSSXML(), PDSS_HKFT::deltaG(), PDSS_HKFT::deltaH(), PDSS_HKFT::molarVolume(), PDSS_HKFT::operator=(), and PDSS_HKFT::reportParams().
|
private |
Input a2 coefficient (cal gmol-1)
Definition at line 418 of file PDSS_HKFT.h.
Referenced by PDSS_HKFT::constructPDSSXML(), PDSS_HKFT::deltaG(), PDSS_HKFT::deltaH(), PDSS_HKFT::molarVolume(), PDSS_HKFT::operator=(), and PDSS_HKFT::reportParams().
|
private |
Input a3 coefficient (cal K gmol-1 bar-1)
Definition at line 421 of file PDSS_HKFT.h.
Referenced by PDSS_HKFT::constructPDSSXML(), PDSS_HKFT::cp_mole(), PDSS_HKFT::deltaG(), PDSS_HKFT::deltaH(), PDSS_HKFT::deltaS(), PDSS_HKFT::molarVolume(), PDSS_HKFT::operator=(), and PDSS_HKFT::reportParams().
|
private |
Input a4 coefficient (cal K gmol-1)
Definition at line 424 of file PDSS_HKFT.h.
Referenced by PDSS_HKFT::constructPDSSXML(), PDSS_HKFT::cp_mole(), PDSS_HKFT::deltaG(), PDSS_HKFT::deltaH(), PDSS_HKFT::deltaS(), PDSS_HKFT::molarVolume(), PDSS_HKFT::operator=(), and PDSS_HKFT::reportParams().
|
private |
Input c1 coefficient (cal gmol-1 K-1)
Definition at line 427 of file PDSS_HKFT.h.
Referenced by PDSS_HKFT::constructPDSSXML(), PDSS_HKFT::cp_mole(), PDSS_HKFT::deltaG(), PDSS_HKFT::deltaH(), PDSS_HKFT::deltaS(), PDSS_HKFT::operator=(), and PDSS_HKFT::reportParams().
|
private |
Input c2 coefficient (cal K gmol-1)
Definition at line 430 of file PDSS_HKFT.h.
Referenced by PDSS_HKFT::constructPDSSXML(), PDSS_HKFT::cp_mole(), PDSS_HKFT::deltaG(), PDSS_HKFT::deltaH(), PDSS_HKFT::deltaS(), PDSS_HKFT::operator=(), and PDSS_HKFT::reportParams().
|
private |
Input omega_pr_tr coefficient(cal gmol-1)
Definition at line 433 of file PDSS_HKFT.h.
Referenced by PDSS_HKFT::constructPDSSXML(), PDSS_HKFT::cp_mole(), PDSS_HKFT::deltaG(), PDSS_HKFT::deltaH(), PDSS_HKFT::deltaS(), PDSS_HKFT::initThermo(), PDSS_HKFT::molarVolume(), PDSS_HKFT::operator=(), and PDSS_HKFT::reportParams().
|
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=().
|
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=().
|
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().
|
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=().
|
private |
Charge of the ion.
Definition at line 448 of file PDSS_HKFT.h.
Referenced by PDSS_HKFT::constructPDSSXML(), PDSS_HKFT::convertDGFormation(), PDSS_HKFT::cp_mole(), PDSS_HKFT::deltaG(), PDSS_HKFT::deltaH(), PDSS_HKFT::deltaS(), PDSS_HKFT::initThermo(), PDSS_HKFT::molarVolume(), and PDSS_HKFT::operator=().