Not freaking out, but PHREEQC-ing it out

Oct 28, 2015 No Comments by 2908 views

From the 18-20th of August I attended a geochemical modelling workshop that was ran before the 25th annual Goldschmidt conference in Prague. The purpose of the two-day-long course was to learn and advance our knowledge in the use and application of the geochemical modelling computer program PHREEQC. Using such a program enables different geochemical reaction scenarios to be modelled. Examples of what can be done with PHREEQC include: speciation, batch-reactions, one-dimensional transport, inverse geochemical calculations and kinetics. Constructing models using this program varies in difficulty from simple mixing of solutions and all the way to generally more complex kinetic and transport modelling. For more information about the program see:

I was keen to partake in this course, as I will use this for my own PhD project. I want to model weathering reactions along chronosequences in glacial forefields (more information:

The first day consisted of educating the novice user (myself) about the program and its background. However, prior to using the program we were informed about the thermodynamic and kinetic laws that govern the models, and also how to create a conceptual model in order address our geochemical problems. It was emphasized from the start, and throughout the workshop, that your results are only as good of the data used as input. Therefore, it is essential to investigate the database you use, determining its applicability to the problem you are aiming to address. Furthermore, good background knowledge of the environment, and the possible chemical reactions occurring in it, was strongly advised. By following this advice your data will be of greater accuracy and easier to interpret.

As we progressed through the lectures a number of different exercises allowed us to become familiar with the program. The exercises began with navigating the program’s interface that entailed: learning basic script commands, using simple functions to simulate geochemical equilibrium reactions when solutions are mixed; inputting values for solution composition and phases along with intrinsic and extrinsic control parameters. The day ended with a summary of how to save and export results, and a short discussion. These exercises demonstrated the versatility and flexibility of the program to meet the user needs.

After having a long night’s sleep, comprising PHREEQC-code-based dreams, I was ready for day two. Reaction kinetics, transport and mineral surface sorption was on the agenda. Again, the exercises were carried-out whilst the background was also being presented. The first was modelling the transformation of forsterite (Mg-rich end-member of olivine) to magnesite, via dissolution:

Forsterite + Carbon dioxide -> Magnesite + Quartz

Mg2SiO4 + 2CO2 -> 2MgCO3 + SiO2     – Equation 1

From changing the reaction duration (time step) from 1 to 10 years it was possible to see how the kinetics varied. This was evident from the results, that showed 1.65e-03 mol of forsterite has dissolved and no magnesite precipitated. After 10 years 9.165e-04 mol of forsterite has dissolved and 1.833e-03 mol magnesite has precipitated. Exercise two involved creating a conceptual model to address the heavy metal contamination from the leaching of Zn and Cd from an abandoned mine into a watershed. Ferric sulphate was added to the together with NaOH for a pH correction to the mine water (ferric sulphate is relatively cheap per ton). Consequently, ferrihydrite forms and acts as the sorbent for the Zn and Cd (ferrihydrite has an extremely large mineral: surface area and making it an ideal sorbent). From change these concentrations it was possible to calculate the optimal amount of ferric sulphate and alkalinity needed to meet the environmental discharge objectives for Zn and Cd heavy metal contamination.

PHREEQC-1Figure 1. Screenshot of modelling results showing the decrease in Cd and Zn (μg/l) the more ferric sulphate (g/m3) was added.

Transport modelling was the final exercise of the day. 2D transportation is simulated via the use of a line or circuit of reactor cells. Once the reaction has reached equilibrium in the first reactor cell, the product is transferred to the next. The user can define the number of reactor cells and select parameters such as the chemical reagents used in each, also the temperature and conductivity. The workshop ended by learning how to create graphical output from the model results, and how to export the data to excel.

In general this experience, first and foremost, has taught me coding is frustrating! Minor mistakes such as, a [missing parenthesis or typos can consume large amounts of head-scratching time. Attention to detail and a high level of concentration are paramount, however, with a LARGE amount of perseverance the results are often worth the hair (and maybe scalp) lost.


I would like to thank the European Association of Geochemistry for their finical support, for without this attending this workshop would have not been possible. The workshop itself has enabled me to grasp a basic understanding of PHREEQC and geochemical modelling in general. In terms of it contributing to my research I can now attempt to model important kinetic reactions for the sequestration of CO2, such as silicate weathering under Arctic conditions.


PHREEQC is freely available to download on both Macintosh and PC, for more information visit:


About the author:

Joshua BlackerJoshua Blacker is a first year PhD student currently researching how Arctic soil forms in response to the deglaciation of ice-­‐masses. My research interests are using geochemical approaches to understand environmental process, specifically in the cryosphere.



General, Invited contributions

About the author

Invited contributions to the EAG blog. See biography of the author of this post just above...
No Responses to “Not freaking out, but PHREEQC-ing it out”

Leave a Reply