Updating Doxygen comments

This commit is contained in:
John Hewson 2009-12-18 21:28:25 +00:00
parent 39ea7fdeab
commit b4032c9d9a
3 changed files with 213 additions and 56 deletions

View file

@ -92,8 +92,9 @@ namespace Cantera {
//! Construct an LTPspecies object for a liquid tranport property
//! expressed as a constant value.
/** The transport property is constructed from the XML node, propNode,
* that is a child of the <transport> node and specifies a type of
/** The transport property is constructed from the XML node,
* \verbatim <propNode>, \endverbatim that is a child of the
* \verbatim <transport> \endverbatim node and specifies a type of
* transport property (like viscosity)
*/
LTPspecies_Const::LTPspecies_Const( const XML_Node &propNode,
@ -139,9 +140,10 @@ namespace Cantera {
///////////////////////////////////////////////////////////////
//! Construct an LTPspecies object for a liquid tranport property
//! expressed as a constant value.
/** The transport property is constructed from the XML node, propNode,
* that is a child of the <transport> node and specifies a type of
//! expressed in extended Arrhenius form.
/** The transport property is constructed from the XML node,
* \verbatim <propNode>, \endverbatim that is a child of the
* \verbatim <transport> \endverbatim node and specifies a type of
* transport property (like viscosity)
*/
LTPspecies_Arrhenius::LTPspecies_Arrhenius( const XML_Node &propNode,
@ -190,7 +192,7 @@ namespace Cantera {
return *this;
}
//! Return the value for this transport property evaluated
//! Return the pure species value for this transport property evaluated
//! from the Arrhenius expression
/**
* In general the Arrhenius expression is
@ -207,6 +209,9 @@ namespace Cantera {
* \f[
* \mu = A T^n \exp( + E / R T ).
* \f]
*
* Any temperature and composition dependence will be
* adjusted internally according to the information provided.
*/
doublereal LTPspecies_Arrhenius::getSpeciesTransProp( ) {
@ -236,9 +241,10 @@ namespace Cantera {
///////////////////////////////////////////////////////////////
//! Construct an LTPspecies object for a liquid tranport property
//! expressed as a constant value.
/** The transport property is constructed from the XML node, propNode,
* that is a child of the <transport> node and specifies a type of
//! expressed as a polynomial in temperature.
/** The transport property is constructed from the XML node,
* \verbatim <propNode>, \endverbatim that is a child of the
* \verbatim <transport> \endverbatim node and specifies a type of
* transport property (like viscosity)
*/
LTPspecies_Poly::LTPspecies_Poly( const XML_Node &propNode,

View file

@ -70,23 +70,22 @@ namespace Cantera {
//! specific liquid-phase species.
/**
* Subclasses handle different means of specifying transport properties
* like constant, Arrhenius or polynomial fits. In its current state,
* like constant, %Arrhenius or polynomial fits. In its current state,
* it is primarily suitable for specifying temperature dependence, but
* the adjustCoeffsForComposition() method can be implemented to
* adjust for composition dependence.
* Mixing rules for computing mixture transport properties are handled
* separately in
* separately in LiquidTranInteraction subclasses.
*/
class LTPspecies {
public:
//! Construct an LTPspecies object for a liquid tranport property.
/**
* The transport property is constructed from the
* XML node, propNode, that is a child of the
/** The transport property is constructed from the XML node,
* \verbatim <propNode>, \endverbatim that is a child of the
* \verbatim <transport> \endverbatim node and specifies a type of
* transport property (like viscosity).
* transport property (like viscosity)
*/
LTPspecies( const XML_Node &propNode = 0,
std::string name = "-",
@ -115,7 +114,7 @@ namespace Cantera {
* The pure species transport property (i.e. pure species viscosity)
* is returned. Any temperature and composition dependence will be
* adjusted internally according to the information provided by the
* thermo object.
* subclass object.
*/
virtual doublereal getSpeciesTransProp( ) { return 0.0; }
@ -165,8 +164,14 @@ namespace Cantera {
//! Class LiquidTransportData holds transport parameters for a
//! specific liquid-phase species.
/**
* A LiquidTransportData object is created for each species.
*
* This class is mainly used to collect transport properties
* from the parse phase and transfer them to the Transport class.
* from the parse phase in the TranportFactory and transfer
* them to the Transport class. Transport properties are
* expressed by subclasses of LTPspecies.
* One may need to be careful about deleting pointers to LTPspecies
* objects created in the TransportFactory.
*/
class LiquidTransportData {
@ -176,12 +181,14 @@ namespace Cantera {
speciesName("-")
{
}
//! copy constructor
//! Copy constructor
LiquidTransportData( const LiquidTransportData &right ) ;
//! Assignment operator
LiquidTransportData& operator=(const LiquidTransportData& right );
//! A LiquidTransportData object is instantiated for each species.
//! This is the species name for which this object is instantiated.
std::string speciesName;
//! Model type for the hydroradius
@ -206,6 +213,22 @@ namespace Cantera {
//! Class LTPspecies_Const holds transport parameters for a
//! specific liquid-phase species when the transport property
//! is just a constant value.
/**
* As an example of the input required for LTPspecies_Const
* consider the following XML fragment
*
* \verbatim
* <species>
* <!-- thermodynamic properties -->
* <transport>
* <hydrodynamicRadius model="Constant" units="A">
* 1.000
* </hydrodynamicRadius>
* <!-- other tranport properties -->
* </transport>
* </species>
* \endverbatim
*/
class LTPspecies_Const : public LTPspecies{
public:
@ -227,8 +250,7 @@ namespace Cantera {
/*!
* The pure species transport property (i.e. pure species viscosity)
* is returned. Any temperature and composition dependence will be
* adjusted internally according to the information provided by the
* thermo object.
* adjusted internally according to the information provided.
*/
doublereal getSpeciesTransProp( );
@ -246,7 +268,26 @@ namespace Cantera {
//! Class LTPspecies_Arrhenius holds transport parameters for a
//! specific liquid-phase species when the transport property
//! is just a constant value.
//! is expressed in Arrhenius form.
/**
* As an example of the input required for LTPspecies_Arrhenius
* consider the following XML fragment
*
* \verbatim
* <species>
* <!-- thermodynamic properties -->
* <transport>
* <viscosity model="Arrhenius">
* <!-- Janz, JPCRD, 17, supplement 2, 1988 -->
* <A>6.578e-5</A>
* <b>0.0</b>
* <E units="J/kmol">23788.e3</E>
* </viscosity>
* <!-- other tranport properties -->
* </transport>
* </species>
* \endverbatim
*/
class LTPspecies_Arrhenius : public LTPspecies{
public:
@ -264,12 +305,26 @@ namespace Cantera {
virtual ~LTPspecies_Arrhenius( ) { }
//! Returns the pure species tranport property
/*!
* The pure species transport property (i.e. pure species viscosity)
* is returned. Any temperature and composition dependence will be
* adjusted internally according to the information provided by the
* thermo object.
//! Return the pure species value for this transport property evaluated
//! from the Arrhenius expression
/**
* In general the Arrhenius expression is
*
* \f[
* \mu = A T^n \exp( - E / R T ).
* \f]
*
* Note that for viscosity, the convention is such that
* a positive activation energy corresponds to the typical
* case of a positive argument to the exponential so that
* the Arrhenius expression is
*
* \f[
* \mu = A T^n \exp( + E / R T ).
* \f]
*
* Any temperature and composition dependence will be
* adjusted internally according to the information provided.
*/
doublereal getSpeciesTransProp( );
@ -299,7 +354,23 @@ namespace Cantera {
//! Class LTPspecies_Poly holds transport parameters for a
//! specific liquid-phase species when the transport property
//! is just a constant value.
//! is expressed as a polynomial in temperature.
/**
* As an example of the input required for LTPspecies_Poly
* consider the following XML fragment
*
* \verbatim
* <species>
* <!-- thermodynamic properties -->
* <transport>
* <thermalConductivity model="coeffs">
* <floatArray size="2"> 0.6, -15.0e-5 </floatArray>
* </thermalConductivity>
* <!-- other tranport properties -->
* </transport>
* </species>
* \endverbatim
*/
class LTPspecies_Poly : public LTPspecies{
public:
@ -321,8 +392,7 @@ namespace Cantera {
/*!
* The pure species transport property (i.e. pure species viscosity)
* is returned. Any temperature and composition dependence will be
* adjusted internally according to the information provided by the
* thermo object.
* adjusted internally according to the information provided.
*/
doublereal getSpeciesTransProp( );

View file

@ -36,12 +36,12 @@ namespace Cantera {
//! Composition dependence type for liquid mixture transport properties
/*!
* Types of temperature dependencies:
* 0 - Mixture calculations with this property are not allowed
* 1 - Use solvent (species 0) properties
* 2 - Properties weighted linearly by mole fractions
* 3 - Properties weighted linearly by mass fractions
* 4 - Properties weighted logarithmically by mole fractions (interaction energy weighting)
* 5 - Interactions given pairwise between each possible species (i.e. D_ij)
* - 0 - Mixture calculations with this property are not allowed
* - 1 - Use solvent (species 0) properties
* - 2 - Properties weighted linearly by mole fractions
* - 3 - Properties weighted linearly by mass fractions
* - 4 - Properties weighted logarithmically by mole fractions (interaction energy weighting)
* - 5 - Interactions given pairwise between each possible species (i.e. D_ij)
*
* \verbatim
* <transport model="Liquid">
@ -96,6 +96,26 @@ namespace Cantera {
};
//! Base class to handle transport property evaluation in a mixture.
/**
* In a mixture, the mixture transport properties will generally depend on
* the contributions of each of the pure species transport properties.
* Many composition dependencies are possible. This class,
* LiquidTranInteraction, is designed to be a base class for the
* implementation of various models for the mixing of pure species
* transport properties.
*
* There are two very broad types of transport properties to consider.
* First, there are properties for which a mixture value can be
* obtained through some mixing rule. These are obtained using the
* method getMixTransProp(). Viscosity is typical of this.
* Second there are properties for which a matrix of properties may
* exist. This matrix of properties is obtained from the method
* getMatrixTransProp(). Diffusion coefficients are of this type.
* Subclasses should implement the appropriate one or both of
* these methods.
*
*/
class LiquidTranInteraction {
public:
@ -192,25 +212,6 @@ namespace Cantera {
//! Takes enum LiquidTranMixingModel
LiquidTranMixingModel model_viscosity;
//! Energies of molecular interaction associated with viscosity.
/**
* These multiply the mixture viscosity by
* \f[ \exp( \sum_{i} \sum_{j} X_i X_j ( S_{i,j} + E_{i,j} / T ) ) \f].
*
* The overall formula for the logarithm of the mixture viscosity is
*
* \f[ \ln \eta_{mix} = \sum_i X_i \ln \eta_i
* + \sum_i \sum_j X_i X_j ( S_{i,j} + E_{i,j} / T ) \f].
*/
DenseMatrix visc_Eij;
//! Entropies of molecular interaction associated with viscosity.
DenseMatrix visc_Sij;
//! Model for species interaction effects for thermal conductivity
//! Takes enum LiquidTranMixingModel
LiquidTranMixingModel model_thermalCond;
//! Interaction associated with linear weighting of
//! thermal conductivity.
/**
@ -286,7 +287,15 @@ namespace Cantera {
};
//! Simple mole fraction weighting of transport properties
/**
* This model weights the transport property by the mole
* fractions.
* The overall formula for the mixture viscosity is
*
* \f[ \eta_{mix} = \sum_i X_i \eta_i
* + \sum_i \sum_j X_i X_j A_{i,j} \f].
*/
class LTI_MoleFracs : public LiquidTranInteraction {
public:
@ -321,6 +330,15 @@ namespace Cantera {
};
//! Simple mass fraction weighting of transport properties
/**
* This model weights the transport property by the mass
* fractions.
* The overall formula for the mixture viscosity is
*
* \f[ \eta_{mix} = \sum_i Y_i \eta_i
* + \sum_i \sum_j Y_i Y_j A_{i,j} \f].
*/
class LTI_MassFracs : public LiquidTranInteraction {
public:
@ -355,6 +373,46 @@ namespace Cantera {
};
//! Mixing rule using logarithms of the mole fractions
/**
* This model is based on the idea that liquid molecules are
* generally interacting with some energy and entropy of interaction.
* For transport properties that depend on these energies of
* interaction, the mixture transport property can be written
* in terms of its logarithm
*
* \f[ \ln \eta_{mix} = \sum_i X_i \ln \eta_i
* + \sum_i \sum_j X_i X_j ( S_{i,j} + E_{i,j} / T )
* \f].
*
* These additional interaction terms multiply the mixture property by
* \f[ \exp( \sum_{i} \sum_{j} X_i X_j ( S_{i,j} + E_{i,j} / T ) ) \f]
* so that the self-interaction terms \f$ S_{i,j} \f$ and
* \f$ E_{i,j} \f$ should be zero.
*
* Note that the energies and entropies of interaction should be
* a function of the composition themselves, but this is not yet
* implemented. (We might follow the input of Margules model
* thermodynamic data for the purpose of implementing this.)
*
* Sample input for this method is
* \verbatim
* <transport model="Liquid">
* <viscosity>
* <compositionDependence model="logMoleFractions">
* <interaction speciesA="Li+" speciesB="K+">
* <!--
* interactions are from speciesA = LiCl(L)
* and speciesB = KCl(L).
* -->
* <Eij units="J/kmol"> -1.0e3 </Eij>
* <Sij units="J/kmol/K"> 80.0e-5 </Sij>
* </interaction>
* </compositionDependence>
* </viscosity>
* </transport>
* \endverbatim
*/
class LTI_Log_MoleFracs : public LiquidTranInteraction {
public:
@ -389,6 +447,29 @@ namespace Cantera {
};
//! Transport properties that act like pairwise interactions
//! as in binary diffusion coefficients.
/**
* This class holds parameters for transport properties expressed
* as a matrix of pairwise interaction parameters.
* Input can be provided for constant or Arrhenius forms of the
* separate parameters.
*
* Sample input for this method is
* \verbatim
* <transport model="Liquid">
* <speciesDiffusivity>
* <compositionDependence model="pairwiseInteraction">
* <interaction speciesA="LiCl(L)" speciesB="KCl(L)">
* <Dij units="m/s"> 1.0e-8 </Dij>
* <Eij units="J/kmol"> 24.0e6 </Eij>
* </interaction>
* </compositionDependence>
* </speciesDiffusivity>
* </transport>
* \endverbatim
*
*/
class LTI_Pairwise_Interaction : public LiquidTranInteraction {
public: