Prerequisites
EdelweissFE requires a conda installation (e.g. Miniforge) and
conda-lock. The complete environment, including the free-threaded Python
interpreter, is declared in environment.yml in the repository root and pinned by conda-lock.yml:
# EdelweissFE development environment: free-threaded Python, everything from conda packages.
# This file declares it; conda-lock.yml pins it exactly for every platform. After changing this file,
# re-lock (see doc/source/installation.rst) and commit both files together.
name: edelweissfe
channels:
# Only for what conda-forge lacks: vtk built for free-threaded Python (cp314t), autodiff with Eigen 5
# support, fastor and amgcl. Recipes: https://github.com/matthiasneuner/edelweiss-conda-channel
- https://repo.prefix.dev/matthiasneuner/edelweiss
- conda-forge
platforms:
- linux-64
- osx-arm64
- osx-64
- win-64
dependencies:
- python=3.14
- python-freethreading=3.14
- pip
- setuptools
- cython
- numpy
- scipy
- sympy
- matplotlib
- prettytable
- gstools
# vtk-base, not vtk: the vtk meta-package adds vtk-io-ffmpeg (VTK's video writer, unused here), which pulls in
# ffmpeg -> librsvg -> gdk-pixbuf, whose post-install step hangs on Windows. pyvista itself needs vtk-base only.
- vtk-base
- pyvista
- suitesparse
- compilers
- cmake
- make
- libboost-devel
- amgcl
# Build dependencies of Marmot; Eigen is also one of the AMGCL extension (amgcl-spectral-radius.hpp).
- eigen
- autodiff=1.1.2
- fastor
# Tests and documentation.
- pytest
- pytest-cov
- sphinx
- sphinx_rtd_theme>=3.1.0
- numpydoc
- sphinxcontrib-bibtex
- docutils
# Intel MKL enables the PARDISO solver (Linux, Windows); it does not exist for macOS, where PARDISO is not built.
- mkl # [linux64]
- mkl-include # [linux64]
# On Windows, linking against MKL also needs its import libraries (.lib), which mkl-devel provides.
- mkl-devel # [win64]
Optionally, Marmot provides additional elements and constitutive models.
See Installation for the installation steps.