Mesh Copy constructor uses incorrect MPI communicator

Issue #617 resolved
Ben O'Neill created an issue

Hi,

When copying a dolfin::mesh using the copy constructor, the new dolfin::mesh is initiated with the MPI_COMM_WORLD communicator, rather than the "comm" communicator associated with the mesh. This causes stalls when using split MPI communicators. (i,e when using MPI_Comm_split to break the world communicator into chunks)

On a similar note, dolfin::Scalar can only be constructed on MPI_COMM_WORLD. A dolfin::Scalar(MPI_Comm comm) type constructor would be useful. Without that, assembling a functional on a split communicator is not possible.

Comments (8)

  1. Prof Garth Wells

    Thanks. The transition to using communicators other than MPI_COMM_WORLD was started a while back, but wasn't completely finished. Reports on what needs fixing are appreciated.

  2. Chris Richardson

    Why has this happened? I just pulled next locally, and merged my branch. I haven't touched my local 'next' for a long time, I guess.

  3. Log in to comment