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