Standalone Solver of Chemical Equilibria for Coupled Simulation Codes

Download Docs Benchmarks Status

Attention: To download the latest (trunk) version of the GEMS3K source code under LGPL v.3 license, open your web browser and navigate to Follow the instructions in there (best, have Git installed - provided by default in Macos and Linux, for Windows 10 check The current trunk HEAD corresponds to GEM-Selektor v.3.7.0.  

GEMS3K (formerly GEMIPM2K) is a standalone C/C++ code implementing the efficient numerical kernel IPM-3 of the GEM-Selektor v.3 package for geochemical  thermodynamic modeling of local/partial equilibria in complex heterogeneous multicomponent-multiphase systems. The code includes TSolMod library of built-in phase models of non-ideal mixing, relevant to a wide range of applications in geochemistry (more...). GEMS3K uses fast and efficient linear algebra solvers from the JAMA C++ TNT package (NIST).

The GEMS3K code results from substantial developments of the convex programming Gibbs energy minimization algorithms achieved since 2000, when the support of GEM-Selektor code was taken over by LES PSI (since 2008 jointly with IGP ETHZ; since 2012 also jointly with the University of Helsinki). Since 2015, development of GEMS3K proceeds also in collaboration with IG GEG at ETHZ and with IML at RWTH Aachen.

GEMS3K code can be downloaded and coupled to reactive mass transport simulation codes, also running on high-performance computers, in particular, OpenGeoSys or CSMP++. Input files (in text format) for GEMS3K can be exported per mouse-click from the GEM-Selektor v.3  package, or prepared manually using any simple ASCII text editor. The runtime data exchange within the coupled code can be implemented in computer memory using TNode class functions.

Use of GEMS3K is granted under Terms and Conditions of use of GEM Software. In addition, in order to promote broad application in hydro(thermal)-/ waste geochemistry and related research communities, the standalone GEMS3K code is released open-source under Lesser GPL v.3 license. Potential areas of code application include coupled reactive mass transport codes, parameter fitting packages, and phase diagram plotting tools.

More about the GEMS3K code can be learned from publications:

This paper in an author-created pdf version can be found here. The final publication is available at via

The TSolMod library is an integral part of GEMS3K, used in solving for equilibrium in any system containing at least one solution (multi-component) phase, and essential if any built-in non-ideal solution phases (fluids, solid solutions) are involved. Even the simplest aquatic equilibrium calculation makes use of Davies or Debye-Hückel models that are implemented consistently in TSolMod library. Hence, citing this paper will streamline and shorten your manuscript by letting you concentrate on relevant problem setupand your modeling results.


Last update: 25.03.2020

Copyright (c) 2012-2020  GEMS Development Team


Copyright ©:, 26.03.2020, (none)
a Paul Scherrer Institute Site. All rights reserved.