SimCem, the thermodynamics/process engineering package
Project description
SimCem thermodynamic and process simulation package
apt install cmake curl git unzip zip ninja-build g++ gcc make gfortran autoconf libtool python3-dev autoconf-archive
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 SimCem.com.
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 libboost-all-dev pkg-config
Installation on Windows
The only supported method to obtain SimCem is via conda. We package SimCem occasionally on Windows systems (here)[https://anaconda.org/toastedcrumpets/simcem]. To install it just run the following:
conda install -c toastedcrumpets simcem
Compiling/Building the package yourself
Make sure to initialise and update submodules if you haven't done so with git clone, run this command
git submodule init
git submodule update
After the above steps are complete you can build and install. While CMake is used to perform the actual compilation, it is hooked into python setuptools, so to build the package just run
python ./setup.py build
Installation
To install the package, run
python ./setup.py install
Usage/Database
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.com.
Alternatives
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).
- NASA CEA
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file simcem-1.0.0.tar.gz.
File metadata
- Download URL: simcem-1.0.0.tar.gz
- Upload date:
- Size: 8.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bdbc717b6140ccc0194e0d8bdc520049b69533e2189d74f9d90629ee1af9dd57
|
|
| MD5 |
7eed002ec0e01b1423866ae06725bf01
|
|
| BLAKE2b-256 |
d121aed064fb5a898fb93651cc058f86918b60c5264333685db7085c389692a9
|
Provenance
The following attestation bundles were made for simcem-1.0.0.tar.gz:
Publisher:
wheels.yaml on simcem/SimCem
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
simcem-1.0.0.tar.gz -
Subject digest:
bdbc717b6140ccc0194e0d8bdc520049b69533e2189d74f9d90629ee1af9dd57 - Sigstore transparency entry: 879891579
- Sigstore integration time:
-
Permalink:
simcem/SimCem@886679ffe3fb4b7b8bf5c69dc8e7e485bb0f24b9 -
Branch / Tag:
refs/tags/v1.0 - Owner: https://github.com/simcem
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yaml@886679ffe3fb4b7b8bf5c69dc8e7e485bb0f24b9 -
Trigger Event:
release
-
Statement type:
File details
Details for the file simcem-1.0.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: simcem-1.0.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 10.7 MB
- Tags: CPython 3.14t, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
891a5dfb44404a35a1c96f6231ea00bd351fada9045cc6e5cfcd11caf91e065d
|
|
| MD5 |
8d58f8dfe51f5e48419b0f54b3d82b4a
|
|
| BLAKE2b-256 |
59201cefce7c4ce6f5cec0eaa277c702b26ddf2c4c7521ec964324756423c56a
|
Provenance
The following attestation bundles were made for simcem-1.0.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
wheels.yaml on simcem/SimCem
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
simcem-1.0.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
891a5dfb44404a35a1c96f6231ea00bd351fada9045cc6e5cfcd11caf91e065d - Sigstore transparency entry: 879891798
- Sigstore integration time:
-
Permalink:
simcem/SimCem@886679ffe3fb4b7b8bf5c69dc8e7e485bb0f24b9 -
Branch / Tag:
refs/tags/v1.0 - Owner: https://github.com/simcem
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yaml@886679ffe3fb4b7b8bf5c69dc8e7e485bb0f24b9 -
Trigger Event:
release
-
Statement type:
File details
Details for the file simcem-1.0.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: simcem-1.0.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 10.7 MB
- Tags: CPython 3.14, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
902580687b88a694fe44afa8c94bd5c2f47eecb0819063339ab089517eb832c1
|
|
| MD5 |
93a5a186c1457e660aa0049f13ff4663
|
|
| BLAKE2b-256 |
627b853ce4363967afaa7d7bed355bd1e50e0057df619c283b6749cb8613c34f
|
Provenance
The following attestation bundles were made for simcem-1.0.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
wheels.yaml on simcem/SimCem
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
simcem-1.0.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
902580687b88a694fe44afa8c94bd5c2f47eecb0819063339ab089517eb832c1 - Sigstore transparency entry: 879892209
- Sigstore integration time:
-
Permalink:
simcem/SimCem@886679ffe3fb4b7b8bf5c69dc8e7e485bb0f24b9 -
Branch / Tag:
refs/tags/v1.0 - Owner: https://github.com/simcem
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yaml@886679ffe3fb4b7b8bf5c69dc8e7e485bb0f24b9 -
Trigger Event:
release
-
Statement type:
File details
Details for the file simcem-1.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: simcem-1.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 10.7 MB
- Tags: CPython 3.13, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b430330151e800f292edbf38d3e29ba61a40b7c32619e9d9729f3865e7d1448b
|
|
| MD5 |
67a8da0c122272aafc12a2e99b08c87b
|
|
| BLAKE2b-256 |
faae1d75babb28727df8b0ef7587d728724e2591fd816268f61d6b7530e0d208
|
Provenance
The following attestation bundles were made for simcem-1.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
wheels.yaml on simcem/SimCem
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
simcem-1.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
b430330151e800f292edbf38d3e29ba61a40b7c32619e9d9729f3865e7d1448b - Sigstore transparency entry: 879892108
- Sigstore integration time:
-
Permalink:
simcem/SimCem@886679ffe3fb4b7b8bf5c69dc8e7e485bb0f24b9 -
Branch / Tag:
refs/tags/v1.0 - Owner: https://github.com/simcem
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yaml@886679ffe3fb4b7b8bf5c69dc8e7e485bb0f24b9 -
Trigger Event:
release
-
Statement type:
File details
Details for the file simcem-1.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: simcem-1.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 10.7 MB
- Tags: CPython 3.12, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
529e6dae1524c1c6e9d3ecbb134a139ec3d7264e4723b9997585ff76d4917c14
|
|
| MD5 |
2acb1e661ba70c7bc9f5f9698a0c23ee
|
|
| BLAKE2b-256 |
ee902e2b6c8e5e670bda5bb76d8850f2e2e4b0a276cf77707f9b8c3e9dffca5b
|
Provenance
The following attestation bundles were made for simcem-1.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
wheels.yaml on simcem/SimCem
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
simcem-1.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
529e6dae1524c1c6e9d3ecbb134a139ec3d7264e4723b9997585ff76d4917c14 - Sigstore transparency entry: 879892261
- Sigstore integration time:
-
Permalink:
simcem/SimCem@886679ffe3fb4b7b8bf5c69dc8e7e485bb0f24b9 -
Branch / Tag:
refs/tags/v1.0 - Owner: https://github.com/simcem
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yaml@886679ffe3fb4b7b8bf5c69dc8e7e485bb0f24b9 -
Trigger Event:
release
-
Statement type:
File details
Details for the file simcem-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: simcem-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 10.7 MB
- Tags: CPython 3.11, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
657f17f6a5c8251f460de920c6ecac40112b7456ddc7f0d5e201f8bc8923dca1
|
|
| MD5 |
a9a54fb1b22ab2073f3c2baae9432026
|
|
| BLAKE2b-256 |
ae5e1fb30d0648b998487dd080b284f0af5a18bd2525143557f6c9c50d6a0f6e
|
Provenance
The following attestation bundles were made for simcem-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
wheels.yaml on simcem/SimCem
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
simcem-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
657f17f6a5c8251f460de920c6ecac40112b7456ddc7f0d5e201f8bc8923dca1 - Sigstore transparency entry: 879891682
- Sigstore integration time:
-
Permalink:
simcem/SimCem@886679ffe3fb4b7b8bf5c69dc8e7e485bb0f24b9 -
Branch / Tag:
refs/tags/v1.0 - Owner: https://github.com/simcem
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yaml@886679ffe3fb4b7b8bf5c69dc8e7e485bb0f24b9 -
Trigger Event:
release
-
Statement type:
File details
Details for the file simcem-1.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: simcem-1.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 10.7 MB
- Tags: CPython 3.10, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bccd1bd7a2c5f69133a705f2350f1078e3ddd85358b4223cc9ce61ee2094c5d2
|
|
| MD5 |
bcbae06f421b21d755fd0c2c3028acef
|
|
| BLAKE2b-256 |
bf5997219553029debcdf3f4805cf4e8f7941c2224e9aae5d8321d05e1e5cc16
|
Provenance
The following attestation bundles were made for simcem-1.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
wheels.yaml on simcem/SimCem
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
simcem-1.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
bccd1bd7a2c5f69133a705f2350f1078e3ddd85358b4223cc9ce61ee2094c5d2 - Sigstore transparency entry: 879891996
- Sigstore integration time:
-
Permalink:
simcem/SimCem@886679ffe3fb4b7b8bf5c69dc8e7e485bb0f24b9 -
Branch / Tag:
refs/tags/v1.0 - Owner: https://github.com/simcem
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yaml@886679ffe3fb4b7b8bf5c69dc8e7e485bb0f24b9 -
Trigger Event:
release
-
Statement type:
File details
Details for the file simcem-1.0.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: simcem-1.0.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 10.7 MB
- Tags: CPython 3.9, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
54cb27b2b79f829e0abf233278f554412f4197e070619be6fbf7da421ec4c6f9
|
|
| MD5 |
c7a70b4c32effc1dd0888ec5f2f74cb4
|
|
| BLAKE2b-256 |
c6aed343bffbddec41ea33b570fd8b312a7c5f305fc95629121b4b9a921388b4
|
Provenance
The following attestation bundles were made for simcem-1.0.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
wheels.yaml on simcem/SimCem
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
simcem-1.0.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
54cb27b2b79f829e0abf233278f554412f4197e070619be6fbf7da421ec4c6f9 - Sigstore transparency entry: 879891890
- Sigstore integration time:
-
Permalink:
simcem/SimCem@886679ffe3fb4b7b8bf5c69dc8e7e485bb0f24b9 -
Branch / Tag:
refs/tags/v1.0 - Owner: https://github.com/simcem
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yaml@886679ffe3fb4b7b8bf5c69dc8e7e485bb0f24b9 -
Trigger Event:
release
-
Statement type: