From: David Wells Date: Tue, 29 Dec 2015 15:55:11 +0000 (-0500) Subject: Update the documentation of RelaxationType. X-Git-Tag: v8.4.0-rc2~123^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F2024%2Fhead;p=dealii.git Update the documentation of RelaxationType. This commit consistently labels classes that satisfy this concept and clarifies the description of the concept. --- diff --git a/doc/doxygen/headers/concepts.h b/doc/doxygen/headers/concepts.h index bd85cd4651..01a94ad1db 100644 --- a/doc/doxygen/headers/concepts.h +++ b/doc/doxygen/headers/concepts.h @@ -188,9 +188,9 @@ * }; * @endcode * where these two member functions perform one step (or the transpose of such - * a step) of the smoothing scheme. In other words, the operation performed by - * these functions is - * $dst = dst - P^{-1} (A dst - rhs)$ and $dst = dst - P^{-T} (A dst - rhs)$. + * a step) of the smoothing scheme. In other words, the operations performed by + * these functions are + * $u = u - P^{-1} (A u - v)$ and $u = u - P^{-T} (A u - v)$. * * *
@anchor ConceptSparsityPatternType SparsityPatternType
diff --git a/include/deal.II/lac/precondition.h b/include/deal.II/lac/precondition.h index f2e6c0e82e..813d03c700 100644 --- a/include/deal.II/lac/precondition.h +++ b/include/deal.II/lac/precondition.h @@ -447,7 +447,8 @@ protected: /** * Jacobi preconditioner using matrix built-in function. The MatrixType * class used is required to have a function precondition_Jacobi(VectorType&, - * const VectorType&, double) + * const VectorType&, double). This class satisfies the + * @ref ConceptRelaxationType "relaxation concept". * * @code * // Declare related objects @@ -522,7 +523,8 @@ public: * * The MatrixType class used is required to have functions * precondition_SOR(VectorType&, const VectorType&, double) and - * precondition_TSOR(VectorType&, const VectorType&, double). + * precondition_TSOR(VectorType&, const VectorType&, double). This + * class satisfies the @ref ConceptRelaxationType "relaxation concept". * * @code * // Declare related objects @@ -578,7 +580,8 @@ public: /** * SSOR preconditioner using matrix built-in function. The MatrixType * class used is required to have a function precondition_SSOR(VectorType&, - * const VectorType&, double) + * const VectorType&, double). This class satisfies the + * @ref ConceptRelaxationType "relaxation concept". * * @code * // Declare related objects diff --git a/include/deal.II/lac/precondition_block.h b/include/deal.II/lac/precondition_block.h index 80e321ab0e..7048d18aca 100644 --- a/include/deal.II/lac/precondition_block.h +++ b/include/deal.II/lac/precondition_block.h @@ -356,13 +356,12 @@ protected: /** * Block Jacobi preconditioning. See PreconditionBlock for requirements on the - * matrix. + * matrix. This class satisfies the + * @ref ConceptRelaxationType "relaxation concept". * * @note Instantiations for this template are provided for @ and * @; others can be generated in application programs (see the - * section on - * @ref Instantiations - * in the manual). + * section on @ref Instantiations in the manual). * * @author Ralf Hartmann, Guido Kanschat, 1999, 2000, 2003 */ @@ -597,7 +596,8 @@ private: /** - * Block SOR preconditioning. + * Block SOR preconditioning. This class satisfies the + * @ref ConceptRelaxationType "relaxation concept". * * The functions @p vmult and @p Tvmult execute a (transposed) block-SOR step, * based on the blocks in PreconditionBlock. The elements outside the diagonal @@ -768,7 +768,8 @@ protected: /** - * Block SSOR preconditioning. + * Block SSOR preconditioning. This class satisfies the + * @ref ConceptRelaxationType "relaxation concept". * * The functions @p vmult and @p Tvmult execute a block-SSOR step, based on * the implementation in PreconditionBlockSOR. This class requires storage of diff --git a/include/deal.II/lac/relaxation_block.h b/include/deal.II/lac/relaxation_block.h index 42949c5ff3..6bc64515ea 100644 --- a/include/deal.II/lac/relaxation_block.h +++ b/include/deal.II/lac/relaxation_block.h @@ -234,9 +234,9 @@ protected: /** * Block Jacobi (additive Schwarz) method with possibly overlapping blocks. * - * This class implements the step() and Tstep() functions expected by - * SolverRelaxation and MGSmootherRelaxation. They perform an additive Schwarz - * method on the blocks provided in the block list of AdditionalData. + * This class implements the step() and Tstep() functions expected by the + * @ref ConceptRelaxationType "relaxation concept". They perform an additive + * Schwarz method on the blocks provided in the block list of AdditionalData. * Differing from PreconditionBlockJacobi, these blocks may be of varying * size, non- contiguous, and overlapping. On the other hand, this class does * not implement the preconditioner interface expected by Solver objects. @@ -318,12 +318,13 @@ public: /** * Block Gauss-Seidel method with possibly overlapping blocks. * - * This class implements the step() and Tstep() functions expected by - * SolverRelaxation and MGSmootherRelaxation. They perform a multiplicative - * Schwarz method on the blocks provided in the block list of AdditionalData. - * Differing from PreconditionBlockSOR, these blocks may be of varying size, - * non-contiguous, and overlapping. On the other hand, this class does not - * implement the preconditioner interface expected by Solver objects. + * This class implements the step() and Tstep() functions expected by the + * @ref ConceptRelaxationType "relaxation concept". They perform a + * multiplicative Schwarz method on the blocks provided in the block list of + * AdditionalData. Differing from PreconditionBlockSOR, these blocks may be + * of varying size, non-contiguous, and overlapping. On the other hand, this + * class does not implement the preconditioner interface expected by Solver + * objects. * * @ingroup Preconditioners * @author Guido Kanschat @@ -397,13 +398,13 @@ public: /** * Symmetric block Gauss-Seidel method with possibly overlapping blocks. * - * This class implements the step() and Tstep() functions expected by - * SolverRelaxation and MGSmootherRelaxation. They perform a multiplicative - * Schwarz method on the blocks provided in the block list of AdditionalData - * in symmetric fashion. Differing from PreconditionBlockSSOR, these blocks - * may be of varying size, non-contiguous, and overlapping. On the other hand, - * this class does not implement the preconditioner interface expected by - * Solver objects. + * This class implements the step() and Tstep() functions expected by the + * @ref ConceptRelaxationType "relaxation concept". They perform a + * multiplicative Schwarz method on the blocks provided in the block list of + * AdditionalData in symmetric fashion. Differing from PreconditionBlockSSOR, + * these blocks may be of varying size, non-contiguous, and overlapping. On + * the other hand, this class does not implement the preconditioner interface + * expected by Solver objects. * * @ingroup Preconditioners * @author Guido Kanschat diff --git a/include/deal.II/multigrid/mg_smoother.h b/include/deal.II/multigrid/mg_smoother.h index ac7eb9b81c..2a62caae79 100644 --- a/include/deal.II/multigrid/mg_smoother.h +++ b/include/deal.II/multigrid/mg_smoother.h @@ -151,7 +151,7 @@ namespace mg * Smoother using relaxation classes. * * A relaxation class is an object that satisfies the - * @ref ConceptRelaxationType "RelaxationType concept". + * @ref ConceptRelaxationType "relaxation concept". * * This class performs smoothing on each level. The operation can be * controlled by several parameters. First, the relaxation parameter @p @@ -231,14 +231,8 @@ namespace mg } /** - * Smoother using relaxation classes. - * - * A relaxation class is an object that has two member functions, - * @code - * void step(VectorType& x, const VectorType& d) const; - * void Tstep(VectorType& x, const VectorType& d) const; - * @endcode - * performing one step of the smoothing scheme. + * Smoother using a solver that satisfies the + * @ref ConceptRelaxationType "relaxation concept". * * This class performs smoothing on each level. The operation can be * controlled by several parameters. First, the relaxation parameter @p omega