Processes > Inverse modelling

Inverse modeling of Zn release in pure water

(1/2) > >>

RadiantRocks23:
Dear Mr. Parkhurst,

I am studying the release of Zn from the dissolution of process materials, identifying Zn in apatite and sphalerite. I conducted leaching tests with pure water and analyzed the leachates, obtaining initial and final concentrations of Zn and other elements. I aim to determine the contribution of each mineral to the Zn release.

I attempted to solve my problem by an inverse geochemical modeling approach. I added Fluorapatite because I don't think it exists in the database I use, and I added some Zn in the structure.


--- Code: ---SOLUTION 1
    temp      25
    pH        0.5
    pe        4
    redox     pe
    units     mg/l
    density   1
    Al        0
    Ca        0
    F         0
    Fe       0
    P         0
    S(6)      0
    Si        0
    Zn        0
    -water    0.01 # kg
 
SOLUTION 2
    temp      25
    pH        0.9
    pe        4
    redox     pe
    units     mg/l
    density   1
    -water    0.01 # kg
    Al        300
    Ca        1000
    F         30
    Fe       1100
    P         8000
    S(6)      61
    Si        20
    Zn        7
INVERSE_MODELING 1
        -solutions 1 2
        -uncertainty 0.05
        -phases
                Fluorapatite
                Sphalerite 
                Quartz     
                Kaolinite
                Gypsum
                O2(g)
                Pyrite
                Kaolinite
        -mineral_water true
        -tolerance 1e-10
 
PHASES
 
Fluorapatite
    Ca4.999P3O12F1Zn0.001 + 3H+ = 4.999Ca+2 + F- + 3HPO4-2 + 0.001Zn+2
    -analytical_expression 29064.06 8.907085 -1192683 -11346.08 53046470 -0.003060213
    -Vm       157.56 cm3/mol
END

--- End code ---

By running this code, I obtain the error "not possible to balance solution 1 and 2 with input uncertainties". I don't understand why because I tried following your advices given in the forum. I believe that each element has a source defined in -phases. I also added O2(g) for redox reaction to occur.

Could you help me understand why this error occurs?

Best regards,

dlparkhurst:
You have specified a pH of 0.5, but no strong-acid anion. If solution 1 is an acid, you need to define the solution differently. If it is 0.5 molar HF, I would define it as follows:


--- Code: ---SOLUTION 1
-units mol/L
-density 1 calc
pH 0.5 charge
F 0.5
-water    0.01 # kg

--- End code ---

If the acid is HCl, you would use Cl 0.5, but you would need an analysis of Cl in SOLUTION 2.

After you are able to get charge balance in both of your solutions, then you can consider other minerals that may be reacting until you start to find some models.

RadiantRocks23:
Thanks a lot for your prompt answer. The acid used is nitric acid, I therefore use N here instead of Cl. I kept F because it is in fluorapatite. I found a model working with the following code including niter and
Cu2(OH)3NO3 to balance N. I just would like a clarification. By running this model below,


--- Code: ---SOLUTION 1
    temp      25
    pH        0.5 charge
    pe        4
    redox     pe
    units     mg/l
    density   1 calc   
    Ca        0
    Cu        0
    F         0
    Fe        0
    P         0
    S         0
    K         0
    Zn        0
    N     0.31 mol/l
    -water    0.01 # kg
 
SOLUTION 2
    temp      25
    pH        0.72 charge
    pe        4
    redox     pe
    units     mg/l
    density   1 calc
    Ca        120
    Cu        3
    F         30
    Fe        1100
    P         8600
    S         61
    Zn        7
    K         173
    N         0.1
   -water    0.01 # kg
 
INVERSE_MODELING 1
        -solutions 1 2
        -uncertainty 0.05
        -phases
                Fluorapatite
                Sphalerite
                O2(g)
                Gypsum
                Fluorite
                Goethite
                Hematite
                Chalcopyrite
                Niter
                Cu2(OH)3NO3
        -mineral_water true
        -tolerance 1e-10
 
PHASES
 
Fluorapatite
    Ca4.999Zn0.001P3O12F1 + 3H+ = 4.999Ca+2 + F- + 3HPO4-2 + 0.001Zn+2
    -analytical_expression 29064.06 8.907085 -1192683 -11346.08 53046470 -0.003060213
    -Vm       157.56 cm3/mol
 
Niter
    KNO3 = K+ + NO3-
 
Cu2(OH)3NO3
      Cu2(OH)3NO3 + 3H+ = 2Cu+2 + 3H2O + NO3-
 
Chalcopyrite
      CuFeS2 + 2H+ = Cu+2 + Fe+2 + 2HS-
 
END
--- End code ---


I obtain:

Phase mole transfers:                 Minimum        Maximum   Formula             (Approximate SI in solution 1, 2 at 298 K,   1 atm)
   Fluorapatite      9.219e-04      0.000e+00      0.000e+00   Ca4.999Zn0.001P3O12F1      (      , -5.10)
     Sphalerite      1.447e-07      0.000e+00      0.000e+00   ZnS                        (      , -7.59)
          O2(g)      8.732e-03      0.000e+00      0.000e+00   O2                         (-64.73,-60.92)
         Gypsum     -4.126e-03      0.000e+00      0.000e+00   CaSO4:2H2O                 (      , -2.51)
       Fluorite     -4.531e-04      0.000e+00      0.000e+00   CaF2                       (      , -1.35)
       Goethite      7.816e-01      0.000e+00      0.000e+00   FeOOH                      (      , -6.54)
       Hematite     -3.917e-01      0.000e+00      0.000e+00   Fe2O3                      (      ,-11.08)
   Chalcopyrite      2.066e-03      0.000e+00      0.000e+00   CuFeS2                     (      ,-37.65)
          Niter      4.407e-05      0.000e+00      0.000e+00   KNO3                       (      , -7.71)
    Cu2(OH)3NO3     -1.033e-03      0.000e+00      0.000e+00   Cu2(OH)3NO3

I understand from the table above that solution 1 needs dissolution of phases (sphalerite, fluorapatite, goethite, chalcopyrite, niter) and precipitation (gypsum, fluorite, hematite, Cu2(OH)3NO3) to match the composition defined in solution 2. However, I don't expect some of the phases here such as Niter, Cu2(OH)3NO3, or gypsum. I just added them for the model to run. For example, the precipitation of gypsum indicates that some S and Ca are extracted from the fluid, implying that I need a higher dissolution rate for other minerals which have S or/and Ca. My main interest here is Zn. Since Zn is only hosted in fluorapatite and sphalerite, I suppose that only the phase mole transfers for these two phases are correct since they are not influenced by the precipitation or dissolution of phases I don't expect. In the opposite case, the dissolution of chalcopyrite is way too high due to the presence of Cu2(OH)3NO3 in the model that I don't expect in reality.

Is this the good way to apprehend inverse geochemical modeling?

Best regards,

dlparkhurst:
I don't much like the Niter or CuNO3 phases, and I would remove hematite, relying on goethite for the iron sink.

If NO3- is consumed, then I would use N2(g) as the reduced product (precipitate).

O2 should be required to dissolve; "precipitation" is not feasible.

You have a potassium analysis, but not a sodium analysis? Maybe dissolution of albite and K-feldspar dissolution?

And then you get into Al and Si mole balances.

But back to Zn. The phase transfers of Fluoroapatite, fluorite, and sphalerite account for the changes in Zn, P, and F, so there is no flexibility in these transfers. Further, precipitation of fluorite probably does not make sense, it is really just a way to vary the F:Zn ratio in the apatites.

So, ... you could try to work out a quantitative model, but the point of the exercise is to consider plausible sources and sinks of the different elements. I think if you reconsider your sources and sinks and look at the models or lack of models, you will have achieved a basic understanding of what is feasible.



RadiantRocks23:
Thank you very much.

Based on your suggestions, I removed the fluorite phase, added Na and K concentrations as well as associated phases, added N2(g) to account for changes in N.


--- Code: ---SOLUTION 1
    temp      25
    pH        0.5 charge
    pe        4
    redox     pe
    units     mg/l
    density   1 calc   
    Al        0
    Ca        0
    F         0
    Fe        0
    P         0
    S         0
    K         0
    Na        0
    Si        0
    Zn        0
    N(5)     0.31 mol/l
    -water    0.01 # kg
 
SOLUTION 2
    temp      25
    pH        0.72 charge
    pe        4
    redox     pe
    units     mg/l
    density   1 calc
    -water    0.01 # kg
    Al        290
    Ca        200
    F         70
    Fe        1100
    P         8600
    S         61
    Zn        7
    K         170
    Na        160
    Si        200
    N(5)      0.2 mol/l
 
INVERSE_MODELING 1
        -solutions 1 2
        -uncertainty 0.05
        -phases
                Fluorapatite
                Sphalerite
                O2(g) diss
                N2(g) precipitation
                Goethite
                Pyrite
                Albite
                Anorthite
                Quartz
                K-feldspar
                Muscovite
                Annite
                Kaolinite
        -mineral_water true
        -tolerance 1e-10
 
PHASES
 
Fluorapatite
    Ca4.999Zn0.001P3O12F1 + 3H+ = 4.999Ca+2 + F- + 3HPO4-2 + 0.001Zn+2
    -analytical_expression 29064.06 8.907085 -1192683 -11346.08 53046470 -0.003060213
    -Vm       157.56 cm3/mol
 
Albite
      NaAlSi3O8 + 8 H2O = Na+ + Al(OH)4- + 3 H4SiO4
      -log_k      -18.002
      -delta_h 25.896 kcal
      -Vm 101.31
Anorthite
      CaAl2Si2O8 + 8 H2O = Ca+2 + 2 Al(OH)4- + 2 H4SiO4
      -log_k      -19.714
      -delta_h 11.580 kcal
      -Vm 105.05
K-feldspar
      KAlSi3O8 + 8 H2O = K+ + Al(OH)4- + 3 H4SiO4
      -log_k      -20.573
      -delta_h 30.820   kcal
      -Vm 108.15
 
Muscovite
        KAl3Si3O10(OH)F + 9H+ + H2O = K+ + 3Al+3 + 3H4SiO4 + F-
        log_k   12.99
        delta_h -59.34  kcal
Annite
        KFe3AlSi3O10(OH)2 + 10H+ = K+ + 3Fe+2 + Al+3 + 3H4SiO4
        log_k   23.29
        delta_h -65.72  kcal
END
--- End code ---


My dissolution rates for sphalerite, fluorapatite and pyrite look good but I obtain precipitation for Muscovite, K-feldspar, Quartz and Anorthite, which is not what I expect. I think the problem comes from the fact that all these silicates have a similar composition, and I suppose it is challenging for PHREEQC to take them all into account. I tried to remove Annite and Kaolinite to just keep Muscovite and reduce the number of phases, but I have some 'inequality not satisfied' issues. I guess I could add simple oxides or salts to increase the number of phases for PHREEQC to compute a model, but it would not be representative of my system. So If I understood well, the modeling of Zn is correct but the modeling of Ca for example is not feasible due to this issue.

Would you see any solutions that could help me ?
Thanks a lot,

Navigation

[0] Message Index

[#] Next page

Go to full version