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 »
  • Acid mine/rock drainage »
  • Calculation of Acidity from PHREEQC Output
« previous next »
  • Print
Pages: [1]   Go Down

Author Topic: Calculation of Acidity from PHREEQC Output  (Read 3038 times)

bschroth

  • Frequent Contributor
  • Posts: 20
Calculation of Acidity from PHREEQC Output
« on: 04/06/21 22:52 »
Hello:
I have fresh water mixing with acidic, metal-rich waters and would like to calibrate the mixture to measured acidity in the observed mixture.  I have several waters with complete chemical analysis, including acidity, and none of the various formulas for acidity are consistently matching the measured data.  Is this an artifact of laboratory vs theoretical acidity, or is there a more accurate method of calculating acidity from PHREEQC output (including iron, aluminum, and other metals) that should match the laboratory data?

Thanks
Brian
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4034
Re: Calculation of Acidity from PHREEQC Output
« Reply #1 on: 05/06/21 03:05 »
The following script estimates acidity. It makes an acidity titration to pH 4.5 using 1 N NaOH. There are a couple of caveats. (1) The titration assumes redox equilibrium, so redox reactions may affect the result. (2) There are some assumptions in the conversion from /L to /kgw and back again that cause some relatively small errors.

I'm sure there are other uncertainties, but I think the calculation should be in the ball park of a lab titration. If there are large discrepancies, post an example. Then again, maybe that is not the method used for the acidity measurement.

Code: [Select]

SOLUTION 1 Calculate acidity for this solution in USER_PRINT
-units mmol/L
pH 3
Fe(3) 1
Al    1
S(6)  6 charge
END

PHASES
Fix_H+
H+ = H+
END

USE solution 1
EQUILIBRIUM_PHASES
Fix_H+ -4.5 H112O56.5Na1.0 1
USER_PRINT
10 PRINT "Acidity:", -EQUI_DELTA("Fix_H+"), " eq per liter"
20 PRINT "Acidity: ", \
         STR_F$(-EQUI_DELTA("Fix_H+") * GFW("CaCO3")/2*1000, 6, 1), \
         "      mg CaCO3/L"
END
Logged

bschroth

  • Frequent Contributor
  • Posts: 20
Re: Calculation of Acidity from PHREEQC Output
« Reply #2 on: 08/06/21 00:03 »
Thanks David
That makes sense, although I believe your approach would calculate H+ acidity, while in my case the acidity procedure has been described by Hedin (2006) as (a) titration with acid to drive off the alkalinity (to pH<4), (b) boiling with peroxide to convert all redox-sensitive metals to oxidized states, and (c) titration with NaOH to pH 8.3, with metal hydroxides forming during the titration.  I am simulating this using the principles you provided, and setting saturation with atmospheric oxygen to cover (b) above.  I am currently using the following:

EQUILIBRIUM_PHASES 2
pH_fix  -3.5  HCl 10.0 dissolve_only
O2(g) -0.7 10.0
SAVE SOLUTION 11
END

USE Solution 11
EQUILIBRIUM_PHASES 3
pH_fix -8.3  NaOH 10.0
O2(g) -0.7 10.0
Fe(OH)3_Maj 0.0 0.0
Gibbsite 0.0 0.0
Manganite 0.0 0.0
END

However, I note that for acid waters with pH<3.5, the EQUILIBRIUM_PHASES 2 block causes SUBTRACTION of HCl from the solution to attain pH 3.5.  Using the dissolve_only modifier results in non-convergence.  Using force_quality does not help this situation.  How do I make PHREEQC refrain from sending the pH up in these situations?

Thanks for your help on this
Logged

bschroth

  • Frequent Contributor
  • Posts: 20
Re: Calculation of Acidity from PHREEQC Output
« Reply #3 on: 08/06/21 00:26 »
Forgot to provide the reference for Hedin (2006):  Mine Water and the Environment (2006) 25: 146–152
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4034
Re: Calculation of Acidity from PHREEQC Output
« Reply #4 on: 08/06/21 06:18 »
I don't think removing Cl is a problem as long as it is considered acidity or negative alkalinity. I would be a problem if there were no Cl in solution.

Here is a script that calculates the addition of HCl to pH 3.5 as alkalinity, but if pH is less than 3.5, it adds NaOH to to increase the pH to 3.5 and counts it as acidity (or negative alkalinity). pH 3.5 seems a little low to me, perhaps pH 4.0 would be a compromise.

The final acidity is the amount of base added to reach pH 8.3 minus the alkalinity (which may be negative).

Code: [Select]
SOLUTION 1 Calculate acidity for this solution in last USER_PRINT
-units mmol/L
pH 3 
Fe(3) 1
Al    1
Mn    1
S(6)  6 charge
C(4)  1
END

PHASES
Fix_H+
    H+ = H+
    log_k     0
END

TITLE equilibrate with atmospheric CO2
USE solution 1
EQUILIBRIUM_PHASES 1
    CO2(g)    -3.4 1
SAVE solution 1
SELECTED_OUTPUT 2
-file pH_3.5.pqi
USER_PUNCH 2
 10 IF -LA("H+") <= 3.5 THEN r$ = " NaOH 10" ELSE r$ = " HCl 10 "
 20 IF -LA("H+") <= 3.5 THEN d = 1 ELSE d = 2
 30 s$ = "USE solution 1" + EOL$
 40 s$ = s$ + "EQUILIBRIUM_PHASES 1" + EOL$
 50 s$ = s$ + "CO2(g) -3.4 0" + EOL$
 60 s$ = s$ + "Fix_H+ -3.5 " + r$ + EOL$
 70 s$ = s$ + "SAVE solution 1" + EOL$
 80 s$ = s$ + "USER_PRINT" + EOL$
 90 s$ = s$ + '10 PUT(EQUI_DELTA("Fix_H+"),' + STR_F$(d, 2, 0) + ")" + EOL$
100 s$ = s$ + '20 PRINT r$, d, EQUI_DELTA("Fix_H+")' + EOL$
200 PUNCH s$
END

SELECTED_OUTPUT 2
-active false
END

TITLE titrate to pH_3.5 with HCl or NaOH
INCLUDE$ pH_3.5.pqi
END

TITLE titrate to pH 8.3 with NaOH
USE solution 1
EQUILIBRIUM_PHASES 1
    Fix_H+    -8.3 NaOH      10
    Gibbsite  0 0
    Goethite  0 0
    O2(g)     -0.7 10
    Pyrolusite 0 0
USER_PRINT
 10 PRINT "NaOH added to pH 3.5:", -GET(1)
 20 PRINT "HCl  added to pH 3.5:", -GET(2)
 30 PRINT "NaOH added to pH 8.3:", -EQUI_DELTA("Fix_H+")
 40 alka = -GET(2) + GET(1)
 50 acid = -EQUI_DELTA("Fix_H+") - alka
110 PRINT "Acidity, eq per liter: ", STR_E$(acid, 10, 4)
120 PRINT "Acidity, mg CaCO3/L:  ", STR_F$(acid * GFW("CaCO3")/2*1000, 6, 1)
END
« Last Edit: 08/06/21 06:24 by dlparkhurst »
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4034
Re: Calculation of Acidity from PHREEQC Output
« Reply #5 on: 09/06/21 18:03 »
If you have a lot of samples to calculate, here are some files that will allow you to calculate net acidity for a series of solutions defined in SOLUTION_SPREAD.

You need to modify Solution_spread_acidity.pqi to contain your analyses and then run it. Solution_spread_acidity will INCLUDE$ the file "calc_acidity.pqi", which in turn uses the file "acidity.pqi", but you do not need to modify these two files unless you want to add additional output. Another file, calc_acidity_helper.pqi, is generated automatically as part of the run.
Logged

pam@lifecyclegeo.com

  • Contributor
  • Posts: 1
Re: Calculation of Acidity from PHREEQC Output
« Reply #6 on: 29/08/24 18:49 »
Not able to download.  Could you re-post those files, please?
Logged

  • Print
Pages: [1]   Go Up
« previous next »
  • PhreeqcUsers Discussion Forum »
  • Processes »
  • Acid mine/rock drainage »
  • Calculation of Acidity from PHREEQC Output
 

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