diff --git a/dune/solvers/iterationsteps/lineariterationstep.hh b/dune/solvers/iterationsteps/lineariterationstep.hh index f24443a462b16a8cdc072063fd7c74af2a6ae5e3..55a4fab7a0e5616e9d63f3d42b71bbc0983e7107 100644 --- a/dune/solvers/iterationsteps/lineariterationstep.hh +++ b/dune/solvers/iterationsteps/lineariterationstep.hh @@ -18,7 +18,17 @@ namespace Dune { namespace Solvers { -//! Base class for iteration steps being called by an iterative linear solver +/** \brief Base class for iteration steps being called by an iterative solver for linear problems + * + * This class is called Linear, because all iteration step implementations that derive from it + * are supposed to solve linear problems. In particular, this means that the LinearIterationStep + * class knows about matrix data types, and it has the setProblem and setMatrix methods that + * allow to specify the matrix of the linear system to solve. + * + * The 'Linear' in the name is not about the type of algorithm. For example, one step of a + * CG solver would qualify as a LinearIterationStep: CG is not a linear algorithm, but it is + * a solver for solving linear problems. + */ template<class MatrixType, class VectorType, class BitVectorType = Dune::Solvers::DefaultBitVector_t<VectorType> > class LinearIterationStep : public IterationStep<VectorType, BitVectorType>, public Dune::Solvers::Preconditioner<MatrixType,