14 #ifndef CT_PDSS_HKFT_H
15 #define CT_PDSS_HKFT_H
17 class WaterPropsIAPWS;
23 class VPStandardState;
73 const std::string& inputFile,
const std::string&
id =
"");
88 const XML_Node& phaseRef,
bool spInstalled);
121 virtual doublereal
cp_mole()
const;
122 virtual doublereal
cv_mole()
const;
124 virtual doublereal
density()
const;
130 doublereal refPressure()
const {
137 virtual doublereal
cp_R_ref()
const;
144 virtual doublereal
pressure()
const;
147 doublereal temperature()
const;
148 virtual void setState_TP(doublereal temp, doublereal pres);
179 const std::string& inputFile,
const std::string&
id);
201 const XML_Node& phaseNode,
bool spInstalled);
234 virtual void reportParams(
size_t& kindex,
int& type, doublereal*
const c,
236 doublereal& refPressure)
const;
246 doublereal
deltaG()
const;
254 doublereal
deltaS()
const;
263 doublereal
deltaH()
const;
278 doublereal
ag(
const doublereal temp,
const int ifunc = 0)
const;
292 doublereal
bg(
const doublereal temp,
const int ifunc = 0)
const;
306 doublereal
g(
const doublereal temp,
const doublereal pres,
const int ifunc = 0)
const;
321 doublereal
f(
const doublereal temp,
const doublereal pres,
const int ifunc = 0)
const;
333 doublereal
gstar(
const doublereal temp,
const doublereal pres,
334 const int ifunc = 0)
const;
349 doublereal
LookupGe(
const std::string& elemName);
virtual doublereal enthalpy_RT() const
Return the standard state molar enthalpy divided by RT.
virtual doublereal enthalpy_mole() const
Return the molar enthalpy in units of J kmol-1.
doublereal m_a4
Input a4 coefficient (cal K gmol-1)
virtual void setTemperature(doublereal temp)
Set the internal temperature.
doublereal m_densWaterSS
density of standard-state water
virtual doublereal density() const
Return the standard state density at standard state.
doublereal f(const doublereal temp, const doublereal pres, const int ifunc=0) const
Difference function f appearing in the formulation.
virtual doublereal critTemperature() const
critical temperature
virtual void setState_TP(doublereal temp, doublereal pres)
Set the internal temperature and pressure.
doublereal bg(const doublereal temp, const int ifunc=0) const
Internal formula for the calculation of b_g()
doublereal m_deltaG_formation_tr_pr
Input value of deltaG of Formation at Tr and Pr (cal gmol-1)
doublereal gstar(const doublereal temp, const doublereal pres, const int ifunc=0) const
Evaluate the Gstar value appearing in the HKFT formulation.
doublereal maxTemp() const
return the minimum temperature
Virtual base class for the classes that manage the calculation of standard state properties for all t...
virtual doublereal cv_mole() const
Return the molar const volume heat capacity in units of J kmol-1 K-1.
doublereal m_Mu0_tr_pr
Value of the Absolute Gibbs Free Energy NIST scale at T_r and P_r.
doublereal enthalpy_mole2() const
Return the molar enthalpy in units of J kmol-1.
doublereal deltaG() const
Main routine that actually calculates the gibbs free energy difference between the reference state at...
doublereal m_c2
Input c2 coefficient (cal K gmol-1)
virtual doublereal pressure() const
Returns the pressure (Pa)
Class XML_Node is a tree-based representation of the contents of an XML file.
virtual doublereal cp_mole() const
Return the molar const pressure heat capacity in units of J kmol-1 K-1.
virtual ~PDSS_HKFT()
Destructor for the phase.
doublereal m_a3
Input a3 coefficient (cal K gmol-1 bar-1)
doublereal minTemp() const
return the minimum temperature
doublereal deltaS() const
Main routine that actually calculates the entropy difference between the reference state at Tr...
PDSS_HKFT & operator=(const PDSS_HKFT &b)
Assignment operator.
doublereal m_omega_pr_tr
Input omega_pr_tr coefficient(cal gmol-1)
Pure Virtual base class for the species thermo manager classes.
doublereal m_Y_pr_tr
y = dZdT = 1/(esp*esp) desp/dT at 298.15 and 1 bar
virtual void initAllPtrs(VPStandardStateTP *vptp_ptr, VPSSMgr *vpssmgr_ptr, SpeciesThermo *spthermo_ptr)
Initialize or Reinitialize all shallow pointers in the object.
doublereal g(const doublereal temp, const doublereal pres, const int ifunc=0) const
function g appearing in the formulation
virtual void initThermo()
Initialization routine for all of the shallow pointers.
doublereal m_a2
Input a2 coefficient (cal gmol-1)
doublereal m_charge_j
Charge of the ion.
virtual doublereal entropy_mole() const
Return the molar entropy in units of J kmol-1 K-1.
Declarations for the virtual base class PDSS (pressure dependent standard state) which handles calcul...
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 setPressure(doublereal pres)
Sets the pressure in the object.
The WaterProps class is used to house several approximation routines for properties of water...
PDSS_HKFT(VPStandardStateTP *tp, size_t spindex)
Constructor that initializes the object by examining the XML entries from the ThermoPhase object...
Class for the liquid water pressure dependent standard state.
doublereal m_deltaH_formation_tr_pr
Input value of deltaH of Formation at Tr and Pr (cal gmol-1)
virtual doublereal entropy_R_ref() const
Return the molar entropy divided by R at reference pressure.
doublereal deltaH() const
Routine that actually calculates the enthalpy difference between the reference state at Tr...
doublereal m_Entrop_tr_pr
Input value of S_j at Tr and Pr (cal gmol-1 K-1)
virtual doublereal molarVolume_ref() const
Return the molar volume at reference pressure.
WaterProps * m_waterProps
Pointer to the water property calculator.
void convertDGFormation()
Translate a Gibbs free energy of formation value to a NIST-based Chemical potential.
virtual doublereal molarVolume() const
Return the molar volume at standard state.
doublereal m_presR_bar
Reference pressure is 1 atm in units of bar= 1.0132.
This is a filter class for ThermoPhase that implements some prepatory steps for efficiently handling ...
virtual doublereal critPressure() const
critical pressure
virtual doublereal enthalpy_RT_ref() const
Return the molar enthalpy divided by RT at reference pressure.
doublereal m_domega_jdT_prtr
small value that is not quite zero
virtual doublereal gibbs_RT_ref() const
Return the molar gibbs free energy divided by RT at reference pressure.
virtual void reportParams(size_t &kindex, int &type, doublereal *const c, doublereal &minTemp, doublereal &maxTemp, doublereal &refPressure) const
This utility function reports back the type of parameterization and all of the parameters for the spe...
PDSS_Water * m_waterSS
Water standard state calculator.
doublereal ag(const doublereal temp, const int ifunc=0) const
Internal formula for the calculation of a_g()
virtual void initThermoXML(const XML_Node &phaseNode, const std::string &id)
Initialization routine for the PDSS object based on the phaseNode.
doublereal LookupGe(const std::string &elemName)
Function to look up Element Free Energies.
doublereal m_Z_pr_tr
Z = -1 / relEpsilon at 298.15 and 1 bar.
Virtual base class for a species with a pressure dependent standard state.
Class for pressure dependent standard states corresponding to ionic solutes in electrolyte water...
doublereal m_c1
Input c1 coefficient (cal gmol-1 K-1)
virtual PDSS * duplMyselfAsPDSS() const
Duplication routine for objects which inherit from PDSS.
virtual doublereal gibbs_mole() const
Return the molar Gibbs free energy in units of J kmol-1.
doublereal m_r_e_j
Electrostatic radii.
doublereal m_born_coeff_j
Born coefficient for the current ion or species.
virtual doublereal critDensity() const
critical density
virtual doublereal cp_R_ref() const
Return the molar heat capacity divided by R at reference pressure.
doublereal m_p0
Reference state pressure of the species.
doublereal m_a1
Input a1 coefficient (cal gmol-1 bar-1)
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.
virtual doublereal intEnergy_mole() const
Return the molar internal Energy in units of J kmol-1.