Cantera
2.0
|
Mixing rule using logarithms of the mole fractions. More...
#include <LiquidTranInteraction.h>
Public Member Functions | |
LTI_Log_MoleFracs (TransportPropertyType tp_ind=TP_UNKNOWN) | |
virtual | ~LTI_Log_MoleFracs () |
Copy constructor. | |
doublereal | getMixTransProp (doublereal *valueSpecies, doublereal *weightSpecies=0) |
Return the mixture transport property value. | |
doublereal | getMixTransProp (std::vector< LTPspecies * > LTPptrs) |
void | getMatrixTransProp (DenseMatrix &mat, doublereal *speciesValues=0) |
Return the matrix of binary interaction parameters. | |
virtual void | init (const XML_Node &compModelNode=0, thermo_t *thermo=0) |
initialize LiquidTranInteraction objects with thermo and XML node | |
virtual void | setParameters (LiquidTransportParams &trParam) |
Protected Attributes | |
LiquidTranMixingModel | m_model |
Model for species interaction effects Takes enum LiquidTranMixingModel. | |
TransportPropertyType | m_property |
enum indicating what property this is (i.e viscosity) | |
thermo_t * | m_thermo |
pointer to thermo object to get current temperature | |
std::vector< DenseMatrix * > | m_Aij |
Matrix of interaction coefficients for polynomial in molefraction*weight of speciesA (no temperature dependence, dimensionless) | |
std::vector< DenseMatrix * > | m_Bij |
Matrix of interaction coefficients for polynomial in molefraction*weight of speciesA (linear temperature dependence, units 1/K) | |
DenseMatrix | m_Eij |
Matrix of interactions (in energy units, 1/RT temperature dependence) | |
std::vector< DenseMatrix * > | m_Hij |
Matrix of interaction coefficients for polynomial in molefraction*weight of speciesA (in energy units, 1/RT temperature dependence) | |
std::vector< DenseMatrix * > | m_Sij |
Matrix of interaction coefficients for polynomial in molefraction*weight of speciesA (in entropy units, divided by R) | |
DenseMatrix | m_Dij |
Matrix of interactions. | |
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
\[ \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 ) \]
.
These additional interaction terms multiply the mixture property by
\[ \exp( \sum_{i} \sum_{j} X_i X_j ( S_{i,j} + E_{i,j} / T ) ) \]
so that the self-interaction terms \( S_{i,j} \) and \( E_{i,j} \) 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
* <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> *
Definition at line 370 of file LiquidTranInteraction.h.
|
inlinevirtual |
|
virtual |
Return the mixture transport property value.
Takes the separate species transport properties as input (this method does not know what transport property it is at this point.
Reimplemented from LiquidTranInteraction.
Definition at line 470 of file LiquidTranInteraction.cpp.
References Phase::getMoleFractions(), LiquidTranInteraction::m_Hij, LiquidTranInteraction::m_Sij, LiquidTranInteraction::m_thermo, Phase::nSpecies(), and Phase::temperature().
|
inlinevirtual |
Return the matrix of binary interaction parameters.
Takes the proper mixing rule for the binary interaction parameters and calculates them: Not implemented for this mixing rule.
Reimplemented from LiquidTranInteraction.
Definition at line 402 of file LiquidTranInteraction.h.
References LiquidTranInteraction::m_Eij.
initialize LiquidTranInteraction objects with thermo and XML node
compModelNode | <compositionDependence>XML node |
thermo | Pointer to thermo object |
Definition at line 86 of file LiquidTranInteraction.cpp.
References XML_Node::attrib(), XML_Node::child(), Cantera::GasConstant, ctml::getFloat(), ctml::getFloatArray(), XML_Node::hasChild(), Cantera::lowercase(), LiquidTranInteraction::m_Aij, LiquidTranInteraction::m_Bij, LiquidTranInteraction::m_Dij, LiquidTranInteraction::m_Eij, LiquidTranInteraction::m_Hij, LiquidTranInteraction::m_Sij, LiquidTranInteraction::m_thermo, XML_Node::name(), XML_Node::nChildren(), Cantera::npos, Phase::nSpecies(), DenseMatrix::resize(), and Phase::speciesIndex().
Referenced by TransportFactory::newLTI().
|
protectedinherited |
Model for species interaction effects Takes enum LiquidTranMixingModel.
Definition at line 159 of file LiquidTranInteraction.h.
Referenced by LiquidTranInteraction::operator=().
|
protectedinherited |
enum indicating what property this is (i.e viscosity)
Definition at line 162 of file LiquidTranInteraction.h.
Referenced by LiquidTranInteraction::operator=().
|
protectedinherited |
pointer to thermo object to get current temperature
Definition at line 165 of file LiquidTranInteraction.h.
Referenced by LTI_Pairwise_Interaction::getMatrixTransProp(), LTI_StefanMaxwell_PPN::getMatrixTransProp(), LTI_MoleFracs::getMixTransProp(), LTI_MassFracs::getMixTransProp(), LTI_Log_MoleFracs::getMixTransProp(), LTI_Pairwise_Interaction::getMixTransProp(), LTI_StefanMaxwell_PPN::getMixTransProp(), LTI_MoleFracs_ExpT::getMixTransProp(), LiquidTranInteraction::init(), and LiquidTranInteraction::operator=().
|
protectedinherited |
Matrix of interaction coefficients for polynomial in molefraction*weight of speciesA (no temperature dependence, dimensionless)
Definition at line 171 of file LiquidTranInteraction.h.
Referenced by LTI_MoleFracs::getMatrixTransProp(), LTI_MassFracs::getMatrixTransProp(), LTI_MoleFracs_ExpT::getMatrixTransProp(), LTI_MoleFracs::getMixTransProp(), LTI_MassFracs::getMixTransProp(), LTI_MoleFracs_ExpT::getMixTransProp(), LiquidTranInteraction::init(), LiquidTranInteraction::operator=(), and LiquidTranInteraction::~LiquidTranInteraction().
|
protectedinherited |
Matrix of interaction coefficients for polynomial in molefraction*weight of speciesA (linear temperature dependence, units 1/K)
Definition at line 175 of file LiquidTranInteraction.h.
Referenced by LTI_MoleFracs::getMixTransProp(), LTI_MassFracs::getMixTransProp(), LTI_MoleFracs_ExpT::getMixTransProp(), LiquidTranInteraction::init(), LiquidTranInteraction::operator=(), and LiquidTranInteraction::~LiquidTranInteraction().
|
protectedinherited |
Matrix of interactions (in energy units, 1/RT temperature dependence)
Definition at line 178 of file LiquidTranInteraction.h.
Referenced by LTI_Log_MoleFracs::getMatrixTransProp(), LTI_Pairwise_Interaction::getMatrixTransProp(), LiquidTranInteraction::init(), and LiquidTranInteraction::operator=().
|
protectedinherited |
Matrix of interaction coefficients for polynomial in molefraction*weight of speciesA (in energy units, 1/RT temperature dependence)
Definition at line 182 of file LiquidTranInteraction.h.
Referenced by LTI_Log_MoleFracs::getMixTransProp(), LiquidTranInteraction::init(), LiquidTranInteraction::operator=(), and LiquidTranInteraction::~LiquidTranInteraction().
|
protectedinherited |
Matrix of interaction coefficients for polynomial in molefraction*weight of speciesA (in entropy units, divided by R)
Definition at line 186 of file LiquidTranInteraction.h.
Referenced by LTI_Log_MoleFracs::getMixTransProp(), LiquidTranInteraction::init(), LiquidTranInteraction::operator=(), and LiquidTranInteraction::~LiquidTranInteraction().
|
protectedinherited |
Matrix of interactions.
Definition at line 189 of file LiquidTranInteraction.h.
Referenced by LTI_Pairwise_Interaction::getMatrixTransProp(), LiquidTranInteraction::init(), and LiquidTranInteraction::operator=().