cleanup diy usage in MultiBlock.
This fixes several issues with how DIY was used in MultiBlock.
Instead of using diy::RegularSwapPartners
using
diy::RegularMergePartners
to reduce data to block(gid=0) and then
broadcast out to all ranks (and not blocks) using
diy::RegularBroadcastPartners
. Old code that used RegularSwapPartners
ended up building reduced result on all blocks, which was not only
unnecessary, but expensive since we would generally have more blocks
than ranks.
Remove DecomposerMultiBlock
. This class was needed due to my
misunderstanding of how the decomposer works.
diy::RegularDecomposer<diy::DiscreteBounds>
provides all the necessary
functionality provided by DecomposerMultiBlock
.