Progressively adding potassium feldspar
This page follows Chapter 13 of Bethke (2007) and involves computing the equilibrium system as K-feldspar is added to a hypothetical water.
The initial composition of the water is shown in Table 1. Assume that the temperature is 25C and the initial pH is 5. cm of K-feldspar is slowly added to this system.
Species | Concentration (molal) | Approx conc (mg/kg(solvent water)) |
---|---|---|
HCO | 50 | |
Cl | 30 | |
Ca | 15 | |
SO | 8 | |
Na | 5 | |
Mg | 3 | |
SiO(aq) | 3 | |
K | 1 | |
Al |
MOOSE input file: definition
The GeochemicalModelDefinition specifies the database file to use, and in this case the basis species and equilibrium minerals. The flag piecewise_linear_interpolation = true
in order to compare with the Geochemists Workbench result
[UserObjects]
[definition]
type = GeochemicalModelDefinition
database_file = "../../../database/moose_geochemdb.json"
basis_species = "H2O H+ Na+ K+ Ca++ Mg++ Al+++ SiO2(aq) Cl- SO4-- HCO3-"
equilibrium_minerals = "K-feldspar Kaolinite Muscovite Quartz Phengite"
piecewise_linear_interpolation = true # for comparison with GWB
[]
[]
(modules/geochemistry/test/tests/time_dependent_reactions/add_feldspar.i)MOOSE input file: initial conditions and reaction rates
The TimeDependentReactionSolver defines the initial conditions and the desired reaction processes:
The pH is defined through specifying the
activity
for H. Note that at time zero, just after the initial equilibration, this activity constraint is removed via theremove_fixed_activity
inputs.The bulk composition of the other chemical species are specified by the
moles_bulk_species
, as per Table 1.The rate of addition of
K-feldspar
is defined to be mol/s, which corresponds to cm/s.The other flags are for efficiency and enable an accurate comparison with the Geochemists Workbench software.
[TimeDependentReactionSolver]
model_definition = definition
geochemistry_reactor_name = reactor
charge_balance_species = "Cl-"
constraint_species = "H2O H+ Na+ K+ Ca++ Mg++ Al+++ SiO2(aq) Cl- SO4-- HCO3-"
constraint_value = " 1.0 -5 5 1 15 3 1 3 30 8 50"
constraint_meaning = "kg_solvent_water log10activity bulk_composition bulk_composition bulk_composition bulk_composition bulk_composition bulk_composition bulk_composition bulk_composition bulk_composition"
constraint_unit = " kg dimensionless mg mg mg mg ug mg mg mg mg"
source_species_names = "K-feldspar"
source_species_rates = "1.37779E-3" # 0.15cm^3 of K-feldspar (molar volume = 108.87 cm^3/mol) = 1.37779E-3 mol
remove_fixed_activity_name = "H+"
remove_fixed_activity_time = 0
ramp_max_ionic_strength_initial = 0 # not needed for this simple problem
stoichiometric_ionic_str_using_Cl_only = true # for comparison with GWB
execute_console_output_on = '' # only CSV output for this example
[]
(modules/geochemistry/test/tests/time_dependent_reactions/add_feldspar.i)MOOSE input file: time stepping
A total of 100 steps over the course of 1s is used in this simulation
[Executioner]
type = Transient
dt = 0.01
end_time = 1
[]
(modules/geochemistry/test/tests/time_dependent_reactions/add_feldspar.i)MOOSE input file: outputs
A set of Postprocessors captures the output, using the AuxVariables
added automatically by the TimeDependentReactionSolver:
[Postprocessors]
[cm3_K-feldspar]
type = PointValue
point = '0 0 0'
variable = 'free_cm3_K-feldspar'
[]
[cm3_Kaolinite]
type = PointValue
point = '0 0 0'
variable = 'free_cm3_Kaolinite'
[]
[cm3_Muscovite]
type = PointValue
point = '0 0 0'
variable = 'free_cm3_Muscovite'
[]
[cm3_Quartz]
type = PointValue
point = '0 0 0'
variable = 'free_cm3_Quartz'
[]
[cm3_Phengite]
type = PointValue
point = '0 0 0'
variable = 'free_cm3_Phengite'
[]
[]
(modules/geochemistry/test/tests/time_dependent_reactions/add_feldspar.i)Results
Bethke (2007) predicts that the minerals kaolinite, muscovite, quartz, K-feldspar and phengite all precipitate, and that kaolinite dissolves, as the K-feldspar is gradually added to the solution and the results are presented in Bethke (2007) Figure 13.1. These results are faithfully reproduced by the geochemistry
module, as in Figure 1.
References
- Craig M. Bethke.
Geochemical and Biogeochemical Reaction Modeling.
Cambridge University Press, 2 edition, 2007.
doi:10.1017/CBO9780511619670.[BibTeX]