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.