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

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>


Last updated:  03. 08. 2018

Copyright (c) 2010-2018  GEMS Development Team