Corrected a bunch of spelling errors
This commit is contained in:
parent
79af932b9a
commit
d3e98fe5a8
89 changed files with 237 additions and 240 deletions
|
|
@ -72,7 +72,7 @@ class VCS_SOLVE;
|
||||||
* with it. This object helps to coordinate property evaluations for
|
* with it. This object helps to coordinate property evaluations for
|
||||||
* species within the phase. Usually these evaluations must be carried
|
* species within the phase. Usually these evaluations must be carried
|
||||||
* out on a per phase basis. However, vcs frequently needs per species
|
* out on a per phase basis. However, vcs frequently needs per species
|
||||||
* quantitites. Therefore, we need an interface layer between vcs
|
* quantities. Therefore, we need an interface layer between vcs
|
||||||
* and Cantera's ThermoPhase.
|
* and Cantera's ThermoPhase.
|
||||||
*
|
*
|
||||||
* The species stay in the same ordering within this structure.
|
* The species stay in the same ordering within this structure.
|
||||||
|
|
@ -87,19 +87,19 @@ class VCS_SOLVE;
|
||||||
*
|
*
|
||||||
* This object contains an idea of the temperature and pressure.
|
* This object contains an idea of the temperature and pressure.
|
||||||
* It checks to see if if the temperature and pressure has changed before calling
|
* It checks to see if if the temperature and pressure has changed before calling
|
||||||
* underlying property evalulation routines.
|
* underlying property evaluation routines.
|
||||||
*
|
*
|
||||||
* The object contains values for the electric potential of a phase.
|
* The object contains values for the electric potential of a phase.
|
||||||
* It coordinates the evalulation of properties wrt when the electric
|
* It coordinates the evaluation of properties wrt when the electric
|
||||||
* potential of a phase has changed.
|
* potential of a phase has changed.
|
||||||
*
|
*
|
||||||
* The object knows about the mole fractions of the phase. It controls
|
* The object knows about the mole fractions of the phase. It controls
|
||||||
* the values of mole fractions, and coordinates the property evalulation
|
* the values of mole fractions, and coordinates the property evaluation
|
||||||
* wrt to changes in the mole fractions. It also will keep track of the
|
* wrt to changes in the mole fractions. It also will keep track of the
|
||||||
* likely values of mole fractions in multicomponent phases even when
|
* likely values of mole fractions in multicomponent phases even when
|
||||||
* the phase doesn't actually exist within the thermo program.
|
* the phase doesn't actually exist within the thermo program.
|
||||||
*
|
*
|
||||||
* The object knows about the total moles of a phase. It checkes to
|
* The object knows about the total moles of a phase. It checks to
|
||||||
* see if the phase currently exists or not, and modifies its behavior
|
* see if the phase currently exists or not, and modifies its behavior
|
||||||
* accordingly.
|
* accordingly.
|
||||||
*
|
*
|
||||||
|
|
@ -629,7 +629,7 @@ private:
|
||||||
//! Calculate the partial molar volumes of all species and return the
|
//! Calculate the partial molar volumes of all species and return the
|
||||||
//! total volume
|
//! total volume
|
||||||
/*!
|
/*!
|
||||||
* Calculates these quantitites internally
|
* Calculates these quantities internally
|
||||||
*
|
*
|
||||||
* @return total volume
|
* @return total volume
|
||||||
*/
|
*/
|
||||||
|
|
@ -650,7 +650,7 @@ private:
|
||||||
*/
|
*/
|
||||||
void _updateLnActCoeffJac();
|
void _updateLnActCoeffJac();
|
||||||
|
|
||||||
//! Updates the mole fraction depenpencies
|
//! Updates the mole fraction dependencies
|
||||||
/*!
|
/*!
|
||||||
* Whenever the mole fractions change, this routine
|
* Whenever the mole fractions change, this routine
|
||||||
* should be called.
|
* should be called.
|
||||||
|
|
@ -717,7 +717,7 @@ public:
|
||||||
//! and species amounts
|
//! and species amounts
|
||||||
/*!
|
/*!
|
||||||
* All internally stored quantities will have these units. Also, printed
|
* All internally stored quantities will have these units. Also, printed
|
||||||
* quantitities will display in these units. Input quantities are expected
|
* quantities will display in these units. Input quantities are expected
|
||||||
* in these units.
|
* in these units.
|
||||||
*
|
*
|
||||||
* Chem_Pot Pres vol moles
|
* Chem_Pot Pres vol moles
|
||||||
|
|
@ -889,7 +889,7 @@ private:
|
||||||
* The phase stability problem requires a global reaction number for each
|
* The phase stability problem requires a global reaction number for each
|
||||||
* species in the phase. Usually this is the krxn = kglob - M for species
|
* species in the phase. Usually this is the krxn = kglob - M for species
|
||||||
* in the phase that are not components. For component species, the
|
* in the phase that are not components. For component species, the
|
||||||
* choice of the reaction is one which maximimes the chance that the phase
|
* choice of the reaction is one which maximizes the chance that the phase
|
||||||
* pops into (or remains in) existence.
|
* pops into (or remains in) existence.
|
||||||
* The index here is the local phase species index.
|
* The index here is the local phase species index.
|
||||||
* the value of the variable is the global vcs reaction number. Note,
|
* the value of the variable is the global vcs reaction number. Note,
|
||||||
|
|
@ -972,11 +972,11 @@ private:
|
||||||
//! Value of the potential for the phase (Volts)
|
//! Value of the potential for the phase (Volts)
|
||||||
double m_phi;
|
double m_phi;
|
||||||
|
|
||||||
//! Boolean indicating whether the object has an uptodate mole number vector
|
//! Boolean indicating whether the object has an up-to-date mole number vector
|
||||||
//! and potential with respect to the current vcs state calc status
|
//! and potential with respect to the current vcs state calc status
|
||||||
bool m_UpToDate;
|
bool m_UpToDate;
|
||||||
|
|
||||||
//! Boolean indicating whether activity coefficients are uptodate.
|
//! Boolean indicating whether activity coefficients are up to date.
|
||||||
/*!
|
/*!
|
||||||
* Activity coefficients and volume calculations are lagged. They are only
|
* Activity coefficients and volume calculations are lagged. They are only
|
||||||
* called when they are needed (and when the state has changed so that they
|
* called when they are needed (and when the state has changed so that they
|
||||||
|
|
@ -984,7 +984,7 @@ private:
|
||||||
*/
|
*/
|
||||||
mutable bool m_UpToDate_AC;
|
mutable bool m_UpToDate_AC;
|
||||||
|
|
||||||
//! Boolean indicating whether Star volumes are uptodate.
|
//! Boolean indicating whether Star volumes are up to date.
|
||||||
/*!
|
/*!
|
||||||
* Activity coefficients and volume calculations are lagged. They are only
|
* Activity coefficients and volume calculations are lagged. They are only
|
||||||
* called when they are needed (and when the state has changed so that they
|
* called when they are needed (and when the state has changed so that they
|
||||||
|
|
@ -993,7 +993,7 @@ private:
|
||||||
*/
|
*/
|
||||||
mutable bool m_UpToDate_VolStar;
|
mutable bool m_UpToDate_VolStar;
|
||||||
|
|
||||||
//! Boolean indicating whether partial molar volumes are uptodate.
|
//! Boolean indicating whether partial molar volumes are up to date.
|
||||||
/*!
|
/*!
|
||||||
* Activity coefficients and volume calculations are lagged. They are only
|
* Activity coefficients and volume calculations are lagged. They are only
|
||||||
* called when they are needed (and when the state has changed so that they
|
* called when they are needed (and when the state has changed so that they
|
||||||
|
|
@ -1002,14 +1002,14 @@ private:
|
||||||
*/
|
*/
|
||||||
mutable bool m_UpToDate_VolPM;
|
mutable bool m_UpToDate_VolPM;
|
||||||
|
|
||||||
//! Boolean indicating whether GStar is uptodate.
|
//! Boolean indicating whether GStar is up to date.
|
||||||
/*!
|
/*!
|
||||||
* GStar is sensitive to the temperature and the pressure, only
|
* GStar is sensitive to the temperature and the pressure, only
|
||||||
*/
|
*/
|
||||||
mutable bool m_UpToDate_GStar;
|
mutable bool m_UpToDate_GStar;
|
||||||
|
|
||||||
|
|
||||||
//! Boolean indicating whether G0 is uptodate.
|
//! Boolean indicating whether G0 is up to date.
|
||||||
/*!
|
/*!
|
||||||
* G0 is sensitive to the temperature and the pressure, only
|
* G0 is sensitive to the temperature and the pressure, only
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -137,7 +137,7 @@ double vcsUtil_gasConstant(int mu_units);
|
||||||
*
|
*
|
||||||
* @return The solution x[] is returned in the matrix <I>B</I>.
|
* @return The solution x[] is returned in the matrix <I>B</I>.
|
||||||
* Routine returns an integer representing success:
|
* Routine returns an integer representing success:
|
||||||
* - 1 : Matrix is singluar
|
* - 1 : Matrix is singular
|
||||||
* - 0 : solution is OK
|
* - 0 : solution is OK
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
|
|
@ -174,7 +174,7 @@ int vcsUtil_mlequ(double* c, size_t idem, size_t n, double* b, size_t m);
|
||||||
*
|
*
|
||||||
* @return The solution x[] is returned in the matrix <I>B</I>.
|
* @return The solution x[] is returned in the matrix <I>B</I>.
|
||||||
* Routine returns an integer representing success:
|
* Routine returns an integer representing success:
|
||||||
* - 1 : Matrix is singluar
|
* - 1 : Matrix is singular
|
||||||
* - 0 : solution is OK
|
* - 0 : solution is OK
|
||||||
*
|
*
|
||||||
* @param c Matrix to be inverted. c is in fortran format, i.e., rows
|
* @param c Matrix to be inverted. c is in fortran format, i.e., rows
|
||||||
|
|
@ -233,7 +233,7 @@ typedef double(*VCS_FUNC_PTR)(double xval, double Vtarget,
|
||||||
* f(xval).
|
* f(xval).
|
||||||
*
|
*
|
||||||
* @param xmin Minimum permissible value of the x variable
|
* @param xmin Minimum permissible value of the x variable
|
||||||
* @param xmax Maximum permissible value of the x paramerer
|
* @param xmax Maximum permissible value of the x parameter
|
||||||
* @param itmax Maximum number of iterations
|
* @param itmax Maximum number of iterations
|
||||||
* @param func function pointer, pointing to the function to be
|
* @param func function pointer, pointing to the function to be
|
||||||
* minimized
|
* minimized
|
||||||
|
|
@ -476,7 +476,7 @@ size_t vcs_optMax(const double* x, const double* xSize, size_t j, size_t n);
|
||||||
*/
|
*/
|
||||||
int vcs_max_int(const int* vector, int length);
|
int vcs_max_int(const int* vector, int length);
|
||||||
|
|
||||||
//! Prints a line consisting of mutliple occurances of the same string
|
//! Prints a line consisting of multiple occurrences of the same string
|
||||||
/*!
|
/*!
|
||||||
* This prints a string num times, and then terminate with a
|
* This prints a string num times, and then terminate with a
|
||||||
* end of line character
|
* end of line character
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ class VCS_SPECIES_THERMO;
|
||||||
//! which generally describes the problem to be solved.
|
//! which generally describes the problem to be solved.
|
||||||
/*!
|
/*!
|
||||||
* HKM add:
|
* HKM add:
|
||||||
* HaveEstimate -> 0 no estimate, or estimate that doesn' satisfy elem
|
* HaveEstimate -> 0 no estimate, or estimate that doesn't satisfy elem
|
||||||
* abundances
|
* abundances
|
||||||
* 1 have an estimate that satisfies elem_abund.
|
* 1 have an estimate that satisfies elem_abund.
|
||||||
* 2 Have an estimate that minimizes a subproblem
|
* 2 Have an estimate that minimizes a subproblem
|
||||||
|
|
@ -116,7 +116,7 @@ public:
|
||||||
* unknown. The second is the an interfacial
|
* unknown. The second is the an interfacial
|
||||||
* voltage where w[k] refers to the interfacial
|
* voltage where w[k] refers to the interfacial
|
||||||
* voltage in volts.
|
* voltage in volts.
|
||||||
* These species types correspond to metalic
|
* These species types correspond to metallic
|
||||||
* electrons corresponding to electrodes.
|
* electrons corresponding to electrodes.
|
||||||
* The voltage and other interfacial conditions
|
* The voltage and other interfacial conditions
|
||||||
* sets up an interfacial current, which is
|
* sets up an interfacial current, which is
|
||||||
|
|
@ -157,7 +157,7 @@ public:
|
||||||
//! and species amounts
|
//! and species amounts
|
||||||
/*!
|
/*!
|
||||||
* All internally stored quantities will have these units. Also, printed
|
* All internally stored quantities will have these units. Also, printed
|
||||||
* quantitities will display in these units.
|
* quantities will display in these units.
|
||||||
*
|
*
|
||||||
* Chem_Pot Pres vol moles
|
* Chem_Pot Pres vol moles
|
||||||
* ----------------------------------------------------------------------
|
* ----------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -1059,7 +1059,7 @@ public:
|
||||||
int vcs_inest_TP();
|
int vcs_inest_TP();
|
||||||
|
|
||||||
#ifdef ALTLINPROG
|
#ifdef ALTLINPROG
|
||||||
//! Extimate the initial mole numbers by constrained linear programming
|
//! Estimate the initial mole numbers by constrained linear programming
|
||||||
/*!
|
/*!
|
||||||
* This is done by running
|
* This is done by running
|
||||||
* each reaction as far forward or backward as possible, subject
|
* each reaction as far forward or backward as possible, subject
|
||||||
|
|
@ -1497,7 +1497,7 @@ public:
|
||||||
/*!
|
/*!
|
||||||
* FormulaMatrix[j][kspec] = Number of elements, j, in the kspec species
|
* FormulaMatrix[j][kspec] = Number of elements, j, in the kspec species
|
||||||
*
|
*
|
||||||
* Both element and species indecies are swapped.
|
* Both element and species indices are swapped.
|
||||||
*/
|
*/
|
||||||
DoubleStarStar m_formulaMatrix;
|
DoubleStarStar m_formulaMatrix;
|
||||||
|
|
||||||
|
|
@ -1511,7 +1511,7 @@ public:
|
||||||
*
|
*
|
||||||
* m_stoichCoeffRxnMatrix[irxn][j] :
|
* m_stoichCoeffRxnMatrix[irxn][j] :
|
||||||
* j refers to the component number, and irxn refers to the irxn_th non-component species.
|
* j refers to the component number, and irxn refers to the irxn_th non-component species.
|
||||||
* The stoichiometric coefficents multilpled by the Formula coefficients of the
|
* The stoichiometric coefficients multilplied by the Formula coefficients of the
|
||||||
* component species add up to the negative value of the number of elements in
|
* component species add up to the negative value of the number of elements in
|
||||||
* the species kspec.
|
* the species kspec.
|
||||||
*
|
*
|
||||||
|
|
@ -1585,7 +1585,7 @@ public:
|
||||||
* unknown. The second is the an interfacial
|
* unknown. The second is the an interfacial
|
||||||
* voltage where w[k] refers to the interfacial
|
* voltage where w[k] refers to the interfacial
|
||||||
* voltage in volts.
|
* voltage in volts.
|
||||||
* These species types correspond to metalic
|
* These species types correspond to metallic
|
||||||
* electrons corresponding to electrodes.
|
* electrons corresponding to electrodes.
|
||||||
* The voltage and other interfacial conditions
|
* The voltage and other interfacial conditions
|
||||||
* sets up an interfacial current, which is
|
* sets up an interfacial current, which is
|
||||||
|
|
|
||||||
|
|
@ -187,14 +187,14 @@ public:
|
||||||
|
|
||||||
//! Multiply A*b and write result to prod.
|
//! Multiply A*b and write result to prod.
|
||||||
/*!
|
/*!
|
||||||
* @param b Vector to do the rh multiplcation
|
* @param b Vector to do the rh multiplication
|
||||||
* @param prod OUTPUT vector to receive the result
|
* @param prod OUTPUT vector to receive the result
|
||||||
*/
|
*/
|
||||||
virtual void mult(const doublereal* b, doublereal* prod) const;
|
virtual void mult(const doublereal* b, doublereal* prod) const;
|
||||||
|
|
||||||
//! Multiply b*A and write result to prod.
|
//! Multiply b*A and write result to prod.
|
||||||
/*!
|
/*!
|
||||||
* @param b Vector to do the lh multiplcation
|
* @param b Vector to do the lh multiplication
|
||||||
* @param prod OUTPUT vector to receive the result
|
* @param prod OUTPUT vector to receive the result
|
||||||
*/
|
*/
|
||||||
virtual void leftMult(const doublereal* const b, doublereal* const prod) const;
|
virtual void leftMult(const doublereal* const b, doublereal* const prod) const;
|
||||||
|
|
|
||||||
|
|
@ -59,14 +59,14 @@ public:
|
||||||
|
|
||||||
//! Multiply A*b and write result to prod.
|
//! Multiply A*b and write result to prod.
|
||||||
/*!
|
/*!
|
||||||
* @param b Vector to do the rh multiplcation
|
* @param b Vector to do the rh multiplication
|
||||||
* @param prod OUTPUT vector to receive the result
|
* @param prod OUTPUT vector to receive the result
|
||||||
*/
|
*/
|
||||||
virtual void mult(const doublereal* b, doublereal* prod) const = 0;
|
virtual void mult(const doublereal* b, doublereal* prod) const = 0;
|
||||||
|
|
||||||
//! Multiply b*A and write result to prod.
|
//! Multiply b*A and write result to prod.
|
||||||
/*!
|
/*!
|
||||||
* @param b Vector to do the lh multiplcation
|
* @param b Vector to do the lh multiplication
|
||||||
* @param prod OUTPUT vector to receive the result
|
* @param prod OUTPUT vector to receive the result
|
||||||
*/
|
*/
|
||||||
virtual void leftMult(const doublereal* const b, doublereal* const prod) const = 0;
|
virtual void leftMult(const doublereal* const b, doublereal* const prod) const = 0;
|
||||||
|
|
|
||||||
|
|
@ -221,7 +221,7 @@ public:
|
||||||
* @param typeCalc Type of the calculation
|
* @param typeCalc Type of the calculation
|
||||||
* @param y_curr Current value of the solution vector
|
* @param y_curr Current value of the solution vector
|
||||||
* @param ydot_curr Current value of the time derivative of the solution vector
|
* @param ydot_curr Current value of the time derivative of the solution vector
|
||||||
* @param evalType Base evalulation type
|
* @param evalType Base evaluation type
|
||||||
* Defaults to Base_ResidEval
|
* Defaults to Base_ResidEval
|
||||||
*
|
*
|
||||||
* @return Returns a flag to indicate that operation is successful.
|
* @return Returns a flag to indicate that operation is successful.
|
||||||
|
|
|
||||||
|
|
@ -313,7 +313,7 @@ public:
|
||||||
*
|
*
|
||||||
* @param t Time (input)
|
* @param t Time (input)
|
||||||
* @param delta_t The current value of the time step (input)
|
* @param delta_t The current value of the time step (input)
|
||||||
* @param cj Coefficient of yprime used in the evalulation 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 J Reference to the SquareMatrix object to be calculated (output)
|
* @param J Reference to the SquareMatrix object to be calculated (output)
|
||||||
|
|
@ -334,7 +334,7 @@ public:
|
||||||
*
|
*
|
||||||
* @param t Time (input)
|
* @param t Time (input)
|
||||||
* @param delta_t The current value of the time step (input)
|
* @param delta_t The current value of the time step (input)
|
||||||
* @param cj Coefficient of yprime used in the evalulation 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
|
||||||
|
|
|
||||||
|
|
@ -188,7 +188,7 @@ private:
|
||||||
*/
|
*/
|
||||||
doublereal delXMeaningful(doublereal x1) const;
|
doublereal delXMeaningful(doublereal x1) const;
|
||||||
|
|
||||||
//! Calcuated a controlled, nonzero delta between two numbers
|
//! Calculate a controlled, nonzero delta between two numbers
|
||||||
/*!
|
/*!
|
||||||
* The delta is designed to be greater than or equal to delXMeaningful(x) defined above
|
* The delta is designed to be greater than or equal to delXMeaningful(x) defined above
|
||||||
* with the same sign as the original delta. Therefore if you subtract it from either
|
* with the same sign as the original delta. Therefore if you subtract it from either
|
||||||
|
|
|
||||||
|
|
@ -78,14 +78,14 @@ public:
|
||||||
|
|
||||||
//! Multiply A*b and write result to prod.
|
//! Multiply A*b and write result to prod.
|
||||||
/*!
|
/*!
|
||||||
* @param b Vector to do the rh multiplcation
|
* @param b Vector to do the rh multiplication
|
||||||
* @param prod OUTPUT vector to receive the result
|
* @param prod OUTPUT vector to receive the result
|
||||||
*/
|
*/
|
||||||
virtual void mult(const doublereal* b, doublereal* prod) const;
|
virtual void mult(const doublereal* b, doublereal* prod) const;
|
||||||
|
|
||||||
//! Multiply b*A and write result to prod.
|
//! Multiply b*A and write result to prod.
|
||||||
/*!
|
/*!
|
||||||
* @param b Vector to do the lh multiplcation
|
* @param b Vector to do the lh multiplication
|
||||||
* @param prod OUTPUT vector to receive the result
|
* @param prod OUTPUT vector to receive the result
|
||||||
*/
|
*/
|
||||||
virtual void leftMult(const doublereal* const b, doublereal* const prod) const;
|
virtual void leftMult(const doublereal* const b, doublereal* const prod) const;
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@
|
||||||
* initial guess, and accuracy is needed.
|
* initial guess, and accuracy is needed.
|
||||||
* 4: SOLVEPROB_TRANSIENT = The transient calculation is performed here for an
|
* 4: SOLVEPROB_TRANSIENT = The transient calculation is performed here for an
|
||||||
* amount of time specified by "time_scale". It is
|
* amount of time specified by "time_scale". It is
|
||||||
* not garraunted to be time-accurate - just stable
|
* not guaranteed to be time-accurate - just stable
|
||||||
* and fairly fast. The solution after del_t time is
|
* and fairly fast. The solution after del_t time is
|
||||||
* returned, whether it's converged to a steady
|
* returned, whether it's converged to a steady
|
||||||
* state or not.
|
* state or not.
|
||||||
|
|
@ -113,13 +113,13 @@ namespace Cantera
|
||||||
*
|
*
|
||||||
* 4: SOLVEPROB_TRANSIENT = The transient calculation is performed here for an
|
* 4: SOLVEPROB_TRANSIENT = The transient calculation is performed here for an
|
||||||
* amount of time specified by "time_scale". It is
|
* amount of time specified by "time_scale". It is
|
||||||
* not garraunted to be time-accurate - just stable
|
* not guaranteed to be time-accurate - just stable
|
||||||
* and fairly fast. The solution after del_t time is
|
* and fairly fast. The solution after del_t time is
|
||||||
* returned, whether it's converged to a steady
|
* returned, whether it's converged to a steady
|
||||||
* state or not. This is a poor man's time stepping
|
* state or not. This is a poor man's time stepping
|
||||||
* algorithm.
|
* algorithm.
|
||||||
*
|
*
|
||||||
* Psuedo time stepping algorithm:
|
* Pseudo time stepping algorithm:
|
||||||
* The time step is determined from sdot[], 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%.
|
||||||
*
|
*
|
||||||
|
|
@ -302,7 +302,7 @@ private:
|
||||||
* @param damp lvl of damping
|
* @param damp lvl of damping
|
||||||
* @param inv_t Inverse of the value of delta T
|
* @param inv_t Inverse of the value of delta T
|
||||||
* @param t_real Value of the time
|
* @param t_real Value of the time
|
||||||
* @param iter Interation number
|
* @param iter Iteration number
|
||||||
* @param do_time boolean indicating whether time stepping is taking
|
* @param do_time boolean indicating whether time stepping is taking
|
||||||
* place
|
* place
|
||||||
*/
|
*/
|
||||||
|
|
@ -311,7 +311,7 @@ private:
|
||||||
bool do_time);
|
bool do_time);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//! Main Function evalulation
|
//! Main Function evaluation
|
||||||
/*!
|
/*!
|
||||||
*
|
*
|
||||||
* @param resid output Vector of residuals, length = m_neq
|
* @param resid output Vector of residuals, length = m_neq
|
||||||
|
|
@ -344,7 +344,7 @@ private:
|
||||||
const doublereal deltaT);
|
const doublereal deltaT);
|
||||||
|
|
||||||
//! This function calculates a damping factor for the Newton iteration update
|
//! This function calculates a damping factor for the Newton iteration update
|
||||||
//! vector, dxneg, to insure that all solution components stay within perscribed bounds
|
//! vector, dxneg, to insure that all solution components stay within prescribed bounds
|
||||||
/*!
|
/*!
|
||||||
* The default for this class is that all solution components are bounded between zero and one.
|
* The default for this class is that all solution components are bounded between zero and one.
|
||||||
* this is because the original unknowns were mole fractions and surface site fractions.
|
* this is because the original unknowns were mole fractions and surface site fractions.
|
||||||
|
|
|
||||||
|
|
@ -207,11 +207,11 @@ class PDSS_Water;
|
||||||
* It may or may not be charged. These may or
|
* It may or may not be charged. These may or
|
||||||
* may not be be included in the
|
* may not be be included in the
|
||||||
* species solution vector.
|
* species solution vector.
|
||||||
* - <B>cEST_strongAcidAssociated</B> Species which always breaksapart into charged species.
|
* - <B>cEST_strongAcidAssociated</B> Species which always breaks apart into charged species.
|
||||||
* It may or may not be charged. Normally, these aren't included
|
* It may or may not be charged. Normally, these aren't included
|
||||||
* in the speciation vector.
|
* in the speciation vector.
|
||||||
* - <B>cEST_polarNeutral </B> Polar neutral species
|
* - <B>cEST_polarNeutral </B> Polar neutral species
|
||||||
* - <B>cEST_nonpolarNeutral</B> Non poloar neutral species
|
* - <B>cEST_nonpolarNeutral</B> Non polar neutral species
|
||||||
*
|
*
|
||||||
* Polar and non-polar neutral species are differentiated, because some additions
|
* Polar and non-polar neutral species are differentiated, because some additions
|
||||||
* to the activity
|
* to the activity
|
||||||
|
|
@ -236,7 +236,7 @@ class PDSS_Water;
|
||||||
* </electrolyteSpeciesType>
|
* </electrolyteSpeciesType>
|
||||||
* @endcode
|
* @endcode
|
||||||
*
|
*
|
||||||
* Much of the species electrolyte type information is infered from other information in the
|
* Much of the species electrolyte type information is inferred from other information in the
|
||||||
* input file. For example, as species which is charged is given the "chargedSpecies" default
|
* input file. For example, as species which is charged is given the "chargedSpecies" default
|
||||||
* category. A neutral solute species is put into the "nonpolarNeutral" category by default.
|
* category. A neutral solute species is put into the "nonpolarNeutral" category by default.
|
||||||
*
|
*
|
||||||
|
|
@ -428,12 +428,12 @@ class PDSS_Water;
|
||||||
* Units = sqrt(kg/gmol)
|
* Units = sqrt(kg/gmol)
|
||||||
*
|
*
|
||||||
* where
|
* where
|
||||||
* - \f$ N_a \f$ is Avrogadro's number
|
* - \f$ N_a \f$ is Avogadro's number
|
||||||
* - \f$ \rho_w \f$ is the density of water
|
* - \f$ \rho_w \f$ is the density of water
|
||||||
* - \f$ e \f$ is the electronic charge
|
* - \f$ e \f$ is the electronic charge
|
||||||
* - \f$ \epsilon = K \epsilon_o \f$ is the permitivity of water
|
* - \f$ \epsilon = K \epsilon_o \f$ is the permittivity of water
|
||||||
* where \f$ K \f$ is the dielectric condstant of water,
|
* where \f$ K \f$ is the dielectric constant of water,
|
||||||
* and \f$ \epsilon_o \f$ is the permitivity of free space.
|
* and \f$ \epsilon_o \f$ is the permittivity of free space.
|
||||||
* - \f$ \rho_o \f$ is the density of the solvent in its standard state.
|
* - \f$ \rho_o \f$ is the density of the solvent in its standard state.
|
||||||
*
|
*
|
||||||
* Nominal value at 298 K and 1 atm = 1.172576 (kg/gmol)<SUP>1/2</SUP>
|
* Nominal value at 298 K and 1 atm = 1.172576 (kg/gmol)<SUP>1/2</SUP>
|
||||||
|
|
@ -1215,7 +1215,7 @@ public:
|
||||||
//! Get the saturation pressure for a given temperature.
|
//! Get the saturation pressure for a given temperature.
|
||||||
/*!
|
/*!
|
||||||
* Note the limitations of this function. Stability considerations
|
* Note the limitations of this function. Stability considerations
|
||||||
* concernting multiphase equilibrium are ignored in this
|
* concerning multiphase equilibrium are ignored in this
|
||||||
* calculation. Therefore, the call is made directly to the SS of
|
* calculation. Therefore, the call is made directly to the SS of
|
||||||
* water underneath. The object is put back into its original
|
* water underneath. The object is put back into its original
|
||||||
* state at the end of the call.
|
* state at the end of the call.
|
||||||
|
|
@ -1360,12 +1360,12 @@ public:
|
||||||
* Units = sqrt(kg/gmol)
|
* Units = sqrt(kg/gmol)
|
||||||
*
|
*
|
||||||
* where
|
* where
|
||||||
* - \f$ N_a \f$ is Avrogadro's number
|
* - \f$ N_a \f$ is Avogadro's number
|
||||||
* - \f$ \rho_w \f$ is the density of water
|
* - \f$ \rho_w \f$ is the density of water
|
||||||
* - \f$ e \f$ is the electronic charge
|
* - \f$ e \f$ is the electronic charge
|
||||||
* - \f$ \epsilon = K \epsilon_o \f$ is the permitivity of water
|
* - \f$ \epsilon = K \epsilon_o \f$ is the permittivity of water
|
||||||
* where \f$ K \f$ is the dielectric condstant of water,
|
* where \f$ K \f$ is the dielectric constant of water,
|
||||||
* and \f$ \epsilon_o \f$ is the permitivity of free space.
|
* and \f$ \epsilon_o \f$ is the permittivity of free space.
|
||||||
* = \f$ \rho_o \f$ is the density of the solvent in its standard state.
|
* = \f$ \rho_o \f$ is the density of the solvent in its standard state.
|
||||||
*
|
*
|
||||||
* Nominal value at 298 K and 1 atm = 1.172576 (kg/gmol)<SUP>1/2</SUP>
|
* Nominal value at 298 K and 1 atm = 1.172576 (kg/gmol)<SUP>1/2</SUP>
|
||||||
|
|
@ -1570,7 +1570,7 @@ public:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If true, then the fixed for of Helgeson's activity
|
* If true, then the fixed for of Helgeson's activity
|
||||||
* for water is used instead of the rigoruous form
|
* for water is used instead of the rigorous form
|
||||||
* obtained from Gibbs-Duhem relation. This should be
|
* obtained from Gibbs-Duhem relation. This should be
|
||||||
* used with caution, and is really only included as a
|
* used with caution, and is really only included as a
|
||||||
* validation exercise.
|
* validation exercise.
|
||||||
|
|
@ -1652,7 +1652,7 @@ protected:
|
||||||
*/
|
*/
|
||||||
double m_B_Debye;
|
double m_B_Debye;
|
||||||
|
|
||||||
//! Array of B_Dot valyes
|
//! Array of B_Dot values
|
||||||
/**
|
/**
|
||||||
* B_Dot -> This expression is an extension of the
|
* B_Dot -> This expression is an extension of the
|
||||||
* Debye-Huckel expression used in some formulations
|
* Debye-Huckel expression used in some formulations
|
||||||
|
|
|
||||||
|
|
@ -132,7 +132,7 @@ public:
|
||||||
*/
|
*/
|
||||||
Elements(const Elements& right);
|
Elements(const Elements& right);
|
||||||
|
|
||||||
//! Assigntment operator
|
//! Assignment operator
|
||||||
/*!
|
/*!
|
||||||
* This is the assignment operator for the Elements class.
|
* This is the assignment operator for the Elements class.
|
||||||
* Right now we pretty much do a straight uncomplicated
|
* Right now we pretty much do a straight uncomplicated
|
||||||
|
|
|
||||||
|
|
@ -70,9 +70,9 @@ namespace Cantera
|
||||||
* 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.
|
||||||
*
|
*
|
||||||
* <b> Instanteation of the Class </b>
|
* <b> Instantiation of the Class </b>
|
||||||
*
|
*
|
||||||
* This phase may be instanteated by calling the default ThermoFactory routine
|
* This phase may be instantiated by calling the default ThermoFactory routine
|
||||||
* for %Cantera. This new %FixedChemPotSSTP object must then have a standalone xml file
|
* for %Cantera. This new %FixedChemPotSSTP object must then have a standalone xml file
|
||||||
* description an example of which is given below.
|
* description an example of which is given below.
|
||||||
*
|
*
|
||||||
|
|
@ -301,7 +301,7 @@ public:
|
||||||
* by kinetics manager classes to compute the forward and
|
* by kinetics manager classes to compute the forward and
|
||||||
* reverse rates of elementary reactions.
|
* reverse rates of elementary reactions.
|
||||||
*
|
*
|
||||||
* For a stoichiomeetric substance, there is
|
* For a stoichiometric substance, there is
|
||||||
* only one species, and the generalized concentration is 1.0.
|
* only one species, and the generalized concentration is 1.0.
|
||||||
*
|
*
|
||||||
* @param c Output array of generalized concentrations. The
|
* @param c Output array of generalized concentrations. The
|
||||||
|
|
@ -358,7 +358,7 @@ public:
|
||||||
* units are needed. Usually, MKS units are assumed throughout
|
* units are needed. Usually, MKS units are assumed throughout
|
||||||
* the program and in the XML input files.
|
* the program and in the XML input files.
|
||||||
*
|
*
|
||||||
* The base %ThermoPhase class assigns thedefault quantities
|
* The base %ThermoPhase class assigns the default quantities
|
||||||
* of (kmol/m3) for all species.
|
* of (kmol/m3) for all species.
|
||||||
* Inherited classes are responsible for overriding the default
|
* Inherited classes are responsible for overriding the default
|
||||||
* values if necessary.
|
* values if necessary.
|
||||||
|
|
|
||||||
|
|
@ -189,7 +189,7 @@ class PDSS_Water;
|
||||||
* The redundancy issue is resolved by setting the standard state chemical potential
|
* The redundancy issue is resolved by setting the standard state chemical potential
|
||||||
* enthalpy, entropy, and volume for the hydrogen ion, H+, to zero, for every temperature
|
* enthalpy, entropy, and volume for the hydrogen ion, H+, to zero, for every temperature
|
||||||
* and pressure. After this convention is applied, all other standard state
|
* and pressure. After this convention is applied, all other standard state
|
||||||
* properties of ionic species contain meaningfull information.
|
* properties of ionic species contain meaningful information.
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* <H3> Ionic Strength </H3>
|
* <H3> Ionic Strength </H3>
|
||||||
|
|
@ -265,11 +265,11 @@ class PDSS_Water;
|
||||||
* It may or may not be charged. These may or
|
* It may or may not be charged. These may or
|
||||||
* may not be be included in the
|
* may not be be included in the
|
||||||
* species solution vector.
|
* species solution vector.
|
||||||
* - <B>cEST_strongAcidAssociated</B> Species which always breaksapart into charged species.
|
* - <B>cEST_strongAcidAssociated</B> Species which always breaks apart into charged species.
|
||||||
* It may or may not be charged. Normally, these
|
* It may or may not be charged. Normally, these
|
||||||
* aren't included in the speciation vector.
|
* aren't included in the speciation vector.
|
||||||
* - <B>cEST_polarNeutral </B> Polar neutral species
|
* - <B>cEST_polarNeutral </B> Polar neutral species
|
||||||
* - <B>cEST_nonpolarNeutral</B> Non poloar neutral species
|
* - <B>cEST_nonpolarNeutral</B> Non polar neutral species
|
||||||
*
|
*
|
||||||
* Polar and non-polar neutral species are differentiated, because some additions
|
* Polar and non-polar neutral species are differentiated, because some additions
|
||||||
* to the activity
|
* to the activity
|
||||||
|
|
@ -295,7 +295,7 @@ class PDSS_Water;
|
||||||
* @endcode
|
* @endcode
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* Much of the species electrolyte type information is infered from other information in the
|
* Much of the species electrolyte type information is inferred from other information in the
|
||||||
* input file. For example, as species which is charged is given the "chargedSpecies" default
|
* input file. For example, as species which is charged is given the "chargedSpecies" default
|
||||||
* category. A neutral solute species is put into the "nonpolarNeutral" category by default.
|
* category. A neutral solute species is put into the "nonpolarNeutral" category by default.
|
||||||
*
|
*
|
||||||
|
|
@ -319,7 +319,7 @@ class PDSS_Water;
|
||||||
*
|
*
|
||||||
* From the excess Gibbs free energy formulation, the activity coefficient expression
|
* From the excess Gibbs free energy formulation, the activity coefficient expression
|
||||||
* and the osmotic coefficient expression for the solvent may be defined, by
|
* and the osmotic coefficient expression for the solvent may be defined, by
|
||||||
* taking the appropriate derivatives. Using this approach garranties that the
|
* taking the appropriate derivatives. Using this approach guarantees that the
|
||||||
* entire system will obey the Gibbs-Duhem relations.
|
* entire system will obey the Gibbs-Duhem relations.
|
||||||
*
|
*
|
||||||
* Pitzer employs the following general expression for the excess Gibbs free energy
|
* Pitzer employs the following general expression for the excess Gibbs free energy
|
||||||
|
|
@ -348,7 +348,7 @@ class PDSS_Water;
|
||||||
* and anions affect anions or cation/anion pairs. Note part of the coefficients,
|
* and anions affect anions or cation/anion pairs. Note part of the coefficients,
|
||||||
* \f$ \Phi_{c{c'}} \f$ and \f$ \Phi_{a{a'}} \f$ stem from the theory
|
* \f$ \Phi_{c{c'}} \f$ and \f$ \Phi_{a{a'}} \f$ stem from the theory
|
||||||
* of unsymmetrical mixing of electrolytes with different charges. This
|
* of unsymmetrical mixing of electrolytes with different charges. This
|
||||||
* theory depends on the total ionic stregnth 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>,
|
||||||
|
|
@ -580,7 +580,7 @@ class PDSS_Water;
|
||||||
* HMWSoln has an implementation described by Silverter and Pitzer (1977),
|
* HMWSoln has an implementation described by Silverter and Pitzer (1977),
|
||||||
* which was used to fit experimental data for NaCl over an extensive range,
|
* which was used to fit experimental data for NaCl over an extensive range,
|
||||||
* below the critical temperature of water.
|
* below the critical temperature of water.
|
||||||
* They found a temperature funcdtional form for fitting the 3 following
|
* They found a temperature functional form for fitting the 3 following
|
||||||
* coefficients that describe the Pitzer parameterization for a single salt
|
* coefficients that describe the Pitzer parameterization for a single salt
|
||||||
* to be adequate to describe how the excess gibbs free energy values for
|
* to be adequate to describe how the excess gibbs free energy values for
|
||||||
* the binary salt changes with respect to temperature.
|
* the binary salt changes with respect to temperature.
|
||||||
|
|
@ -653,7 +653,7 @@ class PDSS_Water;
|
||||||
* \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.
|
||||||
* All of the underlying coeficients are specified in the
|
* All of the underlying coefficients are specified in the
|
||||||
* XML element block <TT> binarySaltParameters </TT>, which
|
* XML element block <TT> binarySaltParameters </TT>, which
|
||||||
* has the attribute <TT> cation </TT> and <TT> anion </TT>
|
* has the attribute <TT> cation </TT> and <TT> anion </TT>
|
||||||
* to identify the interaction. XML elements named
|
* to identify the interaction. XML elements named
|
||||||
|
|
@ -907,12 +907,12 @@ class PDSS_Water;
|
||||||
* Units = sqrt(kg/gmol)
|
* Units = sqrt(kg/gmol)
|
||||||
*
|
*
|
||||||
* where
|
* where
|
||||||
* - \f$ N_a \f$ is Avrogadro's number
|
* - \f$ N_a \f$ is Avogadro's number
|
||||||
* - \f$ \rho_w \f$ is the density of water
|
* - \f$ \rho_w \f$ is the density of water
|
||||||
* - \f$ e \f$ is the electronic charge
|
* - \f$ e \f$ is the electronic charge
|
||||||
* - \f$ \epsilon = K \epsilon_o \f$ is the permitivity of water
|
* - \f$ \epsilon = K \epsilon_o \f$ is the permittivity of water
|
||||||
* where \f$ K \f$ is the dielectric constant of water,
|
* where \f$ K \f$ is the dielectric constant of water,
|
||||||
* and \f$ \epsilon_o \f$ is the permitivity of free space.
|
* and \f$ \epsilon_o \f$ is thepermittivityy of free space.
|
||||||
* - \f$ \rho_o \f$ is the density of the solvent in its standard state.
|
* - \f$ \rho_o \f$ is the density of the solvent in its standard state.
|
||||||
*
|
*
|
||||||
* Nominal value at 298 K and 1 atm = 1.172576 (kg/gmol)<SUP>1/2</SUP>
|
* Nominal value at 298 K and 1 atm = 1.172576 (kg/gmol)<SUP>1/2</SUP>
|
||||||
|
|
@ -2019,7 +2019,7 @@ public:
|
||||||
//! Get the saturation pressure for a given temperature.
|
//! Get the saturation pressure for a given temperature.
|
||||||
/*!
|
/*!
|
||||||
* Note the limitations of this function. Stability considerations
|
* Note the limitations of this function. Stability considerations
|
||||||
* concernting multiphase equilibrium are ignored in this
|
* concerning multiphase equilibrium are ignored in this
|
||||||
* calculation. Therefore, the call is made directly to the SS of
|
* calculation. Therefore, the call is made directly to the SS of
|
||||||
* water underneath. The object is put back into its original
|
* water underneath. The object is put back into its original
|
||||||
* state at the end of the call.
|
* state at the end of the call.
|
||||||
|
|
@ -2156,7 +2156,7 @@ public:
|
||||||
* @param temperature Temperature of the derivative calculation
|
* @param temperature Temperature of the derivative calculation
|
||||||
* or -1 to indicate the current temperature
|
* or -1 to indicate the current temperature
|
||||||
*
|
*
|
||||||
* @param pressure Pressure of the derivative calcualtion
|
* @param pressure Pressure of the derivative calculation
|
||||||
* or -1 to indicate the current pressure
|
* or -1 to indicate the current pressure
|
||||||
*/
|
*/
|
||||||
virtual double A_Debye_TP(double temperature = -1.0,
|
virtual double A_Debye_TP(double temperature = -1.0,
|
||||||
|
|
@ -2174,7 +2174,7 @@ public:
|
||||||
* @param temperature Temperature of the derivative calculation
|
* @param temperature Temperature of the derivative calculation
|
||||||
* or -1 to indicate the current temperature
|
* or -1 to indicate the current temperature
|
||||||
*
|
*
|
||||||
* @param pressure Pressure of the derivative calcualtion
|
* @param pressure Pressure of the derivative calculation
|
||||||
* or -1 to indicate the current pressure
|
* or -1 to indicate the current pressure
|
||||||
*/
|
*/
|
||||||
virtual double dA_DebyedT_TP(double temperature = -1.0,
|
virtual double dA_DebyedT_TP(double temperature = -1.0,
|
||||||
|
|
@ -2192,7 +2192,7 @@ public:
|
||||||
* @param temperature Temperature of the derivative calculation
|
* @param temperature Temperature of the derivative calculation
|
||||||
* or -1 to indicate the current temperature
|
* or -1 to indicate the current temperature
|
||||||
*
|
*
|
||||||
* @param pressure Pressure of the derivative calcualtion
|
* @param pressure Pressure of the derivative calculation
|
||||||
* or -1 to indicate the current pressure
|
* or -1 to indicate the current pressure
|
||||||
*/
|
*/
|
||||||
virtual double dA_DebyedP_TP(double temperature = -1.0,
|
virtual double dA_DebyedP_TP(double temperature = -1.0,
|
||||||
|
|
@ -2212,7 +2212,7 @@ public:
|
||||||
* @param temperature Temperature of the derivative calculation
|
* @param temperature Temperature of the derivative calculation
|
||||||
* or -1 to indicate the current temperature
|
* or -1 to indicate the current temperature
|
||||||
*
|
*
|
||||||
* @param pressure Pressure of the derivative calcualtion
|
* @param pressure Pressure of the derivative calculation
|
||||||
* or -1 to indicate the current pressure
|
* or -1 to indicate the current pressure
|
||||||
*/
|
*/
|
||||||
double ADebye_L(double temperature = -1.0,
|
double ADebye_L(double temperature = -1.0,
|
||||||
|
|
@ -2232,7 +2232,7 @@ public:
|
||||||
* @param temperature Temperature of the derivative calculation
|
* @param temperature Temperature of the derivative calculation
|
||||||
* or -1 to indicate the current temperature
|
* or -1 to indicate the current temperature
|
||||||
*
|
*
|
||||||
* @param pressure Pressure of the derivative calcualtion
|
* @param pressure Pressure of the derivative calculation
|
||||||
* or -1 to indicate the current pressure
|
* or -1 to indicate the current pressure
|
||||||
*/
|
*/
|
||||||
double ADebye_J(double temperature = -1.0,
|
double ADebye_J(double temperature = -1.0,
|
||||||
|
|
@ -2250,7 +2250,7 @@ public:
|
||||||
* @param temperature Temperature of the derivative calculation
|
* @param temperature Temperature of the derivative calculation
|
||||||
* or -1 to indicate the current temperature
|
* or -1 to indicate the current temperature
|
||||||
*
|
*
|
||||||
* @param pressure Pressure of the derivative calcualtion
|
* @param pressure Pressure of the derivative calculation
|
||||||
* or -1 to indicate the current pressure
|
* or -1 to indicate the current pressure
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
@ -2269,7 +2269,7 @@ public:
|
||||||
* @param temperature Temperature of the derivative calculation
|
* @param temperature Temperature of the derivative calculation
|
||||||
* or -1 to indicate the current temperature
|
* or -1 to indicate the current temperature
|
||||||
*
|
*
|
||||||
* @param pressure Pressure of the derivative calcualtion
|
* @param pressure Pressure of the derivative calculation
|
||||||
* or -1 to indicate the current pressure
|
* or -1 to indicate the current pressure
|
||||||
*/
|
*/
|
||||||
virtual double d2A_DebyedT2_TP(double temperature = -1.0,
|
virtual double d2A_DebyedT2_TP(double temperature = -1.0,
|
||||||
|
|
@ -2809,19 +2809,19 @@ private:
|
||||||
*/
|
*/
|
||||||
mutable vector_fp m_Psi_ijk;
|
mutable vector_fp m_Psi_ijk;
|
||||||
|
|
||||||
//! Derivitive of Psi_ijk[n] wrt T
|
//! Derivative of Psi_ijk[n] wrt T
|
||||||
/*!
|
/*!
|
||||||
* see m_Psi_ijk for reference on the indexing into this variable.
|
* see m_Psi_ijk for reference on the indexing into this variable.
|
||||||
*/
|
*/
|
||||||
mutable vector_fp m_Psi_ijk_L;
|
mutable vector_fp m_Psi_ijk_L;
|
||||||
|
|
||||||
//! Derivitive of Psi_ijk[n] wrt TT
|
//! Derivative of Psi_ijk[n] wrt TT
|
||||||
/*!
|
/*!
|
||||||
* see m_Psi_ijk for reference on the indexing into this variable.
|
* see m_Psi_ijk for reference on the indexing into this variable.
|
||||||
*/
|
*/
|
||||||
mutable vector_fp m_Psi_ijk_LL;
|
mutable vector_fp m_Psi_ijk_LL;
|
||||||
|
|
||||||
//! Derivitive of Psi_ijk[n] wrt P
|
//! Derivative of Psi_ijk[n] wrt P
|
||||||
/*!
|
/*!
|
||||||
* see m_Psi_ijk for reference on the indexing into this variable.
|
* see m_Psi_ijk for reference on the indexing into this variable.
|
||||||
*/
|
*/
|
||||||
|
|
@ -3223,7 +3223,7 @@ private:
|
||||||
//! gamma_o value for the cutoff process at the zero solvent point
|
//! gamma_o value for the cutoff process at the zero solvent point
|
||||||
doublereal IMS_gamma_o_min_;
|
doublereal IMS_gamma_o_min_;
|
||||||
|
|
||||||
//! gamma_k minimun for the cutoff process at the zero solvent point
|
//! gamma_k minimum for the cutoff process at the zero solvent point
|
||||||
doublereal IMS_gamma_k_min_;
|
doublereal IMS_gamma_k_min_;
|
||||||
|
|
||||||
//! Parameter in the polyExp cutoff treatment having to do with rate of exp decay
|
//! Parameter in the polyExp cutoff treatment having to do with rate of exp decay
|
||||||
|
|
@ -3464,7 +3464,7 @@ private:
|
||||||
double* etheta, double* etheta_prime) const;
|
double* etheta, double* etheta_prime) const;
|
||||||
|
|
||||||
//! Set up a counter variable for keeping track of symmetric binary
|
//! Set up a counter variable for keeping track of symmetric binary
|
||||||
//! interactactions amongst the solute species.
|
//! interactions amongst the solute species.
|
||||||
/*!
|
/*!
|
||||||
* The purpose of this is to squeeze the ij parameters into a
|
* The purpose of this is to squeeze the ij parameters into a
|
||||||
* compressed single counter.
|
* compressed single counter.
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ namespace Cantera
|
||||||
* all molality-based activity coefficients are equal
|
* all molality-based activity coefficients are equal
|
||||||
* to one.
|
* to one.
|
||||||
*
|
*
|
||||||
* This is a full instanteation of a ThermoPhase object.
|
* This is a full instantiation of a ThermoPhase object.
|
||||||
* The assumption is that the molality-based activity
|
* The assumption is that the molality-based activity
|
||||||
* coefficient is equal to one. This also implies that
|
* coefficient is equal to one. This also implies that
|
||||||
* the osmotic coefficient is equal to one.
|
* the osmotic coefficient is equal to one.
|
||||||
|
|
@ -946,7 +946,7 @@ public:
|
||||||
//! gamma_o value for the cutoff process at the zero solvent point
|
//! gamma_o value for the cutoff process at the zero solvent point
|
||||||
doublereal IMS_gamma_o_min_;
|
doublereal IMS_gamma_o_min_;
|
||||||
|
|
||||||
//! gamma_k minimun for the cutoff process at the zero solvent point
|
//! gamma_k minimum for the cutoff process at the zero solvent point
|
||||||
doublereal IMS_gamma_k_min_;
|
doublereal IMS_gamma_k_min_;
|
||||||
|
|
||||||
//! Parameter in the polyExp cutoff treatment having to do with rate of exp decay
|
//! Parameter in the polyExp cutoff treatment having to do with rate of exp decay
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@
|
||||||
namespace Cantera
|
namespace Cantera
|
||||||
{
|
{
|
||||||
|
|
||||||
//! A simple thermoydnamics model for a bulk phase,
|
//! A simple thermodynamic model for a bulk phase,
|
||||||
//! assuming a lattice of solid atoms
|
//! assuming a lattice of solid atoms
|
||||||
/*!
|
/*!
|
||||||
* The bulk consists of a matrix of equivalent sites whose molar density
|
* The bulk consists of a matrix of equivalent sites whose molar density
|
||||||
|
|
|
||||||
|
|
@ -66,7 +66,7 @@ namespace Cantera
|
||||||
* All species are defined to have standard states that depend upon both
|
* All species are defined to have standard states that depend upon both
|
||||||
* the temperature and the pressure. The Margules approximation assumes
|
* the temperature and the pressure. The Margules approximation assumes
|
||||||
* symmetric standard states, where all of the standard state assume
|
* symmetric standard states, where all of the standard state assume
|
||||||
* that the species are in pure component states at the temperatue
|
* that the species are in pure component states at the temperature
|
||||||
* and pressure of the solution. I don't think it prevents, however,
|
* and pressure of the solution. I don't think it prevents, however,
|
||||||
* some species from being dilute in the solution.
|
* some species from being dilute in the solution.
|
||||||
*
|
*
|
||||||
|
|
@ -958,7 +958,7 @@ protected:
|
||||||
*/
|
*/
|
||||||
int formMargules_;
|
int formMargules_;
|
||||||
|
|
||||||
//! form of the temperatuer dependence of the Margules interaction expression
|
//! form of the temperature dependence of the Margules interaction expression
|
||||||
/*!
|
/*!
|
||||||
* Currently there is only one form -> constant wrt temperature.
|
* Currently there is only one form -> constant wrt temperature.
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -96,7 +96,7 @@ namespace Cantera
|
||||||
* to the electron, which is the voltage of the metal.
|
* to the electron, which is the voltage of the metal.
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* <b> Instanteation of the Class </b>
|
* <b> Instantiation of the Class </b>
|
||||||
*
|
*
|
||||||
* The constructor for this phase is located in the default ThermoFactory
|
* The constructor for this phase is located in the default ThermoFactory
|
||||||
* for %Cantera. A new %MetalSHEelectrons object may be created by
|
* for %Cantera. A new %MetalSHEelectrons object may be created by
|
||||||
|
|
@ -316,7 +316,7 @@ public:
|
||||||
* by kinetics manager classes to compute the forward and
|
* by kinetics manager classes to compute the forward and
|
||||||
* reverse rates of elementary reactions.
|
* reverse rates of elementary reactions.
|
||||||
*
|
*
|
||||||
* For a stoichiomeetric substance, there is
|
* For a stoichiometric substance, there is
|
||||||
* only one species, and the generalized concentration is 1.0.
|
* only one species, and the generalized concentration is 1.0.
|
||||||
*
|
*
|
||||||
* @param c Output array of generalized concentrations. The
|
* @param c Output array of generalized concentrations. The
|
||||||
|
|
@ -373,7 +373,7 @@ public:
|
||||||
* units are needed. Usually, MKS units are assumed throughout
|
* units are needed. Usually, MKS units are assumed throughout
|
||||||
* the program and in the XML input files.
|
* the program and in the XML input files.
|
||||||
*
|
*
|
||||||
* The base %ThermoPhase class assigns thedefault quantities
|
* The base %ThermoPhase class assigns the default quantities
|
||||||
* of (kmol/m3) for all species.
|
* of (kmol/m3) for all species.
|
||||||
* Inherited classes are responsible for overriding the default
|
* Inherited classes are responsible for overriding the default
|
||||||
* values if necessary.
|
* values if necessary.
|
||||||
|
|
|
||||||
|
|
@ -93,7 +93,7 @@ namespace Cantera
|
||||||
* 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.
|
||||||
*
|
*
|
||||||
* <b> Instanteation of the Class </b>
|
* <b> Instantiation of the Class </b>
|
||||||
*
|
*
|
||||||
* The constructor for this phase is NOT located in the default ThermoFactory
|
* The constructor for this phase is NOT located in the default ThermoFactory
|
||||||
* for %Cantera. However, a new %StoichSubstanceSSTP may be created by
|
* for %Cantera. However, a new %StoichSubstanceSSTP may be created by
|
||||||
|
|
@ -291,7 +291,7 @@ public:
|
||||||
* by kinetics manager classes to compute the forward and
|
* by kinetics manager classes to compute the forward and
|
||||||
* reverse rates of elementary reactions.
|
* reverse rates of elementary reactions.
|
||||||
*
|
*
|
||||||
* For a stoichiomeetric substance, there is
|
* For a stoichiometric substance, there is
|
||||||
* only one species, and the generalized concentration is 1.0.
|
* only one species, and the generalized concentration is 1.0.
|
||||||
*
|
*
|
||||||
* @param c Output array of generalized concentrations. The
|
* @param c Output array of generalized concentrations. The
|
||||||
|
|
@ -348,7 +348,7 @@ public:
|
||||||
* units are needed. Usually, MKS units are assumed throughout
|
* units are needed. Usually, MKS units are assumed throughout
|
||||||
* the program and in the XML input files.
|
* the program and in the XML input files.
|
||||||
*
|
*
|
||||||
* The base %ThermoPhase class assigns thedefault quantities
|
* The base %ThermoPhase class assigns the default quantities
|
||||||
* of (kmol/m3) for all species.
|
* of (kmol/m3) for all species.
|
||||||
* Inherited classes are responsible for overriding the default
|
* Inherited classes are responsible for overriding the default
|
||||||
* values if necessary.
|
* values if necessary.
|
||||||
|
|
|
||||||
|
|
@ -67,7 +67,7 @@ namespace Cantera
|
||||||
* All species are defined to have standard states that depend upon both
|
* All species are defined to have standard states that depend upon both
|
||||||
* the temperature and the pressure. The Margules approximation assumes
|
* the temperature and the pressure. The Margules approximation assumes
|
||||||
* symmetric standard states, where all of the standard state assume
|
* symmetric standard states, where all of the standard state assume
|
||||||
* that the species are in pure component states at the temperatue
|
* that the species are in pure component states at the temperature
|
||||||
* and pressure of the solution. I don't think it prevents, however,
|
* and pressure of the solution. I don't think it prevents, however,
|
||||||
* some species from being dilute in the solution.
|
* some species from being dilute in the solution.
|
||||||
*
|
*
|
||||||
|
|
@ -960,7 +960,7 @@ protected:
|
||||||
*/
|
*/
|
||||||
int formMargules_;
|
int formMargules_;
|
||||||
|
|
||||||
//! form of the temperatuer dependence of the Margules interaction expression
|
//! form of the temperature dependence of the Margules interaction expression
|
||||||
/*!
|
/*!
|
||||||
* Currently there is only one form -> constant wrt temperature.
|
* Currently there is only one form -> constant wrt temperature.
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -379,7 +379,7 @@ protected:
|
||||||
public:
|
public:
|
||||||
//! Set the temperature and pressure at the same time
|
//! Set the temperature and pressure at the same time
|
||||||
/*!
|
/*!
|
||||||
* Note this function triggers a reevalulation of the standard
|
* Note this function triggers a reevaluation of the standard
|
||||||
* state quantities.
|
* state quantities.
|
||||||
*
|
*
|
||||||
* @param T temperature (kelvin)
|
* @param T temperature (kelvin)
|
||||||
|
|
|
||||||
|
|
@ -157,7 +157,7 @@ namespace Cantera
|
||||||
* at higher pressures and temperatures, near the critical point,
|
* at higher pressures and temperatures, near the critical point,
|
||||||
* evaluation of the thermodynamics at a pressure of 1 bar may
|
* evaluation of the thermodynamics at a pressure of 1 bar may
|
||||||
* lead to situations where the liquid is unstable, i.e., beyond
|
* lead to situations where the liquid is unstable, i.e., beyond
|
||||||
* the spinodal curve leading to potentially wrong evalulation
|
* the spinodal curve leading to potentially wrong evaluation
|
||||||
* results.
|
* results.
|
||||||
*
|
*
|
||||||
* For cases where the PDSS object doesn't use the SpeciesThermo
|
* For cases where the PDSS object doesn't use the SpeciesThermo
|
||||||
|
|
@ -187,11 +187,11 @@ class VPSSMgr;
|
||||||
* species in their standard states at a range of temperatures
|
* species in their standard states at a range of temperatures
|
||||||
* and pressures. The independent variables for this object
|
* and pressures. The independent variables for this object
|
||||||
* are temperature and pressure.
|
* are temperature and pressure.
|
||||||
* The class may mave a reference to a SpeciesThermo object
|
* The class may have a reference to a SpeciesThermo object
|
||||||
* which handles the calculation of the reference state temperature
|
* which handles the calculation of the reference state temperature
|
||||||
* behavior of a subset of species.
|
* behavior of a subset of species.
|
||||||
*
|
*
|
||||||
* This class is analagous to the SpeciesThermoInterpType
|
* This class is analogous to the SpeciesThermoInterpType
|
||||||
* class, except that the standard state inherently incorporates
|
* class, except that the standard state inherently incorporates
|
||||||
* the pressure dependence.
|
* the pressure dependence.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -36,11 +36,11 @@ class WaterProps;
|
||||||
* species in their standard states at a range of temperatures
|
* species in their standard states at a range of temperatures
|
||||||
* and pressures. The independent variables for this object
|
* and pressures. The independent variables for this object
|
||||||
* are temperature and pressure.
|
* are temperature and pressure.
|
||||||
* The class may mave a reference to a SpeciesThermo object
|
* The class may have a reference to a SpeciesThermo object
|
||||||
* which handles the calculation of the reference state temperature
|
* which handles the calculation of the reference state temperature
|
||||||
* behavior of a subset of species.
|
* behavior of a subset of species.
|
||||||
*
|
*
|
||||||
* This class is analagous to the SpeciesThermoInterpType
|
* This class is analogous to the SpeciesThermoInterpType
|
||||||
* class, except that the standard state inherently incorporates
|
* class, except that the standard state inherently incorporates
|
||||||
* the pressure dependence.
|
* the pressure dependence.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@ namespace Cantera
|
||||||
*
|
*
|
||||||
* This class is introduced to represent specific conditions observed in thermal batteries.
|
* This class is introduced to represent specific conditions observed in thermal batteries.
|
||||||
* HOwever, it may be physically motivated to represent conditions where there may
|
* HOwever, it may be physically motivated to represent conditions where there may
|
||||||
* be a mixture of componds that are not "mixed" at the molecular level. Therefore, there
|
* be a mixture of compounds that are not "mixed" at the molecular level. Therefore, there
|
||||||
* is no mixing term.
|
* is no mixing term.
|
||||||
*
|
*
|
||||||
* The lack of a mixing term has profound effects. First, the mole fraction of a species
|
* The lack of a mixing term has profound effects. First, the mole fraction of a species
|
||||||
|
|
@ -68,7 +68,7 @@ namespace Cantera
|
||||||
* All species are defined to have standard states that depend upon both
|
* All species are defined to have standard states that depend upon both
|
||||||
* the temperature and the pressure. The Margules approximation assumes
|
* the temperature and the pressure. The Margules approximation assumes
|
||||||
* symmetric standard states, where all of the standard state assume
|
* symmetric standard states, where all of the standard state assume
|
||||||
* that the species are in pure component states at the temperatue
|
* that the species are in pure component states at the temperature
|
||||||
* and pressure of the solution. I don't think it prevents, however,
|
* and pressure of the solution. I don't think it prevents, however,
|
||||||
* some species from being dilute in the solution.
|
* some species from being dilute in the solution.
|
||||||
*
|
*
|
||||||
|
|
@ -951,7 +951,7 @@ protected:
|
||||||
*/
|
*/
|
||||||
int formMargules_;
|
int formMargules_;
|
||||||
|
|
||||||
//! form of the temperatuer dependence of the Margules interaction expression
|
//! form of the temperature dependence of the Margules interaction expression
|
||||||
/*!
|
/*!
|
||||||
* Currently there is only one form -> constant wrt temperature.
|
* Currently there is only one form -> constant wrt temperature.
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@ namespace Cantera
|
||||||
* All species are defined to have standard states that depend upon both
|
* All species are defined to have standard states that depend upon both
|
||||||
* the temperature and the pressure. The Redlich-Kister approximation assumes
|
* the temperature and the pressure. The Redlich-Kister approximation assumes
|
||||||
* symmetric standard states, where all of the standard state assume
|
* symmetric standard states, where all of the standard state assume
|
||||||
* that the species are in pure component states at the temperatue
|
* that the species are in pure component states at the temperature
|
||||||
* and pressure of the solution. I don't think it prevents, however,
|
* and pressure of the solution. I don't think it prevents, however,
|
||||||
* some species from being dilute in the solution.
|
* some species from being dilute in the solution.
|
||||||
*
|
*
|
||||||
|
|
@ -885,7 +885,7 @@ protected:
|
||||||
|
|
||||||
//! vector of species indices representing species B in the interaction
|
//! vector of species indices representing species B in the interaction
|
||||||
/*!
|
/*!
|
||||||
* Each Redlich-Kisterexcess Gibbs free energy term involves two species, A and B.
|
* Each Redlich-Kister excess Gibbs free energy term involves two species, A and B.
|
||||||
* This vector identifies species B.
|
* This vector identifies species B.
|
||||||
*/
|
*/
|
||||||
std::vector<size_t> m_pSpecies_B_ij;
|
std::vector<size_t> m_pSpecies_B_ij;
|
||||||
|
|
@ -910,7 +910,7 @@ protected:
|
||||||
*/
|
*/
|
||||||
int formRedlichKister_;
|
int formRedlichKister_;
|
||||||
|
|
||||||
//! form of the temperatuer dependence of the Redlich-Kister interaction expression
|
//! form of the temperature dependence of the Redlich-Kister interaction expression
|
||||||
/*!
|
/*!
|
||||||
* Currently there is only one form -> constant wrt temperature.
|
* Currently there is only one form -> constant wrt temperature.
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@ public:
|
||||||
* It queries the database of species to understand what
|
* It queries the database of species to understand what
|
||||||
* the requirements are for the submodels for all of the
|
* the requirements are for the submodels for all of the
|
||||||
* species in the phase. Then, it picks the SpeciesThermo
|
* species in the phase. Then, it picks the SpeciesThermo
|
||||||
* object to use, and passies it back to the calling routine.
|
* object to use, and passes it back to the calling routine.
|
||||||
* It doesn't load any of the data into the derived
|
* It doesn't load any of the data into the derived
|
||||||
* SpeciesThermo object.
|
* SpeciesThermo object.
|
||||||
*
|
*
|
||||||
|
|
@ -211,7 +211,7 @@ private:
|
||||||
static SpeciesThermoFactory* s_factory;
|
static SpeciesThermoFactory* s_factory;
|
||||||
|
|
||||||
#if defined(THREAD_SAFE_CANTERA)
|
#if defined(THREAD_SAFE_CANTERA)
|
||||||
//! Decl of the static mutex variable that locks the %SpeciesThermo factory singelton
|
//! Decl of the static mutex variable that locks the %SpeciesThermo factory singleton
|
||||||
static boost::mutex species_thermo_mutex;
|
static boost::mutex species_thermo_mutex;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
/**
|
/**
|
||||||
* @file SpeciesThermoInterpType.h
|
* @file SpeciesThermoInterpType.h
|
||||||
* Pure Virtual Base class for individual species reference state
|
* Pure Virtual Base class for individual species reference state
|
||||||
* themodynamic managers and text for the spthermo module
|
* thermodynamic managers and text for the spthermo module
|
||||||
* (see \ref spthermo and class \link Cantera::SpeciesThermoInterpType SpeciesThermoInterpType \endlink).
|
* (see \ref spthermo and class \link Cantera::SpeciesThermoInterpType SpeciesThermoInterpType \endlink).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
@ -132,7 +132,7 @@ class VPSSMgr;
|
||||||
* @ingroup thermoprops
|
* @ingroup thermoprops
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//! Pure Virtual Base class for the thermoydnamic manager for
|
//! Pure Virtual Base class for the thermodynamic manager for
|
||||||
//! an individual species' reference state
|
//! an individual species' reference state
|
||||||
/*!
|
/*!
|
||||||
* This differs from the SpeciesThermo virtual
|
* This differs from the SpeciesThermo virtual
|
||||||
|
|
@ -288,8 +288,8 @@ public:
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
//! Class for the thermoydnamic manager for an individual species' reference state
|
//! Class for the thermodynamic manager for an individual species' reference state
|
||||||
//! which usess the PDSS base class to satisfy the requests.
|
//! which uses the PDSS base class to satisfy the requests.
|
||||||
/*!
|
/*!
|
||||||
*
|
*
|
||||||
* This class is a pass-through class for handling thermodynamics calls
|
* This class is a pass-through class for handling thermodynamics calls
|
||||||
|
|
|
||||||
|
|
@ -92,7 +92,7 @@ namespace Cantera
|
||||||
* 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.
|
||||||
*
|
*
|
||||||
* <b> Instanteation of the Class </b>
|
* <b> Instantiation of the Class </b>
|
||||||
*
|
*
|
||||||
* The constructor for this phase is NOT located in the default ThermoFactory
|
* The constructor for this phase is NOT located in the default ThermoFactory
|
||||||
* for %Cantera. However, a new %StoichSubstanceSSTP may be created by
|
* for %Cantera. However, a new %StoichSubstanceSSTP may be created by
|
||||||
|
|
@ -290,7 +290,7 @@ public:
|
||||||
* by kinetics manager classes to compute the forward and
|
* by kinetics manager classes to compute the forward and
|
||||||
* reverse rates of elementary reactions.
|
* reverse rates of elementary reactions.
|
||||||
*
|
*
|
||||||
* For a stoichiomeetric substance, there is
|
* For a stoichiometric substance, there is
|
||||||
* only one species, and the generalized concentration is 1.0.
|
* only one species, and the generalized concentration is 1.0.
|
||||||
*
|
*
|
||||||
* @param c Output array of generalized concentrations. The
|
* @param c Output array of generalized concentrations. The
|
||||||
|
|
@ -347,7 +347,7 @@ public:
|
||||||
* units are needed. Usually, MKS units are assumed throughout
|
* units are needed. Usually, MKS units are assumed throughout
|
||||||
* the program and in the XML input files.
|
* the program and in the XML input files.
|
||||||
*
|
*
|
||||||
* The base %ThermoPhase class assigns thedefault quantities
|
* The base %ThermoPhase class assigns the default quantities
|
||||||
* of (kmol/m3) for all species.
|
* of (kmol/m3) for all species.
|
||||||
* Inherited classes are responsible for overriding the default
|
* Inherited classes are responsible for overriding the default
|
||||||
* values if necessary.
|
* values if necessary.
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
namespace Cantera
|
namespace Cantera
|
||||||
{
|
{
|
||||||
|
|
||||||
//! A simple thermoydnamics model for a surface phase,
|
//! A simple thermodynamic model for a surface phase,
|
||||||
//! assuming an ideal solution model.
|
//! assuming an ideal solution model.
|
||||||
/*!
|
/*!
|
||||||
* The surface consists of a grid of equivalent sites.
|
* The surface consists of a grid of equivalent sites.
|
||||||
|
|
|
||||||
|
|
@ -116,7 +116,7 @@ private:
|
||||||
|
|
||||||
|
|
||||||
#if defined(THREAD_SAFE_CANTERA)
|
#if defined(THREAD_SAFE_CANTERA)
|
||||||
//! Decl for locking mutex for thermo factory singelton
|
//! Decl for locking mutex for thermo factory singleton
|
||||||
static boost::mutex thermo_mutex;
|
static boost::mutex thermo_mutex;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
@ -196,7 +196,7 @@ ThermoPhase* newPhase(std::string infile, std::string id);
|
||||||
* be ready to be used within applications. This routine contains
|
* be ready to be used within applications. This routine contains
|
||||||
* some key routines that are used as pass back routines so that
|
* some key routines that are used as pass back routines so that
|
||||||
* the phase (and the contents of the XML file) may contain
|
* the phase (and the contents of the XML file) may contain
|
||||||
* variable paramerizations for the specification of the
|
* variable parameterizations for the specification of the
|
||||||
* species standard states, the equation of state, and the
|
* species standard states, the equation of state, and the
|
||||||
* specification of other nonidealities. Below, a description
|
* specification of other nonidealities. Below, a description
|
||||||
* is presented of the main algorithm for bringing up a %ThermoPhase
|
* is presented of the main algorithm for bringing up a %ThermoPhase
|
||||||
|
|
@ -207,7 +207,7 @@ ThermoPhase* newPhase(std::string infile, std::string id);
|
||||||
* are called or direct constructor routines are called that
|
* are called or direct constructor routines are called that
|
||||||
* instantiate an inherited ThermoPhase object. This object is input
|
* instantiate an inherited ThermoPhase object. This object is input
|
||||||
* to this routine, and therefore contains inherited routines that
|
* to this routine, and therefore contains inherited routines that
|
||||||
* drive the custimation of the initialization process.
|
* drive the customization of the initialization process.
|
||||||
*
|
*
|
||||||
* At the start of the routine, we import descriptions of the elements
|
* At the start of the routine, we import descriptions of the elements
|
||||||
* that make up the species in a phase.
|
* that make up the species in a phase.
|
||||||
|
|
|
||||||
|
|
@ -156,7 +156,7 @@ class PDSS;
|
||||||
* - VPSSMgr_General
|
* - VPSSMgr_General
|
||||||
* - standardState model = "General"
|
* - standardState model = "General"
|
||||||
* - This model is completely general. Nothing is assumed at this
|
* - This model is completely general. Nothing is assumed at this
|
||||||
* level. Calls consist of loops to PDSS property evalulations.
|
* level. Calls consist of loops to PDSS property evaluations.
|
||||||
* .
|
* .
|
||||||
* .
|
* .
|
||||||
*
|
*
|
||||||
|
|
@ -520,7 +520,7 @@ public:
|
||||||
* - _updateRefStateThermo()
|
* - _updateRefStateThermo()
|
||||||
* - _updateStandardStateThermo()
|
* - _updateStandardStateThermo()
|
||||||
*
|
*
|
||||||
* An important point to note is that inbetween calls the assumption
|
* An important point to note is that between calls the assumption
|
||||||
* that the underlying PDSS objects will retain their set Temperatures
|
* that the underlying PDSS objects will retain their set Temperatures
|
||||||
* and Pressure CAN NOT BE MADE. For efficiency reasons, we may twiddle
|
* and Pressure CAN NOT BE MADE. For efficiency reasons, we may twiddle
|
||||||
* these to get derivatives.
|
* these to get derivatives.
|
||||||
|
|
@ -549,7 +549,7 @@ public:
|
||||||
*/
|
*/
|
||||||
virtual void setState_P(doublereal P);
|
virtual void setState_P(doublereal P);
|
||||||
|
|
||||||
//! Return the temperatue stored in the object
|
//! Return the temperature stored in the object
|
||||||
doublereal temperature() const {
|
doublereal temperature() const {
|
||||||
return m_tlast;
|
return m_tlast;
|
||||||
}
|
}
|
||||||
|
|
@ -775,7 +775,7 @@ public:
|
||||||
* them. This function is called like an onion.
|
* them. This function is called like an onion.
|
||||||
*
|
*
|
||||||
* @param vp_ptr Pointer to the VPStandardStateTP standard state
|
* @param vp_ptr Pointer to the VPStandardStateTP standard state
|
||||||
* @param sp_ptr Poitner to the SpeciesThermo standard state
|
* @param sp_ptr Pointer to the SpeciesThermo standard state
|
||||||
*/
|
*/
|
||||||
virtual void initAllPtrs(VPStandardStateTP* vp_ptr, SpeciesThermo* sp_ptr);
|
virtual void initAllPtrs(VPStandardStateTP* vp_ptr, SpeciesThermo* sp_ptr);
|
||||||
|
|
||||||
|
|
@ -843,7 +843,7 @@ protected:
|
||||||
*/
|
*/
|
||||||
mutable vector_fp m_s0_R;
|
mutable vector_fp m_s0_R;
|
||||||
|
|
||||||
//! Vector containing the species referenc molar volumes
|
//! Vector containing the species reference molar volumes
|
||||||
mutable vector_fp m_V0;
|
mutable vector_fp m_V0;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
|
||||||
|
|
@ -271,7 +271,7 @@ public:
|
||||||
* them. This function is called like an onion.
|
* them. This function is called like an onion.
|
||||||
*
|
*
|
||||||
* @param vp_ptr Pointer to the VPStandardStateTP standard state
|
* @param vp_ptr Pointer to the VPStandardStateTP standard state
|
||||||
* @param sp_ptr Poitner to the SpeciesThermo standard state
|
* @param sp_ptr Pointer to the SpeciesThermo standard state
|
||||||
*/
|
*/
|
||||||
virtual void initAllPtrs(VPStandardStateTP* vp_ptr, SpeciesThermo* sp_ptr);
|
virtual void initAllPtrs(VPStandardStateTP* vp_ptr, SpeciesThermo* sp_ptr);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ public:
|
||||||
* Initialize the object.
|
* Initialize the object.
|
||||||
*
|
*
|
||||||
* @param vp_ptr Pointer to the VPStandardStateTP standard state
|
* @param vp_ptr Pointer to the VPStandardStateTP standard state
|
||||||
* @param sp_ptr Poitner to the SpeciesThermo standard state
|
* @param sp_ptr Pointer to the SpeciesThermo standard state
|
||||||
*/
|
*/
|
||||||
VPSSMgr_Water_ConstVol(VPStandardStateTP* vp_ptr, SpeciesThermo* sp_ptr);
|
VPSSMgr_Water_ConstVol(VPStandardStateTP* vp_ptr, SpeciesThermo* sp_ptr);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -211,7 +211,7 @@ public:
|
||||||
* - _updateRefStateThermo()
|
* - _updateRefStateThermo()
|
||||||
* - _updateStandardStateThermo()
|
* - _updateStandardStateThermo()
|
||||||
*
|
*
|
||||||
* An important point to note is that inbetween calls the assumption
|
* An important point to note is that between calls the assumption
|
||||||
* that the underlying PDSS objects will retain their set Temperatures
|
* that the underlying PDSS objects will retain their set Temperatures
|
||||||
* and Pressure CAN NOT BE MADE. For efficiency reasons, we may twiddle
|
* and Pressure CAN NOT BE MADE. For efficiency reasons, we may twiddle
|
||||||
* these to get derivatives.
|
* these to get derivatives.
|
||||||
|
|
|
||||||
|
|
@ -322,7 +322,7 @@ protected:
|
||||||
public:
|
public:
|
||||||
//! Set the temperature and pressure at the same time
|
//! Set the temperature and pressure at the same time
|
||||||
/*!
|
/*!
|
||||||
* Note this function triggers a reevalulation of the standard
|
* Note this function triggers a reevaluation of the standard
|
||||||
* state quantities.
|
* state quantities.
|
||||||
*
|
*
|
||||||
* @param T temperature (kelvin)
|
* @param T temperature (kelvin)
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ namespace Cantera
|
||||||
//! Class for calculating the equation of state of water.
|
//! Class for calculating the equation of state of water.
|
||||||
/*!
|
/*!
|
||||||
*
|
*
|
||||||
* The reference is W. Wagner, A. Prub, "The IAPWS Formulation 1995 for the Themodynamic
|
* The reference is W. Wagner, A. Prub, "The IAPWS Formulation 1995 for the Thermodynamic
|
||||||
* Properties of Ordinary Water Substance for General and Scientific Use,"
|
* Properties of Ordinary Water Substance for General and Scientific Use,"
|
||||||
* J. Phys. Chem. Ref. Dat, 31, 387, 2002.
|
* J. Phys. Chem. Ref. Dat, 31, 387, 2002.
|
||||||
*
|
*
|
||||||
|
|
@ -357,7 +357,7 @@ public:
|
||||||
* Note this function will return the saturation pressure, given the temperature.
|
* Note this function will return the saturation pressure, given the temperature.
|
||||||
* It will then set the state of the system to the saturation condition. The input
|
* It will then set the state of the system to the saturation condition. The input
|
||||||
* parameter waterState is used to either specify the liquid state or the
|
* parameter waterState is used to either specify the liquid state or the
|
||||||
* gas state at the desired temperatue and saturated pressure.
|
* gas state at the desired temperature and saturated pressure.
|
||||||
*
|
*
|
||||||
* If the input temperature, T, is above T_c, this routine will set the internal
|
* If the input temperature, T, is above T_c, this routine will set the internal
|
||||||
* state to T and the pressure to P_c. Then, return P_c.
|
* state to T and the pressure to P_c. Then, return P_c.
|
||||||
|
|
@ -387,7 +387,7 @@ public:
|
||||||
//! Returns the Phase State flag for the current state of the object
|
//! Returns the Phase State flag for the current state of the object
|
||||||
/*!
|
/*!
|
||||||
* @param checkState If true, this function does a complete check to see where
|
* @param checkState If true, this function does a complete check to see where
|
||||||
* in paramters space we are
|
* in parameters space we are
|
||||||
*
|
*
|
||||||
* There are three values:
|
* There are three values:
|
||||||
* WATER_GAS below the critical temperature but below the critical density
|
* WATER_GAS below the critical temperature but below the critical density
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
* Header for Lowest level of the classes which support a real water model
|
* Header for Lowest level of the classes which support a real water model
|
||||||
* (see class \link Cantera::WaterPropsIAPWS WaterPropsIAPWS\endlink and class \link WaterPropsIAPWSphi WaterPropsIAPWSphi\endlink).
|
* (see class \link Cantera::WaterPropsIAPWS WaterPropsIAPWS\endlink and class \link WaterPropsIAPWSphi WaterPropsIAPWSphi\endlink).
|
||||||
*
|
*
|
||||||
* This class calculates dimensionless quantitites.
|
* This class calculates dimensionless quantities.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (2006) Sandia Corporation. Under the terms of
|
* Copyright (2006) Sandia Corporation. Under the terms of
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
* the WaterPropsIAPSWSphi class support low level calls for
|
* the WaterPropsIAPSWSphi class support low level calls for
|
||||||
* the real description of water.
|
* the real description of water.
|
||||||
*
|
*
|
||||||
* The reference is W. Wagner, A. Prub, "The IAPWS Formulation 1995 for the Themodynamic
|
* The reference is W. Wagner, A. Prub, "The IAPWS Formulation 1995 for the Thermodynamic
|
||||||
* Properties of Ordinary Water Substance for General and Scientific Use,"
|
* Properties of Ordinary Water Substance for General and Scientific Use,"
|
||||||
* J. Phys. Chem. Ref. Dat, 31, 387, 2002.
|
* J. Phys. Chem. Ref. Dat, 31, 387, 2002.
|
||||||
*
|
*
|
||||||
|
|
@ -35,7 +35,7 @@ public:
|
||||||
|
|
||||||
//! Calculate the Phi function, which is the base function
|
//! Calculate the Phi function, which is the base function
|
||||||
/*!
|
/*!
|
||||||
* The phi functino is basically the helmholtz free energy
|
* The phi function is basically the helmholtz free energy
|
||||||
* Eqn. (6.4)
|
* Eqn. (6.4)
|
||||||
* All internal polynomials are recalculated.
|
* All internal polynomials are recalculated.
|
||||||
*
|
*
|
||||||
|
|
@ -86,7 +86,7 @@ public:
|
||||||
* @param tau Dimensionless temperature = T_c/T
|
* @param tau Dimensionless temperature = T_c/T
|
||||||
* @param delta Dimensionless density = delta = rho / Rho_c
|
* @param delta Dimensionless density = delta = rho / Rho_c
|
||||||
*
|
*
|
||||||
* note: this is done so much, we have a seperate routine.
|
* note: this is done so much, we have a separate routine.
|
||||||
*/
|
*/
|
||||||
doublereal pressureM_rhoRT(doublereal tau, doublereal delta);
|
doublereal pressureM_rhoRT(doublereal tau, doublereal delta);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ class WaterProps;
|
||||||
//! Class for single-component water. This is designed to cover just the
|
//! Class for single-component water. This is designed to cover just the
|
||||||
//! liquid part of water.
|
//! liquid part of water.
|
||||||
/*!
|
/*!
|
||||||
* The reference is W. Wagner, A. Prub, "The IAPWS Formulation 1995 for the Themodynamic
|
* The reference is W. Wagner, A. Prub, "The IAPWS Formulation 1995 for the Thermodynamic
|
||||||
* Properties of Ordinary Water Substance for General and Scientific Use,"
|
* Properties of Ordinary Water Substance for General and Scientific Use,"
|
||||||
* J. Phys. Chem. Ref. Dat, 31, 387, 2002.
|
* J. Phys. Chem. Ref. Dat, 31, 387, 2002.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -131,7 +131,7 @@ public:
|
||||||
double s() { // entropy, J/kg/K
|
double s() { // entropy, J/kg/K
|
||||||
return prop(EvalS);
|
return prop(EvalS);
|
||||||
}
|
}
|
||||||
double f() { // Helmholz function, J/kg
|
double f() { // Helmholtz function, J/kg
|
||||||
return u() - T*s();
|
return u() - T*s();
|
||||||
}
|
}
|
||||||
double g() { // Gibbs function, J/kg
|
double g() { // Gibbs function, J/kg
|
||||||
|
|
|
||||||
|
|
@ -198,7 +198,7 @@ public:
|
||||||
void setPermeability(doublereal B);
|
void setPermeability(doublereal B);
|
||||||
|
|
||||||
//! Return a reference to the transport manager used to compute the gas
|
//! Return a reference to the transport manager used to compute the gas
|
||||||
//! binary diffusion coefficients and the visdcosity.
|
//! binary diffusion coefficients and the viscosity.
|
||||||
/*!
|
/*!
|
||||||
* @return Returns a reference to the gas transport object
|
* @return Returns a reference to the gas transport object
|
||||||
*/
|
*/
|
||||||
|
|
@ -217,10 +217,10 @@ protected:
|
||||||
* The DustyGas model is a subordinate model to the gas phase transport model. Here we
|
* The DustyGas model is a subordinate model to the gas phase transport model. Here we
|
||||||
* set the gas phase models.
|
* set the gas phase models.
|
||||||
*
|
*
|
||||||
* This is a protected routine, so that initialiation of the Model must occur within Cantera's setup
|
* This is a protected routine, so that initialization of the Model must occur within Cantera's setup
|
||||||
*
|
*
|
||||||
* @param phase Pointer to the underlying ThermoPhase model for the gas phase
|
* @param phase Pointer to the underlying ThermoPhase model for the gas phase
|
||||||
* @param gastr Pointer to the underlying Transport model for transport in the gas phse.
|
* @param gastr Pointer to the underlying Transport model for transport in the gas phase.
|
||||||
*/
|
*/
|
||||||
void initialize(ThermoPhase* phase, Transport* gastr);
|
void initialize(ThermoPhase* phase, Transport* gastr);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -301,7 +301,7 @@ public:
|
||||||
* \verbatim <transport> \endverbatim node and specifies a type of transport property (like viscosity)
|
* \verbatim <transport> \endverbatim node and specifies a type of transport property (like viscosity)
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* @param propNode Referenc to the XML node that contains the property information.This class
|
* @param propNode Reference to the XML node that contains the property information.This class
|
||||||
* is assumed to be parameterized by reading XML_Node information.
|
* is assumed to be parameterized by reading XML_Node information.
|
||||||
* @param name String containing the species name
|
* @param name String containing the species name
|
||||||
* @param tp_ind enum TransportPropertyType containing the property id that this object
|
* @param tp_ind enum TransportPropertyType containing the property id that this object
|
||||||
|
|
@ -408,7 +408,7 @@ public:
|
||||||
* \verbatim <transport> \endverbatim node and specifies a type of transport property (like viscosity).
|
* \verbatim <transport> \endverbatim node and specifies a type of transport property (like viscosity).
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* @param propNode Referenc to the XML node that contains the property information. This class
|
* @param propNode Reference to the XML node that contains the property information. This class
|
||||||
* must be parameterized by reading XML_Node information.
|
* must be parameterized by reading XML_Node information.
|
||||||
* @param name String containing the species name
|
* @param name String containing the species name
|
||||||
* @param tp_ind enum TransportPropertyType containing the property id that this object
|
* @param tp_ind enum TransportPropertyType containing the property id that this object
|
||||||
|
|
@ -496,7 +496,7 @@ public:
|
||||||
* \verbatim <transport> \endverbatim node and specifies a type of transport property (like viscosity).
|
* \verbatim <transport> \endverbatim node and specifies a type of transport property (like viscosity).
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* @param propNode Referenc to the XML node that contains the property information. This class
|
* @param propNode Reference to the XML node that contains the property information. This class
|
||||||
* must be parameterized by reading XML_Node information.
|
* must be parameterized by reading XML_Node information.
|
||||||
* @param name String containing the species name
|
* @param name String containing the species name
|
||||||
* @param tp_ind enum TransportPropertyType containing the property id that this object
|
* @param tp_ind enum TransportPropertyType containing the property id that this object
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ class LiquidTransportParams;
|
||||||
//! properties for liquid phases.
|
//! properties for liquid phases.
|
||||||
/*!
|
/*!
|
||||||
* Liquid Transport is set up with some flexibility in
|
* Liquid Transport is set up with some flexibility in
|
||||||
* this class. Transport properties like viscostiy
|
* this class. Transport properties like viscosity
|
||||||
* and thermal conductivity are allowed flexibility within
|
* and thermal conductivity are allowed flexibility within
|
||||||
* the constraints of the LiquidTransportProperty and
|
* the constraints of the LiquidTransportProperty and
|
||||||
* LiquidTransportInteractions classes. For species
|
* LiquidTransportInteractions classes. For species
|
||||||
|
|
|
||||||
|
|
@ -22,8 +22,8 @@ namespace Cantera
|
||||||
* Class to compute the increase in diffusive path length associated with
|
* Class to compute the increase in diffusive path length associated with
|
||||||
* tortuous path diffusion through, for example, porous media.
|
* tortuous path diffusion through, for example, porous media.
|
||||||
* This base class implementation relates tortuosity to volume fraction
|
* This base class implementation relates tortuosity to volume fraction
|
||||||
* through a power-law relationship that goes back to Bruggemann. The
|
* through a power-law relationship that goes back to Bruggeman. The
|
||||||
* exponent is referred to as the Bruggemann exponent.
|
* exponent is referred to as the Bruggeman exponent.
|
||||||
*
|
*
|
||||||
* Note that the total diffusional flux is generally written as
|
* Note that the total diffusional flux is generally written as
|
||||||
*
|
*
|
||||||
|
|
@ -43,7 +43,7 @@ class Tortuosity
|
||||||
{
|
{
|
||||||
|
|
||||||
public:
|
public:
|
||||||
//! Default constructor uses Bruggemann exponent of 1.5
|
//! Default constructor uses Bruggeman exponent of 1.5
|
||||||
Tortuosity(double setPower = 1.5) : expBrug_(setPower) {
|
Tortuosity(double setPower = 1.5) : expBrug_(setPower) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -53,14 +53,14 @@ public:
|
||||||
* This method returns \f$ 1/\tau^2 \f$ in the description of the
|
* This method returns \f$ 1/\tau^2 \f$ in the description of the
|
||||||
* flux \f$ \phi C_T D_i \nabla X_i / \tau^2 \f$.
|
* flux \f$ \phi C_T D_i \nabla X_i / \tau^2 \f$.
|
||||||
*/
|
*/
|
||||||
virtual double toruosityFactor(double porosity) {
|
virtual double tortuosityFactor(double porosity) {
|
||||||
return pow(porosity, expBrug_ - 1.0);
|
return pow(porosity, expBrug_ - 1.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
//! The McMillan number is the ratio of the flux-like
|
//! The McMillan number is the ratio of the flux-like
|
||||||
//! variable to the value it would have without porous flow.
|
//! variable to the value it would have without porous flow.
|
||||||
/**
|
/**
|
||||||
* The McMillan number combines the effect of toruosity
|
* The McMillan number combines the effect of tortuosity
|
||||||
* and volume fraction of the transported phase. The net flux
|
* and volume fraction of the transported phase. The net flux
|
||||||
* observed is then the product of the McMillan number and the
|
* observed is then the product of the McMillan number and the
|
||||||
* non-porous transport rate. For a conductivity in a non-porous
|
* non-porous transport rate. For a conductivity in a non-porous
|
||||||
|
|
@ -72,7 +72,7 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
//! Bruggemann exponent: power to which the tortuosity depends on the volume fraction
|
//! Bruggeman exponent: power to which the tortuosity depends on the volume fraction
|
||||||
double expBrug_ ;
|
double expBrug_ ;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
@ -80,14 +80,14 @@ protected:
|
||||||
|
|
||||||
|
|
||||||
/** This class implements transport coefficient corrections
|
/** This class implements transport coefficient corrections
|
||||||
* appropriate for porous media where percollation theory applies.
|
* appropriate for porous media where percolation theory applies.
|
||||||
* It is derived from the Tortuosity class.
|
* It is derived from the Tortuosity class.
|
||||||
*/
|
*/
|
||||||
class TortuosityPercolation : public Tortuosity
|
class TortuosityPercolation : public Tortuosity
|
||||||
{
|
{
|
||||||
|
|
||||||
public:
|
public:
|
||||||
//! Default constructor uses Bruggemann exponent of 1.5
|
//! Default constructor uses Bruggeman exponent of 1.5
|
||||||
TortuosityPercolation(double percolationThreshold = 0.4, double conductivityExponent = 2.0) : percolationThreshold_(percolationThreshold), conductivityExponent_(conductivityExponent) {
|
TortuosityPercolation(double percolationThreshold = 0.4, double conductivityExponent = 2.0) : percolationThreshold_(percolationThreshold), conductivityExponent_(conductivityExponent) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -97,14 +97,14 @@ public:
|
||||||
* This method returns \f$ 1/\tau^2 \f$ in the description of the
|
* This method returns \f$ 1/\tau^2 \f$ in the description of the
|
||||||
* flux \f$ \phi C_T D_i \nabla X_i / \tau^2 \f$.
|
* flux \f$ \phi C_T D_i \nabla X_i / \tau^2 \f$.
|
||||||
*/
|
*/
|
||||||
double toruosityFactor(double porosity) {
|
double tortuosityFactor(double porosity) {
|
||||||
return McMillan(porosity) / porosity;
|
return McMillan(porosity) / porosity;
|
||||||
}
|
}
|
||||||
|
|
||||||
//! The McMillan number is the ratio of the flux-like
|
//! The McMillan number is the ratio of the flux-like
|
||||||
//! variable to the value it would have without porous flow.
|
//! variable to the value it would have without porous flow.
|
||||||
/**
|
/**
|
||||||
* The McMillan number combines the effect of toruosity
|
* The McMillan number combines the effect of tortuosity
|
||||||
* and volume fraction of the transported phase. The net flux
|
* and volume fraction of the transported phase. The net flux
|
||||||
* observed is then the product of the McMillan number and the
|
* observed is then the product of the McMillan number and the
|
||||||
* non-porous transport rate. For a conductivity in a non-porous
|
* non-porous transport rate. For a conductivity in a non-porous
|
||||||
|
|
@ -152,7 +152,7 @@ class TortuosityMaxwell : public Tortuosity
|
||||||
{
|
{
|
||||||
|
|
||||||
public:
|
public:
|
||||||
//! Default constructor uses Bruggemann exponent of 1.5
|
//! Default constructor uses Bruggeman exponent of 1.5
|
||||||
TortuosityMaxwell(double relativeConductivites = 0.0) : relativeConductivites_(relativeConductivites) {
|
TortuosityMaxwell(double relativeConductivites = 0.0) : relativeConductivites_(relativeConductivites) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -162,14 +162,14 @@ public:
|
||||||
* This method returns \f$ 1/\tau^2 \f$ in the description of the
|
* This method returns \f$ 1/\tau^2 \f$ in the description of the
|
||||||
* flux \f$ \phi C_T D_i \nabla X_i / \tau^2 \f$.
|
* flux \f$ \phi C_T D_i \nabla X_i / \tau^2 \f$.
|
||||||
*/
|
*/
|
||||||
double toruosityFactor(double porosity) {
|
double tortuosityFactor(double porosity) {
|
||||||
return McMillan(porosity) / porosity;
|
return McMillan(porosity) / porosity;
|
||||||
}
|
}
|
||||||
|
|
||||||
//! The McMillan number is the ratio of the flux-like
|
//! The McMillan number is the ratio of the flux-like
|
||||||
//! variable to the value it would have without porous flow.
|
//! variable to the value it would have without porous flow.
|
||||||
/**
|
/**
|
||||||
* The McMillan number combines the effect of toruosity
|
* The McMillan number combines the effect of tortuosity
|
||||||
* and volume fraction of the transported phase. The net flux
|
* and volume fraction of the transported phase. The net flux
|
||||||
* observed is then the product of the McMillan number and the
|
* observed is then the product of the McMillan number and the
|
||||||
* non-porous transport rate. For a conductivity in a non-porous
|
* non-porous transport rate. For a conductivity in a non-porous
|
||||||
|
|
|
||||||
|
|
@ -329,7 +329,7 @@ protected:
|
||||||
//! Constructor
|
//! Constructor
|
||||||
ThreadMessages() {}
|
ThreadMessages() {}
|
||||||
|
|
||||||
//! Provide a pointer deferencing overloaded operator
|
//! Provide a pointer dereferencing overloaded operator
|
||||||
/*!
|
/*!
|
||||||
* @return returns a pointer to Messages
|
* @return returns a pointer to Messages
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -173,7 +173,7 @@ private:
|
||||||
std::map<std::string, doublereal> m_act_u;
|
std::map<std::string, doublereal> m_act_u;
|
||||||
|
|
||||||
#if defined(THREAD_SAFE_CANTERA)
|
#if defined(THREAD_SAFE_CANTERA)
|
||||||
//! Decl for static locker for Units singelton
|
//! Decl for static locker for Units singleton
|
||||||
static boost::mutex units_mutex;
|
static boost::mutex units_mutex;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -299,7 +299,7 @@ int XML_Reader::findQuotedString(const std::string& s, std::string& rstring) con
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* parseTag parses XML tags, i.e., the XML elements that are
|
* parseTag parses XML tags, i.e., the XML elements that are
|
||||||
* inbetween angle brackets.
|
* in between angle brackets.
|
||||||
*/
|
*/
|
||||||
void XML_Reader::parseTag(std::string tag, std::string& name,
|
void XML_Reader::parseTag(std::string tag, std::string& name,
|
||||||
std::map<std::string, std::string>& attribs) const
|
std::map<std::string, std::string>& attribs) const
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/**
|
/**
|
||||||
* @file thermoFunctions.cpp
|
* @file thermoFunctions.cpp
|
||||||
* File containing thermo evalulation functions for NASA polynomials,
|
* File containing thermo evaluation functions for NASA polynomials,
|
||||||
* which are used in testing the interpolations.
|
* which are used in testing the interpolations.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -684,7 +684,7 @@ int ChemEquil::equilibrate(thermo_t& s, const char* XYstr,
|
||||||
plow = pval;
|
plow = pval;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Determine the new T estimate by linearly intepolation
|
// Determine the new T estimate by linearly interpolating
|
||||||
// between the upper and lower bounds
|
// between the upper and lower bounds
|
||||||
slope = (phigh - plow)/(tmax - tmin);
|
slope = (phigh - plow)/(tmax - tmin);
|
||||||
dt = (xval - pval)/slope;
|
dt = (xval - pval)/slope;
|
||||||
|
|
@ -773,7 +773,7 @@ int ChemEquil::equilibrate(thermo_t& s, const char* XYstr,
|
||||||
int info = estimateEP_Brinkley(s, x, elMolesGoal);
|
int info = estimateEP_Brinkley(s, x, elMolesGoal);
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
if (info == 1) {
|
if (info == 1) {
|
||||||
addLogEntry("estimateEP_Brinkley didn't converge in given max interations");
|
addLogEntry("estimateEP_Brinkley didn't converge in given max iterations");
|
||||||
} else if (info == -3) {
|
} else if (info == -3) {
|
||||||
addLogEntry("estimateEP_Brinkley had a singular Jacobian. Continuing anyway");
|
addLogEntry("estimateEP_Brinkley had a singular Jacobian. Continuing anyway");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -283,7 +283,7 @@ void MultiPhaseEquil::finish()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// Extimate the initial mole numbers. This is done by running
|
/// Estimate the initial mole numbers. This is done by running
|
||||||
/// each reaction as far forward or backward as possible, subject
|
/// each reaction as far forward or backward as possible, subject
|
||||||
/// to the constraint that all mole numbers remain
|
/// to the constraint that all mole numbers remain
|
||||||
/// non-negative. Reactions for which \f$ \Delta \mu^0 \f$ are
|
/// non-negative. Reactions for which \f$ \Delta \mu^0 \f$ are
|
||||||
|
|
|
||||||
|
|
@ -922,7 +922,7 @@ static void print_char(const char letter, const int num)
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* HKM -> Work on transfering the current value of the voltages into the
|
* HKM -> Work on transferring the current value of the voltages into the
|
||||||
* equilibrium problem.
|
* equilibrium problem.
|
||||||
*/
|
*/
|
||||||
int vcs_Cantera_to_vprob(Cantera::MultiPhase* mphase,
|
int vcs_Cantera_to_vprob(Cantera::MultiPhase* mphase,
|
||||||
|
|
@ -956,7 +956,7 @@ int vcs_Cantera_to_vprob(Cantera::MultiPhase* mphase,
|
||||||
int printLvl = vprob->m_printLvl;
|
int printLvl = vprob->m_printLvl;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Loop over the phases, transfering pertinent information
|
* Loop over the phases, transferring pertinent information
|
||||||
*/
|
*/
|
||||||
int kT = 0;
|
int kT = 0;
|
||||||
for (size_t iphase = 0; iphase < totNumPhases; iphase++) {
|
for (size_t iphase = 0; iphase < totNumPhases; iphase++) {
|
||||||
|
|
|
||||||
|
|
@ -953,7 +953,7 @@ double vcs_VolPhase::VolStar_calc_one(size_t kspec) const
|
||||||
// Calculate the partial molar volumes of all species and return the
|
// Calculate the partial molar volumes of all species and return the
|
||||||
// total volume
|
// total volume
|
||||||
/*
|
/*
|
||||||
* Calculates these quantitites internally and then stores them
|
* Calculates these quantities internally and then stores them
|
||||||
*
|
*
|
||||||
* @return total volume (m**3)
|
* @return total volume (m**3)
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -309,7 +309,7 @@ QUAD_BAIL:
|
||||||
if ((xnew > x1 && xnew < x2) || (xnew < x1 && xnew > x2)) {
|
if ((xnew > x1 && xnew < x2) || (xnew < x1 && xnew > x2)) {
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
* If we are doing a jump inbetween two points, make sure
|
* If we are doing a jump in between two points, make sure
|
||||||
* the new trial is between 10% and 90% of the distance
|
* the new trial is between 10% and 90% of the distance
|
||||||
* between the old points.
|
* between the old points.
|
||||||
*/
|
*/
|
||||||
|
|
@ -333,7 +333,7 @@ QUAD_BAIL:
|
||||||
} else {
|
} else {
|
||||||
/*
|
/*
|
||||||
* If we are venturing into new ground, only allow the step jump
|
* If we are venturing into new ground, only allow the step jump
|
||||||
* to increase by 100% at each interation
|
* to increase by 100% at each iteration
|
||||||
*/
|
*/
|
||||||
slope = 2.0 * fabs(x2 - x1);
|
slope = 2.0 * fabs(x2 - x1);
|
||||||
if (fabs(slope) < fabs(xnew - x2)) {
|
if (fabs(slope) < fabs(xnew - x2)) {
|
||||||
|
|
|
||||||
|
|
@ -594,7 +594,7 @@ class WF93 : public Falloff
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
//! Default constructpr
|
//! Default constructor
|
||||||
WF93() {}
|
WF93() {}
|
||||||
|
|
||||||
//! Destructor
|
//! Destructor
|
||||||
|
|
|
||||||
|
|
@ -273,7 +273,7 @@ void ImplicitSurfChem::solvePseudoSteadyStateProblem(int ifuncOverride,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Install a filter for negative concentrations. One of the
|
* Install a filter for negative concentrations. One of the
|
||||||
* few ways solvess can fail is if concentrations on input
|
* few ways solveSS can fail is if concentrations on input
|
||||||
* are below zero.
|
* are below zero.
|
||||||
*/
|
*/
|
||||||
bool rset = false;
|
bool rset = false;
|
||||||
|
|
|
||||||
|
|
@ -125,7 +125,7 @@ public:
|
||||||
* 4 SFLUX_TRANSIENT
|
* 4 SFLUX_TRANSIENT
|
||||||
* The default is -1, which means that the program
|
* The default is -1, which means that the program
|
||||||
* will decide.
|
* will decide.
|
||||||
* @param timeScaleOverride When a psuedo transient is
|
* @param timeScaleOverride When a pseudo transient is
|
||||||
* selected this value can be used to override
|
* selected this value can be used to override
|
||||||
* the default time scale for integration which
|
* the default time scale for integration which
|
||||||
* is one.
|
* is one.
|
||||||
|
|
|
||||||
|
|
@ -582,8 +582,8 @@ void InterfaceKinetics::applyButlerVolmerCorrection(doublereal* const kf)
|
||||||
// we print out a warning message about this.
|
// we print out a warning message about this.
|
||||||
/*
|
/*
|
||||||
* NOTE, there is some discussion about this point.
|
* NOTE, there is some discussion about this point.
|
||||||
* Should we decrease the activiation energy below zero?
|
* Should we decrease the activation energy below zero?
|
||||||
* I don't think this has been decided in any definative way.
|
* I don't think this has been decided in any definitive way.
|
||||||
* The treatment below is numerically more stable, however.
|
* The treatment below is numerically more stable, however.
|
||||||
*/
|
*/
|
||||||
doublereal eamod;
|
doublereal eamod;
|
||||||
|
|
@ -635,7 +635,7 @@ void InterfaceKinetics::applyExchangeCurrentDensityFormulation(doublereal* const
|
||||||
}
|
}
|
||||||
//====================================================================================================================
|
//====================================================================================================================
|
||||||
/**
|
/**
|
||||||
* Update the rates of progress of the reactions in the reaciton
|
* Update the rates of progress of the reactions in the reaction
|
||||||
* mechanism. This routine operates on internal data.
|
* mechanism. This routine operates on internal data.
|
||||||
*/
|
*/
|
||||||
void InterfaceKinetics::getFwdRateConstants(doublereal* kfwd)
|
void InterfaceKinetics::getFwdRateConstants(doublereal* kfwd)
|
||||||
|
|
@ -655,7 +655,7 @@ void InterfaceKinetics::getFwdRateConstants(doublereal* kfwd)
|
||||||
//====================================================================================================================
|
//====================================================================================================================
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update the rates of progress of the reactions in the reaciton
|
* Update the rates of progress of the reactions in the reaction
|
||||||
* mechanism. This routine operates on internal data.
|
* mechanism. This routine operates on internal data.
|
||||||
*/
|
*/
|
||||||
void InterfaceKinetics::getRevRateConstants(doublereal* krev, bool doIrreversible)
|
void InterfaceKinetics::getRevRateConstants(doublereal* krev, bool doIrreversible)
|
||||||
|
|
@ -1396,7 +1396,7 @@ advanceCoverages(doublereal tstep)
|
||||||
* Note, a direct solve is carried out under the hood here,
|
* Note, a direct solve is carried out under the hood here,
|
||||||
* to reduce the computational time.
|
* to reduce the computational time.
|
||||||
*
|
*
|
||||||
* the integrator object is saved inbetween calls to
|
* the integrator object is saved between calls to
|
||||||
* reduce the computational cost of repeated calls.
|
* reduce the computational cost of repeated calls.
|
||||||
*/
|
*/
|
||||||
void InterfaceKinetics::
|
void InterfaceKinetics::
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ static doublereal calcWeightedNorm(const doublereal [], const doublereal dx[], s
|
||||||
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* solveSP Class Definitinos
|
* solveSP Class Definitions
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
// Main constructor
|
// Main constructor
|
||||||
|
|
@ -851,7 +851,7 @@ calc_t(doublereal netProdRateSolnSP[], doublereal XMolSolnSP[],
|
||||||
// Get the interface kinetics associated with this surface
|
// Get the interface kinetics associated with this surface
|
||||||
InterfaceKinetics* m_kin = m_objects[isp];
|
InterfaceKinetics* m_kin = m_objects[isp];
|
||||||
|
|
||||||
// Calcuate the start of the species index for surfaces within
|
// Calculate the start of the species index for surfaces within
|
||||||
// the InterfaceKinetics object
|
// the InterfaceKinetics object
|
||||||
size_t surfIndex = m_kin->surfacePhaseIndex();
|
size_t surfIndex = m_kin->surfacePhaseIndex();
|
||||||
kstart = m_kin->kineticsSpeciesIndex(0, surfIndex);
|
kstart = m_kin->kineticsSpeciesIndex(0, surfIndex);
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@
|
||||||
* initial guess, and accuracy is needed.
|
* initial guess, and accuracy is needed.
|
||||||
* 4: SFLUX_TRANSIENT = The transient calculation is performed here for an
|
* 4: SFLUX_TRANSIENT = The transient calculation is performed here for an
|
||||||
* amount of time specified by "time_scale". It is
|
* amount of time specified by "time_scale". It is
|
||||||
* not garraunted to be time-accurate - just stable
|
* not guaranteed to be time-accurate - just stable
|
||||||
* and fairly fast. The solution after del_t time is
|
* and fairly fast. The solution after del_t time is
|
||||||
* returned, whether it's converged to a steady
|
* returned, whether it's converged to a steady
|
||||||
* state or not.
|
* state or not.
|
||||||
|
|
@ -164,13 +164,13 @@ class InterfaceKinetics;
|
||||||
*
|
*
|
||||||
* 4: SFLUX_TRANSIENT = The transient calculation is performed here for an
|
* 4: SFLUX_TRANSIENT = The transient calculation is performed here for an
|
||||||
* amount of time specified by "time_scale". It is
|
* amount of time specified by "time_scale". It is
|
||||||
* not garraunted to be time-accurate - just stable
|
* not guaranteed to be time-accurate - just stable
|
||||||
* and fairly fast. The solution after del_t time is
|
* and fairly fast. The solution after del_t time is
|
||||||
* returned, whether it's converged to a steady
|
* returned, whether it's converged to a steady
|
||||||
* state or not. This is a poor man's time stepping
|
* state or not. This is a poor man's time stepping
|
||||||
* algorithm.
|
* algorithm.
|
||||||
*
|
*
|
||||||
* Psuedo 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 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%.
|
||||||
*
|
*
|
||||||
|
|
@ -364,7 +364,7 @@ private:
|
||||||
*/
|
*/
|
||||||
void evalSurfLarge(const doublereal* CSolnSP);
|
void evalSurfLarge(const doublereal* CSolnSP);
|
||||||
|
|
||||||
//! Main Function evalulation
|
//! Main Function evaluation
|
||||||
/*!
|
/*!
|
||||||
*
|
*
|
||||||
* @param resid output Vector of residuals, length = m_neq
|
* @param resid output Vector of residuals, length = m_neq
|
||||||
|
|
@ -541,7 +541,7 @@ private:
|
||||||
*/
|
*/
|
||||||
std::vector<size_t> m_kinObjIndex;
|
std::vector<size_t> m_kinObjIndex;
|
||||||
|
|
||||||
//! Vector containing the indecies of the largest species
|
//! Vector containing the indices of the largest species
|
||||||
//! in each surface phase
|
//! in each surface phase
|
||||||
/*!
|
/*!
|
||||||
* k = m_spSurfLarge[i]
|
* k = m_spSurfLarge[i]
|
||||||
|
|
|
||||||
|
|
@ -185,7 +185,7 @@ doublereal RootFind::delXMeaningful(doublereal x1) const
|
||||||
return del;
|
return del;
|
||||||
}
|
}
|
||||||
//================================================================================================
|
//================================================================================================
|
||||||
// Calcuated a controlled, nonzero delta between two numbers
|
// Calculate a controlled, nonzero delta between two numbers
|
||||||
/*
|
/*
|
||||||
* The delta is designed to be greater than or equal to delXNonzero(x) defined above
|
* The delta is designed to be greater than or equal to delXNonzero(x) defined above
|
||||||
* with the same sign as the original delta. Therefore if you subtract it from either
|
* with the same sign as the original delta. Therefore if you subtract it from either
|
||||||
|
|
@ -622,7 +622,7 @@ int RootFind::solve(doublereal xmin, doublereal xmax, int itmax, doublereal& fun
|
||||||
} else {
|
} else {
|
||||||
/*
|
/*
|
||||||
* If we are venturing into new ground, only allow the step jump
|
* If we are venturing into new ground, only allow the step jump
|
||||||
* to increase by 50% at each interation, unless the step jump is less than
|
* to increase by 50% at each iteration, unless the step jump is less than
|
||||||
* the user has said that it is ok to take
|
* the user has said that it is ok to take
|
||||||
*/
|
*/
|
||||||
doublereal xDelMax = 1.5 * fabs(x2 - x1);
|
doublereal xDelMax = 1.5 * fabs(x2 - x1);
|
||||||
|
|
|
||||||
|
|
@ -147,7 +147,7 @@ void SquareMatrix::resize(size_t n, size_t m, doublereal v)
|
||||||
//====================================================================================================================
|
//====================================================================================================================
|
||||||
// Multiply A*b and write result to prod.
|
// Multiply A*b and write result to prod.
|
||||||
/*
|
/*
|
||||||
* @param b Vector to do the rh multiplcation
|
* @param b Vector to do the rh multiplication
|
||||||
* @param prod OUTPUT vector to receive the result
|
* @param prod OUTPUT vector to receive the result
|
||||||
*/
|
*/
|
||||||
void SquareMatrix::mult(const doublereal* b, doublereal* prod) const
|
void SquareMatrix::mult(const doublereal* b, doublereal* prod) const
|
||||||
|
|
@ -157,7 +157,7 @@ void SquareMatrix::mult(const doublereal* b, doublereal* prod) const
|
||||||
//====================================================================================================================
|
//====================================================================================================================
|
||||||
// Multiply b*A and write result to prod.
|
// Multiply b*A and write result to prod.
|
||||||
/*
|
/*
|
||||||
* @param b Vector to do the lh multiplcation
|
* @param b Vector to do the lh multiplication
|
||||||
* @param prod OUTPUT vector to receive the result
|
* @param prod OUTPUT vector to receive the result
|
||||||
*/
|
*/
|
||||||
void SquareMatrix::leftMult(const doublereal* const b, doublereal* const prod) const
|
void SquareMatrix::leftMult(const doublereal* const b, doublereal* const prod) const
|
||||||
|
|
|
||||||
|
|
@ -30,9 +30,6 @@ namespace Cantera
|
||||||
|
|
||||||
static doublereal calcWeightedNorm(const doublereal [], const doublereal dx[], size_t);
|
static doublereal calcWeightedNorm(const doublereal [], const doublereal dx[], size_t);
|
||||||
|
|
||||||
/***************************************************************************
|
|
||||||
* solveSP Class Definitinos
|
|
||||||
***************************************************************************/
|
|
||||||
//================================================================================================
|
//================================================================================================
|
||||||
// Main constructor
|
// Main constructor
|
||||||
solveProb::solveProb(ResidEval* resid) :
|
solveProb::solveProb(ResidEval* resid) :
|
||||||
|
|
@ -467,7 +464,7 @@ void solveProb::resjac_eval(std::vector<doublereal*> &JacCol,
|
||||||
//================================================================================================
|
//================================================================================================
|
||||||
#define APPROACH 0.50
|
#define APPROACH 0.50
|
||||||
// This function calculates a damping factor for the Newton iteration update
|
// This function calculates a damping factor for the Newton iteration update
|
||||||
// vector, dxneg, to insure that all solution components stay within perscribed bounds
|
// vector, dxneg, to insure that all solution components stay within prescribed bounds
|
||||||
/*
|
/*
|
||||||
* The default for this class is that all solution components are bounded between zero and one.
|
* The default for this class is that all solution components are bounded between zero and one.
|
||||||
* this is because the original unknowns were mole fractions and surface site fractions.
|
* this is because the original unknowns were mole fractions and surface site fractions.
|
||||||
|
|
|
||||||
|
|
@ -1408,7 +1408,7 @@ void HMWSoln::setParametersFromXML(const XML_Node& eosdata)
|
||||||
/*
|
/*
|
||||||
* Get the saturation pressure for a given temperature.
|
* Get the saturation pressure for a given temperature.
|
||||||
* Note the limitations of this function. Stability considerations
|
* Note the limitations of this function. Stability considerations
|
||||||
* concernting multiphase equilibrium are ignored in this
|
* concerning multiphase equilibrium are ignored in this
|
||||||
* calculation. Therefore, the call is made directly to the SS of
|
* calculation. Therefore, the call is made directly to the SS of
|
||||||
* water underneath. The object is put back into its original
|
* water underneath. The object is put back into its original
|
||||||
* state at the end of the call.
|
* state at the end of the call.
|
||||||
|
|
@ -1839,7 +1839,7 @@ void HMWSoln::initLengths()
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Calcuate the natural log of the molality-based
|
* Calculate the natural log of the molality-based
|
||||||
* activity coefficients.
|
* activity coefficients.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -237,7 +237,7 @@ doublereal MetalSHEelectrons::thermalExpansionCoeff() const
|
||||||
//====================================================================================================================
|
//====================================================================================================================
|
||||||
/*
|
/*
|
||||||
* This method returns the array of generalized
|
* This method returns the array of generalized
|
||||||
* concentrations. For a stoichiomeetric substance, there is
|
* concentrations. For a stoichiometric substance, there is
|
||||||
* only one species, and the generalized concentration is 1.0.
|
* only one species, and the generalized concentration is 1.0.
|
||||||
*/
|
*/
|
||||||
void MetalSHEelectrons::
|
void MetalSHEelectrons::
|
||||||
|
|
|
||||||
|
|
@ -229,7 +229,7 @@ doublereal MineralEQ3::thermalExpansionCoeff() const
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This method returns the array of generalized
|
* This method returns the array of generalized
|
||||||
* concentrations. For a stoichiomeetric substance, there is
|
* concentrations. For a stoichiometric substance, there is
|
||||||
* only one species, and the generalized concentration is 1.0.
|
* only one species, and the generalized concentration is 1.0.
|
||||||
*/
|
*/
|
||||||
void MineralEQ3::
|
void MineralEQ3::
|
||||||
|
|
|
||||||
|
|
@ -1034,7 +1034,7 @@ int MixtureFugacityTP::corr0(doublereal TKelvin, doublereal pres, doublereal& de
|
||||||
// Returns the Phase State flag for the current state of the object
|
// Returns the Phase State flag for the current state of the object
|
||||||
/*
|
/*
|
||||||
* @param checkState If true, this function does a complete check to see where
|
* @param checkState If true, this function does a complete check to see where
|
||||||
* in paramters space we are
|
* in parameter space we are
|
||||||
*
|
*
|
||||||
* There are three values:
|
* There are three values:
|
||||||
* WATER_GAS below the critical temperature but below the critical density
|
* WATER_GAS below the critical temperature but below the critical density
|
||||||
|
|
|
||||||
|
|
@ -88,7 +88,7 @@ public:
|
||||||
|
|
||||||
//! Copy Constructor
|
//! Copy Constructor
|
||||||
/*!
|
/*!
|
||||||
* @param b objecto to be copied.
|
* @param b object to be copied.
|
||||||
*/
|
*/
|
||||||
NasaPoly2(const NasaPoly2& b) :
|
NasaPoly2(const NasaPoly2& b) :
|
||||||
m_lowT(b.m_lowT),
|
m_lowT(b.m_lowT),
|
||||||
|
|
@ -103,7 +103,7 @@ public:
|
||||||
|
|
||||||
//! Assignment operator
|
//! Assignment operator
|
||||||
/*!
|
/*!
|
||||||
* @param b objecto to be copied.
|
* @param b object to be copied.
|
||||||
*/
|
*/
|
||||||
NasaPoly2& operator=(const NasaPoly2& b) {
|
NasaPoly2& operator=(const NasaPoly2& b) {
|
||||||
if (&b != this) {
|
if (&b != this) {
|
||||||
|
|
|
||||||
|
|
@ -215,7 +215,7 @@ doublereal StoichSubstanceSSTP::thermalExpansionCoeff() const
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This method returns the array of generalized
|
* This method returns the array of generalized
|
||||||
* concentrations. For a stoichiomeetric substance, there is
|
* concentrations. For a stoichiometric substance, there is
|
||||||
* only one species, and the generalized concentration is 1.0.
|
* only one species, and the generalized concentration is 1.0.
|
||||||
*/
|
*/
|
||||||
void StoichSubstanceSSTP::
|
void StoichSubstanceSSTP::
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/**
|
/**
|
||||||
* @file SurfPhase.cpp
|
* @file SurfPhase.cpp
|
||||||
* Definitions for a simple thermoydnamics model of a surface phase
|
* Definitions for a simple thermodynamic model of a surface phase
|
||||||
* derived from ThermoPhase, assuming an ideal solution model
|
* derived from ThermoPhase, assuming an ideal solution model
|
||||||
* (see \ref thermoprops and class
|
* (see \ref thermoprops and class
|
||||||
* \link Cantera::SurfPhase SurfPhase\endlink).
|
* \link Cantera::SurfPhase SurfPhase\endlink).
|
||||||
|
|
|
||||||
|
|
@ -832,7 +832,7 @@ doublereal ThermoPhase::err(std::string msg) const
|
||||||
* of the standard concentrations and generalized concentrations
|
* of the standard concentrations and generalized concentrations
|
||||||
* for the kth species.
|
* for the kth species.
|
||||||
*
|
*
|
||||||
* The base %ThermoPhase class assigns thedefault quantities
|
* The base %ThermoPhase class assigns the default quantities
|
||||||
* of (kmol/m3).
|
* of (kmol/m3).
|
||||||
* Inherited classes are responsible for overriding the default
|
* Inherited classes are responsible for overriding the default
|
||||||
* values if necessary.
|
* values if necessary.
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ VPSSMgrFactory* VPSSMgrFactory::s_factory = 0;
|
||||||
|
|
||||||
#if defined(THREAD_SAFE_CANTERA)
|
#if defined(THREAD_SAFE_CANTERA)
|
||||||
// Defn of the static mutex variable that locks the
|
// Defn of the static mutex variable that locks the
|
||||||
// %VPSSMgr factory singelton
|
// %VPSSMgr factory singleton
|
||||||
boost::mutex VPSSMgrFactory::vpss_species_thermo_mutex;
|
boost::mutex VPSSMgrFactory::vpss_species_thermo_mutex;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -158,7 +158,7 @@ private:
|
||||||
|
|
||||||
#if defined(THREAD_SAFE_CANTERA)
|
#if defined(THREAD_SAFE_CANTERA)
|
||||||
//! Decl of the static mutex variable that locks the
|
//! Decl of the static mutex variable that locks the
|
||||||
//! %VPSSMgr factory singelton
|
//! %VPSSMgr factory singleton
|
||||||
static boost::mutex vpss_species_thermo_mutex;
|
static boost::mutex vpss_species_thermo_mutex;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,7 @@ VPSSMgr* VPSSMgr_General::duplMyselfAsVPSSMgr() const
|
||||||
* them. This function is called like an onion.
|
* them. This function is called like an onion.
|
||||||
*
|
*
|
||||||
* @param vp_ptr Pointer to the VPStandardStateTP standard state
|
* @param vp_ptr Pointer to the VPStandardStateTP standard state
|
||||||
* @param sp_ptr Poitner to the SpeciesThermo standard state
|
* @param sp_ptr Pointer to the SpeciesThermo standard state
|
||||||
*/
|
*/
|
||||||
void VPSSMgr_General::initAllPtrs(VPStandardStateTP* vp_ptr, SpeciesThermo* sp_ptr)
|
void VPSSMgr_General::initAllPtrs(VPStandardStateTP* vp_ptr, SpeciesThermo* sp_ptr)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -518,7 +518,7 @@ corr1(doublereal temperature, doublereal pressure, doublereal& densLiq,
|
||||||
* Note this function will return the saturation pressure, given the temperature.
|
* Note this function will return the saturation pressure, given the temperature.
|
||||||
* It will then set the state of the system to the saturation condition. The input
|
* It will then set the state of the system to the saturation condition. The input
|
||||||
* parameter waterState is used to either specify the liquid state or the
|
* parameter waterState is used to either specify the liquid state or the
|
||||||
* gas state at the desired temperatue and saturated pressure.
|
* gas state at the desired temperature and saturated pressure.
|
||||||
*
|
*
|
||||||
* If the input temperature, T, is above T_c, this routine will set the internal
|
* If the input temperature, T, is above T_c, this routine will set the internal
|
||||||
* state to T and the pressure to P_c. Then, return P_c.
|
* state to T and the pressure to P_c. Then, return P_c.
|
||||||
|
|
@ -574,7 +574,7 @@ doublereal WaterPropsIAPWS::psat(doublereal temperature, int waterState)
|
||||||
// Returns the Phase State flag for the current state of the object
|
// Returns the Phase State flag for the current state of the object
|
||||||
/*
|
/*
|
||||||
* @param checkState If true, this function does a complete check to see where
|
* @param checkState If true, this function does a complete check to see where
|
||||||
* in paramters space we are
|
* in parameter space we are
|
||||||
*
|
*
|
||||||
* There are three values:
|
* There are three values:
|
||||||
* WATER_GAS below the critical temperature but below the critical density
|
* WATER_GAS below the critical temperature but below the critical density
|
||||||
|
|
|
||||||
|
|
@ -652,7 +652,7 @@ doublereal WaterPropsIAPWSphi::phi_d(doublereal tau, doublereal delta)
|
||||||
*
|
*
|
||||||
* p/(rhoRT) = delta * phi_d()
|
* p/(rhoRT) = delta * phi_d()
|
||||||
*
|
*
|
||||||
* note: this is done so much, we have a seperate routine.
|
* note: this is done so much, we have a separate routine.
|
||||||
*/
|
*/
|
||||||
doublereal WaterPropsIAPWSphi::pressureM_rhoRT(doublereal tau, doublereal delta)
|
doublereal WaterPropsIAPWSphi::pressureM_rhoRT(doublereal tau, doublereal delta)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -81,7 +81,7 @@ bool AqueousTransport::initLiquid(LiquidTransportParams& tr)
|
||||||
//m_condcoeffs = tr.condcoeffs;
|
//m_condcoeffs = tr.condcoeffs;
|
||||||
//m_diffcoeffs = tr.diffcoeffs;
|
//m_diffcoeffs = tr.diffcoeffs;
|
||||||
cout << "In AqueousTransport::initLiquid we need to replace" << endl
|
cout << "In AqueousTransport::initLiquid we need to replace" << endl
|
||||||
<< "LiquidTransportParams polyniomial coefficients with" << endl
|
<< "LiquidTransportParams polynomial coefficients with" << endl
|
||||||
<< "those in LiquidTransportData as in SimpleTransport." << endl;
|
<< "those in LiquidTransportData as in SimpleTransport." << endl;
|
||||||
|
|
||||||
m_mode = tr.mode_;
|
m_mode = tr.mode_;
|
||||||
|
|
@ -758,7 +758,7 @@ void AqueousTransport::stefan_maxwell_solve()
|
||||||
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
printf("uninmplemetnd\n");
|
printf("unimplemented\n");
|
||||||
throw CanteraError("routine", "not done");
|
throw CanteraError("routine", "not done");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -169,10 +169,10 @@ void DustyGasTransport::setParameters(const int type, const int k, const doubler
|
||||||
* The DustyGas model is a subordinate model to the gas phase transport model. Here we
|
* The DustyGas model is a subordinate model to the gas phase transport model. Here we
|
||||||
* set the gas phase models.
|
* set the gas phase models.
|
||||||
*
|
*
|
||||||
* This is a protected routine, so that initialiation of the Model must occur within Cantera's setup
|
* This is a protected routine, so that initialization of the Model must occur within Cantera's setup
|
||||||
*
|
*
|
||||||
* @param phase Pointer to the underlying ThermoPhase model for the gas phase
|
* @param phase Pointer to the underlying ThermoPhase model for the gas phase
|
||||||
* @param gastr Pointer to the underlying Transport model for transport in the gas phse.
|
* @param gastr Pointer to the underlying Transport model for transport in the gas phase.
|
||||||
*/
|
*/
|
||||||
void DustyGasTransport::initialize(ThermoPhase* phase, Transport* gastr)
|
void DustyGasTransport::initialize(ThermoPhase* phase, Transport* gastr)
|
||||||
{
|
{
|
||||||
|
|
@ -489,7 +489,7 @@ void DustyGasTransport::setPermeability(doublereal B)
|
||||||
}
|
}
|
||||||
//====================================================================================================================
|
//====================================================================================================================
|
||||||
// Return a reference to the transport manager used to compute the gas
|
// Return a reference to the transport manager used to compute the gas
|
||||||
// binary diffusion coefficients and the visdcosity.
|
// binary diffusion coefficients and the viscosity.
|
||||||
/*
|
/*
|
||||||
* @return Returns a reference to the gas transport object
|
* @return Returns a reference to the gas transport object
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -208,7 +208,7 @@ doublereal LTPspecies_Const::getSpeciesTransProp()
|
||||||
* \verbatim <transport> \endverbatim node and specifies a type of transport property (like viscosity)
|
* \verbatim <transport> \endverbatim node and specifies a type of transport property (like viscosity)
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* @param propNode Referenc to the XML node that contains the property information.This class
|
* @param propNode Reference to the XML node that contains the property information.This class
|
||||||
* is assumed to be parameterized by reading XML_Node information.
|
* is assumed to be parameterized by reading XML_Node information.
|
||||||
* @param name String containing the species name
|
* @param name String containing the species name
|
||||||
* @param tp_ind enum TransportPropertyType containing the property id that this object
|
* @param tp_ind enum TransportPropertyType containing the property id that this object
|
||||||
|
|
@ -321,7 +321,7 @@ doublereal LTPspecies_Arrhenius::getSpeciesTransProp()
|
||||||
* \verbatim <transport> \endverbatim node and specifies a type of transport property (like viscosity).
|
* \verbatim <transport> \endverbatim node and specifies a type of transport property (like viscosity).
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* @param propNode Referenc to the XML node that contains the property information. This class
|
* @param propNode Reference to the XML node that contains the property information. This class
|
||||||
* must be parameterized by reading XML_Node information.
|
* must be parameterized by reading XML_Node information.
|
||||||
* @param name String containing the species name
|
* @param name String containing the species name
|
||||||
* @param tp_ind enum TransportPropertyType containing the property id that this object
|
* @param tp_ind enum TransportPropertyType containing the property id that this object
|
||||||
|
|
@ -394,7 +394,7 @@ doublereal LTPspecies_Poly::getSpeciesTransProp()
|
||||||
* \verbatim <transport> \endverbatim node and specifies a type of transport property (like viscosity).
|
* \verbatim <transport> \endverbatim node and specifies a type of transport property (like viscosity).
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* @param propNode Referenc to the XML node that contains the property information. This class
|
* @param propNode Reference to the XML node that contains the property information. This class
|
||||||
* must be parameterized by reading XML_Node information.
|
* must be parameterized by reading XML_Node information.
|
||||||
* @param name String containing the species name
|
* @param name String containing the species name
|
||||||
* @param tp_ind enum TransportPropertyType containing the property id that this object
|
* @param tp_ind enum TransportPropertyType containing the property id that this object
|
||||||
|
|
|
||||||
|
|
@ -1824,7 +1824,7 @@ void LiquidTransport::stefan_maxwell_solve()
|
||||||
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
printf("uninmplemetnd\n");
|
printf("unimplemented\n");
|
||||||
throw CanteraError("routine", "not done");
|
throw CanteraError("routine", "not done");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -458,7 +458,7 @@ void MultiTransport::getMassFluxes(const doublereal* state1, const doublereal* s
|
||||||
// update the binary diffusion coefficients if necessary
|
// update the binary diffusion coefficients if necessary
|
||||||
updateDiff_T();
|
updateDiff_T();
|
||||||
|
|
||||||
// If there is a temperature gadient, then get the
|
// If there is a temperature gradient, then get the
|
||||||
// thermal diffusion coefficients
|
// thermal diffusion coefficients
|
||||||
|
|
||||||
bool addThermalDiffusion = false;
|
bool addThermalDiffusion = false;
|
||||||
|
|
|
||||||
|
|
@ -82,7 +82,7 @@ doublereal TortuosityBase::tortuosityFactor(doublereal porosity)
|
||||||
//====================================================================================================================
|
//====================================================================================================================
|
||||||
// The McMillan number is the ratio of the flux-like variable to the value it would have without porous flow.
|
// The McMillan number is the ratio of the flux-like variable to the value it would have without porous flow.
|
||||||
/*
|
/*
|
||||||
* The McMillan number combines the effect of toruosity
|
* The McMillan number combines the effect of tortuosity
|
||||||
* and volume fraction of the transported phase. The net flux
|
* and volume fraction of the transported phase. The net flux
|
||||||
* observed is then the product of the McMillan number and the
|
* observed is then the product of the McMillan number and the
|
||||||
* non-porous transport rate. For a conductivity in a non-porous
|
* non-porous transport rate. For a conductivity in a non-porous
|
||||||
|
|
|
||||||
|
|
@ -24,8 +24,8 @@ namespace Cantera
|
||||||
* Class to compute the increase in diffusive path length associated with
|
* Class to compute the increase in diffusive path length associated with
|
||||||
* tortuous path diffusion through, for example, porous media.
|
* tortuous path diffusion through, for example, porous media.
|
||||||
* This base class implementation relates tortuosity to volume fraction
|
* This base class implementation relates tortuosity to volume fraction
|
||||||
* through a power-law relationship that goes back to Bruggemann. The
|
* through a power-law relationship that goes back to Bruggeman. The
|
||||||
* exponent is referred to as the Bruggemann exponent.
|
* exponent is referred to as the Bruggeman exponent.
|
||||||
*
|
*
|
||||||
* Note that the total diffusional flux is generally written as
|
* Note that the total diffusional flux is generally written as
|
||||||
*
|
*
|
||||||
|
|
@ -45,7 +45,7 @@ class TortuosityBase
|
||||||
{
|
{
|
||||||
|
|
||||||
public:
|
public:
|
||||||
//! Default constructor uses Bruggemann exponent of 1.5
|
//! Default constructor uses Bruggeman exponent of 1.5
|
||||||
TortuosityBase();
|
TortuosityBase();
|
||||||
|
|
||||||
//! Copy Constructor
|
//! Copy Constructor
|
||||||
|
|
@ -84,7 +84,7 @@ public:
|
||||||
//! The McMillan number is the ratio of the flux-like
|
//! The McMillan number is the ratio of the flux-like
|
||||||
//! variable to the value it would have without porous flow.
|
//! variable to the value it would have without porous flow.
|
||||||
/**
|
/**
|
||||||
* The McMillan number combines the effect of toruosity
|
* The McMillan number combines the effect of tortuosity
|
||||||
* and volume fraction of the transported phase. The net flux
|
* and volume fraction of the transported phase. The net flux
|
||||||
* observed is then the product of the McMillan number and the
|
* observed is then the product of the McMillan number and the
|
||||||
* non-porous transport rate. For a conductivity in a non-porous
|
* non-porous transport rate. For a conductivity in a non-porous
|
||||||
|
|
|
||||||
|
|
@ -85,7 +85,7 @@ doublereal TortuosityBruggeman::tortuosityFactor(doublereal porosity)
|
||||||
//====================================================================================================================
|
//====================================================================================================================
|
||||||
// The McMillan number is the ratio of the flux-like variable to the value it would have without porous flow.
|
// The McMillan number is the ratio of the flux-like variable to the value it would have without porous flow.
|
||||||
/*
|
/*
|
||||||
* The McMillan number combines the effect of toruosity
|
* The McMillan number combines the effect of tortuosity
|
||||||
* and volume fraction of the transported phase. The net flux
|
* and volume fraction of the transported phase. The net flux
|
||||||
* observed is then the product of the McMillan number and the
|
* observed is then the product of the McMillan number and the
|
||||||
* non-porous transport rate. For a conductivity in a non-porous
|
* non-porous transport rate. For a conductivity in a non-porous
|
||||||
|
|
|
||||||
|
|
@ -24,8 +24,8 @@ namespace Cantera
|
||||||
* Class to compute the increase in diffusive path length associated with
|
* Class to compute the increase in diffusive path length associated with
|
||||||
* tortuous path diffusion through, for example, porous media.
|
* tortuous path diffusion through, for example, porous media.
|
||||||
* This base class implementation relates tortuosity to volume fraction
|
* This base class implementation relates tortuosity to volume fraction
|
||||||
* through a power-law relationship that goes back to Bruggemann. The
|
* through a power-law relationship that goes back to Bruggeman. The
|
||||||
* exponent is referred to as the Bruggemann exponent.
|
* exponent is referred to as the Bruggeman exponent.
|
||||||
*
|
*
|
||||||
* Note that the total diffusional flux is generally written as
|
* Note that the total diffusional flux is generally written as
|
||||||
*
|
*
|
||||||
|
|
@ -45,7 +45,7 @@ class TortuosityBruggeman : public TortuosityBase
|
||||||
{
|
{
|
||||||
|
|
||||||
public:
|
public:
|
||||||
//! Default constructor uses Bruggemann exponent of 1.5
|
//! Default constructor uses Bruggeman exponent of 1.5
|
||||||
/*!
|
/*!
|
||||||
* @param setPower Exponent in the Bruggeman factor. The default is 1.5
|
* @param setPower Exponent in the Bruggeman factor. The default is 1.5
|
||||||
*/
|
*/
|
||||||
|
|
@ -87,7 +87,7 @@ public:
|
||||||
//! The McMillan number is the ratio of the flux-like
|
//! The McMillan number is the ratio of the flux-like
|
||||||
//! variable to the value it would have without porous flow.
|
//! variable to the value it would have without porous flow.
|
||||||
/**
|
/**
|
||||||
* The McMillan number combines the effect of toruosity
|
* The McMillan number combines the effect of tortuosity
|
||||||
* and volume fraction of the transported phase. The net flux
|
* and volume fraction of the transported phase. The net flux
|
||||||
* observed is then the product of the McMillan number and the
|
* observed is then the product of the McMillan number and the
|
||||||
* non-porous transport rate. For a conductivity in a non-porous
|
* non-porous transport rate. For a conductivity in a non-porous
|
||||||
|
|
@ -98,7 +98,7 @@ public:
|
||||||
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
//! Bruggemann exponent: power to which the tortuosity depends on the volume fraction
|
//! Bruggeman exponent: power to which the tortuosity depends on the volume fraction
|
||||||
doublereal expBrug_;
|
doublereal expBrug_;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,7 @@ doublereal TortuosityMaxwell::tortuosityFactor(doublereal porosity)
|
||||||
//====================================================================================================================
|
//====================================================================================================================
|
||||||
// The McMillan number is the ratio of the flux-like variable to the value it would have without porous flow.
|
// The McMillan number is the ratio of the flux-like variable to the value it would have without porous flow.
|
||||||
/*
|
/*
|
||||||
* The McMillan number combines the effect of toruosity
|
* The McMillan number combines the effect of tortuosity
|
||||||
* and volume fraction of the transported phase. The net flux
|
* and volume fraction of the transported phase. The net flux
|
||||||
* observed is then the product of the McMillan number and the
|
* observed is then the product of the McMillan number and the
|
||||||
* non-porous transport rate. For a conductivity in a non-porous
|
* non-porous transport rate. For a conductivity in a non-porous
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,7 @@ public:
|
||||||
//! The McMillan number is the ratio of the flux-like
|
//! The McMillan number is the ratio of the flux-like
|
||||||
//! variable to the value it would have without porous flow.
|
//! variable to the value it would have without porous flow.
|
||||||
/**
|
/**
|
||||||
* The McMillan number combines the effect of toruosity
|
* The McMillan number combines the effect of tortuosity
|
||||||
* and volume fraction of the transported phase. The net flux
|
* and volume fraction of the transported phase. The net flux
|
||||||
* observed is then the product of the McMillan number and the
|
* observed is then the product of the McMillan number and the
|
||||||
* non-porous transport rate. For a conductivity in a non-porous
|
* non-porous transport rate. For a conductivity in a non-porous
|
||||||
|
|
|
||||||
|
|
@ -88,7 +88,7 @@ doublereal TortuosityPercolation::tortuosityFactor(doublereal porosity)
|
||||||
//====================================================================================================================
|
//====================================================================================================================
|
||||||
// The McMillan number is the ratio of the flux-like variable to the value it would have without porous flow.
|
// The McMillan number is the ratio of the flux-like variable to the value it would have without porous flow.
|
||||||
/*
|
/*
|
||||||
* The McMillan number combines the effect of toruosity
|
* The McMillan number combines the effect of tortuosity
|
||||||
* and volume fraction of the transported phase. The net flux
|
* and volume fraction of the transported phase. The net flux
|
||||||
* observed is then the product of the McMillan number and the
|
* observed is then the product of the McMillan number and the
|
||||||
* non-porous transport rate. For a conductivity in a non-porous
|
* non-porous transport rate. For a conductivity in a non-porous
|
||||||
|
|
|
||||||
|
|
@ -19,12 +19,12 @@ namespace Cantera
|
||||||
{
|
{
|
||||||
|
|
||||||
//! This class implements transport coefficient corrections
|
//! This class implements transport coefficient corrections
|
||||||
//! appropriate for porous media where percollation theory applies.
|
//! appropriate for porous media where percolation theory applies.
|
||||||
class TortuosityPercolation : public TortuosityBase
|
class TortuosityPercolation : public TortuosityBase
|
||||||
{
|
{
|
||||||
|
|
||||||
public:
|
public:
|
||||||
//! Default constructor uses Percolationn exponent of 1.5
|
//! Default constructor uses Percolation exponent of 1.5
|
||||||
/*!
|
/*!
|
||||||
* @param setPower Exponent in the Percolation factor. The default is 1.5
|
* @param setPower Exponent in the Percolation factor. The default is 1.5
|
||||||
*/
|
*/
|
||||||
|
|
@ -66,7 +66,7 @@ public:
|
||||||
//! The McMillan number is the ratio of the flux-like
|
//! The McMillan number is the ratio of the flux-like
|
||||||
//! variable to the value it would have without porous flow.
|
//! variable to the value it would have without porous flow.
|
||||||
/*!
|
/*!
|
||||||
* The McMillan number combines the effect of toruosity
|
* The McMillan number combines the effect of tortuosity
|
||||||
* and volume fraction of the transported phase. The net flux
|
* and volume fraction of the transported phase. The net flux
|
||||||
* observed is then the product of the McMillan number and the
|
* observed is then the product of the McMillan number and the
|
||||||
* non-porous transport rate. For a conductivity in a non-porous
|
* non-porous transport rate. For a conductivity in a non-porous
|
||||||
|
|
|
||||||
|
|
@ -239,7 +239,7 @@ TransportFactory::TransportFactory() :
|
||||||
m_models["None"] = None;
|
m_models["None"] = None;
|
||||||
//m_models["Radiative"] = cRadiative;
|
//m_models["Radiative"] = cRadiative;
|
||||||
|
|
||||||
m_tranPropMap["viscostiy"] = TP_VISCOSITY;
|
m_tranPropMap["viscosity"] = TP_VISCOSITY;
|
||||||
m_tranPropMap["ionConductivity"] = TP_IONCONDUCTIVITY;
|
m_tranPropMap["ionConductivity"] = TP_IONCONDUCTIVITY;
|
||||||
m_tranPropMap["mobilityRatio"] = TP_MOBILITYRATIO;
|
m_tranPropMap["mobilityRatio"] = TP_MOBILITYRATIO;
|
||||||
m_tranPropMap["selfDiffusion"] = TP_SELFDIFFUSION;
|
m_tranPropMap["selfDiffusion"] = TP_SELFDIFFUSION;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue