VertexDoFFunction::getMaxValue() is broken
I know that VertexDoFFunction::getMaxValue() is only sort of a draft currently. Nevertheless, since it exists, I wanted to point out that, as far as I see it, it is not working correctly.
The implementation performs a vertex to edge and then an edge to face communication. Afterwards it calls vertexdof::macroface::getMaxValue(). In that routine, however, if I understand it correctly, the loop is only over the micro-nodes in the face interior and not over the halo. This is supported by the failing test in mohr/getMaxValue.
How should we proceed? Can we simply make vertexdof::macroface::getMaxValue() loop also over the halo? Or should we skip the initial communication and have a getMaxValue for all primitives and do a reduce afterwards?