I think we need to reconsider the use of MPI in Siesta.
Currently all is handled in the basic layer of MPI (i.e. direct MPI calls).
However, what we really want is some kind of abstraction that allows easier handling of various groups/communicators etc.
We should consider what to do here:
- Use an already implemented external library, say like mpifx (from dftbplus)
- Implement our own
- figure out if there are other wrappers that may be useful