Clean up interstitial whitespace

Remove extra space around operators, between words, etc.
This commit is contained in:
Ray Speth 2015-08-01 15:57:30 -04:00
parent 6a04193646
commit acdf9cf0ed
291 changed files with 3510 additions and 3516 deletions

View file

@ -135,7 +135,7 @@ public:
m_ncols++; m_ncols++;
m_data.resize(m_nrows*m_ncols); m_data.resize(m_nrows*m_ncols);
size_t m; size_t m;
for (m = 0; m < m_nrows; m++) { for (m = 0; m < m_nrows; m++) {
value(m_ncols, m) = c[m]; value(m_ncols, m) = c[m];
} }
} }
@ -152,7 +152,7 @@ public:
m_ncols++; m_ncols++;
m_data.resize(m_nrows*m_ncols); m_data.resize(m_nrows*m_ncols);
size_t m; size_t m;
for (m = 0; m < m_nrows; m++) { for (m = 0; m < m_nrows; m++) {
value(m_ncols, m) = c[m]; value(m_ncols, m) = c[m];
} }
} }
@ -171,7 +171,7 @@ public:
//! Get the nth row and return it in a vector //! Get the nth row and return it in a vector
/*! /*!
* @param n Index of the row to be returned. * @param n Index of the row to be returned.
* @param rw Return Vector for the operation. * @param rw Return Vector for the operation.
* Must have a length of m_ncols. * Must have a length of m_ncols.
*/ */
void getRow(size_t n, doublereal* const rw) { void getRow(size_t n, doublereal* const rw) {
@ -277,7 +277,7 @@ public:
//! Returns the value of a single matrix entry //! Returns the value of a single matrix entry
/*! /*!
* This is a key entry. Returns the value of the matrix position (i,j) * This is a key entry. Returns the value of the matrix position (i,j)
* element. * element.
* *
* @param i The row index * @param i The row index

View file

@ -26,13 +26,13 @@ public:
//! static function that deletes all factories //! static function that deletes all factories
//! in the internal registry maintained in a static variable //! in the internal registry maintained in a static variable
static void deleteFactories() { static void deleteFactories() {
std::vector< FactoryBase* >::iterator iter ; std::vector< FactoryBase* >::iterator iter;
for (iter = s_vFactoryRegistry.begin(); for (iter = s_vFactoryRegistry.begin();
iter != s_vFactoryRegistry.end(); iter != s_vFactoryRegistry.end();
++iter) { ++iter) {
(*iter)->deleteFactory() ; (*iter)->deleteFactory();
} }
s_vFactoryRegistry.clear() ; s_vFactoryRegistry.clear();
} }
protected: protected:
@ -42,18 +42,18 @@ protected:
* Adds the current object to the current static list * Adds the current object to the current static list
*/ */
FactoryBase() { FactoryBase() {
s_vFactoryRegistry.push_back(this) ; s_vFactoryRegistry.push_back(this);
} }
//! Virtual abstract function that deletes the factory //! Virtual abstract function that deletes the factory
/*! /*!
* This must be properly defined in child objects. * This must be properly defined in child objects.
*/ */
virtual void deleteFactory() = 0 ; virtual void deleteFactory() = 0;
private: private:
//! statically held list of Factories. //! statically held list of Factories.
static std::vector<FactoryBase*> s_vFactoryRegistry ; static std::vector<FactoryBase*> s_vFactoryRegistry;
}; };
} }

View file

@ -88,11 +88,11 @@ private:
clock_t start_ticks; clock_t start_ticks;
//! internal constant containing clock ticks per second //! internal constant containing clock ticks per second
const double inv_clocks_per_sec; const double inv_clocks_per_sec;
//! internal constant containing the total number of ticks //! internal constant containing the total number of ticks
//! per rollover. //! per rollover.
const double clock_width; const double clock_width;
}; };
} }
#endif #endif

View file

@ -27,9 +27,9 @@
// corresponding Fortran data types on your system. The defaults // corresponding Fortran data types on your system. The defaults
// are OK for most systems // are OK for most systems
typedef double doublereal; // Fortran double precision typedef double doublereal; // Fortran double precision
typedef int integer; // Fortran integer typedef int integer; // Fortran integer
typedef int ftnlen; // Fortran hidden string length type typedef int ftnlen; // Fortran hidden string length type
// Fortran compilers pass character strings in argument lists by // Fortran compilers pass character strings in argument lists by
// adding a hidden argument with the length of the string. Some // adding a hidden argument with the length of the string. Some

View file

@ -80,7 +80,7 @@ const doublereal Planck = 6.62607009e-34; // J-s
const doublereal Planck_bar = Planck / (2 * Pi); // m2-kg/s const doublereal Planck_bar = Planck / (2 * Pi); // m2-kg/s
/// log(k/h) /// log(k/h)
const doublereal logBoltz_Planck = std::log(Boltzmann / Planck); // ln(k_B/h) const doublereal logBoltz_Planck = std::log(Boltzmann / Planck); // ln(k_B/h)
/// Stefan-Boltzmann constant /// Stefan-Boltzmann constant
const doublereal StefanBoltz = 5.670373e-8; const doublereal StefanBoltz = 5.670373e-8;
@ -154,9 +154,9 @@ typedef std::map<std::string, doublereal> Composition;
//! Turn on the use of stl vectors for the basic array type within cantera //! Turn on the use of stl vectors for the basic array type within cantera
//! Vector of doubles. //! Vector of doubles.
typedef std::vector<double> vector_fp; typedef std::vector<double> vector_fp;
//! Vector of ints //! Vector of ints
typedef std::vector<int> vector_int; typedef std::vector<int> vector_int;
//! A grouplist is a vector of groups of species //! A grouplist is a vector of groups of species
typedef std::vector<std::vector<size_t> > grouplist_t; typedef std::vector<std::vector<size_t> > grouplist_t;
@ -164,6 +164,6 @@ typedef std::vector<std::vector<size_t> > grouplist_t;
//! index returned by functions to indicate "no position" //! index returned by functions to indicate "no position"
const size_t npos = static_cast<size_t>(-1); const size_t npos = static_cast<size_t>(-1);
} // namespace } // namespace
#endif #endif

View file

@ -39,7 +39,7 @@ namespace Cantera
* *
* A group of defines may be used during debugging to assert * A group of defines may be used during debugging to assert
* conditions which should be true. These are named AssertTrace(), * conditions which should be true. These are named AssertTrace(),
* AssertThrow(), and AssertThrowMsg(). Examples of their usage is * AssertThrow(), and AssertThrowMsg(). Examples of their usage is
* given below. * given below.
* *
* @code * @code
@ -200,7 +200,7 @@ public:
/*! /*!
* This is a std:string containing the file name and the line number * This is a std:string containing the file name and the line number
*/ */
#define STR_TRACE (std::string(__FILE__) + ":" + XSTR_TRACE_LINE(__LINE__)) #define STR_TRACE (std::string(__FILE__) + ":" + XSTR_TRACE_LINE(__LINE__))
#ifdef NDEBUG #ifdef NDEBUG
#ifndef AssertTrace #ifndef AssertTrace
@ -217,7 +217,7 @@ public:
//! Assertion must be true or an error is thrown //! Assertion must be true or an error is thrown
/*! /*!
* Assertion must be true or else a CanteraError is thrown. A diagnostic string containing the * Assertion must be true or else a CanteraError is thrown. A diagnostic string containing the
* file and line number, indicating where the error * file and line number, indicating where the error
* occurred is added to the thrown object. * occurred is added to the thrown object.
* *
* @param expr Boolean expression that must be true * @param expr Boolean expression that must be true

View file

@ -176,7 +176,7 @@ void addFloatArray(XML_Node& node, const std::string& titleString,
* @code * @code
* const XML_Node &node; * const XML_Node &node;
* std::string titleString = "additionalTemperatures"; * std::string titleString = "additionalTemperatures";
* int n = 3; * int n = 3;
* int Tcases[3] = [273.15, 298.15, 373.15]; * int Tcases[3] = [273.15, 298.15, 373.15];
* std::string typeString = "optional"; * std::string typeString = "optional";
* std::string units = "Kelvin"; * std::string units = "Kelvin";
@ -241,11 +241,11 @@ void addNamedFloatArray(XML_Node& parentNode, const std::string& name, const siz
void addString(XML_Node& node, const std::string& titleString, void addString(XML_Node& node, const std::string& titleString,
const std::string& valueString, const std::string& typeString=""); const std::string& valueString, const std::string& typeString="");
//! This function reads the current node or a child node of the current node //! This function reads the current node or a child node of the current node
//! with the default name, "floatArray", with a value field //! with the default name, "floatArray", with a value field
//! consisting of a comma separated list of floats //! consisting of a comma separated list of floats
/*! /*!
* This function will read either the current XML node or a child node to the * This function will read either the current XML node or a child node to the
* current XML node, with the name "floatArray". It will have a title * current XML node, with the name "floatArray". It will have a title
* attribute, and the body of the XML node will be filled out with a comma * attribute, and the body of the XML node will be filled out with a comma
* separated list of doublereals. Get an array of floats from the XML Node. * separated list of doublereals. Get an array of floats from the XML Node.

View file

@ -7,7 +7,7 @@
* @ingroup utils * @ingroup utils
* *
* These functions store * These functions store
* some parameters in global storage that are accessible at all times * some parameters in global storage that are accessible at all times
* from the calling application. * from the calling application.
* Contains module definitions for * Contains module definitions for
* - inputfiles (see \ref inputfiles) * - inputfiles (see \ref inputfiles)
@ -115,7 +115,7 @@ void addDirectory(const std::string& dir);
void appdelete(); void appdelete();
//! @copydoc Application::thread_complete //! @copydoc Application::thread_complete
void thread_complete() ; void thread_complete();
//! Returns root directory where %Cantera is installed //! Returns root directory where %Cantera is installed
/*! /*!

View file

@ -22,7 +22,7 @@ namespace Cantera
/// stream, but classes may be derived from Logger that implement /// stream, but classes may be derived from Logger that implement
/// other output options. This is important when Cantera is used /// other output options. This is important when Cantera is used
/// in applications that do not display the standard output, such /// in applications that do not display the standard output, such
/// as MATLAB. The Cantera MATLAB interface derives a class from /// as MATLAB. The Cantera MATLAB interface derives a class from
/// Logger that implements these methods with MATLAB-specific /// Logger that implements these methods with MATLAB-specific
/// procedures, insuring that the messages will be passed through /// procedures, insuring that the messages will be passed through
/// to the user. It would also be possible to derive a class that /// to the user. It would also be possible to derive a class that

View file

@ -308,7 +308,7 @@ inline void sum_each(OutputIter x_begin, OutputIter x_end,
* Example: * Example:
* *
* \code * \code
* vector<double> x(3), y(20), ; * vector<double> x(3), y(20);
* vector<int> index(3); * vector<int> index(3);
* index[0] = 9; * index[0] = 9;
* index[1] = 2; * index[1] = 2;

View file

@ -395,7 +395,7 @@ public:
/*! /*!
* @param n Number of the child to return * @param n Number of the child to return
*/ */
XML_Node& child(const size_t n) const ; XML_Node& child(const size_t n) const;
//! Return an unchangeable reference to the vector of children of the current node //! Return an unchangeable reference to the vector of children of the current node
/*! /*!
@ -540,7 +540,7 @@ public:
*/ */
std::vector<XML_Node*> getChildren(const std::string& name) const; std::vector<XML_Node*> getChildren(const std::string& name) const;
//! Return a changeable reference to a child of the current node, named by the argument //! Return a changeable reference to a child of the current node, named by the argument
/*! /*!
* Note the underlying data allows for more than one XML element with the same name. * Note the underlying data allows for more than one XML element with the same name.
* This routine returns the first child with the given name. * This routine returns the first child with the given name.
@ -709,7 +709,7 @@ protected:
/*! /*!
* Search for a phase Node matching a name. * Search for a phase Node matching a name.
* *
* @param root Starting XML_Node* pointer for the search * @param root Starting XML_Node* pointer for the search
* @param phaseName Name of the phase to search for * @param phaseName Name of the phase to search for
* *
* @return Returns the XML_Node pointer if the phase is found. * @return Returns the XML_Node pointer if the phase is found.

View file

@ -32,10 +32,10 @@ public:
iterations(0), iterations(0),
maxStepSize(10.0), propertyPair(TP), contin(false) {} maxStepSize(10.0), propertyPair(TP), contin(false) {}
doublereal relTolerance; ///< Relative tolerance doublereal relTolerance; ///< Relative tolerance
doublereal absElemTol; ///< Abs Tol in element number doublereal absElemTol; ///< Abs Tol in element number
int maxIterations; ///< Maximum number of iterations int maxIterations; ///< Maximum number of iterations
int iterations; ///< Iteration counter int iterations; ///< Iteration counter
/** /**
* Maximum step size. Largest change in any element potential or * Maximum step size. Largest change in any element potential or
@ -77,7 +77,7 @@ class PropertyCalculator;
* chemical equilibrium. Non-stoichiometric methods are faster * chemical equilibrium. Non-stoichiometric methods are faster
* when they converge, but stoichiometric ones tend to be more * when they converge, but stoichiometric ones tend to be more
* robust and can be used also for problems with multiple * robust and can be used also for problems with multiple
* condensed phases. As expected, the ChemEquil solver is faster * condensed phases. As expected, the ChemEquil solver is faster
* than MultiPhaseEquil for many single-phase equilibrium * than MultiPhaseEquil for many single-phase equilibrium
* problems (particularly if there are only a few elements but * problems (particularly if there are only a few elements but
* very many species), but can be less stable. Problem * very many species), but can be less stable. Problem
@ -153,7 +153,7 @@ protected:
* means that the 2 ThermoPhases have to have consist of the same * means that the 2 ThermoPhases have to have consist of the same
* species and elements. * species and elements.
*/ */
thermo_t* m_phase; thermo_t* m_phase;
//! number of atoms of element m in species k. //! number of atoms of element m in species k.
doublereal nAtoms(size_t k, size_t m) const { doublereal nAtoms(size_t k, size_t m) const {
@ -183,7 +183,7 @@ protected:
int setInitialMoles(thermo_t& s, vector_fp& elMoleGoal, int loglevel = 0); int setInitialMoles(thermo_t& s, vector_fp& elMoleGoal, int loglevel = 0);
//! Generate a starting estimate for the element potentials. //! Generate a starting estimate for the element potentials.
int estimateElementPotentials(thermo_t& s, vector_fp& lambda, int estimateElementPotentials(thermo_t& s, vector_fp& lambda,
vector_fp& elMolesGoal, int loglevel = 0); vector_fp& elMolesGoal, int loglevel = 0);
/*! /*!

View file

@ -629,7 +629,7 @@ private:
std::map<std::string, size_t> m_enamemap; std::map<std::string, size_t> m_enamemap;
//! Number of phases in the MultiPhase object //! Number of phases in the MultiPhase object
size_t m_np; size_t m_np;
//! Current value of the temperature (kelvin) //! Current value of the temperature (kelvin)
doublereal m_temp; doublereal m_temp;
@ -761,7 +761,7 @@ size_t BasisOptimize(int* usedZeroedSpecies, bool doFormRxn,
* *
* Also, without perturbation of FormulaMatrix[], BasisOptimize[] would * Also, without perturbation of FormulaMatrix[], BasisOptimize[] would
* produce a zero pivot because the matrix would be singular (unless the argon * produce a zero pivot because the matrix would be singular (unless the argon
* element column was already the last column of FormulaMatrix[]. * element column was already the last column of FormulaMatrix[].
* *
* This routine borrows heavily from BasisOptimize algorithm. It finds nc * This routine borrows heavily from BasisOptimize algorithm. It finds nc
* constraints which span the range space of the Component Formula matrix, and * constraints which span the range space of the Component Formula matrix, and

View file

@ -8,9 +8,9 @@ namespace Cantera
{ {
/*! /*!
* Multiphase chemical equilibrium solver. Class MultiPhaseEquil is designed * Multiphase chemical equilibrium solver. Class MultiPhaseEquil is designed
* to be used to set a mixture containing one or more phases to a state of * to be used to set a mixture containing one or more phases to a state of
* chemical equilibrium. It implements the VCS algorithm, described in Smith * chemical equilibrium. It implements the VCS algorithm, described in Smith
* and Missen, "Chemical Reaction Equilibrium." * and Missen, "Chemical Reaction Equilibrium."
* *
* This class only handles chemical equilibrium at a specified temperature and * This class only handles chemical equilibrium at a specified temperature and

View file

@ -82,7 +82,7 @@ public:
* number of components, which can be obtained from the * number of components, which can be obtained from the
* numComponents() command. * numComponents() command.
*/ */
size_t component(size_t m) const ; size_t component(size_t m) const;
//! Get the stoichiometric reaction coefficients for a single //! Get the stoichiometric reaction coefficients for a single
//! reaction index //! reaction index
@ -260,7 +260,7 @@ public:
* @param logLevel Determines the amount of printing to the output file. * @param logLevel Determines the amount of printing to the output file.
*/ */
int equilibrate_TV(int XY, doublereal xtarget, int equilibrate_TV(int XY, doublereal xtarget,
int estimateEquil = 0, int estimateEquil = 0,
int printLvl = 0, doublereal err = 1.0E-6, int printLvl = 0, doublereal err = 1.0E-6,
int maxsteps = VCS_MAXSTEPS, int logLevel = -99); int maxsteps = VCS_MAXSTEPS, int logLevel = -99);
@ -276,7 +276,7 @@ public:
* compile with debug flags to get some printing). * compile with debug flags to get some printing).
* @param logLevel Determines the amount of printing to the output file. * @param logLevel Determines the amount of printing to the output file.
*/ */
int determine_PhaseStability(int iph, double& funcStab, int printLvl= 0, int logLevel = -99); int determine_PhaseStability(int iph, double& funcStab, int printLvl= 0, int logLevel = -99);
//! Report the equilibrium answer in a comma separated table format //! Report the equilibrium answer in a comma separated table format
/*! /*!
@ -303,7 +303,7 @@ public:
// Friend functions // Friend functions
friend int vcs_Cantera_to_vprob(MultiPhase* mphase, VCS_PROB* vprob); friend int vcs_Cantera_to_vprob(MultiPhase* mphase, VCS_PROB* vprob);
friend int vcs_Cantera_update_vprob(MultiPhase* mphase, VCS_PROB* vprob); friend int vcs_Cantera_update_vprob(MultiPhase* mphase, VCS_PROB* vprob);
protected: protected:
//! Vector that takes into account of the current sorting of the species //! Vector that takes into account of the current sorting of the species

View file

@ -15,32 +15,32 @@ class vcs_VolPhase;
class vcs_SpeciesProperties class vcs_SpeciesProperties
{ {
public: public:
size_t IndexPhase; size_t IndexPhase;
size_t IndexSpeciesPhase; size_t IndexSpeciesPhase;
vcs_VolPhase* OwningPhase; vcs_VolPhase* OwningPhase;
size_t NumElements; size_t NumElements;
//! Name of the species //! Name of the species
std::string SpName; std::string SpName;
VCS_SPECIES_THERMO* SpeciesThermo; /* Pointer to the thermo VCS_SPECIES_THERMO* SpeciesThermo; /* Pointer to the thermo
structure for this species */ structure for this species */
double WtSpecies; /* Molecular Weight of the species (gm/mol) */ double WtSpecies; /* Molecular Weight of the species (gm/mol) */
//! Column of the formula matrix, comprising the //! Column of the formula matrix, comprising the
//! element composition of the species */ //! element composition of the species */
std::vector<double> FormulaMatrixCol; std::vector<double> FormulaMatrixCol;
double Charge; /* Charge state of the species -> This may double Charge; /* Charge state of the species -> This may
be duplication of what's in the be duplication of what's in the
FormulaMatrixCol entries. However, it's prudent FormulaMatrixCol entries. However, it's prudent
to separate it out. */ to separate it out. */
int SurfaceSpecies; /* True if this species belongs to a surface phase */ int SurfaceSpecies; /* True if this species belongs to a surface phase */
/* /*
* Various Calculated Quantities that are appropriate to * Various Calculated Quantities that are appropriate to
* keep copies of at this level. * keep copies of at this level.
*/ */
double VolPM; /* Partial molar volume of the species */ double VolPM; /* Partial molar volume of the species */
double ReferenceMoleFraction; /* Representative value of the mole double ReferenceMoleFraction; /* Representative value of the mole
fraction of this species in a phase. fraction of this species in a phase.
This value is used for convergence issues This value is used for convergence issues

View file

@ -20,8 +20,8 @@ namespace Cantera
class ThermoPhase; class ThermoPhase;
//! Models for the standard state volume of each species //! Models for the standard state volume of each species
#define VCS_SSVOL_IDEALGAS 0 #define VCS_SSVOL_IDEALGAS 0
#define VCS_SSVOL_CONSTANT 1 #define VCS_SSVOL_CONSTANT 1
/* /*
* DEFINITIONS FOR THE vcs_VolPhase structure * DEFINITIONS FOR THE vcs_VolPhase structure
@ -29,14 +29,14 @@ class ThermoPhase;
* Equation of State Types * Equation of State Types
* - Permissible values for the EqnState variable in CPC_PHASE structure * - Permissible values for the EqnState variable in CPC_PHASE structure
*/ */
#define VCS_EOS_CONSTANT 0 #define VCS_EOS_CONSTANT 0
#define VCS_EOS_IDEAL_GAS 1 #define VCS_EOS_IDEAL_GAS 1
#define VCS_EOS_STOICH_SUB 5 #define VCS_EOS_STOICH_SUB 5
#define VCS_EOS_IDEAL_SOLN 22 #define VCS_EOS_IDEAL_SOLN 22
#define VCS_EOS_DEBEYE_HUCKEL 23 #define VCS_EOS_DEBEYE_HUCKEL 23
#define VCS_EOS_REDLICK_KWONG 24 #define VCS_EOS_REDLICK_KWONG 24
#define VCS_EOS_REGULAR_SOLN 25 #define VCS_EOS_REGULAR_SOLN 25
#define VCS_EOS_UNK_CANTERA -1 #define VCS_EOS_UNK_CANTERA -1
struct VCS_SPECIES; struct VCS_SPECIES;
class vcs_SpeciesProperties; class vcs_SpeciesProperties;
@ -832,7 +832,7 @@ private:
* - VCS_STATECALC_NEW * - VCS_STATECALC_NEW
* - VCS_STATECALC_TMP * - VCS_STATECALC_TMP
*/ */
int m_vcsStateStatus; int m_vcsStateStatus;
//! Value of the potential for the phase (Volts) //! Value of the potential for the phase (Volts)
double m_phi; double m_phi;

View file

@ -17,14 +17,14 @@ namespace Cantera
* ERROR CODES * ERROR CODES
*/ */
//@{ //@{
#define VCS_SUCCESS 0 #define VCS_SUCCESS 0
#define VCS_NOMEMORY 1 #define VCS_NOMEMORY 1
#define VCS_FAILED_CONVERGENCE -1 #define VCS_FAILED_CONVERGENCE -1
#define VCS_SHOULDNT_BE_HERE -2 #define VCS_SHOULDNT_BE_HERE -2
#define VCS_PUB_BAD -3 #define VCS_PUB_BAD -3
#define VCS_THERMO_OUTOFRANGE -4 #define VCS_THERMO_OUTOFRANGE -4
#define VCS_FAILED_LOOKUP -5 #define VCS_FAILED_LOOKUP -5
#define VCS_MP_FAIL -6 #define VCS_MP_FAIL -6
//@} //@}
/*! /*!
@ -46,32 +46,32 @@ namespace Cantera
//! Cutoff relative mole fraction value, //! Cutoff relative mole fraction value,
//! below which species are deleted from the equilibrium problem. //! below which species are deleted from the equilibrium problem.
#ifndef VCS_RELDELETE_SPECIES_CUTOFF #ifndef VCS_RELDELETE_SPECIES_CUTOFF
#define VCS_RELDELETE_SPECIES_CUTOFF 1.0e-64 #define VCS_RELDELETE_SPECIES_CUTOFF 1.0e-64
#endif #endif
//! Cutoff relative mole number value, //! Cutoff relative mole number value,
//! below which species are deleted from the equilibrium problem. //! below which species are deleted from the equilibrium problem.
#ifndef VCS_DELETE_MINORSPECIES_CUTOFF #ifndef VCS_DELETE_MINORSPECIES_CUTOFF
#define VCS_DELETE_MINORSPECIES_CUTOFF 1.0e-140 #define VCS_DELETE_MINORSPECIES_CUTOFF 1.0e-140
#endif #endif
//! Relative value of multiphase species mole number for a //! Relative value of multiphase species mole number for a
//! multiphase species which is small. //! multiphase species which is small.
#ifndef VCS_SMALL_MULTIPHASE_SPECIES #ifndef VCS_SMALL_MULTIPHASE_SPECIES
#define VCS_SMALL_MULTIPHASE_SPECIES 1.0e-25 #define VCS_SMALL_MULTIPHASE_SPECIES 1.0e-25
#endif #endif
//! Cutoff relative moles below which a phase is deleted //! Cutoff relative moles below which a phase is deleted
//! from the equilibrium problem. //! from the equilibrium problem.
#ifndef VCS_DELETE_PHASE_CUTOFF #ifndef VCS_DELETE_PHASE_CUTOFF
#define VCS_DELETE_PHASE_CUTOFF 1.0e-13 #define VCS_DELETE_PHASE_CUTOFF 1.0e-13
#endif #endif
//! Relative mole number of species in a phase that is created //! Relative mole number of species in a phase that is created
//! We want this to be comfortably larger than the VCS_DELETE_PHASE_CUTOFF value //! We want this to be comfortably larger than the VCS_DELETE_PHASE_CUTOFF value
//! so that the phase can have a chance to survive. //! so that the phase can have a chance to survive.
#ifndef VCS_POP_PHASE_MOLENUM #ifndef VCS_POP_PHASE_MOLENUM
#define VCS_POP_PHASE_MOLENUM 1.0e-11 #define VCS_POP_PHASE_MOLENUM 1.0e-11
#endif #endif
@ -79,7 +79,7 @@ namespace Cantera
//! comprises the bulk of an element's total concentration //! comprises the bulk of an element's total concentration
//! is deleted. //! is deleted.
#ifndef VCS_DELETE_ELEMENTABS_CUTOFF #ifndef VCS_DELETE_ELEMENTABS_CUTOFF
#define VCS_DELETE_ELEMENTABS_CUTOFF 1.0e-280 #define VCS_DELETE_ELEMENTABS_CUTOFF 1.0e-280
#endif #endif
//! Maximum steps in the inner loop //! Maximum steps in the inner loop
@ -94,9 +94,9 @@ namespace Cantera
* @{ * @{
*/ */
//! nondimensional //! nondimensional
#define VCS_NONDIMENSIONAL_G 1 #define VCS_NONDIMENSIONAL_G 1
//! dimensioned //! dimensioned
#define VCS_DIMENSIONAL_G 0 #define VCS_DIMENSIONAL_G 0
//@} //@}
@ -112,24 +112,24 @@ namespace Cantera
* An example of this would be a species that contains Ni. But, * An example of this would be a species that contains Ni. But,
* the amount of Ni elements is exactly zero. * the amount of Ni elements is exactly zero.
*/ */
#define VCS_SPECIES_COMPONENT_STOICHZERO 3 #define VCS_SPECIES_COMPONENT_STOICHZERO 3
//! Species is a component which can be nonzero //! Species is a component which can be nonzero
#define VCS_SPECIES_COMPONENT 2 #define VCS_SPECIES_COMPONENT 2
//! Species is a major species //! Species is a major species
/*! /*!
* A major species is either a species in a multicomponent phase with * A major species is either a species in a multicomponent phase with
* significant concentration or it's a Stoich Phase * significant concentration or it's a Stoich Phase
*/ */
#define VCS_SPECIES_MAJOR 1 #define VCS_SPECIES_MAJOR 1
//! Species is a major species //! Species is a major species
/*! /*!
* A major species is either a species in a multicomponent phase with * A major species is either a species in a multicomponent phase with
* significant concentration or it's a Stoich Phase * significant concentration or it's a Stoich Phase
*/ */
#define VCS_SPECIES_MINOR 0 #define VCS_SPECIES_MINOR 0
//! Species lies in a multicomponent phase, with a small phase concentration //! Species lies in a multicomponent phase, with a small phase concentration
/*! /*!
@ -137,21 +137,21 @@ namespace Cantera
* It concentration is currently very low, necessitating a * It concentration is currently very low, necessitating a
* different method of calculation. * different method of calculation.
*/ */
#define VCS_SPECIES_SMALLMS -1 #define VCS_SPECIES_SMALLMS -1
//! Species lies in a multicomponent phase with concentration zero //! Species lies in a multicomponent phase with concentration zero
/*! /*!
* The species lies in a multicomponent phase which currently doesn't exist. * The species lies in a multicomponent phase which currently doesn't exist.
* It concentration is currently zero. * It concentration is currently zero.
*/ */
#define VCS_SPECIES_ZEROEDMS -2 #define VCS_SPECIES_ZEROEDMS -2
//! Species is a SS phase, that is currently zeroed out. //! Species is a SS phase, that is currently zeroed out.
/*! /*!
* The species lies in a single-species phase which * The species lies in a single-species phase which
* is currently zeroed out. * is currently zeroed out.
*/ */
#define VCS_SPECIES_ZEROEDSS -3 #define VCS_SPECIES_ZEROEDSS -3
//! Species has such a small mole fraction it is deleted even though its //! Species has such a small mole fraction it is deleted even though its
//! phase may possibly exist. //! phase may possibly exist.
@ -160,14 +160,14 @@ namespace Cantera
* that it best to throw the calculation of it out. * that it best to throw the calculation of it out.
* It will be added back in at the end of the calculation. * It will be added back in at the end of the calculation.
*/ */
#define VCS_SPECIES_DELETED -4 #define VCS_SPECIES_DELETED -4
//! Species refers to an electron in the metal. //! Species refers to an electron in the metal.
/*! /*!
* The unknown is equal to the electric potential of the phase * The unknown is equal to the electric potential of the phase
* in which it exists. * in which it exists.
*/ */
#define VCS_SPECIES_INTERFACIALVOLTAGE -5 #define VCS_SPECIES_INTERFACIALVOLTAGE -5
//! Species lies in a multicomponent phase that is zeroed atm //! Species lies in a multicomponent phase that is zeroed atm
/*! /*!
@ -176,7 +176,7 @@ namespace Cantera
* These species will formally always have zero mole numbers in the * These species will formally always have zero mole numbers in the
* solution vector. * solution vector.
*/ */
#define VCS_SPECIES_ZEROEDPHASE -6 #define VCS_SPECIES_ZEROEDPHASE -6
//! Species lies in a multicomponent phase that is active, but species concentration is zero //! Species lies in a multicomponent phase that is active, but species concentration is zero
/*! /*!
@ -185,7 +185,7 @@ namespace Cantera
* is a temporary condition that exists at the start of an equilibrium problem. * is a temporary condition that exists at the start of an equilibrium problem.
* The species is soon "birthed" or "deleted". * The species is soon "birthed" or "deleted".
*/ */
#define VCS_SPECIES_ACTIVEBUTZERO -7 #define VCS_SPECIES_ACTIVEBUTZERO -7
//! Species lies in a multicomponent phase that is active, //! Species lies in a multicomponent phase that is active,
//! but species concentration is zero due to stoich constraint //! but species concentration is zero due to stoich constraint
@ -196,7 +196,7 @@ namespace Cantera
* An example of this would be a species that contains Ni. But, * An example of this would be a species that contains Ni. But,
* the amount of Ni elements in the current problem statement is exactly zero. * the amount of Ni elements in the current problem statement is exactly zero.
*/ */
#define VCS_SPECIES_STOICHZERO -8 #define VCS_SPECIES_STOICHZERO -8
//@} //@}
@ -206,26 +206,26 @@ namespace Cantera
*/ */
//@{ //@{
//! Always exists because it contains inerts which can't exist in any other phase //! Always exists because it contains inerts which can't exist in any other phase
#define VCS_PHASE_EXIST_ALWAYS 3 #define VCS_PHASE_EXIST_ALWAYS 3
//! Phase is a normal phase that currently exists //! Phase is a normal phase that currently exists
#define VCS_PHASE_EXIST_YES 2 #define VCS_PHASE_EXIST_YES 2
//! Phase is a normal phase that exists in a small concentration //! Phase is a normal phase that exists in a small concentration
/*! /*!
* Concentration is so small that it must be calculated using an alternate * Concentration is so small that it must be calculated using an alternate
* method * method
*/ */
#define VCS_PHASE_EXIST_MINORCONC 1 #define VCS_PHASE_EXIST_MINORCONC 1
//! Phase doesn't currently exist in the mixture //! Phase doesn't currently exist in the mixture
#define VCS_PHASE_EXIST_NO 0 #define VCS_PHASE_EXIST_NO 0
//! Phase currently is zeroed due to a programmatic issue //! Phase currently is zeroed due to a programmatic issue
/*! /*!
* We zero phases because we want to follow phase stability boundaries. * We zero phases because we want to follow phase stability boundaries.
*/ */
#define VCS_PHASE_EXIST_ZEROEDPHASE -6 #define VCS_PHASE_EXIST_ZEROEDPHASE -6
//@} //@}
@ -257,11 +257,11 @@ namespace Cantera
@endverbatim @endverbatim
* @{ * @{
*/ */
#define VCS_UNITS_KCALMOL -1 #define VCS_UNITS_KCALMOL -1
#define VCS_UNITS_UNITLESS 0 #define VCS_UNITS_UNITLESS 0
#define VCS_UNITS_KJMOL 1 #define VCS_UNITS_KJMOL 1
#define VCS_UNITS_KELVIN 2 #define VCS_UNITS_KELVIN 2
#define VCS_UNITS_MKS 3 #define VCS_UNITS_MKS 3
//@} //@}
/*! /*!
@ -275,7 +275,7 @@ namespace Cantera
//! An element constraint that is current turned off //! An element constraint that is current turned off
#define VCS_ELEM_TYPE_TURNEDOFF -1 #define VCS_ELEM_TYPE_TURNEDOFF -1
//! Normal element constraint consisting of positive coefficients for the //! Normal element constraint consisting of positive coefficients for the
//! formula matrix. //! formula matrix.
@ -284,13 +284,13 @@ namespace Cantera
* With this constraint, we may employ various strategies to handle * With this constraint, we may employ various strategies to handle
* small values of the element number successfully. * small values of the element number successfully.
*/ */
#define VCS_ELEM_TYPE_ABSPOS 0 #define VCS_ELEM_TYPE_ABSPOS 0
//! This refers to conservation of electrons //! This refers to conservation of electrons
/*! /*!
* Electrons may have positive or negative values in the Formula matrix. * Electrons may have positive or negative values in the Formula matrix.
*/ */
#define VCS_ELEM_TYPE_ELECTRONCHARGE 1 #define VCS_ELEM_TYPE_ELECTRONCHARGE 1
//! This refers to a charge neutrality of a single phase //! This refers to a charge neutrality of a single phase
/*! /*!
@ -328,7 +328,7 @@ namespace Cantera
/*! /*!
* currently there are none * currently there are none
*/ */
#define VCS_ELEM_TYPE_OTHERCONSTRAINT 6 #define VCS_ELEM_TYPE_OTHERCONSTRAINT 6
//@} //@}
/*! /*!
@ -336,7 +336,7 @@ namespace Cantera
* @{ * @{
*/ */
//! Unknown refers to mole number of a single species //! Unknown refers to mole number of a single species
#define VCS_SPECIES_TYPE_MOLNUM 0 #define VCS_SPECIES_TYPE_MOLNUM 0
//! Unknown refers to the voltage level of a phase //! Unknown refers to the voltage level of a phase
/*! /*!
@ -356,20 +356,20 @@ namespace Cantera
* @{ * @{
*/ */
//! State Calculation is currently in an unknown state //! State Calculation is currently in an unknown state
#define VCS_STATECALC_UNKNOWN -1 #define VCS_STATECALC_UNKNOWN -1
//! State Calculation based on the old or base mole numbers //! State Calculation based on the old or base mole numbers
#define VCS_STATECALC_OLD 0 #define VCS_STATECALC_OLD 0
//! State Calculation based on the new or tentative mole numbers //! State Calculation based on the new or tentative mole numbers
#define VCS_STATECALC_NEW 1 #define VCS_STATECALC_NEW 1
//! State Calculation based on tentative mole numbers //! State Calculation based on tentative mole numbers
//! for a phase which is currently zeroed, but is being //! for a phase which is currently zeroed, but is being
//! evaluated for whether it should pop back into existence //! evaluated for whether it should pop back into existence
#define VCS_STATECALC_PHASESTABILITY 2 #define VCS_STATECALC_PHASESTABILITY 2
//! State Calculation based on a temporary set of mole numbers //! State Calculation based on a temporary set of mole numbers
#define VCS_STATECALC_TMP 3 #define VCS_STATECALC_TMP 3
//@} //@}
} }

View file

@ -93,7 +93,7 @@ public:
* - VCS_UNITS_UNITLESS: 1.0 K-1 * - VCS_UNITS_UNITLESS: 1.0 K-1
* - VCS_UNITS_KJMOL: kJ gmol-1 K-1 * - VCS_UNITS_KJMOL: kJ gmol-1 K-1
* - VCS_UNITS_KELVIN: 1.0 K-1 * - VCS_UNITS_KELVIN: 1.0 K-1
* - VCS_UNITS_MKS: joules kmol-1 K-1 = kg m2 s-2 kmol-1 K-1 * - VCS_UNITS_MKS: joules kmol-1 K-1 = kg m2 s-2 kmol-1 K-1
*/ */
double vcsUtil_gasConstant(int mu_units); double vcsUtil_gasConstant(int mu_units);

View file

@ -182,7 +182,7 @@ public:
//! Molecular weight of species //! Molecular weight of species
/*! /*!
* WtSpecies[k] = molecular weight of species in gm/mol * WtSpecies[k] = molecular weight of species in gm/mol
*/ */
std::vector<double> WtSpecies; std::vector<double> WtSpecies;
@ -195,7 +195,7 @@ public:
// String containing the title of the run // String containing the title of the run
std::string Title; std::string Title;
//! Vector of pointers to thermo structures which identify the model and //! Vector of pointers to thermo structures which identify the model and
//! parameters for evaluating the thermodynamic functions for that //! parameters for evaluating the thermodynamic functions for that
//! particular species //! particular species
std::vector<VCS_SPECIES_THERMO*> SpeciesThermo; std::vector<VCS_SPECIES_THERMO*> SpeciesThermo;

View file

@ -112,7 +112,7 @@ public:
* using a variant of the VCS method. Nonideal phases can be accommodated * using a variant of the VCS method. Nonideal phases can be accommodated
* as well. * as well.
* *
* Any number of single-species phases and multi-species phases * Any number of single-species phases and multi-species phases
* can be handled by the present version. * can be handled by the present version.
* *
* @param print_lvl 1 -> Print results to standard output; * @param print_lvl 1 -> Print results to standard output;
@ -241,7 +241,7 @@ public:
* across the interface on the SHE (standard hydrogen electrode) scale * across the interface on the SHE (standard hydrogen electrode) scale
* (volts). * (volts).
* - #VCS_SPECIES_ZEROEDPHASE: Species lies in a multicomponent phase * - #VCS_SPECIES_ZEROEDPHASE: Species lies in a multicomponent phase
* that is zeroed atm and will stay deleted due to a choice from a * that is zeroed atm and will stay deleted due to a choice from a
* higher level. These species will formally always have zero mole * higher level. These species will formally always have zero mole
* numbers in the solution vector. * numbers in the solution vector.
* - #VCS_SPECIES_ACTIVEBUTZERO: The species lies in a multicomponent * - #VCS_SPECIES_ACTIVEBUTZERO: The species lies in a multicomponent
@ -481,7 +481,7 @@ public:
//! into existence //! into existence
/*! /*!
* Updates #m_deltaMolNumSpecies[irxn] : reaction adjustments, where irxn * Updates #m_deltaMolNumSpecies[irxn] : reaction adjustments, where irxn
* refers to the irxn'th species formation reaction. This adjustment is * refers to the irxn'th species formation reaction. This adjustment is
* for species irxn + M, where M is the number of components. * for species irxn + M, where M is the number of components.
* *
* @param iphasePop Phase id of the phase that will come into existence * @param iphasePop Phase id of the phase that will come into existence
@ -503,7 +503,7 @@ public:
* ------- * -------
* m_deltaMolNumSpecies(irxn) : reaction adjustments, where irxn refers to * m_deltaMolNumSpecies(irxn) : reaction adjustments, where irxn refers to
* the irxn'th species formation reaction. * the irxn'th species formation reaction.
* This adjustment is for species irxn + M, * This adjustment is for species irxn + M,
* where M is the number of components. * where M is the number of components.
* *
* Special branching occurs sometimes. This causes the component basis * Special branching occurs sometimes. This causes the component basis
@ -532,7 +532,7 @@ public:
* Formation reactions are * Formation reactions are
* reactions which create each noncomponent species from the component * reactions which create each noncomponent species from the component
* species. m_stoichCoeffRxnMatrix(jcomp,irxn) are the stoichiometric * species. m_stoichCoeffRxnMatrix(jcomp,irxn) are the stoichiometric
* coefficients for these reactions. A stoichiometric coefficient of * coefficients for these reactions. A stoichiometric coefficient of
* one is assumed for species irxn in this reaction. * one is assumed for species irxn in this reaction.
* *
* @param l * @param l
@ -797,7 +797,7 @@ public:
* actually contains argon. Then, nc < ne. Also, without perturbation of * actually contains argon. Then, nc < ne. Also, without perturbation of
* FormulaMatrix[] vcs_basopt[] would produce a zero pivot because the * FormulaMatrix[] vcs_basopt[] would produce a zero pivot because the
* matrix would be singular (unless the argon element column was already * matrix would be singular (unless the argon element column was already
* the last column of FormulaMatrix[]. * the last column of FormulaMatrix[].
* *
* This routine borrows heavily from vcs_basopt's algorithm. It finds nc * This routine borrows heavily from vcs_basopt's algorithm. It finds nc
* constraints which span the range space of the Component Formula matrix, * constraints which span the range space of the Component Formula matrix,
@ -848,7 +848,7 @@ public:
* *
* NOTE: currently this routine is not used. * NOTE: currently this routine is not used.
*/ */
int vcs_rxn_adj_cg(); int vcs_rxn_adj_cg();
//! Calculates the diagonal contribution to the Hessian due to //! Calculates the diagonal contribution to the Hessian due to
//! the dependence of the activity coefficients on the mole numbers. //! the dependence of the activity coefficients on the mole numbers.
@ -947,7 +947,7 @@ public:
* with significantly different total kmol numbers than one * with significantly different total kmol numbers than one
* the algorithm would have problems. * the algorithm would have problems.
*/ */
void vcs_nondim_TP(); void vcs_nondim_TP();
//! Redimensionalize the problem data //! Redimensionalize the problem data
/*! /*!
@ -957,7 +957,7 @@ public:
* or in nondimensional form. This routine switches the data from * or in nondimensional form. This routine switches the data from
* nondimensional form into dimensional form. * nondimensional form into dimensional form.
*/ */
void vcs_redim_TP(); void vcs_redim_TP();
//! Print the string representing the Chemical potential units //! Print the string representing the Chemical potential units
/*! /*!
@ -965,7 +965,7 @@ public:
* *
* @param unitsFormat Integer representing the units system * @param unitsFormat Integer representing the units system
*/ */
void vcs_printChemPotUnits(int unitsFormat) const; void vcs_printChemPotUnits(int unitsFormat) const;
//! Computes the current elemental abundances vector //! Computes the current elemental abundances vector
/*! /*!
@ -984,7 +984,7 @@ public:
* definition. Satisfaction of extra constraints would have had to occur * definition. Satisfaction of extra constraints would have had to occur
* in the problem specification. * in the problem specification.
* *
* The constraints should be broken up into 2 sections. If a constraint * The constraints should be broken up into 2 sections. If a constraint
* involves a formula matrix with positive and negative signs, and eaSet = * involves a formula matrix with positive and negative signs, and eaSet =
* 0.0, then you can't expect that the sum will be zero. There may be * 0.0, then you can't expect that the sum will be zero. There may be
* roundoff that inhibits this. However, if the formula matrix is all of * roundoff that inhibits this. However, if the formula matrix is all of
@ -1202,7 +1202,7 @@ private:
* *
* Then, if TL is zero, the phase pops into existence if DG_i_O < 0. * Then, if TL is zero, the phase pops into existence if DG_i_O < 0.
* Also, if the phase exists, then we check to see if the species * Also, if the phase exists, then we check to see if the species
* can have a mole number larger than VCS_DELETE_SPECIES_CUTOFF * can have a mole number larger than VCS_DELETE_SPECIES_CUTOFF
* (default value = 1.0E-32). * (default value = 1.0E-32).
*/ */
int vcs_recheck_deleted(); int vcs_recheck_deleted();
@ -1354,7 +1354,7 @@ private:
* @param[in] molNum Current mole numbers of species to be used as input * @param[in] molNum Current mole numbers of species to be used as input
* to the calculation (units = kmol), (length = totalNuMSpecies) * to the calculation (units = kmol), (length = totalNuMSpecies)
* *
* @param[out] ac Activity coefficients (length = totalNumSpecies) Note * @param[out] ac Activity coefficients (length = totalNumSpecies) Note
* this is only partially formed. Only species in phases that * this is only partially formed. Only species in phases that
* participate in the reaction will be updated * participate in the reaction will be updated
* @param[out] mu_i dimensionless chemical potentials (length * @param[out] mu_i dimensionless chemical potentials (length
@ -1427,10 +1427,10 @@ private:
std::vector<double> m_wx; std::vector<double> m_wx;
public: public:
//! value of the number of species used to malloc data structures //! value of the number of species used to malloc data structures
size_t NSPECIES0; size_t NSPECIES0;
//! value of the number of phases used to malloc data structures //! value of the number of phases used to malloc data structures
size_t NPHASE0; size_t NPHASE0;
//! Total number of species in the problems //! Total number of species in the problems
@ -1531,7 +1531,7 @@ public:
//! at the new tentatite T, P, and mole numbers. //! at the new tentatite T, P, and mole numbers.
/*! /*!
* The first NC entries are for components. The following * The first NC entries are for components. The following
* NR entries are for the current non-component species in the mechanism. * NR entries are for the current non-component species in the mechanism.
* Length = number of species * Length = number of species
*/ */
std::vector<double> m_feSpecies_new; std::vector<double> m_feSpecies_new;
@ -1575,7 +1575,7 @@ public:
*/ */
Array2D m_deltaMolNumPhase; Array2D m_deltaMolNumPhase;
//! This is 1 if the phase, iphase, participates in the formation reaction //! This is 1 if the phase, iphase, participates in the formation reaction
//! irxn, and zero otherwise. PhaseParticipation(iphase,irxn) //! irxn, and zero otherwise. PhaseParticipation(iphase,irxn)
Array2D m_phaseParticipation; Array2D m_phaseParticipation;
@ -1588,7 +1588,7 @@ public:
//! Delta G(irxn) for the noncomponent species in the mechanism. //! Delta G(irxn) for the noncomponent species in the mechanism.
/*! /*!
* Computed by the subroutine deltaG. m_deltaGRxn is the free * Computed by the subroutine deltaG. m_deltaGRxn is the free
* energy change for the reaction which forms species K from the * energy change for the reaction which forms species K from the
* component species. This vector has length equal to the number * component species. This vector has length equal to the number
* of noncomponent species in the mechanism. It starts with * of noncomponent species in the mechanism. It starts with
@ -1674,7 +1674,7 @@ public:
std::vector<double> m_deltaPhaseMoles; std::vector<double> m_deltaPhaseMoles;
//! Temperature (Kelvin) //! Temperature (Kelvin)
double m_temperature; double m_temperature;
//! Pressure (units are determined by m_VCS_UnitsFormat //! Pressure (units are determined by m_VCS_UnitsFormat
/*! /*!
@ -1692,7 +1692,7 @@ public:
//! Total kmoles of inert to add to each phase //! Total kmoles of inert to add to each phase
/*! /*!
* TPhInertMoles[iph] = Total kmoles of inert to add to each phase * TPhInertMoles[iph] = Total kmoles of inert to add to each phase
* length = number of phases * length = number of phases
*/ */
std::vector<double> TPhInertMoles; std::vector<double> TPhInertMoles;
@ -1703,7 +1703,7 @@ public:
//! Tolerance requirements for minor species //! Tolerance requirements for minor species
double m_tolmin; double m_tolmin;
//! Below this, major species aren't refined any more //! Below this, major species aren't refined any more
double m_tolmaj2; double m_tolmaj2;
//! Below this, minor species aren't refined any more //! Below this, minor species aren't refined any more
@ -1751,7 +1751,7 @@ public:
std::vector<size_t> m_elementMapIndex; std::vector<size_t> m_elementMapIndex;
//! Mapping between the species index for noncomponent species and the //! Mapping between the species index for noncomponent species and the
//! full species index. //! full species index.
/*! /*!
* ir[irxn] = Mapping between the reaction index for noncomponent * ir[irxn] = Mapping between the reaction index for noncomponent
* formation reaction of a species and the full species * formation reaction of a species and the full species
@ -1819,7 +1819,7 @@ public:
/*! /*!
* The default is to have this unitless * The default is to have this unitless
*/ */
char m_unitsState; char m_unitsState;
//! Multiplier for the mole numbers within the nondimensionless formulation //! Multiplier for the mole numbers within the nondimensionless formulation
/*! /*!
@ -1830,7 +1830,7 @@ public:
*/ */
double m_totalMoleScale; double m_totalMoleScale;
//! specifies the activity convention of the phase containing the species //! specifies the activity convention of the phase containing the species
/*! /*!
* * 0 = molar based * * 0 = molar based
* * 1 = molality based * * 1 = molality based
@ -1848,7 +1848,7 @@ public:
*/ */
std::vector<int> m_phaseActConvention; std::vector<int> m_phaseActConvention;
//! specifies the ln(Mnaught) used to calculate the chemical potentials //! specifies the ln(Mnaught) used to calculate the chemical potentials
/*! /*!
* For molar based activity conventions this will be equal to 0.0. * For molar based activity conventions this will be equal to 0.0.
* length = number of species. * length = number of species.
@ -1890,7 +1890,7 @@ public:
std::vector<std::vector<size_t> > phasePopProblemLists_; std::vector<std::vector<size_t> > phasePopProblemLists_;
//! Vector of pointers to thermostructures which identify the model //! Vector of pointers to thermostructures which identify the model
//! and parameters for evaluating the thermodynamic functions for that //! and parameters for evaluating the thermodynamic functions for that
//! particular species. //! particular species.
/*! /*!
* SpeciesThermo[k] pointer to the thermo information for the kth species * SpeciesThermo[k] pointer to the thermo information for the kth species
@ -1900,7 +1900,7 @@ public:
//! Choice of Hessians //! Choice of Hessians
/*! /*!
* If this is true, then we will use a better approximation to the * If this is true, then we will use a better approximation to the
* Hessian based on Jacobian of the ln(ActCoeff) with respect to mole * Hessian based on Jacobian of the ln(ActCoeff) with respect to mole
* numbers * numbers
*/ */
int m_useActCoeffJac; int m_useActCoeffJac;

View file

@ -17,15 +17,15 @@ namespace Cantera
class vcs_VolPhase; class vcs_VolPhase;
// Models for the species standard state Naught temperature dependence // Models for the species standard state Naught temperature dependence
#define VCS_SS0_NOTHANDLED -1 #define VCS_SS0_NOTHANDLED -1
#define VCS_SS0_CONSTANT 0 #define VCS_SS0_CONSTANT 0
//#define VCS_SS0_NASA_POLY 1 //#define VCS_SS0_NASA_POLY 1
#define VCS_SS0_CONSTANT_CP 2 #define VCS_SS0_CONSTANT_CP 2
// Models for the species standard state extra pressure dependence // Models for the species standard state extra pressure dependence
#define VCS_SSSTAR_NOTHANDLED -1 #define VCS_SSSTAR_NOTHANDLED -1
#define VCS_SSSTAR_CONSTANT 0 #define VCS_SSSTAR_CONSTANT 0
#define VCS_SSSTAR_IDEAL_GAS 1 #define VCS_SSSTAR_IDEAL_GAS 1
/*! /*!
* Identifies the thermo model for the species. This structure is shared by * Identifies the thermo model for the species. This structure is shared by
@ -51,7 +51,7 @@ public:
//! Integer representing the models for the species standard state //! Integer representing the models for the species standard state
//! Naught temperature dependence. They are listed above and start //! Naught temperature dependence. They are listed above and start
//! with VCS_SS0_... //! with VCS_SS0_...
int SS0_Model; int SS0_Model;
//! Internal storage of the last calculation of the reference naught Gibbs //! Internal storage of the last calculation of the reference naught Gibbs
//! free energy at SS0_TSave. (always in units of Kelvin) //! free energy at SS0_TSave. (always in units of Kelvin)

View file

@ -31,7 +31,7 @@ public:
* inherited from Kinetics even if the application only has * inherited from Kinetics even if the application only has
* a pointer to Kinetics to work with. * a pointer to Kinetics to work with.
* *
* These routines are basically wrappers around the derived copy constructor. * These routines are basically wrappers around the derived copy constructor.
* *
* @param tpVector Vector of shallow pointers to ThermoPhase objects. this is the * @param tpVector Vector of shallow pointers to ThermoPhase objects. this is the
* m_thermo vector within this object * m_thermo vector within this object

View file

@ -52,7 +52,7 @@ protected:
//! Difference between the global reactants order and the global products //! Difference between the global reactants order and the global products
//! order. Of type "double" to account for the fact that we can have real- //! order. Of type "double" to account for the fact that we can have real-
//! valued stoichiometries. //! valued stoichiometries.
vector_fp m_dn; vector_fp m_dn;
vector_fp m_conc; vector_fp m_conc;
vector_fp m_grt; vector_fp m_grt;

View file

@ -24,7 +24,7 @@ public:
//! Constructor. //! Constructor.
FalloffMgr() : FalloffMgr() :
m_worksize(0) { m_worksize(0) {
m_factory = FalloffFactory::factory(); // RFB:TODO This raw pointer should be encapsulated m_factory = FalloffFactory::factory(); // RFB:TODO This raw pointer should be encapsulated
// because accessing a 'Singleton Factory' // because accessing a 'Singleton Factory'
} }

View file

@ -217,7 +217,7 @@ protected:
std::vector<InterfaceKinetics*> m_vecKinPtrs; std::vector<InterfaceKinetics*> m_vecKinPtrs;
//! Vector of number of species in each Surface Phase //! Vector of number of species in each Surface Phase
std::vector<size_t> m_nsp; std::vector<size_t> m_nsp;
//! index of the surface phase in each InterfaceKinetics object //! index of the surface phase in each InterfaceKinetics object
std::vector<size_t> m_surfindex; std::vector<size_t> m_surfindex;
@ -240,13 +240,13 @@ protected:
size_t m_numBulkPhases; size_t m_numBulkPhases;
std::vector<size_t> m_nspBulkPhases; std::vector<size_t> m_nspBulkPhases;
size_t m_numTotalBulkSpecies; size_t m_numTotalBulkSpecies;
size_t m_numTotalSpecies; size_t m_numTotalSpecies;
std::vector<vector_int> pLocVec; std::vector<vector_int> pLocVec;
//! Pointer to the CVODE integrator //! Pointer to the CVODE integrator
Integrator* m_integ; Integrator* m_integ;
doublereal m_atol, m_rtol; // tolerances doublereal m_atol, m_rtol; // tolerances
doublereal m_maxstep; //!< max step size doublereal m_maxstep; //!< max step size
vector_fp m_work; vector_fp m_work;

View file

@ -36,7 +36,7 @@ class ImplicitSurfChem;
* information about the phases (i.e., temperature pressure, and mole * information about the phases (i.e., temperature pressure, and mole
* fraction). * fraction).
* *
* The extrinsic specification of whether a phase exists or not must be * The extrinsic specification of whether a phase exists or not must be
* specified on top of the intrinsic calculation of the reaction rate. This * specified on top of the intrinsic calculation of the reaction rate. This
* class carries a set of booleans indicating whether a phase in the * class carries a set of booleans indicating whether a phase in the
* heterogeneous mechanism exists or not. * heterogeneous mechanism exists or not.
@ -113,7 +113,7 @@ public:
* *
* units = J kmol-1 * units = J kmol-1
* *
* @param deltaG Output vector of deltaG's for reactions Length: * @param deltaG Output vector of deltaG's for reactions Length:
* nReactions(). If 0, this updates the internally stored values only. * nReactions(). If 0, this updates the internally stored values only.
*/ */
virtual void getDeltaGibbs(doublereal* deltaG); virtual void getDeltaGibbs(doublereal* deltaG);
@ -283,7 +283,7 @@ public:
//! When an electrode reaction rate is optionally specified in terms of its //! When an electrode reaction rate is optionally specified in terms of its
//! exchange current density, adjust kfwd to the standard reaction rate constant form and units. //! exchange current density, adjust kfwd to the standard reaction rate constant form and units.
//! When the BV reaction types are used, keep the exchange current density form. //! When the BV reaction types are used, keep the exchange current density form.
/*! /*!
* For a reaction rate constant that was given in units of Amps/m2 (exchange current * For a reaction rate constant that was given in units of Amps/m2 (exchange current
* density formulation with iECDFormulation == true), convert the rate to * density formulation with iECDFormulation == true), convert the rate to
@ -498,7 +498,7 @@ protected:
//! Electrochemical transfer coefficient for the forward direction //! Electrochemical transfer coefficient for the forward direction
/*! /*!
* Electrochemical transfer coefficient for all reactions that have transfer reactions * Electrochemical transfer coefficient for all reactions that have transfer reactions
* the reaction is given by m_ctrxn[i] * the reaction is given by m_ctrxn[i]
*/ */
vector_fp m_beta; vector_fp m_beta;

View file

@ -477,7 +477,7 @@ public:
* *
* units = J kmol-1 * units = J kmol-1
* *
* @param deltaG Output vector of deltaG's for reactions Length: * @param deltaG Output vector of deltaG's for reactions Length:
* nReactions(). * nReactions().
*/ */
virtual void getDeltaGibbs(doublereal* deltaG) { virtual void getDeltaGibbs(doublereal* deltaG) {
@ -492,7 +492,7 @@ public:
* *
* units = J kmol-1 * units = J kmol-1
* *
* @param deltaM Output vector of deltaM's for reactions Length: * @param deltaM Output vector of deltaM's for reactions Length:
* nReactions(). * nReactions().
*/ */
virtual void getDeltaElectrochemPotentials(doublereal* deltaM) { virtual void getDeltaElectrochemPotentials(doublereal* deltaM) {
@ -947,7 +947,7 @@ protected:
* for the species vector for the n'th phase in the kinetics * for the species vector for the n'th phase in the kinetics
* class. * class.
*/ */
std::vector<size_t> m_start; std::vector<size_t> m_start;
/** /**
* Mapping of the phase id, i.e., the id attribute in the XML * Mapping of the phase id, i.e., the id attribute in the XML

View file

@ -39,8 +39,8 @@ public:
virtual void deleteFactory() { virtual void deleteFactory() {
ScopedLock lock(kinetics_mutex); ScopedLock lock(kinetics_mutex);
delete s_factory ; delete s_factory;
s_factory = 0 ; s_factory = 0;
} }
/** /**

View file

@ -76,8 +76,8 @@ public:
} }
protected: protected:
std::vector<R> m_rates; std::vector<R> m_rates;
std::vector<size_t> m_rxn; std::vector<size_t> m_rxn;
//! map reaction number to index in m_rxn / m_rates //! map reaction number to index in m_rxn / m_rates
std::map<size_t, size_t> m_indices; std::map<size_t, size_t> m_indices;

View file

@ -14,7 +14,7 @@
namespace Cantera namespace Cantera
{ {
enum flow_t { NetFlow, OneWayFlow }; enum flow_t { NetFlow, OneWayFlow };
// forward references // forward references
class Path; class Path;
@ -33,10 +33,10 @@ public:
virtual ~SpeciesNode() {} virtual ~SpeciesNode() {}
// public attributes // public attributes
size_t number; ///< Species number size_t number; ///< Species number
std::string name; ///< Label on graph std::string name; ///< Label on graph
doublereal value; ///< May be used to set node appearance doublereal value; ///< May be used to set node appearance
bool visible; ///< Visible on graph; bool visible; ///< Visible on graph;
/** /**
* @name References. * @name References.
@ -44,10 +44,10 @@ public:
* to another node. * to another node.
*/ */
//@{ //@{
Path* path(int n) { Path* path(int n) {
return m_paths[n]; return m_paths[n];
} }
const Path* path(int n) const { const Path* path(int n) const {
return m_paths[n]; return m_paths[n];
} }
//@} //@}
@ -269,8 +269,7 @@ public:
std::string dashed_color; std::string dashed_color;
std::string element; std::string element;
std::string m_font; std::string m_font;
doublereal threshold, doublereal threshold, bold_min, dashed_max, label_min;
bold_min, dashed_max, label_min;
doublereal x_size, y_size; doublereal x_size, y_size;
std::string name, dot_options; std::string name, dot_options;
flow_t flow_type; flow_t flow_type;
@ -280,14 +279,14 @@ public:
doublereal arrow_hue; doublereal arrow_hue;
protected: protected:
doublereal m_flxmax; doublereal m_flxmax;
std::map<size_t, std::map<size_t, Path*> > m_paths; std::map<size_t, std::map<size_t, Path*> > m_paths;
std::map<size_t, SpeciesNode*> m_nodes; std::map<size_t, SpeciesNode*> m_nodes;
std::vector<Path*> m_pathlist; std::vector<Path*> m_pathlist;
std::vector<std::string> m_include; std::vector<std::string> m_include;
std::vector<std::string> m_exclude; std::vector<std::string> m_exclude;
std::vector<size_t> m_speciesNumber; std::vector<size_t> m_speciesNumber;
std::map<size_t, int> m_rxns; std::map<size_t, int> m_rxns;
size_t m_local; size_t m_local;
}; };
@ -324,7 +323,7 @@ protected:
std::vector<std::vector<int> > m_groups; std::vector<std::vector<int> > m_groups;
std::vector<Group> m_sgroup; std::vector<Group> m_sgroup;
std::vector<std::string> m_elementSymbols; std::vector<std::string> m_elementSymbols;
std::map<size_t, std::map<size_t, std::map<size_t, Group> > > m_transfer; std::map<size_t, std::map<size_t, std::map<size_t, Group> > > m_transfer;
std::vector<bool> m_determinate; std::vector<bool> m_determinate;
Array2D m_atoms; Array2D m_atoms;
std::map<std::string, size_t> m_enamemap; std::map<std::string, size_t> m_enamemap;

View file

@ -47,7 +47,7 @@ public:
//! Update concentration-dependent parts of the rate coefficient. //! Update concentration-dependent parts of the rate coefficient.
/*! /*!
* For this class, there are no * For this class, there are no
* concentration-dependent parts, so this method does nothing. * concentration-dependent parts, so this method does nothing.
*/ */
void update_C(const doublereal* c) { void update_C(const doublereal* c) {
} }

View file

@ -657,9 +657,9 @@ public:
} }
private: private:
std::vector<C1> m_c1_list; std::vector<C1> m_c1_list;
std::vector<C2> m_c2_list; std::vector<C2> m_c2_list;
std::vector<C3> m_c3_list; std::vector<C3> m_c3_list;
std::vector<C_AnyN> m_cn_list; std::vector<C_AnyN> m_cn_list;
}; };

View file

@ -39,7 +39,7 @@ const int THREE_BODY_RXN = 2;
* The general form for a gas-phase association or dissociation reaction, with a * The general form for a gas-phase association or dissociation reaction, with a
* pressure-dependent rate. Example: CH3 + H (+M) <-> CH4 (+M) * pressure-dependent rate. Example: CH3 + H (+M) <-> CH4 (+M)
*/ */
const int FALLOFF_RXN = 4; const int FALLOFF_RXN = 4;
/** /**
* A pressure-dependent rate expression consisting of several Arrhenius rate * A pressure-dependent rate expression consisting of several Arrhenius rate
@ -61,7 +61,7 @@ const int CHEBYSHEV_RXN = 6;
* a reaction intermediate. Example: Si + SiH4 (+M) <-> Si2H2 + H2 * a reaction intermediate. Example: Si + SiH4 (+M) <-> Si2H2 + H2
* (+M), which competes with Si + SiH4 (+M) <-> Si2H4 (+M). * (+M), which competes with Si + SiH4 (+M) <-> Si2H4 (+M).
*/ */
const int CHEMACT_RXN = 8; const int CHEMACT_RXN = 8;
/** /**
* A reaction occurring on a surface. * A reaction occurring on a surface.
@ -69,7 +69,7 @@ const int CHEMACT_RXN = 8;
* The dimensionality of the interface is a separate concept from the type * The dimensionality of the interface is a separate concept from the type
* of the reaction. * of the reaction.
*/ */
const int SURFACE_RXN = 20; const int SURFACE_RXN = 20;
//! A reaction occurring on an interface, e.g a surface or edge. //! A reaction occurring on an interface, e.g a surface or edge.
const int INTERFACE_RXN = 20; const int INTERFACE_RXN = 20;
@ -97,13 +97,13 @@ const int SURFACEAFFINITY_RXN = 27;
* The dimensionality of the interface is a separate concept from the type * The dimensionality of the interface is a separate concept from the type
* of the reaction. * of the reaction.
*/ */
const int EDGE_RXN = 22; const int EDGE_RXN = 22;
/** /**
* A global reaction. These may have non-mass action reaction orders, * A global reaction. These may have non-mass action reaction orders,
* and are not allowed to be reversible. * and are not allowed to be reversible.
*/ */
const int GLOBAL_RXN = 30; const int GLOBAL_RXN = 30;
//@} //@}
@ -133,7 +133,7 @@ const int CHEBYSHEV_REACTION_RATECOEFF_TYPE = 8;
//@{ //@{
const int SIMPLE_FALLOFF = 100; const int SIMPLE_FALLOFF = 100;
const int TROE_FALLOFF = 110; const int TROE_FALLOFF = 110;
const int SRI_FALLOFF = 112; const int SRI_FALLOFF = 112;
//@} //@}
} }

View file

@ -123,7 +123,7 @@ namespace Cantera
* values defined in @ref solvesp_methods. * values defined in @ref solvesp_methods.
* *
* ### Pseudo time stepping algorithm: * ### Pseudo time stepping algorithm:
* The time step is determined from sdot[], so so that the time step * The time step is determined from sdot[], so that the time step
* doesn't ever change the value of a variable by more than 100%. * doesn't ever change the value of a variable by more than 100%.
* *
* This algorithm does use a damped Newton's method to relax the equations. * This algorithm does use a damped Newton's method to relax the equations.
@ -132,7 +132,7 @@ namespace Cantera
* *
* `EXTRA_ACCURACY`: A constant that is the ratio of the required update norm * `EXTRA_ACCURACY`: A constant that is the ratio of the required update norm
* in this Newton iteration compared to that in the nonlinear solver. A value * in this Newton iteration compared to that in the nonlinear solver. A value
* of 0.1 is used so surface species are safely overconverged. * of 0.1 is used so surface species are safely overconverged.
* *
* Functions called: * Functions called:
* - `ct_dgetrf` -- First half of LAPACK direct solve of a full Matrix * - `ct_dgetrf` -- First half of LAPACK direct solve of a full Matrix
@ -217,7 +217,7 @@ private:
* @param netProdRateSolnSP Output variable. Net production rate of all * @param netProdRateSolnSP Output variable. Net production rate of all
* of the species in the solution vector. * of the species in the solution vector.
* @param XMolSolnSP output variable. Mole fraction of all of the species * @param XMolSolnSP output variable. Mole fraction of all of the species
* in the solution vector * in the solution vector
* @param label Output variable. Pointer to the value of the species * @param label Output variable. Pointer to the value of the species
* index (kindexSP) that is controlling the time step * index (kindexSP) that is controlling the time step
* @param label_old Output variable. Pointer to the value of the species * @param label_old Output variable. Pointer to the value of the species
@ -288,8 +288,8 @@ private:
* @param do_time Calculate a time dependent residual * @param do_time Calculate a time dependent residual
* @param deltaT Delta time for time dependent problem. * @param deltaT Delta time for time dependent problem.
*/ */
void fun_eval(doublereal* resid, const doublereal* CSolnSP, void fun_eval(doublereal* resid, const doublereal* CSolnSP,
const doublereal* CSolnOldSP, const bool do_time, const doublereal deltaT); const doublereal* CSolnOldSP, const bool do_time, const doublereal deltaT);
//! Main routine that calculates the current residual and Jacobian //! Main routine that calculates the current residual and Jacobian
/*! /*!
@ -305,7 +305,7 @@ private:
*/ */
void resjac_eval(SquareMatrix& jac, doublereal* resid, void resjac_eval(SquareMatrix& jac, doublereal* resid,
doublereal* CSolnSP, doublereal* CSolnSP,
const doublereal* CSolnSPOld, const bool do_time, const doublereal* CSolnSPOld, const bool do_time,
const doublereal deltaT); const doublereal deltaT);
//! Pointer to the manager of the implicit surface chemistry problem //! Pointer to the manager of the implicit surface chemistry problem
@ -397,7 +397,7 @@ private:
* This is equal to or less than the total number of volumetric phases in * This is equal to or less than the total number of volumetric phases in
* all of the InterfaceKinetics objects. We usually do not include bulk * all of the InterfaceKinetics objects. We usually do not include bulk
* phases. Bulk phases are only included in the calculation when their * phases. Bulk phases are only included in the calculation when their
* domain isn't included in the underlying continuum model conservation * domain isn't included in the underlying continuum model conservation
* equation system. * equation system.
* *
* This is equal to 0, for the time being * This is equal to 0, for the time being
@ -408,7 +408,7 @@ private:
/*! /*!
* Length is number of bulk phases * Length is number of bulk phases
*/ */
std::vector<size_t> m_numBulkSpecies; std::vector<size_t> m_numBulkSpecies;
//! Total number of species in all bulk phases. //! Total number of species in all bulk phases.
/*! /*!
@ -444,7 +444,7 @@ private:
* varies from 0 to (num species in phase - 1) and `i` is the surface * varies from 0 to (num species in phase - 1) and `i` is the surface
* phase index in the problem. Length is equal to #m_numSurfPhases. * phase index in the problem. Length is equal to #m_numSurfPhases.
*/ */
std::vector<size_t> m_spSurfLarge; std::vector<size_t> m_spSurfLarge;
//! The absolute tolerance in real units. units are (kmol/m2) //! The absolute tolerance in real units. units are (kmol/m2)
doublereal m_atol; doublereal m_atol;

View file

@ -95,7 +95,7 @@ public:
//! Return the value of element (i,j). //! Return the value of element (i,j).
/*! /*!
* This method does not alter the array. * This method does not alter the array.
* @param i row * @param i row
* @param j column * @param j column
* @return Returns the value of the matrix entry * @return Returns the value of the matrix entry
@ -299,7 +299,7 @@ protected:
doublereal m_zero; doublereal m_zero;
//! Pivot vector //! Pivot vector
vector_int m_ipiv; vector_int m_ipiv;
//! Vector of column pointers //! Vector of column pointers
std::vector<doublereal*> m_colPtrs; std::vector<doublereal*> m_colPtrs;

View file

@ -109,7 +109,7 @@ private:
int m_maxsteps; int m_maxsteps;
int m_maxErrTestFails; int m_maxErrTestFails;
FuncData* m_fdata; FuncData* m_fdata;
N_Vector* m_yS; N_Vector* m_yS;
size_t m_np; size_t m_np;
int m_mupper, m_mlower; int m_mupper, m_mlower;
@ -118,7 +118,7 @@ private:
bool m_sens_ok; bool m_sens_ok;
}; };
} // namespace } // namespace
#else #else

View file

@ -239,7 +239,7 @@ protected:
ResidJacEval& m_resid; ResidJacEval& m_resid;
//! Number of total equations in the system //! Number of total equations in the system
integer m_neq; integer m_neq;
doublereal m_time; doublereal m_time;
private: private:

View file

@ -54,7 +54,7 @@ public:
* LAPACK is handled by either throwing an exception of type, CELapackError, or by * LAPACK is handled by either throwing an exception of type, CELapackError, or by
* returning the error code condition to the calling routine. * returning the error code condition to the calling routine.
* *
* The int variable, m_useReturnErrorCode, determines which method is used. * The int variable, m_useReturnErrorCode, determines which method is used.
* The default value of zero means that an exception is thrown. A value of 1 * The default value of zero means that an exception is thrown. A value of 1
* means that a return code is used. * means that a return code is used.
* *
@ -102,7 +102,7 @@ public:
*/ */
void resize(size_t n, size_t m, doublereal v = 0.0); void resize(size_t n, size_t m, doublereal v = 0.0);
virtual doublereal* const* colPts(); virtual doublereal* const* colPts();
//! Return a const vector of const pointers to the columns //! Return a const vector of const pointers to the columns
/*! /*!
@ -148,7 +148,7 @@ public:
protected: protected:
//! Vector of pivots. Length is equal to the max of m and n. //! Vector of pivots. Length is equal to the max of m and n.
vector_int m_ipiv; vector_int m_ipiv;
//! Vector of column pointers //! Vector of column pointers
std::vector<doublereal*> m_colPts; std::vector<doublereal*> m_colPts;

View file

@ -339,7 +339,7 @@ public:
m_f2 = &m_f2->duplicate(); m_f2 = &m_f2->duplicate();
m_f1->setParent(this); m_f1->setParent(this);
m_f2->setParent(this); m_f2->setParent(this);
m_parent = 0; m_parent = 0;
return *this; return *this;
} }
@ -402,7 +402,7 @@ public:
m_f2 = &m_f2->duplicate(); m_f2 = &m_f2->duplicate();
m_f1->setParent(this); m_f1->setParent(this);
m_f2->setParent(this); m_f2->setParent(this);
m_parent = 0; m_parent = 0;
return *this; return *this;
} }
@ -463,7 +463,7 @@ public:
m_f2 = &m_f2->duplicate(); m_f2 = &m_f2->duplicate();
m_f1->setParent(this); m_f1->setParent(this);
m_f2->setParent(this); m_f2->setParent(this);
m_parent = 0; m_parent = 0;
return *this; return *this;
} }
@ -522,7 +522,7 @@ public:
Func1::operator=(right); Func1::operator=(right);
m_f1 = &m_f1->duplicate(); m_f1 = &m_f1->duplicate();
m_f1->setParent(this); m_f1->setParent(this);
m_parent = 0; m_parent = 0;
return *this; return *this;
} }
virtual int ID() const { virtual int ID() const {
@ -597,7 +597,7 @@ public:
Func1::operator=(right); Func1::operator=(right);
m_f1 = &m_f1->duplicate(); m_f1 = &m_f1->duplicate();
m_f1->setParent(this); m_f1->setParent(this);
m_parent = 0; m_parent = 0;
return *this; return *this;
} }
@ -658,7 +658,7 @@ public:
m_f2 = &m_f2->duplicate(); m_f2 = &m_f2->duplicate();
m_f1->setParent(this); m_f1->setParent(this);
m_f2->setParent(this); m_f2->setParent(this);
m_parent = 0; m_parent = 0;
return *this; return *this;
} }
@ -724,7 +724,7 @@ public:
m_f2 = &m_f2->duplicate(); m_f2 = &m_f2->duplicate();
m_f1->setParent(this); m_f1->setParent(this);
m_f2->setParent(this); m_f2->setParent(this);
m_parent = 0; m_parent = 0;
return *this; return *this;
} }
@ -791,10 +791,10 @@ public:
return *this; return *this;
} }
Func1::operator=(right); Func1::operator=(right);
m_A = right.m_A; m_A = right.m_A;
m_t0 = right.m_t0; m_t0 = right.m_t0;
m_tau = right.m_tau; m_tau = right.m_tau;
m_parent = 0; m_parent = 0;
return *this; return *this;
} }
@ -836,9 +836,9 @@ public:
return *this; return *this;
} }
Func1::operator=(right); Func1::operator=(right);
m_cpoly = right.m_cpoly; m_cpoly = right.m_cpoly;
m_n = right.m_n; m_n = right.m_n;
m_parent = 0; m_parent = 0;
return *this; return *this;
} }
@ -896,11 +896,11 @@ public:
} }
Func1::operator=(right); Func1::operator=(right);
m_omega = right.m_omega; m_omega = right.m_omega;
m_a0_2 = right.m_a0_2; m_a0_2 = right.m_a0_2;
m_ccos = right.m_ccos; m_ccos = right.m_ccos;
m_csin = right.m_csin; m_csin = right.m_csin;
m_n = right.m_n; m_n = right.m_n;
m_parent = 0; m_parent = 0;
return *this; return *this;
} }
@ -960,11 +960,11 @@ public:
return *this; return *this;
} }
Func1::operator=(right); Func1::operator=(right);
m_n = right.m_n; m_n = right.m_n;
m_A = right.m_A; m_A = right.m_A;
m_b = right.m_b; m_b = right.m_b;
m_E = right.m_E; m_E = right.m_E;
m_parent = 0; m_parent = 0;
return *this; return *this;
} }

View file

@ -15,10 +15,10 @@
#include "sundials/sundials_nvector.h" #include "sundials/sundials_nvector.h"
// These constants are defined internally in the IDA package, ida.c // These constants are defined internally in the IDA package, ida.c
#define IDA_NN 0 #define IDA_NN 0
#define IDA_SS 1 #define IDA_SS 1
#define IDA_SV 2 #define IDA_SV 2
#define IDA_WF 3 #define IDA_WF 3
#define REAL_WORKSPACE_SIZE 0 #define REAL_WORKSPACE_SIZE 0
@ -83,7 +83,7 @@ public:
//! Set the stop time //! Set the stop time
/*! /*!
* @param tstop the independent variable value past which the solution is not to proceed. * @param tstop the independent variable value past which the solution is not to proceed.
*/ */
virtual void setStopTime(doublereal tstop); virtual void setStopTime(doublereal tstop);

View file

@ -17,20 +17,20 @@
namespace Cantera namespace Cantera
{ {
const int DIAG = 1; const int DIAG = 1;
const int DENSE = 2; const int DENSE = 2;
const int NOJAC = 4; const int NOJAC = 4;
const int JAC = 8; const int JAC = 8;
const int GMRES =16; const int GMRES = 16;
const int BAND =32; const int BAND = 32;
/** /**
* Specifies the method used to integrate the system of equations. * Specifies the method used to integrate the system of equations.
* Not all methods are supported by all integrators. * Not all methods are supported by all integrators.
*/ */
enum MethodType { enum MethodType {
BDF_Method, /**< Backward Differentiation */ BDF_Method, /**< Backward Differentiation */
Adams_Method /**< Adams */ Adams_Method /**< Adams */
}; };
//! Specifies the method used for iteration. //! Specifies the method used for iteration.
@ -212,6 +212,6 @@ private:
// defined in ODE_integrators.cpp // defined in ODE_integrators.cpp
Integrator* newIntegrator(const std::string& itype); Integrator* newIntegrator(const std::string& itype);
} // namespace } // namespace
#endif #endif

View file

@ -44,9 +44,9 @@ enum ResidEval_Type_Enum {
//! Wrappers for the function evaluators for Nonlinear solvers and Time steppers //! Wrappers for the function evaluators for Nonlinear solvers and Time steppers
/*! /*!
* A class for full (non-sparse dense matrices with Fortran-compatible data storage. * A class for full (non-sparse dense matrices with Fortran-compatible data storage.
* The class adds support for identifying what types of calls are made to the residual * The class adds support for identifying what types of calls are made to the residual
* evaluator by adding the ResidEval_Type_Enum class. * evaluator by adding the ResidEval_Type_Enum class.
*/ */
class ResidJacEval : public ResidEval class ResidJacEval : public ResidEval
{ {
@ -106,7 +106,7 @@ public:
const doublereal* const ydot, const doublereal* const ydot,
doublereal* const r); doublereal* const r);
virtual int getInitialConditions(const doublereal t0, doublereal* const y, doublereal* const ydot); virtual int getInitialConditions(const doublereal t0, doublereal* const y, doublereal* const ydot);
//! Filter the solution predictions //! Filter the solution predictions
/*! /*!
@ -152,8 +152,8 @@ public:
* 1 Means a successful operation * 1 Means a successful operation
* -0 or neg value Means an unsuccessful operation * -0 or neg value Means an unsuccessful operation
*/ */
virtual int evalTimeTrackingEqns(const doublereal t, const doublereal delta_t, const doublereal* const y, virtual int evalTimeTrackingEqns(const doublereal t, const doublereal delta_t, const doublereal* const y,
const doublereal* const ydot); const doublereal* const ydot);
//! Evaluate any stopping criteria other than a final time limit //! Evaluate any stopping criteria other than a final time limit
/*! /*!
@ -256,8 +256,8 @@ public:
* 1 Means a successful operation * 1 Means a successful operation
* -0 or neg value Means an unsuccessful operation * -0 or neg value Means an unsuccessful operation
*/ */
virtual int matrixConditioning(doublereal* const matrix, const int nrows, virtual int matrixConditioning(doublereal* const matrix, const int nrows,
doublereal* const rhs); doublereal* const rhs);
//! Calculate an analytical Jacobian and the residual at the current time and values. //! Calculate an analytical Jacobian and the residual at the current time and values.
/*! /*!
@ -287,7 +287,7 @@ public:
* @param cj Coefficient of yprime used in the evaluation of the Jacobian * @param cj Coefficient of yprime used in the evaluation of the Jacobian
* @param y Solution vector (input, do not modify) * @param y Solution vector (input, do not modify)
* @param ydot Rate of change of solution vector. (input, do not modify) * @param ydot Rate of change of solution vector. (input, do not modify)
* @param jacobianColPts Pointer to the vector of pts to columns of the SquareMatrix * @param jacobianColPts Pointer to the vector of pts to columns of the SquareMatrix
* object to be calculated (output) * object to be calculated (output)
* @param resid Value of the residual that is computed (output) * @param resid Value of the residual that is computed (output)
* @return Returns a flag to indicate that operation is successful. * @return Returns a flag to indicate that operation is successful.

View file

@ -26,7 +26,7 @@ namespace Cantera
/// @name Constant which determines the return integer from the routine /// @name Constant which determines the return integer from the routine
//! This means that the root solver was a success //! This means that the root solver was a success
#define ROOTFIND_SUCCESS 0 #define ROOTFIND_SUCCESS 0
//! This return value means that the root finder resolved a solution in the x coordinate //! This return value means that the root finder resolved a solution in the x coordinate
//! However, convergence in F was not achieved. //! However, convergence in F was not achieved.
/*! /*!
@ -36,13 +36,13 @@ namespace Cantera
*/ */
#define ROOTFIND_SUCCESS_XCONVERGENCEONLY 1 #define ROOTFIND_SUCCESS_XCONVERGENCEONLY 1
//! This means that the root solver failed to achieve convergence //! This means that the root solver failed to achieve convergence
#define ROOTFIND_FAILEDCONVERGENCE -1 #define ROOTFIND_FAILEDCONVERGENCE -1
//! This means that the input to the root solver was defective //! This means that the input to the root solver was defective
#define ROOTFIND_BADINPUT -2 #define ROOTFIND_BADINPUT -2
//! This means that the rootfinder believes the solution is lower than xmin //! This means that the rootfinder believes the solution is lower than xmin
#define ROOTFIND_SOLNLOWERTHANXMIN -3 #define ROOTFIND_SOLNLOWERTHANXMIN -3
//! This means that the rootfinder believes the solution is higher than xmax //! This means that the rootfinder believes the solution is higher than xmax
#define ROOTFIND_SOLNHIGHERTHANXMAX -4 #define ROOTFIND_SOLNHIGHERTHANXMAX -4
//@} //@}
//! Root finder for 1D problems //! Root finder for 1D problems

View file

@ -108,7 +108,7 @@ public:
virtual GeneralMatrix* duplMyselfAsGeneralMatrix() const; virtual GeneralMatrix* duplMyselfAsGeneralMatrix() const;
virtual vector_fp::iterator begin(); virtual vector_fp::iterator begin();
virtual vector_fp::const_iterator begin() const; virtual vector_fp::const_iterator begin() const;
virtual doublereal* const* colPts(); virtual doublereal* const* colPts();

View file

@ -130,22 +130,22 @@ extern "C" {
int _DSCAL_(integer* n, doublereal* da, doublereal* dx, integer* incx); int _DSCAL_(integer* n, doublereal* da, doublereal* dx, integer* incx);
int _DGEQRF_(const integer* m, const integer* n, doublereal* a, const integer* lda, int _DGEQRF_(const integer* m, const integer* n, doublereal* a, const integer* lda,
doublereal* tau, doublereal* work, const integer* lwork, integer* info); doublereal* tau, doublereal* work, const integer* lwork, integer* info);
#ifdef LAPACK_FTN_STRING_LEN_AT_END #ifdef LAPACK_FTN_STRING_LEN_AT_END
int _DORMQR_(const char* side, const char* trans, const integer* m, const integer* n, int _DORMQR_(const char* side, const char* trans, const integer* m, const integer* n,
const integer* k, doublereal* a, const integer* lda, const integer* k, doublereal* a, const integer* lda,
doublereal* tau, doublereal* c, const integer* ldc, doublereal* tau, doublereal* c, const integer* ldc,
doublereal* work, const integer* lwork, integer* info, ftnlen sisize, ftnlen trsize); doublereal* work, const integer* lwork, integer* info, ftnlen sisize, ftnlen trsize);
#else #else
int _DORMQR_(const char* side, ftnlen sisize, const char* trans, ftnlen trsize, const integer* m, int _DORMQR_(const char* side, ftnlen sisize, const char* trans, ftnlen trsize, const integer* m,
const integer* n, const integer* k, doublereal* a, const integer* lda, const integer* n, const integer* k, doublereal* a, const integer* lda,
doublereal* tau,doublereal* c, const integer* ldc, doublereal* tau,doublereal* c, const integer* ldc,
doublereal* work, const integer* lwork, integer* info); doublereal* work, const integer* lwork, integer* info);
#endif #endif
#ifdef LAPACK_FTN_STRING_LEN_AT_END #ifdef LAPACK_FTN_STRING_LEN_AT_END
int _DTRTRS_(const char* uplo, const char* trans, const char* diag, const integer* n, int _DTRTRS_(const char* uplo, const char* trans, const char* diag, const integer* n,
const integer* nrhs, doublereal* a, const integer* lda, const integer* nrhs, doublereal* a, const integer* lda,
doublereal* b, const integer* ldb, integer* info, doublereal* b, const integer* ldb, integer* info,
ftnlen upsize, ftnlen trsize, ftnlen disize); ftnlen upsize, ftnlen trsize, ftnlen disize);
@ -157,7 +157,7 @@ extern "C" {
#ifdef LAPACK_FTN_STRING_LEN_AT_END #ifdef LAPACK_FTN_STRING_LEN_AT_END
int _DTRCON_(const char* norm, const char* uplo, const char* diag, const integer* n, int _DTRCON_(const char* norm, const char* uplo, const char* diag, const integer* n,
doublereal* a, const integer* lda, const doublereal* rcond, doublereal* a, const integer* lda, const doublereal* rcond,
doublereal* work, const integer* iwork, integer* info, ftnlen nosize, doublereal* work, const integer* iwork, integer* info, ftnlen nosize,
ftnlen upsize, ftnlen disize); ftnlen upsize, ftnlen disize);
@ -169,23 +169,23 @@ extern "C" {
#ifdef LAPACK_FTN_STRING_LEN_AT_END #ifdef LAPACK_FTN_STRING_LEN_AT_END
int _DPOTRF_(const char* uplo, const integer* n, doublereal* a, const integer* lda, integer* info, int _DPOTRF_(const char* uplo, const integer* n, doublereal* a, const integer* lda, integer* info,
ftnlen upsize); ftnlen upsize);
#else #else
int _DPOTRF_(const char* uplo, ftnlen upsize, const integer* n, doublereal* a, const integer* lda, int _DPOTRF_(const char* uplo, ftnlen upsize, const integer* n, doublereal* a, const integer* lda,
integer* info); integer* info);
#endif #endif
#ifdef LAPACK_FTN_STRING_LEN_AT_END #ifdef LAPACK_FTN_STRING_LEN_AT_END
int _DPOTRS_(const char* uplo, const integer* n, const integer* nrhs, doublereal* a, const integer* lda, int _DPOTRS_(const char* uplo, const integer* n, const integer* nrhs, doublereal* a, const integer* lda,
doublereal* b, const integer* ldb, integer* info, ftnlen upsize); doublereal* b, const integer* ldb, integer* info, ftnlen upsize);
#else #else
int _DPOTRS_(const char* uplo, ftnlen upsize, const integer* n, const integer* nrhs, doublereal* a, const integer* lda, int _DPOTRS_(const char* uplo, ftnlen upsize, const integer* n, const integer* nrhs, doublereal* a, const integer* lda,
doublereal* b, const integer* ldb, integer* info); doublereal* b, const integer* ldb, integer* info);
#endif #endif
#ifdef LAPACK_FTN_STRING_LEN_AT_END #ifdef LAPACK_FTN_STRING_LEN_AT_END
int _DGECON_(const char* norm, const integer* n, doublereal* a, const integer* lda, int _DGECON_(const char* norm, const integer* n, doublereal* a, const integer* lda,
const doublereal* rnorm, const doublereal* rcond, const doublereal* rnorm, const doublereal* rcond,
doublereal* work, const integer* iwork, integer* info, ftnlen nosize); doublereal* work, const integer* iwork, integer* info, ftnlen nosize);
#else #else
@ -199,7 +199,7 @@ extern "C" {
const integer* ipiv, const doublereal* anorm, const doublereal* rcond, const integer* ipiv, const doublereal* anorm, const doublereal* rcond,
doublereal* work, const integer* iwork, integer* info, ftnlen nosize); doublereal* work, const integer* iwork, integer* info, ftnlen nosize);
#else #else
int _DGBCON_(const char* norm, ftnlen nosize, const integer* n, integer* kl, integer* ku, doublereal* ab, const integer* ldab, int _DGBCON_(const char* norm, ftnlen nosize, const integer* n, integer* kl, integer* ku, doublereal* ab, const integer* ldab,
const integer* ipiv, const doublereal* anorm, const doublereal* rcond, const integer* ipiv, const doublereal* anorm, const doublereal* rcond,
doublereal* work, const integer* iwork, integer* info); doublereal* work, const integer* iwork, integer* info);
#endif #endif
@ -387,13 +387,13 @@ inline void ct_dormqr(ctlapack::side_t rlside, ctlapack::transpose_t trans, size
integer f_ldc = static_cast<integer>(ldc); integer f_ldc = static_cast<integer>(ldc);
integer f_info = 0; integer f_info = 0;
#ifdef NO_FTN_STRING_LEN_AT_END #ifdef NO_FTN_STRING_LEN_AT_END
_DORMQR_(&side, &tr, &f_m, &f_n, &f_k, a, &f_lda, tau, c, &f_ldc, work, &f_lwork, &f_info); _DORMQR_(&side, &tr, &f_m, &f_n, &f_k, a, &f_lda, tau, c, &f_ldc, work, &f_lwork, &f_info);
#else #else
ftnlen trsize = 1; ftnlen trsize = 1;
#ifdef LAPACK_FTN_STRING_LEN_AT_END #ifdef LAPACK_FTN_STRING_LEN_AT_END
_DORMQR_(&side, &tr, &f_m, &f_n, &f_k, a, &f_lda, tau, c, &f_ldc, work, &f_lwork, &f_info, trsize, trsize); _DORMQR_(&side, &tr, &f_m, &f_n, &f_k, a, &f_lda, tau, c, &f_ldc, work, &f_lwork, &f_info, trsize, trsize);
#else #else
_DORMQR_(&side, trsize, &tr, trsize, &f_m, &f_n, &f_k, a, &f_lda, tau, c, &f_ldc, work, &f_lwork, &f_info); _DORMQR_(&side, trsize, &tr, trsize, &f_m, &f_n, &f_k, a, &f_lda, tau, c, &f_ldc, work, &f_lwork, &f_info);
#endif #endif
#endif #endif
info = f_info; info = f_info;
@ -430,7 +430,7 @@ inline void ct_dtrtrs(ctlapack::upperlower_t uplot, ctlapack::transpose_t trans,
* @param work Must be dimensioned equal to greater than 3N * @param work Must be dimensioned equal to greater than 3N
* @param iwork Must be dimensioned equal to or greater than N * @param iwork Must be dimensioned equal to or greater than N
*/ */
inline doublereal ct_dtrcon(const char* norm, ctlapack::upperlower_t uplot, const char* diag, inline doublereal ct_dtrcon(const char* norm, ctlapack::upperlower_t uplot, const char* diag,
size_t n, doublereal* a, size_t lda, doublereal* work, int* iwork, int& info) size_t n, doublereal* a, size_t lda, doublereal* work, int* iwork, int& info)
{ {
char uplo = upper_lower[uplot]; char uplo = upper_lower[uplot];
@ -518,13 +518,13 @@ inline doublereal ct_dgecon(const char norm, size_t n, doublereal* a, size_t lda
doublereal rcond; doublereal rcond;
#ifdef NO_FTN_STRING_LEN_AT_END #ifdef NO_FTN_STRING_LEN_AT_END
_DGECON_(&cnorm, &f_n a, &f_lda, &anorm, &rcond, work, iwork, &f_info); _DGECON_(&cnorm, &f_n a, &f_lda, &anorm, &rcond, work, iwork, &f_info);
#else #else
ftnlen trsize = 1; ftnlen trsize = 1;
#ifdef LAPACK_FTN_STRING_LEN_AT_END #ifdef LAPACK_FTN_STRING_LEN_AT_END
_DGECON_(&cnorm, &f_n, a, &f_lda, &anorm, &rcond, work, iwork, &f_info, trsize); _DGECON_(&cnorm, &f_n, a, &f_lda, &anorm, &rcond, work, iwork, &f_info, trsize);
#else #else
_DGECON_(&cnorm, trsize, &f_n, a, &f_lda, &anorm, &rcond, work, iwork, &f_info); _DGECON_(&cnorm, trsize, &f_n, a, &f_lda, &anorm, &rcond, work, iwork, &f_info);
#endif #endif
#endif #endif
info = f_info; info = f_info;
@ -573,13 +573,13 @@ inline doublereal ct_dlange(const char norm, size_t m, size_t n, doublereal* a,
doublereal anorm; doublereal anorm;
#ifdef NO_FTN_STRING_LEN_AT_END #ifdef NO_FTN_STRING_LEN_AT_END
anorm = _DLANGE_(&cnorm, &f_m, &f_n a, &f_lda, work); anorm = _DLANGE_(&cnorm, &f_m, &f_n a, &f_lda, work);
#else #else
ftnlen trsize = 1; ftnlen trsize = 1;
#ifdef LAPACK_FTN_STRING_LEN_AT_END #ifdef LAPACK_FTN_STRING_LEN_AT_END
anorm = _DLANGE_(&cnorm, &f_m, &f_n, a, &f_lda, work, trsize); anorm = _DLANGE_(&cnorm, &f_m, &f_n, a, &f_lda, work, trsize);
#else #else
anorm = _DLANGE_(&cnorm, trsize, &f_m, &f_n, a, &f_lda, work); anorm = _DLANGE_(&cnorm, trsize, &f_m, &f_n, a, &f_lda, work);
#endif #endif
#endif #endif
return anorm; return anorm;

View file

@ -18,12 +18,12 @@ namespace Cantera
/*! /*!
* Given a collection of points X(I) and a set of values Y(I) which * Given a collection of points X(I) and a set of values Y(I) which
* correspond to some function or measurement at each of the X(I), * correspond to some function or measurement at each of the X(I),
* subroutine DPOLFT computes the weighted least-squares polynomial * subroutine DPOLFT computes the weighted least-squares polynomial
* fits of all degrees up to some degree either specified by the user * fits of all degrees up to some degree either specified by the user
* or determined by the routine. The fits thus obtained are in * or determined by the routine. The fits thus obtained are in
* orthogonal polynomial form. Subroutine DP1VLU may then be * orthogonal polynomial form. Subroutine DP1VLU may then be
* called to evaluate the fitted polynomials and any of their * called to evaluate the fitted polynomials and any of their
* derivatives at any point. The subroutine DPCOEF may be used to * derivatives at any point. The subroutine DPCOEF may be used to
* express the polynomial fits as powers of (X-C) for any specified * express the polynomial fits as powers of (X-C) for any specified
* point C. * point C.
* *
@ -34,34 +34,34 @@ namespace Cantera
* distinct. There are n of them. * distinct. There are n of them.
* @param y array of corresponding function values. There are n of them * @param y array of corresponding function values. There are n of them
* @param w array of positive values to be used as weights. If * @param w array of positive values to be used as weights. If
* W[0] is negative, DPOLFT will set all the weights * W[0] is negative, DPOLFT will set all the weights
* to 1.0, which means unweighted least squares error * to 1.0, which means unweighted least squares error
* will be minimized. To minimize relative error, the * will be minimized. To minimize relative error, the
* user should set the weights to: W(I) = 1.0/Y(I)**2, * user should set the weights to: W(I) = 1.0/Y(I)**2,
* I = 1,...,N . * I = 1,...,N .
* @param maxdeg maximum degree to be allowed for polynomial fit. * @param maxdeg maximum degree to be allowed for polynomial fit.
* MAXDEG may be any non-negative integer less than N. * MAXDEG may be any non-negative integer less than N.
* Note -- MAXDEG cannot be equal to N-1 when a * Note -- MAXDEG cannot be equal to N-1 when a
* statistical test is to be used for degree selection, * statistical test is to be used for degree selection,
* i.e., when input value of EPS is negative. * i.e., when input value of EPS is negative.
* @param ndeg output degree of the fit computed. * @param ndeg output degree of the fit computed.
* @param eps Specifies the criterion to be used in determining * @param eps Specifies the criterion to be used in determining
* the degree of fit to be computed. * the degree of fit to be computed.
* (1) If EPS is input negative, DPOLFT chooses the * (1) If EPS is input negative, DPOLFT chooses the
* degree based on a statistical F test of * degree based on a statistical F test of
* significance. One of three possible * significance. One of three possible
* significance levels will be used: .01, .05 or * significance levels will be used: .01, .05 or
* .10. If EPS=-1.0 , the routine will * .10. If EPS=-1.0 , the routine will
* automatically select one of these levels based * automatically select one of these levels based
* on the number of data points and the maximum * on the number of data points and the maximum
* degree to be considered. If EPS is input as * degree to be considered. If EPS is input as
* -.01, -.05, or -.10, a significance level of * -.01, -.05, or -.10, a significance level of
* .01, .05, or .10, respectively, will be used. * .01, .05, or .10, respectively, will be used.
* (2) If EPS is set to 0., DPOLFT computes the * (2) If EPS is set to 0., DPOLFT computes the
* polynomials of degrees 0 through MAXDEG . * polynomials of degrees 0 through MAXDEG .
* (3) If EPS is input positive, EPS is the RMS * (3) If EPS is input positive, EPS is the RMS
* error tolerance which must be satisfied by the * error tolerance which must be satisfied by the
* fitted polynomial. DPOLFT will increase the * fitted polynomial. DPOLFT will increase the
* degree of fit until this criterion is met or * degree of fit until this criterion is met or
* until the maximum degree is reached. * until the maximum degree is reached.
* @param r Output vector containing the first ndeg+1 Taylor coefficients * @param r Output vector containing the first ndeg+1 Taylor coefficients

View file

@ -16,15 +16,15 @@ namespace Cantera
{ {
// domain types // domain types
const int cFlowType = 50; const int cFlowType = 50;
const int cConnectorType = 100; const int cConnectorType = 100;
const int cSurfType = 102; const int cSurfType = 102;
const int cInletType = 104; const int cInletType = 104;
const int cSymmType = 105; const int cSymmType = 105;
const int cOutletType = 106; const int cOutletType = 106;
const int cEmptyType = 107; const int cEmptyType = 107;
const int cOutletResType = 108; const int cOutletResType = 108;
const int cPorousType = 109; const int cPorousType = 109;
class MultiJac; class MultiJac;
class OneDim; class OneDim;

View file

@ -77,7 +77,7 @@ protected:
*/ */
OneDim* m_resid; OneDim* m_resid;
vector_fp m_r1; vector_fp m_r1;
doublereal m_rtol, m_atol; doublereal m_rtol, m_atol;
doublereal m_elapsed; doublereal m_elapsed;
vector_fp m_ssdiag; vector_fp m_ssdiag;

View file

@ -253,21 +253,21 @@ public:
protected: protected:
void evalSSJacobian(doublereal* x, doublereal* xnew); void evalSSJacobian(doublereal* x, doublereal* xnew);
doublereal m_tmin; // minimum timestep size doublereal m_tmin; // minimum timestep size
doublereal m_tmax; // maximum timestep size doublereal m_tmax; // maximum timestep size
doublereal m_tfactor; // factor time step is multiplied by doublereal m_tfactor; // factor time step is multiplied by
// if time stepping fails ( < 1 ) // if time stepping fails ( < 1 )
MultiJac* m_jac; // Jacobian evaluator MultiJac* m_jac; // Jacobian evaluator
MultiNewton* m_newt; // Newton iterator MultiNewton* m_newt; // Newton iterator
doublereal m_rdt; // reciprocal of time step doublereal m_rdt; // reciprocal of time step
bool m_jac_ok; // if true, Jacobian is current bool m_jac_ok; // if true, Jacobian is current
//! number of domains //! number of domains
size_t m_nd; size_t m_nd;
size_t m_bw; // Jacobian bandwidth size_t m_bw; // Jacobian bandwidth
size_t m_size; // solution vector size size_t m_size; // solution vector size
std::vector<Domain1D*> m_dom, m_connect, m_bulk; std::vector<Domain1D*> m_dom, m_connect, m_bulk;

View file

@ -54,7 +54,7 @@ public:
* the leftmost grid point in the domain. * the leftmost grid point in the domain.
* @param value the value. * @param value the value.
*/ */
void setValue(size_t dom, size_t comp, size_t localPoint, doublereal value); void setValue(size_t dom, size_t comp, size_t localPoint, doublereal value);
/** /**
* Get one entry in the solution vector. * Get one entry in the solution vector.

View file

@ -18,11 +18,11 @@ namespace Cantera
//------------------------------------------ //------------------------------------------
// Offsets of solution components in the solution array. // Offsets of solution components in the solution array.
const size_t c_offset_U = 0; // axial velocity const size_t c_offset_U = 0; // axial velocity
const size_t c_offset_V = 1; // strain rate const size_t c_offset_V = 1; // strain rate
const size_t c_offset_T = 2; // temperature const size_t c_offset_T = 2; // temperature
const size_t c_offset_L = 3; // (1/r)dP/dr const size_t c_offset_L = 3; // (1/r)dP/dr
const size_t c_offset_Y = 4; // mass fractions const size_t c_offset_Y = 4; // mass fractions
// Transport option flags // Transport option flags
const int c_Mixav_Transport = 0; const int c_Mixav_Transport = 0;
@ -318,7 +318,7 @@ protected:
setGas(x,j); setGas(x,j);
m_rho[j] = m_thermo->density(); m_rho[j] = m_thermo->density();
m_wtm[j] = m_thermo->meanMolecularWeight(); m_wtm[j] = m_thermo->meanMolecularWeight();
m_cp[j] = m_thermo->cp_mass(); m_cp[j] = m_thermo->cp_mass();
} }
} }
@ -428,7 +428,7 @@ protected:
// member data // member data
//--------------------------------------------------------- //---------------------------------------------------------
doublereal m_press; // pressure doublereal m_press; // pressure
// grid parameters // grid parameters
vector_fp m_dz; vector_fp m_dz;

View file

@ -70,7 +70,7 @@ public:
//! Update the properties for this species, given a temperature polynomial //! Update the properties for this species, given a temperature polynomial
/*! /*!
* This method is called with a pointer to an array containing the functions of * This method is called with a pointer to an array containing the functions of
* temperature needed by this parameterization, and three pointers to arrays where the * temperature needed by this parameterization, and three pointers to arrays where the
* computed property values should be written. This method updates only one value in * computed property values should be written. This method updates only one value in
* each array. * each array.
* *

View file

@ -148,7 +148,7 @@ public:
//! state of the species at the current <I>T</I> and <I>P</I> of the solution //! state of the species at the current <I>T</I> and <I>P</I> of the solution
/*! /*!
* Units are Joules/kmol * Units are Joules/kmol
* @param gpure Output vector of standard state Gibbs free energies * @param gpure Output vector of standard state Gibbs free energies
* Length: m_kk. * Length: m_kk.
*/ */
virtual void getPureGibbs(doublereal* gpure) const { virtual void getPureGibbs(doublereal* gpure) const {
@ -159,7 +159,7 @@ public:
//! Get the nondimensional Enthalpy functions for the species //! Get the nondimensional Enthalpy functions for the species
//! at their standard states at the current <I>T</I> and <I>P</I> of the solution. //! at their standard states at the current <I>T</I> and <I>P</I> of the solution.
/*! /*!
* @param hrt Output vector of nondimensional standard state enthalpies. * @param hrt Output vector of nondimensional standard state enthalpies.
* Length: m_kk. * Length: m_kk.
*/ */
void getEnthalpy_RT(doublereal* hrt) const { void getEnthalpy_RT(doublereal* hrt) const {
@ -170,7 +170,7 @@ public:
//! Get the array of nondimensional Entropy functions for the //! Get the array of nondimensional Entropy functions for the
//! standard state species at the current <I>T</I> and <I>P</I> of the solution. //! standard state species at the current <I>T</I> and <I>P</I> of the solution.
/*! /*!
* @param sr Output vector of nondimensional standard state entropies. * @param sr Output vector of nondimensional standard state entropies.
* Length: m_kk. * Length: m_kk.
*/ */
void getEntropy_R(doublereal* sr) const { void getEntropy_R(doublereal* sr) const {
@ -307,19 +307,19 @@ public:
protected: protected:
//! Temporary storage for dimensionless reference state enthalpies //! Temporary storage for dimensionless reference state enthalpies
mutable vector_fp m_h0_RT; mutable vector_fp m_h0_RT;
//! Temporary storage for dimensionless reference state heat capacities //! Temporary storage for dimensionless reference state heat capacities
mutable vector_fp m_cp0_R; mutable vector_fp m_cp0_R;
//! Temporary storage for dimensionless reference state Gibbs energies //! Temporary storage for dimensionless reference state Gibbs energies
mutable vector_fp m_g0_RT; mutable vector_fp m_g0_RT;
//! Temporary storage for dimensionless reference state entropies //! Temporary storage for dimensionless reference state entropies
mutable vector_fp m_s0_R; mutable vector_fp m_s0_R;
//! Temporary array containing internally calculated partial pressures //! Temporary array containing internally calculated partial pressures
mutable vector_fp m_pp; mutable vector_fp m_pp;
//! Current pressure (Pa) //! Current pressure (Pa)
doublereal m_press; doublereal m_press;

View file

@ -28,18 +28,18 @@ namespace Cantera
* These are possible formats for the molality-based activity coefficients. * These are possible formats for the molality-based activity coefficients.
*/ */
//@{ //@{
#define DHFORM_DILUTE_LIMIT 0 #define DHFORM_DILUTE_LIMIT 0
#define DHFORM_BDOT_AK 1 #define DHFORM_BDOT_AK 1
#define DHFORM_BDOT_ACOMMON 2 #define DHFORM_BDOT_ACOMMON 2
#define DHFORM_BETAIJ 3 #define DHFORM_BETAIJ 3
#define DHFORM_PITZER_BETAIJ 4 #define DHFORM_PITZER_BETAIJ 4
//@} //@}
/* /*
* @name Acceptable ways to calculate the value of A_Debye * @name Acceptable ways to calculate the value of A_Debye
*/ */
//@{ //@{
#define A_DEBYE_CONST 0 #define A_DEBYE_CONST 0
#define A_DEBYE_WATER 1 #define A_DEBYE_WATER 1
//@} //@}
class WaterProps; class WaterProps;
@ -108,7 +108,7 @@ class PDSS_Water;
* all solutes. The molar volume for the water solvent, however, * all solutes. The molar volume for the water solvent, however,
* is obtained from a pure water equation of state, waterSS. * is obtained from a pure water equation of state, waterSS.
* Therefore, the water standard state varies with both T and P. * Therefore, the water standard state varies with both T and P.
* It is an error to request standard state water properties at a T and P * It is an error to request standard state water properties at a T and P
* where the water phase is not a stable phase, i.e., beyond its * where the water phase is not a stable phase, i.e., beyond its
* spinodal curve. * spinodal curve.
* *
@ -117,7 +117,7 @@ class PDSS_Water;
* <HR> * <HR>
* *
* Chemical potentials * Chemical potentials
* of the solutes, \f$ \mu_k \f$, and the solvent, \f$ \mu_o \f$, which are based * of the solutes, \f$ \mu_k \f$, and the solvent, \f$ \mu_o \f$, which are based
* on the molality form, have the following general format: * on the molality form, have the following general format:
* *
* \f[ * \f[
@ -785,7 +785,7 @@ public:
/** /**
* @} * @}
* @name Activities, Standard States, and Activity Concentrations * @name Activities, Standard States, and Activity Concentrations
* *
* The activity \f$a_k\f$ of a species in solution is * The activity \f$a_k\f$ of a species in solution is
* related to the chemical potential by \f[ \mu_k = \mu_k^0(T) * related to the chemical potential by \f[ \mu_k = \mu_k^0(T)
@ -924,7 +924,7 @@ public:
* \f] * \f]
* *
* The reference-state pure-species entropies,\f$ \hat s^0_k(T) \f$, * The reference-state pure-species entropies,\f$ \hat s^0_k(T) \f$,
* at the reference pressure, \f$ P_{ref} \f$, are computed by the * at the reference pressure, \f$ P_{ref} \f$, are computed by the
* species thermodynamic * species thermodynamic
* property manager. They are polynomial functions of temperature. * property manager. They are polynomial functions of temperature.
* @see SpeciesThermo * @see SpeciesThermo
@ -1025,9 +1025,9 @@ public:
* to see if phaseNode is pointing to the phase * to see if phaseNode is pointing to the phase
* with the correct id. * with the correct id.
*/ */
virtual void initThermoXML(XML_Node& phaseNode, const std::string& id); virtual void initThermoXML(XML_Node& phaseNode, const std::string& id);
//! Return the Debye Huckel constant as a function of temperature //! Return the Debye Huckel constant as a function of temperature
//! and pressure (Units = sqrt(kg/gmol)) //! and pressure (Units = sqrt(kg/gmol))
/*! /*!
* The default is to assume that it is constant, given * The default is to assume that it is constant, given
@ -1163,7 +1163,7 @@ private:
//@} //@}
protected: protected:
//! form of the Debye-Huckel parameterization used in the model. //! form of the Debye-Huckel parameterization used in the model.
/*! /*!
* The options are described at the top of this document, * The options are described at the top of this document,
* and in the general documentation. * and in the general documentation.
@ -1219,7 +1219,7 @@ protected:
* - nonpolarNeutral * - nonpolarNeutral
* . * .
*/ */
vector_int m_electrolyteSpeciesType; vector_int m_electrolyteSpeciesType;
/** /**
* a_k = Size of the ionic species in the DH formulation * a_k = Size of the ionic species in the DH formulation
@ -1316,7 +1316,7 @@ protected:
* in some formulations to extend DH to higher molalities. B_dot is * in some formulations to extend DH to higher molalities. B_dot is
* specific to the major ionic pair. * specific to the major ionic pair.
*/ */
vector_fp m_B_Dot; vector_fp m_B_Dot;
/** /**
* These are coefficients to describe the increase in activity coeff for * These are coefficients to describe the increase in activity coeff for
@ -1326,7 +1326,7 @@ protected:
vector_fp m_npActCoeff; vector_fp m_npActCoeff;
//! Pointer to the Water standard state object //! Pointer to the Water standard state object
/*! /*!
* derived from the equation of state for water. * derived from the equation of state for water.
*/ */
@ -1342,10 +1342,10 @@ protected:
WaterProps* m_waterProps; WaterProps* m_waterProps;
//! Temporary array used in equilibrium calculations //! Temporary array used in equilibrium calculations
mutable vector_fp m_pp; mutable vector_fp m_pp;
//! vector of size m_kk, used as a temporary holding area. //! vector of size m_kk, used as a temporary holding area.
mutable vector_fp m_tmpV; mutable vector_fp m_tmpV;
/** /**
* Stoichiometric species charge -> This is for calculations * Stoichiometric species charge -> This is for calculations
@ -1359,7 +1359,7 @@ protected:
* For species that aren't ion pairs, it's equal to the * For species that aren't ion pairs, it's equal to the
* m_speciesCharge[] value. * m_speciesCharge[] value.
*/ */
vector_fp m_speciesCharge_Stoich; vector_fp m_speciesCharge_Stoich;
/** /**
* Array of 2D data used in the DHFORM_BETAIJ formulation * Array of 2D data used in the DHFORM_BETAIJ formulation

View file

@ -23,7 +23,7 @@ namespace Cantera
*/ */
//! An element constraint that is current turned off //! An element constraint that is current turned off
#define CT_ELEM_TYPE_TURNEDOFF -1 #define CT_ELEM_TYPE_TURNEDOFF -1
//! Normal element constraint consisting of positive coefficients for the //! Normal element constraint consisting of positive coefficients for the
//! formula matrix. //! formula matrix.
@ -32,13 +32,13 @@ namespace Cantera
* With this constraint, we may employ various strategies to handle * With this constraint, we may employ various strategies to handle
* small values of the element number successfully. * small values of the element number successfully.
*/ */
#define CT_ELEM_TYPE_ABSPOS 0 #define CT_ELEM_TYPE_ABSPOS 0
//! This refers to conservation of electrons //! This refers to conservation of electrons
/*! /*!
* Electrons may have positive or negative values in the Formula matrix. * Electrons may have positive or negative values in the Formula matrix.
*/ */
#define CT_ELEM_TYPE_ELECTRONCHARGE 1 #define CT_ELEM_TYPE_ELECTRONCHARGE 1
//! This refers to a charge neutrality of a single phase //! This refers to a charge neutrality of a single phase
/*! /*!
@ -76,7 +76,7 @@ namespace Cantera
/*! /*!
* currently there are none * currently there are none
*/ */
#define CT_ELEM_TYPE_OTHERCONSTRAINT 6 #define CT_ELEM_TYPE_OTHERCONSTRAINT 6
//@} //@}
//! Number indicating we don't know the entropy of the element in its most //! Number indicating we don't know the entropy of the element in its most
@ -95,6 +95,6 @@ namespace Cantera
//! @exception CanteraError If a match is not found, throws a CanteraError //! @exception CanteraError If a match is not found, throws a CanteraError
double LookupWtElements(const std::string& ename); double LookupWtElements(const std::string& ename);
} // namespace } // namespace
#endif #endif

View file

@ -61,7 +61,7 @@ namespace Cantera
* R_s = k_s C_{gas} * R_s = k_s C_{gas}
* \f] * \f]
* where the units for \f$ R_s \f$ are kmol m-2 s-1. \f$ C_{gas} \f$ has units * where the units for \f$ R_s \f$ are kmol m-2 s-1. \f$ C_{gas} \f$ has units
* of kmol m-3. Therefore, the kinetic rate constant, \f$ k_s \f$, has * of kmol m-3. Therefore, the kinetic rate constant, \f$ k_s \f$, has
* units of m s-1. Nowhere does the concentration of the bulk phase * units of m s-1. Nowhere does the concentration of the bulk phase
* appear in the rate constant expression, since it's a stoichiometric * appear in the rate constant expression, since it's a stoichiometric
* phase, and the activity is always equal to 1.0. * phase, and the activity is always equal to 1.0.
@ -176,7 +176,7 @@ public:
/*! /*!
* @param right Object to be copied * @param right Object to be copied
*/ */
FixedChemPotSSTP(const FixedChemPotSSTP& right); FixedChemPotSSTP(const FixedChemPotSSTP& right);
//! Special constructor for the FixecChemPotSSTP class setting an element chemical //! Special constructor for the FixecChemPotSSTP class setting an element chemical
//! potential directly //! potential directly
@ -252,7 +252,7 @@ public:
* \beta = \frac{1}{v}\left(\frac{\partial v}{\partial T}\right)_P * \beta = \frac{1}{v}\left(\frac{\partial v}{\partial T}\right)_P
* \f] * \f]
*/ */
virtual doublereal thermalExpansionCoeff() const ; virtual doublereal thermalExpansionCoeff() const;
/** /**
* @} * @}
@ -343,7 +343,7 @@ public:
//! Get the nondimensional Enthalpy functions for the species //! Get the nondimensional Enthalpy functions for the species
//! at their standard states at the current <I>T</I> and <I>P</I> of the solution. //! at their standard states at the current <I>T</I> and <I>P</I> of the solution.
/*! /*!
* @param hrt Output vector of nondimensional standard state enthalpies. * @param hrt Output vector of nondimensional standard state enthalpies.
* Length: m_kk. * Length: m_kk.
*/ */
virtual void getEnthalpy_RT(doublereal* hrt) const; virtual void getEnthalpy_RT(doublereal* hrt) const;
@ -351,7 +351,7 @@ public:
//! Get the array of nondimensional Entropy functions for the //! Get the array of nondimensional Entropy functions for the
//! standard state species at the current <I>T</I> and <I>P</I> of the solution. //! standard state species at the current <I>T</I> and <I>P</I> of the solution.
/*! /*!
* @param sr Output vector of nondimensional standard state entropies. * @param sr Output vector of nondimensional standard state entropies.
* Length: m_kk. * Length: m_kk.
*/ */
virtual void getEntropy_R(doublereal* sr) const; virtual void getEntropy_R(doublereal* sr) const;
@ -373,7 +373,7 @@ public:
*/ */
virtual void getCp_R(doublereal* cpr) const; virtual void getCp_R(doublereal* cpr) const;
//! Returns the vector of nondimensional Internal Energies of the standard //! Returns the vector of nondimensional Internal Energies of the standard
//! state species at the current <I>T</I> and <I>P</I> of the solution //! state species at the current <I>T</I> and <I>P</I> of the solution
/*! /*!
* For an incompressible, * For an incompressible,
@ -448,10 +448,10 @@ public:
* This function is resolved in this class. It is assumed that the m_spthermo species thermo * This function is resolved in this class. It is assumed that the m_spthermo species thermo
* pointer is populated and yields the reference state. * pointer is populated and yields the reference state.
* *
* @param g Output vector containing the reference state * @param g Output vector containing the reference state
* Gibbs Free energies. Length: m_kk. Units: J/kmol. * Gibbs Free energies. Length: m_kk. Units: J/kmol.
*/ */
virtual void getGibbs_ref(doublereal* g) const; virtual void getGibbs_ref(doublereal* g) const;
/*! /*!
* Returns the vector of nondimensional * Returns the vector of nondimensional

View file

@ -43,7 +43,7 @@ public:
*/ */
GeneralSpeciesThermo& operator=(const GeneralSpeciesThermo& b); GeneralSpeciesThermo& operator=(const GeneralSpeciesThermo& b);
virtual SpeciesThermo* duplMyselfAsSpeciesThermo() const ; virtual SpeciesThermo* duplMyselfAsSpeciesThermo() const;
virtual void install_STIT(size_t index, virtual void install_STIT(size_t index,
shared_ptr<SpeciesThermoInterpType> stit_ptr); shared_ptr<SpeciesThermoInterpType> stit_ptr);

View file

@ -122,7 +122,7 @@ public:
*/ */
GibbsExcessVPSSTP& operator=(const GibbsExcessVPSSTP& b); GibbsExcessVPSSTP& operator=(const GibbsExcessVPSSTP& b);
//! Duplication routine for objects which inherit from ThermoPhase. //! Duplication routine for objects which inherit from ThermoPhase.
/*! /*!
* This virtual routine can be used to duplicate ThermoPhase objects * This virtual routine can be used to duplicate ThermoPhase objects
* inherited from ThermoPhase even if the application only has * inherited from ThermoPhase even if the application only has
@ -285,7 +285,7 @@ public:
* @param dlnActCoeffdlnN Output vector of derivatives of the * @param dlnActCoeffdlnN Output vector of derivatives of the
* log Activity Coefficients. length = m_kk * m_kk * log Activity Coefficients. length = m_kk * m_kk
*/ */
virtual void getdlnActCoeffdlnN(const size_t ld, doublereal* const dlnActCoeffdlnN) { virtual void getdlnActCoeffdlnN(const size_t ld, doublereal* const dlnActCoeffdlnN) {
throw NotImplementedError("GibbsExcessVPSSTP::getdlnActCoeffdlnN: " throw NotImplementedError("GibbsExcessVPSSTP::getdlnActCoeffdlnN: "
"nonzero and nonimplemented"); "nonzero and nonimplemented");
} }
@ -479,7 +479,7 @@ protected:
//! log of the activity coefficients of the species //! log of the activity coefficients of the species
mutable std::vector<doublereal> dlnActCoeffdlnX_diag_; mutable std::vector<doublereal> dlnActCoeffdlnX_diag_;
//! Storage for the current derivative values of the gradients with respect to logarithm of the species mole number of the //! Storage for the current derivative values of the gradients with respect to logarithm of the species mole number of the
//! log of the activity coefficients of the species //! log of the activity coefficients of the species
/*! /*!
* dlnActCoeffdlnN_(k, m) is the derivative of ln(gamma_k) wrt ln mole number of species m * dlnActCoeffdlnN_(k, m) is the derivative of ln(gamma_k) wrt ln mole number of species m

View file

@ -63,9 +63,9 @@ namespace Cantera
* q1(T - Tr) + q2(T**2 - Tr**2) * q1(T - Tr) + q2(T**2 - Tr**2)
*/ */
//@{ //@{
#define PITZER_TEMP_CONSTANT 0 #define PITZER_TEMP_CONSTANT 0
#define PITZER_TEMP_LINEAR 1 #define PITZER_TEMP_LINEAR 1
#define PITZER_TEMP_COMPLEX1 2 #define PITZER_TEMP_COMPLEX1 2
//@} //@}
/* /*
@ -74,8 +74,8 @@ namespace Cantera
* These defines determine the way A_Debye is calculated * These defines determine the way A_Debye is calculated
*/ */
//@{ //@{
#define A_DEBYE_CONST 0 #define A_DEBYE_CONST 0
#define A_DEBYE_WATER 1 #define A_DEBYE_WATER 1
//@} //@}
class WaterProps; class WaterProps;
@ -154,7 +154,7 @@ class WaterProps;
* all solutes. The molar volume for the water solvent, however, * all solutes. The molar volume for the water solvent, however,
* is obtained from a pure water equation of state, waterSS. * is obtained from a pure water equation of state, waterSS.
* Therefore, the water standard state varies with both T and P. * Therefore, the water standard state varies with both T and P.
* It is an error to request standard state water properties at a T and P * It is an error to request standard state water properties at a T and P
* where the water phase is not a stable phase, i.e., beyond its * where the water phase is not a stable phase, i.e., beyond its
* spinodal curve. * spinodal curve.
* *
@ -163,7 +163,7 @@ class WaterProps;
* <HR> * <HR>
* *
* Chemical potentials * Chemical potentials
* of the solutes, \f$ \mu_k \f$, and the solvent, \f$ \mu_o \f$, which are based * of the solutes, \f$ \mu_k \f$, and the solvent, \f$ \mu_o \f$, which are based
* on the molality form, have the following general format: * on the molality form, have the following general format:
* *
* \f[ * \f[
@ -339,7 +339,7 @@ class WaterProps;
* theory depends on the total ionic strength of the solution, and therefore, * theory depends on the total ionic strength of the solution, and therefore,
* \f$ \Phi_{c{c'}} \f$ and \f$ \Phi_{a{a'}} \f$ will depend on <I>I</I>, the * \f$ \Phi_{c{c'}} \f$ and \f$ \Phi_{a{a'}} \f$ will depend on <I>I</I>, the
* ionic strength. \f$ B_{ca}\f$ is a strong function of the * ionic strength. \f$ B_{ca}\f$ is a strong function of the
* total ionic strength, <I>I</I>, * total ionic strength, <I>I</I>,
* of the electrolyte. The rest of the coefficients are assumed to be independent of the * of the electrolyte. The rest of the coefficients are assumed to be independent of the
* molalities or ionic strengths. However, all coefficients are potentially functions * molalities or ionic strengths. However, all coefficients are potentially functions
* of the temperature and pressure of the solution. * of the temperature and pressure of the solution.
@ -399,7 +399,7 @@ class WaterProps;
* solfates and other high-valence electrolytes which exhibit significant * solfates and other high-valence electrolytes which exhibit significant
* association at low ionic strengths. * association at low ionic strengths.
* *
* The \f$ \beta^{(0)}_{ca} \f$, \f$ \beta^{(1)}_{ca}\f$, \f$ \beta^{(2)}_{ca} \f$, * The \f$ \beta^{(0)}_{ca} \f$, \f$ \beta^{(1)}_{ca}\f$, \f$ \beta^{(2)}_{ca} \f$,
* and \f$ C_{ca} \f$ binary coefficients are referred to as ion-interaction or * and \f$ C_{ca} \f$ binary coefficients are referred to as ion-interaction or
* Pitzer parameters. These Pitzer parameters may vary with temperature and pressure * Pitzer parameters. These Pitzer parameters may vary with temperature and pressure
* but they do not depend on the ionic strength. Their values and temperature * but they do not depend on the ionic strength. Their values and temperature
@ -603,7 +603,7 @@ class WaterProps;
* Therefore, * Therefore,
* a formalism wherein all of the coefficients in the base theory have * a formalism wherein all of the coefficients in the base theory have
* temperature dependencies associated with them has been implemented * temperature dependencies associated with them has been implemented
* within the HMWSoln object. Much of the formalism, however, * within the HMWSoln object. Much of the formalism, however,
* has been unexercised. * has been unexercised.
* *
* In the HMWSoln object, the temperature dependence of the Pitzer * In the HMWSoln object, the temperature dependence of the Pitzer
@ -633,7 +633,7 @@ class WaterProps;
* \f$ C_{MX}\f$ * \f$ C_{MX}\f$
* The specification of \f$ B_{MX}\f$ is a function of * The specification of \f$ B_{MX}\f$ is a function of
* \f$\beta^{(0)}_{MX} \f$, \f$\beta^{(1)}_{MX} \f$, * \f$\beta^{(0)}_{MX} \f$, \f$\beta^{(1)}_{MX} \f$,
* \f$\beta^{(2)}_{MX} \f$, \f$\alpha^{(1)}_{MX} \f$, and * \f$\beta^{(2)}_{MX} \f$, \f$\alpha^{(1)}_{MX} \f$, and
* \f$\alpha^{(2)}_{MX} \f$. * \f$\alpha^{(2)}_{MX} \f$.
* \f$ C_{MX}\f$ is calculated from \f$C^{\phi}_{MX} \f$ * \f$ C_{MX}\f$ is calculated from \f$C^{\phi}_{MX} \f$
* from the formula above. * from the formula above.
@ -668,7 +668,7 @@ class WaterProps;
* This same <TT> COMPLEX1 </TT> temperature * This same <TT> COMPLEX1 </TT> temperature
* dependence given above is used for the following parameters: * dependence given above is used for the following parameters:
* \f$ \beta^{(0)}_{MX} \f$, \f$ \beta^{(1)}_{MX} \f$, * \f$ \beta^{(0)}_{MX} \f$, \f$ \beta^{(1)}_{MX} \f$,
* \f$ \beta^{(2)}_{MX} \f$, \f$ \Theta_{cc'} \f$, \f$\Theta_{aa'} \f$, * \f$ \beta^{(2)}_{MX} \f$, \f$ \Theta_{cc'} \f$, \f$\Theta_{aa'} \f$,
* \f$ \Psi_{c{c'}a} \f$ and \f$ \Psi_{ca{a'}} \f$. * \f$ \Psi_{c{c'}a} \f$ and \f$ \Psi_{ca{a'}} \f$.
* *
* <H3> Like-Charged Binary Ion Parameters and the Mixing Parameters </H3> * <H3> Like-Charged Binary Ion Parameters and the Mixing Parameters </H3>
@ -723,7 +723,7 @@ class WaterProps;
* *
* The \f$ \Theta_{ij} \f$ term is a constant that is specified * The \f$ \Theta_{ij} \f$ term is a constant that is specified
* by the XML element <TT> thetaCation </TT> and * by the XML element <TT> thetaCation </TT> and
* <TT> thetaAnion </TT>, which * <TT> thetaAnion </TT>, which
* has the attribute <TT> cation1 </TT>, <TT> cation2 </TT> and * has the attribute <TT> cation1 </TT>, <TT> cation2 </TT> and
* <TT> anion1 </TT>, <TT> anion2 </TT> respectively * <TT> anion1 </TT>, <TT> anion2 </TT> respectively
* to identify the interaction. No temperature or * to identify the interaction. No temperature or
@ -1084,7 +1084,7 @@ class WaterProps;
* ThermoPhase *HMW = newPhase("HMW_NaCl.xml", "NaCl_electrolyte"); * ThermoPhase *HMW = newPhase("HMW_NaCl.xml", "NaCl_electrolyte");
* @endcode * @endcode
* *
* A new HMWSoln object may be created by the following code snippets: * A new HMWSoln object may be created by the following code snippets:
* *
* @code * @code
* HMWSoln *HMW = new HMWSoln("HMW_NaCl.xml", "NaCl_electrolyte"); * HMWSoln *HMW = new HMWSoln("HMW_NaCl.xml", "NaCl_electrolyte");
@ -1499,7 +1499,7 @@ public:
/** /**
* @} * @}
* @name Activities, Standard States, and Activity Concentrations * @name Activities, Standard States, and Activity Concentrations
* *
* The activity \f$a_k\f$ of a species in solution is * The activity \f$a_k\f$ of a species in solution is
* related to the chemical potential by \f[ \mu_k = \mu_k^0(T) * related to the chemical potential by \f[ \mu_k = \mu_k^0(T)
@ -1512,7 +1512,7 @@ public:
//! This method returns an array of generalized activity concentrations //! This method returns an array of generalized activity concentrations
/*! /*!
* The generalized activity concentrations, \f$ C_k^a\f$, are defined such that * The generalized activity concentrations, \f$ C_k^a\f$, are defined such that
* \f$ a_k = C^a_k / C^0_k, \f$ where \f$ C^0_k \f$ * \f$ a_k = C^a_k / C^0_k, \f$ where \f$ C^0_k \f$
* is a standard concentration * is a standard concentration
* defined below. These generalized concentrations are used * defined below. These generalized concentrations are used
@ -1541,7 +1541,7 @@ public:
* The standard concentration \f$ C^0_k \f$ used to normalize * The standard concentration \f$ C^0_k \f$ used to normalize
* the activity (i.e., generalized) concentration for use * the activity (i.e., generalized) concentration for use
* *
* We have set the standard concentration for all solute species in * We have set the standard concentration for all solute species in
* this phase equal to the default concentration of the solvent at the system temperature * this phase equal to the default concentration of the solvent at the system temperature
* and pressure multiplied by Mnaught (kg solvent / gmol solvent). The solvent * and pressure multiplied by Mnaught (kg solvent / gmol solvent). The solvent
* standard concentration is just equal to its standard state concentration. * standard concentration is just equal to its standard state concentration.
@ -2094,7 +2094,7 @@ private:
* - polarNeutral * - polarNeutral
* - nonpolarNeutral . * - nonpolarNeutral .
*/ */
vector_int m_electrolyteSpeciesType; vector_int m_electrolyteSpeciesType;
/** /**
* a_k = Size of the ionic species in the DH formulation * a_k = Size of the ionic species in the DH formulation
@ -2196,10 +2196,10 @@ private:
WaterProps* m_waterProps; WaterProps* m_waterProps;
//! Temporary array used in equilibrium calculations //! Temporary array used in equilibrium calculations
mutable vector_fp m_pp; mutable vector_fp m_pp;
//! vector of size m_kk, used as a temporary holding area. //! vector of size m_kk, used as a temporary holding area.
mutable vector_fp m_tmpV; mutable vector_fp m_tmpV;
/** /**
* Stoichiometric species charge -> This is for calculations * Stoichiometric species charge -> This is for calculations
@ -2213,7 +2213,7 @@ private:
* For species that aren't ion pairs, its equal to the * For species that aren't ion pairs, its equal to the
* m_speciesCharge[] value. * m_speciesCharge[] value.
*/ */
vector_fp m_speciesCharge_Stoich; vector_fp m_speciesCharge_Stoich;
/** /**
* Array of 2D data used in the Pitzer/HMW formulation. * Array of 2D data used in the Pitzer/HMW formulation.
@ -2224,25 +2224,25 @@ private:
* counterIJ where counterIJ = m_counterIJ[i][j] * counterIJ where counterIJ = m_counterIJ[i][j]
* is used to access this array. * is used to access this array.
*/ */
mutable vector_fp m_Beta0MX_ij; mutable vector_fp m_Beta0MX_ij;
//! Derivative of Beta0_ij[i][j] wrt T //! Derivative of Beta0_ij[i][j] wrt T
/*! /*!
* vector index is counterIJ * vector index is counterIJ
*/ */
mutable vector_fp m_Beta0MX_ij_L; mutable vector_fp m_Beta0MX_ij_L;
//! Derivative of Beta0_ij[i][j] wrt TT //! Derivative of Beta0_ij[i][j] wrt TT
/*! /*!
* vector index is counterIJ * vector index is counterIJ
*/ */
mutable vector_fp m_Beta0MX_ij_LL; mutable vector_fp m_Beta0MX_ij_LL;
//! Derivative of Beta0_ij[i][j] wrt P //! Derivative of Beta0_ij[i][j] wrt P
/*! /*!
* vector index is counterIJ * vector index is counterIJ
*/ */
mutable vector_fp m_Beta0MX_ij_P; mutable vector_fp m_Beta0MX_ij_P;
//! Array of coefficients for Beta0, a variable in Pitzer's papers //! Array of coefficients for Beta0, a variable in Pitzer's papers
/*! /*!
@ -2250,7 +2250,7 @@ private:
* m_Beta0MX_ij_coeff.ptrColumn(counterIJ) is a double* containing * m_Beta0MX_ij_coeff.ptrColumn(counterIJ) is a double* containing
* the vector of coefficients for the counterIJ interaction. * the vector of coefficients for the counterIJ interaction.
*/ */
mutable Array2D m_Beta0MX_ij_coeff; mutable Array2D m_Beta0MX_ij_coeff;
/*! /*!
* Array of 2D data used in the Pitzer/HMW formulation. * Array of 2D data used in the Pitzer/HMW formulation.
@ -2287,7 +2287,7 @@ private:
* m_Beta1MX_ij_coeff.ptrColumn(counterIJ) is a double* containing * m_Beta1MX_ij_coeff.ptrColumn(counterIJ) is a double* containing
* the vector of coefficients for the counterIJ interaction. * the vector of coefficients for the counterIJ interaction.
*/ */
mutable Array2D m_Beta1MX_ij_coeff; mutable Array2D m_Beta1MX_ij_coeff;
/** /**
* Array of 2D data used in the Pitzer/HMW formulation. * Array of 2D data used in the Pitzer/HMW formulation.
@ -2327,7 +2327,7 @@ private:
* This was added for the YMP database version of the code since it * This was added for the YMP database version of the code since it
* contains temperature-dependent parameters for some 2-2 electrolytes. * contains temperature-dependent parameters for some 2-2 electrolytes.
*/ */
mutable Array2D m_Beta2MX_ij_coeff; mutable Array2D m_Beta2MX_ij_coeff;
/** /**
* Array of 2D data used in the Pitzer/HMW formulation. * Array of 2D data used in the Pitzer/HMW formulation.
@ -2494,16 +2494,16 @@ private:
* index, i.e., n. The charged species occupy the j coordinate. * index, i.e., n. The charged species occupy the j coordinate.
* neutral, neutral interactions are also included here. * neutral, neutral interactions are also included here.
*/ */
mutable Array2D m_Lambda_nj; mutable Array2D m_Lambda_nj;
//! Derivative of Lambda_nj[i][j] wrt T. see m_Lambda_ij //! Derivative of Lambda_nj[i][j] wrt T. see m_Lambda_ij
mutable Array2D m_Lambda_nj_L; mutable Array2D m_Lambda_nj_L;
//! Derivative of Lambda_nj[i][j] wrt TT //! Derivative of Lambda_nj[i][j] wrt TT
mutable Array2D m_Lambda_nj_LL; mutable Array2D m_Lambda_nj_LL;
//! Derivative of Lambda_nj[i][j] wrt P //! Derivative of Lambda_nj[i][j] wrt P
mutable Array2D m_Lambda_nj_P; mutable Array2D m_Lambda_nj_P;
//! Array of coefficients for Lambda_nj[i][j] in the Pitzer/HMW formulation. //! Array of coefficients for Lambda_nj[i][j] in the Pitzer/HMW formulation.
/*! /*!
@ -2521,7 +2521,7 @@ private:
* m_Lambda_ij_coeff.ptrColumn(n) is a double* containing * m_Lambda_ij_coeff.ptrColumn(n) is a double* containing
* the vector of coefficients for the (i,j) interaction. * the vector of coefficients for the (i,j) interaction.
*/ */
Array2D m_Lambda_nj_coeff; Array2D m_Lambda_nj_coeff;
//! Mu coefficient for the self-ternary neutral coefficient //! Mu coefficient for the self-ternary neutral coefficient
/*! /*!
@ -2530,7 +2530,7 @@ private:
* nnn interaction. This is a general interaction representing * nnn interaction. This is a general interaction representing
* neutral species interacting with itself. * neutral species interacting with itself.
*/ */
mutable vector_fp m_Mu_nnn; mutable vector_fp m_Mu_nnn;
//! Mu coefficient temperature derivative for the self-ternary neutral coefficient //! Mu coefficient temperature derivative for the self-ternary neutral coefficient
/*! /*!
@ -2539,7 +2539,7 @@ private:
* nnn interaction. This is a general interaction representing * nnn interaction. This is a general interaction representing
* neutral species interacting with itself. * neutral species interacting with itself.
*/ */
mutable vector_fp m_Mu_nnn_L; mutable vector_fp m_Mu_nnn_L;
//! Mu coefficient 2nd temperature derivative for the self-ternary neutral coefficient //! Mu coefficient 2nd temperature derivative for the self-ternary neutral coefficient
/*! /*!
@ -2548,7 +2548,7 @@ private:
* nnn interaction. This is a general interaction representing * nnn interaction. This is a general interaction representing
* neutral species interacting with itself. * neutral species interacting with itself.
*/ */
mutable vector_fp m_Mu_nnn_LL; mutable vector_fp m_Mu_nnn_LL;
//! Mu coefficient pressure derivative for the self-ternary neutral coefficient //! Mu coefficient pressure derivative for the self-ternary neutral coefficient
/*! /*!
@ -2557,10 +2557,10 @@ private:
* nnn interaction. This is a general interaction representing * nnn interaction. This is a general interaction representing
* neutral species interacting with itself. * neutral species interacting with itself.
*/ */
mutable vector_fp m_Mu_nnn_P; mutable vector_fp m_Mu_nnn_P;
//! Array of coefficients form_Mu_nnn term //! Array of coefficients form_Mu_nnn term
Array2D m_Mu_nnn_coeff; Array2D m_Mu_nnn_coeff;
//! Logarithm of the activity coefficients on the molality //! Logarithm of the activity coefficients on the molality
//! scale. //! scale.
@ -2843,7 +2843,7 @@ private:
/*! /*!
* Normally these are all one. However, stability schemes will change that * Normally these are all one. However, stability schemes will change that
*/ */
mutable vector_fp IMS_lnActCoeffMolal_; mutable vector_fp IMS_lnActCoeffMolal_;
//! IMS Cutoff type //! IMS Cutoff type
int IMS_typeCutoff_; int IMS_typeCutoff_;
@ -3181,10 +3181,10 @@ private:
void readXMLCroppingCoefficients(const XML_Node& acNode); void readXMLCroppingCoefficients(const XML_Node& acNode);
//! Precalculate the IMS Cutoff parameters for typeCutoff = 2 //! Precalculate the IMS Cutoff parameters for typeCutoff = 2
void calcIMSCutoffParams_(); void calcIMSCutoffParams_();
//! Calculate molality cut-off parameters //! Calculate molality cut-off parameters
void calcMCCutoffParams_(); void calcMCCutoffParams_();
//! Utility function to assign an integer value from a string //! Utility function to assign an integer value from a string
//! for the ElectrolyteSpeciesType field. //! for the ElectrolyteSpeciesType field.

View file

@ -464,7 +464,7 @@ public:
setTemperature(p * meanMolecularWeight() / (GasConstant * rho)); setTemperature(p * meanMolecularWeight() / (GasConstant * rho));
} }
//! Returns the isothermal compressibility. Units: 1/Pa. //! Returns the isothermal compressibility. Units: 1/Pa.
/** /**
* The isothermal compressibility is defined as * The isothermal compressibility is defined as
* \f[ * \f[
@ -539,7 +539,7 @@ public:
//! Returns the standard concentration \f$ C^0_k \f$, which is used to normalize //! Returns the standard concentration \f$ C^0_k \f$, which is used to normalize
//! the generalized concentration. //! the generalized concentration.
/*! /*!
* This is defined as the concentration by which the generalized * This is defined as the concentration by which the generalized
* concentration is normalized to produce the activity. * concentration is normalized to produce the activity.
* In many cases, this quantity will be the same for all species in a phase. * In many cases, this quantity will be the same for all species in a phase.
* Since the activity for an ideal gas mixture is * Since the activity for an ideal gas mixture is
@ -630,7 +630,7 @@ public:
//! Get the nondimensional Enthalpy functions for the species standard states //! Get the nondimensional Enthalpy functions for the species standard states
//! at their standard states at the current <I>T</I> and <I>P</I> of the solution. //! at their standard states at the current <I>T</I> and <I>P</I> of the solution.
/*! /*!
* @param hrt Output vector of nondimensional standard state enthalpies. * @param hrt Output vector of nondimensional standard state enthalpies.
* Length: m_kk. * Length: m_kk.
*/ */
virtual void getEnthalpy_RT(doublereal* hrt) const; virtual void getEnthalpy_RT(doublereal* hrt) const;
@ -638,7 +638,7 @@ public:
//! Get the array of nondimensional Entropy functions for the //! Get the array of nondimensional Entropy functions for the
//! species standard states at the current <I>T</I> and <I>P</I> of the solution. //! species standard states at the current <I>T</I> and <I>P</I> of the solution.
/*! /*!
* @param sr Output vector of nondimensional standard state entropies. * @param sr Output vector of nondimensional standard state entropies.
* Length: m_kk. * Length: m_kk.
*/ */
virtual void getEntropy_R(doublereal* sr) const; virtual void getEntropy_R(doublereal* sr) const;
@ -655,12 +655,12 @@ public:
//! state of the species at the current <I>T</I> and <I>P</I> of the solution //! state of the species at the current <I>T</I> and <I>P</I> of the solution
/*! /*!
* Units are Joules/kmol * Units are Joules/kmol
* @param gpure Output vector of standard state Gibbs free energies * @param gpure Output vector of standard state Gibbs free energies
* Length: m_kk. * Length: m_kk.
*/ */
virtual void getPureGibbs(doublereal* gpure) const; virtual void getPureGibbs(doublereal* gpure) const;
//! Returns the vector of nondimensional Internal Energies of the standard //! Returns the vector of nondimensional Internal Energies of the standard
//! state species at the current <I>T</I> and <I>P</I> of the solution //! state species at the current <I>T</I> and <I>P</I> of the solution
/*! /*!
* @param urt output vector of nondimensional standard state internal energies * @param urt output vector of nondimensional standard state internal energies
@ -715,7 +715,7 @@ public:
/*! /*!
* units = J/kmol * units = J/kmol
* *
* @param g Output vector containing the reference state * @param g Output vector containing the reference state
* Gibbs Free energies. Length: m_kk. Units: J/kmol. * Gibbs Free energies. Length: m_kk. Units: J/kmol.
*/ */
virtual void getGibbs_ref(doublereal* g) const; virtual void getGibbs_ref(doublereal* g) const;

View file

@ -478,7 +478,7 @@ public:
//! Partial molar heat capacity of the solution:. UnitsL J/kmol/K //! Partial molar heat capacity of the solution:. UnitsL J/kmol/K
/*! /*!
* The kth partial molar heat capacity is equal to * The kth partial molar heat capacity is equal to
* the temperature derivative of the partial molar * the temperature derivative of the partial molar
* enthalpy of the kth species in the solution at constant * enthalpy of the kth species in the solution at constant
* P and composition (p. 220 Smith and Van Ness). * P and composition (p. 220 Smith and Van Ness).
@ -565,14 +565,14 @@ public:
* *
* @param smv Output vector of species molar volumes. * @param smv Output vector of species molar volumes.
*/ */
void getSpeciesMolarVolumes(double* smv) const; void getSpeciesMolarVolumes(double* smv) const;
//@} //@}
protected: protected:
/** /**
* Species molar volume \f$ m^3 kmol^{-1} \f$ * Species molar volume \f$ m^3 kmol^{-1} \f$
*/ */
vector_fp m_speciesMolarVolume; vector_fp m_speciesMolarVolume;
/** /**
* The standard concentrations can have three different forms * The standard concentrations can have three different forms
@ -596,18 +596,18 @@ private:
/** /**
* Temporary array used in equilibrium calculations * Temporary array used in equilibrium calculations
*/ */
mutable vector_fp m_pp; mutable vector_fp m_pp;
/** /**
* vector of size m_kk, used as a temporary holding area. * vector of size m_kk, used as a temporary holding area.
*/ */
mutable vector_fp m_tmpV; mutable vector_fp m_tmpV;
//! Logarithm of the molal activity coefficients //! Logarithm of the molal activity coefficients
/*! /*!
* Normally these are all one. However, stability schemes will change that * Normally these are all one. However, stability schemes will change that
*/ */
mutable vector_fp IMS_lnActCoeffMolal_; mutable vector_fp IMS_lnActCoeffMolal_;
public: public:
//! value of the solute mole fraction that centers the cutoff polynomials //! value of the solute mole fraction that centers the cutoff polynomials
//! for the cutoff =1 process; //! for the cutoff =1 process;

View file

@ -352,7 +352,7 @@ public:
* kmol m<SUP>-3</SUP>. Rate constants must reflect this fact. * kmol m<SUP>-3</SUP>. Rate constants must reflect this fact.
* *
* On a general note, the following must be true. * On a general note, the following must be true.
* For an ideal solution, the generalized concentration must consist * For an ideal solution, the generalized concentration must consist
* of the mole fraction multiplied by a constant. The constant may be * of the mole fraction multiplied by a constant. The constant may be
* fairly arbitrarily chosen, with differences adsorbed into the * fairly arbitrarily chosen, with differences adsorbed into the
* reaction rate expression. 1/V_N, 1/V_k, or 1 are equally good, * reaction rate expression. 1/V_N, 1/V_k, or 1 are equally good,
@ -483,7 +483,7 @@ public:
* \bar s_k(T,P) = \hat s^0_k(T) - R log(X_k) * \bar s_k(T,P) = \hat s^0_k(T) - R log(X_k)
* \f] * \f]
* The reference-state pure-species entropies,\f$ \hat s^{ref}_k(T) \f$, * The reference-state pure-species entropies,\f$ \hat s^{ref}_k(T) \f$,
* at the reference pressure, \f$ P_{ref} \f$, are computed by the * at the reference pressure, \f$ P_{ref} \f$, are computed by the
* species thermodynamic * species thermodynamic
* property manager. They are polynomial functions of temperature. * property manager. They are polynomial functions of temperature.
* @see SpeciesThermo * @see SpeciesThermo
@ -846,34 +846,34 @@ protected:
/** /**
* Species molar volumes \f$ m^3 kmol^-1 \f$ * Species molar volumes \f$ m^3 kmol^-1 \f$
*/ */
vector_fp m_speciesMolarVolume; vector_fp m_speciesMolarVolume;
//! Vector containing the species reference enthalpies at T = m_tlast //! Vector containing the species reference enthalpies at T = m_tlast
mutable vector_fp m_h0_RT; mutable vector_fp m_h0_RT;
/** /**
* Vector containing the species reference constant pressure * Vector containing the species reference constant pressure
* heat capacities at T = m_tlast * heat capacities at T = m_tlast
*/ */
mutable vector_fp m_cp0_R; mutable vector_fp m_cp0_R;
//! Vector containing the species reference Gibbs functions at T = m_tlast //! Vector containing the species reference Gibbs functions at T = m_tlast
mutable vector_fp m_g0_RT; mutable vector_fp m_g0_RT;
//! Vector containing the species reference entropies at T = m_tlast //! Vector containing the species reference entropies at T = m_tlast
mutable vector_fp m_s0_R; mutable vector_fp m_s0_R;
/** /**
* Vector containing the species reference exp(-G/RT) functions * Vector containing the species reference exp(-G/RT) functions
* at T = m_tlast * at T = m_tlast
*/ */
mutable vector_fp m_expg0_RT; mutable vector_fp m_expg0_RT;
//! Vector of potential energies for the species. //! Vector of potential energies for the species.
mutable vector_fp m_pe; mutable vector_fp m_pe;
//! Temporary array used in equilibrium calculations //! Temporary array used in equilibrium calculations
mutable vector_fp m_pp; mutable vector_fp m_pp;
private: private:
/// @name Utility Functions /// @name Utility Functions

View file

@ -94,7 +94,7 @@ public:
*/ */
void setPressure(doublereal p); void setPressure(doublereal p);
//! Returns the isothermal compressibility. Units: 1/Pa. //! Returns the isothermal compressibility. Units: 1/Pa.
/*! /*!
* The isothermal compressibility is defined as * The isothermal compressibility is defined as
* \f[ * \f[
@ -150,7 +150,7 @@ public:
//! Returns the standard concentration \f$ C^0_k \f$, which is used to normalize //! Returns the standard concentration \f$ C^0_k \f$, which is used to normalize
//! the generalized concentration. //! the generalized concentration.
/*! /*!
* This is defined as the concentration by which the generalized * This is defined as the concentration by which the generalized
* concentration is normalized to produce the activity. * concentration is normalized to produce the activity.
* In many cases, this quantity will be the same for all species in a phase. * In many cases, this quantity will be the same for all species in a phase.
* Since the activity for an ideal gas mixture is * Since the activity for an ideal gas mixture is
@ -186,7 +186,7 @@ public:
* getChemPotentials() and then dividing by RT. No need for child * getChemPotentials() and then dividing by RT. No need for child
* classes to handle. * classes to handle.
* *
* @param mu Output vector of non-dimensional species chemical potentials * @param mu Output vector of non-dimensional species chemical potentials
* Length: m_kk. * Length: m_kk.
*/ */
void getChemPotentials_RT(doublereal* mu) const; void getChemPotentials_RT(doublereal* mu) const;

View file

@ -362,7 +362,7 @@ public:
* @param dlnActCoeffdlnN Output vector of derivatives of the * @param dlnActCoeffdlnN Output vector of derivatives of the
* log Activity Coefficients. length = m_kk * m_kk * log Activity Coefficients. length = m_kk * m_kk
*/ */
virtual void getdlnActCoeffdlnN(const size_t ld, doublereal* const dlnActCoeffdlnN) ; virtual void getdlnActCoeffdlnN(const size_t ld, doublereal* const dlnActCoeffdlnN);
//! @} //! @}
//! Get the Salt Dissociation Coefficients //! Get the Salt Dissociation Coefficients
@ -393,7 +393,7 @@ public:
* is charge neutrality. If there isn't, then it wouldn't * is charge neutrality. If there isn't, then it wouldn't
* make much sense. * make much sense.
* *
* for the case of cIonSolnType_SINGLEANION, some slough * for the case of cIonSolnType_SINGLEANION, some slough
* in the charge neutrality is allowed. The cation number * in the charge neutrality is allowed. The cation number
* is followed, while the difference in charge neutrality * is followed, while the difference in charge neutrality
* is dumped into the anion mole number to fix the imbalance. * is dumped into the anion mole number to fix the imbalance.
@ -453,7 +453,7 @@ public:
* is charge neutrality. If there isn't, then it wouldn't * is charge neutrality. If there isn't, then it wouldn't
* make much sense. * make much sense.
* *
* for the case of cIonSolnType_SINGLEANION, some slough * for the case of cIonSolnType_SINGLEANION, some slough
* in the charge neutrality is allowed. The cation number * in the charge neutrality is allowed. The cation number
* is followed, while the difference in charge neutrality * is followed, while the difference in charge neutrality
* is dumped into the anion mole number to fix the imbalance. * is dumped into the anion mole number to fix the imbalance.
@ -660,7 +660,7 @@ protected:
* *
* Thus, we formulate the neutral molecule mole fraction NeutralMolecMoleFractions_[] * Thus, we formulate the neutral molecule mole fraction NeutralMolecMoleFractions_[]
* vector from this association. We further assume that there are * vector from this association. We further assume that there are
* no other associations. If fm_invert_simple_ is not true, * no other associations. If fm_invert_simple_ is not true,
* then we need to do a formal inversion which takes a great * then we need to do a formal inversion which takes a great
* deal of time and is not currently implemented. * deal of time and is not currently implemented.
*/ */

View file

@ -151,7 +151,7 @@ namespace Cantera
* For example, a bulk-phase binary gas reaction between species j and k, producing * For example, a bulk-phase binary gas reaction between species j and k, producing
* a new species l would have the * a new species l would have the
* following equation for its rate of progress variable, \f$ R^1 \f$, which has * following equation for its rate of progress variable, \f$ R^1 \f$, which has
* units of kmol m-3 s-1. * units of kmol m-3 s-1.
* *
* \f[ * \f[
* R^1 = k^1 C_j^a C_k^a = k^1 X_j X_k * R^1 = k^1 C_j^a C_k^a = k^1 X_j X_k
@ -438,7 +438,7 @@ public:
virtual void setConcentrations(const doublereal* const c); virtual void setConcentrations(const doublereal* const c);
//@} //@}
/// @name Activities, Standard States, and Activity Concentrations /// @name Activities, Standard States, and Activity Concentrations
/** /**
* The activity \f$a_k\f$ of a species in solution is * The activity \f$a_k\f$ of a species in solution is
* related to the chemical potential by \f[ \mu_k = \mu_k^0(T) * related to the chemical potential by \f[ \mu_k = \mu_k^0(T)
@ -549,7 +549,7 @@ public:
* \bar s_k(T,P) = \hat s^0_k(T) - R log(X_k) * \bar s_k(T,P) = \hat s^0_k(T) - R log(X_k)
* \f] * \f]
* The reference-state pure-species entropies,\f$ \hat s^{ref}_k(T) \f$, * The reference-state pure-species entropies,\f$ \hat s^{ref}_k(T) \f$,
* at the reference pressure, \f$ P_{ref} \f$, are computed by the * at the reference pressure, \f$ P_{ref} \f$, are computed by the
* species thermodynamic * species thermodynamic
* property manager. They are polynomial functions of temperature. * property manager. They are polynomial functions of temperature.
* @see SpeciesThermo * @see SpeciesThermo
@ -638,7 +638,7 @@ public:
* manager class (see ThermoPhase::m_spthermo). How to relate pressure * manager class (see ThermoPhase::m_spthermo). How to relate pressure
* changes to the reference state thermodynamics is resolved at this level. * changes to the reference state thermodynamics is resolved at this level.
* *
* @param sr Output vector of nondimensional standard state entropies. * @param sr Output vector of nondimensional standard state entropies.
* Length: m_kk. * Length: m_kk.
*/ */
virtual void getEntropy_R(doublereal* sr) const; virtual void getEntropy_R(doublereal* sr) const;
@ -723,7 +723,7 @@ public:
/*! /*!
* units = J/kmol * units = J/kmol
* *
* @param g Output vector containing the reference state * @param g Output vector containing the reference state
* Gibbs Free energies. Length: m_kk. Units: J/kmol. * Gibbs Free energies. Length: m_kk. Units: J/kmol.
*/ */
virtual void getGibbs_ref(doublereal* g) const; virtual void getGibbs_ref(doublereal* g) const;
@ -793,7 +793,7 @@ public:
* *
* @param n number of parameters. Must be one * @param n number of parameters. Must be one
* @param c array of \a n coefficients * @param c array of \a n coefficients
* c[0] = The bulk lattice density (kmol m-3) * c[0] = The bulk lattice density (kmol m-3)
*/ */
virtual void setParameters(int n, doublereal* const c); virtual void setParameters(int n, doublereal* const c);
@ -873,7 +873,7 @@ protected:
/** /**
* Species molar volumes \f$ m^3 kmol^-1 \f$ * Species molar volumes \f$ m^3 kmol^-1 \f$
*/ */
vector_fp m_speciesMolarVolume; vector_fp m_speciesMolarVolume;
//! Site Density of the lattice solid //! Site Density of the lattice solid
/*! /*!

View file

@ -166,7 +166,7 @@ public:
//! Returns the reference pressure in Pa. This function is a wrapper //! Returns the reference pressure in Pa. This function is a wrapper
//! that calls the species thermo refPressure function. //! that calls the species thermo refPressure function.
virtual doublereal refPressure() const ; virtual doublereal refPressure() const;
//! This method returns the convention used in specification //! This method returns the convention used in specification
//! of the standard state, of which there are currently two, //! of the standard state, of which there are currently two,
@ -398,7 +398,7 @@ public:
//! This method returns an array of generalized activity concentrations //! This method returns an array of generalized activity concentrations
/*! /*!
* The generalized activity concentrations, * The generalized activity concentrations,
* \f$ C^a_k \f$, are defined such that \f$ a_k = C^a_k / * \f$ C^a_k \f$, are defined such that \f$ a_k = C^a_k /
* C^0_k, \f$ where \f$ C^0_k \f$ is a standard concentration * C^0_k, \f$ where \f$ C^0_k \f$ is a standard concentration
* defined below and \f$ a_k \f$ are activities used in the * defined below and \f$ a_k \f$ are activities used in the
* thermodynamic functions. These activity (or generalized) * thermodynamic functions. These activity (or generalized)
@ -463,7 +463,7 @@ public:
* \bar s_k(T,P) = \hat s^0_k(T) - R log(X_k) * \bar s_k(T,P) = \hat s^0_k(T) - R log(X_k)
* \f] * \f]
* The reference-state pure-species entropies,\f$ \hat s^{ref}_k(T) \f$, * The reference-state pure-species entropies,\f$ \hat s^{ref}_k(T) \f$,
* at the reference pressure, \f$ P_{ref} \f$, are computed by the * at the reference pressure, \f$ P_{ref} \f$, are computed by the
* species thermodynamic * species thermodynamic
* property manager. They are polynomial functions of temperature. * property manager. They are polynomial functions of temperature.
* @see SpeciesThermo * @see SpeciesThermo
@ -564,7 +564,7 @@ public:
* @param g Vector of Gibbs free energies of the reference state. * @param g Vector of Gibbs free energies of the reference state.
* length = m_kk * length = m_kk
*/ */
virtual void getGibbs_ref(doublereal* g) const; virtual void getGibbs_ref(doublereal* g) const;
//! Initialize the ThermoPhase object after all species have been set up //! Initialize the ThermoPhase object after all species have been set up
/*! /*!
@ -588,7 +588,7 @@ public:
//! Add in species from Slave phases //! Add in species from Slave phases
/*! /*!
* This hook is used for cSS_CONVENTION_SLAVE phases * This hook is used for cSS_CONVENTION_SLAVE phases
* *
* @param phaseNode XML_Node for the current phase * @param phaseNode XML_Node for the current phase
*/ */

View file

@ -306,7 +306,7 @@ public:
*/ */
MargulesVPSSTP& operator=(const MargulesVPSSTP& b); MargulesVPSSTP& operator=(const MargulesVPSSTP& b);
//! Duplication routine for objects which inherit from ThermoPhase. //! Duplication routine for objects which inherit from ThermoPhase.
/*! /*!
* This virtual routine can be used to duplicate ThermoPhase objects * This virtual routine can be used to duplicate ThermoPhase objects
* inherited from ThermoPhase even if the application only has * inherited from ThermoPhase even if the application only has
@ -543,7 +543,7 @@ public:
*/ */
virtual void getdlnActCoeffdlnX_diag(doublereal* dlnActCoeffdlnX_diag) const; virtual void getdlnActCoeffdlnX_diag(doublereal* dlnActCoeffdlnX_diag) const;
//! Get the array of derivatives of the log activity coefficients wrt mole numbers - diagonal only //! Get the array of derivatives of the log activity coefficients wrt mole numbers - diagonal only
/*! /*!
* This function is a virtual method. For ideal mixtures * This function is a virtual method. For ideal mixtures
* (unity activity coefficients), this can return zero. * (unity activity coefficients), this can return zero.
@ -578,7 +578,7 @@ public:
* @param dlnActCoeffdlnN Output vector of derivatives of the * @param dlnActCoeffdlnN Output vector of derivatives of the
* log Activity Coefficients. length = m_kk * m_kk * log Activity Coefficients. length = m_kk * m_kk
*/ */
virtual void getdlnActCoeffdlnN(const size_t ld, doublereal* const dlnActCoeffdlnN) ; virtual void getdlnActCoeffdlnN(const size_t ld, doublereal* const dlnActCoeffdlnN);
//@} //@}
@ -639,7 +639,7 @@ private:
*/ */
void s_update_dlnActCoeff_dlnN_diag() const; void s_update_dlnActCoeff_dlnN_diag() const;
//! Update the derivative of the log of the activity coefficients wrt log(moles_m) //! Update the derivative of the log of the activity coefficients wrt log(moles_m)
/*! /*!
* This function will be called to update the internally stored * This function will be called to update the internally stored
* derivative of the natural logarithm of the activity coefficients * derivative of the natural logarithm of the activity coefficients

View file

@ -70,7 +70,7 @@ public:
virtual void setPressure(doublereal pres) { virtual void setPressure(doublereal pres) {
m_press = pres; m_press = pres;
} }
virtual doublereal pressure() const { virtual doublereal pressure() const {
return m_press; return m_press;
} }

View file

@ -204,7 +204,7 @@ public:
/*! /*!
* @param right Object to be copied * @param right Object to be copied
*/ */
MetalSHEelectrons(const MetalSHEelectrons& right); MetalSHEelectrons(const MetalSHEelectrons& right);
//! Assignment operator //! Assignment operator
/*! /*!
@ -253,7 +253,7 @@ public:
*/ */
virtual void setPressure(doublereal p); virtual void setPressure(doublereal p);
//! Returns the isothermal compressibility. Units: 1/Pa. //! Returns the isothermal compressibility. Units: 1/Pa.
/*! /*!
* The isothermal compressibility is defined as * The isothermal compressibility is defined as
* \f[ * \f[
@ -269,7 +269,7 @@ public:
* \beta = \frac{1}{v}\left(\frac{\partial v}{\partial T}\right)_P * \beta = \frac{1}{v}\left(\frac{\partial v}{\partial T}\right)_P
* \f] * \f]
*/ */
virtual doublereal thermalExpansionCoeff() const ; virtual doublereal thermalExpansionCoeff() const;
//! @} //! @}
//! @name Activities, Standard States, and Activity Concentrations //! @name Activities, Standard States, and Activity Concentrations
@ -342,7 +342,7 @@ public:
//! Get the nondimensional Enthalpy functions for the species //! Get the nondimensional Enthalpy functions for the species
//! at their standard states at the current <I>T</I> and <I>P</I> of the solution. //! at their standard states at the current <I>T</I> and <I>P</I> of the solution.
/*! /*!
* @param hrt Output vector of nondimensional standard state enthalpies. * @param hrt Output vector of nondimensional standard state enthalpies.
* Length: m_kk. * Length: m_kk.
*/ */
virtual void getEnthalpy_RT(doublereal* hrt) const; virtual void getEnthalpy_RT(doublereal* hrt) const;
@ -350,7 +350,7 @@ public:
//! Get the array of nondimensional Entropy functions for the //! Get the array of nondimensional Entropy functions for the
//! standard state species at the current <I>T</I> and <I>P</I> of the solution. //! standard state species at the current <I>T</I> and <I>P</I> of the solution.
/*! /*!
* @param sr Output vector of nondimensional standard state entropies. * @param sr Output vector of nondimensional standard state entropies.
* Length: m_kk. * Length: m_kk.
*/ */
virtual void getEntropy_R(doublereal* sr) const; virtual void getEntropy_R(doublereal* sr) const;
@ -372,7 +372,7 @@ public:
*/ */
virtual void getCp_R(doublereal* cpr) const; virtual void getCp_R(doublereal* cpr) const;
//! Returns the vector of nondimensional Internal Energies of the standard //! Returns the vector of nondimensional Internal Energies of the standard
//! state species at the current <I>T</I> and <I>P</I> of the solution //! state species at the current <I>T</I> and <I>P</I> of the solution
/*! /*!
* For an incompressible, * For an incompressible,

View file

@ -84,7 +84,7 @@ namespace Cantera
* R_s = k_s C_{gas} * R_s = k_s C_{gas}
* \f] * \f]
* where the units for \f$ R_s \f$ are kmol m-2 s-1. \f$ C_{gas} \f$ has units * where the units for \f$ R_s \f$ are kmol m-2 s-1. \f$ C_{gas} \f$ has units
* of kmol m-3. Therefore, the kinetic rate constant, \f$ k_s \f$, has * of kmol m-3. Therefore, the kinetic rate constant, \f$ k_s \f$, has
* units of m s-1. Nowhere does the concentration of the bulk phase * units of m s-1. Nowhere does the concentration of the bulk phase
* appear in the rate constant expression, since it's a stoichiometric * appear in the rate constant expression, since it's a stoichiometric
* phase and the activity is always equal to 1.0. * phase and the activity is always equal to 1.0.
@ -118,7 +118,7 @@ public:
/*! /*!
* @param right Object to be copied * @param right Object to be copied
*/ */
MineralEQ3(const MineralEQ3& right); MineralEQ3(const MineralEQ3& right);
//! Assignment operator //! Assignment operator
/*! /*!
@ -165,7 +165,7 @@ public:
*/ */
virtual void setPressure(doublereal p); virtual void setPressure(doublereal p);
//! Returns the isothermal compressibility. Units: 1/Pa. //! Returns the isothermal compressibility. Units: 1/Pa.
/*! /*!
* The isothermal compressibility is defined as * The isothermal compressibility is defined as
* \f[ * \f[
@ -181,7 +181,7 @@ public:
* \beta = \frac{1}{v}\left(\frac{\partial v}{\partial T}\right)_P * \beta = \frac{1}{v}\left(\frac{\partial v}{\partial T}\right)_P
* \f] * \f]
*/ */
virtual doublereal thermalExpansionCoeff() const ; virtual doublereal thermalExpansionCoeff() const;
/** /**
* @} * @}
@ -256,7 +256,7 @@ public:
//! Get the nondimensional Enthalpy functions for the species //! Get the nondimensional Enthalpy functions for the species
//! at their standard states at the current <I>T</I> and <I>P</I> of the solution. //! at their standard states at the current <I>T</I> and <I>P</I> of the solution.
/*! /*!
* @param hrt Output vector of nondimensional standard state enthalpies. * @param hrt Output vector of nondimensional standard state enthalpies.
* Length: m_kk. * Length: m_kk.
*/ */
virtual void getEnthalpy_RT(doublereal* hrt) const; virtual void getEnthalpy_RT(doublereal* hrt) const;
@ -264,7 +264,7 @@ public:
//! Get the array of nondimensional Entropy functions for the //! Get the array of nondimensional Entropy functions for the
//! standard state species at the current <I>T</I> and <I>P</I> of the solution. //! standard state species at the current <I>T</I> and <I>P</I> of the solution.
/*! /*!
* @param sr Output vector of nondimensional standard state entropies. * @param sr Output vector of nondimensional standard state entropies.
* Length: m_kk. * Length: m_kk.
*/ */
virtual void getEntropy_R(doublereal* sr) const; virtual void getEntropy_R(doublereal* sr) const;
@ -286,7 +286,7 @@ public:
*/ */
virtual void getCp_R(doublereal* cpr) const; virtual void getCp_R(doublereal* cpr) const;
//! Returns the vector of nondimensional Internal Energies of the standard //! Returns the vector of nondimensional Internal Energies of the standard
//! state species at the current <I>T</I> and <I>P</I> of the solution //! state species at the current <I>T</I> and <I>P</I> of the solution
/*! /*!
* For an incompressible, * For an incompressible,

View file

@ -297,7 +297,7 @@ public:
*/ */
MixedSolventElectrolyte& operator=(const MixedSolventElectrolyte& b); MixedSolventElectrolyte& operator=(const MixedSolventElectrolyte& b);
//! Duplication routine for objects which inherit from ThermoPhase. //! Duplication routine for objects which inherit from ThermoPhase.
/*! /*!
* This virtual routine can be used to duplicate ThermoPhase objects * This virtual routine can be used to duplicate ThermoPhase objects
* inherited from ThermoPhase even if the application only has * inherited from ThermoPhase even if the application only has
@ -537,7 +537,7 @@ public:
*/ */
virtual void getdlnActCoeffdlnX_diag(doublereal* dlnActCoeffdlnX_diag) const; virtual void getdlnActCoeffdlnX_diag(doublereal* dlnActCoeffdlnX_diag) const;
//! Get the array of derivatives of the log activity coefficients wrt mole numbers - diagonal only //! Get the array of derivatives of the log activity coefficients wrt mole numbers - diagonal only
/*! /*!
* This function is a virtual method. For ideal mixtures * This function is a virtual method. For ideal mixtures
* (unity activity coefficients), this can return zero. * (unity activity coefficients), this can return zero.
@ -572,7 +572,7 @@ public:
* @param dlnActCoeffdlnN Output vector of derivatives of the * @param dlnActCoeffdlnN Output vector of derivatives of the
* log Activity Coefficients. length = m_kk * m_kk * log Activity Coefficients. length = m_kk * m_kk
*/ */
virtual void getdlnActCoeffdlnN(const size_t ld, doublereal* const dlnActCoeffdlnN) ; virtual void getdlnActCoeffdlnN(const size_t ld, doublereal* const dlnActCoeffdlnN);
//@} //@}
private: private:
@ -632,7 +632,7 @@ private:
*/ */
void s_update_dlnActCoeff_dlnN_diag() const; void s_update_dlnActCoeff_dlnN_diag() const;
//! Update the derivative of the log of the activity coefficients wrt log(moles_m) //! Update the derivative of the log of the activity coefficients wrt log(moles_m)
/*! /*!
* This function will be called to update the internally stored * This function will be called to update the internally stored
* derivative of the natural logarithm of the activity coefficients * derivative of the natural logarithm of the activity coefficients

View file

@ -24,17 +24,17 @@ namespace Cantera
#define FLUID_UNSTABLE -4 #define FLUID_UNSTABLE -4
#define FLUID_UNDEFINED -3 #define FLUID_UNDEFINED -3
#define FLUID_SUPERCRIT -2 #define FLUID_SUPERCRIT -2
#define FLUID_GAS -1 #define FLUID_GAS -1
#define FLUID_LIQUID_0 0 #define FLUID_LIQUID_0 0
#define FLUID_LIQUID_1 1 #define FLUID_LIQUID_1 1
#define FLUID_LIQUID_2 2 #define FLUID_LIQUID_2 2
#define FLUID_LIQUID_3 3 #define FLUID_LIQUID_3 3
#define FLUID_LIQUID_4 4 #define FLUID_LIQUID_4 4
#define FLUID_LIQUID_5 5 #define FLUID_LIQUID_5 5
#define FLUID_LIQUID_6 6 #define FLUID_LIQUID_6 6
#define FLUID_LIQUID_7 7 #define FLUID_LIQUID_7 7
#define FLUID_LIQUID_8 8 #define FLUID_LIQUID_8 8
#define FLUID_LIQUID_9 9 #define FLUID_LIQUID_9 9
/** /**
* @ingroup thermoprops * @ingroup thermoprops
@ -169,7 +169,7 @@ public:
* getChemPotentials() and then dividing by RT. No need for child * getChemPotentials() and then dividing by RT. No need for child
* classes to handle. * classes to handle.
* *
* @param mu Output vector of non-dimensional species chemical potentials * @param mu Output vector of non-dimensional species chemical potentials
* Length: m_kk. * Length: m_kk.
*/ */
void getChemPotentials_RT(doublereal* mu) const; void getChemPotentials_RT(doublereal* mu) const;
@ -260,7 +260,7 @@ public:
virtual void getIntEnergy_RT(doublereal* urt) const; virtual void getIntEnergy_RT(doublereal* urt) const;
//! Get the nondimensional Heat Capacities at constant //! Get the nondimensional Heat Capacities at constant
//! pressure for the standard state of the species at the current T and P. //! pressure for the standard state of the species at the current T and P.
/*! /*!
* For all objects with the Mixture Fugacity approximation, we define the * For all objects with the Mixture Fugacity approximation, we define the
* standard state as an ideal gas at the current temperature and pressure of the solution. * standard state as an ideal gas at the current temperature and pressure of the solution.
@ -423,7 +423,7 @@ public:
} }
protected: protected:
//! Updates the reference state thermodynamic functions at the current T of the solution. //! Updates the reference state thermodynamic functions at the current T of the solution.
/*! /*!
* This function must be called for every call to functions in this * This function must be called for every call to functions in this
* class. It checks to see whether the temperature has changed and * class. It checks to see whether the temperature has changed and
@ -446,7 +446,7 @@ public:
* variables for holding the species reference-state values of Cp, H, S, and V at the * variables for holding the species reference-state values of Cp, H, S, and V at the
* last temperature and reference pressure called. These functions are not recalculated * last temperature and reference pressure called. These functions are not recalculated
* if a new call is made using the previous temperature. * if a new call is made using the previous temperature.
* All calculations are done within the routine _updateRefStateThermo(). * All calculations are done within the routine _updateRefStateThermo().
*/ */
//@{ //@{
@ -549,9 +549,9 @@ public:
*/ */
//@{ //@{
//! Set the initial state of the phase to the conditions specified in the state XML element. //! Set the initial state of the phase to the conditions specified in the state XML element.
/*! /*!
* This method sets the temperature, pressure, and mole fraction vector to a set default value. * This method sets the temperature, pressure, and mole fraction vector to a set default value.
* *
* @param state An XML_Node object corresponding to * @param state An XML_Node object corresponding to
* the "state" entry for this phase in the input file. * the "state" entry for this phase in the input file.
@ -615,7 +615,7 @@ protected:
//! Calculate the value of z //! Calculate the value of z
/*! /*!
* \f[ * \f[
* z = \frac{P v}{ R T} * z = \frac{P v}{R T}
* \f] * \f]
* *
* returns the value of z * returns the value of z
@ -714,7 +714,7 @@ public:
* - WATER_LIQUID below the critical temperature but above the critical density * - WATER_LIQUID below the critical temperature but above the critical density
* - WATER_SUPERCRIT above the critical temperature * - WATER_SUPERCRIT above the critical temperature
*/ */
int phaseState(bool checkState = false) const ; int phaseState(bool checkState = false) const;
//! Return the value of the density at the liquid spinodal point (on the liquid side) //! Return the value of the density at the liquid spinodal point (on the liquid side)
//! for the current temperature. //! for the current temperature.
@ -791,7 +791,7 @@ protected:
* *
* units = Pascals * units = Pascals
*/ */
doublereal m_Pcurrent; doublereal m_Pcurrent;
//! Storage for the current values of the mole fractions of the species //! Storage for the current values of the mole fractions of the species
/*! /*!
@ -815,19 +815,19 @@ protected:
mutable doublereal m_Tlast_ref; mutable doublereal m_Tlast_ref;
//! Temporary storage for log of p/rt //! Temporary storage for log of p/rt
mutable doublereal m_logc0; mutable doublereal m_logc0;
//! Temporary storage for dimensionless reference state enthalpies //! Temporary storage for dimensionless reference state enthalpies
mutable vector_fp m_h0_RT; mutable vector_fp m_h0_RT;
//! Temporary storage for dimensionless reference state heat capacities //! Temporary storage for dimensionless reference state heat capacities
mutable vector_fp m_cp0_R; mutable vector_fp m_cp0_R;
//! Temporary storage for dimensionless reference state Gibbs energies //! Temporary storage for dimensionless reference state Gibbs energies
mutable vector_fp m_g0_RT; mutable vector_fp m_g0_RT;
//! Temporary storage for dimensionless reference state entropies //! Temporary storage for dimensionless reference state entropies
mutable vector_fp m_s0_R; mutable vector_fp m_s0_R;
spinodalFunc* fdpdv_; spinodalFunc* fdpdv_;
}; };

View file

@ -81,7 +81,7 @@ namespace Cantera
* *
* The standard states for thermodynamic objects that derive from <b>MolalityVPSSTP</b> * The standard states for thermodynamic objects that derive from <b>MolalityVPSSTP</b>
* are on the unit molality basis. Chemical potentials * are on the unit molality basis. Chemical potentials
* of the solutes, \f$ \mu_k \f$, and the solvent, \f$ \mu_o \f$, which are based * of the solutes, \f$ \mu_k \f$, and the solvent, \f$ \mu_o \f$, which are based
* on the molality form, have the following general format: * on the molality form, have the following general format:
* *
* \f[ * \f[
@ -103,7 +103,7 @@ namespace Cantera
* \f] * \f]
* *
* MolalityVPSSTP::osmoticCoefficient() returns the value of \f$ \phi \f$. * MolalityVPSSTP::osmoticCoefficient() returns the value of \f$ \phi \f$.
* Note there are a few of definitions of the osmotic coefficient floating * Note there are a few of definitions of the osmotic coefficient floating
* around. We use the one defined in * around. We use the one defined in
* (Activity Coefficients in Electrolyte Solutions, K. S. Pitzer * (Activity Coefficients in Electrolyte Solutions, K. S. Pitzer
* CRC Press, Boca Raton, 1991, p. 85, Eqn. 28). This definition is most clearly * CRC Press, Boca Raton, 1991, p. 85, Eqn. 28). This definition is most clearly
@ -470,7 +470,7 @@ public:
//! Get the array of non-dimensional molality based //! Get the array of non-dimensional molality based
//! activity coefficients at the current solution temperature, //! activity coefficients at the current solution temperature,
//! pressure, and solution concentration. //! pressure, and solution concentration.
/*! /*!
* See Denbigh p. 278 for a thorough discussion. This class must be overwritten in * See Denbigh p. 278 for a thorough discussion. This class must be overwritten in
* classes which derive from MolalityVPSSTP. This function takes over from the * classes which derive from MolalityVPSSTP. This function takes over from the
@ -506,7 +506,7 @@ public:
* \phi = \frac{- ln(a_o)}{\tilde{M}_o \sum_{i \ne o} m_i} * \phi = \frac{- ln(a_o)}{\tilde{M}_o \sum_{i \ne o} m_i}
* \f] * \f]
* *
* Note there are a few of definitions of the osmotic coefficient floating * Note there are a few of definitions of the osmotic coefficient floating
* around. We use the one defined in * around. We use the one defined in
* (Activity Coefficients in Electrolyte Solutions, K. S. Pitzer * (Activity Coefficients in Electrolyte Solutions, K. S. Pitzer
* CRC Press, Boca Raton, 1991, p. 85, Eqn. 28). This definition is most clearly * CRC Press, Boca Raton, 1991, p. 85, Eqn. 28). This definition is most clearly
@ -679,7 +679,7 @@ protected:
//! Get the array of unscaled non-dimensional molality based //! Get the array of unscaled non-dimensional molality based
//! activity coefficients at the current solution temperature, //! activity coefficients at the current solution temperature,
//! pressure, and solution concentration. //! pressure, and solution concentration.
/*! /*!
* See Denbigh p. 278 for a thorough discussion. This class must be overwritten in * See Denbigh p. 278 for a thorough discussion. This class must be overwritten in
* classes which derive from MolalityVPSSTP. This function takes over from the * classes which derive from MolalityVPSSTP. This function takes over from the
@ -736,7 +736,7 @@ protected:
* scaling. * scaling.
* Either PHSCALE_PITZER or PHSCALE_NBS * Either PHSCALE_PITZER or PHSCALE_NBS
*/ */
int m_pHScalingType; int m_pHScalingType;
//! Index of the phScale species //! Index of the phScale species
/*! /*!
@ -772,7 +772,7 @@ protected:
* Note this vector is a mutable quantity. * Note this vector is a mutable quantity.
* units are (kg/kmol) * units are (kg/kmol)
*/ */
mutable vector_fp m_molalities; mutable vector_fp m_molalities;
}; };
@ -819,7 +819,7 @@ const int PHSCALE_PITZER = 0;
* This is the NBS pH scale, which is used in all conventional pH * This is the NBS pH scale, which is used in all conventional pH
* measurements. and is based on the Bates-Guggenheim equations. * measurements. and is based on the Bates-Guggenheim equations.
*/ */
const int PHSCALE_NBS = 1; const int PHSCALE_NBS = 1;
} }

View file

@ -91,7 +91,7 @@ public:
/*! /*!
* @param b class to be copied * @param b class to be copied
*/ */
MolarityIonicVPSSTP(const MolarityIonicVPSSTP& b); MolarityIonicVPSSTP(const MolarityIonicVPSSTP& b);
/// Assignment operator /// Assignment operator
/*! /*!
@ -99,7 +99,7 @@ public:
*/ */
MolarityIonicVPSSTP& operator=(const MolarityIonicVPSSTP& b); MolarityIonicVPSSTP& operator=(const MolarityIonicVPSSTP& b);
//! Duplication routine for objects which inherit from ThermoPhase. //! Duplication routine for objects which inherit from ThermoPhase.
/*! /*!
* This virtual routine can be used to duplicate ThermoPhase objects * This virtual routine can be used to duplicate ThermoPhase objects
* inherited from ThermoPhase even if the application only has * inherited from ThermoPhase even if the application only has
@ -348,10 +348,10 @@ protected:
mutable std::vector<doublereal> moleFractionsTmp_; mutable std::vector<doublereal> moleFractionsTmp_;
}; };
#define PBTYPE_PASSTHROUGH 0 #define PBTYPE_PASSTHROUGH 0
#define PBTYPE_SINGLEANION 1 #define PBTYPE_SINGLEANION 1
#define PBTYPE_SINGLECATION 2 #define PBTYPE_SINGLECATION 2
#define PBTYPE_MULTICATIONANION 3 #define PBTYPE_MULTICATIONANION 3
} }

View file

@ -31,7 +31,7 @@ class XML_Node;
* The piece-wise constant heat capacity is calculated from the change in the chemical potential over each interval. * The piece-wise constant heat capacity is calculated from the change in the chemical potential over each interval.
* Once the heat capacity is known, the other thermodynamic functions may be determined. * Once the heat capacity is known, the other thermodynamic functions may be determined.
* The basic equation for going from temperature point 1 to temperature point 2 * The basic equation for going from temperature point 1 to temperature point 2
* are as follows for \f$ T \f$, \f$ T_1 <= T <= T_2 \f$ * are as follows for \f$ T \f$, \f$ T_1 <= T <= T_2 \f$
* *
* \f[ * \f[
* \mu^o(T_1) = h^o(T_1) - T_1 * s^o(T_1) * \mu^o(T_1) = h^o(T_1) - T_1 * s^o(T_1)
@ -46,7 +46,7 @@ class XML_Node;
* h^o(T_2) = h^o(T_1) + Cp^o(T_1)(T_2 - T_1) * h^o(T_2) = h^o(T_1) + Cp^o(T_1)(T_2 - T_1)
* \f] * \f]
* *
* Within each interval the following relations are used. For \f$ T \f$, \f$ T_1 <= T <= T_2 \f$ * Within each interval the following relations are used. For \f$ T \f$, \f$ T_1 <= T <= T_2 \f$
* *
* \f[ * \f[
* \mu^o(T) = \mu^o(T_1) + Cp^o(T_1)(T - T_1) - Cp^o(T_1)(T_2)ln(\frac{T}{T_1}) - s^o(T_1)(T - T_1) * \mu^o(T) = \mu^o(T_1) + Cp^o(T_1)(T - T_1) - Cp^o(T_1)(T_2)ln(\frac{T}{T_1}) - s^o(T_1)(T - T_1)
@ -110,7 +110,7 @@ public:
//! Update the properties for this species, given a temperature polynomial //! Update the properties for this species, given a temperature polynomial
/*! /*!
* This method is called with a pointer to an array containing the functions of * This method is called with a pointer to an array containing the functions of
* temperature needed by this parameterization, and three pointers to arrays where the * temperature needed by this parameterization, and three pointers to arrays where the
* computed property values should be written. This method updates only one value in * computed property values should be written. This method updates only one value in
* each array. * each array.
* *
@ -125,12 +125,12 @@ public:
*/ */
virtual void updateProperties(const doublereal* tPoly, virtual void updateProperties(const doublereal* tPoly,
doublereal* cp_R, doublereal* h_RT, doublereal* cp_R, doublereal* h_RT,
doublereal* s_R) const ; doublereal* s_R) const;
virtual void updatePropertiesTemp(const doublereal temp, virtual void updatePropertiesTemp(const doublereal temp,
doublereal* cp_R, doublereal* cp_R,
doublereal* h_RT, doublereal* h_RT,
doublereal* s_R) const ; doublereal* s_R) const;
virtual void reportParameters(size_t& n, int& type, virtual void reportParameters(size_t& n, int& type,
doublereal& tlow, doublereal& thigh, doublereal& tlow, doublereal& thigh,
doublereal& pref, doublereal& pref,

View file

@ -95,7 +95,7 @@ public:
//! Update the properties for this species, given a temperature polynomial //! Update the properties for this species, given a temperature polynomial
/*! /*!
* This method is called with a pointer to an array containing the * This method is called with a pointer to an array containing the
* functions of temperature needed by this parameterization, and three * functions of temperature needed by this parameterization, and three
* pointers to arrays where the computed property values should be * pointers to arrays where the computed property values should be
* written. This method updates only one value in each array. * written. This method updates only one value in each array.
* *

View file

@ -78,7 +78,7 @@ public:
//! Update the properties for this species, given a temperature polynomial //! Update the properties for this species, given a temperature polynomial
/*! /*!
* This method is called with a pointer to an array containing the * This method is called with a pointer to an array containing the
* functions of temperature needed by this parameterization, and three * functions of temperature needed by this parameterization, and three
* pointers to arrays where the computed property values should be * pointers to arrays where the computed property values should be
* written. This method updates only one value in each array. * written. This method updates only one value in each array.
* *

View file

@ -85,7 +85,7 @@ public:
//! Update the properties for this species, given a temperature polynomial //! Update the properties for this species, given a temperature polynomial
/*! /*!
* This method is called with a pointer to an array containing the * This method is called with a pointer to an array containing the
* functions of temperature needed by this parameterization, and three * functions of temperature needed by this parameterization, and three
* pointers to arrays where the computed property values should be * pointers to arrays where the computed property values should be
* written. This method updates only one value in each array. * written. This method updates only one value in each array.
* *
@ -104,18 +104,18 @@ public:
*/ */
virtual void updateProperties(const doublereal* tt, virtual void updateProperties(const doublereal* tt,
doublereal* cp_R, doublereal* h_RT, doublereal* s_R) const { doublereal* cp_R, doublereal* h_RT, doublereal* s_R) const {
doublereal ct0 = m_coeff[0]; // a0 doublereal ct0 = m_coeff[0]; // a0
doublereal ct1 = m_coeff[1]*tt[0]; // a1 * T doublereal ct1 = m_coeff[1]*tt[0]; // a1 * T
doublereal ct2 = m_coeff[2]*tt[1]; // a2 * T^2 doublereal ct2 = m_coeff[2]*tt[1]; // a2 * T^2
doublereal ct3 = m_coeff[3]*tt[2]; // a3 * T^3 doublereal ct3 = m_coeff[3]*tt[2]; // a3 * T^3
doublereal ct4 = m_coeff[4]*tt[3]; // a4 * T^4 doublereal ct4 = m_coeff[4]*tt[3]; // a4 * T^4
doublereal cp, h, s; doublereal cp, h, s;
cp = ct0 + ct1 + ct2 + ct3 + ct4; cp = ct0 + ct1 + ct2 + ct3 + ct4;
h = ct0 + 0.5*ct1 + 1.0/3.0*ct2 + 0.25*ct3 + 0.2*ct4 h = ct0 + 0.5*ct1 + 1.0/3.0*ct2 + 0.25*ct3 + 0.2*ct4
+ m_coeff[5]*tt[4]; // last term is a5/T + m_coeff[5]*tt[4]; // last term is a5/T
s = ct0*tt[5] + ct1 + 0.5*ct2 + 1.0/3.0*ct3 s = ct0*tt[5] + ct1 + 0.5*ct2 + 1.0/3.0*ct3
+0.25*ct4 + m_coeff[6]; // last term is a6 +0.25*ct4 + m_coeff[6]; // last term is a6
// return the computed properties for this species // return the computed properties for this species
*cp_R = cp; *cp_R = cp;
@ -156,14 +156,14 @@ public:
double tt[6]; double tt[6];
double temp = 298.15; double temp = 298.15;
updateTemperaturePoly(temp, tt); updateTemperaturePoly(temp, tt);
doublereal ct0 = m_coeff[0]; // a0 doublereal ct0 = m_coeff[0]; // a0
doublereal ct1 = m_coeff[1]*tt[0]; // a1 * T doublereal ct1 = m_coeff[1]*tt[0]; // a1 * T
doublereal ct2 = m_coeff[2]*tt[1]; // a2 * T^2 doublereal ct2 = m_coeff[2]*tt[1]; // a2 * T^2
doublereal ct3 = m_coeff[3]*tt[2]; // a3 * T^3 doublereal ct3 = m_coeff[3]*tt[2]; // a3 * T^3
doublereal ct4 = m_coeff[4]*tt[3]; // a4 * T^4 doublereal ct4 = m_coeff[4]*tt[3]; // a4 * T^4
double h_RT = ct0 + 0.5*ct1 + 1.0/3.0*ct2 + 0.25*ct3 + 0.2*ct4 double h_RT = ct0 + 0.5*ct1 + 1.0/3.0*ct2 + 0.25*ct3 + 0.2*ct4
+ m_coeff[5]*tt[4]; // last t + m_coeff[5]*tt[4]; // last t
double h = h_RT * GasConstant * temp; double h = h_RT * GasConstant * temp;
if (h298) { if (h298) {

View file

@ -92,7 +92,7 @@ public:
//! Update the properties for this species, given a temperature polynomial //! Update the properties for this species, given a temperature polynomial
/*! /*!
* This method is called with a pointer to an array containing the * This method is called with a pointer to an array containing the
* functions of temperature needed by this parameterization, and three * functions of temperature needed by this parameterization, and three
* pointers to arrays where the computed property values should be * pointers to arrays where the computed property values should be
* written. This method updates only one value in each array. * written. This method updates only one value in each array.
* *
@ -162,7 +162,7 @@ public:
double h = mnp_low.reportHf298(0); double h = mnp_low.reportHf298(0);
double hnew = h + delH; double hnew = h + delH;
mnp_low.modifyOneHf298(k, hnew); mnp_low.modifyOneHf298(k, hnew);
h = mnp_high.reportHf298(0); h = mnp_high.reportHf298(0);
hnew = h + delH; hnew = h + delH;
mnp_high.modifyOneHf298(k, hnew); mnp_high.modifyOneHf298(k, hnew);
} }

View file

@ -105,7 +105,7 @@ public:
* *
* Note this is just an extra routine to check the arithmetic * Note this is just an extra routine to check the arithmetic
* *
* @return returns the species standard state enthalpy in J kmol-1 * @return returns the species standard state enthalpy in J kmol-1
*/ */
doublereal enthalpy_mole2() const; doublereal enthalpy_mole2() const;
#endif #endif
@ -326,7 +326,7 @@ private:
//! Translate a Gibbs free energy of formation value to a NIST-based Chemical potential //! Translate a Gibbs free energy of formation value to a NIST-based Chemical potential
/*! /*!
* Internally, this function is used to translate the input value, * Internally, this function is used to translate the input value,
* m_deltaG_formation_tr_pr, to the internally stored value, m_Mu0_tr_pr. * m_deltaG_formation_tr_pr, to the internally stored value, m_Mu0_tr_pr.
*/ */
void convertDGFormation(); void convertDGFormation();

View file

@ -102,7 +102,7 @@ public:
* \f] * \f]
* *
* <I>m</I> is the neutral molecule species index. \f$ \alpha_{m , k} \f$ is the stoiciometric * <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>. * 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 * 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>. * case is the single anion species, with species index <I>sp</I>.
*/ */

View file

@ -304,7 +304,7 @@ private:
private: private:
//! Enumerated data type describing the type of volume model //! Enumerated data type describing the type of volume model
//! used to calculate the standard state volume of the species //! used to calculate the standard state volume of the species
SSVolume_Model_enumType volumeModel_; SSVolume_Model_enumType volumeModel_;
//! Value of the constant molar volume for the species //! Value of the constant molar volume for the species
/*! /*!

View file

@ -113,7 +113,7 @@ public:
//! Duplication routine for objects which inherit from PDSS //! Duplication routine for objects which inherit from PDSS
/*! /*!
* This virtual routine can be used to duplicate PDSS objects * This virtual routine can be used to duplicate PDSS objects
* inherited from PDSS even if the application only has * inherited from PDSS even if the application only has
* a pointer to PDSS to work with. * a pointer to PDSS to work with.
* *
@ -186,7 +186,7 @@ public:
*/ */
virtual doublereal dthermalExpansionCoeffdT() const; virtual doublereal dthermalExpansionCoeffdT() const;
//! Returns the isothermal compressibility. Units: 1/Pa. //! Returns the isothermal compressibility. Units: 1/Pa.
/*! /*!
* The isothermal compressibility is defined as * The isothermal compressibility is defined as
* \f[ * \f[

View file

@ -232,7 +232,7 @@ public:
//! @param m element index //! @param m element index
doublereal nAtoms(size_t k, size_t m) const; doublereal nAtoms(size_t k, size_t m) const;
//! Get a vector containing the atomic composition of species k //! Get a vector containing the atomic composition of species k
//! @param k species index //! @param k species index
//! @param atomArray vector containing the atomic number in the species. //! @param atomArray vector containing the atomic number in the species.
//! Length: m_mm //! Length: m_mm

View file

@ -370,7 +370,7 @@ public:
*/ */
PhaseCombo_Interaction& operator=(const PhaseCombo_Interaction& b); PhaseCombo_Interaction& operator=(const PhaseCombo_Interaction& b);
//! Duplication routine for objects which inherit from ThermoPhase. //! Duplication routine for objects which inherit from ThermoPhase.
/*! /*!
* This virtual routine can be used to duplicate ThermoPhase objects * This virtual routine can be used to duplicate ThermoPhase objects
* inherited from ThermoPhase even if the application only has * inherited from ThermoPhase even if the application only has
@ -618,7 +618,7 @@ public:
*/ */
virtual void getdlnActCoeffdlnX_diag(doublereal* dlnActCoeffdlnX_diag) const; virtual void getdlnActCoeffdlnX_diag(doublereal* dlnActCoeffdlnX_diag) const;
//! Get the array of derivatives of the log activity coefficients wrt mole numbers - diagonal only //! Get the array of derivatives of the log activity coefficients wrt mole numbers - diagonal only
/*! /*!
* This function is a virtual method. For ideal mixtures * This function is a virtual method. For ideal mixtures
* (unity activity coefficients), this can return zero. * (unity activity coefficients), this can return zero.
@ -714,7 +714,7 @@ private:
*/ */
void s_update_dlnActCoeff_dlnN_diag() const; void s_update_dlnActCoeff_dlnN_diag() const;
//! Update the derivative of the log of the activity coefficients wrt log(moles_m) //! Update the derivative of the log of the activity coefficients wrt log(moles_m)
/*! /*!
* This function will be called to update the internally stored * This function will be called to update the internally stored
* derivative of the natural logarithm of the activity coefficients * derivative of the natural logarithm of the activity coefficients

View file

@ -252,7 +252,7 @@ public:
//! Get the nondimensional Enthalpy functions for the species //! Get the nondimensional Enthalpy functions for the species
//! at their standard states at the current <I>T</I> and <I>P</I> of the solution. //! at their standard states at the current <I>T</I> and <I>P</I> of the solution.
/*! /*!
* @param hrt Output vector of nondimensional standard state enthalpies. * @param hrt Output vector of nondimensional standard state enthalpies.
* Length: m_kk. * Length: m_kk.
*/ */
virtual void getEnthalpy_RT(doublereal* hrt) const; virtual void getEnthalpy_RT(doublereal* hrt) const;
@ -260,7 +260,7 @@ public:
//! Get the array of nondimensional Entropy functions for the //! Get the array of nondimensional Entropy functions for the
//! standard state species at the current <I>T</I> and <I>P</I> of the solution. //! standard state species at the current <I>T</I> and <I>P</I> of the solution.
/*! /*!
* @param sr Output vector of nondimensional standard state entropies. * @param sr Output vector of nondimensional standard state entropies.
* Length: m_kk. * Length: m_kk.
*/ */
virtual void getEntropy_R(doublereal* sr) const; virtual void getEntropy_R(doublereal* sr) const;

View file

@ -39,7 +39,7 @@ namespace Cantera
* The independent unknowns are pressure, temperature, and mass fraction. * The independent unknowns are pressure, temperature, and mass fraction.
* *
* Several concepts are introduced. The first concept is there are temporary * Several concepts are introduced. The first concept is there are temporary
* variables for holding the species standard state values of Cp, H, S, G, and V at the * variables for holding the species standard state values of Cp, H, S, G, and V at the
* last temperature and pressure called. These functions are not recalculated * last temperature and pressure called. These functions are not recalculated
* if a new call is made using the previous temperature and pressure. Currently, * if a new call is made using the previous temperature and pressure. Currently,
* these variables and the calculation method are handled by the VPSSMgr class, * these variables and the calculation method are handled by the VPSSMgr class,
@ -136,7 +136,7 @@ namespace Cantera
* \tilde{h}_k(T,P) = h^o_k(T,P) - R T^2 \frac{d \ln(\gamma_k)}{dT} * \tilde{h}_k(T,P) = h^o_k(T,P) - R T^2 \frac{d \ln(\gamma_k)}{dT}
* \f] * \f]
* *
* The partial molar volume for species <I>k</I> is * The partial molar volume for species <I>k</I> is
* *
* \f[ * \f[
* \tilde V_k(T,P) = V^o_k(T,P) + R T \frac{d \ln(\gamma_k) }{dP} * \tilde V_k(T,P) = V^o_k(T,P) + R T \frac{d \ln(\gamma_k) }{dP}
@ -528,7 +528,7 @@ public:
*/ */
virtual void getdlnActCoeffdlnX_diag(doublereal* dlnActCoeffdlnX_diag) const; virtual void getdlnActCoeffdlnX_diag(doublereal* dlnActCoeffdlnX_diag) const;
//! Get the array of derivatives of the log activity coefficients wrt mole numbers - diagonal only //! Get the array of derivatives of the log activity coefficients wrt mole numbers - diagonal only
/*! /*!
* This function is a virtual method. For ideal mixtures * This function is a virtual method. For ideal mixtures
* (unity activity coefficients), this can return zero. * (unity activity coefficients), this can return zero.
@ -563,7 +563,7 @@ public:
* @param dlnActCoeffdlnN Output vector of derivatives of the * @param dlnActCoeffdlnN Output vector of derivatives of the
* log Activity Coefficients. length = m_kk * m_kk * log Activity Coefficients. length = m_kk * m_kk
*/ */
virtual void getdlnActCoeffdlnN(const size_t ld, doublereal* const dlnActCoeffdlnN) ; virtual void getdlnActCoeffdlnN(const size_t ld, doublereal* const dlnActCoeffdlnN);
//@} //@}
@ -624,7 +624,7 @@ public:
* @param VintOut Output contribution to the voltage corresponding to nonideal term * @param VintOut Output contribution to the voltage corresponding to nonideal term
* @param voltsOut Output contribution to the voltage corresponding to nonideal term and mf term * @param voltsOut Output contribution to the voltage corresponding to nonideal term and mf term
*/ */
void Vint(double& VintOut, double& voltsOut) ; void Vint(double& VintOut, double& voltsOut);
#endif #endif
protected: protected:
@ -654,7 +654,7 @@ protected:
//! Entropy term for the binary mole fraction interaction of the //! Entropy term for the binary mole fraction interaction of the
//! excess Gibbs free energy expression //! excess Gibbs free energy expression
mutable std::vector< vector_fp> m_SE_m_ij; mutable std::vector< vector_fp> m_SE_m_ij;
//! form of the RedlichKister interaction expression //! form of the RedlichKister interaction expression
/*! /*!

View file

@ -111,7 +111,7 @@ public:
/*! /*!
* Since the mass density, temperature, and mass fractions are stored, * Since the mass density, temperature, and mass fractions are stored,
* this method uses these values to implement the * this method uses these values to implement the
* mechanical equation of state \f$ P(T, \rho, Y_1, \dots, Y_K) \f$. * mechanical equation of state \f$ P(T, \rho, Y_1, \dots, Y_K) \f$.
* *
* \f[ * \f[
* P = \frac{RT}{v-b_{mix}} - \frac{a_{mix}}{T^{0.5} v \left( v + b_{mix} \right) } * P = \frac{RT}{v-b_{mix}} - \frac{a_{mix}}{T^{0.5} v \left( v + b_{mix} \right) }
@ -224,7 +224,7 @@ public:
//! Returns the standard concentration \f$ C^0_k \f$, which is used to normalize //! Returns the standard concentration \f$ C^0_k \f$, which is used to normalize
//! the generalized concentration. //! the generalized concentration.
/*! /*!
* This is defined as the concentration by which the generalized * This is defined as the concentration by which the generalized
* concentration is normalized to produce the activity. * concentration is normalized to produce the activity.
* In many cases, this quantity will be the same for all species in a phase. * In many cases, this quantity will be the same for all species in a phase.
* Since the activity for an ideal gas mixture is * Since the activity for an ideal gas mixture is
@ -261,7 +261,7 @@ public:
* getChemPotentials() and then dividing by RT. No need for child * getChemPotentials() and then dividing by RT. No need for child
* classes to handle. * classes to handle.
* *
* @param mu Output vector of non-dimensional species chemical potentials * @param mu Output vector of non-dimensional species chemical potentials
* Length: m_kk. * Length: m_kk.
*/ */
void getChemPotentials_RT(doublereal* mu) const; void getChemPotentials_RT(doublereal* mu) const;
@ -602,7 +602,7 @@ protected:
vector_fp a_vec_Curr_; vector_fp a_vec_Curr_;
vector_fp b_vec_Curr_; vector_fp b_vec_Curr_;
Array2D a_coeff_vec; Array2D a_coeff_vec;
vector_fp m_pc_Species; vector_fp m_pc_Species;
vector_fp m_tc_Species; vector_fp m_tc_Species;

View file

@ -57,7 +57,7 @@ public:
virtual void setPressure(doublereal pres) { virtual void setPressure(doublereal pres) {
m_press = pres; m_press = pres;
} }
virtual doublereal pressure() const { virtual doublereal pressure() const {
return m_press; return m_press;
} }

View file

@ -103,7 +103,7 @@ public:
//! Update the properties for this species, given a temperature polynomial //! Update the properties for this species, given a temperature polynomial
/*! /*!
* This method is called with a pointer to an array containing the * This method is called with a pointer to an array containing the
* functions of temperature needed by this parameterization, and three * functions of temperature needed by this parameterization, and three
* pointers to arrays where the computed property values should be * pointers to arrays where the computed property values should be
* written. This method updates only one value in each array. * written. This method updates only one value in each array.
* *
@ -123,13 +123,13 @@ public:
virtual void updateProperties(const doublereal* tt, virtual void updateProperties(const doublereal* tt,
doublereal* cp_R, doublereal* h_RT, doublereal* cp_R, doublereal* h_RT,
doublereal* s_R) const { doublereal* s_R) const {
doublereal A = m_coeff[0]; doublereal A = m_coeff[0];
doublereal Bt = m_coeff[1]*tt[0]; doublereal Bt = m_coeff[1]*tt[0];
doublereal Ct2 = m_coeff[2]*tt[1]; doublereal Ct2 = m_coeff[2]*tt[1];
doublereal Dt3 = m_coeff[3]*tt[2]; doublereal Dt3 = m_coeff[3]*tt[2];
doublereal Etm2 = m_coeff[4]*tt[3]; doublereal Etm2 = m_coeff[4]*tt[3];
doublereal Ftm1 = m_coeff[5]*tt[5]; doublereal Ftm1 = m_coeff[5]*tt[5];
doublereal G = m_coeff[6]; doublereal G = m_coeff[6];
*cp_R = A + Bt + Ct2 + Dt3 + Etm2; *cp_R = A + Bt + Ct2 + Dt3 + Etm2;
*h_RT = A + 0.5*Bt + 1.0/3.0*Ct2 + 0.25*Dt3 - Etm2 + Ftm1; *h_RT = A + 0.5*Bt + 1.0/3.0*Ct2 + 0.25*Dt3 - Etm2 + Ftm1;
@ -316,7 +316,7 @@ public:
virtual void modifyParameters(doublereal* coeffs) { virtual void modifyParameters(doublereal* coeffs) {
std::copy(coeffs, coeffs + 15, m_coeff.begin()); std::copy(coeffs, coeffs + 15, m_coeff.begin());
m_midT = coeffs[0]; m_midT = coeffs[0];
msp_low = ShomatePoly(m_lowT, m_midT, m_Pref, coeffs+1); msp_low = ShomatePoly(m_lowT, m_midT, m_Pref, coeffs+1);
msp_high = ShomatePoly(m_midT, m_highT, m_Pref, coeffs+8); msp_high = ShomatePoly(m_midT, m_highT, m_Pref, coeffs+8);
} }
@ -339,7 +339,7 @@ public:
double h = msp_low.reportHf298(0); double h = msp_low.reportHf298(0);
double hnew = h + delH; double hnew = h + delH;
msp_low.modifyOneHf298(k, hnew); msp_low.modifyOneHf298(k, hnew);
h = msp_high.reportHf298(0); h = msp_high.reportHf298(0);
hnew = h + delH; hnew = h + delH;
msp_high.modifyOneHf298(k, hnew); msp_high.modifyOneHf298(k, hnew);
} }

View file

@ -72,7 +72,7 @@ public:
/*! /*!
* @param right Object to be copied * @param right Object to be copied
*/ */
SingleSpeciesTP(const SingleSpeciesTP& right); SingleSpeciesTP(const SingleSpeciesTP& right);
//! Assignment operator //! Assignment operator
/*! /*!
@ -189,10 +189,10 @@ public:
//@} //@}
/// @name Partial Molar Properties of the Solution /// @name Partial Molar Properties of the Solution
/// ///
/// These functions are resolved at this level, by reference /// These functions are resolved at this level, by reference
/// to the partial molar functions and standard state /// to the partial molar functions and standard state
/// functions for species 0. Derived classes don't need /// functions for species 0. Derived classes don't need
/// to supply entries for these functions. /// to supply entries for these functions.
//@{ //@{
//! Get the array of non-dimensional species chemical potentials //! Get the array of non-dimensional species chemical potentials
@ -224,7 +224,7 @@ public:
* This method adds a term \f$ Fz_k \phi_k \f$ to * This method adds a term \f$ Fz_k \phi_k \f$ to
* each chemical potential. * each chemical potential.
* *
* This is resolved here. A single species phase * This is resolved here. A single species phase
* is not allowed to have anything other than a zero charge. * is not allowed to have anything other than a zero charge.
* *
* @param mu On return, Contains the electrochemical potential of the single species * @param mu On return, Contains the electrochemical potential of the single species
@ -356,7 +356,7 @@ public:
* @param g Output vector containing the reference state * @param g Output vector containing the reference state
* Gibbs Free energies. Length: m_kk. Units: J/kmol. * Gibbs Free energies. Length: m_kk. Units: J/kmol.
*/ */
virtual void getGibbs_ref(doublereal* g) const; virtual void getGibbs_ref(doublereal* g) const;
/*! /*!
* Returns the vector of nondimensional * Returns the vector of nondimensional
@ -481,11 +481,11 @@ protected:
doublereal m_p0; doublereal m_p0;
//! Dimensionless enthalpy at the (mtlast, m_p0) //! Dimensionless enthalpy at the (mtlast, m_p0)
mutable vector_fp m_h0_RT; mutable vector_fp m_h0_RT;
//! Dimensionless heat capacity at the (mtlast, m_p0) //! Dimensionless heat capacity at the (mtlast, m_p0)
mutable vector_fp m_cp0_R; mutable vector_fp m_cp0_R;
//! Dimensionless entropy at the (mtlast, m_p0) //! Dimensionless entropy at the (mtlast, m_p0)
mutable vector_fp m_s0_R; mutable vector_fp m_s0_R;
/** /**
* @internal * @internal

View file

@ -86,7 +86,7 @@ class SpeciesThermoInterpType;
* The following classes inherit from SpeciesThermoInterpType. * The following classes inherit from SpeciesThermoInterpType.
* *
* - NasaPoly1 in file NasaPoly1.h * - NasaPoly1 in file NasaPoly1.h
* - This is a one zone model, consisting of a 7 * - This is a one zone model, consisting of a 7
* coefficient NASA Polynomial format. * coefficient NASA Polynomial format.
* - NasaPoly2 in file NasaPoly2.h * - NasaPoly2 in file NasaPoly2.h
* - This is a two zone model, with each zone consisting of a 7 * - This is a two zone model, with each zone consisting of a 7
@ -104,7 +104,7 @@ class SpeciesThermoInterpType;
* at a set number of temperatures. Between each temperature * at a set number of temperatures. Between each temperature
* the heat capacity is treated as a constant. * the heat capacity is treated as a constant.
* - Nasa9Poly1 in file Nasa9Poly1.h * - Nasa9Poly1 in file Nasa9Poly1.h
* - This is a one zone model, consisting of the 9 * - This is a one zone model, consisting of the 9
* coefficient NASA Polynomial format. * coefficient NASA Polynomial format.
* - Nasa9PolyMultiTempRegion in file Nasa9PolyMultiTempRegion.h * - Nasa9PolyMultiTempRegion in file Nasa9PolyMultiTempRegion.h
* - This is a multiple zone model, consisting of the 9 * - This is a multiple zone model, consisting of the 9

View file

@ -76,7 +76,7 @@ class VPSSMgr;
* The following classes inherit from SpeciesThermoInterpType. * The following classes inherit from SpeciesThermoInterpType.
* *
* - NasaPoly1 in file NasaPoly1.h * - NasaPoly1 in file NasaPoly1.h
* - This is a one zone model, consisting of a 7 * - This is a one zone model, consisting of a 7
* coefficient NASA Polynomial format. * coefficient NASA Polynomial format.
* . * .
* - NasaPoly2 in file NasaPoly2.h * - NasaPoly2 in file NasaPoly2.h
@ -100,7 +100,7 @@ class VPSSMgr;
* the heat capacity is treated as a constant. * the heat capacity is treated as a constant.
* . * .
* - Nasa9Poly1 in file Nasa9Poly1.h * - Nasa9Poly1 in file Nasa9Poly1.h
* - This is a one zone model, consisting of the 9 * - This is a one zone model, consisting of the 9
* coefficient NASA Polynomial format. * coefficient NASA Polynomial format.
* . * .
* - Nasa9PolyMultiTempRegion in file Nasa9PolyMultiTempRegion.h * - Nasa9PolyMultiTempRegion in file Nasa9PolyMultiTempRegion.h
@ -119,7 +119,7 @@ class VPSSMgr;
* \link SpeciesThermoInterpType::updatePropertiesTemp() updatePropertiesTemp()\endlink. * \link SpeciesThermoInterpType::updatePropertiesTemp() updatePropertiesTemp()\endlink.
* The function calculates the values of Cp, H, and S for the specific * The function calculates the values of Cp, H, and S for the specific
* species pertaining to this class. It takes as its arguments the * species pertaining to this class. It takes as its arguments the
* base pointer for the vector of Cp, H, and S values for all species * base pointer for the vector of Cp, H, and S values for all species
* in the phase. The offset for the species is known within the * in the phase. The offset for the species is known within the
* object. * object.
* *
@ -150,7 +150,7 @@ class VPSSMgr;
* *
* @code * @code
* SpeciesThermoInterpType(int index, doublereal tlow, doublereal thigh, * SpeciesThermoInterpType(int index, doublereal tlow, doublereal thigh,
* doublereal pref, const doublereal* coeffs) * doublereal pref, const doublereal* coeffs)
* @endcode * @endcode
* *
* @ingroup spthermo * @ingroup spthermo
@ -205,7 +205,7 @@ public:
//! Update the properties for this species, given a temperature polynomial //! Update the properties for this species, given a temperature polynomial
/*! /*!
* This method is called with a pointer to an array containing the functions * This method is called with a pointer to an array containing the functions
* of temperature needed by this parameterization, and three pointers to * of temperature needed by this parameterization, and three pointers to
* arrays where the computed property values should be written. This method * arrays where the computed property values should be written. This method
* updates only one value in each array. * updates only one value in each array.
* *
@ -272,7 +272,7 @@ public:
* the standard state of the species from its constituent elements in * the standard state of the species from its constituent elements in
* their standard states at 298 K and 1 bar. * their standard states at 298 K and 1 bar.
* *
* @param h298 If this is nonnull, the current value of the Heat of * @param h298 If this is nonnull, the current value of the Heat of
* Formation at 298K and 1 bar for species m_speciesIndex is * Formation at 298K and 1 bar for species m_speciesIndex is
* returned in h298[m_speciesIndex]. * returned in h298[m_speciesIndex].
* @return Returns the current value of the Heat of Formation at 298K * @return Returns the current value of the Heat of Formation at 298K

View file

@ -251,7 +251,7 @@ public:
//! state of the species at the current <I>T</I> and <I>P</I> of the solution //! state of the species at the current <I>T</I> and <I>P</I> of the solution
/*! /*!
* Units are Joules/kmol * Units are Joules/kmol
* @param gpure Output vector of standard state Gibbs free energies * @param gpure Output vector of standard state Gibbs free energies
* Length: m_kk. * Length: m_kk.
*/ */
virtual void getPureGibbs(doublereal* gpure) const; virtual void getPureGibbs(doublereal* gpure) const;
@ -307,7 +307,7 @@ public:
* Gibbs free energy, calculated from enthalpy and the * Gibbs free energy, calculated from enthalpy and the
* entropy, and the multiplying by RT. * entropy, and the multiplying by RT.
*/ */
virtual void getGibbs_ref(doublereal* g) const; virtual void getGibbs_ref(doublereal* g) const;
/** /**
* Returns the vector of nondimensional * Returns the vector of nondimensional
@ -344,9 +344,9 @@ protected:
doublereal m_press; doublereal m_press;
doublereal m_p0; doublereal m_p0;
mutable vector_fp m_h0_RT; mutable vector_fp m_h0_RT;
mutable vector_fp m_cp0_R; mutable vector_fp m_cp0_R;
mutable vector_fp m_s0_R; mutable vector_fp m_s0_R;
private: private:
void _updateThermo() const; void _updateThermo() const;

View file

@ -83,7 +83,7 @@ namespace Cantera
* R_s = k_s C_{gas} * R_s = k_s C_{gas}
* \f] * \f]
* where the units for \f$ R_s \f$ are kmol m-2 s-1. \f$ C_{gas} \f$ has units * where the units for \f$ R_s \f$ are kmol m-2 s-1. \f$ C_{gas} \f$ has units
* of kmol m-3. Therefore, the kinetic rate constant, \f$ k_s \f$, has * of kmol m-3. Therefore, the kinetic rate constant, \f$ k_s \f$, has
* units of m s-1. Nowhere does the concentration of the bulk phase * units of m s-1. Nowhere does the concentration of the bulk phase
* appear in the rate constant expression, since it's a stoichiometric * appear in the rate constant expression, since it's a stoichiometric
* phase and the activity is always equal to 1.0. * phase and the activity is always equal to 1.0.
@ -181,7 +181,7 @@ public:
/*! /*!
* @param right Object to be copied * @param right Object to be copied
*/ */
StoichSubstanceSSTP(const StoichSubstanceSSTP& right); StoichSubstanceSSTP(const StoichSubstanceSSTP& right);
//! Assignment operator //! Assignment operator
/*! /*!
@ -244,7 +244,7 @@ public:
* \beta = \frac{1}{v}\left(\frac{\partial v}{\partial T}\right)_P * \beta = \frac{1}{v}\left(\frac{\partial v}{\partial T}\right)_P
* \f] * \f]
*/ */
virtual doublereal thermalExpansionCoeff() const ; virtual doublereal thermalExpansionCoeff() const;
/** /**
* @} * @}
@ -349,7 +349,7 @@ public:
*/ */
virtual void getCp_R(doublereal* cpr) const; virtual void getCp_R(doublereal* cpr) const;
//! Returns the vector of nondimensional Internal Energies of the standard //! Returns the vector of nondimensional Internal Energies of the standard
//! state species at the current <I>T</I> and <I>P</I> of the solution //! state species at the current <I>T</I> and <I>P</I> of the solution
/*! /*!
* For an incompressible, * For an incompressible,

View file

@ -298,7 +298,7 @@ public:
//! Return a vector of activity concentrations for each species //! Return a vector of activity concentrations for each species
/*! /*!
* For this phase the activity concentrations,\f$ C^a_k \f$, are defined to be * For this phase the activity concentrations,\f$ C^a_k \f$, are defined to be
* equal to the actual concentrations, \f$ C^s_k \f$. * equal to the actual concentrations, \f$ C^s_k \f$.
* Activity concentrations are * Activity concentrations are
* *
@ -428,7 +428,7 @@ public:
//! Get the nondimensional Enthalpy functions for the species standard states //! Get the nondimensional Enthalpy functions for the species standard states
//! at their standard states at the current <I>T</I> and <I>P</I> of the solution. //! at their standard states at the current <I>T</I> and <I>P</I> of the solution.
/*! /*!
* @param hrt Output vector of nondimensional standard state enthalpies. * @param hrt Output vector of nondimensional standard state enthalpies.
* Length: m_kk. * Length: m_kk.
*/ */
virtual void getEnthalpy_RT(doublereal* hrt) const; virtual void getEnthalpy_RT(doublereal* hrt) const;
@ -436,7 +436,7 @@ public:
//! Get the array of nondimensional Entropy functions for the //! Get the array of nondimensional Entropy functions for the
//! species standard states at the current <I>T</I> and <I>P</I> of the solution. //! species standard states at the current <I>T</I> and <I>P</I> of the solution.
/*! /*!
* @param sr Output vector of nondimensional standard state entropies. * @param sr Output vector of nondimensional standard state entropies.
* Length: m_kk. * Length: m_kk.
*/ */
virtual void getEntropy_R(doublereal* sr) const; virtual void getEntropy_R(doublereal* sr) const;
@ -489,7 +489,7 @@ public:
//! enthalpies of the reference state at the current temperature //! enthalpies of the reference state at the current temperature
//! of the solution and the reference pressure for the species. //! of the solution and the reference pressure for the species.
/*! /*!
* @param hrt Output vector of nondimensional standard state enthalpies. * @param hrt Output vector of nondimensional standard state enthalpies.
* Length: m_kk. * Length: m_kk.
*/ */
virtual void getEnthalpy_RT_ref(doublereal* hrt) const; virtual void getEnthalpy_RT_ref(doublereal* hrt) const;
@ -545,9 +545,9 @@ public:
*/ */
void setCoveragesNoNorm(const doublereal* theta); void setCoveragesNoNorm(const doublereal* theta);
//! Set the coverages from a string of colon-separated name:value pairs. //! Set the coverages from a string of colon-separated name:value pairs.
/*! /*!
* @param cov String containing colon-separated name:value pairs * @param cov String containing colon-separated name:value pairs
*/ */
void setCoveragesByName(const std::string& cov); void setCoveragesByName(const std::string& cov);
@ -574,26 +574,26 @@ protected:
doublereal m_press; doublereal m_press;
//! Temporary storage for the reference state enthalpies //! Temporary storage for the reference state enthalpies
mutable vector_fp m_h0; mutable vector_fp m_h0;
//! Temporary storage for the reference state entropies //! Temporary storage for the reference state entropies
mutable vector_fp m_s0; mutable vector_fp m_s0;
//! Temporary storage for the reference state heat capacities //! Temporary storage for the reference state heat capacities
mutable vector_fp m_cp0; mutable vector_fp m_cp0;
//! Temporary storage for the reference state Gibbs energies //! Temporary storage for the reference state Gibbs energies
mutable vector_fp m_mu0; mutable vector_fp m_mu0;
//! Temporary work array //! Temporary work array
mutable vector_fp m_work; mutable vector_fp m_work;
//! vector storing the log of the size of each species. //! vector storing the log of the size of each species.
/*! /*!
* The size of each species is defined as the number of surface * The size of each species is defined as the number of surface
* sites each species occupies. * sites each species occupies.
*/ */
mutable vector_fp m_logsize; mutable vector_fp m_logsize;
private: private:
//! Update the species reference state thermodynamic functions //! Update the species reference state thermodynamic functions

View file

@ -21,9 +21,9 @@ namespace Cantera
*/ */
//@{ //@{
//! Standard state uses the molar convention //! Standard state uses the molar convention
const int cAC_CONVENTION_MOLAR = 0; const int cAC_CONVENTION_MOLAR = 0;
//! Standard state uses the molality convention //! Standard state uses the molality convention
const int cAC_CONVENTION_MOLALITY = 1; const int cAC_CONVENTION_MOLALITY = 1;
//@} //@}
/*! /*!
@ -213,7 +213,7 @@ public:
* Some phases must have zero net charge in order for their thermodynamics functions to be valid. * Some phases must have zero net charge in order for their thermodynamics functions to be valid.
* If this is so, then the value returned from this function is true. * If this is so, then the value returned from this function is true.
* If this is not the case, then this is false. Now, ideal gases have this parameter set to false, * If this is not the case, then this is false. Now, ideal gases have this parameter set to false,
* while solution with molality-based activity coefficients have this parameter set to true. * while solution with molality-based activity coefficients have this parameter set to true.
*/ */
bool chargeNeutralityNecessary() const { bool chargeNeutralityNecessary() const {
return m_chargeNeutralityNecessary; return m_chargeNeutralityNecessary;
@ -269,7 +269,7 @@ public:
throw NotImplementedError("ThermoPhase::pressure"); throw NotImplementedError("ThermoPhase::pressure");
} }
//! Returns the isothermal compressibility. Units: 1/Pa. //! Returns the isothermal compressibility. Units: 1/Pa.
/*! /*!
* The isothermal compressibility is defined as * The isothermal compressibility is defined as
* \f[ * \f[
@ -334,7 +334,7 @@ public:
* to the chemical potential by \f[ \mu_k = \mu_k^0(T,P) + * to the chemical potential by \f[ \mu_k = \mu_k^0(T,P) +
* \hat R T \log a_k. \f] The quantity \f$\mu_k^0(T,P)\f$ is * \hat R T \log a_k. \f] The quantity \f$\mu_k^0(T,P)\f$ is
* the standard chemical potential at unit activity, * the standard chemical potential at unit activity,
* which depends on temperature and pressure, * which depends on temperature and pressure,
* but not on composition. The activity is dimensionless. * but not on composition. The activity is dimensionless.
* @{ * @{
*/ */
@ -577,7 +577,7 @@ public:
throw NotImplementedError("ThermoPhase::getdPartialMolarVolumes_dT"); throw NotImplementedError("ThermoPhase::getdPartialMolarVolumes_dT");
} }
//! Return an array of derivatives of partial molar volumes wrt pressure for the //! Return an array of derivatives of partial molar volumes wrt pressure for the
//! species in the mixture. Units: m^3/kmol. //! species in the mixture. Units: m^3/kmol.
/*! /*!
* The derivative is at constant temperature * The derivative is at constant temperature
@ -610,7 +610,7 @@ public:
//! Get the nondimensional Enthalpy functions for the species //! Get the nondimensional Enthalpy functions for the species
//! at their standard states at the current <I>T</I> and <I>P</I> of the solution. //! at their standard states at the current <I>T</I> and <I>P</I> of the solution.
/*! /*!
* @param hrt Output vector of nondimensional standard state enthalpies. * @param hrt Output vector of nondimensional standard state enthalpies.
* Length: m_kk. * Length: m_kk.
*/ */
virtual void getEnthalpy_RT(doublereal* hrt) const { virtual void getEnthalpy_RT(doublereal* hrt) const {
@ -620,7 +620,7 @@ public:
//! Get the array of nondimensional Entropy functions for the //! Get the array of nondimensional Entropy functions for the
//! standard state species at the current <I>T</I> and <I>P</I> of the solution. //! standard state species at the current <I>T</I> and <I>P</I> of the solution.
/*! /*!
* @param sr Output vector of nondimensional standard state entropies. * @param sr Output vector of nondimensional standard state entropies.
* Length: m_kk. * Length: m_kk.
*/ */
virtual void getEntropy_R(doublereal* sr) const { virtual void getEntropy_R(doublereal* sr) const {
@ -648,7 +648,7 @@ public:
throw NotImplementedError("ThermoPhase::getPureGibbs"); throw NotImplementedError("ThermoPhase::getPureGibbs");
} }
//! Returns the vector of nondimensional Internal Energies of the standard //! Returns the vector of nondimensional Internal Energies of the standard
//! state species at the current <I>T</I> and <I>P</I> of the solution //! state species at the current <I>T</I> and <I>P</I> of the solution
/*! /*!
* @param urt output vector of nondimensional standard state internal energies * @param urt output vector of nondimensional standard state internal energies
@ -743,7 +743,7 @@ public:
/*! /*!
* units = J/kmol * units = J/kmol
* *
* @param g Output vector containing the reference state * @param g Output vector containing the reference state
* Gibbs Free energies. Length: m_kk. Units: J/kmol. * Gibbs Free energies. Length: m_kk. Units: J/kmol.
*/ */
virtual void getGibbs_ref(doublereal* g) const { virtual void getGibbs_ref(doublereal* g) const {
@ -1063,7 +1063,7 @@ public:
* @param rho Density (kg/m^3) * @param rho Density (kg/m^3)
* @param p Pressure (Pa) * @param p Pressure (Pa)
*/ */
virtual void setState_RP(doublereal rho, doublereal p){ virtual void setState_RP(doublereal rho, doublereal p) {
throw NotImplementedError("ThermoPhase::setState_RP"); throw NotImplementedError("ThermoPhase::setState_RP");
} }
@ -1411,7 +1411,7 @@ public:
virtual void initThermoFile(const std::string& inputFile, virtual void initThermoFile(const std::string& inputFile,
const std::string& id); const std::string& id);
//!Import and initialize a ThermoPhase object using an XML tree. //!Import and initialize a ThermoPhase object using an XML tree.
/*! /*!
* @internal * @internal
* *
@ -1462,7 +1462,7 @@ public:
//! Add in species from Slave phases //! Add in species from Slave phases
/*! /*!
* This hook is used for cSS_CONVENTION_SLAVE phases * This hook is used for cSS_CONVENTION_SLAVE phases
* *
* @param phaseNode XML Element for the phase * @param phaseNode XML Element for the phase
*/ */

View file

@ -330,7 +330,7 @@ public:
//! Get the nondimensional Heat Capacities at constant pressure for the //! Get the nondimensional Heat Capacities at constant pressure for the
//! standard state of the species at the current T and P. //! standard state of the species at the current T and P.
/*! /*!
* This is redefined here to call the internal function, _updateStandardStateThermo(), * This is redefined here to call the internal function, _updateStandardStateThermo(),
* which calculates all standard state properties at the same time. * which calculates all standard state properties at the same time.
* *
* @param cpr Output vector containing the the nondimensional Heat * @param cpr Output vector containing the the nondimensional Heat
@ -396,7 +396,7 @@ public:
* of the reference state of the species * of the reference state of the species
* length = m_kk, units = dimensionless. * length = m_kk, units = dimensionless.
*/ */
virtual void getGibbs_RT_ref(doublereal* grt) const ; virtual void getGibbs_RT_ref(doublereal* grt) const;
//! Return a reference to the vector of Gibbs free energies of the species //! Return a reference to the vector of Gibbs free energies of the species
@ -413,7 +413,7 @@ public:
* of the reference state of the species * of the reference state of the species
* length = m_kk, units = J/kmol. * length = m_kk, units = J/kmol.
*/ */
virtual void getGibbs_ref(doublereal* g) const ; virtual void getGibbs_ref(doublereal* g) const;
/*! /*!
* Returns the vector of nondimensional entropies of the reference state * Returns the vector of nondimensional entropies of the reference state
@ -424,7 +424,7 @@ public:
* of the species in their reference states * of the species in their reference states
* length: m_kk, units: dimensionless. * length: m_kk, units: dimensionless.
*/ */
virtual void getEntropy_R_ref(doublereal* er) const ; virtual void getEntropy_R_ref(doublereal* er) const;
/*! /*!
* Returns the vector of nondimensional constant pressure heat capacities * Returns the vector of nondimensional constant pressure heat capacities
@ -435,7 +435,7 @@ public:
* of the species in their reference states * of the species in their reference states
* length: m_kk, units: dimensionless. * length: m_kk, units: dimensionless.
*/ */
virtual void getCp_R_ref(doublereal* cpr) const ; virtual void getCp_R_ref(doublereal* cpr) const;
//! Get the molar volumes of the species reference states at the current //! Get the molar volumes of the species reference states at the current
//! *T* and *P_ref* of the solution. //! *T* and *P_ref* of the solution.
@ -445,7 +445,7 @@ public:
* @param vol Output vector containing the standard state volumes. * @param vol Output vector containing the standard state volumes.
* Length: m_kk. * Length: m_kk.
*/ */
virtual void getStandardVolumes_ref(doublereal* vol) const ; virtual void getStandardVolumes_ref(doublereal* vol) const;
//@} //@}
/*! @name Setting the Internal State of the System /*! @name Setting the Internal State of the System
@ -535,7 +535,7 @@ protected:
* functions for all of the species must be recalculated. * functions for all of the species must be recalculated.
* *
* This function is responsible for updating the following internal members, * This function is responsible for updating the following internal members,
* when m_useTmpStandardStateStorage is true. * when m_useTmpStandardStateStorage is true.
* *
* - m_hss_RT; * - m_hss_RT;
* - m_cpss_R; * - m_cpss_R;
@ -576,7 +576,7 @@ public:
/*! /*!
* @param index Species index * @param index Species index
*/ */
virtual PDSS_enumType reportPDSSType(int index = -1) const ; virtual PDSS_enumType reportPDSSType(int index = -1) const;
//! This utility function reports the type of manager //! This utility function reports the type of manager
//! for the calculation of ss properties //! for the calculation of ss properties
@ -584,7 +584,7 @@ public:
* @return Returns an enum type called VPSSMgr_enumType, which is a list * @return Returns an enum type called VPSSMgr_enumType, which is a list
* of the known VPSSMgr objects * of the known VPSSMgr objects
*/ */
virtual VPSSMgr_enumType reportVPSSMgrType() const ; virtual VPSSMgr_enumType reportVPSSMgrType() const;
//! Minimum temperature. //! Minimum temperature.
/*! /*!
@ -595,7 +595,7 @@ public:
* *
* @param k Species index * @param k Species index
*/ */
virtual doublereal minTemp(size_t k=npos) const ; virtual doublereal minTemp(size_t k=npos) const;
//! Maximum temperature. //! Maximum temperature.
/*! /*!
@ -619,7 +619,7 @@ public:
* @param k Species index. Default is -1, which returns * @param k Species index. Default is -1, which returns
* the generic answer. * the generic answer.
*/ */
virtual doublereal refPressure(size_t k=npos) const ; virtual doublereal refPressure(size_t k=npos) const;
//@} //@}
/*! @name Initialization Methods - For Internal use /*! @name Initialization Methods - For Internal use
@ -674,7 +674,7 @@ public:
* @param phaseNode_ptr Pointer to the XML Node corresponding * @param phaseNode_ptr Pointer to the XML Node corresponding
* to the phase which owns the species * to the phase which owns the species
*/ */
void installSTSpecies(size_t k, const XML_Node& speciesNode, void installSTSpecies(size_t k, const XML_Node& speciesNode,
const XML_Node* phaseNode_ptr); const XML_Node* phaseNode_ptr);
//! Install specific content for species k in the standard-state //! Install specific content for species k in the standard-state
@ -719,11 +719,11 @@ protected:
//! The last temperature at which the standard state thermodynamic //! The last temperature at which the standard state thermodynamic
//! properties were calculated at. //! properties were calculated at.
mutable doublereal m_tlast; mutable doublereal m_tlast;
//! The last pressure at which the Standard State thermodynamic //! The last pressure at which the Standard State thermodynamic
//! properties were calculated at. //! properties were calculated at.
mutable doublereal m_plast; mutable doublereal m_plast;
/*! /*!
* Reference pressure (Pa) must be the same for all species * Reference pressure (Pa) must be the same for all species
@ -747,28 +747,28 @@ protected:
* Vector containing the species reference enthalpies at T = m_tlast * Vector containing the species reference enthalpies at T = m_tlast
* and P = p_ref. * and P = p_ref.
*/ */
mutable vector_fp m_h0_RT; mutable vector_fp m_h0_RT;
/** /**
* Vector containing the species reference constant pressure * Vector containing the species reference constant pressure
* heat capacities at T = m_tlast and P = p_ref. * heat capacities at T = m_tlast and P = p_ref.
*/ */
mutable vector_fp m_cp0_R; mutable vector_fp m_cp0_R;
/** /**
* Vector containing the species reference Gibbs functions * Vector containing the species reference Gibbs functions
* at T = m_tlast and P = p_ref. * at T = m_tlast and P = p_ref.
*/ */
mutable vector_fp m_g0_RT; mutable vector_fp m_g0_RT;
/** /**
* Vector containing the species reference entropies * Vector containing the species reference entropies
* at T = m_tlast and P = p_ref. * at T = m_tlast and P = p_ref.
*/ */
mutable vector_fp m_s0_R; mutable vector_fp m_s0_R;
//! Vector containing the species reference molar volumes //! Vector containing the species reference molar volumes
mutable vector_fp m_V0; mutable vector_fp m_V0;
/*! /*!
* boolean indicating whether temporary standard state storage is used * boolean indicating whether temporary standard state storage is used
@ -780,101 +780,101 @@ protected:
* Vector containing the species Standard State enthalpies at T = m_tlast * Vector containing the species Standard State enthalpies at T = m_tlast
* and P = m_plast. * and P = m_plast.
*/ */
mutable vector_fp m_hss_RT; mutable vector_fp m_hss_RT;
/** /**
* Vector containing the species Standard State constant pressure * Vector containing the species Standard State constant pressure
* heat capacities at T = m_tlast and P = m_plast. * heat capacities at T = m_tlast and P = m_plast.
*/ */
mutable vector_fp m_cpss_R; mutable vector_fp m_cpss_R;
/** /**
* Vector containing the species Standard State Gibbs functions * Vector containing the species Standard State Gibbs functions
* at T = m_tlast and P = m_plast. * at T = m_tlast and P = m_plast.
*/ */
mutable vector_fp m_gss_RT; mutable vector_fp m_gss_RT;
/** /**
* Vector containing the species Standard State entropies * Vector containing the species Standard State entropies
* at T = m_tlast and P = m_plast. * at T = m_tlast and P = m_plast.
*/ */
mutable vector_fp m_sss_R; mutable vector_fp m_sss_R;
/** /**
* Vector containing the species standard state volumes * Vector containing the species standard state volumes
* at T = m_tlast and P = m_plast * at T = m_tlast and P = m_plast
*/ */
mutable vector_fp m_Vss; mutable vector_fp m_Vss;
//! species reference enthalpies - used by individual PDSS objects //! species reference enthalpies - used by individual PDSS objects
/*! /*!
* Vector containing the species reference enthalpies at T = m_tlast * Vector containing the species reference enthalpies at T = m_tlast
* and P = p_ref. * and P = p_ref.
*/ */
mutable vector_fp mPDSS_h0_RT; mutable vector_fp mPDSS_h0_RT;
//! species reference heat capacities - used by individual PDSS objects //! species reference heat capacities - used by individual PDSS objects
/** /**
* Vector containing the species reference constant pressure * Vector containing the species reference constant pressure
* heat capacities at T = m_tlast and P = p_ref. * heat capacities at T = m_tlast and P = p_ref.
*/ */
mutable vector_fp mPDSS_cp0_R; mutable vector_fp mPDSS_cp0_R;
//! species reference Gibbs free energies - used by individual PDSS objects //! species reference Gibbs free energies - used by individual PDSS objects
/** /**
* Vector containing the species reference Gibbs functions * Vector containing the species reference Gibbs functions
* at T = m_tlast and P = p_ref. * at T = m_tlast and P = p_ref.
*/ */
mutable vector_fp mPDSS_g0_RT; mutable vector_fp mPDSS_g0_RT;
//! species reference entropies - used by individual PDSS objects //! species reference entropies - used by individual PDSS objects
/** /**
* Vector containing the species reference entropies * Vector containing the species reference entropies
* at T = m_tlast and P = p_ref. * at T = m_tlast and P = p_ref.
*/ */
mutable vector_fp mPDSS_s0_R; mutable vector_fp mPDSS_s0_R;
//! species reference state molar Volumes - used by individual PDSS objects //! species reference state molar Volumes - used by individual PDSS objects
/** /**
* Vector containing the rf molar volumes * Vector containing the rf molar volumes
* at T = m_tlast and P = p_ref. * at T = m_tlast and P = p_ref.
*/ */
mutable vector_fp mPDSS_V0; mutable vector_fp mPDSS_V0;
//! species standard state enthalpies - used by individual PDSS objects //! species standard state enthalpies - used by individual PDSS objects
/*! /*!
* Vector containing the species standard state enthalpies at T = m_tlast * Vector containing the species standard state enthalpies at T = m_tlast
* and P = p_ref. * and P = p_ref.
*/ */
mutable vector_fp mPDSS_hss_RT; mutable vector_fp mPDSS_hss_RT;
//! species standard state heat capacities - used by individual PDSS objects //! species standard state heat capacities - used by individual PDSS objects
/** /**
* Vector containing the species standard state constant pressure * Vector containing the species standard state constant pressure
* heat capacities at T = m_tlast and P = p_ref. * heat capacities at T = m_tlast and P = p_ref.
*/ */
mutable vector_fp mPDSS_cpss_R; mutable vector_fp mPDSS_cpss_R;
//! species standard state Gibbs free energies - used by individual PDSS objects //! species standard state Gibbs free energies - used by individual PDSS objects
/** /**
* Vector containing the species standard state Gibbs functions * Vector containing the species standard state Gibbs functions
* at T = m_tlast and P = p_ref. * at T = m_tlast and P = p_ref.
*/ */
mutable vector_fp mPDSS_gss_RT; mutable vector_fp mPDSS_gss_RT;
//! species standard state entropies - used by individual PDSS objects //! species standard state entropies - used by individual PDSS objects
/** /**
* Vector containing the species standard state entropies * Vector containing the species standard state entropies
* at T = m_tlast and P = p_ref. * at T = m_tlast and P = p_ref.
*/ */
mutable vector_fp mPDSS_sss_R; mutable vector_fp mPDSS_sss_R;
//! species standard state molar Volumes - used by individual PDSS objects //! species standard state molar Volumes - used by individual PDSS objects
/** /**
* Vector containing the ss molar volumes * Vector containing the ss molar volumes
* at T = m_tlast and P = p_ref. * at T = m_tlast and P = p_ref.
*/ */
mutable vector_fp mPDSS_Vss; mutable vector_fp mPDSS_Vss;
friend class PDSS; friend class PDSS;
}; };

View file

@ -31,7 +31,7 @@ class VPSSMgr_ConstVol : public VPSSMgr
public: public:
//! Constructor //! Constructor
/*! /*!
* @param vp_ptr Pointer to the owning VPStandardStateTP object * @param vp_ptr Pointer to the owning VPStandardStateTP object
* for the phase. It's a requirement that this be * for the phase. It's a requirement that this be
* already malloced. * already malloced.
* @param spth Pointer to the SpeciesThermo object for the * @param spth Pointer to the SpeciesThermo object for the
@ -68,13 +68,13 @@ protected:
* state values of Cp, H, S, and V at the last temperature and reference * state values of Cp, H, S, and V at the last temperature and reference
* pressure called. These functions are not recalculated if a new call is * pressure called. These functions are not recalculated if a new call is
* made using the previous temperature. All calculations are done within * made using the previous temperature. All calculations are done within
* the routine _updateRefStateThermo(). _updateRefStateThermo() is * the routine _updateRefStateThermo(). _updateRefStateThermo() is
* defined in the parent object. * defined in the parent object.
*/ */
//@{ //@{
virtual void getGibbs_RT_ref(doublereal* grt) const ; virtual void getGibbs_RT_ref(doublereal* grt) const;
virtual void getStandardVolumes_ref(doublereal* vol) const ; virtual void getStandardVolumes_ref(doublereal* vol) const;
//@} //@}
/*! @name Initialization Methods - For Internal use /*! @name Initialization Methods - For Internal use
@ -111,8 +111,8 @@ public:
const XML_Node* const phaseNode_ptr); const XML_Node* const phaseNode_ptr);
//@} //@}
virtual PDSS_enumType reportPDSSType(int index = -1) const ; virtual PDSS_enumType reportPDSSType(int index = -1) const;
virtual VPSSMgr_enumType reportVPSSMgrType() const ; virtual VPSSMgr_enumType reportVPSSMgrType() const;
}; };
} }

Some files were not shown because too many files have changed in this diff Show more