Installation
DOLFINx can be installed using various packages managers, run using containers, or built manually from source.
Spack is the recommended installation tool for high performance computers.
Binaries
See the README.md for instructions.
Source
Installation of DOLFINx requires installation of the C++ core. Most users will also want the Python interface.
Dependencies
C++ core
Required
- C++ compiler (supporting the C++20 standard) 
- Boost, with the following compiled Boost components - timer 
 
- CMake [build dependency] 
- UFCx [ - ufcx.h, provided by FFCx]
- MPI 
- HDF5 (with MPI support enabled) 
From ParMETIS, KaHIP or PT-SCOTCH, ParMETIS is recommended.
Optional
Python interface
Below are additional requirements for the Python interface.
Required
- Python 
- FFCx, UFL and Basix (http://github.com/FEniCS/). 
- pybind11 (https://github.com/pybind/pybind11) 
- NumPy (http://www.numpy.org) 
- mpi4py 
- petsc4py 
Suggested
- pyvista (for plotting) 
- Numba 
- slepc4py 
Building and installing
C++ core
The C++ core is built using CMake. Create a build directory in cpp/,
e.g. mkdir -p build/ and in the build run directory:
cmake ../
make install
To set the installation prefix:
cmake -DCMAKE_INSTALL_PREFIX=<my-install-path> ../
make install
Python
After installation of the C++ core, from the python/ directory the
Python interface can be installed using:
pip install .
Footnotes