PhreeqcUsers Discussion Forum
Beginners => PHREEQC basics => Topic started by: frenzy_geochem on March 29, 2020, 01:03:59 PM

Hii all,
As a beginner, I have been trying to model a reaction taking place in a glovebox environment (N2 gas with ~0.4 ppm O2). When incorporating the gas atmosphere to the solution I incorporated:
EQUILIBRIUM_PHASES
N2(g) 2.23 39.3413497
O2(g) 4.167 0.0000157
SOLUTION 1
water 0.1
temp 25
pH 5.5
pe 3.2
Na 0.2
S(2) 0.1
Fe(+2) 0.5
Cl 1
END
However, in this way the pH and pe of the results are calibrated to different values. When using fix_pH, fix_pe and/or forced within the equilibrium phase block, I still end up with either a wrong pH or pe value as I cannot use both at the same time. Also, combining fix_pH with forced does not give me the pH I intended either. Is there a way I can insert the glovebox atmosphere and keep my solutions at pH and pe of choice? It must be possible in rl, as the pH and pe values come from measurements taken during experiments in the glovebox.

I think the main problem is that N2 and O2 react in your solution. If you look at the distribution of species of the reacted solution, you have N(3) and S(6) because of redox reactions with N2 and O2.
The first approximation is that N2 is inert, so you could either ignore it (remove from EQUILIBRIUM_PHASES) or use Ntg (phreeqc.dat or Amm.dat) to represent dissolved nitrogen. Ntg is not part of the N system and is not redox active (only one valence state). It cannot oxidize or reduce other redox elements.
As for O2, that is the question. Does it react with your solution or not? The script below looks at the changes in your solution as O2 reacts. Thermodynamic redox equilibrium is established with each addition of O2. Thermodynamically, S(2) should oxidize first, followed by Fe(2), with pe buffered about 0 as sulfide oxidizes and 12 as Fe(2) oxidizes.
You are hoping that O2 does not react, in which case, you could ignore O2. If O2 reacts, the pe and pH will change, and trying to specify pH and pe doesn't make sense. If you measure S(6) you may get an estimate of how much O2 reacted during your experiment. If you add acid or base to maintain pH, then you need to add that to your model.
Whereas you may be able to control pH in an experiment by addition of acid or base, you can't really control pe in an experiment; your reactions will determine the pe. pe is really just a ratio of oxidized to reduced species as your reaction proceeds.
SOLUTION 1
water 0.1
temp 25
pH 5.5
pe 3.2
Na 0.2
S(2) 0.1
Fe(+2) 0.5
Cl 1
EQUILIBRIUM_PHASES
Mackinawite 0 0
REACTION
O2 1
0.00005 in 50 steps
USER_GRAPH 1
headings mol Fe(2) Fe(3) S(2) S(6) pe
axis_titles "O2 added, moles" "Molality" ""
initial_solutions false
connect_simulations true
plot_concentration_vs x
start
10 GRAPH_X rxn
20 GRAPH_Y TOT("Fe(2)"), TOT("Fe(3)"), TOT("S(2)"), TOT("S(6)")
end
active true
USER_GRAPH 2
headings mol pH pe
axis_titles "O2 added, moles" "pH" "pe"
initial_solutions false
connect_simulations true
plot_concentration_vs x
start
10 GRAPH_X rxn
20 GRAPH_Y LA("H+")
30 GRAPH_SY LA("e")
end
active true
END

When you fix O2(g) at some partial pressure, PHREEQC generally will use the water stability equation and calculate an Eh or pe based upon the water stability equation. This is a great way to define an Eh that runs parallel to the water stability lines. Using partial pressures we can see the relationship between H2(g) and O2(g) through water.
2H2O = 2H2(g) + O2(g)
Keq = 10^(83.1) = (PH<sub>2)^2(PO<sub>2)
In PHREEQC the pe's are then calculated using the "upper" stability equation"
2H2O = O2 + 4H+ + 4e
log_k 86.08
But you see that that log K does not agree with the first equation. The reason is that in PHREEQC O2 ( oh the right hand side of the equation [not O2(g)] is defined by:
O2(g)
O2 = O2
# log_k 2.960
# delta_h 1.844 kcal
# log K from llnl.dat Aug 23, 2005
log_k 2.8983
or an analytical expression.
Hook over different output files and compare the H2(g) saturation index and the O2(g) Si, there is an inverse relationship based upon the Keq equation above. remember for gas phases the standard state is 1 atms, so the SI actually represents a partial pressure.
Usually when you set up O2(g) as an equilibrium phase there is a excess of Oxygen and so it will usually define the pe. In your system you have smaller amounts of O2(g) available nad more reduced species in solution, so it might drop.
The water stability equation trick is nice way to define pe's, I commonly use very low partial pressures like 10^55 atms, or even lower (the limit is about log 83.1 lower water stability limit (at 1 atm), where you get a partial pressure of H2 at 1 atm) to get close to reducing conditions for example i will prepare speciation plots at fixed partial pressures of O2(g). But these are fixes, not reality, the actual process is kinetically limited. See Langmuir's book on Aqueous Environmental Geochemistry for more discussion. The difference in the stability constants between values shown in texts like Langmuir's or I think even Garrels and Christ, is that PHREEQC uses a slightly different definition and so the Henry's Law constants are incorporated into the definitions.
Anderson's book on Thermodynamics of Natural Systems also discusses this and he has a figure that suggests that some of these low partial pressures can be represented by one oxygen molecule in the spherical volume of the solar system, or for even lower pressures a spherical light year; a simple fix but not real.

Thank you both John and David for your answers, they were very helpfull to me!