diff --git a/include/cantera/thermo/FixedChemPotSSTP.h b/include/cantera/thermo/FixedChemPotSSTP.h
index 18f0327d1..54401248f 100644
--- a/include/cantera/thermo/FixedChemPotSSTP.h
+++ b/include/cantera/thermo/FixedChemPotSSTP.h
@@ -28,7 +28,6 @@ namespace Cantera
* density to pressure. This is necessary because the phase is
* incompressible. It uses a zero volume approximation.
*
- *
* Specification of Species Standard %State Properties
*
* This class inherits from SingleSpeciesTP.
@@ -44,7 +43,6 @@ namespace Cantera
* equal to the chemical potential. The entropy, the heat capacity, and the molar volume
* are equal to zero.
*
- *
* Specification of Solution Thermodynamic Properties
*
* All solution properties are obtained from the standard state
@@ -76,8 +74,6 @@ namespace Cantera
* for %Cantera. This new %FixedChemPotSSTP object must then have a standalone xml file
* description an example of which is given below.
*
- *
- *
* It may also be created by the following code snippets. The code
* includes the special member function setChemicalPotential( chempot), which
* sets the chemical potential to a specific value in J / kmol.
@@ -112,56 +108,52 @@ namespace Cantera
* The phase model name for this is called FixedChemPot. It must be supplied
* as the model attribute of the thermo XML element entry.
*
+ * @code
+ *
+ *
+ *
*
- * @verbatim
-
-
-
-
-
-
-
- Li
-
-
- LiFixed
-
-
- -2.3E7
-
-
-
-
-
-
-
-
-
- Li:1
-
-
-
- 50.72389, 6.672267, -2.517167,
- 10.15934, -0.200675, -427.2115,
- 130.3973
-
-
-
-
-
-
-@endverbatim
-*
-* The model attribute, "FixedChemPot", on the thermo element
-* identifies the phase as being a FixedChemPotSSTP object.
-*
-* @ingroup thermoprops
-*/
+ *
+ *
+ *
+ * Li
+ *
+ *
+ * LiFixed
+ *
+ *
+ * -2.3E7
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * Li:1
+ *
+ *
+ *
+ * 50.72389, 6.672267, -2.517167,
+ * 10.15934, -0.200675, -427.2115,
+ * 130.3973
+ *
+ *
+ *
+ *
+ *
+ *
+ * @endcode
+ *
+ * The model attribute, "FixedChemPot", on the thermo element
+ * identifies the phase as being a FixedChemPotSSTP object.
+ *
+ * @ingroup thermoprops
+ */
class FixedChemPotSSTP : public SingleSpeciesTP
{
-
public:
-
//! Default constructor for the FixedChemPotSSTP class
FixedChemPotSSTP();
@@ -206,7 +198,7 @@ public:
*/
FixedChemPotSSTP& operator=(const FixedChemPotSSTP& right);
- //! Destructor for the routine (virtual)
+ //! Destructor for the routine
virtual ~FixedChemPotSSTP();
//! Duplication function
@@ -219,12 +211,6 @@ public:
*/
ThermoPhase* duplMyselfAsThermoPhase() const;
- /**
- *
- * @name Utilities
- * @{
- */
-
/**
* Equation of state flag.
*
@@ -232,18 +218,9 @@ public:
*/
virtual int eosType() const;
- /**
- * @}
- * @name Molar Thermodynamic Properties of the Solution
- * @{
- */
-
- /**
- * @}
- * @name Mechanical Equation of State
- * @{
- */
-
+ //! @}
+ //! @name Mechanical Equation of State
+ //! @{
//! Report the Pressure. Units: Pa.
/*!
@@ -363,14 +340,16 @@ public:
* Inherited classes are responsible for overriding the default
* values if necessary.
*
- * @param uA Output vector containing the units
- * uA[0] = kmol units - default = 1
- * uA[1] = m units - default = -nDim(), the number of spatial
- * dimensions in the Phase class.
- * uA[2] = kg units - default = 0;
- * uA[3] = Pa(pressure) units - default = 0;
- * uA[4] = Temperature units - default = 0;
- * uA[5] = time units - default = 0
+ * @param uA Output vector containing the units:
+ *
+ * uA[0] = kmol units - default = 1
+ * uA[1] = m units - default = -nDim(), the number of spatial
+ * dimensions in the Phase class.
+ * uA[2] = kg units - default = 0;
+ * uA[3] = Pa(pressure) units - default = 0;
+ * uA[4] = Temperature units - default = 0;
+ * uA[5] = time units - default = 0
+ *
* @param k species index. Defaults to 0.
* @param sizeUA output int containing the size of the vector.
* Currently, this is equal to 6.
@@ -379,10 +358,8 @@ public:
int sizeUA = 6) const;
//@}
- /// @name Partial Molar Properties of the Solution
- ///
- /// These properties are handled by the parent class,
- /// SingleSpeciesTP
+ /// @name Partial Molar Properties of the Solution
+ /// These properties are handled by the parent class, SingleSpeciesTP
//@{
//! Get the species partial molar volumes. Units: m^3/kmol.
@@ -468,9 +445,8 @@ public:
//! internal Energies of the reference state at the current temperature
//! of the solution and the reference pressure for each species.
/*!
- * @param urt Output vector of nondimensional reference state
- * internal energies of the species.
- * Length: m_kk
+ * @param urt Output vector of nondimensional reference state internal
+ * energies of the species. Length: m_kk
*/
virtual void getIntEnergy_RT_ref(doublereal* urt) const;
@@ -504,7 +480,6 @@ public:
*/
virtual void getGibbs_RT_ref(doublereal* grt) const;
-
/*!
* Returns the vector of the
* gibbs function of the reference state at the current temperature
@@ -547,18 +522,6 @@ public:
*/
virtual void getCp_R_ref(doublereal* cprt) const;
-
-
-
- /*
- * ---- Critical State Properties
- */
-
-
- /*
- * ---- Saturation Properties
- */
-
/*
* @internal Initialize. This method is provided to allow
* subclasses to perform any initialization required after all
@@ -574,15 +537,12 @@ public:
*/
virtual void initThermo();
-
virtual void initThermoXML(XML_Node& phaseNode, const std::string& id);
//! Set the equation of state parameters
/*!
* @internal
- * The number and meaning of these depends on the subclass.
- *
- * @param n number of parameters
+ * @param n number of parameters = 1
* @param c array of \a n coefficients
* c[0] = density of phase [ kg/m3 ]
*/
@@ -617,17 +577,16 @@ public:
*
* eosdata points to the thermo block, and looks like this:
*
- * @verbatim
-
-
- -2.7E7
-
- @endverbatim
- *
+ * @code
+ *
+ *
+ * -2.7E7
+ *
+ *
+ * @endcode
*/
virtual void setParametersFromXML(const XML_Node& eosdata);
-
//! Function to set the chemical potential directly
/*!
* @param chemPot Value of the chemical potential (units J/kmol)
@@ -635,16 +594,13 @@ public:
void setChemicalPotential(doublereal chemPot);
protected:
-
//! Value of the chemical potential of the bath species
/*!
* units are J/kmol
*/
doublereal chemPot_;
-
};
-
}
#endif
diff --git a/include/cantera/thermo/MetalSHEelectrons.h b/include/cantera/thermo/MetalSHEelectrons.h
index 9c17abe4b..ced598a56 100644
--- a/include/cantera/thermo/MetalSHEelectrons.h
+++ b/include/cantera/thermo/MetalSHEelectrons.h
@@ -26,7 +26,6 @@ namespace Cantera
* The class is based on the electron having a chemical potential
* equal to one-half of the entropy of the H2 gas at the system pressure
*
- *
* Specification of Species Standard %State Properties
*
* This class inherits from SingleSpeciesTP.
@@ -75,7 +74,6 @@ namespace Cantera
* u^o_k(T,P) = h^o_k(T) - R T
* \f]
*
- *
* Specification of Solution Thermodynamic Properties
*
* All solution properties are obtained from the standard state
@@ -94,7 +92,6 @@ namespace Cantera
* is equal to 1/2 of the H2 gas chemical potential, and the voltage assigned
* to the electron, which is the voltage of the metal.
*
- *
* Instantiation of the Class
*
* The constructor for this phase is located in the default ThermoFactory
@@ -116,7 +113,7 @@ namespace Cantera
* @endcode
*
* @code
- * ThermoPhase *eMetal = newPhase(" MetalSHEelectrons.xml", "MetalSHEelectrons");
+ * ThermoPhase *eMetal = newPhase("MetalSHEelectrons.xml", "MetalSHEelectrons");
* @endcode
*
* Additionally, this phase may be created without including an xml file with
@@ -126,8 +123,6 @@ namespace Cantera
* MetalSHEelectrons *eMetal = new MetalSHEelectrons("MetalSHEelectrons_default.xml", "");
* @endcode
*
- *
- *
* XML Example
*
* The phase model name for this is called %MetalSHEelectrons. It must be supplied
@@ -136,58 +131,56 @@ namespace Cantera
* the density of the phase must be specified though it's not used. An example of an XML file
* this phase is given below.
*
- * @verbatim
-
-
-
-
-
-
- E
-
- she_electron
-
- 2.165
-
-
-
-
-
-
-
-
- E:1
- -1
-
-
-
- 1.172165560E+00, 3.990260375E-03, -9.739075500E-06, 1.007860470E-08,
- -3.688058805E-12, -4.589675865E+02, 3.415051190E-01
-
-
-
-
- 1.466432895E+00, 4.133039835E-04, -7.320116750E-08, 7.705017950E-12,
- -3.444022160E-16, -4.065327985E+02, -5.121644350E-01
-
-
-
- 2.165
-
-
-
-@endverbatim
+ * @code
+ *
+ *
+ *
*
- * The model attribute, "MetalSHEelectrons", on the thermo element
- * identifies the phase as being a %MetalSHEelectrons object.
+ *
+ *
+ * E
+ *
+ * she_electron
+ *
+ * 2.165
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * E:1
+ * -1
+ *
+ *
+ *
+ * 1.172165560E+00, 3.990260375E-03, -9.739075500E-06, 1.007860470E-08,
+ * -3.688058805E-12, -4.589675865E+02, 3.415051190E-01
+ *
+ *
+ *
+ *
+ * 1.466432895E+00, 4.133039835E-04, -7.320116750E-08, 7.705017950E-12,
+ * -3.444022160E-16, -4.065327985E+02, -5.121644350E-01
+ *
+ *
+ *
+ * 2.165
+ *
+ *
+ *
+ * @endcode
+ *
+ * The model attribute, "MetalSHEelectrons", on the thermo element
+ * identifies the phase as being a %MetalSHEelectrons object.
*
* @ingroup thermoprops
*/
class MetalSHEelectrons : public SingleSpeciesTP
{
-
public:
-
//! Default constructor for the MetalSHEelectrons class
MetalSHEelectrons();
@@ -220,7 +213,7 @@ public:
*/
MetalSHEelectrons& operator=(const MetalSHEelectrons& right);
- //! Destructor for the routine (virtual)
+ //! Destructor for the routine
virtual ~MetalSHEelectrons();
//! Duplication function
@@ -233,37 +226,20 @@ public:
*/
ThermoPhase* duplMyselfAsThermoPhase() const;
- /**
- *
- * @name Utilities
- * @{
- */
-
/**
* Equation of state flag.
*
- * Returns the value cStoichSubstance, defined in mix_defs.h.
+ * Returns the value cMetalSHEelectrons, defined in mix_defs.h.
*/
virtual int eosType() const;
- /**
- * @}
- * @name Molar Thermodynamic Properties of the Solution
- * @{
- */
-
- /**
- * @}
- * @name Mechanical Equation of State
- * @{
- */
-
+ //! @name Mechanical Equation of State
+ //! @{
//! Report the Pressure. Units: Pa.
/*!
- * For an incompressible substance, the density is independent
- * of pressure. This method simply returns the stored
- * pressure value.
+ * For an incompressible substance, the density is independent of
+ * pressure. This method simply returns the stored pressure value.
*/
virtual doublereal pressure() const;
@@ -296,14 +272,12 @@ public:
*/
virtual doublereal thermalExpansionCoeff() const ;
- /**
- * @}
- * @name Activities, Standard States, and Activity Concentrations
- *
- * This section is largely handled by parent classes, since there
- * is only one species. Therefore, the activity is equal to one.
- * @{
- */
+ //! @}
+ //! @name Activities, Standard States, and Activity Concentrations
+ //!
+ //! This section is largely handled by parent classes, since there
+ //! is only one species. Therefore, the activity is equal to one.
+ //! @{
//! This method returns an array of generalized concentrations
/*!
@@ -378,13 +352,13 @@ public:
* values if necessary.
*
* @param uA Output vector containing the units
- * uA[0] = kmol units - default = 1
- * uA[1] = m units - default = -nDim(), the number of spatial
- * dimensions in the Phase class.
- * uA[2] = kg units - default = 0;
- * uA[3] = Pa(pressure) units - default = 0;
- * uA[4] = Temperature units - default = 0;
- * uA[5] = time units - default = 0
+ * uA[0] = kmol units - default = 1
+ * uA[1] = m units - default = -nDim(), the number of spatial
+ * dimensions in the Phase class.
+ * uA[2] = kg units - default = 0;
+ * uA[3] = Pa(pressure) units - default = 0;
+ * uA[4] = Temperature units - default = 0;
+ * uA[5] = time units - default = 0
* @param k species index. Defaults to 0.
* @param sizeUA output int containing the size of the vector.
* Currently, this is equal to 6.
@@ -392,14 +366,6 @@ public:
virtual void getUnitsStandardConc(doublereal* uA, int k = 0,
int sizeUA = 6) const;
- //@}
- /// @name Partial Molar Properties of the Solution
- ///
- /// These properties are handled by the parent class,
- /// SingleSpeciesTP
- //@{
-
-
//@}
/// @name Properties of the Standard State of the Species in the Solution
//@{
@@ -465,15 +431,7 @@ public:
* Length: m_kk
*/
virtual void getIntEnergy_RT_ref(doublereal* urt) const;
-
- /*
- * ---- Critical State Properties
- */
-
-
- /*
- * ---- Saturation Properties
- */
+ // @}
/*
* @internal Initialize. This method is provided to allow
@@ -484,13 +442,12 @@ public:
* and subclasses that do not require initialization do not
* need to overload this method. When importing a CTML phase
* description, this method is called just prior to returning
- * from function importPhase.
+ * from function importPhase.setParameters
*
* @see importCTML.cpp
*/
virtual void initThermo();
-
virtual void initThermoXML(XML_Node& phaseNode, const std::string& id);
//! Make the default XML tree
@@ -503,7 +460,6 @@ public:
//! Set the equation of state parameters
/*!
* @internal
- * The number and meaning of these depends on the subclass.
*
* @param n number of parameters
* @param c array of \a n coefficients
@@ -540,21 +496,19 @@ public:
*
* eosdata points to the thermo block, and looks like this:
*
- * @verbatim
-
-
- 3.52
-
- @endverbatim
- *
+ * @code
+ *
+ *
+ * 3.52
+ *
+ *
+ * @endcode
*/
virtual void setParametersFromXML(const XML_Node& eosdata);
protected:
-
XML_Node* xdef_;
};
-
}
#endif
diff --git a/include/cantera/thermo/MineralEQ3.h b/include/cantera/thermo/MineralEQ3.h
index f07d0f26d..463e2b215 100644
--- a/include/cantera/thermo/MineralEQ3.h
+++ b/include/cantera/thermo/MineralEQ3.h
@@ -48,7 +48,7 @@ namespace Cantera
* The enthalpy function is given by the following relation.
*
* \f[
- * \raggedright h^o_k(T,P) =
+ * h^o_k(T,P) =
* h^{ref}_k(T) + \tilde v \left( P - P_{ref} \right)
* \f]
*
@@ -67,13 +67,12 @@ namespace Cantera
* of pressure. The standard state gibbs free energy is obtained
* from the enthalpy and entropy functions.
*
- *
* Specification of Solution Thermodynamic Properties
*
* All solution properties are obtained from the standard state
* species functions, since there is only one species in the phase.
*
- * Application within %Kinetics Managers
+ * %Application within %Kinetics Managers
*
* The standard concentration is equal to 1.0. This means that the
* kinetics operator works on an (activities basis). Since this
@@ -93,77 +92,11 @@ namespace Cantera
* appear in the rate constant expression, since it's a stoichiometric
* phase and the activity is always equal to 1.0.
*
- * Instantiation of the Class
- *
- * The constructor for this phase is NOT located in the default ThermoFactory
- * for %Cantera. However, a new %StoichSubstanceSSTP may be created by
- * the following code snippets:
- *
- * @code
- * sprintf(file_ID,"%s#NaCl(S)", iFile);
- * XML_Node *xm = get_XML_NameID("phase", file_ID, 0);
- * StoichSubstanceSSTP *solid = new StoichSubstanceSSTP(*xm);
- * @endcode
- *
- * or by the following call to importPhase():
- *
- * @code
- * sprintf(file_ID,"%s#NaCl(S)", iFile);
- * XML_Node *xm = get_XML_NameID("phase", file_ID, 0);
- * StoichSubstanceSSTP solid;
- * importPhase(*xm, &solid);
- * @endcode
- *
- * XML Example
- *
- * The phase model name for this is called StoichSubstance. It must be supplied
- * as the model attribute of the thermo XML element entry.
- * Within the phase XML block,
- * the density of the phase must be specified. An example of an XML file
- * this phase is given below.
- *
- * @verbatim
-
-
-
- Na Cl
-
- NaCl(S)
-
- 2.165
-
-
-
-
-
-
-
-
-
- Na:1 Cl:1
-
-
-
- 50.72389, 6.672267, -2.517167,
- 10.15934, -0.200675, -427.2115,
- 130.3973
-
-
-
- 2.165
-
- @endverbatim
- *
- * The model attribute, "StoichSubstanceSSTP", on the thermo element identifies the phase as being
- * a StoichSubstanceSSTP object.
- *
* @ingroup thermoprops
*/
class MineralEQ3 : public StoichSubstanceSSTP
{
-
public:
-
//! Default constructor for the StoichSubstanceSSTP class
MineralEQ3();
@@ -209,12 +142,6 @@ public:
*/
ThermoPhase* duplMyselfAsThermoPhase() const;
- /**
- *
- * @name Utilities
- * @{
- */
-
/**
* Equation of state flag.
*
@@ -222,18 +149,8 @@ public:
*/
virtual int eosType() const;
- /**
- * @}
- * @name Molar Thermodynamic Properties of the Solution
- * @{
- */
-
- /**
- * @}
- * @name Mechanical Equation of State
- * @{
- */
-
+ //! @name Mechanical Equation of State
+ //! @{
//! Report the Pressure. Units: Pa.
/*!
@@ -354,13 +271,15 @@ public:
* values if necessary.
*
* @param uA Output vector containing the units
- * uA[0] = kmol units - default = 1
- * uA[1] = m units - default = -nDim(), the number of spatial
- * dimensions in the Phase class.
- * uA[2] = kg units - default = 0;
- * uA[3] = Pa(pressure) units - default = 0;
- * uA[4] = Temperature units - default = 0;
- * uA[5] = time units - default = 0
+ *
+ * uA[0] = kmol units - default = 1
+ * uA[1] = m units - default = -nDim(), the number of spatial
+ * dimensions in the Phase class.
+ * uA[2] = kg units - default = 0;
+ * uA[3] = Pa(pressure) units - default = 0;
+ * uA[4] = Temperature units - default = 0;
+ * uA[5] = time units - default = 0
+ *
* @param k species index. Defaults to 0.
* @param sizeUA output int containing the size of the vector.
* Currently, this is equal to 6.
@@ -368,14 +287,6 @@ public:
virtual void getUnitsStandardConc(doublereal* uA, int k = 0,
int sizeUA = 6) const;
- //@}
- /// @name Partial Molar Properties of the Solution
- ///
- /// These properties are handled by the parent class,
- /// SingleSpeciesTP
- //@{
-
-
//@}
/// @name Properties of the Standard State of the Species in the Solution
//@{
@@ -441,15 +352,7 @@ public:
* Length: m_kk
*/
virtual void getIntEnergy_RT_ref(doublereal* urt) const;
-
- /*
- * ---- Critical State Properties
- */
-
-
- /*
- * ---- Saturation Properties
- */
+ //! @}
//! Internal initialization required after all species have
//! been added
@@ -492,7 +395,6 @@ public:
//! Set the equation of state parameters
/*!
* @internal
- * The number and meaning of these depends on the subclass.
*
* @param n number of parameters
* @param c array of \a n coefficients
@@ -526,23 +428,12 @@ public:
*
* @param eosdata An XML_Node object corresponding to
* the "thermo" entry for this phase in the input file.
- *
- * eosdata points to the thermo block, and looks like this:
- *
- * @verbatim
-
-
- 3.52
-
- @endverbatim
- *
*/
virtual void setParametersFromXML(const XML_Node& eosdata);
doublereal LookupGe(const std::string& elemName);
void convertDGFormation();
protected:
-
//! Value of the Absolute Gibbs Free Energy NIST scale at T_r and P_r
/*!
* This is the NIST scale value of Gibbs free energy at T_r = 298.15
@@ -552,7 +443,6 @@ protected:
*/
doublereal m_Mu0_pr_tr;
-
//! Input value of S_j at Tr and Pr (cal gmol-1 K-1)
/*!
* Tr = 298.15 Pr = 1 atm
@@ -591,7 +481,6 @@ protected:
//! c coefficient (cal K gmol-1 K) x 10^-5
doublereal m_c;
-
};
}
diff --git a/include/cantera/thermo/SingleSpeciesTP.h b/include/cantera/thermo/SingleSpeciesTP.h
index 7d51256e8..b5276af27 100644
--- a/include/cantera/thermo/SingleSpeciesTP.h
+++ b/include/cantera/thermo/SingleSpeciesTP.h
@@ -22,8 +22,8 @@ namespace Cantera
/**
* @ingroup thermoprops
*
- * The %SingleSpeciesTP class is a filter class for %ThermoPhase.
- * What it does is to simplify the construction of %ThermoPhase
+ * The SingleSpeciesTP class is a filter class for ThermoPhase.
+ * What it does is to simplify the construction of ThermoPhase
* objects by assuming that the phase consists of one and
* only one type of species. In other words, it's a stoichiometric
* phase. However, no assumptions are made concerning the
@@ -68,9 +68,7 @@ namespace Cantera
*/
class SingleSpeciesTP : public ThermoPhase
{
-
public:
-
//! Base empty constructor.
SingleSpeciesTP();
@@ -99,12 +97,6 @@ public:
*/
ThermoPhase* duplMyselfAsThermoPhase() const;
- /**
- *
- * @name Information Methods
- * @{
- */
-
/**
* Returns the equation of state type flag.
* This is a modified base class.
@@ -114,8 +106,7 @@ public:
virtual int eosType() const;
/**
- * @}
- * @name Molar Thermodynamic Properties of the Solution
+ * @name Molar Thermodynamic Properties of the Solution
*
* These functions are resolved at this level, by reference
* to the partial molar functions and standard state
@@ -166,35 +157,6 @@ public:
*/
doublereal cv_mole() const;
- /**
- * @}
- * @name Mechanical Properties
- * @{
- */
-
- /**
- * @}
- * @name Electric Potential
- *
- * The phase may be at some non-zero electrical
- * potential. These methods set or get the value of the
- * electric potential.
- */
- //@{
-
- /**
- * @}
- * @name Potential Energy
- *
- * Species may have an additional potential energy due to the
- * presence of external gravitation or electric fields. These
- * methods allow specifying a potential energy for individual
- * species.
- * @{
- */
-
-
-
/**
* @}
* @name Activities, Standard State, and Activity Concentrations
@@ -244,11 +206,6 @@ public:
/// to supply entries for these functions.
//@{
- /*
- * These functions are all resolved here to point to the
- * standard state functions for species 0
- */
-
//! Get the array of non-dimensional species chemical potentials
//! These are partial molar Gibbs free energies.
/*!
@@ -290,22 +247,15 @@ public:
/*!
* These are the phase enthalpies. \f$ h_k \f$.
*
- * This function is resolved here by calling the standard state
- * thermo function.
- *
* @param hbar Output vector of species partial molar enthalpies.
* Length: 1. units are J/kmol.
*/
void getPartialMolarEnthalpies(doublereal* hbar) const;
-
//! Get the species partial molar internal energies. Units: J/kmol.
/*!
* These are the phase internal energies. \f$ u_k \f$.
*
- * This member function is resolved here. A single species phase obtains its
- * thermo from the standard state function.
- *
* @param ubar On return, Contains the internal energy of the single species
* and the phase. Units are J / kmol . Length = 1
*/
@@ -315,9 +265,6 @@ public:
/*!
* This is the phase entropy. \f$ s(T,P) = s_o(T,P) \f$.
*
- * This member function is resolved here. A single species phase obtains its
- * thermo from the standard state function.
- *
* @param sbar On return, Contains the entropy of the single species
* and the phase. Units are J / kmol / K . Length = 1
*/
@@ -327,9 +274,6 @@ public:
/*!
* This is the phase heat capacity. \f$ Cp(T,P) = Cp_o(T,P) \f$.
*
- * This member function is resolved here. A single species phase obtains its
- * thermo from the standard state function.
- *
* @param cpbar On return, Contains the heat capacity of the single species
* and the phase. Units are J / kmol / K . Length = 1
*/
@@ -339,9 +283,6 @@ public:
/*!
* This is the phase molar volume. \f$ V(T,P) = V_o(T,P) \f$.
*
- * This member function is resolved here. A single species phase obtains its
- * thermo from the standard state function.
- *
* @param vbar On return, Contains the molar volume of the single species
* and the phase. Units are m^3 / kmol. Length = 1
*/
@@ -355,13 +296,10 @@ public:
/// are not resolved at the SingleSpeciesTP level.
//@{
-
/**
* Get the dimensional Gibbs functions for the standard
* state of the species at the current T and P.
*
- * This function is resolved here by referencing getGibbs_RT().
- *
* @param gpure returns a vector of size 1, containing the Gibbs function
* Units: J/kmol.
*/
@@ -380,7 +318,6 @@ public:
*/
void getStandardVolumes(doublereal* vbar) const;
-
//@}
/// @name Thermodynamic Values for the Species Reference State
///
@@ -434,7 +371,6 @@ public:
*/
virtual void getGibbs_RT_ref(doublereal* grt) const;
-
/*!
* Returns the vector of the
* gibbs function of the reference state at the current temperature
@@ -480,8 +416,7 @@ public:
/**
* @name Setting the State
*
- * These methods set all or part of the thermodynamic
- * state.
+ * These methods set all or part of the thermodynamic state.
* @{
*/
@@ -557,7 +492,6 @@ public:
*/
void setState_TPY(doublereal t, doublereal p, const std::string& y);
-
//! Set the pressure (Pa) and mole fractions.
/*!
* Note, the mole fractions are set to X[0] = 1.0.
@@ -655,16 +589,7 @@ public:
*/
virtual void setParametersFromXML(const XML_Node& eosdata) {}
- //---------------------------------------------------------
- /// @name Critical state properties.
- /// These methods are only implemented by some subclasses.
-
- //@{
-
-
-
//@}
-
/// @name Saturation properties.
/// These methods are only implemented by subclasses that
/// implement full liquid-vapor equations of state.
@@ -694,7 +619,6 @@ public:
//@}
-
/**
* @internal Initialize.
*
@@ -715,7 +639,6 @@ public:
*/
virtual void initThermo();
-
protected:
//! The current pressure of the solution (Pa)
/*!
@@ -750,8 +673,11 @@ protected:
private:
- //! Error return for unhandled cases
+ //! Error return for unhandled cases.
/*!
+ * It's used when this class doesn't have an answer for the question given
+ * to it, because the derived class isn't overriding a function.
+ *
* @param msg String message
*/
doublereal err(const std::string& msg) const;
@@ -760,6 +686,3 @@ private:
}
#endif
-
-
-
diff --git a/include/cantera/thermo/StoichSubstance.h b/include/cantera/thermo/StoichSubstance.h
index 5d80a5eca..9c813ac8a 100644
--- a/include/cantera/thermo/StoichSubstance.h
+++ b/include/cantera/thermo/StoichSubstance.h
@@ -22,13 +22,10 @@ namespace Cantera
* Class StoichSubstance represents a stoichiometric (fixed composition)
* incompressible substance.
* \nosubgrouping
- *
*/
class StoichSubstance : public ThermoPhase
{
-
public:
-
//! Default empty constructor
StoichSubstance();
@@ -66,12 +63,6 @@ public:
*/
ThermoPhase* duplMyselfAsThermoPhase() const;
- /**
- *
- * @name Utilities
- * @{
- */
-
/**
* Equation of state flag. Returns the value cStoichSubstance,
* defined in mix_defs.h.
@@ -80,12 +71,8 @@ public:
return cStoichSubstance;
}
-
- /**
- * @}
- * @name Molar Thermodynamic Properties of the Solution ---------
- * @{
- */
+ //! @name Molar Thermodynamic Properties of the Solution
+ //! @{
/**
* Molar enthalpy. Units: J/kmol. For an incompressible,
@@ -113,7 +100,6 @@ public:
*/
virtual doublereal entropy_mole() const;
-
/**
* Molar gibbs Function. Units: J/kmol. This is determined
* from the molar enthalpy and entropy functions.
@@ -132,14 +118,9 @@ public:
*/
virtual doublereal cv_mole() const;
- //@}
-
-
- /**
- * @name Mechanical Equation of State
- * @{
- */
-
+ //! @}
+ //! @name Mechanical Equation of State
+ //! @{
//! Report the Pressure. Units: Pa.
/*!
@@ -149,7 +130,6 @@ public:
*/
virtual doublereal pressure() const;
-
//! Set the pressure at constant temperature. Units: Pa.
/*!
* For an incompressible substance, the density is
@@ -161,12 +141,9 @@ public:
*/
virtual void setPressure(doublereal p);
- //@}
-
- /**
- * @name Chemical Potentials and Activities
- *@{
- */
+ //! @}
+ //! @name Chemical Potentials and Activities
+ //! @{
/**
* This method returns the array of generalized
@@ -201,7 +178,7 @@ public:
/**
* Returns the units of the standard and generalized
- * concentrations Note they have the same units, as their
+ * concentrations. Note they have the same units, as their
* ratio is defined to be equal to the activity of the kth
* species in the solution, which is unitless.
*
@@ -209,22 +186,20 @@ public:
* units are needed. Usually, MKS units are assumed throughout
* the program and in the XML input files.
*
- * uA[0] = kmol units - default = 0
- * uA[1] = m units - default = 0
- * uA[2] = kg units - default = 0;
- * uA[3] = Pa(pressure) units - default = 0;
- * uA[4] = Temperature units - default = 0;
- * uA[5] = time units - default = 0
+ * uA[0] = kmol units - default = 0
+ * uA[1] = m units - default = 0
+ * uA[2] = kg units - default = 0;
+ * uA[3] = Pa(pressure) units - default = 0;
+ * uA[4] = Temperature units - default = 0;
+ * uA[5] = time units - default = 0
*/
virtual void getUnitsStandardConc(double* uA, int k = 0,
int sizeUA = 6) const;
-
//@}
- /// @name Partial Molar Properties of the Solution ----------------------------
+ /// @name Partial Molar Properties of the Solution
//@{
-
/**
* Get the array of non-dimensional chemical potentials
* \f$ \mu_k / \hat R T \f$.
@@ -264,9 +239,8 @@ public:
*/
virtual void getPartialMolarVolumes(doublereal* vbar) const;
-
//@}
- /// @name Properties of the Standard State of the Species in the Solution -----
+ /// @name Properties of the Standard State of the Species in the Solution
//@{
/**
* Get the nondimensional Enthalpy functions for the species
@@ -312,7 +286,7 @@ public:
virtual void getStandardVolumes(doublereal* vol) const;
//@}
- /// @name Thermodynamic Values for the Species Reference States --------------------
+ /// @name Thermodynamic Values for the Species Reference States
//@{
/**
@@ -379,6 +353,7 @@ public:
* Length: m_kk
*/
virtual void getCp_R_ref(doublereal* cprt) const;
+ //! @}
virtual void initThermo();
@@ -398,15 +373,9 @@ protected:
mutable vector_fp m_s0_R;
private:
-
void _updateThermo() const;
};
}
#endif
-
-
-
-
-
diff --git a/include/cantera/thermo/StoichSubstanceSSTP.h b/include/cantera/thermo/StoichSubstanceSSTP.h
index 3759c4cdf..ca70224fb 100644
--- a/include/cantera/thermo/StoichSubstanceSSTP.h
+++ b/include/cantera/thermo/StoichSubstanceSSTP.h
@@ -27,7 +27,6 @@ namespace Cantera
* density to pressure. This is necessary because the phase is
* incompressible. It uses a constant volume approximation.
*
- *
* Specification of Species Standard %State Properties
*
* This class inherits from SingleSpeciesTP.
@@ -47,7 +46,7 @@ namespace Cantera
* The enthalpy function is given by the following relation.
*
* \f[
- * \raggedright h^o_k(T,P) =
+ * h^o_k(T,P) =
* h^{ref}_k(T) + \tilde v \left( P - P_{ref} \right)
* \f]
*
@@ -66,7 +65,6 @@ namespace Cantera
* of pressure. The standard state gibbs free energy is obtained
* from the enthalpy and entropy functions.
*
- *
* Specification of Solution Thermodynamic Properties
*
* All solution properties are obtained from the standard state
@@ -121,37 +119,37 @@ namespace Cantera
* the density of the phase must be specified. An example of an XML file
* this phase is given below.
*
- * @verbatim
-
-
-
- Na Cl
-
- NaCl(S)
-
- 2.165
-
-
-
-
-
-
-
-
-
- Na:1 Cl:1
-
-
-
- 50.72389, 6.672267, -2.517167,
- 10.15934, -0.200675, -427.2115,
- 130.3973
-
-
-
- 2.165
-
- @endverbatim
+ * @code
+ *
+ *
+ *
+ * Na Cl
+ *
+ * NaCl(S)
+ *
+ * 2.165
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * Na:1 Cl:1
+ *
+ *
+ *
+ * 50.72389, 6.672267, -2.517167,
+ * 10.15934, -0.200675, -427.2115,
+ * 130.3973
+ *
+ *
+ *
+ * 2.165
+ *
+ * @endcode
*
* The model attribute, "StoichSubstanceSSTP", on the thermo element
* identifies the phase as being a StoichSubstanceSSTP object.
@@ -160,9 +158,7 @@ namespace Cantera
*/
class StoichSubstanceSSTP : public SingleSpeciesTP
{
-
public:
-
//! Default constructor for the StoichSubstanceSSTP class
StoichSubstanceSSTP();
@@ -195,7 +191,7 @@ public:
*/
StoichSubstanceSSTP& operator=(const StoichSubstanceSSTP& right);
- //! Destructor for the routine (virtual)
+ //! Destructor
virtual ~StoichSubstanceSSTP();
//! Duplication function
@@ -208,12 +204,6 @@ public:
*/
ThermoPhase* duplMyselfAsThermoPhase() const;
- /**
- *
- * @name Utilities
- * @{
- */
-
/**
* Equation of state flag.
*
@@ -221,18 +211,8 @@ public:
*/
virtual int eosType() const;
- /**
- * @}
- * @name Molar Thermodynamic Properties of the Solution
- * @{
- */
-
- /**
- * @}
- * @name Mechanical Equation of State
- * @{
- */
-
+ //! @name Mechanical Equation of State
+ //! @{
//! Report the Pressure. Units: Pa.
/*!
@@ -353,13 +333,15 @@ public:
* values if necessary.
*
* @param uA Output vector containing the units
- * uA[0] = kmol units - default = 1
- * uA[1] = m units - default = -nDim(), the number of spatial
- * dimensions in the Phase class.
- * uA[2] = kg units - default = 0;
- * uA[3] = Pa(pressure) units - default = 0;
- * uA[4] = Temperature units - default = 0;
- * uA[5] = time units - default = 0
+ *
+ * uA[0] = kmol units - default = 1
+ * uA[1] = m units - default = -nDim(), the number of spatial
+ * dimensions in the Phase class.
+ * uA[2] = kg units - default = 0;
+ * uA[3] = Pa(pressure) units - default = 0;
+ * uA[4] = Temperature units - default = 0;
+ * uA[5] = time units - default = 0
+ *
* @param k species index. Defaults to 0.
* @param sizeUA output int containing the size of the vector.
* Currently, this is equal to 6.
@@ -367,14 +349,6 @@ public:
virtual void getUnitsStandardConc(doublereal* uA, int k = 0,
int sizeUA = 6) const;
- //@}
- /// @name Partial Molar Properties of the Solution
- ///
- /// These properties are handled by the parent class,
- /// SingleSpeciesTP
- //@{
-
-
//@}
/// @name Properties of the Standard State of the Species in the Solution
//@{
@@ -440,15 +414,7 @@ public:
* Length: m_kk
*/
virtual void getIntEnergy_RT_ref(doublereal* urt) const;
-
- /*
- * ---- Critical State Properties
- */
-
-
- /*
- * ---- Saturation Properties
- */
+ // @}
/*
* @internal Initialize. This method is provided to allow
@@ -465,7 +431,6 @@ public:
*/
virtual void initThermo();
-
virtual void initThermoXML(XML_Node& phaseNode, const std::string& id);
//! Set the equation of state parameters
@@ -508,32 +473,26 @@ public:
*
* eosdata points to the thermo block, and looks like this:
*
- * @verbatim
-
-
- 3.52
-
- @endverbatim
- *
+ * @code
+ *
+ *
+ * 3.52
+ *
+ *
+ * @endcode
*/
virtual void setParametersFromXML(const XML_Node& eosdata);
-
-protected:
-
};
//! Class %electrodeElectron represents an electron in a
//! metal using the Standard hydrogen reference electrode
/*!
- *
* The class is based on the electron have a chemical potential
* equal to one-half of the entropy of the H2 gas at 1 bar.
- *
*/
class electrodeElectron : public StoichSubstanceSSTP
{
public:
-
//! Default constructor for the electrodeElectron class
electrodeElectron();
@@ -566,7 +525,7 @@ public:
*/
electrodeElectron& operator=(const electrodeElectron& right);
- //! Destructor for the routine (virtual)
+ //! Destructor
virtual ~electrodeElectron();
void setParametersFromXML(const XML_Node& eosdata);
diff --git a/include/cantera/thermo/WaterSSTP.h b/include/cantera/thermo/WaterSSTP.h
index a17f7f136..a78618afc 100644
--- a/include/cantera/thermo/WaterSSTP.h
+++ b/include/cantera/thermo/WaterSSTP.h
@@ -52,7 +52,7 @@ class WaterProps;
* - Delta_Hfo_idealgas(298.15) = -241.826 kJ/gmol
* - So_idealgas(298.15, 1bar) = 188.835 J/gmolK
*
- * ref -> (http://webbook.nist.gov)
+ * (From http://webbook.nist.gov)
*
* The "o" here refers to a hypothetical ideal gas state. The way
* we achieve this in practice is to evaluate at a very low pressure
@@ -104,30 +104,27 @@ class WaterProps;
* An example of an XML Element named phase setting up a WaterSSTP object with
* id "water" is given below.
*
- * @verbatim
-
-
- O H
- H2O
-
- 300.0
- 101325.0
-
-
-
-
- @endverbatim
+ * @code
+ *
+ *
+ * O H
+ * H2O
+ *
+ * 300.0
+ * 101325.0
+ *
+ *
+ *
+ *
+ * @endcode
*
* Note the model "PureLiquidWater" indicates the usage of the WaterSSTP object.
*
* @ingroup thermoprops
- *
*/
class WaterSSTP : public SingleSpeciesTP
{
-
public:
-
//! Base constructor
WaterSSTP();
@@ -157,25 +154,17 @@ public:
//! Duplicator from a ThermoPhase object
ThermoPhase* duplMyselfAsThermoPhase() const;
- /**
- *
- * @name Utilities
- * @{
- */
virtual int eosType() const {
return -1;
}
- /**
- * @}
- * @name Molar Thermodynamic Properties of the Solution --------------
- * @{
- */
+ //! @name Molar Thermodynamic Properties of the Solution
+ //! @{
virtual doublereal cv_mole() const;
//@}
- /// @name Mechanical Equation of State Properties ---------------------
+ /// @name Mechanical Equation of State Properties
//@{
virtual doublereal pressure() const;
@@ -212,28 +201,9 @@ public:
*/
virtual doublereal dthermalExpansionCoeffdT() const;
- /**
- * @}
- * @name Potential Energy
- * @{
- */
-
- /**
- * @}
- * @name Activities, Standard States, and Activity Concentrations
- * @{
- */
-
- //@}
- /// @name Partial Molar Properties of the Solution -----------------
- //@{
-
-
- //@}
- /// @name Properties of the Standard State of the Species
- // in the Solution --
- //@{
-
+ //! @}
+ //! @name Properties of the Standard State of the Species in the Solution
+ //! @{
//! Get the gibbs function for the species
//! standard states at the current T and P of the solution.
@@ -256,14 +226,12 @@ public:
//! Get the array of nondimensional Enthalpy functions for the standard state species
//! at the current T and P of the solution.
/*!
- *
* @param hrt Vector of length m_kk, which on return
* will contain the nondimensional
* standard state enthalpy of species k
*/
void getEnthalpy_RT(doublereal* hrt) const;
-
//! Get the nondimensional Entropies for the species
//! standard states at the current T and P of the solution.
/*!
@@ -276,7 +244,6 @@ public:
//! Get the nondimensional heat capacity at constant pressure
//! function for the species standard states at the current T and P of the solution.
/*!
- *
* @param cpr Vector of length m_kk, which on return
* will contain the nondimensional
* constant pressure heat capacity for species k
@@ -287,7 +254,6 @@ public:
//! internal Energies of the standard state at the current
//! temperature and pressure of the solution for each species.
/*!
- *
* @param urt Output vector of standard state nondimensional internal energies.
* Length: m_kk.
*/
@@ -299,7 +265,6 @@ public:
* All functions in this group need to be overrided, because
* the m_spthermo SpeciesThermo function is not adequate for
* the real equation of state.
- *
*/
//@{
@@ -322,12 +287,10 @@ public:
*/
virtual void getGibbs_RT_ref(doublereal* grt) const;
-
/*!
- * Returns the vector of the
- * gibbs function of the reference state at the current temperature
- * of the solution and the reference pressure for the species.
- * units = J/kmol
+ * Returns the vector of the gibbs function of the reference state at the
+ * current temperature of the solution and the reference pressure for the
+ * species. units = J/kmol
*
* @param g Output vector containing the reference state
* Gibbs Free energies. Length: m_kk. Units: J/kmol.
@@ -365,6 +328,7 @@ public:
* Length: m_kk.
*/
virtual void getStandardVolumes_ref(doublereal* vol) const;
+ //! @}
/// critical temperature
virtual doublereal critTemperature() const;
@@ -375,11 +339,6 @@ public:
/// critical density
virtual doublereal critDensity() const;
- /// saturation temperature
- //virtual doublereal satTemperature(doublereal p) const;
-
-
-
/// saturation pressure
/*!
* @param t Temperature (kelvin)
@@ -465,7 +424,6 @@ public:
//! 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
* an input file. It should be overloaded in subclasses to set
@@ -488,9 +446,7 @@ public:
return m_waterProps;
}
-
protected:
-
/**
* @internal
* This internal routine must be overwritten because
@@ -545,6 +501,3 @@ private:
}
#endif
-
-
-
diff --git a/src/thermo/FixedChemPotSSTP.cpp b/src/thermo/FixedChemPotSSTP.cpp
index f459eaa7d..ff429985d 100644
--- a/src/thermo/FixedChemPotSSTP.cpp
+++ b/src/thermo/FixedChemPotSSTP.cpp
@@ -9,7 +9,6 @@
* Copyright (2005) Sandia Corporation. Under the terms of
* Contract DE-AC04-94AL85000 with Sandia Corporation, the
* U.S. Government retains certain rights in this software.
- *
*/
#include "cantera/base/ct_defs.h"
@@ -23,27 +22,16 @@
#include "cantera/thermo/SimpleThermo.h"
namespace Cantera
{
-//====================================================================================================================
/*
* ---- Constructors -------
*/
-//====================================================================================================================
-/*
- * Default Constructor for the FixedChemPotSSTP class
- */
+
FixedChemPotSSTP::FixedChemPotSSTP() :
SingleSpeciesTP(),
chemPot_(0.0)
{
}
-//====================================================================================================================
-// Create and initialize a FixedChemPotSSTP ThermoPhase object
-// from an ASCII input file
-/*
- * @param infile name of the input file
- * @param id name of the phase id in the file.
- * If this is blank, the first phase in the file is used.
- */
+
FixedChemPotSSTP::FixedChemPotSSTP(const std::string& infile, std::string id) :
SingleSpeciesTP(),
chemPot_(0.0)
@@ -66,12 +54,7 @@ FixedChemPotSSTP::FixedChemPotSSTP(const std::string& infile, std::string id) :
}
importPhase(*xphase, this);
}
-//====================================================================================================================
-// Full Constructor.
-/*
- * @param phaseRef XML node pointing to a FixedChemPotSSTP description
- * @param id Id of the phase.
- */
+
FixedChemPotSSTP::FixedChemPotSSTP(XML_Node& xmlphase, const std::string& id) :
SingleSpeciesTP(),
chemPot_(0.0)
@@ -96,7 +79,7 @@ FixedChemPotSSTP::FixedChemPotSSTP(XML_Node& xmlphase, const std::string& id) :
chemPot_ = (m_h0_RT[0] - m_s0_R[0]) * GasConstant * temperature();
}
}
-//====================================================================================================================
+
FixedChemPotSSTP::FixedChemPotSSTP(const std::string& Ename, doublereal val) :
SingleSpeciesTP(),
chemPot_(0.0)
@@ -146,21 +129,12 @@ FixedChemPotSSTP::FixedChemPotSSTP(const std::string& Ename, doublereal val) :
s = 0;
}
-//====================================================================================================================
-// Copy constructor
-/*
- * @param right Object to be copied
- */
FixedChemPotSSTP::FixedChemPotSSTP(const FixedChemPotSSTP& right) :
SingleSpeciesTP()
{
*this = operator=(right);
}
-//====================================================================================================================
-// Assignment operator
-/*
- * @param right Object to be copied
- */
+
FixedChemPotSSTP&
FixedChemPotSSTP::operator=(const FixedChemPotSSTP& right)
{
@@ -171,156 +145,68 @@ FixedChemPotSSTP::operator=(const FixedChemPotSSTP& right)
}
return *this;
}
-//====================================================================================================================
-/*
- * Destructor for the routine (virtual)
- *
- */
+
FixedChemPotSSTP::~FixedChemPotSSTP()
{
}
-//====================================================================================================================
-// Duplication function
-/*
- * This virtual function is used to create a duplicate of the
- * current phase. It's used to duplicate the phase when given
- * a ThermoPhase pointer to the phase.
- *
- * @return It returns a ThermoPhase pointer.
- */
+
ThermoPhase* FixedChemPotSSTP::duplMyselfAsThermoPhase() const
{
return new FixedChemPotSSTP(*this);
}
-//====================================================================================================================
/*
* ---- Utilities -----
*/
-/*
- * Equation of state flag. Returns the value cStoichSubstance,
- * defined in mix_defs.h.
- */
int FixedChemPotSSTP::eosType() const
{
return cFixedChemPot;
}
-/*
- * ---- Molar Thermodynamic properties of the solution ----
- */
-
/*
* ----- Mechanical Equation of State ------
*/
-//====================================================================================================================
-/*
- * Pressure. Units: Pa.
- * For an incompressible substance, the density is independent
- * of pressure. This method simply returns the stored
- * pressure value.
- */
+
doublereal FixedChemPotSSTP::pressure() const
{
return m_press;
}
-//====================================================================================================================
-/*
- * Set the pressure at constant temperature. Units: Pa.
- * For an incompressible substance, the density is
- * independent of pressure. Therefore, this method only
- * stores the specified pressure value. It does not
- * modify the density.
- */
+
void FixedChemPotSSTP::setPressure(doublereal p)
{
m_press = p;
}
-//====================================================================================================================
-/*
- * The isothermal compressibility. Units: 1/Pa.
- * The isothermal compressibility is defined as
- * \f[
- * \kappa_T = -\frac{1}{v}\left(\frac{\partial v}{\partial P}\right)_T
- * \f]
- *
- * It's equal to zero for this model, since the molar volume
- * doesn't change with pressure or temperature.
- */
+
doublereal FixedChemPotSSTP::isothermalCompressibility() const
{
return 0.0;
}
-//====================================================================================================================
-/*
- * The thermal expansion coefficient. Units: 1/K.
- * The thermal expansion coefficient is defined as
- *
- * \f[
- * \beta = \frac{1}{v}\left(\frac{\partial v}{\partial T}\right)_P
- * \f]
- *
- * It's equal to zero for this model, since the molar volume
- * doesn't change with pressure or temperature.
- */
+
doublereal FixedChemPotSSTP::thermalExpansionCoeff() const
{
return 0.0;
}
-//====================================================================================================================
+
/*
* ---- Chemical Potentials and Activities ----
*/
-//====================================================================================================================
-/*
- * This method returns the array of generalized
- * concentrations. For a stoichiometric substance, there is
- * only one species, and the generalized concentration is 1.0.
- */
-void FixedChemPotSSTP::
-getActivityConcentrations(doublereal* c) const
+
+void FixedChemPotSSTP::getActivityConcentrations(doublereal* c) const
{
c[0] = 1.0;
}
-//====================================================================================================================
-/*
- * The standard concentration. This is defined as the concentration
- * by which the generalized concentration is normalized to produce
- * the activity.
- */
+
doublereal FixedChemPotSSTP::standardConcentration(size_t k) const
{
return 1.0;
}
-//====================================================================================================================
-/*
- * Returns the natural logarithm of the standard
- * concentration of the kth species
- */
+
doublereal FixedChemPotSSTP::logStandardConc(size_t k) const
{
return 0.0;
}
-//====================================================================================================================
-/*
- * Returns the units of the standard and generalized
- * concentrations Note they have the same units, as their
- * ratio is defined to be equal to the activity of the kth
- * species in the solution, which is unitless.
- *
- * This routine is used in print out applications where the
- * units are needed. Usually, MKS units are assumed throughout
- * the program and in the XML input files.
- *
- * uA[0] = kmol units - default = 1
- * uA[1] = m units - default = -nDim(), the number of spatial
- * dimensions in the Phase class.
- * uA[2] = kg units - default = 0;
- * uA[3] = Pa(pressure) units - default = 0;
- * uA[4] = Temperature units - default = 0;
- * uA[5] = time units - default = 0
- */
+
void FixedChemPotSSTP::
getUnitsStandardConc(doublereal* uA, int k, int sizeUA) const
{
@@ -328,167 +214,97 @@ getUnitsStandardConc(doublereal* uA, int k, int sizeUA) const
uA[i] = 0;
}
}
-//====================================================================================================================
+
/*
* ---- Partial Molar Properties of the Solution ----
*/
+
void FixedChemPotSSTP::getPartialMolarVolumes(doublereal* vbar) const
{
vbar[0] = 0.0;
}
-//====================================================================================================================
+
/*
- * ---- Properties of the Standard State of the Species in the Solution
- * ----
+ * Properties of the Standard State of the Species in the Solution
*/
-//====================================================================================================================
-/*
- * Get the array of chemical potentials at unit activity
- * \f$ \mu^0_k \f$.
- *
- * For a stoichiometric substance, there is no activity term in
- * the chemical potential expression, and therefore the
- * standard chemical potential and the chemical potential
- * are both equal to the molar Gibbs function.
- */
-void FixedChemPotSSTP::
-getStandardChemPotentials(doublereal* mu0) const
+
+void FixedChemPotSSTP::getStandardChemPotentials(doublereal* mu0) const
{
mu0[0] = chemPot_;
}
-//====================================================================================================================
-/*
- * Get the nondimensional Enthalpy functions for the species
- * at their standard states at the current
- * T and P of the solution.
- * Molar enthalpy. Units: J/kmol. For an incompressible,
- * stoichiometric substance, the internal energy is
- * independent of pressure, and therefore the molar enthalpy
- * is \f[ \hat h(T, P) = \hat u(T) + P \hat v \f], where the
- * molar specific volume is constant.
- */
+
void FixedChemPotSSTP::getEnthalpy_RT(doublereal* hrt) const
{
double rt = _RT();
hrt[0] = chemPot_ / rt;
}
-//====================================================================================================================
-/*
- * Get the array of nondimensional Entropy functions for the
- * standard state species
- * at the current T and P of the solution.
- */
+
void FixedChemPotSSTP::getEntropy_R(doublereal* sr) const
{
sr[0] = 0.0;
}
-//====================================================================================================================
-/*
- * Get the nondimensional Gibbs functions for the species
- * at their standard states of solution at the current T and P
- * of the solution
- */
+
void FixedChemPotSSTP::getGibbs_RT(doublereal* grt) const
{
double rt = _RT();
grt[0] = chemPot_ / rt;
}
-//====================================================================================================================
-/*
- * Get the nondimensional Gibbs functions for the standard
- * state of the species at the current T and P.
- */
+
void FixedChemPotSSTP::getCp_R(doublereal* cpr) const
{
cpr[0] = 0.0;
}
-//====================================================================================================================
-/*
- * Molar internal energy (J/kmol).
- * For an incompressible,
- * stoichiometric substance, the molar internal energy is
- * independent of pressure. Since the thermodynamic properties
- * are specified by giving the standard-state enthalpy, the
- * term \f$ P_0 \hat v\f$ is subtracted from the specified molar
- * enthalpy to compute the molar internal energy.
- */
+
void FixedChemPotSSTP::getIntEnergy_RT(doublereal* urt) const
{
urt[0] = chemPot_;
}
-//====================================================================================================================
-// Get the molar volumes of each species in their standard
-// states at the current T and P of the solution.
-/*
- * units = m^3 / kmol
- *
- * We set this to zero
- *
- * @param vbar On output this contains the standard volume of the species
- * and phase (m^3/kmol). Vector of length 1
- */
+
void FixedChemPotSSTP::getStandardVolumes(doublereal* vbar) const
{
vbar[0] = 0.0;
}
-//====================================================================================================================
+
/*
* ---- Thermodynamic Values for the Species Reference States ----
*/
-//====================================================================================================================
+
void FixedChemPotSSTP::getIntEnergy_RT_ref(doublereal* urt) const
{
urt[0] = chemPot_;
}
-//====================================================================================================================
+
void FixedChemPotSSTP::getEnthalpy_RT_ref(doublereal* hrt) const
{
double rt = _RT();
hrt[0] = chemPot_ / rt;
}
-//====================================================================================================================
+
void FixedChemPotSSTP::getEntropy_R_ref(doublereal* sr) const
{
sr[0] = 0.0;
}
-//====================================================================================================================
+
void FixedChemPotSSTP::getGibbs_RT_ref(doublereal* grt) const
{
double rt = _RT();
grt[0] = chemPot_ / rt;
}
-//====================================================================================================================
+
void FixedChemPotSSTP::getGibbs_ref(doublereal* g) const
{
g[0] = chemPot_;
}
-//====================================================================================================================
+
void FixedChemPotSSTP::getCp_R_ref(doublereal* cpr) const
{
cpr[0] = 0.0;
}
-//====================================================================================================================
-/*
- * ---- Saturation Properties
- */
-//====================================================================================================================
+
/*
* ---- Initialization and Internal functions
*/
-//====================================================================================================================
-/*
- * @internal Initialize. This method is provided to allow
- * subclasses to perform any initialization required after all
- * species have been added. For example, it might be used to
- * resize internal work arrays that must have an entry for
- * each species. The base class implementation does nothing,
- * and subclasses that do not require initialization do not
- * need to overload this method. When importing a CTML phase
- * description, this method is called just prior to returning
- * from function importPhase.
- *
- * @see importCTML.cpp
- */
+
void FixedChemPotSSTP::initThermo()
{
/*
@@ -496,7 +312,6 @@ void FixedChemPotSSTP::initThermo()
*/
SingleSpeciesTP::initThermo();
}
-//====================================================================================================================
void FixedChemPotSSTP::initThermoXML(XML_Node& phaseNode, const std::string& id)
{
@@ -517,36 +332,19 @@ void FixedChemPotSSTP::initThermoXML(XML_Node& phaseNode, const std::string& id)
chemPot_ = val;
}
SingleSpeciesTP::initThermoXML(phaseNode, id);
-
-
}
-//====================================================================================================================
-/*
- * setParameters:
- *
- * Generic routine that is used to set the parameters used
- * by this model.
- * C[0] = density of phase [ kg/m3 ]
- */
+
void FixedChemPotSSTP::setParameters(int n, doublereal* const c)
{
chemPot_ = c[0];
}
-//====================================================================================================================
-/*
- * getParameters:
- *
- * Generic routine that is used to get the parameters used
- * by this model.
- * n = 1
- * C[0] = density of phase [ kg/m3 ]
- */
+
void FixedChemPotSSTP::getParameters(int& n, doublereal* const c) const
{
n = 1;
c[0] = chemPot_;
}
-//====================================================================================================================
+
void FixedChemPotSSTP::setParametersFromXML(const XML_Node& eosdata)
{
std::string model = eosdata["model"];
@@ -559,14 +357,10 @@ void FixedChemPotSSTP::setParametersFromXML(const XML_Node& eosdata)
chemPot_ = val;
}
}
-//====================================================================================================================
-// Function to set the chemical potential directly
-/*
- * @param chemPot Value of the chemical potential (units J/kmol)
- */
+
void FixedChemPotSSTP::setChemicalPotential(doublereal chemPot)
{
chemPot_ = chemPot;
}
-//====================================================================================================================
+
}
diff --git a/src/thermo/MetalSHEelectrons.cpp b/src/thermo/MetalSHEelectrons.cpp
index 951c43085..249aa670d 100644
--- a/src/thermo/MetalSHEelectrons.cpp
+++ b/src/thermo/MetalSHEelectrons.cpp
@@ -26,23 +26,13 @@ namespace Cantera
/*
* ---- Constructors -------
*/
-//====================================================================================================================
-/*
- * Default Constructor for the MetalSHEelectrons class
- */
+
MetalSHEelectrons::MetalSHEelectrons():
SingleSpeciesTP(),
xdef_(0)
{
}
-//====================================================================================================================
-// Create and initialize a MetalSHEelectrons ThermoPhase object
-// from an ASCII input file
-/*
- * @param infile name of the input file
- * @param id name of the phase id in the file.
- * If this is blank, the first phase in the file is used.
- */
+
MetalSHEelectrons::MetalSHEelectrons(const std::string& infile, std::string id) :
SingleSpeciesTP(),
xdef_(0)
@@ -71,12 +61,7 @@ MetalSHEelectrons::MetalSHEelectrons(const std::string& infile, std::string id)
}
importPhase(*xphase, this);
}
-//====================================================================================================================
-// Full Constructor.
-/*
- * @param phaseRef XML node pointing to a MetalSHEelectrons description
- * @param id Id of the phase.
- */
+
MetalSHEelectrons::MetalSHEelectrons(XML_Node& xmlphase, const std::string& id) :
SingleSpeciesTP(),
xdef_(0)
@@ -96,32 +81,20 @@ MetalSHEelectrons::MetalSHEelectrons(XML_Node& xmlphase, const std::string& id)
}
importPhase(xmlphase, this);
}
-//====================================================================================================================
-// Copy constructor
-/*
- * @param right Object to be copied
- */
+
MetalSHEelectrons::MetalSHEelectrons(const MetalSHEelectrons& right) :
SingleSpeciesTP()
{
operator=(right);
}
-//====================================================================================================================
-/*
- * Destructor for the routine (virtual)
- *
- */
+
MetalSHEelectrons::~MetalSHEelectrons()
{
if (xdef_) {
delete xdef_;
}
}
-//====================================================================================================================
-// Assignment operator
-/*
- * @param right Object to be copied
- */
+
MetalSHEelectrons&
MetalSHEelectrons::operator=(const MetalSHEelectrons& right)
{
@@ -136,150 +109,65 @@ MetalSHEelectrons::operator=(const MetalSHEelectrons& right)
return *this;
}
-//====================================================================================================================
-// Duplication function
-/*
- * This virtual function is used to create a duplicate of the
- * current phase. It's used to duplicate the phase when given
- * a ThermoPhase pointer to the phase.
- *
- * @return It returns a ThermoPhase pointer.
- */
+
ThermoPhase* MetalSHEelectrons::duplMyselfAsThermoPhase() const
{
return new MetalSHEelectrons(*this);
}
-//====================================================================================================================
/*
* ---- Utilities -----
*/
-/*
- * Equation of state flag. Returns the value cStoichSubstance,
- * defined in mix_defs.h.
- */
int MetalSHEelectrons::eosType() const
{
return cMetalSHEelectrons;
}
-//====================================================================================================================
/*
- * ---- Molar Thermodynamic properties of the solution ----
- */
-
-/**
* ----- Mechanical Equation of State ------
*/
-//====================================================================================================================
-/*
- * Pressure. Units: Pa.
- * For an incompressible substance, the density is independent
- * of pressure. This method simply returns the stored
- * pressure value.
- */
+
doublereal MetalSHEelectrons::pressure() const
{
return m_press;
}
-//====================================================================================================================
-/*
- * Set the pressure at constant temperature. Units: Pa.
- * For an incompressible substance, the density is
- * independent of pressure. Therefore, this method only
- * stores the specified pressure value. It does not
- * modify the density.
- */
+
void MetalSHEelectrons::setPressure(doublereal p)
{
m_press = p;
}
-//====================================================================================================================
-/*
- * The isothermal compressibility. Units: 1/Pa.
- * The isothermal compressibility is defined as
- * \f[
- * \kappa_T = -\frac{1}{v}\left(\frac{\partial v}{\partial P}\right)_T
- * \f]
- *
- * It's equal to zero for this model, since the molar volume
- * doesn't change with pressure or temperature.
- */
+
doublereal MetalSHEelectrons::isothermalCompressibility() const
{
return 1.0/pressure();
}
-//====================================================================================================================
-/*
- * The thermal expansion coefficient. Units: 1/K.
- * The thermal expansion coefficient is defined as
- *
- * \f[
- * \beta = \frac{1}{v}\left(\frac{\partial v}{\partial T}\right)_P
- * \f]
- *
- * It's equal to zero for this model, since the molar volume
- * doesn't change with pressure or temperature.
- */
+
doublereal MetalSHEelectrons::thermalExpansionCoeff() const
{
return 1.0/temperature();
}
-//====================================================================================================================
+
/*
* ---- Chemical Potentials and Activities ----
*/
-//====================================================================================================================
-/*
- * This method returns the array of generalized
- * concentrations. For a stoichiometric substance, there is
- * only one species, and the generalized concentration is 1.0.
- */
-void MetalSHEelectrons::
-getActivityConcentrations(doublereal* c) const
+
+void MetalSHEelectrons::getActivityConcentrations(doublereal* c) const
{
c[0] = 1.0;
}
-//====================================================================================================================
-/*
- * The standard concentration. This is defined as the concentration
- * by which the generalized concentration is normalized to produce
- * the activity.
- */
+
doublereal MetalSHEelectrons::standardConcentration(size_t k) const
{
return 1.0;
}
-//====================================================================================================================
-/*
- * Returns the natural logarithm of the standard
- * concentration of the kth species
- */
+
doublereal MetalSHEelectrons::logStandardConc(size_t k) const
{
return 0.0;
}
-//====================================================================================================================
-/*
- * Returns the units of the standard and generalized
- * concentrations Note they have the same units, as their
- * ratio is defined to be equal to the activity of the kth
- * species in the solution, which is unitless.
- *
- * This routine is used in print out applications where the
- * units are needed. Usually, MKS units are assumed throughout
- * the program and in the XML input files.
- *
- * uA[0] = kmol units - default = 1
- * uA[1] = m units - default = -nDim(), the number of spatial
- * dimensions in the Phase class.
- * uA[2] = kg units - default = 0;
- * uA[3] = Pa(pressure) units - default = 0;
- * uA[4] = Temperature units - default = 0;
- * uA[5] = time units - default = 0
- */
+
void MetalSHEelectrons::
getUnitsStandardConc(doublereal* uA, int k, int sizeUA) const
{
@@ -287,114 +175,48 @@ getUnitsStandardConc(doublereal* uA, int k, int sizeUA) const
uA[i] = 0;
}
}
-//====================================================================================================================
-/*
- * ---- Partial Molar Properties of the Solution ----
- */
-
-//====================================================================================================================
/*
- * ---- Properties of the Standard State of the Species in the Solution
- * ----
- */
-//====================================================================================================================
-/*
- * Get the array of chemical potentials at unit activity
- * \f$ \mu^0_k \f$.
- *
- * For a stoichiometric substance, there is no activity term in
- * the chemical potential expression, and therefore the
- * standard chemical potential and the chemical potential
- * are both equal to the molar Gibbs function.
+ * Properties of the Standard State of the Species in the Solution
*/
+
void MetalSHEelectrons::
getStandardChemPotentials(doublereal* mu0) const
{
getGibbs_RT(mu0);
mu0[0] *= GasConstant * temperature();
}
-//====================================================================================================================
-/*
- * Get the nondimensional Enthalpy functions for the species
- * at their standard states at the current
- * T and P of the solution.
- * Molar enthalpy. Units: J/kmol. For an incompressible,
- * stoichiometric substance, the internal energy is
- * independent of pressure, and therefore the molar enthalpy
- * is \f[ \hat h(T, P) = \hat u(T) + P \hat v \f], where the
- * molar specific volume is constant.
- */
+
void MetalSHEelectrons::getEnthalpy_RT(doublereal* hrt) const
{
getEnthalpy_RT_ref(hrt);
}
-//====================================================================================================================
-/*
- * Get the array of nondimensional Entropy functions for the
- * standard state species
- * at the current T and P of the solution.
- */
+
void MetalSHEelectrons::getEntropy_R(doublereal* sr) const
{
getEntropy_R_ref(sr);
doublereal tmp = log(pressure() / m_p0);
sr[0] -= tmp;
}
-//====================================================================================================================
-/*
- * Get the nondimensional Gibbs functions for the species
- * at their standard states of solution at the current T and P
- * of the solution
- */
+
void MetalSHEelectrons::getGibbs_RT(doublereal* grt) const
{
getGibbs_RT_ref(grt);
doublereal tmp = log(pressure() / m_p0);
grt[0] += tmp;
}
-//====================================================================================================================
-/*
- * Get the nondimensional Gibbs functions for the standard
- * state of the species at the current T and P.
- */
+
void MetalSHEelectrons::getCp_R(doublereal* cpr) const
{
_updateThermo();
cpr[0] = m_cp0_R[0];
}
-//====================================================================================================================
-/*
- * Molar internal energy (J/kmol).
- * For an incompressible,
- * stoichiometric substance, the molar internal energy is
- * independent of pressure. Since the thermodynamic properties
- * are specified by giving the standard-state enthalpy, the
- * term \f$ P_0 \hat v\f$ is subtracted from the specified molar
- * enthalpy to compute the molar internal energy.
- */
void MetalSHEelectrons::getIntEnergy_RT(doublereal* urt) const
{
getEnthalpy_RT(urt);
urt[0] -= 1.0;
}
-//====================================================================================================================
-/*
- * ---- Thermodynamic Values for the Species Reference States ----
- */
-/*
- * Molar internal energy or the reference state at the current
- * temperature, T (J/kmol).
- * For an incompressible,
- * stoichiometric substance, the molar internal energy is
- * independent of pressure. Since the thermodynamic properties
- * are specified by giving the standard-state enthalpy, the
- * term \f$ P_0 \hat v\f$ is subtracted from the specified molar
- * enthalpy to compute the molar internal energy.
- *
- * Note, this is equal to the standard state internal energy
- * evaluated at the reference pressure.
- */
+
void MetalSHEelectrons::getIntEnergy_RT_ref(doublereal* urt) const
{
_updateThermo();
@@ -403,29 +225,10 @@ void MetalSHEelectrons::getIntEnergy_RT_ref(doublereal* urt) const
urt[0] = m_h0_RT[0] - PV / RT;
}
-/*
- * ---- Saturation Properties
- */
-
-
-
/*
* ---- Initialization and Internal functions
*/
-//====================================================================================================================
-/*
- * @internal Initialize. This method is provided to allow
- * subclasses to perform any initialization required after all
- * species have been added. For example, it might be used to
- * resize internal work arrays that must have an entry for
- * each species. The base class implementation does nothing,
- * and subclasses that do not require initialization do not
- * need to overload this method. When importing a CTML phase
- * description, this method is called just prior to returning
- * from function importPhase.
- *
- * @see importCTML.cpp
- */
+
void MetalSHEelectrons::initThermo()
{
/*
@@ -433,7 +236,6 @@ void MetalSHEelectrons::initThermo()
*/
SingleSpeciesTP::initThermo();
}
-//====================================================================================================================
void MetalSHEelectrons::initThermoXML(XML_Node& phaseNode, const std::string& id)
{
@@ -452,7 +254,7 @@ void MetalSHEelectrons::initThermoXML(XML_Node& phaseNode, const std::string& id
setDensity(dens);
SingleSpeciesTP::initThermoXML(phaseNode, id);
}
-//====================================================================================================================
+
XML_Node* MetalSHEelectrons::makeDefaultXMLTree()
{
XML_Node* xtop = new XML_Node("ctml", 0);
@@ -505,46 +307,20 @@ XML_Node* MetalSHEelectrons::makeDefaultXMLTree()
return xtop;
}
-//====================================================================================================================
-/*
- * setParameters:
- *
- * Generic routine that is used to set the parameters used
- * by this model.
- * C[0] = density of phase [ kg/m3 ]
- */
+
void MetalSHEelectrons::setParameters(int n, doublereal* const c)
{
doublereal rho = c[0];
setDensity(rho);
}
-//====================================================================================================================
-/*
- * getParameters:
- *
- * Generic routine that is used to get the parameters used
- * by this model.
- * n = 1
- * C[0] = density of phase [ kg/m3 ]
- */
+
void MetalSHEelectrons::getParameters(int& n, doublereal* const c) const
{
doublereal rho = density();
n = 1;
c[0] = rho;
}
-//====================================================================================================================
-/*
- * Reads an xml data block for the parameters needed by this
- * routine. eosdata is a reference to the xml thermo block, and looks
- * like this:
- *
- *
- *
- * 3.52
- *
- *
- */
+
void MetalSHEelectrons::setParametersFromXML(const XML_Node& eosdata)
{
std::string model = eosdata["model"];
@@ -558,6 +334,5 @@ void MetalSHEelectrons::setParametersFromXML(const XML_Node& eosdata)
}
setDensity(rho);
}
-//====================================================================================================================
}
diff --git a/src/thermo/MineralEQ3.cpp b/src/thermo/MineralEQ3.cpp
index 15288f271..ab355543c 100644
--- a/src/thermo/MineralEQ3.cpp
+++ b/src/thermo/MineralEQ3.cpp
@@ -31,21 +31,11 @@ namespace Cantera
* ---- Constructors -------
*/
-/*
- * Default Constructor for the MineralEQ3 class
- */
MineralEQ3::MineralEQ3():
StoichSubstanceSSTP()
{
}
-// Create and initialize a MineralEQ3 ThermoPhase object
-// from an ASCII input file
-/*
- * @param infile name of the input file
- * @param id name of the phase id in the file.
- * If this is blank, the first phase in the file is used.
- */
MineralEQ3::MineralEQ3(const std::string& infile, std::string id) :
StoichSubstanceSSTP()
{
@@ -68,11 +58,6 @@ MineralEQ3::MineralEQ3(const std::string& infile, std::string id) :
importPhase(*xphase, this);
}
-// Full Constructor.
-/*
- * @param phaseRef XML node pointing to a MineralEQ3 description
- * @param id Id of the phase.
- */
MineralEQ3::MineralEQ3(XML_Node& xmlphase, const std::string& id) :
StoichSubstanceSSTP()
{
@@ -92,20 +77,12 @@ MineralEQ3::MineralEQ3(XML_Node& xmlphase, const std::string& id) :
importPhase(xmlphase, this);
}
-//! Copy constructor
-/*!
- * @param right Object to be copied
- */
MineralEQ3::MineralEQ3(const MineralEQ3& right) :
StoichSubstanceSSTP()
{
*this = operator=(right);
}
-//! Assignment operator
-/*!
- * @param right Object to be copied
- */
MineralEQ3&
MineralEQ3::operator=(const MineralEQ3& right)
{
@@ -125,98 +102,43 @@ MineralEQ3::operator=(const MineralEQ3& right)
return *this;
}
-/*
- * Destructor for the routine (virtual)
- *
- */
MineralEQ3::~MineralEQ3()
{
}
-// Duplication function
-/*
- * This virtual function is used to create a duplicate of the
- * current phase. It's used to duplicate the phase when given
- * a ThermoPhase pointer to the phase.
- *
- * @return It returns a ThermoPhase pointer.
- */
ThermoPhase* MineralEQ3::duplMyselfAsThermoPhase() const
{
return new MineralEQ3(*this);
}
-
/*
* ---- Utilities -----
*/
-/*
- * Equation of state flag. Returns the value cStoichSubstance,
- * defined in mix_defs.h.
- */
int MineralEQ3::eosType() const
{
return cStoichSubstance;
}
/*
- * ---- Molar Thermodynamic properties of the solution ----
- */
-
-/**
* ----- Mechanical Equation of State ------
*/
-/*
- * Pressure. Units: Pa.
- * For an incompressible substance, the density is independent
- * of pressure. This method simply returns the stored
- * pressure value.
- */
doublereal MineralEQ3::pressure() const
{
return m_press;
}
-/*
- * Set the pressure at constant temperature. Units: Pa.
- * For an incompressible substance, the density is
- * independent of pressure. Therefore, this method only
- * stores the specified pressure value. It does not
- * modify the density.
- */
void MineralEQ3::setPressure(doublereal p)
{
m_press = p;
}
-/*
- * The isothermal compressibility. Units: 1/Pa.
- * The isothermal compressibility is defined as
- * \f[
- * \kappa_T = -\frac{1}{v}\left(\frac{\partial v}{\partial P}\right)_T
- * \f]
- *
- * It's equal to zero for this model, since the molar volume
- * doesn't change with pressure or temperature.
- */
doublereal MineralEQ3::isothermalCompressibility() const
{
return 0.0;
}
-/*
- * The thermal expansion coefficient. Units: 1/K.
- * The thermal expansion coefficient is defined as
- *
- * \f[
- * \beta = \frac{1}{v}\left(\frac{\partial v}{\partial T}\right)_P
- * \f]
- *
- * It's equal to zero for this model, since the molar volume
- * doesn't change with pressure or temperature.
- */
doublereal MineralEQ3::thermalExpansionCoeff() const
{
return 0.0;
@@ -226,54 +148,22 @@ doublereal MineralEQ3::thermalExpansionCoeff() const
* ---- Chemical Potentials and Activities ----
*/
-/*
- * This method returns the array of generalized
- * concentrations. For a stoichiometric substance, there is
- * only one species, and the generalized concentration is 1.0.
- */
void MineralEQ3::
getActivityConcentrations(doublereal* c) const
{
c[0] = 1.0;
}
-/*
- * The standard concentration. This is defined as the concentration
- * by which the generalized concentration is normalized to produce
- * the activity.
- */
doublereal MineralEQ3::standardConcentration(size_t k) const
{
return 1.0;
}
-/*
- * Returns the natural logarithm of the standard
- * concentration of the kth species
- */
doublereal MineralEQ3::logStandardConc(size_t k) const
{
return 0.0;
}
-/*
- * Returns the units of the standard and generalized
- * concentrations Note they have the same units, as their
- * ratio is defined to be equal to the activity of the kth
- * species in the solution, which is unitless.
- *
- * This routine is used in print out applications where the
- * units are needed. Usually, MKS units are assumed throughout
- * the program and in the XML input files.
- *
- * uA[0] = kmol units - default = 1
- * uA[1] = m units - default = -nDim(), the number of spatial
- * dimensions in the Phase class.
- * uA[2] = kg units - default = 0;
- * uA[3] = Pa(pressure) units - default = 0;
- * uA[4] = Temperature units - default = 0;
- * uA[5] = time units - default = 0
- */
void MineralEQ3::
getUnitsStandardConc(doublereal* uA, int k, int sizeUA) const
{
@@ -283,25 +173,9 @@ getUnitsStandardConc(doublereal* uA, int k, int sizeUA) const
}
/*
- * ---- Partial Molar Properties of the Solution ----
+ * Properties of the Standard State of the Species in the Solution
*/
-
-
-/*
- * ---- Properties of the Standard State of the Species in the Solution
- * ----
- */
-
-/*
- * Get the array of chemical potentials at unit activity
- * \f$ \mu^0_k \f$.
- *
- * For a stoichiometric substance, there is no activity term in
- * the chemical potential expression, and therefore the
- * standard chemical potential and the chemical potential
- * are both equal to the molar Gibbs function.
- */
void MineralEQ3::
getStandardChemPotentials(doublereal* mu0) const
{
@@ -309,16 +183,6 @@ getStandardChemPotentials(doublereal* mu0) const
mu0[0] *= GasConstant * temperature();
}
-/*
- * Get the nondimensional Enthalpy functions for the species
- * at their standard states at the current
- * T and P of the solution.
- * Molar enthalpy. Units: J/kmol. For an incompressible,
- * stoichiometric substance, the internal energy is
- * independent of pressure, and therefore the molar enthalpy
- * is \f[ \hat h(T, P) = \hat u(T) + P \hat v \f], where the
- * molar specific volume is constant.
- */
void MineralEQ3::getEnthalpy_RT(doublereal* hrt) const
{
getEnthalpy_RT_ref(hrt);
@@ -327,46 +191,23 @@ void MineralEQ3::getEnthalpy_RT(doublereal* hrt) const
hrt[0] += presCorrect / RT;
}
-/*
- * Get the array of nondimensional Entropy functions for the
- * standard state species
- * at the current T and P of the solution.
- */
void MineralEQ3::getEntropy_R(doublereal* sr) const
{
getEntropy_R_ref(sr);
}
-/*
- * Get the nondimensional Gibbs functions for the species
- * at their standard states of solution at the current T and P
- * of the solution
- */
void MineralEQ3::getGibbs_RT(doublereal* grt) const
{
getEnthalpy_RT(grt);
grt[0] -= m_s0_R[0];
}
-/*
- * Get the nondimensional Gibbs functions for the standard
- * state of the species at the current T and P.
- */
void MineralEQ3::getCp_R(doublereal* cpr) const
{
_updateThermo();
cpr[0] = m_cp0_R[0];
}
-/*
- * Molar internal energy (J/kmol).
- * For an incompressible,
- * stoichiometric substance, the molar internal energy is
- * independent of pressure. Since the thermodynamic properties
- * are specified by giving the standard-state enthalpy, the
- * term \f$ P_0 \hat v\f$ is subtracted from the specified molar
- * enthalpy to compute the molar internal energy.
- */
void MineralEQ3::getIntEnergy_RT(doublereal* urt) const
{
_updateThermo();
@@ -378,19 +219,7 @@ void MineralEQ3::getIntEnergy_RT(doublereal* urt) const
/*
* ---- Thermodynamic Values for the Species Reference States ----
*/
-/*
- * Molar internal energy or the reference state at the current
- * temperature, T (J/kmol).
- * For an incompressible,
- * stoichiometric substance, the molar internal energy is
- * independent of pressure. Since the thermodynamic properties
- * are specified by giving the standard-state enthalpy, the
- * term \f$ P_0 \hat v\f$ is subtracted from the specified molar
- * enthalpy to compute the molar internal energy.
- *
- * Note, this is equal to the standard state internal energy
- * evaluated at the reference pressure.
- */
+
void MineralEQ3::getIntEnergy_RT_ref(doublereal* urt) const
{
_updateThermo();
@@ -399,59 +228,24 @@ void MineralEQ3::getIntEnergy_RT_ref(doublereal* urt) const
urt[0] = m_h0_RT[0] - PV / RT;
}
-/*
- * ---- Saturation Properties
- */
-
-
-
/*
* ---- Initialization and Internal functions
*/
-/**
- * @internal Initialize. This method is provided to allow
- * subclasses to perform any initialization required after all
- * species have been added. For example, it might be used to
- * resize internal work arrays that must have an entry for
- * each species. The base class implementation does nothing,
- * and subclasses that do not require initialization do not
- * need to overload this method. When importing a CTML phase
- * description, this method is called just prior to returning
- * from function importPhase.
- *
- * @see importCTML.cpp
- */
void MineralEQ3::initThermo()
{
-
/*
* Call the base class thermo initializer
*/
StoichSubstanceSSTP::initThermo();
}
-/**
- * setParameters:
- *
- * Generic routine that is used to set the parameters used
- * by this model.
- * C[0] = density of phase [ kg/m3 ]
- */
void MineralEQ3::setParameters(int n, doublereal* const c)
{
doublereal rho = c[0];
setDensity(rho);
}
-/**
- * getParameters:
- *
- * Generic routine that is used to get the parameters used
- * by this model.
- * n = 1
- * C[0] = density of phase [ kg/m3 ]
- */
void MineralEQ3::getParameters(int& n, doublereal* const c) const
{
doublereal rho = density();
@@ -459,25 +253,6 @@ void MineralEQ3::getParameters(int& n, doublereal* const c) const
c[0] = rho;
}
-// Initialize the phase parameters from an XML file.
-/*
- * initThermoXML() (virtual from ThermoPhase)
- *
- * This gets called from importPhase(). It processes the XML file
- * after the species are set up. This is the main routine for
- * reading in activity coefficient parameters.
- *
- * @param phaseNode This object must be the phase node of a
- * complete XML tree
- * description of the phase, including all of the
- * species data. In other words while "phase" must
- * point to an XML phase object, it must have
- * sibling nodes "speciesData" that describe
- * the species in the phase.
- * @param id ID of the phase. If nonnull, a check is done
- * to see if phaseNode is pointing to the phase
- * with the correct id.
- */
void MineralEQ3::initThermoXML(XML_Node& phaseNode, const std::string& id)
{
/*
@@ -536,12 +311,9 @@ void MineralEQ3::initThermoXML(XML_Node& phaseNode, const std::string& id)
m_b = ctml::getFloatDefaultUnits(MinEQ3node, "b", "cal/gmol/K2");
m_c = ctml::getFloatDefaultUnits(MinEQ3node, "c", "cal-K/gmol");
-
convertDGFormation();
-
}
-
void MineralEQ3::setParametersFromXML(const XML_Node& eosdata)
{
std::string model = eosdata["model"];
@@ -597,5 +369,3 @@ void MineralEQ3::convertDGFormation()
}
}
-
-
diff --git a/src/thermo/SingleSpeciesTP.cpp b/src/thermo/SingleSpeciesTP.cpp
index 3174a3e9f..19a1372b8 100644
--- a/src/thermo/SingleSpeciesTP.cpp
+++ b/src/thermo/SingleSpeciesTP.cpp
@@ -17,17 +17,6 @@ using namespace std;
namespace Cantera
{
-
-/*
- * -------------- Constructors ------------------------------------
- *
- */
-
-// Base empty constructor.
-/*
- * Base constructor -> does nothing but called the inherited
- * class constructor
- */
SingleSpeciesTP::SingleSpeciesTP() :
ThermoPhase(),
m_press(OneAtm),
@@ -36,11 +25,6 @@ SingleSpeciesTP::SingleSpeciesTP() :
{
}
-
-//! Copy constructor
-/*!
- * @param right Object to be copied
- */
SingleSpeciesTP::SingleSpeciesTP(const SingleSpeciesTP& right):
ThermoPhase(),
m_press(OneAtm),
@@ -50,10 +34,6 @@ SingleSpeciesTP::SingleSpeciesTP(const SingleSpeciesTP& right):
*this = operator=(right);
}
-//! Assignment operator
-/*!
- * @param right Object to be copied
- */
SingleSpeciesTP& SingleSpeciesTP::operator=(const SingleSpeciesTP& right)
{
if (&right != this) {
@@ -68,59 +48,25 @@ SingleSpeciesTP& SingleSpeciesTP::operator=(const SingleSpeciesTP& right)
return *this;
}
-/*
- * destructor -> does nothing but implicitly calls the inherited
- * class destructors.
- */
SingleSpeciesTP::~SingleSpeciesTP()
{
}
-//! Duplication function
-/*!
- * This virtual function is used to create a duplicate of the
- * current phase. It's used to duplicate the phase when given
- * a ThermoPhase pointer to the phase.
- *
- * @return It returns a ThermoPhase pointer.
- */
ThermoPhase* SingleSpeciesTP::duplMyselfAsThermoPhase() const
{
return new SingleSpeciesTP(*this);
}
-/**
- *
- * ------------------- Utilities ----------------------------------
- *
- */
-
-/**
- * eosType():
- * Creates an error because this is not a fully formed
- * class
- */
int SingleSpeciesTP::eosType() const
{
err("eosType");
return -1;
}
-/**
+/*
* ------------ Molar Thermodynamic Properties --------------------
- *
- *
- * For this single species template, the molar properties of
- * the mixture are identified with the partial molar properties
- * of species number 0. The partial molar property routines
- * are called to evaluate these functions.
*/
-/**
- * enthalpy_mole():
- *
- * Molar enthalpy. Units: J/kmol.
- */
doublereal SingleSpeciesTP::enthalpy_mole() const
{
double hbar;
@@ -128,11 +74,6 @@ doublereal SingleSpeciesTP::enthalpy_mole() const
return hbar;
}
-/**
- * enthalpy_mole():
- *
- * Molar internal energy. Units: J/kmol.
- */
doublereal SingleSpeciesTP::intEnergy_mole() const
{
double ubar;
@@ -140,11 +81,6 @@ doublereal SingleSpeciesTP::intEnergy_mole() const
return ubar;
}
-/**
- * entropy_mole():
- *
- * Molar entropy of the mixture. Units: J/kmol/K.
- */
doublereal SingleSpeciesTP::entropy_mole() const
{
double sbar;
@@ -152,11 +88,6 @@ doublereal SingleSpeciesTP::entropy_mole() const
return sbar;
}
-/**
- * gibbs_mole():
- *
- * Molar Gibbs free energy of the mixture. Units: J/kmol/K.
- */
doublereal SingleSpeciesTP::gibbs_mole() const
{
double gbar;
@@ -169,12 +100,6 @@ doublereal SingleSpeciesTP::gibbs_mole() const
return gbar;
}
-/**
- * cp_mole():
- *
- * Molar heat capacity at constant pressure of the mixture.
- * Units: J/kmol/K.
- */
doublereal SingleSpeciesTP::cp_mole() const
{
double cpbar;
@@ -189,23 +114,17 @@ doublereal SingleSpeciesTP::cp_mole() const
return cpbar;
}
-/*
- * cv_mole():
- *
- * Molar heat capacity at constant volume of the mixture.
- * Units: J/kmol/K.
- *
- * For single species, we go directory to the
- * general Cp - Cv relation
- *
- * Cp = Cv + alpha**2 * V * T / beta
- *
- * where
- * alpha = volume thermal expansion coefficient
- * beta = isothermal compressibility
- */
doublereal SingleSpeciesTP::cv_mole() const
{
+ /*
+ * For single species, we go directory to the general Cp - Cv relation
+ *
+ * Cp = Cv + alpha**2 * V * T / beta
+ *
+ * where
+ * alpha = volume thermal expansion coefficient
+ * beta = isothermal compressibility
+ */
doublereal cvbar = cp_mole();
doublereal alpha = thermalExpansionCoeff();
doublereal beta = isothermalCompressibility();
@@ -218,42 +137,15 @@ doublereal SingleSpeciesTP::cv_mole() const
return cvbar;
}
-/*
- * ----------- Chemical Potentials and Activities ----------------------
- */
-
/*
* ----------- Partial Molar Properties of the Solution -----------------
- *
- * These are calculated by reference to the standard state properties
- * of the zeroeth species.
*/
-
-// Get the array of chemical potentials at unit activity
-/*
- * These are the standard state chemical potentials. \f$ \mu^0_k \f$.
- *
- * @param mu On return, Contains the chemical potential of the single species
- * and the phase. Units are J / kmol . Length = 1
- */
void SingleSpeciesTP::getChemPotentials(doublereal* mu) const
{
getStandardChemPotentials(mu);
}
-
-// Get the array of non-dimensional species chemical potentials
-// These are partial molar Gibbs free energies.
-/*
- * These are the standard state dimensionless chemical potentials.
- * \f$ \mu_k / \hat R T \f$.
- *
- * Units: unitless
- *
- * @param murt On return, Contains the chemical potential / RT of the single species
- * and the phase. Units are unitless. Length = 1
- */
void SingleSpeciesTP::getChemPotentials_RT(doublereal* murt) const
{
getStandardChemPotentials(murt);
@@ -261,29 +153,11 @@ void SingleSpeciesTP::getChemPotentials_RT(doublereal* murt) const
murt[0] /= rt;
}
-// Get the species electrochemical potentials. Units: J/kmol.
-/*
- * This method adds a term \f$ Fz_k \phi_k \f$ to
- * each chemical potential.
- *
- * This is resolved here. A single species phase
- * is not allowed to have anything other than a zero charge.
- *
- * @param murt On return, Contains the chemical potential / RT of the single species
- * and the phase. Units are unitless. Length = 1
- */
void SingleSpeciesTP::getElectrochemPotentials(doublereal* mu) const
{
getChemPotentials(mu);
}
-// Get the species partial molar enthalpies. Units: J/kmol.
-/*
- * These are the phase enthalpies. \f$ h_k \f$.
- *
- * @param hbar On return, Contains the enthalpy of the single species
- * and the phase. Units are J / kmol . Length = 1
- */
void SingleSpeciesTP::
getPartialMolarEnthalpies(doublereal* hbar) const
{
@@ -292,16 +166,6 @@ getPartialMolarEnthalpies(doublereal* hbar) const
hbar[0] *= _rt;
}
-// Get the species partial molar internal energies. Units: J/kmol.
-/*
- * These are the phase internal energies. \f$ u_k \f$.
- *
- * This member function is resolved here. A single species phase obtains its
- * thermo from the standard state function.
- *
- * @param ubar On return, Contains the internal energy of the single species
- * and the phase. Units are J / kmol . Length = 1
- */
void SingleSpeciesTP::
getPartialMolarIntEnergies(doublereal* ubar) const
{
@@ -310,16 +174,6 @@ getPartialMolarIntEnergies(doublereal* ubar) const
ubar[0] *= _rt;
}
-// Get the species partial molar entropy. Units: J/kmol K.
-/*
- * This is the phase entropy. \f$ s(T,P) = s_o(T,P) \f$.
- *
- * This member function is resolved here. A single species phase obtains its
- * thermo from the standard state function.
- *
- * @param sbar On return, Contains the entropy of the single species
- * and the phase. Units are J / kmol / K . Length = 1
- */
void SingleSpeciesTP::
getPartialMolarEntropies(doublereal* sbar) const
{
@@ -327,32 +181,12 @@ getPartialMolarEntropies(doublereal* sbar) const
sbar[0] *= GasConstant;
}
-// Get the species partial molar Heat Capacities. Units: J/ kmol K.
-/*
- * This is the phase heat capacity. \f$ Cp(T,P) = Cp_o(T,P) \f$.
- *
- * This member function is resolved here. A single species phase obtains its
- * thermo from the standard state function.
- *
- * @param cpbar On return, Contains the heat capacity of the single species
- * and the phase. Units are J / kmol / K . Length = 1
- */
void SingleSpeciesTP::getPartialMolarCp(doublereal* cpbar) const
{
getCp_R(cpbar);
cpbar[0] *= GasConstant;
}
-// Get the species partial molar volumes. Units: m^3/kmol.
-/*
- * This is the phase molar volume. \f$ V(T,P) = V_o(T,P) \f$.
- *
- * This member function is resolved here. A single species phase obtains its
- * thermo from the standard state function.
- *
- * @param vbar On return, Contains the molar volume of the single species
- * and the phase. Units are m^3 / kmol. Length = 1
- */
void SingleSpeciesTP::getPartialMolarVolumes(doublereal* vbar) const
{
double mw = molecularWeight(0);
@@ -361,32 +195,15 @@ void SingleSpeciesTP::getPartialMolarVolumes(doublereal* vbar) const
}
/*
- * ----- Properties of the Standard State of the Species in the Solution
- * -----
+ * Properties of the Standard State of the Species in the Solution
*/
-/*
- * Get the dimensional Gibbs functions for the standard
- * state of the species at the current T and P.
- */
void SingleSpeciesTP::getPureGibbs(doublereal* gpure) const
{
getGibbs_RT(gpure);
gpure[0] *= GasConstant * temperature();
}
-
-// Get the molar volumes of each species in their standard
-// states at the current T and P of the solution.
-/*
- * units = m^3 / kmol
- *
- * We resolve this function at this level, by assigning
- * the molecular weight divided by the phase density
- *
- * @param vbar On output this contains the standard volume of the species
- * and phase (m^3/kmol). Vector of length 1
- */
void SingleSpeciesTP::getStandardVolumes(doublereal* vbar) const
{
double mw = molecularWeight(0);
@@ -398,60 +215,30 @@ void SingleSpeciesTP::getStandardVolumes(doublereal* vbar) const
* ---- Thermodynamic Values for the Species Reference States -------
*/
-
-/**
- * Returns the vector of nondimensional
- * enthalpies of the reference state at the current temperature
- * of the solution and the reference pressure for the species.
- *
- *
- */
void SingleSpeciesTP::getEnthalpy_RT_ref(doublereal* hrt) const
{
_updateThermo();
hrt[0] = m_h0_RT[0];
}
-
-/**
- * Returns the vector of nondimensional
- * enthalpies of the reference state at the current temperature
- * of the solution and the reference pressure for the species.
- */
void SingleSpeciesTP::getGibbs_RT_ref(doublereal* grt) const
{
_updateThermo();
grt[0] = m_h0_RT[0] - m_s0_R[0];
}
-/**
- * Returns the vector of the
- * gibbs function of the reference state at the current temperature
- * of the solution and the reference pressure for the species.
- * units = J/kmol
- */
void SingleSpeciesTP::getGibbs_ref(doublereal* g) const
{
getGibbs_RT_ref(g);
g[0] *= GasConstant * temperature();
}
-/**
- * Returns the vector of nondimensional
- * entropies of the reference state at the current temperature
- * of the solution and the reference pressure for the species.
- */
void SingleSpeciesTP::getEntropy_R_ref(doublereal* er) const
{
_updateThermo();
er[0] = m_s0_R[0];
}
-/**
- * Get the nondimensional Gibbs functions for the standard
- * state of the species at the current T and reference pressure
- * for the species.
- */
void SingleSpeciesTP::getCp_R_ref(doublereal* cpr) const
{
_updateThermo();
@@ -462,7 +249,6 @@ void SingleSpeciesTP::getCp_R_ref(doublereal* cpr) const
* ------------------ Setting the State ------------------------
*/
-
void SingleSpeciesTP::setState_TPX(doublereal t, doublereal p,
const doublereal* x)
{
@@ -611,11 +397,6 @@ void SingleSpeciesTP::setState_SV(doublereal s, doublereal v,
throw CanteraError("setState_SV","no convergence. dt = " + fp2str(dt));
}
-/*
- * This private function throws a cantera exception. It's used when
- * this class doesn't have an answer for the question given to it,
- * because the derived class isn't overriding a function.
- */
doublereal SingleSpeciesTP::err(const std::string& msg) const
{
throw CanteraError("SingleSpeciesTP","Base class method "
@@ -624,24 +405,8 @@ doublereal SingleSpeciesTP::err(const std::string& msg) const
return 0;
}
-/*
- * @internal Initialize. This method is provided to allow
- * subclasses to perform any initialization required after all
- * species have been added. For example, it might be used to
- * resize internal work arrays that must have an entry for
- * each species. The base class implementation does nothing,
- * and subclasses that do not require initialization do not
- * need to overload this method. When importing a CTML phase
- * description, this method is called just prior to returning
- * from function importPhase.
- *
- * Inheriting objects should call this function
- *
- * @see importCTML.cpp
- */
void SingleSpeciesTP::initThermo()
{
-
/*
* Make sure there is one and only one species in this phase.
*/
@@ -669,13 +434,6 @@ void SingleSpeciesTP::initThermo()
ThermoPhase::initThermo();
}
-/*
- * _updateThermo():
- *
- * This crucial internal routine calls the species thermo
- * update program to calculate new species Cp0, H0, and
- * S0 whenever the temperature has changed.
- */
void SingleSpeciesTP::_updateThermo() const
{
doublereal tnow = temperature();
@@ -687,7 +445,3 @@ void SingleSpeciesTP::_updateThermo() const
}
}
-
-
-
-
diff --git a/src/thermo/StoichSubstance.cpp b/src/thermo/StoichSubstance.cpp
index 10a839f38..a6d33e5b8 100644
--- a/src/thermo/StoichSubstance.cpp
+++ b/src/thermo/StoichSubstance.cpp
@@ -13,8 +13,6 @@
namespace Cantera
{
-
-// Default empty constructor
StoichSubstance::StoichSubstance() :
m_press(OneAtm),
m_p0(OneAtm),
@@ -22,15 +20,6 @@ StoichSubstance::StoichSubstance() :
{
}
-// Copy Constructor
-/*
- * Copy constructor for the object. Constructed
- * object will be a clone of this object, but will
- * also own all of its data.
- * This is a wrapper around the assignment operator
- *
- * @param right Object to be copied.
- */
StoichSubstance::StoichSubstance(const StoichSubstance& right) :
m_press(OneAtm),
m_p0(OneAtm),
@@ -39,14 +28,6 @@ StoichSubstance::StoichSubstance(const StoichSubstance& right) :
*this = operator=(right);
}
-// Assignment operator
-/*
- * Assignment operator for the object. Constructed
- * object will be a clone of this object, but will
- * also own all of its data.
- *
- * @param right Object to be copied.
- */
StoichSubstance& StoichSubstance::
operator=(const StoichSubstance& right)
{
@@ -62,20 +43,11 @@ operator=(const StoichSubstance& right)
return *this;
}
-// Duplicator from the %ThermoPhase parent class
-/*
- * Given a pointer to a %ThermoPhase object, this function will
- * duplicate the %ThermoPhase object and all underlying structures.
- * This is basically a wrapper around the copy constructor.
- *
- * @return returns a pointer to a %ThermoPhase
- */
ThermoPhase* StoichSubstance::duplMyselfAsThermoPhase() const
{
return new StoichSubstance(*this);
}
-// Destructor
StoichSubstance::~StoichSubstance()
{
}
@@ -297,7 +269,3 @@ void StoichSubstance::setParametersFromXML(const XML_Node& eosdata)
}
}
-
-
-
-
diff --git a/src/thermo/StoichSubstanceSSTP.cpp b/src/thermo/StoichSubstanceSSTP.cpp
index 4c380be89..02a339092 100644
--- a/src/thermo/StoichSubstanceSSTP.cpp
+++ b/src/thermo/StoichSubstanceSSTP.cpp
@@ -27,21 +27,11 @@ namespace Cantera
* ---- Constructors -------
*/
-/*
- * Default Constructor for the StoichSubstanceSSTP class
- */
StoichSubstanceSSTP::StoichSubstanceSSTP():
SingleSpeciesTP()
{
}
-// Create and initialize a StoichSubstanceSSTP ThermoPhase object
-// from an ASCII input file
-/*
- * @param infile name of the input file
- * @param id name of the phase id in the file.
- * If this is blank, the first phase in the file is used.
- */
StoichSubstanceSSTP::StoichSubstanceSSTP(const std::string& infile, std::string id) :
SingleSpeciesTP()
{
@@ -64,11 +54,6 @@ StoichSubstanceSSTP::StoichSubstanceSSTP(const std::string& infile, std::string
importPhase(*xphase, this);
}
-// Full Constructor.
-/*
- * @param phaseRef XML node pointing to a StoichSubstanceSSTP description
- * @param id Id of the phase.
- */
StoichSubstanceSSTP::StoichSubstanceSSTP(XML_Node& xmlphase, const std::string& id) :
SingleSpeciesTP()
{
@@ -88,20 +73,12 @@ StoichSubstanceSSTP::StoichSubstanceSSTP(XML_Node& xmlphase, const std::string&
importPhase(xmlphase, this);
}
-//! Copy constructor
-/*!
- * @param right Object to be copied
- */
StoichSubstanceSSTP::StoichSubstanceSSTP(const StoichSubstanceSSTP& right) :
SingleSpeciesTP()
{
*this = operator=(right);
}
-//! Assignment operator
-/*!
- * @param right Object to be copied
- */
StoichSubstanceSSTP&
StoichSubstanceSSTP::operator=(const StoichSubstanceSSTP& right)
{
@@ -111,98 +88,43 @@ StoichSubstanceSSTP::operator=(const StoichSubstanceSSTP& right)
return *this;
}
-/*
- * Destructor for the routine (virtual)
- *
- */
StoichSubstanceSSTP::~StoichSubstanceSSTP()
{
}
-// Duplication function
-/*
- * This virtual function is used to create a duplicate of the
- * current phase. It's used to duplicate the phase when given
- * a ThermoPhase pointer to the phase.
- *
- * @return It returns a ThermoPhase pointer.
- */
ThermoPhase* StoichSubstanceSSTP::duplMyselfAsThermoPhase() const
{
return new StoichSubstanceSSTP(*this);
}
-
/*
* ---- Utilities -----
*/
-/*
- * Equation of state flag. Returns the value cStoichSubstance,
- * defined in mix_defs.h.
- */
int StoichSubstanceSSTP::eosType() const
{
return cStoichSubstance;
}
/*
- * ---- Molar Thermodynamic properties of the solution ----
- */
-
-/**
* ----- Mechanical Equation of State ------
*/
-/*
- * Pressure. Units: Pa.
- * For an incompressible substance, the density is independent
- * of pressure. This method simply returns the stored
- * pressure value.
- */
doublereal StoichSubstanceSSTP::pressure() const
{
return m_press;
}
-/*
- * Set the pressure at constant temperature. Units: Pa.
- * For an incompressible substance, the density is
- * independent of pressure. Therefore, this method only
- * stores the specified pressure value. It does not
- * modify the density.
- */
void StoichSubstanceSSTP::setPressure(doublereal p)
{
m_press = p;
}
-/*
- * The isothermal compressibility. Units: 1/Pa.
- * The isothermal compressibility is defined as
- * \f[
- * \kappa_T = -\frac{1}{v}\left(\frac{\partial v}{\partial P}\right)_T
- * \f]
- *
- * It's equal to zero for this model, since the molar volume
- * doesn't change with pressure or temperature.
- */
doublereal StoichSubstanceSSTP::isothermalCompressibility() const
{
return 0.0;
}
-/*
- * The thermal expansion coefficient. Units: 1/K.
- * The thermal expansion coefficient is defined as
- *
- * \f[
- * \beta = \frac{1}{v}\left(\frac{\partial v}{\partial T}\right)_P
- * \f]
- *
- * It's equal to zero for this model, since the molar volume
- * doesn't change with pressure or temperature.
- */
doublereal StoichSubstanceSSTP::thermalExpansionCoeff() const
{
return 0.0;
@@ -212,54 +134,22 @@ doublereal StoichSubstanceSSTP::thermalExpansionCoeff() const
* ---- Chemical Potentials and Activities ----
*/
-/*
- * This method returns the array of generalized
- * concentrations. For a stoichiometric substance, there is
- * only one species, and the generalized concentration is 1.0.
- */
void StoichSubstanceSSTP::
getActivityConcentrations(doublereal* c) const
{
c[0] = 1.0;
}
-/*
- * The standard concentration. This is defined as the concentration
- * by which the generalized concentration is normalized to produce
- * the activity.
- */
doublereal StoichSubstanceSSTP::standardConcentration(size_t k) const
{
return 1.0;
}
-/*
- * Returns the natural logarithm of the standard
- * concentration of the kth species
- */
doublereal StoichSubstanceSSTP::logStandardConc(size_t k) const
{
return 0.0;
}
-/*
- * Returns the units of the standard and generalized
- * concentrations Note they have the same units, as their
- * ratio is defined to be equal to the activity of the kth
- * species in the solution, which is unitless.
- *
- * This routine is used in print out applications where the
- * units are needed. Usually, MKS units are assumed throughout
- * the program and in the XML input files.
- *
- * uA[0] = kmol units - default = 1
- * uA[1] = m units - default = -nDim(), the number of spatial
- * dimensions in the Phase class.
- * uA[2] = kg units - default = 0;
- * uA[3] = Pa(pressure) units - default = 0;
- * uA[4] = Temperature units - default = 0;
- * uA[5] = time units - default = 0
- */
void StoichSubstanceSSTP::
getUnitsStandardConc(doublereal* uA, int k, int sizeUA) const
{
@@ -269,25 +159,9 @@ getUnitsStandardConc(doublereal* uA, int k, int sizeUA) const
}
/*
- * ---- Partial Molar Properties of the Solution ----
+ * Properties of the Standard State of the Species in the Solution
*/
-
-
-/*
- * ---- Properties of the Standard State of the Species in the Solution
- * ----
- */
-
-/*
- * Get the array of chemical potentials at unit activity
- * \f$ \mu^0_k \f$.
- *
- * For a stoichiometric substance, there is no activity term in
- * the chemical potential expression, and therefore the
- * standard chemical potential and the chemical potential
- * are both equal to the molar Gibbs function.
- */
void StoichSubstanceSSTP::
getStandardChemPotentials(doublereal* mu0) const
{
@@ -295,16 +169,6 @@ getStandardChemPotentials(doublereal* mu0) const
mu0[0] *= GasConstant * temperature();
}
-/*
- * Get the nondimensional Enthalpy functions for the species
- * at their standard states at the current
- * T and P of the solution.
- * Molar enthalpy. Units: J/kmol. For an incompressible,
- * stoichiometric substance, the internal energy is
- * independent of pressure, and therefore the molar enthalpy
- * is \f[ \hat h(T, P) = \hat u(T) + P \hat v \f], where the
- * molar specific volume is constant.
- */
void StoichSubstanceSSTP::getEnthalpy_RT(doublereal* hrt) const
{
getEnthalpy_RT_ref(hrt);
@@ -313,46 +177,23 @@ void StoichSubstanceSSTP::getEnthalpy_RT(doublereal* hrt) const
hrt[0] += presCorrect / RT;
}
-/*
- * Get the array of nondimensional Entropy functions for the
- * standard state species
- * at the current T and P of the solution.
- */
void StoichSubstanceSSTP::getEntropy_R(doublereal* sr) const
{
getEntropy_R_ref(sr);
}
-/*
- * Get the nondimensional Gibbs functions for the species
- * at their standard states of solution at the current T and P
- * of the solution
- */
void StoichSubstanceSSTP::getGibbs_RT(doublereal* grt) const
{
getEnthalpy_RT(grt);
grt[0] -= m_s0_R[0];
}
-/*
- * Get the nondimensional Gibbs functions for the standard
- * state of the species at the current T and P.
- */
void StoichSubstanceSSTP::getCp_R(doublereal* cpr) const
{
_updateThermo();
cpr[0] = m_cp0_R[0];
}
-/*
- * Molar internal energy (J/kmol).
- * For an incompressible,
- * stoichiometric substance, the molar internal energy is
- * independent of pressure. Since the thermodynamic properties
- * are specified by giving the standard-state enthalpy, the
- * term \f$ P_0 \hat v\f$ is subtracted from the specified molar
- * enthalpy to compute the molar internal energy.
- */
void StoichSubstanceSSTP::getIntEnergy_RT(doublereal* urt) const
{
_updateThermo();
@@ -364,19 +205,7 @@ void StoichSubstanceSSTP::getIntEnergy_RT(doublereal* urt) const
/*
* ---- Thermodynamic Values for the Species Reference States ----
*/
-/*
- * Molar internal energy or the reference state at the current
- * temperature, T (J/kmol).
- * For an incompressible,
- * stoichiometric substance, the molar internal energy is
- * independent of pressure. Since the thermodynamic properties
- * are specified by giving the standard-state enthalpy, the
- * term \f$ P_0 \hat v\f$ is subtracted from the specified molar
- * enthalpy to compute the molar internal energy.
- *
- * Note, this is equal to the standard state internal energy
- * evaluated at the reference pressure.
- */
+
void StoichSubstanceSSTP::getIntEnergy_RT_ref(doublereal* urt) const
{
_updateThermo();
@@ -385,29 +214,10 @@ void StoichSubstanceSSTP::getIntEnergy_RT_ref(doublereal* urt) const
urt[0] = m_h0_RT[0] - PV / RT;
}
-/*
- * ---- Saturation Properties
- */
-
-
-
/*
* ---- Initialization and Internal functions
*/
-/**
- * @internal Initialize. This method is provided to allow
- * subclasses to perform any initialization required after all
- * species have been added. For example, it might be used to
- * resize internal work arrays that must have an entry for
- * each species. The base class implementation does nothing,
- * and subclasses that do not require initialization do not
- * need to overload this method. When importing a CTML phase
- * description, this method is called just prior to returning
- * from function importPhase.
- *
- * @see importCTML.cpp
- */
void StoichSubstanceSSTP::initThermo()
{
/*
@@ -436,7 +246,6 @@ void StoichSubstanceSSTP::initThermo()
SingleSpeciesTP::initThermo();
}
-
void StoichSubstanceSSTP::initThermoXML(XML_Node& phaseNode, const std::string& id)
{
/*
@@ -452,27 +261,12 @@ void StoichSubstanceSSTP::initThermoXML(XML_Node& phaseNode, const std::string&
SingleSpeciesTP::initThermoXML(phaseNode, id);
}
-/**
- * setParameters:
- *
- * Generic routine that is used to set the parameters used
- * by this model.
- * C[0] = density of phase [ kg/m3 ]
- */
void StoichSubstanceSSTP::setParameters(int n, doublereal* const c)
{
doublereal rho = c[0];
setDensity(rho);
}
-/**
- * getParameters:
- *
- * Generic routine that is used to get the parameters used
- * by this model.
- * n = 1
- * C[0] = density of phase [ kg/m3 ]
- */
void StoichSubstanceSSTP::getParameters(int& n, doublereal* const c) const
{
doublereal rho = density();
@@ -480,17 +274,6 @@ void StoichSubstanceSSTP::getParameters(int& n, doublereal* const c) const
c[0] = rho;
}
-/*
- * Reads an xml data block for the parameters needed by this
- * routine. eosdata is a reference to the xml thermo block, and looks
- * like this:
- *
- *
- *
- * 3.52
- *
- *
- */
void StoichSubstanceSSTP::setParametersFromXML(const XML_Node& eosdata)
{
std::string model = eosdata["model"];
@@ -502,25 +285,13 @@ void StoichSubstanceSSTP::setParametersFromXML(const XML_Node& eosdata)
setDensity(rho);
}
+// ------ Methods of class electrodeElectron ------
-
-
-
-/*
- * Default Constructor for the electrodeElectron class
- */
electrodeElectron::electrodeElectron():
StoichSubstanceSSTP()
{
}
-// Create and initialize a electrodeElectron ThermoPhase object
-// from an ASCII input file
-/*
- * @param infile name of the input file
- * @param id name of the phase id in the file.
- * If this is blank, the first phase in the file is used.
- */
electrodeElectron::electrodeElectron(const std::string& infile, std::string id) :
StoichSubstanceSSTP()
{
@@ -543,11 +314,6 @@ electrodeElectron::electrodeElectron(const std::string& infile, std::string id)
importPhase(*xphase, this);
}
-// Full Constructor.
-/*
- * @param phaseRef XML node pointing to a electrodeElectron description
- * @param id Id of the phase.
- */
electrodeElectron::electrodeElectron(XML_Node& xmlphase, const std::string& id) :
StoichSubstanceSSTP()
{
@@ -567,20 +333,12 @@ electrodeElectron::electrodeElectron(XML_Node& xmlphase, const std::string& id)
importPhase(xmlphase, this);
}
-//! Copy constructor
-/*!
- * @param right Object to be copied
- */
electrodeElectron::electrodeElectron(const electrodeElectron& right) :
StoichSubstanceSSTP()
{
*this = operator=(right);
}
-//! Assignment operator
-/*!
- * @param right Object to be copied
- */
electrodeElectron&
electrodeElectron::operator=(const electrodeElectron& right)
{
@@ -590,10 +348,6 @@ electrodeElectron::operator=(const electrodeElectron& right)
return *this;
}
-/*
- * Destructor for the routine (virtual)
- *
- */
electrodeElectron::~electrodeElectron()
{
}
@@ -621,5 +375,3 @@ void electrodeElectron::setParameters(int n, doublereal* const c)
}
}
-
-
diff --git a/src/thermo/WaterSSTP.cpp b/src/thermo/WaterSSTP.cpp
index 4cc682a4d..d5020744e 100644
--- a/src/thermo/WaterSSTP.cpp
+++ b/src/thermo/WaterSSTP.cpp
@@ -23,10 +23,6 @@ using namespace std;
namespace Cantera
{
-/**
- * Basic list of constructors and duplicators
- */
-
WaterSSTP::WaterSSTP() :
SingleSpeciesTP(),
m_sub(0),
@@ -39,7 +35,6 @@ WaterSSTP::WaterSSTP() :
{
}
-
WaterSSTP::WaterSSTP(const std::string& inputFile, const std::string& id) :
SingleSpeciesTP(),
m_sub(0),
@@ -53,7 +48,6 @@ WaterSSTP::WaterSSTP(const std::string& inputFile, const std::string& id) :
initThermoFile(inputFile, id);
}
-
WaterSSTP::WaterSSTP(XML_Node& phaseRoot, const std::string& id) :
SingleSpeciesTP(),
m_sub(0),
@@ -67,7 +61,6 @@ WaterSSTP::WaterSSTP(XML_Node& phaseRoot, const std::string& id) :
importPhase(*findXMLPhase(&phaseRoot, id), this);
}
-
WaterSSTP::WaterSSTP(const WaterSSTP& b) :
SingleSpeciesTP(b),
m_sub(0),
@@ -88,9 +81,6 @@ WaterSSTP::WaterSSTP(const WaterSSTP& b) :
*this = b;
}
-/*
- * Assignment operator
- */
WaterSSTP& WaterSSTP::operator=(const WaterSSTP& b)
{
if (&b == this) {
@@ -110,7 +100,6 @@ WaterSSTP& WaterSSTP::operator=(const WaterSSTP& b)
return *this;
}
-
ThermoPhase* WaterSSTP::duplMyselfAsThermoPhase() const
{
return new WaterSSTP(*this);
@@ -130,7 +119,6 @@ void WaterSSTP::initThermo()
void WaterSSTP::
initThermoXML(XML_Node& phaseNode, const std::string& id)
{
-
/*
* Do initializations that don't depend on knowing the XML file
*/
@@ -230,9 +218,6 @@ setParametersFromXML(const XML_Node& eosdata)
eosdata._require("model","PureLiquidWater");
}
-/*
- * Return the molar dimensionless enthalpy
- */
void WaterSSTP::getEnthalpy_RT(doublereal* hrt) const
{
double T = temperature();
@@ -240,29 +225,18 @@ void WaterSSTP::getEnthalpy_RT(doublereal* hrt) const
*hrt = (h + EW_Offset)/(GasConstant*T);
}
-/*
- * Calculate the internal energy in mks units of
- * J kmol-1
- */
void WaterSSTP::getIntEnergy_RT(doublereal* ubar) const
{
doublereal u = m_sub->intEnergy();
*ubar = (u + EW_Offset)/GasConstant;
}
-/*
- * Calculate the dimensionless entropy
- */
void WaterSSTP::getEntropy_R(doublereal* sr) const
{
doublereal s = m_sub->entropy();
sr[0] = (s + SW_Offset) / GasConstant;
}
-/*
- * Calculate the Gibbs free energy in mks units of
- * J kmol-1 K-1.
- */
void WaterSSTP::getGibbs_RT(doublereal* grt) const
{
double T = temperature();
@@ -273,10 +247,6 @@ void WaterSSTP::getGibbs_RT(doublereal* grt) const
}
}
-/*
- * Calculate the Gibbs free energy in mks units of
- * J kmol-1 K-1.
- */
void WaterSSTP::getStandardChemPotentials(doublereal* gss) const
{
double T = temperature();
@@ -293,19 +263,12 @@ void WaterSSTP::getCp_R(doublereal* cpr) const
cpr[0] = cp / GasConstant;
}
-/*
- * Calculate the constant volume heat capacity
- * in mks units of J kmol-1 K-1
- */
doublereal WaterSSTP::cv_mole() const
{
doublereal cv = m_sub->cv();
return cv;
}
-// @name Thermodynamic Values for the Species Reference State
-
-
void WaterSSTP::getEnthalpy_RT_ref(doublereal* hrt) const
{
doublereal p = pressure();
@@ -416,11 +379,6 @@ void WaterSSTP::getStandardVolumes_ref(doublereal* vol) const
dd = m_sub->density(T, p, waterState, dens);
}
-/*
- * Calculate the pressure (Pascals), given the temperature and density
- * Temperature: kelvin
- * rho: density in kg m-3
- */
doublereal WaterSSTP::pressure() const
{
doublereal p = m_sub->pressure();
@@ -444,30 +402,12 @@ setPressure(doublereal p)
setDensity(dd);
}
-// Returns the isothermal compressibility. Units: 1/Pa.
-/*
- * The isothermal compressibility is defined as
- * \f[
- * \kappa_T = -\frac{1}{v}\left(\frac{\partial v}{\partial P}\right)_T
- * \f]
- * or
- * \f[
- * \kappa_T = \frac{1}{\rho}\left(\frac{\partial \rho}{\partial P}\right)_T
- * \f]
- */
doublereal WaterSSTP::isothermalCompressibility() const
{
doublereal val = m_sub->isothermalCompressibility();
return val;
}
-// Return the volumetric thermal expansion coefficient. Units: 1/K.
-/*
- * The thermal expansion coefficient is defined as
- * \f[
- * \beta = \frac{1}{v}\left(\frac{\partial v}{\partial T}\right)_P
- * \f]
- */
doublereal WaterSSTP::thermalExpansionCoeff() const
{
doublereal val = m_sub->coeffThermExp();
@@ -492,26 +432,21 @@ doublereal WaterSSTP::dthermalExpansionCoeffdT() const
return val;
}
-
-// critical temperature
doublereal WaterSSTP::critTemperature() const
{
return m_sub->Tcrit();
}
-// critical pressure
doublereal WaterSSTP::critPressure() const
{
return m_sub->Pcrit();
}
-// critical density
doublereal WaterSSTP::critDensity() const
{
return m_sub->Rhocrit();
}
-
void WaterSSTP::setTemperature(const doublereal temp)
{
Phase::setTemperature(temp);
@@ -526,7 +461,6 @@ void WaterSSTP::setDensity(const doublereal dens)
m_sub->setState_TR(temp, dens);
}
-// saturation pressure
doublereal WaterSSTP::satPressure(doublereal t) const
{
doublereal tsave = temperature();
@@ -536,7 +470,6 @@ doublereal WaterSSTP::satPressure(doublereal t) const
return pp;
}
-// Return the fraction of vapor at the current conditions
doublereal WaterSSTP::vaporFraction() const
{
if (temperature() >= m_sub->Tcrit()) {
@@ -552,5 +485,4 @@ doublereal WaterSSTP::vaporFraction() const
return 0.0;
}
-
}