Installation¶
Installation of DOLFIN-X requires installation of the C++ core. Most users will also want the Python interface.
Dependencies¶
C++ core¶
Required
C++ compiler (supporting the C++17 standard)
Boost (http://www.boost.org), with the following compiled Boost components
filesystem
timer
CMake (https://cmake.org) [build dependency]
Eigen3 (http://eigen.tuxfamily.org)
pkg-config (https://www.freedesktop.org/wiki/Software/pkg-config/)
Python 3 [build dependency]
FFC-X [build dependency, for
ufc.h
andufc_geometry.h
headers]MPI
HDF5 (with MPI support enabled)
PETSc 2
Optional
Python interface¶
Below are additional requirements for the Python interface.
Required
Python 3
FFC-X, UFL and FIAT (http://github.com/FEniCS/).
pybind11 (https://github.com/pybind/pybind11)
NumPy (http://www.numpy.org)
mpi4py
petsc4py
Recommended
Matplotlib (required for plotting)
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:
pip3 install .
Docker container¶
A Docker container is available at https://hub.docker.com/r/dolfinx/dolfinx. The Dockerfile provides a definitive build recipe.
Footnotes
- 1(1,2)
It is strongly recommended to use the PETSc build system to download and configure and build these libraries.
- 2
Its is recommended to configuration with ParMETIS, PT-SCOTCH, MUMPS and Hypre using the
--download-parmetis --download-ptscotch --download-suitesparse --download-mumps --download-hypre