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 »
  • Creating pH solubility curves for minerals
« previous next »
  • Print
Pages: [1]   Go Down

Author Topic: Creating pH solubility curves for minerals  (Read 3785 times)

J.Hopwood

  • Contributor
  • Posts: 4
Creating pH solubility curves for minerals
« on: 31/08/17 17:20 »
I wonder if anyone can help me draw pH solubility curves in PHREEQC Interactive.

I can do the long way which is to do individual batch files for a set pH but it takes time and id like to do it all in one go.   

There is an example for gibbsite on the web at www.hydrochemistry.eu/exmpls/gibbsite.html. This produces a nice pH curve. The code specifies a concentration of aluminium and then equilibrates it with gibbsite so that the SI = zero. It does this for a range of pH values using the USER_PUNCH command and then plots a nice graph.

So i have tried to copy the format for other minerals. But I have found it difficult for minerals where there are two or more elements (other than O and OH). I have tried to do barium sulphate. Its worked to some extent but I end up with the concentration of barium ions being much smaller than the concentration of sulphate ions.

The file is wrote is:

# pH-dependent Ba concentration in equilibrium with barite
#
SOLUTION 1
    temp      25
    pH        3
    pe        4
    redox     pe
    units     mmol/kgw
    density   1
    S(6)      1 Barite     0
    Ba        1 Barite     0
        -water    1 # kg
USER_GRAPH 1
    -axis_titles            "pH" "( Ba_tot / uM )" "(S_tot / uM)"
    -chart_title            "Barite Equilibrium"
-headings x Ba SO4
-connect_simulations
 -initial_solutions true
 -start
10 graph_x -la("H+")
20 graph_y (tot"Ba")*1e6
30 graph_sy (tot"S(6)")*1e6     #conc of sulphate on secondary y axis
  -end
    -active                 true

SELECTED_OUTPUT; -reset false; -file barite.prn
USER_PUNCH
20 sc$ = chr$(59)
30 for i = 3.5 to 12 step 0.5
40   punch "SOLUTION 1" + sc$ + " pH " + str$(i) + sc$ + " S(6) 1 Barite " + sc$ + " Ba 1 Barite" + eol$
50   punch "END" + eol$
60 next i
-end
END

PRINT; -reset false; -selected_out false
INCLUDE$ barite.prn
END

----------------------------------------------------------------------------------------

Ive ended up equilibrating barite to both barium and sulphate as this is the only way it will work.

Really what id like to know different ways of producing pH solubility curves using PHREEQC. Can anyone help or show me an input file(s) that work.

Many Thanks
Jeremy



 
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4062
Re: Creating pH solubility curves for minerals
« Reply #1 on: 31/08/17 18:03 »
This example starts with an HCl solution of pH 3 and titrates to 12.5 with NaOH. The HCl solution contains no Ba or SO4, so the equilibration with Barite introduces Ba and SO4 in equal amounts. Results would differ if Ba or SO4 were present in the original solution.


PHASES
Fix_H+
H+ = H+
log_k 0
END
# pH-dependent Ba concentration in equilibrium with barite
#
SOLUTION 1
    temp      25
    pH        3
    pe        4
    redox     pe
    units     mmol/kgw
    density   1
    Cl        1 charge
    #S(6)      1 Barite     0
    #Ba        1 Barite     0
        -water    1 # kg

SELECTED_OUTPUT; -reset false; -file barite.prn
USER_PUNCH
20 sc$ = chr$(59)
30 for i = 3.5 to 12 step 0.5
40   punch "USE solution 1",EOL$
50   PUNCH "EQUILIBRIUM_PHASES",EOL$,"Barite",EOL$,"Fix_H+ ",-i," NaOH 10",EOL$
60   punch "END" + eol$
70 next i
-end
END
USER_GRAPH 1
    -axis_titles            "pH" "( Ba_tot / uM )" "(S_tot / uM)"
    -chart_title            "Barite Equilibrium"
-headings x Ba SO4
-connect_simulations
 -initial_solutions true
 -start
10 graph_x -la("H+")
20 graph_y (tot"Ba")*1e6
30 graph_sy (tot"S(6)")*1e6     #conc of sulphate on secondary y axis
  -end
    -active                 true
END

PRINT; -reset false; -selected_out false
INCLUDE$ barite.prn
END
Logged

J.Hopwood

  • Contributor
  • Posts: 4
Creating pH solubility curves for minerals
« Reply #2 on: 31/08/17 20:40 »
Many thanks for your speedy reply, its much appreciated. I will do it this way in future. Jeremy
Logged

  • Print
Pages: [1]   Go Up
« previous next »
  • PhreeqcUsers Discussion Forum »
  • Processes »
  • Dissolution and precipitation »
  • Creating pH solubility curves for minerals
 

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