This repository contains a re-implementation of GraphNics and FEniCS-Networks by I. Gjerde (DOI: 10.48550/arXiv.2212.02916).
An initial implementation compatible with DOLFINx (I. Baratta et al, DOI: 10.5281/zenodo.10447665) with performance benchmarks presented by C. Daversin-Catty et al. in Finite Element Software and Performance for Network Models with Multipliers.
However, this implementation was not MPI compatible. This repository contains an MPI compatible implementation of graph support in DOLFINx (v0.10.0).
Please cite usage of this repository by using the CITATION-file.
The easiest way to install networks-fenicsx on your system (given that you have DOLFINx installed) is by calling
python3 -m pip install networks-fenicsxor through the git repo
python3 -m pip install git+https://github.com/scientificcomputing/networks_fenicsx.gitIf you want to use Spack (recommended on HPC systems), you should first check if Spack is installed on your system. If not you can clone and activate it with:
git clone https://github.com/spack/spack.git
. spack/share/spack/setup-env.shFurthermore, you should add the FEniCS spack repo and Scientific Computing spack repo to overload the packages that exist in the main spack-packages registry.
spack repo add https://github.com/FEniCS/spack-fenics.git
spack repo add https://github.com/scientificcomputing/spack_repos.gitTo install py-networks-fenicsx with ADIOS2 IO for DOLFINx and PETSc compiled with mumps, one can call:
spack add py-networks-fenicsx ^py-fenics-dolfinx+petsc4py ^petsc+mumps ^fenics-dolfinx+adios2
spack concretize
spack install -j 4