Classes that have to do with multigrid algorithms.
The main class with implementation of the multigrid scheme is Multigrid with its function Multigrid::cycle(). It uses the following abstract classes in order to perform the multigrid cycle:
Additionally, there is a class PreconditionMG, which is a wrapper around Multigrid with the standard interface of deal.II Preconditioners. PreconditionMG also uses the classes inheriting from MGTransferBase, for instance MGTransferPrebuilt, where it uses MGTransferPrebuilt::copy_to_mg() and MGTransferPrebuilt::copy_from_mg_add(), which transfer between the global vector and the level vectors.
Finally, we have several auxiliary classes, namely MGLevelObject, which stores an object on each level
See the step-16 example program on how to use this functionality.