| Next|| Previous || Top |

Program Capabilities

PHREEQC can be used as a speciation program to calculate saturation indices and the distribution of aqueous species. Analytical data for mole balances can be defined for any valence state or combination of valence states for an element. Distribution of redox elements among their valence states can be based on a specified pe or any redox couple for which data are available. PHREEQC allows the concentration of an element to be adjusted to obtain equilibrium (or a specified saturation index or gas partial pressure) with a specified phase. Solution compositions can be specified with a variety of concentration units.

In batch-reaction calculations, PHREEQC is oriented toward system equilibrium rather than just aqueous equilibrium. For a purely equilibrium calculation, all of the moles of each element in the system are distributed among the aqueous phase, pure phases, solid solutions, gas phase, exchange sites, and surface sites to attain system equilibrium. Non-equilibrium reactions can also be modeled, including aqueous-phase mixing, user-specified changes in the elemental totals of the system, kinetically controlled solid-liquid heterogeneous reactions, and to a limited extent kinetically controlled aqueous homogeneous reactions. Mole balances on hydrogen and oxygen allow the calculation of pe and the mass of water in the aqueous phase, which allows water-producing or -consuming reactions to be modeled correctly.

The generalized two-layer model of Dzombak and Morel (1990), a model with an explicitly calculated diffuse layer (Borkovec and Westall, 1983), and a non-electrostatic model (Davis and Kent, 1990) have been incorporated for modeling surface-complexation reactions. Surface complexation constants for two of the databases distributed with the program ( phreeqc.dat and wateq4f.dat ) are taken from Dzombak and Morel (1990); surface complexation constants for the other database distributed with the program ( minteq.dat ) are taken from MINTEQA2 (Allison and others, 1990). Ion-exchange reactions are modeled with the Gaines-Thomas convention and equilibrium constants derived from Appelo and Postma (1993) are included in two of the databases distributed with the program ( phreeqc.dat and wateq4f.dat ).

New modeling capabilities in version 2 include kinetically controlled reactions, solid solutions, and fixed-volume gases. Kinetically controlled reactions can be defined in a general way by using an embedded Basic interpreter. Rate expressions written in the Basic language are included in the input file, and the program uses the Basic interpreter to calculate rates. Formulations for ideal, multicomponent and nonideal, binary solid solutions have been added. The program is capable of determining the equilibrium compositions of nonideal, binary solid solutions even if miscibility gaps exist and of determining the equilibrium composition of ideal solid solutions that have two or more components. It is possible to precipitate solid solutions from supersaturated conditions with no pre-existing solid, and to dissolve solid solutions completely. In addition to the fixed-pressure gas phase of version 1 (fixed-pressure gas bubbles), version 2 allows for a fixed-volume gas phase.

It is possible to define independently any number of solution compositions, gas phases, or pure-phase, solid-solution, exchange, or surface-complexation assemblages. Batch reactions allow any combination of solution (or mixture of solutions), gas phase, and assemblages to be brought together, any irreversible reactions are added, and the resulting system is brought to equilibrium. If kinetic reactions are defined, then the kinetic reactions are integrated with an automatic time-stepping algorithm and system equilibrium is calculated after each time step.

The capability to define multiple solutions and multiple assemblages combined with the capability to determine the stable phase assemblage, provides a framework for 1D transport modeling. PHREEQC provides a numerically efficient method for simulating the movement of solutions through a column or 1D flow path with or without the effects of dispersion. The initial composition of the aqueous, gas, and solid phases within the column are specified and the changes in composition due to advection and dispersion (Appelo and Postma, 1993) coupled with reversible and irreversible chemical reactions within the column can be modeled. A very simple advective- reactive transport simulation option with reversible and irreversible chemical reactions is retained from version 1.

Inverse modeling attempts to account for the chemical changes that occur as a water evolves along a flow path. Assuming two water analyses which represent starting and ending water compositions along a flow path, inverse modeling is used to calculate the moles of minerals and gases that must enter or leave solution to account for the differences in composition. Inverse models that mix two or more waters to form a final water can also be calculated. PHREEQC allows uncertainty limits to be defined for all analytical data, such that inverse models are constrained to satisfy mole balance for each element and valence state as well as charge balance for each solution, but only within these specified uncertainty limits. With version 2, isotope mole-balance equations with associated uncertainty limits can be specified, but Rayleigh fractionation processes can not be modeled explicitly.

The input to PHREEQC is completely free format and is based on chemical symbolism. Balanced equations, written in chemical symbols, are used to define aqueous species, exchange species, surface-complexation species, solid solutions, and pure phases, which eliminates all use of index numbers to identify elements or species. At present, a graphical user interface is available for version 1 (Charlton and others, 1997), and a graphical user interface with charting options has been released for version 2 (PHREEQC for Windows, V.E.A. Post, written commun., 1999, http://www.geo.vu.nl/users/posv/phreeqc.html) . The free-format structure of the data, the use of order-independent keyword data blocks, and the relatively simple syntax facilitate the generation of input data sets with a standard editor. The C programing language allows dynamic allocation of computer memory, so there are very few limitations on array sizes, string lengths, or numbers of entities, such as solutions, phases, sets of phases, exchangers, solid solutions, or surfaces that can be defined to the program.


| Next|| Previous || Top |