Skip to content

Latest commit

 

History

History
72 lines (47 loc) · 3.28 KB

installing.rst

File metadata and controls

72 lines (47 loc) · 3.28 KB

Installation

Prerequisites

Installation requirements are automatically handled during the setup.

Determining if the DOLFINx installation is a development version or a release

Run the following command

python3 -c 'import importlib.metadata; print(importlib.metadata.version("fenics-dolfinx"))'

If the resulting text output contains dev, then the DOLFINx installation is a development version, otherwise it is a release.

Installation against DOLFINx development version

Clone the multiphenicsx public repository

git clone https://github.com/multiphenics/multiphenicsx.git

and install the package by typing

cd multiphenicsx
python3 -m pip install --check-build-dependencies --no-build-isolation '.[tutorials]'

Installation against DOLFINx releases

The main branch multiphenicsx targets the main branch of DOLFINx, which may contain API changes compared to the latest DOLFINx release. A new multiphenicsx version is not necessarily tagged alongside DOLFINx releases. Users willing to work with a fixed release of DOLFINx are encouraged to install multiphenicsx as follows.

Clone the multiphenicsx public repository

git clone https://github.com/multiphenics/multiphenicsx.git

and install the package by typing

cd multiphenicsx
DOLFINX_VERSION=$(python3 -c 'import dolfinx; print(dolfinx.__version__)')
git checkout dolfinx-v${DOLFINX_VERSION}
if [ -f setup.cfg ]; then
    python3 -m pip install '.[tutorials]'
else
    python3 -m pip install --check-build-dependencies --no-build-isolation '.[tutorials]'
fi

Report missing releases to our issue tracker. Note that new features added to the multiphenicsx main branch are not backported.

Related resources

  • Block matrix support in DOLFINx, either as MatNest or monolithic matrices. In multiphenicsx we also support possible restriction of the unknowns to subdomains and/or boundaries.
  • Restriction support in dolfiny relies on assembling tensors on the whole domain, and the restricting them to subdomains and/or boundaries. In multiphenicsx we directly allocate the restricted tensors, so that no unnecessary memory allocations are carried out.
  • DOLFINx >= 0.9.0 supports mixed dimensional assembly. The implementations of subdomain/boundary restricted variables in multiphenicsx is different to the one in DOLFINx, and the two different implementations will co-exist for the foreseeable future.
  • Please contact us by email if you have other related resources.