diff --git a/dune/solvers/iterationsteps/minimalpolynomialextrapolationstep.hh b/dune/solvers/iterationsteps/minimalpolynomialextrapolationstep.hh index 14cd2cbd1267155574260507e23aeabd77fe6e83..8e453b6398295a5ce6939d029f2d89401fcbd02e 100644 --- a/dune/solvers/iterationsteps/minimalpolynomialextrapolationstep.hh +++ b/dune/solvers/iterationsteps/minimalpolynomialextrapolationstep.hh @@ -153,7 +153,17 @@ void MinimalPolynomialExtrapolationStep<VectorType, BitVectorType>::iterate() newIterate.axpy(c[i-1]/cSum, xHistory_[i]); //std::cout << "y:\n" << newIterate << std::endl; - + + // Acceleration methods for nonlinear problems should be restarted + // every now and then + if (k==restart_) { + + std::cout << "Restarting MPE..." << std::endl; + U_.resize(0); + xHistory_.resize(1); + xHistory_[0] = *this->x_; + + } }