Have all dofs at a mesh entity reside on the same process in parallel

Issue #21 resolved
Prof Garth Wells created an issue

At present, ownership of dofs that lie on a process boundary is assigned randomly to one of the sharing processes (via a pseudo-random number generator - outcome is deterministic).

It would be helpful in various contexts if all dofs at a shared entity would be owned by the same process.

The relevant code is in the class dolfin::DofMapBuilder.

Comments (5)

  1. Johan Hake

    I looked a bit more into this. All dofs which are part of a block is all distributed to the same process, which in practice will make all dofs defined on a shared vertex or higher order dof on a facet, be distributed to the same process.

    Also because the same random seed is used for the random number generator and the traversal of the mesh is deterministic the same distribution will be chosen for any subspaces sharing the same block structure. This is enough for my purposes :)

  2. Prof Garth Wells reporter

    We could improve the detection of block structure. At present it is robust but conservative, i.e. it will miss some cases that do have a block structure.

  3. Log in to comment