Skip to content

CemGEMS user guide

Defining simulations of cement hydration, blending and degradation

Process templates

In order to facilitate creating the process simulations and diagrams, CemGEMS web app offers a number of process templates compatible with most of the provided input recipe templates. The available process types and control variables can be selected when the user creates a new Process simulation document (Process with New Process option). These two choices combined form the process template document key to load the template process definition and save it under the user-entered name (default is "MyProcess") in the user's profile database.

The process simulation uses the current recipe as the initial state ("parent"), from which the code will create a number of "step recipes" by automatically cloning and modifying the parent recipe, as defined in the process document. The generated step recipes will be saved into the user's profile database as JSON documents, whose metadata contain the key of the parent recipe and the process.

Indexation of process steps begins from 0; recommended number of steps (to obtain relatively smooth diagrams and plots as in process templates) is about 100. A process document may optionally contain more than one process definition (work in progress).

Any Process definition can be adjusted/modified by the (expert) user, as described in redefining-processes page. After the process simulation is finished, its results will be (re)sampled into a Plot document (child to the process) created from default plot templates and plotted in a graphical frame.

Cement hydration

This group of process templates, applicable only to (min) cement data types, uses the built-in modified Parrot-Killoh hydration kinetics model (Lothenbach et al., 2008) or the 4PL (or 5PL with an additional asymmetry parameter) logistic model (Chitvoranund et al., 2017; Gottschalk & Dunn, 2005) with stepping in linear (hours) or decimal logarithmic time scales. Parameters for controlling the degree of reaction (ReactExtent) of main cement clinker constituents are not hard-coded, but provided in process template spans, where they can be easily modified by the expert user, as described in redefining-processes page. Starting from v.0.6.0, the same "Hydration-MPK" process type can be used for simulating the hydration of CEM-I, CEM-II, CEM-III, CEM-IV and CEM-LC3 Portland and blended cements of "min" data type, including hydration of fly ash, blast furnace slag, and metakaoline (or their combination) with only optional modifications of mP&K and 4PL parameters.

  • Hydration-MPK::Time-linear This template, suitable for CEM-I, CEM-II, CEM-III, CEM-IV and CEM-LC3 Portland and blended cements, sets 100 steps of partial equilibrium state calculations from 0 to 24 hours time, with time step length of 0.24 hours (14.4 min). The hydration process is simulated for some clinker constituents using the modified Parrot & Killoh kinetic model (Lothenbach et al., 2008), enhanced with activation energies to reproduce temperature dependences. For some other clinker phases or for SCM constituents, the hydration reaction extent can be simulated sing the 4PL (or 5PL) logistic equations controlling the residual amounts of clinker or SCM phases as function of time. Optionally, after modification of the Process definition, another temperature or even a stepwise trend of increasing temperature can be set (by default, calculations are performed at 20 C, 1 bar).

  • Hydration-MPK::Time-log This template, suitable for CEM-I, CEM-II, CEM-III, CEM-IV and CEM-LC3 Portland and blended cements, sets 100 steps of partial equilibrium state calculations from 0.01 to 10^4 hours (417 days) time, with time step length of 0.06 log10 units relative to the previous time point. The hydration process is simulated for some clinker phases using the modified Parrot & Killoh kinetic model (Lothenbach et al., 2008), enhanced with activation energies to reproduce temperature dependences. For some other clinker phases or for SCM constituents, the hydration reaction extent can be simulated sing the 4PL (or 5PL) logistic equations controlling the residual amounts of clinker or SCM phases as function of time. In fact, the time stepping is set from -2.0 until 4.0 at increment 0.05 linearly for the decimal exponent, so that the time step #0 corresponds to 0.01 h (0.6 min), and time step #100 - to 10'000 hours.

  • Hydration-5PL::Time-linear This template, suitable only for CEM-I, CEM-II, CEM-III, CEM-IV and CEM-LC3 Portland and blended cements, sets 100 steps of partial equilibrium state calculations from 0 to 24 hours time, with time step length of 0.24 hours (14.4 min). The hydration process is simulated for some clinker constituents and/or SCM constituents using the 4PL (or 5PL) model logistic equations controlling the residual amounts of clinker or SCM phases as function of time. For some other clinker phases, one can use the modified Parrot & Killoh kinetic model (Lothenbach et al., 2008), enhanced with activation energies to reproduce temperature dependences. Optionally, after modification of the Process definition, another temperature or even a stepwise trend of increasing temperature can be set (by default, calculations are performed at 20 C, 1 bar).

  • Hydration-5PL::Time-log Suitable for CEM-I, CEM-II, CEM-III, CEM-IV and CEM-LC3 Portland and blended cements, this template sets 100 steps of partial equilibrium state calculations from 0.01 to 10^3 hours (ca. 42 days) time, with time step length of 0.05 log10 units relative to the previous time point. The hydration process is simulated for some clinker constituents and/or SCM constituents using the 4PL (or 5PL) model logistic equations controlling the residual amounts of clinker or SCM phases as function of time. For some other clinker phases, one can use the modified Parrot & Killoh kinetic model (Lothenbach et al., 2008), enhanced with activation energies to reproduce temperature dependences. In fact, the time stepping is set from -2.0 until 3.0 at increment 0.05 linearly for the decimal exponent, so that the time step #0 corresponds to 0.01 h (0.6 min), and time step #100 - to 1000 hours.

  • Hydration-5PL-AC::Time-linear This template, suitable only for CSA-C, BYF-C and CAC, sets 100 steps of partial equilibrium state calculations from 0 to 24 hours time, with time step length of 0.24 hours (14.4 min). The hydration process is simulated for some clinker constituents and/or SCM constituents using the 4PL (or 5PL) model logistic equations controlling the residual amounts of clinker or SCM phases as function of time. For some other clinker phases, one can use the modified Parrot & Killoh kinetic model (Lothenbach et al., 2008), enhanced with activation energies to reproduce temperature dependences. Optionally, after modification of the Process definition, another temperature or even a stepwise trend of increasing temperature can be set (by default, calculations are performed at 20 C, 1 bar).

  • Hydration-5PL-AC::Time-log Suitable only for CSA-C, BYF-C and CAC, this template sets 100 steps of partial equilibrium state calculations from 0.01 to 10^3 hours (ca. 42 days) time, with time step length of 0.05 log10 units relative to the previous time point. The hydration process is simulated for some clinker constituents and/or SCM constituents using the 4PL (or 5PL) model logistic equations controlling the residual amounts of clinker or SCM phases as function of time. For some other clinker phases, one can use the modified Parrot & Killoh kinetic model (Lothenbach et al., 2008), enhanced with activation energies to reproduce temperature dependences. In fact, the time stepping is set from -2.0 until 3.0 at increment 0.05 linearly for the decimal exponent, so that the time step #0 corresponds to 0.01 h (0.6 min), and time step #100 - to 1000 hours.

  • Hydration::Change-Rxt This template works with recipes where Cement (clinker) material is given by the bulk chemical analysis ("xrf"-type recipe templates), without splitting to amounts and degrees of reaction of clinker constituents. Hence, cement clinker can only dissolve as a whole, controlled by a single ReactExtent value, therefore the built-in Parrot-Killoh kinetics model or 4PL/5PL models cannot be used. The ReactExtent value is incremented in 100 steps starting from 0.01, ending at 1.0 (full hydration), actually incremented in decimal logarithmic steps from -2.0 to 0.0. Results can be plotted against the step index or against the lead variable ReactExtent taken as an abscissa. The plots obtained in this way are not very informative. In this version (0.6.0), at 20 C, this type of process fails for parent recipes made of "BYF-C::min" template; the reason is still unclear, investigation is on-going.

  • Hydration::Change-WB This template performs the effect of changing w/b mass ratio (in any cement) from 0.3 to 1.0 linearly in 101 steps. To keep the mass of Cement and SCMs solid part constant, the second and third spans set Quantity of the Water material and of the whole recipe to 0 (both are calculated automatically during the equilibration).

Obsolete process templates for time-dependent hydration (v.0.5.3 and older)

These templates still work for backward compatibility, but they are not recommended for creating new process simulations, and will be removed in one of the next updates of CemGEMS. Instead, please, choose 'Hydration-MPK' or 'Hydration-5PL' for PC-based cements, or 'Hydration-5PL-AC' for CSA-based cements; both allow using mP&K and 4PL/5PL models for different constituents (spans) in the same process definition.

  • Hydration-PK::Time-linear This template sets 100 steps of partial equilibrium state calculations from 0 to 24 hours time, with time step length of 0.24 hours (14.4 min). The hydration process is simulated using the modified Parrot & Killoh kinetic model (Lothenbach et al., 2008), enhanced with activation energies to reproduce temperature dependences. Optionally, after modification of the Process definition, another temperature or even a stepwise trend of increasing temperature can be set (by default, calculations are performed at 20 C, 1 bar).

  • Hydration-PK::Time-log Sets 100 steps of partial equilibrium state calculations from 0.01 to 10^4 hours (417 days) time, with time step length of 0.06 log10 units relative to the previous time point. The hydration process is simulated using the modified Parrot & Killoh kinetic model (Lothenbach et al., 2008), enhanced with activation energies to reproduce temperature dependences. In fact, the time stepping is set from -2.0 until 4.0 at increment 0.05 linearly for the decimal exponent, so that the time step #0 corresponds to 0.01 h (0.6 min), and time step #100 - to 10'000 hours.

  • Hydration-4PL::Time-linear This template sets 100 steps of partial equilibrium state calculations from 0 to 24 hours time, with time step length of 0.24 hours (14.4 min). The hydration process is simulated using the 4PL (or 5PL) logistic equations controlling the residual amounts of clinker or SCM phases as function of time. Optionally, after modification of the Process definition, another temperature or even a stepwise trend of increasing temperature can be set (by default, calculations are performed at 20 C, 1 bar).

  • Hydration-4PL::Time-log Sets 100 steps of partial equilibrium state calculations from 0.01 to 10^3 hours (ca. 42 days) time, with time step length of 0.05 log10 units relative to the previous time point. The hydration process is simulated using the 4PL (or 5PL) logistic equations controlling the residual amounts of clinker or SCM phases as function of time. In fact, the time stepping is set from -2.0 until 3.0 at increment 0.05 linearly for the decimal exponent, so that the time step #0 corresponds to 0.01 h (0.6 min), and time step #100 - to 1000 hours.

Blending of cement with SCMs

This group of process templates implements various "blending" of (usually Portland) cement recipe of any data type by stepwise addition of increasing amounts of SCMs (supplementary cementitious materials). In most recipe templates, of both "min" and "xrf" type, the SCMs Material consists of several Constituents in the following order: Limestone, SF (silica fume), GGBFS (ground granulated blast furnace slag), CC(MK) (calcined clay, mainly metakaolin), FA-amorphous (reactive part of coal fly ash), FA-inert (non-reactive part of coal fly ash), PZL (pozzolana Bacoli (Italy) composition), Anhydrite, Gypsum. By default in most CEM-I recipes, Limestone has 100 %mass content in SCMs and the SCMs material contributes 0 g to the recipe. We recommend to check in the parent recipe the ReactExtent values for SCM constituents of interest (set by default for 28 days hydration time) and set them to 1.0 or other desired value, as these are not checked or modified in the "Blending" process templates. Also set the desired SCMs composition in %mass of required constituents before creating a process simulation.

  • Blending::Add-SCM Sets 100 linear steps of blending a cement recipe by adding SCMs, starting from 0 until 20 g with increment of 0.2 g, all per 100 g of (cement+SCMs), keeping the initial binder mass and w/b mass ratio constant and temperature at 20 C. Optionally, temperature can be changed to another value or even increased or decreased linearly along with blending (this can be set in the process definition using jsoneditor in Expert view mode, along with the maximum addition of SCM). The constant mass of the binder upon addition of SCMs (set in the first span) is maintained by removal of equivalent mass of Cement (set in the second span). So, if the stepping of SCMs addition is changed, the stepping of Cement removal must be changed too (i.e. in the second span, set valstart and valstop to auto and valstep equal to -valstep in the first span).

  • Blending::Arbitrary This process template is similar to the previous one, and should be used by experts to edit with jsoneditor and to set up custom blending with addition of SCMs or Salts and with parallel changes in w/b ratio and/or temperature.

Cement dilution and leaching in water

This group of process templates can be used for simulating changes in partially equilibrated hydrated cements upon adding Water or changing w/b mass ratio in a wide range. Composition of Water material to act on cement should be set in the parent recipe before running the process. The results (volumes or masses of phases) should be plotted for solids only, skipping aqueous solution and gas from the ordinate.

  • Leaching::Add-Water This template sets the addition of Water material stepwise from 10^2 g to 10^7 g with a linear stepping of logarithmic values (101 steps). In order to keep the mass of Cement+SCMs constant at 0.1 kg, each step (before equilibration) zeroes off the W/B mass ratio and the total recipe Quantity. The results should be plotted not as 'Volumes' but as 'Volumes-Solids' (not as 'Masses' but as 'Masses-Solids) to avoid that the plot ordinate is overwhelmed by water. In this version (0.6.0), at 20 C, this type of process fails for parent recipes made of "BYF-C::min" and "BYF-C::xrf" templates; the reason is still unclear, investigation is on-going.

  • Leaching::Arbitrary This process template is similar to the previous one, and should be used by experts to edit with jsoneditor and to set up custom leaching with addition of Water or Salts and with parallel changes in cement composition and/or temperature.

Salt ingress ("attack") into cement

The salt ingress into cement is a reactive transport phenomenon, in which dissolved anions and cations from the external aqueous electrolyte solution diffuse into cement mortar or into concrete due to concentration gradients, and react there with hydrated cement phases. Ions present in high concentration in cement porewater (Ca+2, Na+, OH-, SO4-2) diffuse in the opposite direction out of cement. Water, as such, does not move much in the absence of advective transport (which mainly occurs in fractures). These complex processes can only be qualitatively and approximately simulated in a simple stepwise process of mixing (addition of Salt composition to cement with compensatory removal of Ca(OH)2 and sometimes also NaOH, KOH, sulphate) with the subsequent chemical equilibration.

In the ingress process templates below, the addition of NaCl or another salt or of CO2 as a Constituent of the Salts Material is implemented in the first span. Note that the Salts material is not accounted for in cross-checking of the w/b mass ratio. At large additions of salt such as NaCl, the thermodynamic model of cement may become incorrect due to very high ionic strength of the pore water, which is beyond the range of applicability of Debye-Hueckel equation for ionic acrtivity coefficients, or because some soluble salt minerals were not included in the GEMS thermodynamic system. The Salts material composition should be set in the parent recipe before the process of "ingress" type is simulated. The removal of Ca(OH)2 or other components for compensation of the salt ingress is defined in the second span of the process. Optional increase of the ReactExtent of the clinker material can be set by editing the third process span.

  • Ingress::Add-Salts In this process template, a stepwise linear addition of Salt from 0 to 10 g with increment 0.1 g (per 100 g cement) is implemented, using the Quantity of Salts Material. The compensatory removal of Ca(OH)2 is set as a stepwise linear addition of negative Quantity of the recipe-level shortcut formulae list. To simulate carbonation of cement, just run the process (by default, the Salts composition in all recipe templates is set as 100 %mass CO2). To simulate ingress of another salt or a combination of different salts, first set the Salts material composition accordingly in the parent recipe.

  • Ingress::Arbitrary This process template is similar to the previous one, and should be used by experts to edit with jsoneditor and to set up custom salt ingress or carbonation with addition of Water or Salts and with parallel changes in cement composition and/or temperature.

Disclaimer!

This release 0.7.0 beta contains calculations of salt ingress ("attack") using a very simplistic approach when the salt of a given composition is added to equilibrating hydrated cement and CaO or Ca(OH)2 is removed for compensation. While this scenario appears reasonable for carbonation of cement in groundwater (rich in bicarbonate ions but relatively poor in Ca, OH- and alkali ions), ir becomes questionable upon addition of NaCl or seawater greater than 5-8 g per 100 g binder. This can be seen upon plotting pH and IS (ionic strength) for any such process: at 6-9 g or less addition of salt, IS remains smaller than 0.7 (as of sewater), but at greater salt additions, IS strongly increases up to 6-7 molal. There are two problems associated with this implementation of salt attack process. (i) in GEM calculations, the extended Debye-Hueckel aqueous electrolyte activity model is used, which is valid at IS less than 1.5 m. At higher ionic strengths, models like SIT or Pitzer must be used (a matter of future R&D). (ii) the salt addition and compensating removal of Ca and hydroxyl is an oversimplification of the real diffusion transport at cement-water or cement-air interfaces, controlled by ion activity gradients. When Na+, Cl-, Mg+ ions from seawater move into cement, their concentrations in porewater increase until their activities inside and outside become equal and the mass transfer essentially stops. In some cases, concentrations of an ion may be kept low by some mineral buffer, until its capacity is exhausted, but then the transport will slow down anyway. For this reason, such "attack" simulations as done at present can only be considered as qualitative within a limited process lead range. More research and improvement here is definitely necessary.

Degradation: Carbonation of cement

Carbonation, i.e. reaction of cement with atmospheric CO2 or dissolved carbonate species diffusing into cement or concrete, is essentially a reactive transport phenomenon, which in CemGEMS can only be qualitatively and approximately simulated in a simple stepwise process of mixing (addition of CO2) with chemical equilibration. To implement this kind of simulation, first set the Salt material composition to contain 100 %mass (or different but significant percentage) of CO2 in the parent recipe, equilibrate it, and then make a "salt ingress" process and simulate it.

Other (ad hoc) processes

Various simple process simulations can be set by incrementing state variables such as temperature (between 0 and 99 C) and pressure (1 to 100 bar). As an example, one process template for stepwise increase of temperature is provided.

  • Other::Stepwise Sets a stepwise linear increase of temperature from 0 to 99 C with step 1 C in InputSpan 0. As an option, the input span 1 can be used for changing the 28-day reaction extent of Cement Constituent Belite according to changing temperature (i.e. to make a higher reaction extent at higher temperature). If needed, the jsoneditor can be used (in Expert view) to add more InputSpan blocks for analogous change of ReactExt for other clinker phases or SCM constituents.

  • Other::Arbitrary This process template is similar to the previous one, and should be used by experts to edit with jsoneditor and to set up custom stepwise change of arbitrary input properties of recipe materials or constituents and/or temperature or reaction extent.

Estimation of isothermal and adiabatic heat effects

Since CemGEMS v.0.5.0, the estimates of isothermal heat generation and adiabatic temperature rise in cement hydration processes are calculated automatically from the values of total specific enthalpy and total specific heat capacity of hydrated cement per 100 g of dry cement for each generated step recipe, and collected into metadata of step recipes, from where they can be plotted.

First, the amount of heat cQ generated at current step s is obtained as

cQ(s) = H(s) - H(s-1)

where H is the total enthalpy of equilibrated recipe (in J/(g cement)). The isothermal heat generation rate rQ in mW/g is

rQ(s) = 1000 * cQ(s)/dt(s)

where dt(s) is the time step duration in seconds. The isothermal cumulative heat uQ at step s is computed as

uQ(s) = uQ(s-1) + cQ(s)

Please, note that the isothermal heat effects calculated as described above correspond to stepwise partial dissolution of clinker minerals and SCMs constituents with instant equilibrium formation of hydrated phases, and do not account for delayed kinetics of precipitation of hydrated phases. For this reason, especially at early hydration stages and short dt(s) values, the computed heat effects may differ significantly from measured ones, and should at this stage be considered as qualitative.

In this version of CemGEMS, adiabatic heat effects are not computed from step recipes at increasing temperatures, but estimated from isothermal heat effects at (the same) initial temperature as set in the parent process recipe. The adiabatic temperature change cT(s) at step s can be approximated as

cT(s) = cQ(s)/cCp(s);

cCp(s) = Cp(s)-Cp(s-1)

where Cp(s) and Cp(s-1) are specific heat capacities of the partially hydrated cement at steps s and s-1, respectively. The temperature change rate rT(s) in degrees per hour is then found as

rT(s) = cT(s)/dt(s)

and the adiabatic (cumulative) temperature - as

aT(s) = aT(s-1) + cT(s).

Such calculations are only approximate because both enthalpy and heat capacity of a substance depend on temperature, although in the opposite directions. Namely, for most minerals, the enthalpy becomes more positive at increasing T (i.e. heat content Q = -H decreases with increasing T). The heat capacities of minerals all increase with temperature, as defined by Majer-Kelly or other forms of Cp=f(T) equations. Therefore, the cT(s) and rT(s) must decrease with the increasing temperature because in cQ(s)/cCp(s) ratio, the numerator decreases and the denominator increases with increasing temperature.

We concluded that at the present stage, it does not make sense to implement the adiabatic hydration process separately with temperature increasing at each step, because significant fraction of hydrated minerals in the thermodynamic dataset only have Cp values at 25 C and no other Cp=f(T) parameters for correction of Cp values at elevated temperatures. More work is needed to identify the deviations and corrections to them. So, we assumed that cCp(s) must be linearly corrected against aT(s-1) - T(0) (where T(0) is usually 20 C) by a factor aTf as follows:

cT(s) = cQ(s-1)/cCp(s-1)/aTf(s-1);

aTf(s-1) = 1 + (aT(s-1) - T0) / kap

where kap is an empirical constant. The aTf factor slowly increases as the temperature rise aT(s-1) - T(0) becomes larger. This increase is minimal when kap is large (100 and more) and becomes significant when kap is small (10 or less). Trial runs of P&K hydration processes have shown that at kap > 100, the cumulative adiabatic temperature estimates reached 400 C at 28 days, which is obviously too much. Typical experimental temperature rise of 30-55 C has been estimated when the kap parameter was calibrated to values between 5 and 15 (average 7.7 as set in the code) to provide satisfactory results.

Disclaimer!

In this release 0.7.0 beta, such calculations of heat effects (especially adiabatic ones) are still approximate, need more testing/calibration, and should be interpreted very carefully. More research and improvements of thermodynamic dataset, kinetics of precipitation of hydrated cement phases, and built-in process simulator functions are absolutely necessary. Extensive benchmarking and verification of calculated vs measured heat effects (e.g. calorimetric data) are also pending.

References for process simulations

  • Avet, F., Li, X., & Scrivener, K. (2018). Determination of the amount of reacted metakaolin in calcined clay blends. Cement and Concrete Research, 106, 40-48, Table 1, col.1.

  • Chitvoranund, N., Winnefeld, F., Hargis, C.W., Sinthupinyo, S., Lothenbach, B. (2017). Synthesis and hydration of alite-calcium sulfoaluminate cement. Advances in Cement Research 29(3), 101-111.

  • De Weerdt, K., Ben Haha, M., Le Saoût, G., Kjellsen, K., Justness, H., Lothenbach, B. (2011) Hydration mechanisms of ternary Portland cements containing limestone powder and fly ash, Cement and Concrete Research, 41(3), 279-291.

  • Gottschalk, P.G., Dunn, J.R. (2005). The five-parameter logistic: A characterization and comparison with the four-parameter logistic. Analytical Biochemistry 343, 54–65.

  • Lothenbach, B., Le Saout, G., Gallucci, E., Scrivener, K. (2008) Influence of limestone on the hydration of Portland cements. Cement and Concrete Research, 38(6), 848-860.

  • Massazza, F. (1998). Pozzolana and Pozzolanic Cements. Ch. 10 in Lea's Chemistry of Cement and Concrete (Fourth Edition), Ed. Hewlett, P., Butterworth-Heinemann, p.471-635.

  • Olsson, N., Lothenbach, B., Baroghel-Bouny, V., Nilsson, L.-O. (2018) Unsaturated ion diffusion in cementitious materials – The effect of slag and silica fume, Cement and Concrete Research, 108, 31-37.

  • Savastano Jr., H., Warden, P.G., Coutts, R.S.P. (2005) Microstructure and mechanical properties of waste fibre–cement composites Cement and Concrete Composites, 27, 583-592, Table 1.