Skip to content
Snippets Groups Projects
Forked from ogs / ogs
169 commits behind the upstream repository.
user avatar
Dmitri Naumov authored
533967fa
History
Code owners
Assign users and groups as approvers for specific file changes. Learn more.

Chemistry Library

This library is dedicated to providing an interface for interacting with the geochemical solver Phreeqc, and shall be used together with the ComponentTransport Module for reactive transport modeling in saturated porous media. At present, this interface supports chemical calculations with a variety of reaction types including kinetically/equilibrium-controlled dissolution-precipitation reactions, surface complexation reactions, and ion-exchange reactions.

If you would like to download OpenGeoSys executables already built for different platforms, please visit the OpenGeoSys Release Page.

Before building your own OpenGeoSys model and start the simulation, please first have a look at our User Guide. There are tutorials available regarding how to download and build the source code, as well as how to run a model simulation. For advanced users who would like to make changes in the source code, the Developer Guide is also very helpful.

There are a number of benchmarks related to reactive transport process. Online documentation is also available for most of them. Most relevant benchmarks include

If the reader would like to know details of the input parameters, please also visit our Doxygen page.

List of header and implementation files:

  • CreateChemicalSolverInterface.h and CreateChemicalSolverInterface.cpp --- For instantiating a chemical solver interface
  • ChemicalSolverInterface.h --- For providing a polymorphic interface to different chemical solvers
  • ChemicalSolverType.h --- For defining the chemical solvers that OpenGeoSys-6 supports
  • PhreeqcIO.h and PhreeqcIO.cpp --- For preparing Phreeqc input file to and reading Phreeqc output file
  • CMakeLists.txt --- For building this library
  • PhreeqcIOData --- Holding Phreeqc metadata

The following header files and implementation files are used to perform reactive transport simulations with using the direct memory access approach:

  • PhreeqcKernelData
  • PhreeqcKernel.cpp
  • PhreeqcKernel.h