KASKADE 7 development version
Classes | Namespaces | Functions
additiveMultigrid.hh File Reference
#include <future>
#include <memory>
#include <type_traits>
#include <dune/istl/preconditioner.hh>
#include "fem/spaces.hh"
#include "linalg/conjugation.hh"
#include "linalg/direct.hh"
#include "linalg/domainDecompositionPreconditioner.hh"
#include "linalg/jacobiPreconditioner.hh"
#include "mg/prolongation.hh"

Go to the source code of this file.

Classes

class  Kaskade::AdditiveMultiGrid< Smoother, Prolongation, CoarsePreconditioner >
 An additive multigrid preconditioner for P1 elements. More...
 

Namespaces

namespace  Kaskade
 
 

Functions

template<class Entry , class Index , class Prolongation , class MakeSmoother , class MakeCoarsePreconditioner >
auto Kaskade::makeAdditiveMultiGrid (NumaBCRSMatrix< Entry, Index > const &A, std::vector< Prolongation > const &prolongations, MakeSmoother const &makeSmoother, MakeCoarsePreconditioner const &makeCoarsePreconditioner, bool onlyLowerTriangle=false)
 Convenience function creating additive multigrid preconditioners for P1 elements. More...
 
template<class Entry , class Index , class GridMan >
auto Kaskade::makeBPX (NumaBCRSMatrix< Entry, Index > const &A, GridMan const &gridman, bool onlyLowerTriangle=false)
 Convenience function creating a BPX preconditioner for P1 elements. More...
 
template<class Entry , class Index , class FineSpace , class MakeSmoother , class MakeCoarseSmoother >
auto Kaskade::makeAdditivePMultiGrid (NumaBCRSMatrix< Entry, Index > A, FineSpace const &space, H1Space< typename FineSpace::Grid > const &p1Space, MakeSmoother const &makeSmoother, MakeCoarseSmoother const &makeCoarseSmoother, int coarseLevel=0, bool onlyLowerTriangle=false)
 Convenience function creating additive multigrid preconditioner of V-cycle type for higher order elements. More...
 
template<class StorageTag , class Entry , class Index , class FineSpace >
auto Kaskade::makePBPX (NumaBCRSMatrix< Entry, Index > A, FineSpace const &space, H1Space< typename FineSpace::Grid > const &p1Space, StorageTag storageTag, int coarseLevel=0, bool onlyLowerTriangle=false)
 Convenience function creating additive multigrid preconditioner of V-cycle type with domain decomposition and Jacobi smoother for higher order elements. More...