Geochemical Buffers is part of a free web series, GWB Online Academy, by Aqueous Solutions LLC.
What you need:
Download this unit to use in your courses:
Click on a file or right-click and select “Save link as…” to download.
The heart of a geochemical model is the equilibrium system, which contains an aqueous fluid and, optionally, one or more minerals. The system's constituents remain in chemical equilibrium throughout the calculation. Transfer of mass into or out of the system and variation in temperature drive the system to a series of new equilibria over the course of the reaction path.
In this section, we consider how to construct reaction paths that account for the effects of simple reactants, a name given to reactants that are added to or removed from a system at constant rates. We commonly refer to such a path as a titration model, because at each step in the process, much like in a laboratory titration, the model adds an aliquot of reactant mass to the system.
As an example, we could simulate the hydrolysis of potassium feldspar. We would specify the composition of a hypothetical water, then define a reaction path involving the addition of a small amount of feldspar.
The calculation procedure for tracing a titration path is straightforward. We begin by calculating the equilibrium state of the initial system. We then incrementally change the system's bulk composition as a function of reaction progress. After each increment, we recalculate the equilibrium state.
In this lesson, we'll look at how we can use React to model reaction processes. We'll consider how species and minerals can serve to buffer the chemistry of natural systems. We start by looking at how dissolved carbonate affects how readily a solution can be acidified.
Starting with an alkaline NaCl solution, simulate the effects of adding 0.3 moles of hydrochloric acid. Double-click on file “buffers.rea”, and when React opens, look at the Basis pane
The Basis pane contains the unreacted water, a dominantly NaCl water at pH 12.
Move to the Reactants pane
Here we've defined a reaction path in which we'll titrate 300 mmol of HCl into the initial fluid.
On Config → Output… set a suffix “_NaCl”
Click OK, then on the main window select Run → Go (CTRL+G). React will move to the Results pane and trace the simulation
Click on the Plot Results button to launch Gtplot.
To make a plot of pH vs. the amount of HCl added to solution, configure the plot as indicated:
Your diagram should look like this:
Continuing in React, reverse the anion concentrations so that the fluid is dominantly an Na2CO3 solution. Set the concentration of the “HCO3-” component to “100”, and that of “Cl-” to “1”
On Config → Output… set a suffix “_Na2CO3” and rerun the simulation. Again, plot pH vs. HCl reacted.
Why do the curves for the NaCl and Na2CO3 solutions differ? How did the pH of each water change as acid was added?
Plot the distribution of carbonate species in the second water vs. the amount of acid added. Choose a linear scale for the species distribution. Compare this plot to the plot above. Considering the slopes of the lines in this plot, what reactions occur among the species?
Plot the molalities of carbonate species (on a linear scale) in the second water against pH. Over which pH range does each buffering reaction proceed? Open the “thermo.tdat” database by selecting File → View. Do the theoretical crossover pHs for the buffering reactions in “thermo.tdat” agree exactly with your results? If not, why not?
Now let's consider how minerals coexisting with the fluid might buffer pH and oxygen activity. We simulate the effects at 100°C of oxygen infiltrating a formation containing the iron mineral pyrite (FeS2) and a small amount of hematite (Fe2O3).
Double-click on file “mineral_buffers.rea”, and when React opens, look at the Basis pane
The Basis pane describes the reducing water, at equilibrium with hematite and pyrite.
Move to the Reactants pane
Here we've defined a reaction path in which we'll titrate 800 mmol of O2(aq) into the initial fluid.
On Config → Output… set a suffix “_mineral_buffer”
Click OK, then on the main window select Run → Go. React will move to the Results pane and trace the simulation.
Use Gtplot to render the results. From the slopes of the lines on the plots of mineral mass and species concentration versus O2(aq) reacted, determine the overall reaction occurring in the system.
Plot pH vs. the amount of oxygen that has diffused into the system. Why does the pH change? Also plot oxygen fugacity vs. the amount of oxygen added. The reaction between pyrite and hematite fixes the initial oxidation state. How does the oxidation state of the system change over the course of the reaction path?
Look at your results for this reaction path in light of a redox-pH diagram for the Fe-S-H2O system. Start Act2 by double-clicking on the script “Fe_trace.ac2”. Overlay your reaction model by dragging the “React_plot_mineral_buffers.gtp” file into the Act2 window
The trace command causes Act2 to project your last React run onto the diagram. From the resulting diagram, explain the main reactions that occurred in the React simulation.
Now we'll investigate how gas reservoirs can buffer the chemistries of natural waters. First, we'll titrate NaOH into an acidic water that is initially in equilibrium with atmospheric CO2(g).
Double-click on file “fugacity_buffers.rea” and move to the Basis pane
The Basis pane describes an acidic water, initially at equilibrium with atmospheric CO2(g).
Move to the Reactants pane
Here we've defined a reaction path in which we'll titrate NaOH into the initial fluid.
On Config → Output... set a suffix “_no_fugacity_buffer”
Click OK, then on the main window select Run → Go. React will move to the Results pane and trace the simulation.
Use Gtplot to characterize the changes in pH and carbonate species' distribution accompanying the reaction. Write a balanced reaction describing the titration of NaOH into the fluid. What pH buffers were active during the reaction?
Now consider the same reaction occurring in a water that remains in equilibrium with atmospheric CO2(g) over the course of the reaction.
Return to the Reactants pane and click → Fixed → Gas... → CO2(g)
The setting fixes CO2(g) fugacity to its atmospheric value.
Set a suffix “_fix_fugacity_buffer”
and select Run → Go.
How did the presence of a CO2 buffer alter the reaction path calculated? Explain your answer, using balanced chemical reactions. Will continued addition of NaOH exhaust the CO2 buffer?
Craig M. Bethke and Brian Farrell. © Copyright 2016–2024 Aqueous Solutions LLC. This lesson may be reproduced and modified freely to support any licensed use of The Geochemist's Workbench® software, provided that any derived materials acknowledge original authorship.
Bethke, C.M., 2022, Geochemical and Biogeochemical Reaction Modeling, 3rd ed. Cambridge University Press, New York, 520 pp.
Bethke, C.M., B. Farrell, and M. Sharifi, 2024, The Geochemist's Workbench®, Release 17: GWB Reaction Modeling Guide. Aqueous Solutions LLC, Champaign, IL, 219 pp.
Move on to the next topic, Acidity and Alkalinity, or return to the GWB Online Academy home.