From c12e390f02263c09593362d932eaf610b32568e5 Mon Sep 17 00:00:00 2001 From: Harry Moffat Date: Mon, 18 Jun 2007 16:12:41 +0000 Subject: [PATCH] Doxygen Update -> Worked on the header --- Cantera/src/thermo/HMWSoln.h | 195 ++++++++++++++++----------- Cantera/src/thermo/HMWSoln_input.cpp | 1 - 2 files changed, 120 insertions(+), 76 deletions(-) diff --git a/Cantera/src/thermo/HMWSoln.h b/Cantera/src/thermo/HMWSoln.h index 6d23b6891..aa38d009b 100644 --- a/Cantera/src/thermo/HMWSoln.h +++ b/Cantera/src/thermo/HMWSoln.h @@ -330,7 +330,7 @@ namespace Cantera { * \f[ * \begin{array}{cclc} * \frac{G^{ex}}{\tilde{M}_o n_o RT} &= & - * \left( \frac{4AI}{3b} \right) \ln(1 + b \sqrt{I}) + * \left( \frac{4A_{Debye}I}{3b} \right) \ln(1 + b \sqrt{I}) * + 2 \sum_c \sum_a m_c m_a B_{ca} * + \sum_c \sum_a m_c m_a Z C_{ca} * \\&& @@ -477,7 +477,7 @@ namespace Cantera { * which is equal to * * \f[ - * A_{\phi} = \frac{A}{3} + * A_{\phi} = \frac{A_{Debye}}{3} * \f] * * In the above formulas, \f$ \Phi'_{c{c'}} \f$ and \f$ \Phi'_{a{a'}} \f$ are the @@ -576,28 +576,41 @@ namespace Cantera { * to be adequate to describe how the excess gibbs free energy values for * the binary salt changes with respect to temperature. * The following functional form - * was used to fit the temperature dependence of the Pitzer Coefficients. + * was used to fit the temperature dependence of the Pitzer Coefficients + * for each cation - anion pair, M X. * * \f[ - * \beta^{(0)} = q_1 + q_2 \left( \frac{1}{T} - \frac{1}{T_r}\right) - * + q_3 \ln \left( \frac{T}{T_r} \right) - * + q_4 \left( T - T_r \right) - + + q_5 \left( T^2 - T_r^2 \right) + * \beta^{(0)}_{MX} = q^{b0}_0 + * + q^{b0}_1 \left( T - T_r \right) + * + q^{b0}_2 \left( T^2 - T_r^2 \right) + * + q^{b0}_3 \left( \frac{1}{T} - \frac{1}{T_r}\right) + * + q^{b0}_4 \ln \left( \frac{T}{T_r} \right) * \f] * \f[ - * \beta^{(1)} = q_6 + q_9 \left( T - T_r \right) + q_{10} \left( T^2 - T_r^2 \right) + * \beta^{(1)}_{MX} = q^{b1}_0 + q^{b1}_1 \left( T - T_r \right) + * + q^{b1}_{2} \left( T^2 - T_r^2 \right) * \f] * \f[ - * C^{\phi} = q_{11} ++ q_{12} \left( \frac{1}{T} - \frac{1}{T_r}\right) - * + q_{13} \ln \left( \frac{T}{T_r} \right) + + q_{14} \left( T - T_r \right) + * C^{\phi}_{MX} = q^{Cphi}_0 + * + q^{Cphi}_1 \left( T - T_r \right) + * + q^{Cphi}_2 \left( T^2 - T_r^2 \right) + * + q^{Cphi}_3 \left( \frac{1}{T} - \frac{1}{T_r}\right) + * + q^{Cphi}_4 \ln \left( \frac{T}{T_r} \right) * \f] * + * where + * + * \f[ + * C^{\phi}_{MX} = 2 {\left| z_M z_X \right|}^{1/2} C_{MX} + * \f] + * + * * In later papers, Pitzer has added additional temperature dependencies * to all of the other remaining second and third order virial coefficients. * Some of these dependencies are justified and motivated by theory. Therefore, * a formalism wherein all of the coefficients in the base theory have - * temperature dependencies associated with them has been implemented into the - * %HMWSoln object. + * temperature dependencies associated with them has been implemented within the + * %HMWSoln object. Much of the formalism, however, has been unexercised. * *

Example of the specification of Paramters for the Activity Coefficients

* @@ -664,14 +677,15 @@ namespace Cantera { * @endcode * * - *

Specification of the Debye Huckel Constants

+ *

Specification of the Debye-Huckel Constant

* - * In the equations above, the formulas for \f$ A_{Debye} \f$ and \f$ B_{Debye} \f$ - * are needed. The %DebyeHuckel object uses two methods for specifying these quantities. + * In the equations above, the formula for \f$ A_{Debye} \f$ + * is needed. The %HMWSoln object uses two methods for specifying these quantities. * The default method is to assume that \f$ A_{Debye} \f$ is a constant, given * in the initialization process, and storred in the * member double, m_A_Debye. Optionally, a full water treatment may be employed that makes - * \f$ A_{Debye} \f$ a full function of T and P. + * \f$ A_{Debye} \f$ a full function of T and P and creates nontrivial entries for + * the excess heat capacity, enthalpy, and excess volumes of solution. * * \f[ * A_{Debye} = \frac{F e B_{Debye}}{8 \pi \epsilon R T} {\left( C_o \tilde{M}_o \right)}^{1/2} @@ -690,7 +704,6 @@ namespace Cantera { * * Units = sqrt(kg/gmol) * - * * where * - \f$ N_a \f$ is Avrogadro's number * - \f$ \rho_w \f$ is the density of water @@ -714,36 +727,24 @@ namespace Cantera { * * An example of a fixed value implementation is given below. * @code - * + * * * 1.172576 - * - * 3.28640E9 + * * * @endcode * - * An example of a variable value implementation is given below. + * An example of a variable value implementation within the %HMWSoln object is given below. + * The model attribute, "water", triggers the full implementation. * * @code - * + * + * * - * - * 3.28640E9 + * * * @endcode * - * An example of a variable value implementation is given below. - * - * @code - * - * - * - * 3.28640E9 - * - * @endcode - * - * Currently, \f$ B_{Debye} \f$ is a constant in the model, specified either by a default - * water value, or through the input file. This may have to be looked at, in the future. * *
*

%Application within %Kinetics Managers

@@ -752,11 +753,12 @@ namespace Cantera { * For the time being, we have set the standard concentration for all species in * this phase equal to the default concentration of the solvent at 298 K and 1 atm. * This means that the - * kinetics operator essentially works on an activities basis, with units specified - * as if it were on a concentration basis. + * kinetics operator essentially works on an activities basis, with units for the + * kinetic rate constant specified + * as if all reactants were on a concentration basis. * - * For example, a bulk-phase binary reaction between liquid species j and k, producing - * a new liquid species l would have the + * For example, a bulk-phase binary reaction between liquid species j and k, producing + * a new liquid species l would have the * following equation for its rate of progress variable, \f$ R^1 \f$, which has * units of kmol m-3 s-1. * @@ -768,15 +770,15 @@ namespace Cantera { * C_j^a = C_o a_j \quad and \quad C_k^a = C_o a_k * \f] * - * \f$ C_j^a \f$ is the activity concentration of species j, and - * \f$ C_k^a \f$ is the activity concentration of species k. \f$ C_o \f$ + * \f$ C_j^a \f$ is the activity concentration of species j, and + * \f$ C_k^a \f$ is the activity concentration of species k. \f$ C_o \f$ * is the concentration of water at 298 K and 1 atm. \f$ a_j \f$ is - * the activity of species j at the current temperature and pressure - * and concentration of the liquid phase. \f$k^1 \f$ has units of m3 kmol-1 s-1. + * the activity of species j at the current temperature and pressure + * and concentration of the liquid phase. \f$k^1 \f$ has units of m3 + * kmol-1 s-1. * * - * - * The reverse rate constant can then be obtained from the law of microscopic reversibility + * The reverse rate constant can then be obtained from the law of microscopic reversibility * and the equilibrium expression for the system. * * \f[ @@ -803,32 +805,39 @@ namespace Cantera { *

Instantiation of the Class

*
* - * * The constructor for this phase is NOT located in the default ThermoFactory - * for %Cantera. However, a new %DebyeHuckel object may be created by - * the following code snippets: + * The constructor for this phase is now located in the default ThermoFactory + * for %Cantera. The following code snipet may be used to initialize the phase + * using the default construction technique within %Cantera. * * @code - * DebyeHuckel *DH = new DebyeHuckel("DH_NaCl.xml", "NaCl_electrolyte"); + * ThermoPhase *HMW = newPhase("HMW_NaCl.xml", "NaCl_electrolyte"); + * @endcode + * + * + * A new %HMWSoln object may be created by the following code snippets: + * + * @code + * HMWSoln *HMW = new HMWSoln("HMW_NaCl.xml", "NaCl_electrolyte"); * @endcode * * or * * @code * char iFile[80], file_ID[80]; - * strcpy(iFile, "DH_NaCl.xml"); + * strcpy(iFile, "HMW_NaCl.xml"); * sprintf(file_ID,"%s#NaCl_electrolyte", iFile); * XML_Node *xm = get_XML_NameID("phase", file_ID, 0); - * DebyeHuckel *dh = new DebyeHuckel(*xm); + * HMWSoln *dh = new HMWSoln(*xm); * @endcode * * or by the following call to importPhase(): * * @code * char iFile[80], file_ID[80]; - * strcpy(iFile, "DH_NaCl.xml"); + * strcpy(iFile, "HMW_NaCl.xml"); * sprintf(file_ID,"%s#NaCl_electrolyte", iFile); * XML_Node *xm = get_XML_NameID("phase", file_ID, 0); - * DebyeHuckel dhphase; + * HMWSoln dhphase; * importPhase(*xm, &dhphase); * @endcode * @@ -845,7 +854,7 @@ namespace Cantera { * @verbatim - H2O(L) Na+ Cl- H+ OH- NaCl(aq) NaOH(aq) + H2O(L) Na+ Cl- H+ OH- 300 @@ -855,38 +864,74 @@ namespace Cantera { Cl-:3.0 H+:1.0499E-8 OH-:1.3765E-6 - NaCl(aq):0.98492 - NaOH(aq):3.8836E-6 - + - - - 1.172576 - - 3.28640E9 + + + - - H+:Cl-:0.27 - Na+:Cl-:0.15 - Na+:OH-:0.06 - - - NaCl(aq):-1.0 - - - H+:chargedSpecies - NaCl(aq):weakAcidAssociated - + + 0.0765, 0.008946, -3.3158E-6, + -777.03, -4.4706 + + 0.2664, 6.1608E-5, 1.0715E-6 + 0.0 + 0.00127, -4.655E-5, 0.0, + 33.317, 0.09421 + + 2.0 + + + + 0.1775, 0.0, 0.0, 0.0, 0.0 + 0.2945, 0.0, 0.0 + 0.0 + 0.0008, 0.0, 0.0, 0.0, 0.0 + 2.0 + + + + 0.0864, 0.0, 0.0, 0.0, 0.0 + 0.253, 0.0, 0.0 + 0.0 + 0.0044, 0.0, 0.0, 0.0, 0.0 + 2.0 + + + + -0.05 + + + + -0.05 + -0.006 + + + + 0.036 + + + + 0.036 + -0.004 + + + H2O(L) O H Na Cl + + @endverbatim * diff --git a/Cantera/src/thermo/HMWSoln_input.cpp b/Cantera/src/thermo/HMWSoln_input.cpp index 68cccf305..584dd04f4 100644 --- a/Cantera/src/thermo/HMWSoln_input.cpp +++ b/Cantera/src/thermo/HMWSoln_input.cpp @@ -17,7 +17,6 @@ */ #include "HMWSoln.h" -//#include "importCTML.h" #include "ThermoFactory.h" #include "WaterProps.h" #include "WaterPDSS.h"