PhreeqcUsers Discussion Forum

Registrations currently disabled due to excessive spam. Please email phreeqcusers at gmail.com to request an account.
Welcome Guest
 

  • Forum Home
  • Login
  • Register

  • PhreeqcUsers Discussion Forum »
  • Processes »
  • Dissolution and precipitation »
  • Calculating Solubility in Open System with high pH
« previous next »
  • Print
Pages: [1]   Go Down

Author Topic: Calculating Solubility in Open System with high pH  (Read 2734 times)

bschroth

  • Frequent Contributor
  • Posts: 20
Calculating Solubility in Open System with high pH
« on: 08/03/22 01:29 »
Hello:
I am trying to calculate solubility curves for several mineral phases in an open system, ranging from pH 4 to 14.  I am using the pH_fix technique in EQUILIBRIUM_PHASES to adjust pH in the alkaline range with NaOH, and fix the SI of CO2(g) at -3.5.  This works fine but when I get to pH 10 or above the simulation will not converge.  I believe this is because CO2(g) cannot maintain that fugacity at elevated pH.  However, if I switch to a closed system for higher pH there is an awkward change in solubility.  Is there a method to help the program converge for pH 10-14, or should that range simply be blank for an open system?

Thanks
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4037
Re: Calculating Solubility in Open System with high pH
« Reply #1 on: 08/03/22 05:12 »
The solubility of CO2(g) at a fixed partial pressure of 10^-3.4 gets very large above pH 10--on the order of many moles, and the amount of NaOH needed is also many moles. PHREEQC will fail to converge at some point using either phreeqc.dat or pitzer.dat.

I think the fundamental issue is that you are trying to solve an unrealistic physical system. I don't see any plausible way that a system could attain a pH greater than 10 and still have atmospheric P(CO2). Said another way, any real system in equilibrium with the atmosphere will have a pH of about 10 or less.

The following simulation adds up to 10 moles of NaOH, which is probably past the limit of the phreeqc.dat aqueous model, but it shows the expected trends in the molalities of Na and C.

Code: [Select]
SOLUTION 1
END
USE solution 1
EQUILIBRIUM_PHASES 1
CO2(g) -3.4 100
REACTION 1
NaOH 1
1e-6 1e-5 1e-4 1e-3 1e-2 1e-1 1 10
USER_GRAPH 1
    -headings               pH Na C
    -axis_titles            "pH" "Log10 mol/kgw" ""
    -axis_scale y_axis      auto auto auto auto
    -initial_solutions      false
    -connect_simulations    true
    -plot_concentration_vs  x
  -start
10 GRAPH_X -LA("H+")
20 GRAPH_Y (TOT("Na")), (TOT("C"))
  -end
    -active                 true
END
Logged

bschroth

  • Frequent Contributor
  • Posts: 20
Re: Calculating Solubility in Open System with high pH
« Reply #2 on: 09/03/22 00:10 »
Thanks - this makes sense, and I thought the same.  I will cut off at 9 or 10.  "Grafting" a closed system curve above 10 results in a step change in solubility, so that is not a good option even if noted on the figure.
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4037
Re: Calculating Solubility in Open System with high pH
« Reply #3 on: 09/03/22 03:34 »
If you are adding NaOH, at pH 9 or 10 and equilibrium with atmospheric CO2, you are also supersaturated with Na-CO3 minerals like trona and nahcolite. 
Logged

bschroth

  • Frequent Contributor
  • Posts: 20
Re: Calculating Solubility in Open System with high pH
« Reply #4 on: 14/03/22 21:59 »
Understood - another question: for other pH points, there is convergence, but over some pH ranges, the target pH is not reached.  For example instead of calculating a solution concentration at pH 8.0, 8.5, and 9.0, I will get a pH for outside of this range for all three simulations (an uneven value like 10.23) with the same concentration.  This occurs in both open and closed system simulations for many minerals.  What is the cause of this, and is there any way to avoid this?  An example of this was trying to determine solubility of Ferrite-Dicalcium (llnl.dat database) over the pH range 6-13.  Between 6.0 and 7.5, a pH of 7.94 is calculated; from 8.0 through 11.5, a pH of 11.66 is calculated.  Between pH 12.0 and 13.0, the target pH is calculated.
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4037
Re: Calculating Solubility in Open System with high pH
« Reply #5 on: 15/03/22 02:32 »
Sometimes adding -force following the Fix_H+ phase will help, but it may just be high concentrations that are causing the problem.

Attach an input file and I will take a look.
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4037
Re: Calculating Solubility in Open System with high pH
« Reply #6 on: 15/03/22 03:05 »
There could be a problem if you only added NaOH to adjust pH. Over most of the range, you actually need to add HCl. This file contains the trick to add acid or base as needed. It runs from pH 6 to 13, but it limits the amount of ferrite-dicalcium that can dissolve to just 1.0 mole; otherwise the concentrations get large (10s of moles of HCl).

Code: [Select]
PHASES
Fix_H+
H+ = H+
log_k 0
NaCl
NaCl = Na+ + Cl-
log_k 0
END
USER_GRAPH 1
    -headings               pH Fer-DiCal_dissolved HCl_added NaOH_added
    -axis_titles            "pH" "Moles" ""
    -axis_scale y_axis      auto auto auto auto log
    -initial_solutions      false
    -connect_simulations    true
    -plot_concentration_vs  x
  -start
10 GRAPH_X -LA("H+")
20 GRAPH_Y -EQUI_DELTA("Ferrite-Dicalcium"), -EQUI_DELTA("Fix_H+"), -EQUI_DELTA("NaCl")
  -end
    -active                 true
SOLUTION
EQUILIBRIUM_PHASES
Ferrite-Dicalcium 0 1
Fix_H+ -13 HCl 10
NaCl   -20 10
END
USE solution 1
EQUILIBRIUM_PHASES
Ferrite-Dicalcium 0 1
Fix_H+ -12 HCl 10
NaCl   -20 10
END
USE solution 1
EQUILIBRIUM_PHASES
Ferrite-Dicalcium 0 1
Fix_H+ -11 HCl 10
NaCl   -20 10
END
USE solution 1
EQUILIBRIUM_PHASES
Ferrite-Dicalcium 0 1
Fix_H+ -10 HCl 10
NaCl   -20 10
END
USE solution 1
EQUILIBRIUM_PHASES
Ferrite-Dicalcium 0 1
Fix_H+ -9 HCl 10
NaCl   -20 10
END
USE solution 1
EQUILIBRIUM_PHASES
Ferrite-Dicalcium 0 1
Fix_H+ -8 HCl 10
NaCl   -20 10
END
USE solution 1
EQUILIBRIUM_PHASES
Ferrite-Dicalcium 0 1
Fix_H+ -7 HCl 10
NaCl   -20 10
END
USE solution 1
EQUILIBRIUM_PHASES
Ferrite-Dicalcium 0 1
Fix_H+ -6 HCl 10
NaCl   -20 10
END
Logged

bschroth

  • Frequent Contributor
  • Posts: 20
Re: Calculating Solubility in Open System with high pH
« Reply #7 on: 15/03/22 20:34 »
Thank you David - that worked like a charm.  I limited the moles of solid to 1.0 and applied the NaCl "trick", and this combination provided the target pH throughout the range.
Logged

  • Print
Pages: [1]   Go Up
« previous next »
  • PhreeqcUsers Discussion Forum »
  • Processes »
  • Dissolution and precipitation »
  • Calculating Solubility in Open System with high pH
 

  • SMF 2.0.19 | SMF © 2021, Simple Machines | Terms and Policies
  • XHTML
  • RSS
  • WAP2