Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

simcem-1.0.0.tar.gz (8.6 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

simcem-1.0.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (10.7 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

simcem-1.0.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (10.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

simcem-1.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (10.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

simcem-1.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (10.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

simcem-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (10.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

simcem-1.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (10.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

simcem-1.0.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (10.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

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

Hashes for simcem-1.0.0.tar.gz
Algorithm Hash digest
SHA256 bdbc717b6140ccc0194e0d8bdc520049b69533e2189d74f9d90629ee1af9dd57
MD5 7eed002ec0e01b1423866ae06725bf01
BLAKE2b-256 d121aed064fb5a898fb93651cc058f86918b60c5264333685db7085c389692a9

See more details on using hashes here.

Provenance

The following attestation bundles were made for simcem-1.0.0.tar.gz:

Publisher: wheels.yaml on simcem/SimCem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

File hashes

Hashes for simcem-1.0.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 891a5dfb44404a35a1c96f6231ea00bd351fada9045cc6e5cfcd11caf91e065d
MD5 8d58f8dfe51f5e48419b0f54b3d82b4a
BLAKE2b-256 59201cefce7c4ce6f5cec0eaa277c702b26ddf2c4c7521ec964324756423c56a

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

File hashes

Hashes for simcem-1.0.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 902580687b88a694fe44afa8c94bd5c2f47eecb0819063339ab089517eb832c1
MD5 93a5a186c1457e660aa0049f13ff4663
BLAKE2b-256 627b853ce4363967afaa7d7bed355bd1e50e0057df619c283b6749cb8613c34f

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

File hashes

Hashes for simcem-1.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b430330151e800f292edbf38d3e29ba61a40b7c32619e9d9729f3865e7d1448b
MD5 67a8da0c122272aafc12a2e99b08c87b
BLAKE2b-256 faae1d75babb28727df8b0ef7587d728724e2591fd816268f61d6b7530e0d208

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

File hashes

Hashes for simcem-1.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 529e6dae1524c1c6e9d3ecbb134a139ec3d7264e4723b9997585ff76d4917c14
MD5 2acb1e661ba70c7bc9f5f9698a0c23ee
BLAKE2b-256 ee902e2b6c8e5e670bda5bb76d8850f2e2e4b0a276cf77707f9b8c3e9dffca5b

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

File hashes

Hashes for simcem-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 657f17f6a5c8251f460de920c6ecac40112b7456ddc7f0d5e201f8bc8923dca1
MD5 a9a54fb1b22ab2073f3c2baae9432026
BLAKE2b-256 ae5e1fb30d0648b998487dd080b284f0af5a18bd2525143557f6c9c50d6a0f6e

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

File hashes

Hashes for simcem-1.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bccd1bd7a2c5f69133a705f2350f1078e3ddd85358b4223cc9ce61ee2094c5d2
MD5 bcbae06f421b21d755fd0c2c3028acef
BLAKE2b-256 bf5997219553029debcdf3f4805cf4e8f7941c2224e9aae5d8321d05e1e5cc16

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

File hashes

Hashes for simcem-1.0.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 54cb27b2b79f829e0abf233278f554412f4197e070619be6fbf7da421ec4c6f9
MD5 c7a70b4c32effc1dd0888ec5f2f74cb4
BLAKE2b-256 c6aed343bffbddec41ea33b570fd8b312a7c5f305fc95629121b4b9a921388b4

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page