Updating Doxygen comments
This commit is contained in:
parent
39ea7fdeab
commit
b4032c9d9a
3 changed files with 213 additions and 56 deletions
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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( );
|
||||
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue