From 2b769686437426d03ca7e8727e82f18f419b03ba Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carsten=20Gr=C3=A4ser?= <graeser@dune-project.org>
Date: Fri, 11 Mar 2016 23:55:34 +0100
Subject: [PATCH] Remove implementation of getSol()

These all implemented getSol() the way the default does now.
---
 dune/solvers/iterationsteps/amgstep.hh                 |  9 ---------
 dune/solvers/iterationsteps/blockgsstep.cc             |  7 -------
 dune/solvers/iterationsteps/blockgsstep.hh             |  3 ---
 dune/solvers/iterationsteps/cgstep.hh                  |  2 --
 dune/solvers/iterationsteps/istlseqilu0step.hh         |  9 ---------
 dune/solvers/iterationsteps/lineariterationstep.hh     |  8 +-------
 dune/solvers/iterationsteps/linegsstep.cc              |  8 --------
 dune/solvers/iterationsteps/linegsstep.hh              |  2 --
 .../minimalpolynomialextrapolationstep.hh              | 10 ----------
 dune/solvers/iterationsteps/multigridstep.cc           |  7 -------
 dune/solvers/iterationsteps/multigridstep.hh           |  2 --
 dune/solvers/iterationsteps/obstacletnnmgstep.hh       |  9 ---------
 dune/solvers/iterationsteps/projectedgradientstep.hh   |  3 ---
 dune/solvers/iterationsteps/richardsonstep.hh          | 10 ----------
 dune/solvers/iterationsteps/truncatedblockgsstep.hh    | 10 ----------
 .../iterationsteps/truncatedsaddlepointgsstep.hh       |  5 -----
 dune/solvers/iterationsteps/trustregiongsstep.cc       |  7 -------
 dune/solvers/iterationsteps/trustregiongsstep.hh       |  3 ---
 18 files changed, 1 insertion(+), 113 deletions(-)

diff --git a/dune/solvers/iterationsteps/amgstep.hh b/dune/solvers/iterationsteps/amgstep.hh
index 18c7820..0ef950c 100644
--- a/dune/solvers/iterationsteps/amgstep.hh
+++ b/dune/solvers/iterationsteps/amgstep.hh
@@ -76,9 +76,6 @@ public:
     /** \brief Perform one iteration */
     virtual void iterate();
 
-    /** \brief Get the solution */
-    virtual VectorType getSol();
-
     /** \brief Arguments for the smoother.  See the dune-istl documentation for details */
     SmootherArgs smootherArgs_;
 
@@ -109,10 +106,4 @@ void AMGStep<MatrixType,VectorType>::iterate()
     amg_->apply(*this->x_, residual_);
 }
 
-template <class MatrixType, class VectorType>
-VectorType AMGStep<MatrixType,VectorType>::getSol()
-{
-    return *this->x_;
-}
-
 #endif
diff --git a/dune/solvers/iterationsteps/blockgsstep.cc b/dune/solvers/iterationsteps/blockgsstep.cc
index 73b48c8..9511522 100644
--- a/dune/solvers/iterationsteps/blockgsstep.cc
+++ b/dune/solvers/iterationsteps/blockgsstep.cc
@@ -3,13 +3,6 @@
 
 #include <cassert>
 
-template<class MatrixType, class DiscFuncType, class BitVectorType>
-inline
-DiscFuncType BlockGSStep<MatrixType, DiscFuncType, BitVectorType>::getSol()
-{
-    return *(this->x_);
-}
-
 template<class MatrixType, class DiscFuncType, class BitVectorType>
 inline
 void BlockGSStep<MatrixType, DiscFuncType, BitVectorType>::
diff --git a/dune/solvers/iterationsteps/blockgsstep.hh b/dune/solvers/iterationsteps/blockgsstep.hh
index 5858adc..c18c54f 100644
--- a/dune/solvers/iterationsteps/blockgsstep.hh
+++ b/dune/solvers/iterationsteps/blockgsstep.hh
@@ -40,9 +40,6 @@ template<class MatrixType,
         //! Perform one iteration
         virtual void iterate();
 
-        //! Return the solution
-        virtual DiscFuncType getSol();
-
         /** \brief Compute the residual of the current iterate of a (block) degree of freedom
          *
          *  \param index Global index of the (block) degree of freedom
diff --git a/dune/solvers/iterationsteps/cgstep.hh b/dune/solvers/iterationsteps/cgstep.hh
index 14b63ef..b794d89 100644
--- a/dune/solvers/iterationsteps/cgstep.hh
+++ b/dune/solvers/iterationsteps/cgstep.hh
@@ -46,8 +46,6 @@ namespace Dune {
             void check() const;
             void preprocess();
             void iterate();
-            // Q: do we really want this interface?
-            VectorType getSol() { return *x_; }
 
         private:
             VectorType p_; // search direction
diff --git a/dune/solvers/iterationsteps/istlseqilu0step.hh b/dune/solvers/iterationsteps/istlseqilu0step.hh
index 3409533..c6c4922 100644
--- a/dune/solvers/iterationsteps/istlseqilu0step.hh
+++ b/dune/solvers/iterationsteps/istlseqilu0step.hh
@@ -57,9 +57,6 @@ public:
     /** \brief Perform one iteration */
     virtual void iterate();
 
-    /** \brief Get the solution */
-    virtual VectorType getSol();
-
 private:
 
     /** \brief The dune-istl sequential ILU0 preconditioner */
@@ -82,10 +79,4 @@ void ISTLSeqILU0Step<MatrixType,VectorType>::iterate()
     seqILU0_->apply(*this->x_,*this->rhs_);
 }
 
-template <class MatrixType, class VectorType>
-VectorType ISTLSeqILU0Step<MatrixType,VectorType>::getSol()
-{
-    return *this->x_;
-}
-
 #endif
diff --git a/dune/solvers/iterationsteps/lineariterationstep.hh b/dune/solvers/iterationsteps/lineariterationstep.hh
index a9d1e8c..5791782 100644
--- a/dune/solvers/iterationsteps/lineariterationstep.hh
+++ b/dune/solvers/iterationsteps/lineariterationstep.hh
@@ -48,12 +48,6 @@ public:
     //! Do the actual iteration
     virtual void iterate() = 0;
 
-    //! Return solution object
-    virtual VectorType getSol()
-    {
-        return *(this->x_);
-    }
-
     //! Return linear operator
     virtual const MatrixType* getMatrix() {return mat_.get();}
 
@@ -77,7 +71,7 @@ public:
         this->x_ = &x;
         rhs_     = &r;
         iterate();
-        x = getSol();
+        x = this->getSol();
     }
 
     //! The container for the right hand side
diff --git a/dune/solvers/iterationsteps/linegsstep.cc b/dune/solvers/iterationsteps/linegsstep.cc
index 4495115..a3d0d6b 100755
--- a/dune/solvers/iterationsteps/linegsstep.cc
+++ b/dune/solvers/iterationsteps/linegsstep.cc
@@ -3,14 +3,6 @@
 #include <dune/istl/btdmatrix.hh>
 #include <dune/istl/scaledidmatrix.hh>
 
-template<class MatrixType, class DiscFuncType, class BitVectorType>
-inline
-DiscFuncType LineGSStep<MatrixType, DiscFuncType, BitVectorType>::getSol()
-{
-
-    return *(this->x_);
-
-}
 
 
 template<class MatrixType, class DiscFuncType, class BitVectorType>
diff --git a/dune/solvers/iterationsteps/linegsstep.hh b/dune/solvers/iterationsteps/linegsstep.hh
index 7a3059c..fc2a1cd 100755
--- a/dune/solvers/iterationsteps/linegsstep.hh
+++ b/dune/solvers/iterationsteps/linegsstep.hh
@@ -40,8 +40,6 @@ template<class MatrixType,
         //! Perform one iteration
         virtual void iterate();
 
-        virtual DiscFuncType getSol();
-
     };
 
 
diff --git a/dune/solvers/iterationsteps/minimalpolynomialextrapolationstep.hh b/dune/solvers/iterationsteps/minimalpolynomialextrapolationstep.hh
index d05acc6..e23cb3a 100644
--- a/dune/solvers/iterationsteps/minimalpolynomialextrapolationstep.hh
+++ b/dune/solvers/iterationsteps/minimalpolynomialextrapolationstep.hh
@@ -43,9 +43,6 @@ public:
     //! Perform one iteration
     virtual void iterate();
 
-    /** \brief Retrieve the solution */
-    virtual VectorType getSol();
-
     /** \brief To be called before starting to iterate
        \note This calls the preprocess method for the dependant iteration step class, too!
      */
@@ -64,13 +61,6 @@ public:
 
 };
 
-template<class VectorType, class BitVectorType>
-inline
-VectorType MinimalPolynomialExtrapolationStep<VectorType, BitVectorType>::getSol()
-{
-    return *(this->x_);
-}
-
 template<class VectorType, class BitVectorType>
 inline
 void MinimalPolynomialExtrapolationStep<VectorType, BitVectorType>::preprocess()
diff --git a/dune/solvers/iterationsteps/multigridstep.cc b/dune/solvers/iterationsteps/multigridstep.cc
index 6dee469..a8d97ed 100644
--- a/dune/solvers/iterationsteps/multigridstep.cc
+++ b/dune/solvers/iterationsteps/multigridstep.cc
@@ -16,13 +16,6 @@
 #include <dune/solvers/solvers/umfpacksolver.hh>
 #endif
 
-//template <class MatrixType, class VectorType, class BitVectorType>
-//VectorType MultigridStep<MatrixType, VectorType, BitVectorType>::
-//getSol()
-//{
-//    return *(this->x_);
-//}
-
 //template<class MatrixType, class VectorType, class BitVectorType>
 //inline
 //const MatrixType* MultigridStep<MatrixType, VectorType, BitVectorType>::
diff --git a/dune/solvers/iterationsteps/multigridstep.hh b/dune/solvers/iterationsteps/multigridstep.hh
index ed34da1..7c4a7c4 100644
--- a/dune/solvers/iterationsteps/multigridstep.hh
+++ b/dune/solvers/iterationsteps/multigridstep.hh
@@ -119,8 +119,6 @@
 
         virtual void postprocess();
 
-//        virtual VectorType getSol();
-
 //        virtual const MatrixType* getMatrix();
 
         /** \brief Return total number of levels of the multigrid hierarchy */
diff --git a/dune/solvers/iterationsteps/obstacletnnmgstep.hh b/dune/solvers/iterationsteps/obstacletnnmgstep.hh
index 091ab2c..41e89e0 100644
--- a/dune/solvers/iterationsteps/obstacletnnmgstep.hh
+++ b/dune/solvers/iterationsteps/obstacletnnmgstep.hh
@@ -315,15 +315,6 @@ class ObstacleTNNMGStep
         }
 
 
-        /**
-         * \brief Get the current iterate
-         */
-        VectorType getSol()
-        {
-            return *x_;
-        }
-
-
         /**
          * \brief Get output accumulated during last iterate() call.
          *
diff --git a/dune/solvers/iterationsteps/projectedgradientstep.hh b/dune/solvers/iterationsteps/projectedgradientstep.hh
index 11d2f75..0136a43 100644
--- a/dune/solvers/iterationsteps/projectedgradientstep.hh
+++ b/dune/solvers/iterationsteps/projectedgradientstep.hh
@@ -56,9 +56,6 @@ public:
         computeGeneralizedCP(negativeGradient);
     }
 
-    //! Return solution object
-    virtual VectorType getSol() {return *this->x_;}
-
     //! The obstacles
     const std::vector<BoxConstraint<field_type,blocksize> >* obstacles_;
 private:
diff --git a/dune/solvers/iterationsteps/richardsonstep.hh b/dune/solvers/iterationsteps/richardsonstep.hh
index 70ea82d..6cb3449 100644
--- a/dune/solvers/iterationsteps/richardsonstep.hh
+++ b/dune/solvers/iterationsteps/richardsonstep.hh
@@ -29,22 +29,12 @@ public:
     //! Perform one iteration
     virtual void iterate();
 
-    /** \brief Retrieve the solution */
-    virtual VectorType getSol();
-    
     const Preconditioner<VectorType>* preconditioner_;
 
     double damping_;
     
 };
 
-template<class VectorType, class BitVectorType>
-inline
-VectorType RichardsonStep<VectorType, BitVectorType>::getSol()
-{
-    return *(this->x_);
-}
-
 template<class VectorType, class BitVectorType>
 inline
 void RichardsonStep<VectorType, BitVectorType>::iterate()
diff --git a/dune/solvers/iterationsteps/truncatedblockgsstep.hh b/dune/solvers/iterationsteps/truncatedblockgsstep.hh
index 80d327f..42511d8 100644
--- a/dune/solvers/iterationsteps/truncatedblockgsstep.hh
+++ b/dune/solvers/iterationsteps/truncatedblockgsstep.hh
@@ -39,11 +39,6 @@ public:
         innerLoops_(innerLoops)
     {}
 
-    virtual VectorType getSol()
-    {
-        return *(this->x_);
-    }
-
     //! Perform one iteration
     virtual void iterate()
     {
@@ -161,11 +156,6 @@ public:
         localSolver(localSolver)
     {}
 
-    virtual VectorType getSol()
-    {
-        return *(this->x_);
-    }
-
     //! Perform one iteration
     virtual void iterate()
     {
diff --git a/dune/solvers/iterationsteps/truncatedsaddlepointgsstep.hh b/dune/solvers/iterationsteps/truncatedsaddlepointgsstep.hh
index 3ff0437..b47d592 100644
--- a/dune/solvers/iterationsteps/truncatedsaddlepointgsstep.hh
+++ b/dune/solvers/iterationsteps/truncatedsaddlepointgsstep.hh
@@ -26,11 +26,6 @@ public:
         : LinearIterationStep<MatrixType,VectorType>(mat, x, rhs)
     {}
 
-    virtual VectorType getSol()
-    {
-        return *(this->x_);
-    }
-
     //! Perform one iteration
     virtual void iterate()
     {
diff --git a/dune/solvers/iterationsteps/trustregiongsstep.cc b/dune/solvers/iterationsteps/trustregiongsstep.cc
index f06d68c..914d804 100644
--- a/dune/solvers/iterationsteps/trustregiongsstep.cc
+++ b/dune/solvers/iterationsteps/trustregiongsstep.cc
@@ -1,13 +1,6 @@
 // -*- tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
 // vi: set et ts=8 sw=4 sts=4:
 
-template<class MatrixType, class VectorType>
-inline
-VectorType TrustRegionGSStep<MatrixType, VectorType>::getSol()
-{
-    return *(this->x_);
-}
-
 template<class MatrixType, class VectorType>
 inline
 void TrustRegionGSStep<MatrixType, VectorType>::iterate()
diff --git a/dune/solvers/iterationsteps/trustregiongsstep.hh b/dune/solvers/iterationsteps/trustregiongsstep.hh
index 3cba067..c855bbd 100644
--- a/dune/solvers/iterationsteps/trustregiongsstep.hh
+++ b/dune/solvers/iterationsteps/trustregiongsstep.hh
@@ -33,9 +33,6 @@
 
         //! Perform one iteration
         virtual void iterate();
-
-        virtual VectorType getSol();
-
     };
 
 #include "trustregiongsstep.cc"
-- 
GitLab