In the development of CemGEMS web app, various technologies have been used for front-end and back-end development. The CemGEMS developers acknowledge the use of open-source or community software products, as described below.
Thermodynamic modelling calculations are performed on the server side using the PSI LES in-house xGEMS code - a C++/Python wrapper on top of the open-source GEMS3K code for solving chemical equilibria by Gibbs energy minimization. The input files for GEMS3K were prepared using the GEM-Selektor code extended with the Cemdata18 chemical thermodynamic database along with related TDBs for phosphates and zeolites. The CemGEMS wrapper code GEMSW for calculating cement recipes and processes calls xGEMS code and uses the N.Lohmann json.h header for processing JSON documents. JSON documents for recipes, processes and plots, along with all templates for creating them and all the user profile databases, are stored at the server side in ArangoDB database community variant instance.