Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

SimCem thermodynamic and process simulation package

This package uses the stator Comptational Algebra System (CAS) to treat thermodynamics in an equation-oriented way. This is important in applied thermodynamics, as often additional constraints such as heat transfer, kinetics, or multi-stage processes need to be included. These are crucial inclusions in process simulation and using an equation-oriented approach can reduce the required iterations to solve these types problems and can lead to better optimisation; however, the setting up of such problems is significantly more complex. The ambition of SimCem is to hide as much of this complexity as possible and make process engineering and thermodynamics on real systems more fun and accessible.

SimCem is still in development so much is aspirational at this time. The SimCem project also wants to improve thermodynamic fitting workflows by ensuring data integrity. This means tools are being built which can take measurements from its sources in original units and closely linked to the publications/datafiles/graphs to allow careful and easy review of fitted parameters. This work is mainly the focus of the website

Installation on Linux/Mac-OSX

Try installing via pip, this should Just Work™ for most Linux/OSX distributions.

pip install simcem

If we've not prebuilt wheels for your system then pip will attempt to compile simcem but you will need to install cmake, eigen, boost, sundials, and ipopt for this to succeed. You can get these on Ubuntu using the following command:

sudo apt-get install libeigen3-dev libsundials-dev coinor-libipopt-dev

Installation on Windows

The only supported method to obtain SimCem is via conda. We package SimCem occasionally on Windows systems (here)[]. To install it just run the following:

conda install -c toastedcrumpets simcem

Compiling/Building the package yourself

While CMake is used to perform the actual compilation, it is hooked into python setuptools, so to build the package just run

python ./ build


To install the package, run

python ./ install


You will need a thermodynamic database to use SimCem. A free one containing data from NASA is available in the GitHub repository here. Eventually, you will be able to download databases from


SimCem draws inspiration from these projects which are all excellent solutions and better than SimCem in many ways:

Open/free software

  • Pycalphad is an python Gibbs free energy minimizer which can solve for phase diagrams (among other things).
  • ESPEI is built on top of Pycalphad and tries to solve the problems of thermodynamic fitting for metals/oslid systems.
  • OpenCalphad a fortran CALPHAD approach
  • BurnMan: A nice thermodynamic modelling package for geological processes (so it has pressure-dependence in solids).


No description, website, or topics provided.







No releases published


No packages published