From 8af585eeab23ae11f4939e5e3d2b18488377c0dd Mon Sep 17 00:00:00 2001 From: Harry Moffat Date: Sat, 16 Jan 2010 18:57:05 +0000 Subject: [PATCH 1/4] Doxygen update - no code changed. Working on beating down the warnings --- Cantera/src/thermo/IdealSolidSolnPhase.cpp | 4 +- Cantera/src/thermo/LatticePhase.h | 8 ++++ Cantera/src/thermo/LatticeSolidPhase.h | 8 ++++ Cantera/src/thermo/ShomatePoly.h | 20 +++++++++- Cantera/src/thermo/SingleSpeciesTP.h | 8 ++++ Cantera/src/thermo/SpeciesThermoInterpType.h | 18 +++++++++ Cantera/src/thermo/SpeciesThermoMgr.h | 16 ++++++++ Cantera/src/thermo/SurfPhase.h | 8 ++++ Cantera/src/thermo/ThermoPhase.h | 39 +++++++++++++++++++- Cantera/src/thermo/VPStandardStateTP.h | 8 ++++ Cantera/src/thermo/WaterSSTP.cpp | 5 --- Cantera/src/thermo/WaterSSTP.h | 19 +++++----- 12 files changed, 140 insertions(+), 21 deletions(-) diff --git a/Cantera/src/thermo/IdealSolidSolnPhase.cpp b/Cantera/src/thermo/IdealSolidSolnPhase.cpp index ccc8aa17b..db8cbdd65 100644 --- a/Cantera/src/thermo/IdealSolidSolnPhase.cpp +++ b/Cantera/src/thermo/IdealSolidSolnPhase.cpp @@ -789,9 +789,9 @@ namespace Cantera { * \f[ * \mu^0_k(T,P) = \mu^{ref}_k(T) + (P - P_{ref}) * V_k * \f] - * where \f$V_k\f$ is the molar volume of pure species k<\I>. + * where \f$V_k\f$ is the molar volume of pure species k. * \f$ \mu^{ref}_k(T)\f$ is the chemical potential of pure - * species k<\I> at the reference pressure, \f$P_{ref}\f$. + * species k at the reference pressure, \f$P_{ref}\f$. * * @param grt Vector of length m_kk, which on return sr[k] * will contain the nondimensional diff --git a/Cantera/src/thermo/LatticePhase.h b/Cantera/src/thermo/LatticePhase.h index 7c160560c..111848b09 100644 --- a/Cantera/src/thermo/LatticePhase.h +++ b/Cantera/src/thermo/LatticePhase.h @@ -634,6 +634,14 @@ namespace Cantera { #ifdef H298MODIFY_CAPABILITY + //! Modify the value of the 298 K Heat of Formation of one species in the phase (J kmol-1) + /*! + * The 298K heat of formation is defined as the enthalpy change to create the standard state + * of the species from its constituent elements in their standard states at 298 K and 1 bar. + * + * @param k Species k + * @param Hf298New Specify the new value of the Heat of Formation at 298K and 1 bar + */ virtual void modifyOneHf298SS(const int k, const doublereal Hf298New) { m_spthermo->modifyOneHf298(k, Hf298New); m_tlast += 0.0001234; diff --git a/Cantera/src/thermo/LatticeSolidPhase.h b/Cantera/src/thermo/LatticeSolidPhase.h index d97116f3b..16f1bc4a7 100644 --- a/Cantera/src/thermo/LatticeSolidPhase.h +++ b/Cantera/src/thermo/LatticeSolidPhase.h @@ -131,6 +131,14 @@ namespace Cantera { #ifdef H298MODIFY_CAPABILITY + //! Modify the value of the 298 K Heat of Formation of one species in the phase (J kmol-1) + /*! + * The 298K heat of formation is defined as the enthalpy change to create the standard state + * of the species from its constituent elements in their standard states at 298 K and 1 bar. + * + * @param k Species k + * @param HF298New Specify the new value of the Heat of Formation at 298K and 1 bar + */ virtual void modifyOneHf298SS(const int k, const doublereal Hf298New) { m_spthermo->modifyOneHf298(k, Hf298New); m_tlast += 0.0001234; diff --git a/Cantera/src/thermo/ShomatePoly.h b/Cantera/src/thermo/ShomatePoly.h index 2937d8f0b..f1a65db63 100644 --- a/Cantera/src/thermo/ShomatePoly.h +++ b/Cantera/src/thermo/ShomatePoly.h @@ -290,8 +290,17 @@ namespace Cantera { } #ifdef H298MODIFY_CAPABILITY - + //! Report the 298 K Heat of Formation of the standard state of one species (J kmol-1) + /*! + * The 298K Heat of Formation is defined as the enthalpy change to create the standard state + * of the species from its constituent elements in their standard states at 298 K and 1 bar. + * + * @param h298 If this is nonnull, the current value of the Heat of Formation at 298K and 1 bar for + * species m_index is returned in h298[m_index]. + * @return Returns the current value of the Heat of Formation at 298K and 1 bar for + * species m_index. + */ virtual doublereal reportHf298(doublereal* const h298 = 0) const { double tPoly[4]; @@ -317,7 +326,14 @@ namespace Cantera { return hh; } - + //! Modify the value of the 298 K Heat of Formation of one species in the phase (J kmol-1) + /*! + * The 298K heat of formation is defined as the enthalpy change to create the standard state + * of the species from its constituent elements in their standard states at 298 K and 1 bar. + * + * @param k Species k + * @param Hf298New Specify the new value of the Heat of Formation at 298K and 1 bar + */ virtual void modifyOneHf298(const int k, const doublereal Hf298New) { doublereal hnow = reportHf298(); doublereal delH = Hf298New - hnow; diff --git a/Cantera/src/thermo/SingleSpeciesTP.h b/Cantera/src/thermo/SingleSpeciesTP.h index 8375b1eae..8fae1c760 100644 --- a/Cantera/src/thermo/SingleSpeciesTP.h +++ b/Cantera/src/thermo/SingleSpeciesTP.h @@ -401,6 +401,14 @@ namespace Cantera { #ifdef H298MODIFY_CAPABILITY + //! Modify the value of the 298 K Heat of Formation of one species in the phase (J kmol-1) + /*! + * The 298K heat of formation is defined as the enthalpy change to create the standard state + * of the species from its constituent elements in their standard states at 298 K and 1 bar. + * + * @param k Species k + * @param Hf298New Specify the new value of the Heat of Formation at 298K and 1 bar + */ virtual void modifyOneHf298SS(const int k, const doublereal Hf298New) { m_spthermo->modifyOneHf298(k, Hf298New); m_tlast += 0.0001234; diff --git a/Cantera/src/thermo/SpeciesThermoInterpType.h b/Cantera/src/thermo/SpeciesThermoInterpType.h index 6e8f83b04..74db43a3c 100644 --- a/Cantera/src/thermo/SpeciesThermoInterpType.h +++ b/Cantera/src/thermo/SpeciesThermoInterpType.h @@ -266,8 +266,26 @@ namespace Cantera { #ifdef H298MODIFY_CAPABILITY + //! Report the 298 K Heat of Formation of the standard state of one species (J kmol-1) + /*! + * The 298K Heat of Formation is defined as the enthalpy change to create the standard state + * of the species from its constituent elements in their standard states at 298 K and 1 bar. + * + * @param h298 If this is nonnull, the current value of the Heat of Formation at 298K and 1 bar for + * species m_speciesIndex is returned in h298[m_speciesIndex]. + * @return Returns the current value of the Heat of Formation at 298K and 1 bar for + * species m_speciesIndex. + */ virtual doublereal reportHf298(doublereal* const h298 = 0) const; + //! Modify the value of the 298 K Heat of Formation of one species in the phase (J kmol-1) + /*! + * The 298K heat of formation is defined as the enthalpy change to create the standard state + * of the species from its constituent elements in their standard states at 298 K and 1 bar. + * + * @param k Species k + * @param Hf298New Specify the new value of the Heat of Formation at 298K and 1 bar + */ virtual void modifyOneHf298(const int k, const doublereal Hf298New); #endif diff --git a/Cantera/src/thermo/SpeciesThermoMgr.h b/Cantera/src/thermo/SpeciesThermoMgr.h index 14d5347c3..48704a9ba 100644 --- a/Cantera/src/thermo/SpeciesThermoMgr.h +++ b/Cantera/src/thermo/SpeciesThermoMgr.h @@ -480,10 +480,26 @@ namespace Cantera { #ifdef H298MODIFY_CAPABILITY + //! Report the 298 K Heat of Formation of the standard state of one species (J kmol-1) + /*! + * The 298K Heat of Formation is defined as the enthalpy change to create the standard state + * of the species from its constituent elements in their standard states at 298 K and 1 bar. + * + * @param k species index + * @return Returns the current value of the Heat of Formation at 298K and 1 bar + */ virtual doublereal reportOneHf298(int k) const { throw CanteraError("reportHF298", "unimplemented"); } + //! Modify the value of the 298 K Heat of Formation of one species in the phase (J kmol-1) + /*! + * The 298K heat of formation is defined as the enthalpy change to create the standard state + * of the species from its constituent elements in their standard states at 298 K and 1 bar. + * + * @param k Species k + * @param Hf298New Specify the new value of the Heat of Formation at 298K and 1 bar + */ virtual void modifyOneHf298(const int k, const doublereal Hf298New) { throw CanteraError("reportHF298", "unimplemented"); } diff --git a/Cantera/src/thermo/SurfPhase.h b/Cantera/src/thermo/SurfPhase.h index 2872c9db4..b7a5a3c3e 100644 --- a/Cantera/src/thermo/SurfPhase.h +++ b/Cantera/src/thermo/SurfPhase.h @@ -545,6 +545,14 @@ namespace Cantera { #ifdef H298MODIFY_CAPABILITY + //! Modify the value of the 298 K Heat of Formation of one species in the phase (J kmol-1) + /*! + * The 298K heat of formation is defined as the enthalpy change to create the standard state + * of the species from its constituent elements in their standard states at 298 K and 1 bar. + * + * @param k Species k + * @param Hf298New Specify the new value of the Heat of Formation at 298K and 1 bar + */ virtual void modifyOneHf298SS(const int k, const doublereal Hf298New) { m_spthermo->modifyOneHf298(k, Hf298New); m_tlast += 0.0001234; diff --git a/Cantera/src/thermo/ThermoPhase.h b/Cantera/src/thermo/ThermoPhase.h index a4ef04d99..3d5ddb577 100644 --- a/Cantera/src/thermo/ThermoPhase.h +++ b/Cantera/src/thermo/ThermoPhase.h @@ -778,18 +778,53 @@ namespace Cantera { } #ifdef H298MODIFY_CAPABILITY + + //! Report the 298 K Heat of Formation of the standard state of one species (J kmol-1) + /*! + * The 298K Heat of Formation is defined as the enthalpy change to create the standard state + * of the species from its constituent elements in their standard states at 298 K and 1 bar. + * + * @param k species index + * @return Returns the current value of the Heat of Formation at 298K and 1 bar + */ doublereal Hf298SS(const int k) const { - return (m_spthermo->reportOneHf298(k)); + return (m_spthermo->reportOneHf298(k)); } + //! Modify the value of the 298 K Heat of Formation of one species in the phase (J kmol-1) + /*! + * The 298K heat of formation is defined as the enthalpy change to create the standard state + * of the species from its constituent elements in their standard states at 298 K and 1 bar. + * + * @param k Species k + * @param Hf298New Specify the new value of the Heat of Formation at 298K and 1 bar + */ virtual void modifyOneHf298SS(const int k, const doublereal Hf298New) { - m_spthermo->modifyOneHf298(k, Hf298New); + m_spthermo->modifyOneHf298(k, Hf298New); } + #else + + //! Report the 298 K Heat of Formation of the standard state of one species (J kmol-1) + /*! + * The 298K Heat of Formation is defined as the enthalpy change to create the standard state + * of the species from its constituent elements in their standard states at 298 K and 1 bar. + * + * @param k species index + * @return Returns the current value of the Heat of Formation at 298K and 1 bar + */ doublereal Hf298SS(const int k) const { return err("Hf298SS - H298MODIFY_CAPABILITY not compiled in"); } + //! Modify the value of the 298 K Heat of Formation of one species in the phase (J kmol-1) + /*! + * The 298K heat of formation is defined as the enthalpy change to create the standard state + * of the species from its constituent elements in their standard states at 298 K and 1 bar. + * + * @param k Species k + * @param Hf298New Specify the new value of the Heat of Formation at 298K and 1 bar + */ virtual void modifyOneHf298SS(const int k, const doublereal Hf298New) { (void) err("Hf298SS - H298MODIFY_CAPABILITY not compiled in"); } diff --git a/Cantera/src/thermo/VPStandardStateTP.h b/Cantera/src/thermo/VPStandardStateTP.h index 988ac937a..610b29092 100644 --- a/Cantera/src/thermo/VPStandardStateTP.h +++ b/Cantera/src/thermo/VPStandardStateTP.h @@ -422,6 +422,14 @@ protected: #ifdef H298MODIFY_CAPABILITY + //! Modify the value of the 298 K Heat of Formation of one species in the phase (J kmol-1) + /*! + * The 298K heat of formation is defined as the enthalpy change to create the standard state + * of the species from its constituent elements in their standard states at 298 K and 1 bar. + * + * @param k Species k + * @param HF298New Specify the new value of the Heat of Formation at 298K and 1 bar + */ void modifyOneHf298SS(const int k, const doublereal Hf298New) { m_spthermo->modifyOneHf298(k, Hf298New); m_Tlast_ss += 0.0001234; diff --git a/Cantera/src/thermo/WaterSSTP.cpp b/Cantera/src/thermo/WaterSSTP.cpp index 863d96803..0d3f0ac93 100644 --- a/Cantera/src/thermo/WaterSSTP.cpp +++ b/Cantera/src/thermo/WaterSSTP.cpp @@ -34,7 +34,6 @@ namespace Cantera { m_mw(0.0), EW_Offset(0.0), SW_Offset(0.0), - m_verbose(0), m_ready(false), m_allowGasPhase(false) { @@ -49,7 +48,6 @@ namespace Cantera { m_mw(0.0), EW_Offset(0.0), SW_Offset(0.0), - m_verbose(0), m_ready(false), m_allowGasPhase(false) { @@ -64,7 +62,6 @@ namespace Cantera { m_mw(0.0), EW_Offset(0.0), SW_Offset(0.0), - m_verbose(0), m_ready(false), m_allowGasPhase(false) { @@ -80,7 +77,6 @@ namespace Cantera { m_mw(b.m_mw), EW_Offset(b.EW_Offset), SW_Offset(b.SW_Offset), - m_verbose(b.m_verbose), m_ready(false), m_allowGasPhase(b.m_allowGasPhase) { @@ -108,7 +104,6 @@ namespace Cantera { m_mw = b.m_mw; - m_verbose = b.m_verbose; m_ready = b.m_ready; m_allowGasPhase = b.m_allowGasPhase; return *this; diff --git a/Cantera/src/thermo/WaterSSTP.h b/Cantera/src/thermo/WaterSSTP.h index b4add6b2f..5231f8655 100644 --- a/Cantera/src/thermo/WaterSSTP.h +++ b/Cantera/src/thermo/WaterSSTP.h @@ -551,22 +551,21 @@ namespace Cantera { //! Molecular weight of Water -> Cantera assumption doublereal m_mw; - /** - * Offset constants used to obtain consistency with the NIST database. - * This is added to all internal energy and enthalpy results. + //! Offset constants used to obtain consistency with the NIST database. + /*! + * This is added to all internal energy and enthalpy results. * units = J kmol-1. */ - double EW_Offset; + doublereal EW_Offset; - /* - * Offset constant used to obtain consistency with NIST convention. - * This is added to all internal entropy results. + //! Offset constant used to obtain consistency with NIST convention. + /*! + * This is added to all internal entropy results. * units = J kmol-1 K-1. */ - double SW_Offset; - - bool m_verbose; + doublereal SW_Offset; + //! Boolean is true if object has been properly initialized for calculation bool m_ready; /** From 180fbef55d5fa32c11bfa1a6ca8114fe600af126 Mon Sep 17 00:00:00 2001 From: Harry Moffat Date: Sun, 17 Jan 2010 17:05:46 +0000 Subject: [PATCH 2/4] Doxygen update - no code has been changed other than a change of symbols. --- Cantera/src/thermo/Mu0Poly.cpp | 4 +- Cantera/src/thermo/PDSS_ConstVol.cpp | 18 +++--- Cantera/src/thermo/PDSS_HKFT.cpp | 19 +++---- Cantera/src/thermo/PDSS_IdealGas.cpp | 30 +++++----- Cantera/src/thermo/PDSS_Water.cpp | 10 ++-- Cantera/src/thermo/PDSS_Water.h | 1 - Cantera/src/thermo/SpeciesThermo.h | 23 ++++++-- Cantera/src/thermo/SpeciesThermoFactory.cpp | 61 +++++++++++---------- Cantera/src/thermo/SpeciesThermoMgr.h | 10 ++-- Cantera/src/thermo/VPStandardStateTP.cpp | 16 ++++++ Cantera/src/thermo/VPStandardStateTP.h | 21 ++++--- 11 files changed, 120 insertions(+), 93 deletions(-) diff --git a/Cantera/src/thermo/Mu0Poly.cpp b/Cantera/src/thermo/Mu0Poly.cpp index 81cfc3333..4ba03aa36 100644 --- a/Cantera/src/thermo/Mu0Poly.cpp +++ b/Cantera/src/thermo/Mu0Poly.cpp @@ -95,7 +95,7 @@ namespace Cantera { return *this; } - /** + /* * Destructor: */ Mu0Poly::~Mu0Poly(){ @@ -111,7 +111,7 @@ namespace Cantera { doublereal Mu0Poly::maxTemp() const { return m_highT;} doublereal Mu0Poly::refPressure() const { return m_Pref; } - /** + /* * updateProperties is the main workhorse program. * Given a temperature (*tt), it calculates the thermodynamic * functions H/RT, S_R, and cp_R, and returns the answer. diff --git a/Cantera/src/thermo/PDSS_ConstVol.cpp b/Cantera/src/thermo/PDSS_ConstVol.cpp index 5eff50510..6bd07eac0 100644 --- a/Cantera/src/thermo/PDSS_ConstVol.cpp +++ b/Cantera/src/thermo/PDSS_ConstVol.cpp @@ -62,7 +62,7 @@ namespace Cantera { *this = b; } - /** + /* * Assignment operator */ PDSS_ConstVol& PDSS_ConstVol::operator=(const PDSS_ConstVol&b) { @@ -75,13 +75,13 @@ namespace Cantera { PDSS_ConstVol::~PDSS_ConstVol() { } - //! Duplicator + // Duplicator PDSS* PDSS_ConstVol::duplMyselfAsPDSS() const { PDSS_ConstVol * idg = new PDSS_ConstVol(*this); return (PDSS *) idg; } - /** + /* * constructPDSSXML: * * Initialization of a PDSS_ConstVol object using an @@ -126,7 +126,7 @@ namespace Cantera { } - /** + /* * constructPDSSFile(): * * Initialization of a PDSS_ConstVol object using an @@ -230,7 +230,7 @@ namespace Cantera { return (val); } - /** + /* * Calculate the Gibbs free energy in mks units of * J kmol-1 K-1. */ @@ -305,19 +305,19 @@ namespace Cantera { - /// critical temperature + // critical temperature doublereal PDSS_ConstVol::critTemperature() const { throw CanteraError("PDSS_ConstVol::critTemperature()", "unimplemented"); return (0.0); } - /// critical pressure + // critical pressure doublereal PDSS_ConstVol::critPressure() const { throw CanteraError("PDSS_ConstVol::critPressure()", "unimplemented"); return (0.0); } - /// critical density + // critical density doublereal PDSS_ConstVol::critDensity() const { throw CanteraError("PDSS_ConstVol::critDensity()", "unimplemented"); return (0.0); @@ -361,7 +361,7 @@ namespace Cantera { setTemperature(temp); } - /// saturation pressure + // saturation pressure doublereal PDSS_ConstVol::satPressure(doublereal t){ return (1.0E-200); } diff --git a/Cantera/src/thermo/PDSS_HKFT.cpp b/Cantera/src/thermo/PDSS_HKFT.cpp index 313e140d3..f09c28b51 100644 --- a/Cantera/src/thermo/PDSS_HKFT.cpp +++ b/Cantera/src/thermo/PDSS_HKFT.cpp @@ -155,7 +155,7 @@ namespace Cantera { *this = b; } - /** + /* * Assignment operator */ PDSS_HKFT& PDSS_HKFT::operator=(const PDSS_HKFT& b) { @@ -199,14 +199,14 @@ namespace Cantera { return *this; } - /** + /* * Destructor for the PDSS_HKFT class */ PDSS_HKFT::~PDSS_HKFT() { delete m_waterProps; } - //! Duplicator + // Duplicator PDSS* PDSS_HKFT::duplMyselfAsPDSS() const { PDSS_HKFT * idg = new PDSS_HKFT(*this); return (PDSS *) idg; @@ -490,7 +490,7 @@ namespace Cantera { return ee; } - /** + /* * Calculate the pressure (Pascals), given the temperature and density * Temperature: kelvin * rho: density in kg m-3 @@ -518,20 +518,20 @@ namespace Cantera { setPressure(pres); } - /// critical temperature + // critical temperature doublereal PDSS_HKFT::critTemperature() const { throw CanteraError("PDSS_HKFT::critTemperature()", "unimplemented"); return (0.0); } - /// critical pressure + // critical pressure doublereal PDSS_HKFT::critPressure() const { throw CanteraError("PDSS_HKFT::critPressure()", "unimplemented"); return (0.0); } - /// critical density + // critical density doublereal PDSS_HKFT::critDensity() const { throw CanteraError("PDSS_HKFT::critDensity()", "unimplemented"); return (0.0); @@ -1117,7 +1117,7 @@ namespace Cantera { #ifdef OLDWAY /* awData structure */ - /** + /*! * Database for atomic molecular weights * * Values are taken from the 1989 Standard Atomic Weights, CRC @@ -1161,9 +1161,8 @@ namespace Cantera { * * This static function looks up the argument string in the * database above and returns the associated Gibbs Free energies. - * - * @param ElemName String. Only the first 3 characters are significant + * @param elemName String. Only the first 3 characters are significant * * @return * Return value contains the Gibbs free energy for that element diff --git a/Cantera/src/thermo/PDSS_IdealGas.cpp b/Cantera/src/thermo/PDSS_IdealGas.cpp index 48be63302..be56ac4ff 100644 --- a/Cantera/src/thermo/PDSS_IdealGas.cpp +++ b/Cantera/src/thermo/PDSS_IdealGas.cpp @@ -68,7 +68,7 @@ namespace Cantera { *this = b; } - /** + /* * Assignment operator */ PDSS_IdealGas& PDSS_IdealGas::operator=(const PDSS_IdealGas&b) { @@ -84,7 +84,7 @@ namespace Cantera { PDSS_IdealGas::~PDSS_IdealGas() { } - //! Duplicator + // Duplicator PDSS* PDSS_IdealGas::duplMyselfAsPDSS() const { PDSS_IdealGas * idg = new PDSS_IdealGas(*this); return (PDSS *) idg; @@ -92,7 +92,7 @@ namespace Cantera { - /** + /* * constructPDSSXML: * * Initialization of a PDSS_IdealGas object using an @@ -157,7 +157,7 @@ namespace Cantera { m_maxTemp = m_spthermo->maxTemp(m_spindex); } - /** + /* * Return the molar enthalpy in units of J kmol-1 */ doublereal @@ -174,7 +174,7 @@ namespace Cantera { } - /** + /* * Calculate the internal energy in mks units of * J kmol-1 */ @@ -185,7 +185,7 @@ namespace Cantera { return (val * RT); } - /** + /* * Calculate the entropy in mks units of * J kmol-1 K-1 */ @@ -201,7 +201,7 @@ namespace Cantera { return (val); } - /** + /* * Calculate the Gibbs free energy in mks units of * J kmol-1 K-1. */ @@ -218,7 +218,7 @@ namespace Cantera { return (val); } - /** + /* * Calculate the constant pressure heat capacity * in mks units of J kmol-1 K-1 */ @@ -245,7 +245,7 @@ namespace Cantera { return (m_pres * m_mw / (GasConstant * m_temp)); } - /** + /* * Calculate the constant volume heat capacity * in mks units of J kmol-1 K-1 */ @@ -279,7 +279,7 @@ namespace Cantera { return (GasConstant * m_temp / m_p0); } - /** + /* * Calculate the pressure (Pascals), given the temperature and density * Temperature: kelvin * rho: density in kg m-3 @@ -296,26 +296,26 @@ namespace Cantera { } - /// critical temperature + // critical temperature doublereal PDSS_IdealGas::critTemperature() const { throw CanteraError("PDSS_IdealGas::critTemperature()", "unimplemented"); return (0.0); } - /// critical pressure + // critical pressure doublereal PDSS_IdealGas::critPressure() const { throw CanteraError("PDSS_IdealGas::critPressure()", "unimplemented"); return (0.0); } - /// critical density + // critical density doublereal PDSS_IdealGas::critDensity() const { throw CanteraError("PDSS_IdealGas::critDensity()", "unimplemented"); return (0.0); } - /** + /* * Return the temperature * * Obtain the temperature from the owning VPStandardStateTP object @@ -351,7 +351,7 @@ namespace Cantera { setTemperature(temp); } - /// saturation pressure + // saturation pressure doublereal PDSS_IdealGas::satPressure(doublereal t){ throw CanteraError("PDSS_IdealGas::satPressure()", "unimplemented"); /*NOTREACHED*/ diff --git a/Cantera/src/thermo/PDSS_Water.cpp b/Cantera/src/thermo/PDSS_Water.cpp index 9a6170521..76eedd142 100644 --- a/Cantera/src/thermo/PDSS_Water.cpp +++ b/Cantera/src/thermo/PDSS_Water.cpp @@ -69,7 +69,7 @@ namespace Cantera { PDSS_Water::PDSS_Water(VPStandardStateTP *tp, int spindex, - std::string inputFile, std::string id) : + std::string inputFile, std::string id) : PDSS(tp, spindex), m_sub(0), m_waterProps(0), @@ -174,7 +174,7 @@ namespace Cantera { return (PDSS *) kPDSS; } - /** + /* * constructPDSSXML: * * Initialization of a Debye-Huckel phase using an @@ -191,11 +191,11 @@ namespace Cantera { * phase element will be used. */ void PDSS_Water::constructPDSSXML(VPStandardStateTP *tp, int spindex, - const XML_Node& phaseNode, std::string id) { + const XML_Node& phaseNode, std::string id) { constructSet(); } - /** + /* * constructPDSSFile(): * * Initialization of a Debye-Huckel phase using an @@ -212,7 +212,7 @@ namespace Cantera { * phase element will be used. */ void PDSS_Water::constructPDSSFile(VPStandardStateTP *tp, int spindex, - std::string inputFile, std::string id) { + std::string inputFile, std::string id) { if (inputFile.size() == 0) { throw CanteraError("PDSS_Water::constructPDSSFile", diff --git a/Cantera/src/thermo/PDSS_Water.h b/Cantera/src/thermo/PDSS_Water.h index e01871252..b23f8ad7c 100644 --- a/Cantera/src/thermo/PDSS_Water.h +++ b/Cantera/src/thermo/PDSS_Water.h @@ -416,7 +416,6 @@ namespace Cantera { //! 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. * diff --git a/Cantera/src/thermo/SpeciesThermo.h b/Cantera/src/thermo/SpeciesThermo.h index 35b8c8edb..4714a038a 100644 --- a/Cantera/src/thermo/SpeciesThermo.h +++ b/Cantera/src/thermo/SpeciesThermo.h @@ -369,12 +369,27 @@ namespace Cantera { virtual void modifyParams(int index, doublereal *c) = 0; #ifdef H298MODIFY_CAPABILITY + //! Report the 298 K Heat of Formation of the standard state of one species (J kmol-1) + /*! + * The 298K Heat of Formation is defined as the enthalpy change to create the standard state + * of the species from its constituent elements in their standard states at 298 K and 1 bar. + * + * @param k species index + * @return Returns the current value of the Heat of Formation at 298K and 1 bar + */ + virtual doublereal reportOneHf298(int k) const = 0; - virtual doublereal reportOneHf298(int k) const = 0; - + //! Modify the value of the 298 K Heat of Formation of the standard state of + //! one species in the phase (J kmol-1) + /*! + * The 298K heat of formation is defined as the enthalpy change to create the standard state + * of the species from its constituent elements in their standard states at 298 K and 1 bar. + * + * @param k Index of the species + * @param Hf298New Specify the new value of the Heat of Formation at 298K and 1 bar. + * units = J/kmol. + */ virtual void modifyOneHf298(const int k, const doublereal Hf298New) = 0; - - #endif }; //@} diff --git a/Cantera/src/thermo/SpeciesThermoFactory.cpp b/Cantera/src/thermo/SpeciesThermoFactory.cpp index 06c48c269..816e26f07 100644 --- a/Cantera/src/thermo/SpeciesThermoFactory.cpp +++ b/Cantera/src/thermo/SpeciesThermoFactory.cpp @@ -745,29 +745,32 @@ namespace Cantera { } #endif - /** - * Install a species thermodynamic property parameterization - * for one species into a species thermo manager. - * @param k species number - * @param s XML node specifying species - * @param spthermo species thermo manager - * @param phaseNode_ptr Optional Pointer to the XML phase + //================================================================================================ + // Install a species thermodynamic property parameterization + // for the reference state for one species into a species thermo manager. + /* + * @param k Species number + * @param speciesNode Reference to the XML node specifying the species standard + * state information + * @param th_ptr Pointer to the %ThermoPhase object for the species + * @param spthermo Species reference state thermo manager + * @param phaseNode_ptr Optional pointer to the XML phase * information for the phase in which the species * resides */ void SpeciesThermoFactory:: - installThermoForSpecies(int k, const XML_Node& s, ThermoPhase *th_ptr, + installThermoForSpecies(int k, const XML_Node& speciesNode, ThermoPhase *th_ptr, SpeciesThermo& spthermo, const XML_Node *phaseNode_ptr) const { /* * Check to see that the species block has a thermo block * before processing. Throw an error if not there. */ - if (!(s.hasChild("thermo"))) { + if (!(speciesNode.hasChild("thermo"))) { throw UnknownSpeciesThermoModel("installThermoForSpecies", - s["name"], ""); + speciesNode["name"], ""); } - const XML_Node& thermo = s.child("thermo"); + const XML_Node& thermo = speciesNode.child("thermo"); const std::vector& tp = thermo.children(); int nc = static_cast(tp.size()); string mname = thermo["model"]; @@ -778,71 +781,69 @@ namespace Cantera { throw CanteraError("SpeciesThermoFactory::installThermoForSpecies", "confused: expedted MinEQ3"); } - installMinEQ3asShomateThermoFromXML(s["name"], th_ptr, spthermo, k, f); + installMinEQ3asShomateThermoFromXML(speciesNode["name"], th_ptr, spthermo, k, f); } else { if (nc == 1) { const XML_Node* f = tp[0]; if (f->name() == "Shomate") { - installShomateThermoFromXML(s["name"], spthermo, k, f, 0); + installShomateThermoFromXML(speciesNode["name"], spthermo, k, f, 0); } else if (f->name() == "const_cp") { - installSimpleThermoFromXML(s["name"], spthermo, k, *f); + installSimpleThermoFromXML(speciesNode["name"], spthermo, k, *f); } else if (f->name() == "NASA") { - installNasaThermoFromXML(s["name"], spthermo, k, f, 0); + installNasaThermoFromXML(speciesNode["name"], spthermo, k, f, 0); } else if (f->name() == "Mu0") { - installMu0ThermoFromXML(s["name"], spthermo, k, f); + installMu0ThermoFromXML(speciesNode["name"], spthermo, k, f); } else if (f->name() == "NASA9") { - installNasa9ThermoFromXML(s["name"], spthermo, k, tp); + installNasa9ThermoFromXML(speciesNode["name"], spthermo, k, tp); } // else if (f->name() == "HKFT") { // installHKFTThermoFromXML(s["name"], spthermo, k, tp); //} #ifdef WITH_ADSORBATE else if (f->name() == "adsorbate") { - installAdsorbateThermoFromXML(s["name"], spthermo, k, *f); + installAdsorbateThermoFromXML(speciesNode["name"], spthermo, k, *f); } #endif else { throw UnknownSpeciesThermoModel("installThermoForSpecies", - s["name"], f->name()); + speciesNode["name"], f->name()); } } else if (nc == 2) { const XML_Node* f0 = tp[0]; const XML_Node* f1 = tp[1]; if (f0->name() == "NASA" && f1->name() == "NASA") { - installNasaThermoFromXML(s["name"], spthermo, k, f0, f1); + installNasaThermoFromXML(speciesNode["name"], spthermo, k, f0, f1); } else if (f0->name() == "Shomate" && f1->name() == "Shomate") { - installShomateThermoFromXML(s["name"], spthermo, k, f0, f1); + installShomateThermoFromXML(speciesNode["name"], spthermo, k, f0, f1); } else if (f0->name() == "NASA9" && f1->name() == "NASA9") { - installNasa9ThermoFromXML(s["name"], spthermo, k, tp); + installNasa9ThermoFromXML(speciesNode["name"], spthermo, k, tp); } else { - throw UnknownSpeciesThermoModel("installThermoForSpecies", s["name"], - f0->name() + " and " - + f1->name()); + throw UnknownSpeciesThermoModel("installThermoForSpecies", speciesNode["name"], + f0->name() + " and " + f1->name()); } } else if (nc >= 2) { const XML_Node* f0 = tp[0]; if (f0->name() == "NASA9") { - installNasa9ThermoFromXML(s["name"], spthermo, k, tp); + installNasa9ThermoFromXML(speciesNode["name"], spthermo, k, tp); } else { - throw UnknownSpeciesThermoModel("installThermoForSpecies", s["name"], + throw UnknownSpeciesThermoModel("installThermoForSpecies", speciesNode["name"], "multiple"); } } else { - throw UnknownSpeciesThermoModel("installThermoForSpecies", s["name"], + throw UnknownSpeciesThermoModel("installThermoForSpecies", speciesNode["name"], "multiple"); } } } - - + //================================================================================================ // Install a species thermodynamic property parameterization // for the standard state for one species into a species thermo manager, VPSSMgr /* diff --git a/Cantera/src/thermo/SpeciesThermoMgr.h b/Cantera/src/thermo/SpeciesThermoMgr.h index 48704a9ba..92ca147cd 100644 --- a/Cantera/src/thermo/SpeciesThermoMgr.h +++ b/Cantera/src/thermo/SpeciesThermoMgr.h @@ -1,13 +1,11 @@ /** * @file SpeciesThermoMgr.h * This file contains descriptions of templated subclasses of - * the virtual base class, SpeciesThermo, which - * include SpeciesThermoDuo and SpeciesThermo1 + * the virtual base class, SpeciesThermo, which include SpeciesThermoDuo and SpeciesThermo1 * (see \ref mgrsrefcalc and classes * \link Cantera::SpeciesThermoDuo SpeciesThermoDuo\endlink and * \link Cantera::SpeciesThermo1 SpeciesThermo1\endlink) * - * $Author$ * $Revision$ * $Date$ */ @@ -52,8 +50,9 @@ namespace Cantera { vector_fp& h_RT, vector_fp& s_R) { - for (; begin != end; ++begin) + for (; begin != end; ++begin) { begin->updateProperties(T, cp_R, h_RT, s_R); + } } //! Iterates through a list of objects which implement a method @@ -479,7 +478,6 @@ namespace Cantera { virtual void modifyParams(int index, doublereal *c); #ifdef H298MODIFY_CAPABILITY - //! Report the 298 K Heat of Formation of the standard state of one species (J kmol-1) /*! * The 298K Heat of Formation is defined as the enthalpy change to create the standard state @@ -503,8 +501,8 @@ namespace Cantera { virtual void modifyOneHf298(const int k, const doublereal Hf298New) { throw CanteraError("reportHF298", "unimplemented"); } - #endif + private: //! Vector of SPM objects. There are m_kk of them std::vector m_thermo; diff --git a/Cantera/src/thermo/VPStandardStateTP.cpp b/Cantera/src/thermo/VPStandardStateTP.cpp index 0367dd46d..e1937b055 100644 --- a/Cantera/src/thermo/VPStandardStateTP.cpp +++ b/Cantera/src/thermo/VPStandardStateTP.cpp @@ -220,6 +220,22 @@ namespace Cantera { m_VPSS_ptr->getEnthalpy_RT(hrt); } + //================================================================================================ +#ifdef H298MODIFY_CAPABILITY + // Modify the value of the 298 K Heat of Formation of one species in the phase (J kmol-1) + /* + * The 298K heat of formation is defined as the enthalpy change to create the standard state + * of the species from its constituent elements in their standard states at 298 K and 1 bar. + * + * @param k Species k + * @param Hf298New Specify the new value of the Heat of Formation at 298K and 1 bar + */ + void VPStandardStateTP::modifyOneHf298SS(const int k, const doublereal Hf298New) { + m_spthermo->modifyOneHf298(k, Hf298New); + m_Tlast_ss += 0.0001234; + } +#endif + //================================================================================================ void VPStandardStateTP::getEntropy_R(doublereal* srt) const { updateStandardStateThermo(); m_VPSS_ptr->getEntropy_R(srt); diff --git a/Cantera/src/thermo/VPStandardStateTP.h b/Cantera/src/thermo/VPStandardStateTP.h index 610b29092..c13412fe4 100644 --- a/Cantera/src/thermo/VPStandardStateTP.h +++ b/Cantera/src/thermo/VPStandardStateTP.h @@ -421,24 +421,23 @@ protected: virtual void getEnthalpy_RT_ref(doublereal *hrt) const; #ifdef H298MODIFY_CAPABILITY - - //! Modify the value of the 298 K Heat of Formation of one species in the phase (J kmol-1) + //! Modify the value of the 298 K Heat of Formation of the standard state of + //! one species in the phase (J kmol-1) /*! * The 298K heat of formation is defined as the enthalpy change to create the standard state * of the species from its constituent elements in their standard states at 298 K and 1 bar. * - * @param k Species k - * @param HF298New Specify the new value of the Heat of Formation at 298K and 1 bar + * @param k Index of the species + * @param Hf298New Specify the new value of the Heat of Formation at 298K and 1 bar. + * units = J/kmol. */ - void modifyOneHf298SS(const int k, const doublereal Hf298New) { - m_spthermo->modifyOneHf298(k, Hf298New); - m_Tlast_ss += 0.0001234; - } + void modifyOneHf298SS(const int k, const doublereal Hf298New); #endif + + //! Returns the vector of nondimensional + //! Gibbs free energies of the reference state at the current temperature + //! of the solution and the reference pressure for the species. /*! - * Returns the vector of nondimensional - * Gibbs free energies of the reference state at the current temperature - * of the solution and the reference pressure for the species. * * @param grt Output vector contains the nondimensional Gibbs free energies * of the reference state of the species From 36e404075065e9eb2c3b6ba41895408af4149ab3 Mon Sep 17 00:00:00 2001 From: Harry Moffat Date: Sun, 17 Jan 2010 17:55:28 +0000 Subject: [PATCH 3/4] Doxygen update - beat down the warning messages from this directory. - no code changed other than reformatting. --- Cantera/src/thermo/Elements.cpp | 491 ++++++++++----------- Cantera/src/thermo/Elements.h | 427 +++++++++--------- Cantera/src/thermo/HMWSoln.cpp | 58 +-- Cantera/src/thermo/HMWSoln.h | 15 +- Cantera/src/thermo/IdealSolidSolnPhase.cpp | 66 +-- 5 files changed, 536 insertions(+), 521 deletions(-) diff --git a/Cantera/src/thermo/Elements.cpp b/Cantera/src/thermo/Elements.cpp index 61e4a260b..5e5943361 100644 --- a/Cantera/src/thermo/Elements.cpp +++ b/Cantera/src/thermo/Elements.cpp @@ -39,136 +39,135 @@ using namespace std; namespace Cantera { - /* awData structure */ - /** - * Database for atomic molecular weights - * - * Values are taken from the 1989 Standard Atomic Weights, CRC - * - * awTable[] is a static function with scope limited to this file. - * It can only be referenced via the static Elements class function, - * LookupWtElements(). - * - * units = kg / kg-mol (or equivalently gm / gm-mol) - * - * (note: this structure was picked because it's simple, compact, - * and extensible). - * - */ - struct awData { - char name[4]; ///< Null Terminated name, First letter capitalized - double atomicWeight; ///< atomic weight in kg / kg-mol - }; + /* awData structure */ + /** + * Database for atomic molecular weights + * + * Values are taken from the 1989 Standard Atomic Weights, CRC + * + * awTable[] is a static function with scope limited to this file. + * It can only be referenced via the static Elements class function, + * LookupWtElements(). + * + * units = kg / kg-mol (or equivalently gm / gm-mol) + * + * (note: this structure was picked because it's simple, compact, + * and extensible). + * + */ + struct awData { + char name[4]; ///< Null Terminated name, First letter capitalized + double atomicWeight; ///< atomic weight in kg / kg-mol + }; - /*! - * @var static struct awData aWTable[] - * \brief aWTable is a vector containing the atomic weights database. - * - * The size of the table is given by the initial instantiation. - */ - static struct awData aWTable[] = { - {"H", 1.00794}, - {"D", 2.0 }, - {"Tr", 3.0 }, - {"He", 4.002602}, - {"Li", 6.941 }, - {"Be", 9.012182}, - {"B", 10.811 }, - {"C", 12.011 }, - {"N", 14.00674}, - {"O", 15.9994 }, - {"F", 18.9984032}, - {"Ne", 20.1797 }, - {"Na", 22.98977}, - {"Mg", 24.3050 }, - {"Al", 26.98154}, - {"Si", 28.0855 }, - {"P", 30.97376}, - {"S", 32.066 }, - {"Cl", 35.4527 }, - {"Ar", 39.948 }, - {"K", 39.0983 }, - {"Ca", 40.078 }, - {"Sc", 44.95591}, - {"Ti", 47.88 }, - {"V", 50.9415 }, - {"Cr", 51.9961 }, - {"Mn", 54.9381 }, - {"Fe", 55.847 }, - {"Co", 58.9332 }, - {"Ni", 58.69 }, - {"Cu", 63.546 }, - {"Zn", 65.39 }, - {"Ga", 69.723 }, - {"Ge", 72.61 }, - {"As", 74.92159}, - {"Se", 78.96 }, - {"Br", 79.904 }, - {"Kr", 83.80 }, - {"Rb", 85.4678 }, - {"Sr", 87.62 }, - {"Y", 88.90585}, - {"Zr", 91.224 }, - {"Nb", 92.90638}, - {"Mo", 95.94 }, - {"Tc", 97.9072 }, - {"Ru", 101.07 }, - {"Rh", 102.9055 }, - {"Pd", 106.42 }, - {"Ag", 107.8682 }, - {"Cd", 112.411 }, - {"In", 114.82 }, - {"Sn", 118.710 }, - {"Sb", 121.75 }, - {"Te", 127.6 }, - {"I", 126.90447}, - {"Xe", 131.29 }, - {"Cs", 132.90543}, - {"Ba", 137.327 }, - {"La", 138.9055 }, - {"Ce", 140.115 }, - {"Pr", 140.90765}, - {"Nd", 144.24 }, - {"Pm", 144.9127 }, - {"Sm", 150.36 }, - {"Eu", 151.965 }, - {"Gd", 157.25 }, - {"Tb", 158.92534}, - {"Dy", 162.50 }, - {"Ho", 164.93032}, - {"Er", 167.26 }, - {"Tm", 168.93421}, - {"Yb", 173.04 }, - {"Lu", 174.967 }, - {"Hf", 178.49 }, - {"Ta", 180.9479 }, - {"W", 183.85 }, - {"Re", 186.207 }, - {"Os", 190.2 }, - {"Ir", 192.22 }, - {"Pt", 195.08 }, - {"Au", 196.96654}, - {"Hg", 200.59 }, - {"Ti", 204.3833 }, - {"Pb", 207.2 }, - {"Bi", 208.98037}, - {"Po", 208.9824 }, - {"At", 209.9871 }, - {"Rn", 222.0176 }, - {"Fr", 223.0197 }, - {"Ra", 226.0254 }, - {"Ac", 227.0279 }, - {"Th", 232.0381 }, - {"Pa", 231.03588}, - {"U", 238.0508 }, - {"Np", 237.0482 }, - {"Pu", 244.0482 } - }; + /*! + * @var static struct awData aWTable[] + * \brief aWTable is a vector containing the atomic weights database. + * + * The size of the table is given by the initial instantiation. + */ + static struct awData aWTable[] = { + {"H", 1.00794}, + {"D", 2.0 }, + {"Tr", 3.0 }, + {"He", 4.002602}, + {"Li", 6.941 }, + {"Be", 9.012182}, + {"B", 10.811 }, + {"C", 12.011 }, + {"N", 14.00674}, + {"O", 15.9994 }, + {"F", 18.9984032}, + {"Ne", 20.1797 }, + {"Na", 22.98977}, + {"Mg", 24.3050 }, + {"Al", 26.98154}, + {"Si", 28.0855 }, + {"P", 30.97376}, + {"S", 32.066 }, + {"Cl", 35.4527 }, + {"Ar", 39.948 }, + {"K", 39.0983 }, + {"Ca", 40.078 }, + {"Sc", 44.95591}, + {"Ti", 47.88 }, + {"V", 50.9415 }, + {"Cr", 51.9961 }, + {"Mn", 54.9381 }, + {"Fe", 55.847 }, + {"Co", 58.9332 }, + {"Ni", 58.69 }, + {"Cu", 63.546 }, + {"Zn", 65.39 }, + {"Ga", 69.723 }, + {"Ge", 72.61 }, + {"As", 74.92159}, + {"Se", 78.96 }, + {"Br", 79.904 }, + {"Kr", 83.80 }, + {"Rb", 85.4678 }, + {"Sr", 87.62 }, + {"Y", 88.90585}, + {"Zr", 91.224 }, + {"Nb", 92.90638}, + {"Mo", 95.94 }, + {"Tc", 97.9072 }, + {"Ru", 101.07 }, + {"Rh", 102.9055 }, + {"Pd", 106.42 }, + {"Ag", 107.8682 }, + {"Cd", 112.411 }, + {"In", 114.82 }, + {"Sn", 118.710 }, + {"Sb", 121.75 }, + {"Te", 127.6 }, + {"I", 126.90447}, + {"Xe", 131.29 }, + {"Cs", 132.90543}, + {"Ba", 137.327 }, + {"La", 138.9055 }, + {"Ce", 140.115 }, + {"Pr", 140.90765}, + {"Nd", 144.24 }, + {"Pm", 144.9127 }, + {"Sm", 150.36 }, + {"Eu", 151.965 }, + {"Gd", 157.25 }, + {"Tb", 158.92534}, + {"Dy", 162.50 }, + {"Ho", 164.93032}, + {"Er", 167.26 }, + {"Tm", 168.93421}, + {"Yb", 173.04 }, + {"Lu", 174.967 }, + {"Hf", 178.49 }, + {"Ta", 180.9479 }, + {"W", 183.85 }, + {"Re", 186.207 }, + {"Os", 190.2 }, + {"Ir", 192.22 }, + {"Pt", 195.08 }, + {"Au", 196.96654}, + {"Hg", 200.59 }, + {"Ti", 204.3833 }, + {"Pb", 207.2 }, + {"Bi", 208.98037}, + {"Po", 208.9824 }, + {"At", 209.9871 }, + {"Rn", 222.0176 }, + {"Fr", 223.0197 }, + {"Ra", 226.0254 }, + {"Ac", 227.0279 }, + {"Th", 232.0381 }, + {"Pa", 231.03588}, + {"U", 238.0508 }, + {"Np", 237.0482 }, + {"Pu", 244.0482 } + }; - //! Static function to look up an atomic weight - /*! - * + // Static function to look up an atomic weight + /* * This static function looks up the argument string in the * database above and returns the associated molecular weight. * The data are from the periodic table. @@ -177,8 +176,7 @@ namespace Cantera { * source for the element atomic weights. This helps to * ensure that mass is conserved. * - * @param - * ElemName String. Only the first 3 characters are significant + * @param s String, Only the first 3 characters are significant * * @return * Return value contains the atomic weight of the element @@ -188,11 +186,10 @@ namespace Cantera { * @exception CanteraError * If a match is not found, a CanteraError is thrown as well */ - doublereal Elements::LookupWtElements(const std::string& s) { + doublereal Elements::LookupWtElements(const std::string& ename) { int num = sizeof(aWTable) / sizeof(struct awData); - string s3 = s.substr(0,3); + string s3 = ename.substr(0,3); for (int i = 0; i < num; i++) { - //if (!std::strncmp(s.c_str(), aWTable[i].name, 3)) { if (s3 == aWTable[i].name) { return (aWTable[i].atomicWeight); } @@ -267,68 +264,68 @@ namespace Cantera { - /* - * freezeElements(): - * - * Set the freeze flag. This is a prerequesite to other - * activivities, i.e., this is done before species are defined. - */ - void Elements::freezeElements() { - m_elementsFrozen = true; - } + /* + * freezeElements(): + * + * Set the freeze flag. This is a prerequesite to other + * activivities, i.e., this is done before species are defined. + */ + void Elements::freezeElements() { + m_elementsFrozen = true; + } #ifdef INCL_DEPRECATED_METHODS - /* - * - * Returns an ElementData struct that contains the parameters - * for element index m. - */ - ElementData Elements::element(int m) const { - ElementData e; - e.name = m_elementNames[m]; - e.atomicWeight = m_atomicWeights[m]; - return e; - } + /* + * + * Returns an ElementData struct that contains the parameters + * for element index m. + */ + ElementData Elements::element(int m) const { + ElementData e; + e.name = m_elementNames[m]; + e.atomicWeight = m_atomicWeights[m]; + return e; + } #endif - /* - * elementIndex(): - * - * Index of element named \c name. The index is an integer - * assigned to each element in the order it was added, - * beginning with 0 for the first element. If \c name is not - * the name of an element in the set, then the value -1 is - * returned. - * - */ + /* + * elementIndex(): + * + * Index of element named \c name. The index is an integer + * assigned to each element in the order it was added, + * beginning with 0 for the first element. If \c name is not + * the name of an element in the set, then the value -1 is + * returned. + * + */ #ifdef USE_DGG_CODE - int Elements::elementIndex(std::string name) const{ - map::const_iterator it; - it = m_definedElements.find(name); - if (it != m_definedElements.end()) { - return it->second; - } - return -1; + int Elements::elementIndex(std::string name) const{ + map::const_iterator it; + it = m_definedElements.find(name); + if (it != m_definedElements.end()) { + return it->second; } + return -1; + } #else - int Elements::elementIndex(std::string name) const { - for (int i = 0; i < m_mm; i++) { - if (m_elementNames[i] == name) return i; - } - return -1; + int Elements::elementIndex(std::string name) const { + for (int i = 0; i < m_mm; i++) { + if (m_elementNames[i] == name) return i; } + return -1; + } #endif - /* - * - * Name of the element with index \c m. @param m Element - * index. If m < 0 or m >= nElements() an exception is thrown. - */ - string Elements::elementName(int m) const { - if (m >= 0 && m < nElements()) - return m_elementNames[m]; - else - throw ElementRangeError("Elements::elementName", m, nElements()); - } + /* + * + * Name of the element with index \c m. @param m Element + * index. If m < 0 or m >= nElements() an exception is thrown. + */ + string Elements::elementName(int m) const { + if (m >= 0 && m < nElements()) + return m_elementNames[m]; + else + throw ElementRangeError("Elements::elementName", m, nElements()); + } @@ -340,46 +337,46 @@ namespace Cantera { return (m_entropy298[m]); } - /* - * - * Add an element to the current set of elements in the current object. - * @param symbol symbol string - * @param weight atomic weight in kg/kmol. - * - * The default weight is a special value, which will cause the - * routine to look up the actual weight via a string lookup. - * - * There are two interfaces to this routine. The XML interface - * looks up the required parameters for the regular interface - * and then calls the base routine. - */ - void Elements:: - addElement(const std::string& symbol, doublereal weight) - { - if (weight == -12345.0) { - weight = LookupWtElements(symbol); - if (weight < 0.0) { - throw ElementsFrozen("addElement"); - } - } - if (m_elementsFrozen) { - throw ElementsFrozen("addElement"); - return; - } - m_atomicWeights.push_back(weight); - m_elementNames.push_back(symbol); + /* + * + * Add an element to the current set of elements in the current object. + * @param symbol symbol string + * @param weight atomic weight in kg/kmol. + * + * The default weight is a special value, which will cause the + * routine to look up the actual weight via a string lookup. + * + * There are two interfaces to this routine. The XML interface + * looks up the required parameters for the regular interface + * and then calls the base routine. + */ + void Elements:: + addElement(const std::string& symbol, doublereal weight) + { + if (weight == -12345.0) { + weight = LookupWtElements(symbol); + if (weight < 0.0) { + throw ElementsFrozen("addElement"); + } + } + if (m_elementsFrozen) { + throw ElementsFrozen("addElement"); + return; + } + m_atomicWeights.push_back(weight); + m_elementNames.push_back(symbol); #ifdef USE_DGG_CODE - m_definedElements[symbol] = nElements() + 1; + m_definedElements[symbol] = nElements() + 1; #endif - m_mm++; - } + m_mm++; + } - void Elements:: - addElement(const XML_Node& e) { - doublereal weight = atof(e["atomicWt"].c_str()); - string symbol = e["name"]; - addElement(symbol, weight); - } + void Elements:: + addElement(const XML_Node& e) { + doublereal weight = atof(e["atomicWt"].c_str()); + string symbol = e["name"]; + addElement(symbol, weight); + } /* * addUniqueElement(): @@ -572,31 +569,31 @@ namespace Cantera { } } - } + } - /* - * subscribe(), unsubscribe(), and reportSubscriptions(): - * - * Handles setting and reporting the number of subscriptions to this - * object. - */ - void Elements::subscribe() { - ++numSubscribers; - } - int Elements::unsubscribe() { - --numSubscribers; - return numSubscribers; - } - int Elements::reportSubscriptions() const { - return numSubscribers; - } + /* + * subscribe(), unsubscribe(), and reportSubscriptions(): + * + * Handles setting and reporting the number of subscriptions to this + * object. + */ + void Elements::subscribe() { + ++numSubscribers; + } + int Elements::unsubscribe() { + --numSubscribers; + return numSubscribers; + } + int Elements::reportSubscriptions() const { + return numSubscribers; + } - /********************* GLOBAL STATIC SECTION **************************/ - /* - * We keep track of a vector of pointers to element objects. - * Initially there are no Elements objects. Whenever one is created, - * the pointer to that object is added onto this list. - */ - vector Elements::Global_Elements_List; - /***********************************************************************/ + /********************* GLOBAL STATIC SECTION **************************/ + /* + * We keep track of a vector of pointers to element objects. + * Initially there are no Elements objects. Whenever one is created, + * the pointer to that object is added onto this list. + */ + vector Elements::Global_Elements_List; + /***********************************************************************/ } diff --git a/Cantera/src/thermo/Elements.h b/Cantera/src/thermo/Elements.h index 148cf2abf..fa0e5dc2b 100644 --- a/Cantera/src/thermo/Elements.h +++ b/Cantera/src/thermo/Elements.h @@ -23,8 +23,8 @@ namespace Cantera { - class XML_Node; - class ElementRangeError; + class XML_Node; + class ElementRangeError; //! Positive number indicating we don't know the gibbs free energy //! of the element in its most stable state at 298.15 K and 1 bar. @@ -45,249 +45,266 @@ namespace Cantera { * * @ingroup phases */ - class Elements { + class Elements { - public: + public: - /// Default constructor for the elements class - Elements(); + //! Default constructor for the elements class + Elements(); - //! Default destructor for the elements class - ~Elements(); + //! Default destructor for the elements class + ~Elements(); - //! copy constructor - /*! - * This copy constructor just calls the assignment operator for this - * class. It sets the number of subscribers to zer0. - * - * @param right Reference to the object to be copied. - */ - Elements(const Elements& right); + //! copy constructor + /*! + * This copy constructor just calls the assignment operator for this + * class. It sets the number of subscribers to zer0. + * + * @param right Reference to the object to be copied. + */ + Elements(const Elements& right); - //! Assigntment operator - /*! - * This is the assignment operator for the Elements class. - * Right now we pretty much do a straight uncomplicated - * assignment. However, subscribers are not mucked with, as they - * have to do with the address of the object to be subscribed to - * - * @param right Reference to the object to be copied. - */ - Elements& operator=(const Elements& right); + //! Assigntment operator + /*! + * This is the assignment operator for the Elements class. + * Right now we pretty much do a straight uncomplicated + * assignment. However, subscribers are not mucked with, as they + * have to do with the address of the object to be subscribed to + * + * @param right Reference to the object to be copied. + */ + Elements& operator=(const Elements& right); - //! Function to lookup the atomic weight of an element - /*! - * @param ename Element symbol name. - */ - static double LookupWtElements(const std::string &ename); - /// Atomic weight of element m. - /*! - * @param m element index - */ - doublereal atomicWeight(int m) const { return m_atomicWeights[m]; } + //! Static function to look up an atomic weight + /*! + * This static function looks up the argument string in the + * database above and returns the associated molecular weight. + * The data are from the periodic table. + * + * Note: The idea behind this function is to provide a unified + * source for the element atomic weights. This helps to + * ensure that mass is conserved. + * + * @param ename String, Only the first 3 characters are significant + * + * @return + * Return value contains the atomic weight of the element + * If a match for the string is not found, a value of -1.0 is + * returned. + * + * @exception CanteraError + * If a match is not found, a CanteraError is thrown as well + */ + static double LookupWtElements(const std::string &ename); - /// Atomic number of element m. - /*! - * @param m element index - */ - int atomicNumber(int m) const { return m_atomicNumbers[m]; } + /// Atomic weight of element m. + /*! + * @param m element index + */ + doublereal atomicWeight(int m) const { return m_atomicWeights[m]; } - //! Entropy at 298.15 K and 1 bar of stable state - //! of the element - /*! - * units J kmol-1 K-1 - * - * @param m Element index - */ - doublereal entropyElement298(int m) const; + /// Atomic number of element m. + /*! + * @param m element index + */ + int atomicNumber(int m) const { return m_atomicNumbers[m]; } - /// vector of element atomic weights - const vector_fp& atomicWeights() const { return m_atomicWeights; } + //! Entropy at 298.15 K and 1 bar of stable state + //! of the element + /*! + * units J kmol-1 K-1 + * + * @param m Element index + */ + doublereal entropyElement298(int m) const; - /** - * Inline function that returns the number of elements in the object. - * - * @return - * \c int: The number of elements in the object. - */ - int nElements() const { return m_mm; } + /// vector of element atomic weights + const vector_fp& atomicWeights() const { return m_atomicWeights; } - //! Function that returns the index of an element. - /*! - * Index of element named \c name. The index is an integer - * assigned to each element in the order it was added, - * beginning with 0 for the first element. If \c name is not - * the name of an element in the set, then the value -1 is - * returned. - * - * @param name String containing the index. - */ - int elementIndex(std::string name) const; + /** + * Inline function that returns the number of elements in the object. + * + * @return + * \c int: The number of elements in the object. + */ + int nElements() const { return m_mm; } + + //! Function that returns the index of an element. + /*! + * Index of element named \c name. The index is an integer + * assigned to each element in the order it was added, + * beginning with 0 for the first element. If \c name is not + * the name of an element in the set, then the value -1 is + * returned. + * + * @param name String containing the index. + */ + int elementIndex(std::string name) const; - //! Name of the element with index \c m. - /*! - * @param m Element index. If m < 0 or m >= nElements() an exception is thrown. - */ - std::string elementName(int m) const; + //! Name of the element with index \c m. + /*! + * @param m Element index. If m < 0 or m >= nElements() an exception is thrown. + */ + std::string elementName(int m) const; - //! Returns a string vector containing the element names - /*! - * Returns a read-only reference to the vector of element names. - * @return const vector& : The vector contains - * the element names in their indexed order. - */ - const std::vector& elementNames() const { - return m_elementNames; - } + //! Returns a string vector containing the element names + /*! + * Returns a read-only reference to the vector of element names. + * @return const vector& : The vector contains + * the element names in their indexed order. + */ + const std::vector& elementNames() const { + return m_elementNames; + } - //! Add an element to the current set of elements in the current object. - /*! - * The default weight is a special value, which will cause the - * routine to look up the actual weight via a string lookup. - * - * There are two interfaces to this routine. The XML interface - * looks up the required parameters for the regular interface - * and then calls the base routine. - * - * @param symbol string symbol for the element. - * @param weight Atomic weight of the element. If no argument - * is provided, a lookup is attempted. - */ - void addElement(const std::string& symbol, - doublereal weight = -12345.0); + //! Add an element to the current set of elements in the current object. + /*! + * The default weight is a special value, which will cause the + * routine to look up the actual weight via a string lookup. + * + * There are two interfaces to this routine. The XML interface + * looks up the required parameters for the regular interface + * and then calls the base routine. + * + * @param symbol string symbol for the element. + * @param weight Atomic weight of the element. If no argument + * is provided, a lookup is attempted. + */ + void addElement(const std::string& symbol, + doublereal weight = -12345.0); - //! Add an element to the current set of elements in the current object. - /*! - * @param e Reference to the XML_Node containing the element information - * The node name is the element symbol and the atomWt attribute - * is used as the atomic weight. - */ - void addElement(const XML_Node& e); + //! Add an element to the current set of elements in the current object. + /*! + * @param e Reference to the XML_Node containing the element information + * The node name is the element symbol and the atomWt attribute + * is used as the atomic weight. + */ + void addElement(const XML_Node& e); - //! Add an element only if the element hasn't been added before. - /*! - * This is accomplished via a string match on symbol. - * - * @param symbol string symbol for the element. - * @param weight Atomic weight of the element. If no argument - * is provided, a lookup is attempted. - * @param atomicNumber defaults to 0 - * @param entropy298 Value of the entropy at 298 and 1 bar of the - * element in its most stable form. - * The default is to specify an ENTROPY298_UNKNOWN value, - * which will cause a throw error if its ever - * needed. - */ - void addUniqueElement(const std::string& symbol, - doublereal weight = -12345.0, int atomicNumber = 0, - doublereal entropy298 = ENTROPY298_UNKNOWN); + //! Add an element only if the element hasn't been added before. + /*! + * This is accomplished via a string match on symbol. + * + * @param symbol string symbol for the element. + * @param weight Atomic weight of the element. If no argument + * is provided, a lookup is attempted. + * @param atomicNumber defaults to 0 + * @param entropy298 Value of the entropy at 298 and 1 bar of the + * element in its most stable form. + * The default is to specify an ENTROPY298_UNKNOWN value, + * which will cause a throw error if its ever + * needed. + */ + void addUniqueElement(const std::string& symbol, + doublereal weight = -12345.0, int atomicNumber = 0, + doublereal entropy298 = ENTROPY298_UNKNOWN); - //! Add an element to the current set of elements in the current object. - /*! - * @param e Reference to the XML_Node containing the element information - * The node name is the element symbol and the atomWt attribute - * is used as the atomic weight. - */ - void addUniqueElement(const XML_Node& e); + //! Add an element to the current set of elements in the current object. + /*! + * @param e Reference to the XML_Node containing the element information + * The node name is the element symbol and the atomWt attribute + * is used as the atomic weight. + */ + void addUniqueElement(const XML_Node& e); - //! Add multiple elements from a XML_Node phase description - /*! - * @param phase XML_Node reference to a phase - */ - void addElementsFromXML(const XML_Node& phase); + //! Add multiple elements from a XML_Node phase description + /*! + * @param phase XML_Node reference to a phase + */ + void addElementsFromXML(const XML_Node& phase); - //! Prohibit addition of more elements, and prepare to add species. - void freezeElements(); + //! Prohibit addition of more elements, and prepare to add species. + void freezeElements(); - /// True if freezeElements has been called. - bool elementsFrozen() { return m_elementsFrozen; } + /// True if freezeElements has been called. + bool elementsFrozen() { return m_elementsFrozen; } - /// Remove all elements - void clear(); + /// Remove all elements + void clear(); - /// True if both elements and species have been frozen - bool ready() const; + /// True if both elements and species have been frozen + bool ready() const; - //! subscribe to this object - /*! - * Increment by one the number of subscriptions to this object. - */ - void subscribe(); + //! subscribe to this object + /*! + * Increment by one the number of subscriptions to this object. + */ + void subscribe(); - //! unsubscribe to this object - /*! - * decrement by one the number of subscriptions to this object. - */ - int unsubscribe(); + //! unsubscribe to this object + /*! + * decrement by one the number of subscriptions to this object. + */ + int unsubscribe(); - //! report the number of subscriptions - int reportSubscriptions() const; + //! report the number of subscriptions + int reportSubscriptions() const; - protected: + protected: - /******************************************************************/ - /* Description of DATA in the Object */ - /******************************************************************/ + /******************************************************************/ + /* Description of DATA in the Object */ + /******************************************************************/ - //! Number of elements. - int m_mm; + //! Number of elements. + int m_mm; - /* m_elementsFrozen: */ - /** boolean indicating completion of object - * - * If this is true, then no elements may be added to the - * object. - */ - bool m_elementsFrozen; + /* m_elementsFrozen: */ + /** boolean indicating completion of object + * + * If this is true, then no elements may be added to the + * object. + */ + bool m_elementsFrozen; - /** - * Vector of element atomic weights: - * - * units = kg / kmol - */ - vector_fp m_atomicWeights; + /** + * Vector of element atomic weights: + * + * units = kg / kmol + */ + vector_fp m_atomicWeights; - /** - * Vector of element atomic numbers: - * - */ - vector_int m_atomicNumbers; + /** + * Vector of element atomic numbers: + * + */ + vector_int m_atomicNumbers; - /** Vector of strings containing the names of the elements - * - * Note, a string search is the primary way to identify elements. - */ - std::vector m_elementNames; + /** Vector of strings containing the names of the elements + * + * Note, a string search is the primary way to identify elements. + */ + std::vector m_elementNames; - //! Entropy at 298.15 K and 1 bar of stable state - /*! - * units J kmol-1 - */ - vector_fp m_entropy298; + //! Entropy at 298.15 K and 1 bar of stable state + /*! + * units J kmol-1 + */ + vector_fp m_entropy298; - /** - * Number of Constituents Objects that use this object - * - * Number of Constituents Objects that require this Elements object - * to complete its definition. - * The destructor checks to see that this is equal to zero. - * when the element object is released. - */ - int numSubscribers; + /** + * Number of Constituents Objects that use this object + * + * Number of Constituents Objects that require this Elements object + * to complete its definition. + * The destructor checks to see that this is equal to zero. + * when the element object is released. + */ + int numSubscribers; - /********* GLOBAL STATIC SECTION *************/ + /********* GLOBAL STATIC SECTION *************/ - public: - /** Vector of pointers to Elements Objects - * - */ - static std::vector Global_Elements_List; + public: + /** Vector of pointers to Elements Objects + * + */ + static std::vector Global_Elements_List; - friend class Constituents; - }; + friend class Constituents; + }; } // namespace diff --git a/Cantera/src/thermo/HMWSoln.cpp b/Cantera/src/thermo/HMWSoln.cpp index 8e30b0ac5..a250de5f0 100644 --- a/Cantera/src/thermo/HMWSoln.cpp +++ b/Cantera/src/thermo/HMWSoln.cpp @@ -197,7 +197,7 @@ namespace Cantera { constructPhaseXML(phaseRoot, id); } - /** + /* * Copy Constructor: * * Note this stuff will not work until the underlying phase @@ -254,7 +254,7 @@ namespace Cantera { *this = b; } - /** + /* * operator=() * * Note this stuff will not work until the underlying phase @@ -578,7 +578,7 @@ namespace Cantera { printCoeffs(); } - /** + /* * ~HMWSoln(): (virtual) * * Destructor: does nothing: @@ -589,7 +589,7 @@ namespace Cantera { } } - /** + /* * duplMyselfAsThermoPhase(): * * This routine operates at the ThermoPhase level to @@ -601,7 +601,7 @@ namespace Cantera { return (ThermoPhase *) mtp; } - /** + /* * Equation of state type flag. The base class returns * zero. Subclasses should define this to return a unique * non-zero value. Constants defined for this purpose are @@ -628,7 +628,7 @@ namespace Cantera { // // -------- Molar Thermodynamic Properties of the Solution --------------- // - /** + /* * Molar enthalpy of the solution. Units: J/kmol. */ doublereal HMWSoln::enthalpy_mole() const { @@ -695,7 +695,7 @@ namespace Cantera { return L; } - /** + /* * Molar internal energy of the solution. Units: J/kmol. * * This is calculated from the soln enthalpy and then @@ -709,7 +709,7 @@ namespace Cantera { return uu; } - /** + /* * Molar soln entropy at constant pressure. Units: J/kmol/K. * * This is calculated from the partial molar entropies. @@ -725,7 +725,7 @@ namespace Cantera { return mean_X(DATA_PTR(m_tmpV)); } - /** Molar heat capacity at constant pressure. Units: J/kmol/K. + /* Molar heat capacity at constant pressure. Units: J/kmol/K. * * Returns the solution heat capacition at constant pressure. * This is calculated from the partial molar heat capacities. @@ -736,7 +736,7 @@ namespace Cantera { return val; } - /// Molar heat capacity at constant volume. Units: J/kmol/K. + // Molar heat capacity at constant volume. Units: J/kmol/K. doublereal HMWSoln::cv_mole() const { //getPartialMolarCv(m_tmpV.begin()); //return mean_X(m_tmpV.begin()); @@ -757,7 +757,7 @@ namespace Cantera { return m_Pcurrent; } - /** + /* * Set the pressure at constant temperature. Units: Pa. * This method sets a constant within the object. * The mass density is not a function of pressure. @@ -779,7 +779,7 @@ namespace Cantera { State::setDensity(dd); } - /** + /* * The isothermal compressibility. Units: 1/Pa. * The isothermal compressibility is defined as * \f[ @@ -795,7 +795,7 @@ namespace Cantera { //return 0.0; } - /** + /* * The thermal expansion coefficient. Units: 1/K. * The thermal expansion coefficient is defined as * @@ -817,7 +817,7 @@ namespace Cantera { return State::density(); } - /** + /* * Overwritten setDensity() function is necessary because the * density is not an indendent variable. * @@ -846,7 +846,7 @@ namespace Cantera { } } - /** + /* * Overwritten setMolarDensity() function is necessary because the * density is not an indendent variable. * @@ -1057,7 +1057,7 @@ namespace Cantera { // // ------ Partial Molar Properties of the Solution ----------------- // - /** + /* * Get the species chemical potentials. Units: J/kmol. * * This function returns a vector of chemical potentials of the @@ -1333,12 +1333,12 @@ namespace Cantera { * -------------- Utilities ------------------------------- */ - /** + /* * @internal * Set equation of state parameters. The number and meaning of * these depends on the subclass. * @param n number of parameters - * @param c array of \i n coefficients + * @param c array of n coefficients * */ void HMWSoln::setParameters(int n, doublereal* const c) { @@ -1346,7 +1346,7 @@ namespace Cantera { void HMWSoln::getParameters(int &n, doublereal * const c) const { } - /** + /* * Set equation of state parameter values from XML * entries. This method is called by function importPhase in * file importCTML.cpp when processing a phase definition in @@ -1382,7 +1382,7 @@ namespace Cantera { return pres; } - /** + /* * Report the molar volume of species k * * units - \f$ m^3 kmol^-1 \f$ @@ -1442,7 +1442,7 @@ namespace Cantera { return A; } - /** + /* * dA_DebyedT_TP() (virtual) * * Returns the derivative of the A_Debye parameter with @@ -1477,7 +1477,7 @@ namespace Cantera { return dAdT; } - /** + /* * dA_DebyedP_TP() (virtual) * * Returns the derivative of the A_Debye parameter with @@ -1512,7 +1512,7 @@ namespace Cantera { } - /** + /* * Calculate the DH Parameter used for the Enthalpy calcalations * * ADebye_L = 4 R T**2 d(Aphi) / dT @@ -1533,7 +1533,7 @@ namespace Cantera { return retn; } - /** + /* * Calculate the DH Parameter used for the Volume calcalations * * ADebye_V = - 4 R T d(Aphi) / dP @@ -1554,7 +1554,7 @@ namespace Cantera { return retn; } - /** + /* * Return Pitzer's definition of A_J. This is basically the * temperature derivative of A_L, and the second derivative * of Aphi @@ -1584,7 +1584,7 @@ namespace Cantera { return retn; } - /** + /* * d2A_DebyedT2_TP() (virtual) * * Returns the 2nd derivative of the A_Debye parameter with @@ -1645,7 +1645,7 @@ namespace Cantera { - /** + /* * initLengths(): * * This internal function adjusts the lengths of arrays based on @@ -1922,8 +1922,8 @@ namespace Cantera { /* * Find the counterIJ for the symmetric binary interaction */ - //n = m_kk*i + j; - //counterIJ = m_CounterIJ[n]; + // n = m_kk*i + j; + // counterIJ = m_CounterIJ[n]; /* * Only loop over oppositely charge species */ diff --git a/Cantera/src/thermo/HMWSoln.h b/Cantera/src/thermo/HMWSoln.h index f174a9469..17339386b 100644 --- a/Cantera/src/thermo/HMWSoln.h +++ b/Cantera/src/thermo/HMWSoln.h @@ -672,7 +672,7 @@ namespace Cantera { * @code q0, q1, q2, q3, q4 - <\binarySaltParameters> + @endcode * * The parameters for \f$ \beta^{(0)}\f$ fit the following equation: @@ -686,9 +686,9 @@ namespace Cantera { * * This same COMPLEX1 temperature * dependence given above is used for the following parameters: - * \f$\beta^{(0)}_{MX} \f$, \f$\beta^{(1)}_{MX} \f$, - * \f$\beta^{(2)}_{MX} \f$, \f$ \Theta_{cc'} \f$, \f$\Theta_{aa'} \f$, - * \f$ \Psi_{c{c'}a}\f$ and \f$ \Psi_{ca{a'}} \f$. + * \f$ \beta^{(0)}_{MX} \f$, \f$ \beta^{(1)}_{MX} \f$, + * \f$ \beta^{(2)}_{MX} \f$, \f$ \Theta_{cc'} \f$, \f$\Theta_{aa'} \f$, + * \f$ \Psi_{c{c'}a} \f$ and \f$ \Psi_{ca{a'}} \f$. * * *

Like-Charged Binary Ion Parameters and the Mixing Parameters

@@ -813,8 +813,7 @@ namespace Cantera { 0.05 - @endcode - + @endcode * *

Example of the Specification of Parameters for the Activity * Coefficients

@@ -824,7 +823,7 @@ namespace Cantera { * An example activityCoefficients XML block for this * formulation is supplied below * - * @code + * @verbatim