Doxygen update

This commit is contained in:
Harry Moffat 2010-08-09 15:07:44 +00:00
parent 1f5ade8488
commit fc101d4049
4 changed files with 134 additions and 78 deletions

View file

@ -384,6 +384,8 @@ namespace Cantera {
* \bar h_k(T,P) = h^o_k(T,P) - R T^2 \frac{d \ln(\gamma_k)}{dT}
* \f]
*
* @param hbar Output vector of species partial molar enthalpies.
* Length: m_kk. Units: J/kmol
*/
virtual void getPartialMolarEnthalpies(doublereal* hbar) const;
@ -401,6 +403,10 @@ namespace Cantera {
* - R \ln( \gamma_k X_k)
* - R T \frac{d \ln(\gamma_k) }{dT}
* \f]
*
*
* @param sbar Output vector of species partial molar entropies.
* Length: m_kk. Units: J/kmol/K
*/
virtual void getPartialMolarEntropies(doublereal* sbar) const;

View file

@ -24,10 +24,8 @@
using namespace std;
namespace Cantera {
/**
* Basic list of constructors and duplicators
*/
//====================================================================================================================
PDSS_IonsFromNeutral::PDSS_IonsFromNeutral(VPStandardStateTP *tp, int spindex) :
PDSS(tp, spindex),
neutralMoleculePhase_(0),
@ -128,15 +126,27 @@ namespace Cantera {
neutralMoleculePhase_ = ionPhase->neutralMoleculePhase_;
}
//====================================================================================================================
/**
* constructPDSSXML:
// Initialization of a PDSS object using an xml tree
/*
* This routine is a driver for the initialization of the
* object.
*
* basic logic:
* initThermo() (cascade)
* getStuff from species Part of XML file
* initThermoXML(phaseNode) (cascade)
*
* @param vptp_ptr Pointer to the Variable pressure %ThermoPhase object
* This object must have already been malloced.
*
* Initialization of a PDSS_IonsFromNeutral object using an
* xml file.
* @param id Optional parameter identifying the name of the
* phase. If none is given, the first XML
* phase element will be used.
* @param spindex Species index within the phase
*
* @param phaseNode Reference to the phase Information for the phase
* that owns this species.
*
* @param id Optional parameter identifying the name of the
* phase. If none is given, the first XML
* phase element will be used.
*/
void PDSS_IonsFromNeutral::constructPDSSXML(VPStandardStateTP *tp, int spindex,
const XML_Node& speciesNode,
@ -195,7 +205,25 @@ namespace Cantera {
}
//====================================================================================================================
// Initialization of a PDSS object using an
// input XML file.
/*
*
* This routine is a precursor to constructPDSSXML(XML_Node*)
* routine, which does most of the work.
*
* @param vptp_ptr Pointer to the Variable pressure %ThermoPhase object
* This object must have already been malloced.
*
* @param spindex Species index within the phase
*
* @param inputFile XML file containing the description of the
* phase
*
* @param id Optional parameter identifying the name of the
* phase. If none is given, the first XML
* phase element will be used.
*/
void PDSS_IonsFromNeutral::constructPDSSFile(VPStandardStateTP *tp, int spindex,
std::string inputFile, std::string id) {
@ -233,11 +261,11 @@ namespace Cantera {
constructPDSSXML(tp, spindex, *s, *fxml_phase, id);
delete fxml;
}
//=======================================================================================================
void PDSS_IonsFromNeutral::initThermoXML(const XML_Node& phaseNode, std::string &id) {
PDSS::initThermoXML(phaseNode, id);
}
//=======================================================================================================
void PDSS_IonsFromNeutral::initThermo() {
PDSS::initThermo();
SpeciesThermo &sp = m_tp->speciesThermo();
@ -245,8 +273,8 @@ namespace Cantera {
m_minTemp = m_spthermo->minTemp(m_spindex);
m_maxTemp = m_spthermo->maxTemp(m_spindex);
}
/**
//=======================================================================================================
/*
* Return the molar enthalpy in units of J kmol-1
*/
doublereal
@ -255,7 +283,7 @@ namespace Cantera {
doublereal RT = GasConstant * m_temp;
return (val * RT);
}
//=======================================================================================================
doublereal
PDSS_IonsFromNeutral::enthalpy_RT() const {
neutralMoleculePhase_->getEnthalpy_RT(DATA_PTR(tmpNM));
@ -266,9 +294,8 @@ namespace Cantera {
}
return val;
}
/**
//=======================================================================================================
/*
* Calculate the internal energy in mks units of
* J kmol-1
*/
@ -278,8 +305,8 @@ namespace Cantera {
doublereal RT = GasConstant * m_temp;
return (val * RT);
}
/**
//=======================================================================================================
/*
* Calculate the entropy in mks units of
* J kmol-1 K-1
*/
@ -288,7 +315,7 @@ namespace Cantera {
doublereal val = entropy_R();
return (val * GasConstant);
}
//=======================================================================================================
doublereal
PDSS_IonsFromNeutral::entropy_R() const {
neutralMoleculePhase_->getEntropy_R(DATA_PTR(tmpNM));
@ -302,8 +329,8 @@ namespace Cantera {
}
return val;
}
/**
//=======================================================================================================
/*
* Calculate the Gibbs free energy in mks units of
* J kmol-1 K-1.
*/
@ -313,7 +340,7 @@ namespace Cantera {
doublereal RT = GasConstant * m_temp;
return (val * RT);
}
//=======================================================================================================
doublereal
PDSS_IonsFromNeutral::gibbs_RT() const {
neutralMoleculePhase_->getGibbs_RT(DATA_PTR(tmpNM));
@ -327,8 +354,8 @@ namespace Cantera {
}
return val;
}
/**
//=======================================================================================================
/*
* Calculate the constant pressure heat capacity
* in mks units of J kmol-1 K-1
*/
@ -337,7 +364,7 @@ namespace Cantera {
doublereal val = cp_R();
return (val * GasConstant);
}
//=======================================================================================================
doublereal
PDSS_IonsFromNeutral::cp_R() const {
neutralMoleculePhase_->getCp_R(DATA_PTR(tmpNM));
@ -348,7 +375,7 @@ namespace Cantera {
}
return val;
}
//=======================================================================================================
doublereal
PDSS_IonsFromNeutral::molarVolume() const {
neutralMoleculePhase_->getStandardVolumes(DATA_PTR(tmpNM));
@ -359,8 +386,7 @@ namespace Cantera {
}
return val;
}
//=======================================================================================================
doublereal
PDSS_IonsFromNeutral::density() const {
return (m_pres * m_mw / (GasConstant * m_temp));
@ -375,7 +401,7 @@ namespace Cantera {
throw CanteraError("PDSS_IonsFromNeutral::cv_mole()", "unimplemented");
return 0.0;
}
//====================================================================================================================
doublereal
PDSS_IonsFromNeutral::gibbs_RT_ref() const {
@ -390,7 +416,7 @@ namespace Cantera {
}
return val;
}
//====================================================================================================================
doublereal PDSS_IonsFromNeutral::enthalpy_RT_ref() const {
neutralMoleculePhase_->getEnthalpy_RT_ref(DATA_PTR(tmpNM));
doublereal val = 0.0;
@ -400,7 +426,7 @@ namespace Cantera {
}
return val;
}
//====================================================================================================================
doublereal PDSS_IonsFromNeutral::entropy_R_ref() const {
neutralMoleculePhase_->getEntropy_R_ref(DATA_PTR(tmpNM));
doublereal val = 0.0;
@ -413,7 +439,7 @@ namespace Cantera {
}
return val;
}
//====================================================================================================================
doublereal PDSS_IonsFromNeutral::cp_R_ref() const {
neutralMoleculePhase_->getCp_R_ref(DATA_PTR(tmpNM));
doublereal val = 0.0;
@ -423,7 +449,7 @@ namespace Cantera {
}
return val;
}
//====================================================================================================================
doublereal PDSS_IonsFromNeutral::molarVolume_ref() const {
neutralMoleculePhase_->getStandardVolumes_ref(DATA_PTR(tmpNM));
doublereal val = 0.0;
@ -433,7 +459,7 @@ namespace Cantera {
}
return val;
}
//====================================================================================================================
/*
* Calculate the pressure (Pascals), given the temperature and density
* Temperature: kelvin
@ -442,31 +468,31 @@ namespace Cantera {
doublereal PDSS_IonsFromNeutral::pressure() const {
return m_pres;
}
//====================================================================================================================
void PDSS_IonsFromNeutral::setPressure(doublereal p) {
m_pres = p;
neutralMoleculePhase_->setPressure(p);
}
/// critical temperature
//====================================================================================================================
// critical temperature
doublereal PDSS_IonsFromNeutral::critTemperature() const {
throw CanteraError("PDSS_IonsFromNeutral::critTemperature()", "unimplemented");
return (0.0);
}
/// critical pressure
//====================================================================================================================
// critical pressure
doublereal PDSS_IonsFromNeutral::critPressure() const {
throw CanteraError("PDSS_IonsFromNeutral::critPressure()", "unimplemented");
return (0.0);
}
/// critical density
//====================================================================================================================
// critical density
doublereal PDSS_IonsFromNeutral::critDensity() const {
throw CanteraError("PDSS_IonsFromNeutral::critDensity()", "unimplemented");
return (0.0);
}
//====================================================================================================================
/*
* Return the temperature
@ -478,29 +504,30 @@ namespace Cantera {
m_temp = m_vpssmgr_ptr->temperature();
return m_temp;
}
//====================================================================================================================
void PDSS_IonsFromNeutral::setTemperature(doublereal temp) {
m_temp = temp;
neutralMoleculePhase_->setTemperature(temp);
}
//====================================================================================================================
void PDSS_IonsFromNeutral::setState_TP(doublereal temp, doublereal pres) {
m_pres = pres;
m_temp = temp;
neutralMoleculePhase_->setState_TP(temp, pres);
}
//====================================================================================================================
void PDSS_IonsFromNeutral::setState_TR(doublereal temp, doublereal rho) {
neutralMoleculePhase_->setState_TR(temp, rho);
}
/// saturation pressure
//====================================================================================================================
// saturation pressure
doublereal PDSS_IonsFromNeutral::satPressure(doublereal t){
throw CanteraError("PDSS_IonsFromNeutral::satPressure()", "unimplemented");
/*NOTREACHED*/
return (0.0);
}
//====================================================================================================================
}
//====================================================================================================================

View file

@ -183,12 +183,21 @@ namespace Cantera {
*/
virtual doublereal gibbs_mole() const;
//! Return the molar gibbs free energy divided by RT
//! Return the molar gibbs free energy divided by <I>RT</I>
/*!
* Returns the species standard state gibbs free energy divided by RT at the
* Returns the species standard state gibbs free energy divided by <I>RT</I> at the
* current temperature and pressure.
*
* @return returns the species standard state gibbs free energy divided by RT
* \f[
* \frac{\mu^o_k}{RT} = \sum_{m}{ \alpha_{m , k} \frac{\mu^o_{m}}{RT}} + ( 1 - \delta_{k,sp}) 2.0 \ln{2.0}
* \f]
*
* <I>m</I> is the neutral molecule species index. \f$ \alpha_{m , k} \f$ is the stoiciometric
* coefficient for the neutral molecule, <I>m</I>, that creates the thermodynamics for the ionic species <I>k</I>.
* A factor \f$ 2.0 \ln{2.0} \f$ is added to all ions except for the species ionic species, which in this
* case is the single anion species, with species index <I>sp</I>.
*
* @return Returns the species standard state gibbs free energy divided by <I>RT</I>
*/
virtual doublereal gibbs_RT() const;
@ -388,10 +397,9 @@ namespace Cantera {
void constructPDSSFile(VPStandardStateTP *vptp_ptr, int spindex,
std::string inputFile, std::string id);
//!Initialization of a PDSS object using an xml tree
//! Initialization of a PDSS object using an xml tree
/*!
* This routine is a driver for the initialization of the
* object.
* This routine is a driver for the initialization of the object.
*
* basic logic:
* initThermo() (cascade)
@ -403,6 +411,9 @@ namespace Cantera {
*
* @param spindex Species index within the phase
*
* @param speciesNode Reference to the phase Information for the species
* that this standard state refers to
*
* @param phaseNode Reference to the phase Information for the phase
* that owns this species.
*
@ -461,16 +472,28 @@ namespace Cantera {
ThermoPhase *neutralMoleculePhase_;
public:
//! Number of neutral molecule species that make up the stoichiometric vector for
//! this species, in terms of calculating thermodynamic functions
int numMult_;
//! Vector of species indecises in the neutral molecule ThermoPhase
std::vector<int> idNeutralMoleculeVec;
//! Stoichiometric coefficient for this species using the Neutral Molecule Species
//! in the vector idNeutralMoleculeVec
std::vector<double> factorVec;
//! Add 2RTln2 to the entropy and Gibbs free energies for this species
/*!
* This is true if this species is not the special species
*/
bool add2RTln2_;
//! Vector of length equal to the number of species in the neutral molecule phase
mutable std::vector<double> tmpNM;
//! True if this species is the special species
int specialSpecies_;
};
}

View file

@ -1156,7 +1156,7 @@ namespace Cantera {
//! Get the array of non-dimensional molar-based ln activity coefficients at
//! the current solution temperature, pressure, and solution concentration.
/*!
* @param ac Output vector of ln activity coefficients. Length: m_kk.
* @param lnac Output vector of ln activity coefficients. Length: m_kk.
*/
virtual void getLnActivityCoefficients(doublereal * const lnac) const;
@ -1975,6 +1975,8 @@ namespace Cantera {
//! Add in species from Slave phases
/*!
* This hook is used for cSS_CONVENTION_SLAVE phases
*
* @param phaseNode XML Element for the phase
*/
virtual void installSlavePhases(Cantera::XML_Node* phaseNode);
@ -2076,45 +2078,43 @@ namespace Cantera {
err("getdlnActCoeffds");
}
//! Get the array of log concentration-like derivatives of the
//! log activity coefficients - diagonal component only
//! Get the array of ln mole fraction derivatives of the log activity coefficients - diagonal component only
/*!
* This function is a virtual method. For ideal mixtures
* (unity activity coefficients), this can return zero.
* Implementations should take the derivative of the
* logarithm of the activity coefficient with respect to the
* logarithm of the concentration-like variable (i.e. mole fraction)
* logarithm of the mole fraction variable
* that represents the standard state.
* This quantity is to be used in conjunction with derivatives of
* that concentration-like variable when the derivative of the chemical
* that mole fraction variable when the derivative of the chemical
* potential is taken.
*
* units = dimensionless
*
* @param dlnActCoeffdln_diag Output vector of derivatives of the
* log Activity Coefficients. length = m_kk
* @param dlnActCoeffdlnX_diag Output vector of derivatives of the
* log Activity Coefficients wrt the mole fractions. length = m_kk
*/
virtual void getdlnActCoeffdlnX_diag(doublereal *dlnActCoeffdlnX_diag) const {
err("getdlnActCoeffdlnX_diag");
}
//! Get the array of log concentration-like derivatives of the
//! log activity coefficients
//! Get the array of log species mole number derivatives of the log activity coefficients
/*!
* This function is a virtual method. For ideal mixtures
* (unity activity coefficients), this can return zero.
* Implementations should take the derivative of the
* logarithm of the activity coefficient with respect to the
* logarithm of the concentration-like variable (i.e. moles)
* that represents the standard state.
* This quantity is to be used in conjunction with derivatives of
* that concentration-like variable when the derivative of the chemical
* potential is taken.
* This function is a virtual method.
* For ideal mixtures (unity activity coefficients), this can return zero.
* Implementations should take the derivative of the
* logarithm of the activity coefficient with respect to the
* logarithm of the concentration-like variable (i.e. moles)
* that represents the standard state.
* This quantity is to be used in conjunction with derivatives of
* that species mole number variable when the derivative of the chemical
* potential is taken.
*
* units = dimensionless
*
* @param dlnActCoeffdlnN_diag Output vector of derivatives of the
* log Activity Coefficients. length = m_kk
* log Activity Coefficients. length = m_kk
*/
virtual void getdlnActCoeffdlnN_diag(doublereal *dlnActCoeffdlnN_diag) const {
err("getdlnActCoeffdlnN_diag");