diff --git a/dune/solvers/test/multigridtest.cc b/dune/solvers/test/multigridtest.cc index af1203a6a0cab5a3fe1c0e9edfae431129efc201..4e1af2f373f7ec01d3078e742c7c8bc42e989ae9 100644 --- a/dune/solvers/test/multigridtest.cc +++ b/dune/solvers/test/multigridtest.cc @@ -20,8 +20,8 @@ #include <dune/solvers/transferoperators/compressedmultigridtransfer.hh> #include <dune/solvers/norms/energynorm.hh> #include <dune/solvers/solvers/loopsolver.hh> +#include <dune/solvers/iterationsteps/blockgssteps.hh> #include <dune/solvers/iterationsteps/multigridstep.hh> -#include <dune/solvers/iterationsteps/truncatedblockgsstep.hh> #include "common.hh" @@ -54,7 +54,6 @@ struct MultigridTestSuite typedef MultigridStep<Matrix, Vector, BitVector> MGStep; typedef MultigridTransfer<Vector, BitVector, Matrix> Transfer; typedef CompressedMultigridTransfer<Vector, BitVector, Matrix> TransferImplementation; - typedef TruncatedBlockGSStep<Matrix, Vector> Smoother; // we need a vector of pointers to the transfer operator base class std::vector<Transfer*> transfer(grid.maxLevel()); @@ -67,7 +66,12 @@ struct MultigridTestSuite } // set up smoothers and basesolver - Smoother smoother, basesolver_step; + auto smoother = + Dune::Solvers::BlockGSStepFactory<Matrix, Vector>::create( + Dune::Solvers::BlockGS::LocalSolvers::gs()), + basesolver_step = + Dune::Solvers::BlockGSStepFactory<Matrix, Vector>::create( + Dune::Solvers::BlockGS::LocalSolvers::gs()); typename Problem::Norm basenorm(basesolver_step);