Skip to content

Project implementation stages

Since 2015, there were on-going discussions about CemGEMS among Nanocem affiliates including T.Matschei and L.Baqueriso (Holcim CH), leading to an internal proposal that was not supported at that time.

First mock-up page (as sketched in 2015 and discussed in early 2018)


The second wave of discussions, triggered by the progress of GEMS, Cemdata18 database, full-stack web development technologies, and multi-format databases such as ArangoDB, started in early 2018. The revised proposal for CemGEMS internal project was supported at Nanocem Spring Meeting in April 2018. The work was planned as Initiation and three Stages.

Initiation (done):

Front-end prototyping, contracting web developer(s), setting up a secure VPS server.

Defining use cases (typical applications); features to be implemented; front-end (client) structure, back-end (server) architecture, and modes of interaction between them; writing down the initial agile backlog and prioritising it to prepare for the implementation stage 1.

Later on, the backlog may be extended/revised or re-prioritised at the end of each stage. After accepting all relevant tasks inplemented, the release will commence and will be tested in the industry to collect feedback for improvements during the next implementation stage.

Stage 1 (done):

Single-system calculations

Front-end (web app client):

Selection of cement type templates to create tasks containing recipes (editable), settimg temperature, water/binder ratio, etc. Equilibrium calculation for a pre-defined cement recipe. Presenting task equilibration results in web form as tree-like tables and as two horizontal stacked bar charts; optionally, export to json and csv files (tbd).

Back-end (web app server):

Input JSON documents for chemical system definition, thermodynamic data, cement recipes and compositions kept in the database as templates and user-created and modified tasks.

Wrapper code GEMSW is used for the interaction with GEMS3K and its data input-output in a single-system task calculation.

Stage 2 (done):

Process simulations

Front-end (web app client):

In web page adding selection of process template when creating a process definition; allow editing types and variables, ranges, steps; arrange process simlation output as queries on process-generated steps to collect the results into tables and graphically rendered plots.

Back-end (web app server):

Extending GEMSW wrapper code for serial process GEMS3K calculations for varying temperature, water addition, SCM addition, hydration extent, time, …; saving results for process step tasks into JSON documents to be sent to the front-end user database.

Stage 3 (done):

Plotting process simulation results

Front-end (web app client): new workflow (minimising user actions).

Plotting templates, process step data extraction, graphical rendering of plots and frames.

User/group accounts & databases (done)

Adding user/group accounts, access rights, profile databases.

Saving/retrieval of tasks /results /comments from the user front-end database, synchronized with back-end database;

Testing/verification, addressing the legal side (CemGEMS licensing, terms of use, conditions for data protection) (in progress).

Current appearance of single-page CemGEMS web app



CemGEMS Extension stage

Initiation (in progress)

Setting up a secure server for commercial CemGEMS enterprise support.

Extension Sprint 1 (in progress)

Research and modification of GEMSW code to run in WebAssembly.

Extension of build and deployment on web server protocols.

Changes in front-end to use p2p communication instead of sending the user data to/from back-end server database.

Extension Sprint 2 (in progress)

Implementation of heat effects.

Final web design and resolving selected high-priority features from test user feedback.

Final reference implementation of recipe and process templates in GEM-Selektor.

Final testing session by the user community.

Release (to be defined)

Launch of CemGEMS v.1.0 and its commercial counterpart.

Negotiations and setup of the long-term maintenance by integration with research networks.

Last update: June 20, 2020