Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
D

dolfinx

> 编程语言
Open source

Next generation FEniCS problem solving environment for solving finite element problems

1.2K stars0 likes1 views
WebsiteGitHub

About

Next generation FEniCS problem solving environment for solving finite element problems

DOLFINx

DOLFINx is the computational environment of FEniCSx and implements the FEniCS Problem Solving Environment in C++ and Python. DOLFINx is a new version of DOLFIN and is actively developed.

For questions about using DOLFINx, visit the FEniCS Discourse page or use the FEniCS Slack channel (use this link to sign up to the Slack channel).

Documentation

Documentation can be viewed here.

Installation

From source

For detailed instructions and a list of dependencies, see here.

C++ core

To build and install the C++ core, in the cpp/ directory, run:

bash
mkdir build
cd build
cmake ..
make install

Python interface

To install the Python interface, first install the C++ core, and then in the python/ directory run:

bash
pip install --group pyproject.toml:build
pip install --check-build-dependencies --no-build-isolation .

Spack

To build the most recent release using Spack (assuming a bash-compatible shell):

bash
git clone https://github.com/spack/spack.git
. ./spack/share/spack/setup-env.sh
spack env create fenicsx-env
spack env activate fenicsx-env
spack install --add py-fenics-dolfinx+petsc4py+slepc4py

Spack is the recommended approach for HPC systems.

Although Spack already contains FEniCS Project packages, we also maintain a separate overlay package repository which may contain bug fixes and package specs for newer releases of the FEniCS Project components, particularly after a recent release.

bash
spack repo add https://github.com/fenics/spack-fenics
spack repo ls # shows fenics above builtin

Binary packages

Recommendations

  • macOS: conda.
  • Linux: apt (Ubuntu/Debian), docker or conda. See also Spack.
  • Windows: docker, or install WSL2 and use Ubuntu. conda packages in beta testing.
  • High performance computers: Spack or from source, both using system-provided MPI.

conda

To install the latest release of the Python interface, including pyvista for visualisation, using conda:

bash
conda create -n fenicsx-env
conda activate fenicsx-env
conda install -c conda-forge fenics-dolfinx mpich pyvista # Linux and macOS
conda install -c conda-forge fenics-dolfinx pyvista pyamg # Windows

Windows only: Windows conda packages are currently in beta testing. PETSc and petsc4py are not available on Windows. Because FEniCS uses just-in-time compilation it necessary to install Microsoft Visual Studio.

conda is distributed with Anaconda and Miniconda. The recipe is hosted on conda-forge.

Name Downloads Version Platforms

Ubuntu packages

The Ubuntu PPA provides FEniCSx packages. To install:

bash
add-apt-repository ppa:fenics-packages/fenics
apt update
apt install fenicsx

When a version of DOLFINx is released we aim to provide a package for the most recent LTS version of Ubuntu. All other versions are provided on a best-effort basis.

Debian packages

DOLFINx is included with various versions of Debian. Install with apt-get install fenicsx.

Docker images

To run a Docker image with the latest release of DOLFINx:

bash
docker run -ti dolfinx/dolfinx:stable

To switch between real and complex builds of DOLFINx/PETSc.

bash
source /usr/local/bin/dolfinx-complex-mode
source /usr/local/bin/dolfinx-real-mode

A Jupyter Lab environment with the latest release of DOLFINx:

bash
docker run --init -ti -p 8888:8888 dolfinx/lab:stable  # Access at http://localhost:8888

A Docker image with DOLFINx built nightly:

bash
docker run -ti dolfinx/dolfinx:nightly

A development image with all of the dependencies required to build the latest release of the FEniCSx components:

bash
docker run -ti dolfinx/dev-env:stable

A development image with all of the dependencies required to build the main branch of the FEniCSx components:

bash
docker run -ti dolfinx/dev-env:current

The Docker images support arm64 and amd64 architectures. For a full list of tags, including versioned images, see

Contributing

Information about how to contribute to DOLFINx can be found here.

License

DOLFINx is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

DOLFINx is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with DOLFINx. If not, see .

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

C++fenicsxfinite-element-methodsparallel-computingpartial-differential-equations

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言