Updated documentation for Phase/ThermoPhase class heirarchy
Removed some redundant documentation and fixed references to the no longer existent Constituent and State classes.
This commit is contained in:
parent
bdac195cb0
commit
ba8acd41e0
6 changed files with 20 additions and 94 deletions
|
|
@ -1,87 +0,0 @@
|
|||
/**
|
||||
* @defgroup phases Models of Phases of Matter
|
||||
*
|
||||
* These classes are used to represent the composition and state of a
|
||||
* single phase of matter.
|
||||
* Together these classes form the basis for describing the species and
|
||||
* element compositions of a phase as well as the stoichiometry
|
||||
* of each species, and for describing the current state of the
|
||||
* phase. They do not in themselves contain Thermodynamic equation of
|
||||
* state information. However, they do comprise all of the necessary
|
||||
* background functionality to support thermodynamic calculations, and the
|
||||
* class ThermoPhase inherits from the class Phase (see \ref thermoprops).
|
||||
*
|
||||
* Class Elements manages the elements that are part of a
|
||||
* chemistry specification for a phase. This class may support calculations
|
||||
* employing Multiple phases. In this case, a single Elements object may
|
||||
* be shared by more than one Constituents class. Reactions between
|
||||
* the phases may then be described using stoichiometry base on the
|
||||
* same Elements class object.
|
||||
*
|
||||
* The member functions of class %Elements return information about
|
||||
* the elements described in a particular instantiation of the
|
||||
* class.
|
||||
*
|
||||
* Class %Constituents is designed to provide information
|
||||
* about the elements and species in a phase - names, index
|
||||
* numbers (location in arrays), atomic or molecular weights,
|
||||
* etc. No computations are performed by the methods of this
|
||||
* class. The set of elements must include all those that compose
|
||||
* the species, but may include additional elements.
|
||||
*
|
||||
* %Constituents contains a pointer to the Elements object, and
|
||||
* it contains wrapper functions for all of the functionality
|
||||
* of the %Elements object, i.e., atomic weights, number and identity
|
||||
* of the elements. %Elements may be added to a phase by using
|
||||
* the function Constituents::addUniqueElement(). The %Elements
|
||||
* object may be shared amongst different Phases.
|
||||
*
|
||||
* %Constituents also contains utilities retrieving the index of
|
||||
* a species in the phase given its name, Constituents::speciesIndex().
|
||||
*
|
||||
* Class State manages the independent variables of temperature,
|
||||
* mass density, and species mass/mole fraction that define the
|
||||
* thermodynamic state.
|
||||
*
|
||||
* Class %State stores just enough information about a
|
||||
* multicomponent solution to specify its intensive thermodynamic
|
||||
* state. It stores values for the temperature, mass density, and
|
||||
* an array of species mass fractions. It also stores an array of
|
||||
* species molecular weights, which are used to convert between
|
||||
* mole and mass representations of the composition. These are the
|
||||
* \e only properties of the species that class %State knows about.
|
||||
*
|
||||
* Class %State is not usually used directly in application
|
||||
* programs. Its primary use is as a base class for class
|
||||
* Phase. Class %State has no virtual methods, and none of its
|
||||
* methods are meant to be overloaded. However, this is one
|
||||
* exception. If the phase is incompressible, then the density
|
||||
* must be replaced by the pressure as the independent variable. In
|
||||
* this case, functions such as State::setMassFractions() within
|
||||
* the class %State must actually now calculate the density (at
|
||||
* constant <I>T</I> and <I>P</I>) instead of leaving it alone as
|
||||
* befits an independent variable. Therefore, these types of
|
||||
* functions are virtual functions and need to be overloaded for
|
||||
* incompressible phases. Note, for nearly incompressible phases
|
||||
* (or phases which utilize standard states based on a <I>T</I> and
|
||||
* <I>P</I>) this change in independent variables may be
|
||||
* advantageous as well, and these functions in %State need to
|
||||
* overload as well so that the stored density within State
|
||||
* doesn't become out of date.
|
||||
*
|
||||
* Class Phase derives from both clases
|
||||
* Constituents and State. In addition to the methods of those two
|
||||
* classes, it implements methods that allow referencing a species
|
||||
* by name. And, it contains a lot of utility functions that will
|
||||
* set the %State of the phase in its entirety, by first setting
|
||||
* the composition, then the temperature and then the density.
|
||||
* An example of this is the function,
|
||||
* Phase::setState_TRY(doublereal t, doublereal dens, const doublereal* y).
|
||||
*
|
||||
* Class Phase contains method for saving and restoring the
|
||||
* full internal states of each phase. These are called Phase::saveState()
|
||||
* and Phase::restoreState(). These functions operate on a state
|
||||
* vector, which is in general of length (2 + nSpecies()). The first
|
||||
* two entries of the state vector is temperature and density.
|
||||
*
|
||||
*/
|
||||
|
|
@ -243,21 +243,21 @@
|
|||
* </TD>
|
||||
* </TR>
|
||||
* <TR>
|
||||
* <TD> \link State::setConcentrations() setConcentrations()\endlink </TD>
|
||||
* <TD> \link Phase::setConcentrations() setConcentrations()\endlink </TD>
|
||||
* <TD> Set the concentrations of all the species in the
|
||||
* phase. Note this implicitly specifies the pressure and
|
||||
* density of the phase. The temperature is assumed fixed.
|
||||
* </TD>
|
||||
* </TR>
|
||||
* <TR>
|
||||
* <TD> \link State::setDensity() setDensity()\endlink </TD>
|
||||
* <TD> \link Phase::setDensity() setDensity()\endlink </TD>
|
||||
* <TD> Set the total density of the phase. The temperature and
|
||||
* mole fractions are assumed fixed. Note this implicitly
|
||||
* sets the pressure of the phase.
|
||||
* </TD>
|
||||
* </TR>
|
||||
* <TR>
|
||||
* <TD> \link State::setTemperature() setTemperature()\endlink </TD>
|
||||
* <TD> \link Phase::setTemperature() setTemperature()\endlink </TD>
|
||||
* <TD> Set the temperature of the phase. The density and
|
||||
* the mole fractions of the phase are fixed.
|
||||
* </TD>
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@ class PDSS_Water;
|
|||
* of pressure. The standard state gibbs free energy is obtained
|
||||
* from the enthalpy and entropy functions.
|
||||
*
|
||||
* The vector Constituents::m_speciesSize[] is used to hold the
|
||||
* The vector Phase::m_speciesSize[] is used to hold the
|
||||
* base values of species sizes. These are defined as the
|
||||
* molar volumes of species at infinite dilution at 300 K and 1 atm
|
||||
* of water. m_speciesSize are calculated during the initialization of the
|
||||
|
|
|
|||
|
|
@ -151,7 +151,7 @@ class PDSS_Water;
|
|||
* of pressure. The solute standard state gibbs free energy is obtained
|
||||
* from the enthalpy and entropy functions.
|
||||
*
|
||||
* The vector Constituents::m_speciesSize[] is used to hold the
|
||||
* The vector Phase::m_speciesSize[] is used to hold the
|
||||
* base values of species sizes. These are defined as the
|
||||
* molar volumes of species at infinite dilution at 300 K and 1 atm
|
||||
* of water. m_speciesSize are calculated during the initialization of the
|
||||
|
|
|
|||
|
|
@ -31,10 +31,10 @@ namespace Cantera
|
|||
* The independent unknowns are density, mass fraction, and temperature.
|
||||
* the #setPressure() function will calculate the density consistent with
|
||||
* the current mass fraction vector and temperature and the desired pressure,
|
||||
* and then set the density in the derived State object.
|
||||
* and then set the density.
|
||||
*
|
||||
* <HR>
|
||||
* <H2> Specification of Species Standard %State Properties </H2>
|
||||
* <H2> Specification of Species Standard State Properties </H2>
|
||||
* <HR>
|
||||
*
|
||||
* It is assumed that the reference state thermodynamics may be
|
||||
|
|
|
|||
|
|
@ -15,6 +15,18 @@ namespace Cantera
|
|||
{
|
||||
class SpeciesThermo;
|
||||
|
||||
/**
|
||||
* @defgroup phases Models of Phases of Matter
|
||||
*
|
||||
* These classes are used to represent the composition and state of a single
|
||||
* phase of matter. Together these classes form the basis for describing the
|
||||
* species and element compositions of a phase as well as the stoichiometry
|
||||
* of each species, and for describing the current state of the phase. They do
|
||||
* not in themselves contain Thermodynamic equation of state information.
|
||||
* However, they do comprise all of the necessary background functionality to
|
||||
* support thermodynamic calculations (see \ref thermoprops).
|
||||
*/
|
||||
|
||||
//! Exception class to indicate a fixed set of elements.
|
||||
/*!
|
||||
* This class is used to warn the user when the number of elements
|
||||
|
|
@ -31,6 +43,7 @@ public:
|
|||
|
||||
//! Base class for phases of matter
|
||||
/*!
|
||||
*
|
||||
* Class Phase manages the species and elements in a phase, as well as the
|
||||
* independent variables of temperature, mass density, and species mass/mole
|
||||
* fraction that define the thermodynamic state.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue