mirror of
https://git.gfz-potsdam.de/naaice/poet.git
synced 2025-12-16 12:54:50 +01:00
docs: readmes for dolo & barite
This commit is contained in:
parent
d2039354eb
commit
efd01ea390
@ -128,6 +128,7 @@ transported species: H, O, Charge, Ba, Cl, S(6), Sr.
|
|||||||
|
|
||||||
- Tranter, Wetzel, De Lucia and Kühn (2021): Reactive transport model
|
- Tranter, Wetzel, De Lucia and Kühn (2021): Reactive transport model
|
||||||
of kinetically controlled celestite to barite replacement, Advances
|
of kinetically controlled celestite to barite replacement, Advances
|
||||||
in Geosciences, 1, 1–9, https://doi.org/10.5194/adgeo-1-1-2021
|
in Geosciences, 56, 57-–65, 2021.
|
||||||
|
https://doi.org/10.5194/adgeo-56-57-20211
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
176
bench/dolo/README.org
Normal file
176
bench/dolo/README.org
Normal file
@ -0,0 +1,176 @@
|
|||||||
|
#+TITLE: Description of =barite= benchmark
|
||||||
|
#+AUTHOR: MDL <delucia@gfz-potsdam.de>
|
||||||
|
#+DATE: 2023-08-26
|
||||||
|
#+STARTUP: inlineimages
|
||||||
|
#+LATEX_CLASS_OPTIONS: [a4paper,9pt]
|
||||||
|
#+LATEX_HEADER: \usepackage{fullpage}
|
||||||
|
#+LATEX_HEADER: \usepackage{amsmath, systeme}
|
||||||
|
#+LATEX_HEADER: \usepackage{graphicx}
|
||||||
|
#+LATEX_HEADER: \usepackage{charter}
|
||||||
|
#+OPTIONS: toc:nil
|
||||||
|
|
||||||
|
* Quick start
|
||||||
|
|
||||||
|
#+begin_src sh :language sh :frame single
|
||||||
|
mpirun -np 4 ./poet dolomite.R dolomite_results
|
||||||
|
mpirun -np 4 ./poet --interp dolomite_interp_eval.R dolomite_results
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
* List of Files
|
||||||
|
|
||||||
|
- =dolo.R=: POET input script for a 20x20 simulation grid
|
||||||
|
- =dolo_diffu_inner.R=: POET input script for a 400x200 simulation
|
||||||
|
grid
|
||||||
|
- =dolo_diffu_inner_large.R=: POET input script for a 400x200
|
||||||
|
simulation grid
|
||||||
|
- =dolo_interp_long.R=: POET input script for a 400x200 simulation
|
||||||
|
grid
|
||||||
|
- =phreeqc_kin.dat=: PHREEQC database containing the kinetic expressions
|
||||||
|
for dolomite and celestite, stripped down from =phreeqc.dat=
|
||||||
|
- =dol.pqi=: PHREEQC input script for the chemical system
|
||||||
|
|
||||||
|
* Chemical system
|
||||||
|
|
||||||
|
This model describes a simplified version of /dolomitization/ of
|
||||||
|
calcite, itself a complex and not yet fully understood natural process
|
||||||
|
which is observed naturally at higher temperatures (Möller and De
|
||||||
|
Lucia, 2020). Variants of such model have been widely used in many
|
||||||
|
instances especially for the purpose of benchmarking numerical codes
|
||||||
|
(De Lucia et al., 2021 and references therein).
|
||||||
|
|
||||||
|
We consider an isotherm porous system at *25 °C* in which pure water
|
||||||
|
is initially at equilibrium with *calcite* (calcium carbonate; brute
|
||||||
|
formula: CaCO_{3}). An MgCl_{2} solution enters the system causing
|
||||||
|
calcite dissolution. The released excess concentration of dissolved
|
||||||
|
calcium Ca^{2+} and carbonate (CO_{3}^{2-}) induces after a while
|
||||||
|
supersaturation and hence precipitation of *dolomite*
|
||||||
|
(calcium-magnesium carbonate; brute formula: CaMg(CO_{3})_{2}). The
|
||||||
|
overall /dolomitization/ reaction can be written:
|
||||||
|
|
||||||
|
Mg^{2+} + 2 \cdot calcite \rightarrow dolomite + 2 \cdot Ca^{2+}
|
||||||
|
|
||||||
|
The precipitation of dolomite continues until enough Ca^{2+} is
|
||||||
|
present in solution. Further injection of MgCl_{2} changes its
|
||||||
|
saturation state causing its dissolution too. After enough time, the
|
||||||
|
whole system has depleted all minerals and the injected MgCl_{2}
|
||||||
|
solution fills up the domain.
|
||||||
|
|
||||||
|
Both calcite dissolution and dolomite precipitation/dissolution follow
|
||||||
|
a kinetics rate law based on transition state theory (Palandri and
|
||||||
|
Karhaka, 2004; De Lucia et al., 2021).
|
||||||
|
|
||||||
|
rate = -S_{m} k_{m} (1-SR_{m})
|
||||||
|
|
||||||
|
where the reaction rate has units mol/s, S_{m} (m^{2}) is the reactive
|
||||||
|
surface area, k_{m} (mol/m^{2}/s) is the kinetic coefficient, and SR
|
||||||
|
is the saturation ratio, i.e., the ratio of the ion activity product
|
||||||
|
of the reacting species and the solubility constant, calculated
|
||||||
|
internally by PHREEQC from the speciated solution.
|
||||||
|
|
||||||
|
For dolomite, the kinetic coefficient results from the sum of two
|
||||||
|
mechanisms, r_{/acid/} and r_{/neutral/}:
|
||||||
|
|
||||||
|
rate_{dolomite} = S_{dolomite} (k_{/acid/} + k_{/neutral/}) * (1 - SR_{dolomite})
|
||||||
|
|
||||||
|
where:
|
||||||
|
|
||||||
|
k_{/acid/} = 10^{-3.19} e^{-36100 / R} \cdot act(H^{+})^{0.5}
|
||||||
|
|
||||||
|
k_{/neutral/} = 10^{-7.53} e^{-52200 / R}
|
||||||
|
|
||||||
|
R (8.314462 J K^{-1} mol^{-1}) is the gas constant.
|
||||||
|
|
||||||
|
Similarly, the kinetic law for calcite reads:
|
||||||
|
|
||||||
|
k_{/acid/} = 10^{-0.3} e^{-14400 / R} \cdot act(H^{+})^{0.5}
|
||||||
|
|
||||||
|
k_{/neutral/} = 10^{-5.81} e^{-23500 / R}
|
||||||
|
|
||||||
|
The kinetic laws as implemented in the =phreeqc_kin.dat= file accepts
|
||||||
|
one parameter which represents reactive surface area in m^{2}. For the
|
||||||
|
benchmarks the surface areas are set to
|
||||||
|
|
||||||
|
- S_{dolomite}: 0.005 m^{2}
|
||||||
|
- S_{calcite}: 0.05 m^{2}
|
||||||
|
|
||||||
|
The initial content of calcite in the domain is of 0.0002 mol per kg
|
||||||
|
of water. A constant partial pressure of 10^{-1675} atm of O_{2(g)} is
|
||||||
|
maintained at any time in the domain in order to fix the redox
|
||||||
|
potential of the solution to an oxidizing state (pe around 9).
|
||||||
|
|
||||||
|
Note that Cl is unreactive in this system and only effects the
|
||||||
|
computation of the activities in solution.
|
||||||
|
|
||||||
|
* POET simulations
|
||||||
|
|
||||||
|
Several benchmarks based on the same chemical system are defined here
|
||||||
|
with different grid sizes, resolution and boundary conditions. The
|
||||||
|
transported elemental concentrations are 7: C(4), Ca, Cl, Mg and the
|
||||||
|
implicit total H, total O and Charge as required by PHREEQC_RM.
|
||||||
|
|
||||||
|
** =dolo_diffu_inner.R=
|
||||||
|
|
||||||
|
- Grid discretization: square domain of 1 \cdot 1 m^{2} discretized in
|
||||||
|
100x100 cells
|
||||||
|
- Boundary conditions: All sides of the domain are closed. *Fixed
|
||||||
|
concentration* of 0.001 molal of MgCl_{2} is defined in the domain
|
||||||
|
cell (20, 20) and of 0.002 molal MgCl_{2} at cells (60, 60) and
|
||||||
|
(80, 80)
|
||||||
|
- Diffusion coefficients: isotropic homogeneous \alpha = 1E-06
|
||||||
|
- Time steps & iterations: 10 iterations with \Delta t of 200 s
|
||||||
|
- *DHT* parameters:
|
||||||
|
| H | 10 |
|
||||||
|
| O | 10 |
|
||||||
|
| Charge | 3 |
|
||||||
|
| C(4) | 5 |
|
||||||
|
| Ca | 5 |
|
||||||
|
| Cl | 5 |
|
||||||
|
| Mg | 5 |
|
||||||
|
| Calcite | 5 |
|
||||||
|
| Dolomite | 5 |
|
||||||
|
- Hooks: the following hooks are defined:
|
||||||
|
1. =dht_fill=:
|
||||||
|
2. =dht_fuzz=:
|
||||||
|
3. =interp_pre_func=:
|
||||||
|
4. =interp_post_func=:
|
||||||
|
|
||||||
|
|
||||||
|
** =dolo_interp_long.R=
|
||||||
|
|
||||||
|
- Grid discretization: rectangular domain of 5 \cdot 2.5 m^{2}
|
||||||
|
discretized in 400 \times 200 cells
|
||||||
|
- Boundary conditions: *Fixed concentrations* equal to the initial
|
||||||
|
state are imposed at all four sides of the domain. *Fixed
|
||||||
|
concentration* of 0.001 molal of MgCl_{2} is defined in the domain
|
||||||
|
center at cell (100, 50)
|
||||||
|
- Diffusion coefficients: isotropic homogeneous \alpha = 1E-06
|
||||||
|
- Time steps & iterations: 20000 iterations with \Delta t of 200 s
|
||||||
|
- *DHT* parameters:
|
||||||
|
| H | 10 |
|
||||||
|
| O | 10 |
|
||||||
|
| Charge | 3 |
|
||||||
|
| C(4) | 5 |
|
||||||
|
| Ca | 5 |
|
||||||
|
| Cl | 5 |
|
||||||
|
| Mg | 5 |
|
||||||
|
| Calcite | 5 |
|
||||||
|
| Dolomite | 5 |
|
||||||
|
- Hooks: the following hooks are defined:
|
||||||
|
1. =dht_fill=:
|
||||||
|
2. =dht_fuzz=:
|
||||||
|
3. =interp_pre_func=:
|
||||||
|
4. =interp_post_func=:
|
||||||
|
|
||||||
|
|
||||||
|
* References
|
||||||
|
|
||||||
|
- De Lucia, Kühn, Lindemann, Lübke, Schnor: POET (v0.1): speedup of
|
||||||
|
many-core parallel reactive transport simulations with fast DHT
|
||||||
|
lookups, Geosci. Model Dev., 14, 7391–7409, 2021.
|
||||||
|
https://doi.org/10.5194/gmd-14-7391-2021
|
||||||
|
- Möller, Marco De Lucia: The impact of Mg^{2+} ions on equilibration
|
||||||
|
of Mg-Ca carbonates in groundwater and brines, Geochemistry
|
||||||
|
80, 2020. https://doi.org/10.1016/j.chemer.2020.125611
|
||||||
|
- Palandri, Kharaka: A Compilation of Rate Parameters of Water-Mineral
|
||||||
|
Interaction Kinetics for Application to Geochemical Modeling, Report
|
||||||
|
2004-1068, USGS, 2004.
|
||||||
Loading…
x
Reference in New Issue
Block a user