Processes > Inverse modelling

Calculation of amount of precipitated minerals

(1/2) > >>

mukherjeeindrani09:
I have some physicochemical data of a borehole including cations, anions, EC/TDS, pH and temperature = 12°C and I want to calculate how much amount of the supersaturated minerals would be precipitated in mg/L when the borehole temperature changes from 12°C to 25°C.

Can someone help me here please.

I have below data -


--- Code: ---TITLE Borehole groundwater sample collected on 24/10/2023 at 10:30
SOLUTION 1
    temp      12.0
    pH        6.4
    pe        4
    redox     pe
    units     mg/l
    density   1
    Alkalinity 125
    Cl        94
    S(6)      228
    Ca        106
    Mg        54
    Ba        0
    Na        32
    K         8
    Mn        0.8
    B         0
    N(-3)     0.3
    Al        0.07
    Si        0
    Fe        6.41
    -water    1 # kg
END
--- End code ---

dlparkhurst:
You will need to use EQUILIBRIUM_PHASES, which will react each mineral to equiilbrium.

You can then use the Basic function EQUI_DELTA in USER_PUNCH (SELECTED_OUTPUT must also be defined) to get the moles of mineral that reacted. GFW("Al(OH)3"), for example will calculate the molecular weight of Gibbsite.

REACTION_TEMPERATURE can be used to change the temperature.

Note that some minerals are supersaturated at 12 C, and in most cases, minerals become more soluble at higher temperature.

mukherjeeindrani09:
I have used the below model


--- Code: ---USER_PUNCH 1
    -headings ABCD
    -start
10 PUNCH EQUI_DELTA("Calcite")*GFW("CaCO3")*1000
    -end
SELECTED_OUTPUT 1
    -file                 selected_output_2.sel
    -high_precision       true
    -simulation           true
    -step                 true
    -active               true
    -user_punch           true
EQUILIBRIUM_PHASES 1
REACTION_TEMPERATURE 1
    17  22  27  32  37  42  47 
    52  55
TITLE

SOLUTION 1
    temp      12.6
    pH        6.4
    pe        4
    redox     pe
    units     mg/l
    density   1
    Fe        6.4
    Alkalinity 125
    Cl        94
    S(6)      228
    Ca        106
    Mg        54
    Na        32
    K         8
    Mn        0.8
    N(-3)     0.3
    Al        0.07
    -water    1 # kg

END
--- End code ---

The output of this -


--- Code: ---EQUI_DELTA   SI
0.0000e+00 -1.15
0.0000e+00 -1.12
0.0000e+00 -1.08
0.0000e+00 -1.03
0.0000e+00 -0.979
0.0000e+00 -0.918
0.0000e+00 -0.850
0.0000e+00 -0.777
0.0000e+00 -0.698
0.0000e+00 -0.648

--- End code ---

It means the saturation index of calcite is increasing with temperature increase and the mineral is in an undersaturated condition but 0 mg of calcite in the equilibrium-phase assemblage that reacted during the current calculation. In other words, calcite did not react at all, which seems unreasonable.

dlparkhurst:
Check the description of EQUILIBRIUM_PHASES in the manual.

mukherjeeindrani09:
It seems I need to define the minerals in the equilibrium phase. I have added calcite -


--- Code: ---USER_PUNCH 1
    -headings EQUI_DELTA SI
    -start
10 PUNCH EQUI_DELTA("Calcite")*GFW("CaCO3")*1000, SI("Calcite")
    -end
SELECTED_OUTPUT 1
    -file                 selected_output_2.sel
    -high_precision       true
    -simulation           true
    -step                 true
    -active               true
    -user_punch           true
EQUILIBRIUM_PHASES 1
    Calcite   0 10
REACTION_TEMPERATURE 1
    17  22  27  32  37  42  47 
    52  55
TITLE Sample

SOLUTION 1 Sample
    temp      12.6
    pH        6.4
    pe        4
    redox     pe
    units     mg/l
    density   1
    Fe        6.4
    Alkalinity 125
    Cl        94
    S(6)      228
    Ca        106
    Mg        54
    Na        32
    K         8
    Mn        0.8
    N(-3)     0.3
    Al        0.07
    -water    1 # kg

END
--- End code ---

Which resulted in below output - which is still unreasonable. I am not sure what I am missing. Could you please help me here.


--- Code: ---         EQUI_DELTA                   SI
 0.000000000000e+00 -1.151107278269e+00
-1.323817211872e+02   0.000000000000e+00
-1.277038058017e+02   0.000000000000e+00
-1.220108976500e+02   0.000000000000e+00
-1.153465859325e+02   0.000000000000e+00
-1.077660370659e+02   0.000000000000e+00
-9.933889065589e+01   0.000000000000e+00
-9.015048906007e+01   0.000000000000e+00
-8.030141521264e+01   0.000000000000e+00
-7.412173627486e+01   0.000000000000e+00


--- End code ---

Navigation

[0] Message Index

[#] Next page

Go to full version