14 #ifndef CT_PDSS_HKFT_H
15 #define CT_PDSS_HKFT_H
70 const std::string& inputFile,
const std::string&
id =
"");
85 const XML_Node& phaseRef,
bool spInstalled);
116 virtual doublereal
cp_mole()
const;
118 virtual doublereal
density()
const;
124 doublereal refPressure()
const {
131 virtual doublereal
cp_R_ref()
const;
138 virtual void setState_TP(doublereal temp, doublereal pres);
161 const std::string& inputFile,
const std::string&
id);
183 const XML_Node& phaseNode,
bool spInstalled);
214 virtual void reportParams(
size_t& kindex,
int& type, doublereal*
const c,
216 doublereal& refPressure)
const;
226 doublereal
deltaG()
const;
234 doublereal
deltaS()
const;
242 doublereal
deltaH()
const;
257 doublereal
ag(
const doublereal temp,
const int ifunc = 0)
const;
271 doublereal
bg(
const doublereal temp,
const int ifunc = 0)
const;
285 doublereal
g(
const doublereal temp,
const doublereal pres,
const int ifunc = 0)
const;
300 doublereal
f(
const doublereal temp,
const doublereal pres,
const int ifunc = 0)
const;
312 doublereal
gstar(
const doublereal temp,
const doublereal pres,
313 const int ifunc = 0)
const;
328 doublereal
LookupGe(
const std::string& elemName);
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)
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 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...
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)
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.
Base class for PDSS classes which compute molar properties directly.
static int s_InputInconsistencyErrorExit
Static variable determining error exiting.
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.
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 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()
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 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.