Processes > Dissolution and precipitation

Arsenopyrite Precipitation, Saturation Index

(1/1)

Gunther_Schletter:
Currently working on developing a model for a set of column experiments in which in-situ arsenic removal was simulated. In our observed results there was high iron and arsenic removal in the aqueous solution. We also have solid analysis results of the column substrate before and after the treatment period where higher substrate concentrations were found of iron, arsenic and sulfur minerals. Decided on Arsenopyrite as the precipitating mineral because its one of the most commonly found arsenic minerals and it would explain liquid phase removal of iron, arsenic and sulfur (1). FeS(ppt) is also included because overall we see a greater formation of iron and sulfur minerals.

Rate equations chosen off of selected literature (2) and standard rate equations for mineral precipitation using saturation ratio (3).

The issue I am having (or at least suspected issue) is the saturation index isn't above one and therefore not precipitating, resulting in no removal of iron and arsenic from solution. Any ideas to resolve this or overall improve my input is greatly appreciated!

References
1. Welch, A. H., & Stollenwerk, K. G. (Eds.). (2003). Arsenic in ground water: geochemistry and occurrence. Springer Science & Business Media.
2. Sun, J., Prommer, H., Siade, A. J., Chillrud, S. N., Mailloux, B. J., & Bostick, B. C. (2018). Model-based analysis of arsenic immobilization via iron mineral transformation under advective flows. Environmental science & technology, 52(16), 9243-9253.
3. Appelo, C. A. J., & Postma, D. (2004). Geochemistry, groundwater and pollution. CRC press.


SOLUTION_MASTER_SPECIES
 
#element      species    alk    gfw_formula    element_gfw

Fe_di         Fe_di+2      0.0   Fe_di      55.847   #Fe(+2)

As_three            H3As_threeO3   0.0   As_three   74.9216
#
## Organic Species
Lac          Lac-       0.0     Lac             12.0111   
Acetate              Acetate-    0.0   Acetate         12.0111   



SOLUTION_SPECIES
 
# Fe2
Fe_di+2 = Fe_di+2
   log_k   0.0
   -gamma   6.0   0.0
   -dw    0.719e-9

#As3   primary master species
H3As_threeO3 = H3As_threeO3
   log_k   0.0
 
## lactate and acetate solution species
Lac- = Lac-
   log_k   0.0
 
Acetate- = Acetate-
   log_k   0.0
 

PHASES
Arsenopyrite
    Fe_diAs_threeS + 2H2O + OH- = Fe_di+2 + H3As_threeO3 + HS- + H+ + 3e-
    log_k 15.966 # -10 and -20 decreasing log K didn't increase SI

RATES
    Lac
-start
10   mLac = TOT("Lac")
20   rate  = parm(1) * mLac
30   moles = rate * time
35   put(rate,10)
40   save moles
-end

    FeS(ppt)
-start
10 rate = PARM(1)*(1-SR("FeS(ppt)")) # IAP/Ksp
20 moles = rate*TIME
25 put(rate,12)
30 SAVE moles
-end

    Arsenopyrite
-start
10 rate = PARM(1)*(1-SR("Arsenopyrite"))
20 moles = rate*time
25 put(rate,13)
30 SAVE moles
-end

KINETICS 0-40 #Three kinetic reactions for all cells
Lac
    -formula  Acetate-  2 H+  1 HCO3-  2 HS-  1 Lac-  -2 SO4-2  -1
    -parms    1e-07
    -tol      1e-08

FeS(ppt)
  -formula  Fe_di -1 As_three -1 FeS(ppt)  1
    -m        0
    -m0       0
     -parms    1e-16
     -tol      1e-08

Arsenopyrite
    -formula Fe_di  -1  As_three  -1  HS-  -1  Arsenopyrite  1
    -parms   1e-08
    -tol     1e-08



EQUILIBRIUM_PHASES 0-40
    Arsenopyrite 0 0 precipitate_only

#---------------------------------------#
# Equilibrium with  GW at site GWA
#---------------------------------------#
SOLUTION 1-40
    temp      15
    pH        7.87
    pe        -4
    units     mmol/kgw
    density   1
    Alkalinity 5.81
    #As_five   0.2 umol/kgw
    As_three  1.388 umol/kgw
    Ca        1.921
    Cl        6.798
    Fe_di     0.895 umol/kgw
    K         0.169
    Lac       0.18 mmol/kgw
    Mg        2.304
    Mn        282 ug/kgw
    N    1.357
    Na        9.482
    S(6)      2.719
    -water    1 # kg
END

#---------------------------------------#
# First Introduction of Groundwater YCB
#---------------------------------------#
SOLUTION 0 injection
    temp      15
    pH        7.77
    pe        -1.87
    units     mmol/kgw
    density   1
    Alkalinity 9.51
    Lac       0.5 mmol/kgw
    Ca        1.799
    Cl        3.695
    Fe_di     9.45538 umol/kgw # Originally 1.611, changed based on measured influent iron data, see GWa_b_input.xlsx
    K         0.041
    Mg        1.074
    Mn        316 ug/kgw
    N     0.149
    Na        8.264
    S(6)      0.807
    #As_five   0.267 umol/kgw
    As_three  1.188 umol/kgw
    -water    1 # kg
END

TRANSPORT
   -cells  40
   -shifts 700
   -flow_direction  Forward
  # -initial_time 0
   -time_step     33231
   -boundary_conditions   flux  flux
   -diffusion_coefficient 0.0
   -lengths         40*.0025
   -dispersivities  40*0.0000245
   -correct_disp true
   -punch_cells       40
 
END

dlparkhurst:
I'm not sure where to begin. I think you should first try a batch calculation to get the chemistry right.

Your formulas for KINETICS are not correct. You should not include both the mineral and its component aqueous species. I am not sure your other formulas are correct either. I would start without separating As_three or Fe_di.

I doubt you will reach equilibrium with arsenopyrite. I think it is more likely that arsenic sorbs, precipitates as a trace component of FeS, or precipitates as As2S3 (orpiment).

I have crudely hacked a SOLID_SOLUTION such that arsenic will coprecipitate. Alternatively, you can simply include orpiment as a kinetic reaction or an equilibrium phase.

I have simplified to include Acetate as a kinetic reaction, and I have used llnl.dat because it contains definitions for Acetate.

These comments will not fix all of your problems, but maybe it will give you a start.


--- Code: ---PHASES
FeS(ppt)
FeS + H+ = Fe+2 + HS-
-log_k -3.915
RATES
    Acetate
-start
10   mAc = TOT("Acetate")
20   rate  = parm(1) * mAc
30   moles = rate * time
35   put(rate,10)
40   save moles
-end
END
USER_GRAPH 1
    -headings               time Fe As
    -axis_titles            "Time" "Moles" ""
    -axis_scale y_axis      auto auto auto auto log
    -initial_solutions      true
    -connect_simulations    true
    -plot_concentration_vs  x
  -start
10 GRAPH_X TOTAL_TIME
20 GRAPH_Y TOT("Fe"), TOT("As")
  -end
    -active                 true

SOLUTION 1
    temp      15
    pH        7.87
    pe        -4
    units     mmol/kgw
    density   1
    Alkalinity 5.81
    As  1.388 umol/kgw
    Ca        1.921
    Cl        6.798
    Fe        0.895 umol/kgw
    K         0.169
    Acetate       0.18 mmol/kgw
    Mg        2.304
    Mn        282 ug/kgw
    N    1.357
    Na        9.482
    S(6)      2.719
    -water    1 # kg
END
USE solution 1
KINETICS 1 #Three kinetic reactions for all cells
Acetate
    -formula  Acetate -1 CH3COOH 1
    -parms    1e-05
    -tol      1e-08
-step 86400 in 10
SOLID_SOLUTION
Fe-As-S
-comp FeS(ppt) 0 0
-comp Orpiment 0 0
END



--- End code ---

Gunther_Schletter:


Thank you so much for taking the time I really appreciate it. My apologies after reviewing the phreeqc manual and the example block in kinetics I can see the aqueous species aren?t included for precipitation reactions. Just a couple of questions:
1.   What function does the Acetate reaction in this example serve in precipitation of iron and arsenic minerals?
2.   Is there any particular reason why you chose to do the precipitation reaction using the SOLID_SOLUTIONS datablock?
3.   Is the proper way to input a precipitation reaction using the KINETICS block by simply making the mineral phase something like: -formula FeS(ppt) 1? If so is this just relying on the Saturation index to be greater than 0, resulting in precipitation?

dlparkhurst:
1.   What function does the Acetate reaction in this example serve in precipitation of iron and arsenic minerals?

The addition of CH3COOH causes reduction. Any carbon added must end up as either C(4) (carbonate species) or C(-4) (methane); there are no other carbon valences in (most) databases. If it is acetate is oxidized to C(4), then an electron acceptor must be reduced. In your system, Fe(3), As(5), or S(6) could be the electron acceptor. The most thermodynamically favorable electron acceptor that is present will be used. If all electron acceptors are exhausted, methane will be produced.

2.   Is there any particular reason why you chose to do the precipitation reaction using the SOLID_SOLUTIONS datablock?

I did not think arsenopyrite would precipitate, but I assumed you observed a decrease in As. You will have to pick your reaction for arsenic, which could be sorption, precipitation of orpiment, or coprecipitation with FeS. Maybe you can think of others. I arbitrarily, and perhaps unjustifiably, set up a coprecipitation reaction.

3.   Is the proper way to input a precipitation reaction using the KINETICS block by simply making the mineral phase something like: -formula FeS(ppt) 1?

Yes.

If so is this just relying on the Saturation index to be greater than 0, resulting in precipitation?

KINETICS relies on the RATES equation that you use. Logically, precipitation of a mineral should occur only when supersaturated, but that requires that your RATES equation enforces that condition. A RATES definition will do whatever is programmed.

Gunther_Schletter:
Thanks buddy!

Navigation

[0] Message Index

Go to full version