Abstract
Reactive transport codes are widely applied in geoscience to predict or reconstruct spatial and temporal evolution of geochemical systems. To provide an accurate description of natural systems at different spatial and temporal scales, the reactive transport code has to deal with coupling of different physical and chemical phenomena. Many reactive transport codes have been developed in the past and each of these codes has specific strengths and limitations. Here, we present a new versatile reactive transport framework based on the FEniCS equations solver and the chemical solver Reaktoro. This development was motivated by the need for an advanced open-source tool allowing user-friendly modeling environment and, at the same time, full control over the numerical methods. Unlike most of the currently available codes, the developed FEniCS–Reaktoro framework offers full flexibility in setting up the reactive transport simulations of arbitrary complexity in terms of process couplings, simulation domain geometry and the boundary conditions applied. The simulations are setup using a simple high-level scripting language intuitively linked to the equation based model definition without the need of advanced programming skills. The chemical solver Reaktoro allows thermodynamic modeling of multicomponent multiphase system with several fluids and solid phases, including highly non-ideal solid solutions. The coupling of transport and chemistry is implemented using the sequential non-iterative approach (SNIA) in which the transport of the aqueous components and the chemical reactions are solved in two consequent steps. The flexibility and results of the FEniCS–Reaktoro framework are demonstrated against several widely accepted reactive transport benchmarks.
Similar content being viewed by others
References
Steefel, C.I., DePaolo, D.J., Lichtner, P.C.: Reactive transport modeling: an essential tool and a new research approach for the Earth sciences. Earth Planet Sci. Lett. 240.3-4, 539–558 (2005)
Bächler, D., Kohl, T.: Coupled thermal-hydraulic-chemical modelling of enhanced geothermal systems. Geophys. J Int. 161.2, 533–548 (2005)
Darland, J.E., Inskeep, W.P.: Effects of pore water velocity on the transport of arsenate. J. Am. Chem. Soc. (1997)
Lichtner, P.C.: Continuum model for simultaneous chemical reactions and mass transport in hydrothermal systems. Geochim. Cosmochim. Acta 49.3, 779–800 (1985)
Tournassat, C., Steefel, C.I.: Ionic transport in nano-porous clays with consideration of electrostatic effects. Rev. Min. Geochem. 80, 287–329 (2015)
Muniruzzaman, M., Rolle, M.: Modeling multicomponent ionic transport in groundwater with IPhreeqc coupling Electrostatic interactions and geochemical reactions in homogeneous and heterogeneous domains. Adv. Water Res. 98, 1–15 (2016)
Konda, S.S.M., et al.: Chemical reactions modulated by mechanical stress: extended Bell theory. J. Chem. Phys. 135.16, 164103 (2011)
Dmitrii, A., et al.: Kulik GEM-selektor geochemical modeling package: revised algorithm and GEMS3k numerical kernel for coupled simulation codes. Computat. Geosci. 17.1, 1–24 (2013)
Centler, F., et al.: GeosysBRNS-a exible multidimensional reactive transport model for simulating biogeochemical subsurface processes. Comput. Geosci.-UK. 36.3, 397–405 (2010)
Steefel, C., Molins, S.: CrunchFlow software for Modeling Multicomponent Reactive Flow and Transport (2016)
Nardi, A., et al.: Interface COMSOL-PHREEQC (iCP), an efficient numerical framework for the solution of coupled multiphysics and geochemistry. Comput. Geosci.-UK. 69, 10–21 (2014)
Guo, B., et al.: A COMSOL-PHREEQC interface for modeling the multi-species transport of saturated cement-based materials. Construct. Build Mater. 187, 839–853 (2018)
Azad, V.J., et al.: A COMSOL-GEMS interface for modeling coupled reactive-transport geochemical processes. Comput. Geosci. 92, 79–89 (2016)
Samper, J., et al.: Core2D. A code for non-isothermal water flow and reactive solute transport. Users Manual version 2 (2000)
Yapparova, A., et al.: Reactive transport modelling of dolomitisation using the new CSMP++GEM coupled code: governing equations, solution method and benchmarking results. Transport Porous Med. 117.3, 385–413 (2017)
Elakneswaran, Y., Ishida, T.: Development and verification of an integrated physicochemical and geochemical modelling framework for performance assessment of cement-based materials. J. Adv. Concr. Technol. 12.4, 111–126 (2014)
Jacques, D., Simunek, J.: User manual of the multicompenent variably-saturated ow and transport model hp1 (2005)
Mayer, K.U.: A numerical model for multicomponent reactive transport in variably saturated porous media. PhD thesis (1999)
Bethke, C.M.: Geochemical Reaction Modeling: Concepts and Applications. Oxford University Press, Oxford, pp. 416 (1996)
Li, D., et al.: OpenGeoSys-ChemApp: a coupled simulator for reactive transport in multiphase systems and application to CO2 storage formation in Northern Germany. Acta Geotech. 9.1, 67–79 (2014)
Kosakowski, G., Watanabe, N.: OpenGeoSys-Gem: a numerical tool for calculating geochemical and porosity changes in saturated and partially saturated media. Phys. Chem. Earth 70–71, 138–149 (2014). Mechanisms and Modelling of Waste-Cement and Cement-Host Rock Interactions
He, W., et al.: A parallelization scheme to simulate reactive transport in the subsurface environment with OGS#IPhreeqc 5.5.7-3.1.2. Geosci. Model Dev. 8.10, 3333–3348 (2015)
Meeussen, J.C.L.: ORCHESTRA: An object-oriented framework for implementing chemical equilibrium models. Environ. Sci. Tech. 37.6, PMID: 12680672, 1175–1182 (2003). eprint: https://doi.org/10.1021/es025597s
Lichtner, P.C., et al.: PFLOTRAN User Manual A Massively Parallel Reactive Flow and Transport Model for Describing Surface and Subsurface Processes (2015)
Parkhurst, D.L., Appelo, C.A.J.: Description of Input and Examples for PHREEQC Version 3 - A Computer Program for Speciation, Batch-Reaction, One-Dimensional Transport, and Inverse Geochemical Calculations. U.S. Geological Survey Techniques and Methods, book 6, chapter A43, 497 p. U.S. Geological Survey Techniques and Methods, book 6, chapter A43, 6-43A (2013)
Gamazo, P., et al.: PROOST: object-oriented approach to multiphase reactive transport modeling in porous media. J. Hydroinform. 18(2), 310–328 (2016)
Georget, F., Prévost, J.H., Huet, B.: A reactive transport simulator for variable porosity problems. Computat. Geosci. 21.1, 95–116 (2017)
Soetaert, K., Meysman, F.: Reactive transport in aquatic ecosystems Rapid model prototyping in the open source software R. Environ. Model. Softw. 32, 49–60 (2012)
Xu, T., et al.: TOUGHREACT-a simulation program for non-isothermal multiphase reactive geochemical transport in variably saturated geologic media: applications to geothermal injectivity and CO2 geological sequestration. Comput. Geosci.-UK. 32.2, 145–165 (2006)
Jara, D., de Dreuzy, J.-R., Cochepin, B.: TReacLab: an object-oriented implementation of non-intrusive splitting methods to couple independent transport and geochemical software. Comput. Geosci-UK. 109, 281–294 (2017)
Su, D., Ulrich Mayer, K., MacQuarrie, K.T.B.: Parallelization of MIN3p-THCm: a high performance computational framework for subsurface flow and reactive transport simulation. Environ. Model. Softw. 95, 271–289 (2017)
Trebotich, D., et al.: High-resolution simulation of pore-scale reactive transport processes associated with carbon sequestration. Comput. Sci. Eng. 16.6, 22–31 (2014)
James, J., et al.: Beisman ParCrunchFlow: an efficient, parallel reactive transport simulation tool for physically and chemically heterogeneous saturated subsurface environments. Computat. Geosci. 19.2, 403–422 (2015)
Smith, W.R., Missen, R.W.: Chemical reaction equilibrium analysis : theory and algorithms. Wiley, New York, pp. 364 (1982)
Leal, M.M., et al.: Computational methods for reactive transport modeling: an extended law of mass-action, xLMA, method for multiphase equilibrium calculations. Adv. Water Res. 96, 405–422 (2016)
Comsol Multiphysics, The Platform for Physics-Based Mod- eling and Simulation. Comsol Inc., Burlington, (2013)
Bell, L.S.J., Binning, P.J.: A split operator approach to reactive transport with the forward particle tracking Eulerian Lagrangian localized adjoint method. Adv Water Res. 27.4, 323–334 (2004)
Saaltink, M.W., Carrera, J., Ayora, C.: On the behavior of approaches to simulate reactive transport. J. Contam. Hydrol. 48.3-4, 213–35 (2001)
Carrayrou, J., et al.: Comparison of numerical methods for simulating strongly nonlinear and heterogeneous reactive transport problems-the MoMaS benchmark case. Computat. Geosci. 14.3, 483–502 (2010)
Hoffmann, J., Kräutle, S., Knabner, P.: A parallel global-implicit 2-D solver for reactive transport problems in porous media based on a reduction scheme and its application to the MoMaS benchmark problem. Computat. Geosci. 14.3, 421–433 (2010)
Yeh, G.T., Tripathi, V.S.: A critical evaluation of recent developments in hydrogeochemical transport models of reactive multichemical components. Water Resour. Res. 25.1, 93–108 (1989)
Walter, A.L., et al.: Modeling of multicomponent reactive transport in groundwater: 1. Model development and evaluation. Water Resour. Res. 30.11, 3137–3148 (1994)
Samper, J., Xu, T., Yang, C.: A sequential partly iterative approach for multicomponent reactive transport with CORE2D. Computat. Geosci. 13.3, 301–316 (2009)
Li, L., et al.: Expanding the role of reactive transport models in critical zone processes. Earth-Sci. Rev. 165, 280–301 (2017)
Ravi, A., et al.: Patel A three-dimensional lattice Boltzmann method based reactive transport model to simulate changes in cement paste microstructure due to calcium leaching. Con- Str. Build. Mater. 166, 158–170 (2018)
Fowler, D., et al.: Atmospheric composition change: ecosystems- atmosphere interactions. Atmos. Environ. 43.33, 5193–5267 (2009)
Dentz, M., et al.: Mixing, spreading and reaction in heterogeneous media: a brief review. J. Contam. Hydrol. 120-121, 1–17 (2011)
Ian, G., et al.: Microbiology in nuclear waste disposal: interfaces and reaction fronts. FEMS Microbiol. Rev. 20.3-4, 545–556 (1997)
Kosakowski, G., Berner, U.: The evolution of clay rock/cement interfaces in a cementitious repository for low and intermediate level radioactive waste. Phys. Chem. Earth Parts A/B/C 64, 65–86 (2013)
Kolditz, O., et al.: OpenGeoSys: an open-source initiative for numerical simulation of thermo - hydro - mechanical / chemical (THM/c) processes in porous media. Environ. Earth Sci. 67.2, 589–599 (2012)
Choo, J., Lee, S.: Enriched Galerkin finite elements for coupled poromechanics with local mass conservation. Comput. Methods Appl. Mech Eng. 341, 311–332 (2018)
Lehmann, C., Kolditz, O., Nagel, T.: The FEM Simulation Software OpenGeoSys, vol. 6, pp 29–48. Springer, Cham (2018)
Sharma, P.K., Joshi, N., Ojha, C.P.: Reactive transport through porous media using finite-difference and finite-volume methods. J. Hydraul. Eng. 18.1, 11–19 (2012)
Prasianakis, N.I., et al.: Deciphering pore-level precipitation mechanisms. Sci. Rep. 7.1, 1–9 (2017)
Zhao, C.-b., Schaubs, P., Hobbs, B.: Effects of porosity heterogeneity on chemical dissolution-front instability in fluid-saturated rocks. J. Cent South Univ. 24.3, 720–725 (2017)
Hatanaka, A., et al.: The impact of tortuosity on chloride ion diffusion in slag-blended cementitious materials. J. Adv. Concr. Technol. 15.8, 426–439 (2017)
Navarre-Sitchler, A., et al.: Evolution of porosity and diffusivity associated with chemical weathering of a basalt clast. J. Geophys. Res. 114.F2, F02016 (2009)
Ma, R., et al.: Assessment of controlling processes for field-scale uranium reactive transport under highly transient flow conditions. Water Resour. Res. 50.2, 1006–1024 (2014)
Van Loon, L.R., et al.: Anisotropic diffusion in layered Argillaceous rocks: a case study with Opalinus clay (2004)
Hommel, J., Coltman, E., Class, H.: Porosity-permeability relations for evolving pore space: a review with a focus on (bio-)geochemically altered porous media. Transport Porous Med. 124.2, 589–629 (2018)
Trinchero, P., et al.: Implications of grain-scale mineralogical heterogeneity for radionuclide transport in fractured media. Transport Porous Med. 116.1, 73–90 (2017)
Steefel, C.I., Yabusaki, S.B., Ulrich Mayer, K.: Reactive transport benchmarks for subsurface environmental simulation. Computat. Geosci. 19.3, 439–443 (2015)
Hunter, J.D.: Matplotlib: a 2D graphics environment. Comput. Sci. Eng. 9.3, 90–95 (2007)
Perez, F., Granger, B.E.: IPython: A system for interactive scientific computing. Comput. Sci. Eng. 9.3, 21–29 (2007)
McKinney, W.: Data structures for statistical computing in Python (2010)
Oliphant, T.E.: Guide to NumPy. 2nd USA: Createspace Independent Publishing Platform (2015)
Martin, S., et al.: Alnaes The FEniCS Project Version 1.5. Arch. Numer. Softw. 3.100, 9–23 (2015)
Allan, M.M., et al.: An overview of computational methods for chemical equilibrium and kinetic calculations for geochemical and reactive transport modeling. Pure Appl. Chem. 89.5, 597–643 (2017)
Alnæs, M.S., et al.: Unified form language: a domain speci fic language for weak formulations of partial differential equations. ACM Trans. Math. Softw. 40.2, 9:1-9:37 (2014)
Hoffman, J.J.J., Jansson, N.: FEniCS-HPC automated predictive high-performance finite element computing with applications in aerodynamics. Parallel Process. Appl. Math. 9573, 356–365 (2016)
Abhyankar, S., et al.: PETSc/TS: A modern scalable ODE/DAE Solver Library. arXiv:1806.01437 (2018)
Spycher, N., Pruess, K., Ennis-King, J.: CO2-H2O mixtures in the geological sequestration of CO2. I. Assessment and calculation of mutual solubilities from 12 to 100 ∘C and up to 600 bar. Geochim. Cosmochim. Acta 67.16, 3015–3031 (2003)
Spycher, N.F, Reed, M.H.: Fugacity coefficients of H2, CO2, CH4, H2O and of H2O- CO2-CH4 mixtures: a virial equation treatment for moderate pressures and temperatures applicable to calculations of hydrothermal boiling. Geochim. Cosmochim. Acta 52.3, 739–749 (1988)
Matschei, T., Lothenbach, B., Glasser, F.P.: Thermodynamic data for hydrated solids in Portland cement system CaO-Al2o3-Sio2-CaSO4-CaCO3- Fe2O3-MgO-H2O. Cem. Concr. Res. 37, 1379–1410 (2007)
Thoenen, T., et al.: The PSI/Nagra Chemical Thermodynamic Database 12/07 Nuclear Energy and Safety Research Department Laboratory forWaste Management (LES) (2014)
Johnson, J.W., Oelkers, E.H., Helgeson, H.C.: SUPCRT92: a software package for calculating the standard molal thermodynamic properties of minerals, gases, aqueous species, and reactions from 1 to 5000 bar and 0 to 1000 ∘c. Comput. Geosci. 18.7, 899–947 (1992)
Wigger, C., Van Loon, L.R.: Importance of interlayer equivalent pores for anion diffusion in clay-rich sedimentary rocks. Environ. Sci. Tech. 51.4, 1998–2006 (2017)
Van Loon, L.R., Glaus, M.A., Müller, W.: Anion exclusion effects in compacted bentonites: towards a better understanding of anion diffusion. Appl. Geochem. 22.11, 2536–2552 (2007)
Altmann, S., et al.: Diffusion-driven transport in clayrock formations. Appl. Geochem. 27.2, 463–478 (2012). arXiv: 1-1
Bear, J., Bachmat, Y.: Introduction to Modeling of Transport Phenomena in Porous Media. Springer, Dordrecht (1990)
Samson, E., Marchand, J.: Numerical solution of the extended Nernst-Planck model. J Colloid Interface Sci. 215, 1–8 (1999)
Daus, A.D., Frind, E.O.: An alternating direction Galerkin technique for simulation of contaminant transport in complex groundwater systems. Water Resour. Res. 21.5, 653–664 (1985)
Courant, R., Friedrichs, K., Lewy, H.: ÜBer die partiellen Differenzengleichungen der mathematischen Physik. Mathematische Annalen 100.1, 32–74 (1928)
Isaacson, E., Keller, H.B.: Analysis of numerical methods dover books on mathematics. Dover Publications (1994)
Murdoch, J.R.: What is the rate-limiting step of a multistep reaction?. J. Chem. Educ. 58.1, 32 (1981). eprint: https://doi.org/10.1021/ed058p32
Zhang, Y.: Geochemical kinetics. Princeton University Press, pp. 631 (2008)
Arnold, D.N., et al.: Unified Analysis of Discontinuous Galerkin Methods for Elliptic Problems (2002)
Riviére, B.: Discontinuous Galerkin methods for solving elliptic and parabolic equations : theory and implementation. SIAM, Society for Industrial and Applied Mathematics, pp. 190 (2008)
Zhang, C., Zarrouk, S.J.: Rosalind Archer. A mixed finite element solver for natural convection in porous media using automated solution techniques. Comput. Geosci.-UK. 96, 181–192 (2016)
Houston, P., Sime, N.: Automatic symbolic computation for discontinuous Galerkin finite element methods. SIAM J. Sci Comput. 40.3, C327–C357 (2018)
Berner, U., Kulik, D.A., Kosakowski, G.: Geochemical impact of a low-pH cement liner on the near field of a repository for spent fuel and high-level radioactive waste. Phys. Chem. Earth 64, 46–56 (2013)
Steefel, C.I., Maher, K.: Fluid-rock interaction: a reactive transport approach. Rev. Mineral. Geochem. 70.1, 485–532 (2009)
Quintard, M., Whitaker, S.: Transport in ordered and disordered porous media: volume - averaged equations, closure problems, and comparison with experiment. Chem. Eng. Sci. 48.14, 2537–2564 (1993)
Lasaga, A.C.: Kinetic Theory in the Earth Sciences, pp. 811. arXiv:1011.1669v3 (1998)
Rumbaugh, J., Jacobson, I., Booch, G.: The unified modeling language reference manual. Addison-Wesley, pp. 550 (1999)
Rasouli, P., et al.: Benchmarks for multicomponent diffusion and electrochemical migration. Computat. Geosci. 19.3, 523–533 (2015)
Lichtner, P.C.: Principles and Practice of Reactive Transport Modeling (1994)
Martin, A., et al.: Seeming steady-state uphill diffusion of 22Na+ in compacted montmorillonite. Environ. Sci. Technol. 47.20, 11522–11527 (2013)
Glaus, M.A., et al.: Cation diffusion in the electrical double layer enhances the mass transfer rates for Sr2+, Co2+ and Zn2+ in compacted illite. Geochim. Cosmochim. Acta 165, 376–388 (2015)
Massimo, R., et al.: Nernst-Planck-based description of transport, coulombic interactions, and geochemical reactions in porous media: modeling approach and benchmark experiments. Water Resour. Res. 54.4, 3176–3195 (2018)
Maes, N., et al.: Determination of the diffusion coefficient of ionic species in boom clay by electromigration: feasibility study. Radiochim. Acta 82.s1, 183–190 (1998)
Berner, U.: Radionuclide concentration limits in the cementitious near-field of an ILW repository (2003)
Jenni, A., et al.: In situ interaction between different concretes and Opalinus clay. Phys. Chem. Earth 70-71, 71–83 (2014)
Engesgaard, P., Kipp, L.K.: A geochemical transport model for redox-controlled movement of mineral fronts in groundwater ow systems: a case of nitrate removal by oxidation of pyrite. Water Resour. Res. 28.10, 2829–2843 (1992)
Prommer, H., Barry, D.A., Zheng, C.: MODFLOW/ MT3DMS - Based reactive multicomponent transport modeling. Ground Water 41.2, 247–257 (2002)
Shao, H., et al.: Modeling reactive transport in non-ideal aqueous-solid solution system. Appl. Geochem. 24.7, 1287–1300 (2009)
He, W.: Code verification: Engesgaard benchmark. Open- GeoSys Tutorial: Computational Hydrology III: OGS # IPhreeqc Coupled Reactive Transport Modeling. Springer International Publishing, Berlin, pp. 31–35 (2018)
Acknowledgments
We thank Phillip Krejci, Dr. Thomas Gimmi, and Dr. Dmitrii Kulik for helpful discussions during the development of the FEniCS–Reaktoro framework. The opinions expressed and arguments employed herein do not necessarily reflect the official views of the Swiss Government.
Funding
This work was supported by the Swiss State Secretariat for Education, Research and Innovation (SERI) under contract number 15.0186-2.Authors receive partial financial support from Nagra. The research leading to these results has received funding from the European Union’s Horizon 2020 Research and Training Programme of the European Atomic Energy Community (EURATOM) (H2020 - NFRP - 2014 / 2015) under grant agreement no662147 (CEBAMA).
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendix A
Appendix A
The core class of FEniCS–Reaktoro encapsulates two parts: (1) the initialization routine and (2) the reactive transport loop. The initialization routine prepares the underlying structure and defines multiple properties: temporal and spatial; initial conditions, boundary conditions, and constants; single diffusion coefficient or species-dependent diffusion coefficients; the equation system; and the chemical systems. The reactive transport loop is where the transport and chemical equations are solved within a one-time loop until total simulation time is reached.
The finite element mesh and the chemical system are defined during the initialization routine before the reactive transport loop. This process includes the definition of (1) all species and phases involved in the chemical reactions; (2) governing equations necessary to describe the transport of such species; and (3) initialization of the cells necessary for the domain representation using FE infrastructure provided by FEniCS.
Figures 7 and 8 present the class and sequence diagram, respectively, of the FEniCS–Reaktoro framework using the UML language.
The usage of FEniCS–Reaktoro coupled code to run a reactive transport simulations requires the generation of the following:
-
The chemical system file: the chemical system file can be generated using (a) the GEM-Selektor v.3 graphical user interface, (b) the Phreeqc graphical user interface, or (c) Reaktoro’s manual chemical system editor
-
The mesh file: the mesh file can be generated using (a) GMSH or (b) FEniCS, depending on the complexity of the geometry
-
The 4 files included in the user-defined input package: main input file, transport file, boundary conditions file and diffusion coefficients file
The detailed composition of the 4 files from the user-defined input package is as follows:
-
Main input file: contains the temporal and spatial properties, finite element family and degree, type of transport equation used, chemical composition (composed by external chemical definition files), and constants (optional)
-
Transport file: contains the description of the physical processes, through the definition of the weak formulation of the PDE
-
The boundary conditions file: defines the boundary conditions of the simulation
-
Diffusion coefficients file: defines the diffusion coefficient of the species (single or multicomponent diffusion are supported).
We point to the framework’s repository located at bitbucket.org/lhdamiani/fenics-reaktoro, where one can find instructions, licensing information, documentation, and demos.
Rights and permissions
About this article
Cite this article
Damiani, L.H., Kosakowski, G., Glaus, M.A. et al. A framework for reactive transport modeling using FEniCS–Reaktoro: governing equations and benchmarking results. Comput Geosci 24, 1071–1085 (2020). https://doi.org/10.1007/s10596-019-09919-3
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10596-019-09919-3