PhreeqcUsers Discussion Forum

Beginners => PHREEQC basics => Topic started by: a88y on June 16, 2021, 02:15:41 AM

Title: pH of initial solution in atmospheric equilibrium?
Post by: a88y on June 16, 2021, 02:15:41 AM
Hello brand new user here!
I am trying to set up a very simple mineral dissolution model to plan my experimental conditions. I am having trouble figuring out how to correctly set my initial SOLUTION (deionized water exposed to atmosphere). Specifically, I get two different results when trying two different methods that both seem reasonable. First, I tried pH = 7 in SOLUTION 1, and the appropriate O2(g) and CO2(g) partial pressures in EQUILIBRIUM_PHASES 1. This resulted in a solution with pH ~ 5.6, which I understand is correct for pure water in equilibrium with CO2. For the second method, I instead set the O2(g) and CO2(g) partial pressures in SOLUTION 1 (also still in EQUILIBRIUM_PHASES 1), and omit pH. This resulted in a solution at pH ~7.

Option 1 - Set initial pH: result is pH ~5.6
SOLUTION 1 Pure water
   pH      7.0                     
   temp       20
   pressure   1
   units     mmol/l
   density   1   
   #Mg   1   #Adjusted in subsequent iterations
   #SO4   1   #Adjusted in subsequent iterations

EQUILIBRIUM_PHASES 1   
   O2(g)       -0.69897   
   CO2(g)      -3.3904


Option 2: Set initial CO2: result is pH ~7
SOLUTION 1 Pure water               
   temp       20
   pressure   1
   units     mmol/l
   density   1   
   O(0) 10 O2(g) -0.69897   
   C(4)            .1      CO2(g)  -3.3904   
   #Mg   1   #Adjusted in subsequent iterations
   #SO4   1   #Adjusted in subsequent iterations
      
EQUILIBRIUM_PHASES 1   
   O2(g)       -0.69897   
   CO2(g)      -3.3904


Can anyone please explain what I am missing / which is the correct method?

((( FYI - I will be dissolving olivine in water of different saturation states, and want to see what initial solution configurations get me to my desired saturation point. The initial solution has set MgSO4, and I want to see the saturation indices of solutions with various SiO4  concentrations. So my remaining code is this:
USE solution 1
USE equilibrium_phases 1
REACTION 1   
   SiO4 1      
   1 mmoles in 51 steps   
END
)))

I've tried searching the forum but can't find an answer. Any advice / referral to another post appreciated. :)
Title: Re: pH of initial solution in atmospheric equilibrium?
Post by: dlparkhurst on June 16, 2021, 03:50:14 AM
Option 1. You started with 1kg of pure water and then added CO2 and O2 to reach equilibrium with the atmosphere. The dissolved CO2 dissociates a little, CO2 + H2O = HCO3- + H+, resulting in a pH of 5.6.

Option 2. You specified the pH of 7.0 and O2 and CO2 are added until equilibrium with the atmosphere. Because you fixed the pH, there was no way to achieve pH 5.6. The piece that is missing is to allow the pH to vary by using the charge balance option "pH 7 charge". If you do that, the pH will adjust to achieve charge balance at pH 5.6.

Just to be pedantic, there are a couple minor subtleties. (1) The pure water in option 1 could be charge balanced. The pH of pure water at 20 C is not exactly 7, so you could use the "charge" option on pure water too. (2) The two options differ slightly. In option 1, the pure water has 1 kg of H2O. When the water is reacted with EQUILIBRIUM_PHASES, some CO2 reacts with H2O (CO2 + H2O = HCO3- + H+), so the reacted solution has slightly less than 1 kg H2O. With option 2, the CO2 and O2 are added and then the solution is scaled to contain 1 kg H2O. So concentrations are the same, but the mass of solution and the mass of H2O are slightly different between options 1 and 2.
Title: Re: pH of initial solution in atmospheric equilibrium?
Post by: a88y on June 16, 2021, 08:23:29 PM
Thank you!! :)

Just to be clear:
In Option 1, I specified pH=7 in the initial solution (resulting pH was 5.6).
In Option 2, I didn't specify pH, and instead specified atmospheric equilibrium in the initial solution (and the resulting pH was 7).

So ironically, the solution in which I didn't specify initial pH=7 (Option 2) ends up getting stuck at pH~7. Is this because by omitting pH from SOLUTION 1, the default is set to 7, so I've effectively forced both pH=7 and atmospheric equilibrium? I assume that is what's happening, but want to verify. I was thinking that omitting pH would allow it to vary, but apparently you need to explicitly add "charge" to the initial pH to allow it to do so. (Or, as I did in a more roundabout way in Option 2, set pH=7, then run a simulation allowing it to vary/equilibrate with the atmosphere.)

Thanks for your minor points as well. I follow both, and will adjust accordingly.
Title: Re: pH of initial solution in atmospheric equilibrium?
Post by: dlparkhurst on June 16, 2021, 10:09:34 PM
Option 1, you set the pH of the solution of pure water at 7, which was close to what the charge-balanced pH should be. When you react a solution with EQUILIBRIUM_PHASES, it is a "reaction" calculation, and pH is adjusted to maintain the charge balance (or imbalance) of the initial solution. pe is also adjusted to bring any redox couples into redox equilibrium, that is, the pe calculated from all redox couples present in the solution will be the same.

Option 2, default pH is 7 if it is not defined in the SOLUTION block, and it will not be adjusted. You would need to define pH with "charge" to allow the pH to be adjusted to achieve charge balance. Speciating a SOLUTION is an "initial solution" calculation, in which case charge imbalance and redox disequilibrium  are allowed.