User's Guide to PHREEQC
By David L. ParkhurstU.S. Geological Survey
Water-Resources Investigations Report 95-4227, 1995, 143 p.
PHREEQC is derived from the Fortran program PHREEQE, but it has been completely rewritten in C with the addition many new capabilities. New features include the capabilities to use redox couples to distribute redox elements among their valence states in speciation calculations; to model ion-exchange and surface-complexation reactions; to model reactions with a fixed-pressure, multicomponent gas phase (that is, a gas bubble); to calculate the mass of water in the aqueous phase during reaction and transport calculations; to keep track of the moles of minerals present in the solid phases and determine automatically the thermodynamically stable phase assemblage; to simulate advective transport in combination with PHREEQC's reaction-modeling capability; and to make inverse modeling calculations that allow for uncertainties in the analytical data. The user interface is improved through the use of a simplified approach to redox reactions, which includes explicit mole-balance equations for hydrogen and oxygen; the use of a revised input that is modular and completely free format; and the use of mineral names and standard chemical symbolism rather than index numbers. The use of C eliminates nearly all limitations on array sizes, including numbers of elements, aqueous species, solutions, phases, and lengths of character strings.
A new equation solver that optimizes a set of equalities subject to both equality and inequality constraints is used to determine the thermodynamically stable set of phases in equilibrium with a solution. A more complete Newton-Raphson formulation, master-species switching, and scaling of the algebraic equations reduce the number of failures of the numerical method in PHREEQC relative to PHREEQE.
This report presents the equations that are the basis for chemical equilibrium and inverse-modeling calculations in PHREEQC, describes the input for the program, and presents twelve examples that demonstrate most of the program's capabilities.