Firedrake
Firedrake is an automated system for the solution of partial differential equations using the finite element method (FEM).
Note
Please note that every release of Firedrake requires a specific version of PETSc, several other modules, and Python wheels.
Installation¶
Note
Please note that all modules must be loaded before creating and/or activating the Python virtual environment.
Firedrake 2026.4.1
module load StdEnv/2023 gcc/12.3 openmpi/4.1.5 python/3.14 mpi4py/4.1.0
module load vtk/9.4.2 symengine/0.14.0 libspatialindex/2.1.0 petsc/3.25.1
virtualenv venv-firedrake
source venv-firedrake/bin/activate
pip install -U pip
pip install --no-index msgpack "tables==3.11.0" "pytools==2026.1.1" immutabledict
pip install --no-index "firedrake[check]==2026.4.1"
python/3.14, python/3.13, python/3.12 and python/3.11.
Firedrake 2025.4.2
module load StdEnv/2023 gcc/12.3 openmpi/4.1.5 python/3.13 mpi4py/4.0.3 symengine/0.14.0 libspatialindex/1.9.3 petsc/3.23.4
virtualenv venv-firedrake
source venv-firedrake/bin/activate
pip install -U pip
pip install --no-index "pytools==2025.2.2" immutabledict
pip install --no-index "firedrake[check]==2025.4.2"
python/3.13 as well as python/3.12.
Running Jobs¶
Firedrake 2026.4.1
The above has been tested with
python/3.14, python/3.13, python/3.12 and python/3.11.
Firedrake 2025.4.2
The above has been tested with both
python/3.13 as well as python/3.12.
Optional Dependencies¶
Firedrake has a number of optional dependencies that can be installed into the Python virtual environment:
- SLEPc and slepc4py are part of the
petscmodule and always available. - netgen: We provide precompiled wheels for
ngsPETScandnetgen_mesher. - PyTorch: We provide precompiled wheels for
torch. - Jax: We provide precompiled wheels for
jax. - VTK: The module
vtk/9.4.2is compatible withpython/3.14,python/3.13,python/3.12andpython/3.11.