Simcoon
About
Simcoon is a free, open-source library for the simulation of multiphysics systems. Its primarily objective was the developement of constitutive models for the simulation of heterogeneous materials, but now goes beyond with tools to facilitate their full-field simulation. Together with microgen for the CAD and meshing of heterogeneous materials and fedoo our Finite Element solver, we offer a comprehensive simulation set for the in-depth analysis of heterogeneous materials.
Simcoon is developed with the aim to be a high-quality scientific library to facilitate the analysis of the complex, non-linear behavior of systems. It integrates tools to simulate the response of composite material response and thus integrates several algorithms for the analysis of heterogeneous materials.
Simcoon integrates
- a easy way to handle geometrical non-linearities : Use of Lagrangian measures, Eulerian measures and cumulative strains considering several spins : Jaumann, Green-Naghdi, Xi-Meyers-Bruhns logarithmic. With this last measure, cumulative strain correspond to a logarithmic strain measure and is the standard measure utilized for our constitutive laws.
Simcoon is a C++ library with emphasis on speed and ease-of-use, that offers a python interface to facilitate its use. Its principle focus is to provide tools to facilitate the implementation of up-to-date constitutive model for materials in Finite Element Analysis Packages. This is done by providing a C++ API to generate user material subroutine based on a library of functions. Also, Simcoon provides tools to analyse the behavior of material, considering loading at the material point level. Such tools include a thermomechanical solver and a software to predict effective properties of composites. Parameter identification can be performed using Python with scipy.optimize (e.g. differential_evolution) and the simcoon Parameter/Constant key system
Simcoon is mainly developed by faculty and researchers from University of Bordeaux and the I2M Laboratory (Institut de d'Ingénierie et de Mécanique). Fruitful contribution came from the LEM3 laboratory in Metz, France, TU Bergakademie Freiberg in Germany and the TIMC-IMAG laboratory in Grenoble, France. It is released under the GNU General Public License: GPL, version 3.
Simcoon make use and therefore include the FTensor library (http://www.wlandry.net/Projects/FTensor) for convenience. FTensor is a library that handle complex tensor computations. FTensor is released under the GNU General Public License: GPL, version 2. You can get it there (but is is already included in simcoon): (https://bitbucket.org/wlandry/ftensor)
Documentation
| Provider | Status |
|---|---|
| Documentation |
Building doc : requires doxygen, sphinx, breathe
conda install -c conda-forge doxygen -y && pip install sphinx sphinx-rtd-theme breathe
cd doxdocs && make html
open _build/index.html
Installation
Option 1: Install from Conda (Recommended)
The simplest way to install simcoon is directly with conda:
conda install -c conda-forge -c set3mah simcoon
In case of conflicts, create a new conda environment:
conda create --name simcoon_env
conda activate simcoon_env
conda install -c conda-forge -c set3mah simcoon
Option 2: Install from PyPI
pip install simcoon
Prebuilt wheels are available for:
- Linux (x86_64, aarch64)
- macOS (arm64, requires macOS 14.0+)
- Windows (x64)
If no compatible wheel is available (e.g., older macOS versions), pip will attempt to build from source. In this case, install Armadillo (>= 12.6) first — it is the only system dependency not bundled in the wheels.
Using conda (requires --no-build-isolation so CMake can find conda packages):
conda install -c conda-forge armadillo
pip install scikit-build-core pybind11 numpy # build dependencies
pip install simcoon --no-binary simcoon --no-build-isolation
Using Homebrew (macOS):
brew install armadillo
pip install simcoon --no-binary simcoon
Using apt (Debian/Ubuntu):
sudo apt-get install libarmadillo-dev
pip install simcoon --no-binary simcoon
BLAS and LAPACK are found automatically (Accelerate on macOS, system libraries on Linux).
Option 3: Build from Source
Prerequisites
Create and activate a conda environment:
conda create --name simcoon_build
conda activate simcoon_build
Install required dependencies:
# Compilers and build tools
conda install -c conda-forge cxx-compiler fortran-compiler cmake ninja
# Libraries
conda install -c conda-forge armadillo pybind11 numpy gtest carma
# Python testing
pip install pytest
For x86 architectures, you may also need MKL:
conda install -c conda-forge mkl
Build Instructions (without conda)
- Clone or download the repository:
git clone https://github.com/3MAH/simcoon.git
cd simcoon
- Install required dependencies using your system's package manager.
- On Debian/Ubuntu:
sudo apt-get install libarmadillo-dev libgtest-dev ninja-build
- On macOS with Homebrew:
brew install armadillo googletest
- On Windows with vcpkg:
vcpkg install armadillo gtest
- Configure and build the project:
For Python users (recommended):
pip install .
For C++ development:
# Configure and build
cmake -S . -B build -G Ninja -D CMAKE_BUILD_TYPE=Release
cmake --build build
# Run C++ tests
ctest --test-dir build --output-on-failure
Development Workflow
For active development with both C++ and Python:
# Install build dependencies first
uv pip install scikit-build-core pybind11 numpy
# Editable install (uv applies --no-build-isolation automatically via pyproject.toml)
uv pip install -e .[dev]
# After modifying C++ files, rebuild directly
cmake --build build/cp*
# Python changes take effect immediately (no rebuild needed)
The editable install creates a build directory at build/{wheel_tag} (e.g., build/cp312-cp312-linux_x86_64). The [tool.uv] config in pyproject.toml disables build isolation for simcoon, ensuring the CMake cache references your actual Python environment, enabling direct cmake --build commands for incremental rebuilds.
Auto-rebuild on import: Importing simcoon will automatically trigger a cmake rebuild if C++ files have changed:
python -c "import simcoon" # Rebuilds if needed
uv run python -c "import simcoon" # Also works
Note: If you add new C++ source files, re-run uv pip install -e .[dev] to reconfigure.
Build Options
SIMCOON_BUILD_TESTS(default: ON) - Build C++ tests (CMake only)
Notes for macOS
For numpy versions earlier than 1.26.4 using the Accelerate framework:
pip install cython
pip install --no-binary :all: numpy
Authors
Metadata
Release files for simcoon 2.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| simcoon-2.0.1.tar.gz | 3.5 MB | Details |
Built distributions (wheels)
Total release size: 216.4 MB
Release files / simcoon-2.0.1.tar.gz
| Download URL | simcoon-2.0.1.tar.gz |
|---|---|
| Size | 3.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
963fb78172a7a734275f14765c927a149eb857bfbe060bc48dfc70b0fe09a590
|
|
BLAKE2b-256 checksum How to use checksums |
875ad6572c24d8a3486e9d24212fa3f4ac6fcab57ad490003a6b2edadea90033
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simcoon-2.0.1-cp314-cp314-win_amd64.whl
| Download URL | simcoon-2.0.1-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 2.7 MB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
3a1bd2bb3e6ea446ca0bbd8b3ed63d36c256d339f28a55ce4ba231cc837f446c
|
|
BLAKE2b-256 checksum How to use checksums |
fc234a7867f64e33835715a4e5ba829fdd67447a760f5ef73f4317fd02f9f771
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simcoon-2.0.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | simcoon-2.0.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 22.7 MB |
| Tags | CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
2c4bd79bae43633022a6f71bee582f9eba80ee64042bbf080cac14625fb7c2dd
|
|
BLAKE2b-256 checksum How to use checksums |
6bfdc1e97e466935aa7baf1ad4841be14961bc4da1103c97d0fca95196996f24
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simcoon-2.0.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
| Download URL | simcoon-2.0.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 13.8 MB |
| Tags | CPython 3.14 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
f843b447bf6d87a969ddf68be1fc2e799bc78204582a893cf05c52ae76497cc0
|
|
BLAKE2b-256 checksum How to use checksums |
f047cfe03a951b5e31fa6923fc6c6e702c86a10227ac09cfe6ebf7e63c860f5b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simcoon-2.0.1-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | simcoon-2.0.1-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 3.4 MB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
c11169396dee9440bc10b115b388412effc72fdc7f321ed7206d906e367af15c
|
|
BLAKE2b-256 checksum How to use checksums |
8ed644e50d0d49e836314ae678cca8e18ea804a9c00fb429a985a55117c4e676
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simcoon-2.0.1-cp313-cp313-win_amd64.whl
| Download URL | simcoon-2.0.1-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 2.6 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
b19d70fa66ae94508d61eab8d6670833f67dfad18191a46071d29e9c491a4d9f
|
|
BLAKE2b-256 checksum How to use checksums |
d190082e770d1e6edc34a4e3510267b92449057fa04d7e5397b152bc2d1436e9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simcoon-2.0.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | simcoon-2.0.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 22.7 MB |
| Tags | CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
8ad9ddefb14e81daf8b189145fc09082070f5cb981b69ea9055c95de0123ce58
|
|
BLAKE2b-256 checksum How to use checksums |
8f7e30daacc46b25de4e746146c272603cbcea7d253d972eb584519e839c7511
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simcoon-2.0.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
| Download URL | simcoon-2.0.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 13.8 MB |
| Tags | CPython 3.13 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
0dddd2211e0f970cb54f2122a27fe927bab27d84ce71794217e887f7a5e55348
|
|
BLAKE2b-256 checksum How to use checksums |
ff3da760b776aff90b3e3520264a0c45271e74f52fa9a24cfb7ba4c21c0ed72b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simcoon-2.0.1-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | simcoon-2.0.1-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 3.4 MB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
679dde03ec106843b80f3bdaa67c32a8760f394c964ec1830377cc30e2511856
|
|
BLAKE2b-256 checksum How to use checksums |
a1969097d1a29d561ba64cdc7cb71e508d34bc0c8ea079923c42498ecefed4a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simcoon-2.0.1-cp312-cp312-win_amd64.whl
| Download URL | simcoon-2.0.1-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 2.6 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
d427ffbc0fa51b63689bfada52c2f4c81e5df164a224a12535b7e6fe9e698f74
|
|
BLAKE2b-256 checksum How to use checksums |
858f9fffdde44b5d0bc3347a9c833318f87a56e3668d952cf116b0c0cdb3cdd7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simcoon-2.0.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | simcoon-2.0.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 22.7 MB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
66a40180212c4653666567f97133086cc6e6c56d8df112c3e6d2f74925a0e5af
|
|
BLAKE2b-256 checksum How to use checksums |
df22ecd4c4eea314078c263f63ecf9d63c2ac93d6876406a38379d8ae3e21e58
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simcoon-2.0.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
| Download URL | simcoon-2.0.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 13.8 MB |
| Tags | CPython 3.12 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
0f5c50156d0776b952720e615b5edd9f0f01685b97b92de2a9ee066c425a1905
|
|
BLAKE2b-256 checksum How to use checksums |
8539cb110be4c3251a4c87bdd56c9ebee56c31d9cb30dd80a02993b121ffcf0f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simcoon-2.0.1-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | simcoon-2.0.1-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 3.4 MB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
4c89ab4a7a932429df17d5a9f08750117eb45ae6df858bb733a7f164fb0e3389
|
|
BLAKE2b-256 checksum How to use checksums |
08ecc8dc2ad3fb14d895e631e4aefda408ecebc84e35170e556d4e202a1c2a5a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simcoon-2.0.1-cp311-cp311-win_amd64.whl
| Download URL | simcoon-2.0.1-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 2.6 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
bff3742c01f68c412b5e4f26ea75f4d4b4fe0a961acc3335d5067d13a62c12ce
|
|
BLAKE2b-256 checksum How to use checksums |
1b5fe11281c9a7abfc4d34558c54b2c559234947f71a9810180d981e940e2a56
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simcoon-2.0.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | simcoon-2.0.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 22.7 MB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
56b139e40ea2c8855da1307bde41ae2d1d8af6238f6a65c06be6514482c9d76f
|
|
BLAKE2b-256 checksum How to use checksums |
bfa195c334044831dbca1dafc2958762edb7e8d6652fed22c27042a0019eb886
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simcoon-2.0.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
| Download URL | simcoon-2.0.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 13.8 MB |
| Tags | CPython 3.11 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
c95d25fd48255fccb911f26a6a2d005f2d3ae495f63aaeecdb0f495beadc0959
|
|
BLAKE2b-256 checksum How to use checksums |
98904eab4d255bf3286228155950b308b6764fdab69e967ecc88077cdb143fa6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simcoon-2.0.1-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | simcoon-2.0.1-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 3.4 MB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
05a711c04c1d2449a1abb55a4f25d18de0e58f404485dbf3a4b7236c092e44f2
|
|
BLAKE2b-256 checksum How to use checksums |
08e9cb76e8ccc2729eb9fdbb53b2f2efee788b38c2ba92dcbde2db943d885780
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simcoon-2.0.1-cp310-cp310-win_amd64.whl
| Download URL | simcoon-2.0.1-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 2.6 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
594edf6f5aa62c7b58eb3f48f74c8217c59b9c6bc892389e8fd84b12b78ccf69
|
|
BLAKE2b-256 checksum How to use checksums |
723e86f2e7426b2649fcf63480e2e58e1b91dc9cffddb36506e64b08c96fdf11
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simcoon-2.0.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | simcoon-2.0.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 22.7 MB |
| Tags | CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
7d50923b6bcc6fdb03f72900722192711bae45c791fc9ae9da9e35feff1b02f9
|
|
BLAKE2b-256 checksum How to use checksums |
52e26774d016d837db01b889e6ea0acb039aef8773a0f1f9d81bf5f78ae539fd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simcoon-2.0.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
| Download URL | simcoon-2.0.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 13.8 MB |
| Tags | CPython 3.10 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
89d335d0ee881802a4d2365eca3d083cd2df6e3f8b6cc77f3867945cf406064e
|
|
BLAKE2b-256 checksum How to use checksums |
6c296a6d441a0d52fd1af506ceb4a185e8a058fdc61cc6e6aab746a3677ebfd3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simcoon-2.0.1-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | simcoon-2.0.1-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 3.4 MB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
19c3a36d6458f6337edb8b2c0376f5e2910afd7c2a2ad7755c22a81d54b18136
|
|
BLAKE2b-256 checksum How to use checksums |
e1630730bfaac96b19d57f76a0f561096e3204992ce0d59611339698cf0da707
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|