An implementation of a parallel transfer operator between possibly agglomerated levels is provided, named MGTransferAgglomeration. This class just takes:
the intergrid transfers
DoFHandlers for each level
and implements the interface required by MGTransferBase, providing prolongation and restriction methods across multigrid levels. Together with #109, it allows the usage of such transfer operator in a multigrid preconditioner.
The fact that the triangulation is always the same on each level implies that the copy_to/from levels can simply be performed by copying locally owned data. Tested locally on some unstructured meshes and with polynomial degrees up to $3$
Builds on top of #109, only relevant commit is 5b7f091.
An implementation of a parallel transfer operator between possibly agglomerated levels is provided, named
MGTransferAgglomeration
. This class just takes:DoFHandlers
for each leveland implements the interface required by
MGTransferBase
, providing prolongation and restriction methods across multigrid levels. Together with #109, it allows the usage of such transfer operator in a multigrid preconditioner.The fact that the triangulation is always the same on each level implies that the
copy_to/from
levels can simply be performed by copying locally owned data. Tested locally on some unstructured meshes and with polynomial degrees up to $3$Builds on top of #109, only relevant commit is 5b7f091.