ThermoMod is an open-source framework for thermodynamic modeling, integrating experiments, thermodynamic data optimization and prediction, and (geo)chemical modeling, together with efficient sharing of data between researchers, industry and public.

ThermoMod provides the tools for managing thermodynamic data using state of the art technologies for data storage, data exchange, and data processing.

They handle tasks such as:

  • Storing all thermodynamic data (ThermoHub)
  • Managing the standard thermodynamic data and performing consistency checks (ThermoMatch)
  • Delivering standard thermodynamic data for substances or reactions at given temperature T and pressure P of interest (ThermoFun)
  • Delivering partial and bulk properties for activity models of phases-solutions at given T, P and composition x (ThermoSol)
  • Performing parameter optimization and global consistency improvement (ThermoFit)
  • Storing various experimental data essential for global optimization of thermodynamic properties and model coefficients (ThermoExp)

Questions and needs of a (geo)chemist

What thermodynamic data should I use for model calculations?

ThermoFun delivers thermodynamic data corrected for temperature and pressure of interest having access to several thermodynamic datasets (GEM-, LMA-type) stored in ThermoHub that contain many substances and reactions suitable for different (geo)chemical applications.

How can I easily access these data from different modeling codes?

ThermoFun has a straight forward C++ and Python interface for coupling with 3rd party codes for retrieving standard state thermodynamic properties of substances and reactions for further use in calculations (e.g. chemical equilibrium).

How do I get the thermodynamic data corrected from the standard state to the state at temperature T and pressure P of interest?

ThermoFun has a selection of models and Equations of State for doing temperature and pressure extrapolations of standard state thermodynamic properties of substances and reactions. The correction method code and necessary parameters are stored in the substance and reaction records collected in different Thermodynamic datasets stored in ThermoHub and accessible through ThermoFun.

How can I manage (Create, Read, Update, Delete, Search) the thermodynamic database? How can I import/export the data?

ThermoMatch gives access for detailed work on the thermodynamic datasets stored in ThermoFun using several widgets that allow CRUDS operations (Create, Read, Update, Delete, Search) as well as automatic imports/exports of thermodynamic data from different formats using special scripts (e.g. from and to PHREEQC format).

Where does the data come from, how was it compiled/derived?

ThermoHub graph style database allows complete traceability of the stored thermodynamic data using dataSource links between references and any data field in substance and reaction records.

Is there a way to check formal consistency between properties of substances/reactions in one dataset or between datasets?

(ThermoMatch) reactions generator allows to generate a set of independent reactions given a selection of substances and master substances, allowing to compare the resulted reaction properties, calculated from the properties of reactants and products, with other sources. (Consistency check Under Construction)

How can I retrieve new sets of internally consistent standard properties from experimental or spectroscopic data?

(ThermoFit) now GEMSFITS code for GEM input global multi-parameter multi-property optimization.