+A  Click here to enlarge/reduce to/back from full screen 
Paul Scherrer Institut PSI GEM Software (GEMS) Home

Paul Scherrer Institut
5232 Villigen PSI, Schweiz/Switzerland
Tel. +41 56 310 21 11
Fax. +41 56 310 21 99

E-Mail: gems2.support@psi.ch

Printer Friendly Printout without Logo or Navigation Elements available here... just click and print


Codes and Graphical Shell for GEM Input Parameter Optimization and Inverse Modelling

  • Can fit internally consistent input parameters of chemical thermodynamic models against the experimental data

  • Is coupled with the GEMS3K code for Gibbs Energy Minimization calculation of equilibrium states

  • Allows for bound, (non-)linear (in-)equality constrained minimization of weighted squared residuals

  • Written in C/C++, available with source code, completely parallelizable on HPC architectures

  • Provides tools for statistical analysis with thorough evaluation of the fitted parameters uncertainty

  • Results of fitting and statistics can be visualized and printed in various graphical formats using the graphical shell

  • Can import, manage and query extensive sets of the experimental data accumulated in NoSQL database files

Download Tests/ExamplesDevelopment Team

GEMSFITS software collection consists of:  gemsfit2 and gfshell2 codes, both coupled with the GEMS3K solver of geochemical equilibria and with the TSolMod library of >25 models of mixing in multi-component phases.

gemsfit2 code performs bound, linear and non-linear (in-)equality constrained optimization of input parameters of chemical thermodynamic models against the experimental data from the NoSQL database, which guarantees that open source, state-of-the-art technology is used for data management. The code uses parts of its early prototype GEMSFIT (Hingerl et al., 2014).

gemsfit2 uses a robust open-source library NLopt for nonlinear optimization, providing easy selection between several algorithms (global, local, gradient-based). Statistical evaluation of results is performed by calculating summary statistics, sensitivities of measured data and parameters, correlation coefficients, and confidence intervals using Monte Carlo simulations. Computation time can be reduced by means of parallelization of computation-intensive parts of the code with the Open Multi Processing (OMP).

gfshell2 code is a GUI (graphical user interface) Qt-based shell that allows the user easily create a project for parameter fitting; import from csv files and manage the experimental data base records in JSON format; create, modify, and save the fitting task specifications (in JSON) to project database, and export them into gemsfit2 input files; run the gemsfit2 fitting task, import the results and display then in spreadsheet and graphical (Qwt) forms, then store the task results in the NoSQL project database.

In a single GEMSFITS project, any number of fitting tasks (variants) can be created, edited (in JSON format) and stored in database, each with its own setup. Multiple parameters can be fitted simultaneously against selected experimental properties, along with several options for data weighting, parameter bounds and constraints, and statistical methods.

Due to the flexibility of NoSQL database, which does not need a priori knowledge of the data structure, any experimental data can be kept, describing various experimental properties such as: composition of chemical system in each sample, measured phase compositions of samples (e.g. solubility data), measured phase properties (e.g. density), system volume, temperature and pressure, osmotic coefficients, activities/fugacities of components, integral properties of mixing, etc.

GEMSFITS software collection will be released under LGPLv3, the Lesser GNU General Public License. Several other LGPL'ed packages are used as runtime libraries (more ...).

<still under construction>


  • Miron G.D., Kulik D.A., Dmytrieva S.V., Wagner T. (2015): GEMSFITS: Code package for optimization of geochemical model parameters and inverse modeling. Applied Geochemistry 55, 28-45. doi.

  • Hingerl, F.F., Kosakowski, G., Wagner, T., Kulik, D. A., Driesner, T. (2014). GEMSFIT: a generic fitting tool for geochemical activity models. Computational Geosciences 18, 227-242. doi.

Last updated:  03. 08. 2018

Copyright (c) 2010-2018  GEMS Development Team