Skip to content

[bugfix] Fix MPIError in AMG setup for smoothers that do communication in constructor.

In the case that redistribution to fewer or one process happens on the coarsest level, we failed to check whether the process really needs to compute something here and did set up the smoother on all processes that had parts of the not yet redistributed matrix on it. If the smoother did try to do communication with the provided OwnerOverlapCopyCommunication then this rose an MPIError about an invalid communicator.

With this commit we explicitly check whether the communicator has nonzero size and only set up the smoother in this case.

Please note that all offered preconditioners in dune-istl do not do communication in the constructor (yet).

Merge request reports