12.07.2015 Views

EQ3NR, A Computer Program for Geochemical Aqueous Speciation ...

EQ3NR, A Computer Program for Geochemical Aqueous Speciation ...

EQ3NR, A Computer Program for Geochemical Aqueous Speciation ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

activity coefficients, and thermodynamic activities of all species present. This in turn permitsevaluation of the saturation indices (SI = log Q/K, where Q is the activity product and K the equilibriumconstant) and thermodynamic affinities (A = -2.303 RT log Q/K, where R is the gas constantand T the absolute temperature) of various reactions, chiefly <strong>for</strong> the dissolution of minerals.However, these functions are also evaluated <strong>for</strong> certain reactions occurring internally in the aqueoussolution and which are normally only assumed to be in equilibrium (the input file requiresadditional data to do this). In the case of aqueous redox reactions, the theoretical Eh, pe, oxygenfugacity, and redox affinity (Ah) are computed. Differences in the values of these correspondingparameters <strong>for</strong> two redox couples are measures of the degree of disequilibrium between them.The equilibrium fugacities of various gas species are also determined.The results of these calculations depend on the supporting data read from the data file. The useof different data files may give different results. Different results may be obtained not only becauseof the use of different values of standard state thermodynamic data (e.g., equilibrium constants),but also by different choices in the set of equations <strong>for</strong> the activity coefficients as well asthe use of different values in the choice of parameters appearing in these equations (e.g., the Debye-HückelA φ parameter, various kinds of interaction coefficients). The equations <strong>for</strong> calculatingthe activity coefficients of aqueous species are discussed in Chapter 3. The equations <strong>for</strong>calculating the activity coefficients of end-member components of solid solution phases are discussedin Chapter 4. In speciation-solubility calculations, these latter equations and their supportingdata normally affect only the saturation indices calculated <strong>for</strong> solid solutions. However, theydo affect the computed aqueous speciation model if one of the defining model constraints assumesequilibrium with a solid solution end-member component.In some modes, such as when the concentration of a species is adjusted to satisfy electrical balanceor to satisfy an equilibrium constraint, the code actually computes part of what would normallybe analytical data. In this mode, <strong>for</strong> example, the code can be used to calculate recipes <strong>for</strong>custom pH buffers. An example of this is included in Chapter 7. Calculations using such constraintscan be somewhat dangerous, especially when used in combination. It is not hard to constructproblems that have no physical solutions. In such cases, the code can of course computeno corresponding answers, but it does a generally good job of diagnosing the problems and in<strong>for</strong>mingthe user of the nature of the problem.In general, the code is highly flexible in that the roles of many parameters as inputs and outputscan be reversed. There are very few restrictions on the input combinations that may be definedby the code user. The main requirement is that the problem must have a realistic answer.<strong>EQ3NR</strong> uses a highly efficient hybrid Newton-Raphson algorithm in which the activity coefficientsof the aqueous species are held constant in a Newton-Raphson step and re-adjusted betweensuch steps. The code features both user-controlled and automatic basis-switching, aprocedure <strong>for</strong> rewriting reactions and redefining the set of basis species. These features are occasionallynecessary to induce the iterative calculations to converge. The code creates its ownstarting estimates <strong>for</strong> Newton-Raphson iteration, and uses a first order algorithm in addition topossible automatic basis switching to optimize these be<strong>for</strong>e beginning Newton-Raphson iteration.The numerical methods used by the code are discussed in Chapter 9.- 7 -

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!