From 42107c41dbe18e929761e78f55158a275dda5aed Mon Sep 17 00:00:00 2001
From: Oliver Sander <sander@igpm.rwth-aachen.de>
Date: Wed, 14 Oct 2009 15:45:00 +0000
Subject: [PATCH] The members presmoother_ and postsmoother_ are protected now.
  Write access is provided via a new method setSmoother().

This is a first step towards allowing individual smoother objects for each
grid level.

[[Imported from SVN: r2983]]
---
 dune-solvers/iterationsteps/multigridstep.hh | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/dune-solvers/iterationsteps/multigridstep.hh b/dune-solvers/iterationsteps/multigridstep.hh
index 32436cde..2ce4cf9e 100644
--- a/dune-solvers/iterationsteps/multigridstep.hh
+++ b/dune-solvers/iterationsteps/multigridstep.hh
@@ -169,10 +169,24 @@
         */
         virtual void setMGType(int mu, int nu1, int nu2);
 
+        /** \brief Set the smoother iteration step */
+        virtual void setSmoother(LinearIterationStep<OperatorType, VectorType>* smoother) {
+            presmoother_ = postsmoother_ = smoother;
+        }
+
+        /** \brief Set pre- and post smoothers individually */
+        virtual void setSmoother(LinearIterationStep<OperatorType, VectorType>* preSmoother,
+                                 LinearIterationStep<OperatorType, VectorType>* postSmoother) {
+            presmoother_  = preSmoother;
+            postsmoother_ = postSmoother;
+        }
+
+    protected:
         LinearIterationStep<OperatorType, VectorType>* presmoother_;
 
         LinearIterationStep<OperatorType, VectorType>* postsmoother_;
 
+    public:
         Solver* basesolver_;
 
     protected:
-- 
GitLab