diff --git a/dune/solvers/iterationsteps/blockgsstep.hh b/dune/solvers/iterationsteps/blockgsstep.hh index 2aa6b31b5992f4dc922d3b6f955ca19ad1d6366c..70353bc038bb716d16ff90cccb6b3cf02d2552b8 100644 --- a/dune/solvers/iterationsteps/blockgsstep.hh +++ b/dune/solvers/iterationsteps/blockgsstep.hh @@ -5,6 +5,13 @@ #include "lineariterationstep.hh" +/** \brief A linear Gauß-Seidel iteration step for convex problems which have a block-structure. + * + * \tparam OperatorType The linear operator type + * \tparam DiscFuncType The block vector type of the right hand side and the iterates + * \tparam BitVectorType The type of the bit-vector specifying degrees of freedom that shall be ignored. + * + */ template<class OperatorType, class DiscFuncType, class BitVectorType = Dune::BitSetVector<DiscFuncType::block_type::dimension> > @@ -27,9 +34,15 @@ template<class OperatorType, //! 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 + * \param r Write residual in this vector + */ virtual void residual(int index, VectorBlock& r) const; };