]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Update the documentation of RelaxationType. 2024/head
authorDavid Wells <wellsd2@rpi.edu>
Tue, 29 Dec 2015 15:55:11 +0000 (10:55 -0500)
committerDavid Wells <wellsd2@rpi.edu>
Tue, 29 Dec 2015 16:21:21 +0000 (11:21 -0500)
This commit consistently labels classes that satisfy this concept and
clarifies the description of the concept.

doc/doxygen/headers/concepts.h
include/deal.II/lac/precondition.h
include/deal.II/lac/precondition_block.h
include/deal.II/lac/relaxation_block.h
include/deal.II/multigrid/mg_smoother.h

index bd85cd4651cde9499b256261fe5059033828298e..01a94ad1db960551119d14339787e2820743cc52 100644 (file)
  * };
  * @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)$.
  * </dd>
  *
  * <dt class="concepts">@anchor ConceptSparsityPatternType <b>SparsityPatternType</b></dt>
index f2e6c0e82e9ac43a4bf712505125fc2cc728d65a..813d03c7008ec9e169bcf0006a55782af4326cd7 100644 (file)
@@ -447,7 +447,8 @@ protected:
 /**
  * Jacobi preconditioner using matrix built-in function.  The <tt>MatrixType</tt>
  * class used is required to have a function <tt>precondition_Jacobi(VectorType&,
- * const VectorType&, double</tt>)
+ * const VectorType&, double</tt>). 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
  * <tt>precondition_SOR(VectorType&, const VectorType&, double)</tt> and
- * <tt>precondition_TSOR(VectorType&, const VectorType&, double)</tt>.
+ * <tt>precondition_TSOR(VectorType&, const VectorType&, double)</tt>. 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 <tt>MatrixType</tt>
  * class used is required to have a function <tt>precondition_SSOR(VectorType&,
- * const VectorType&, double)</tt>
+ * const VectorType&, double)</tt>. This class satisfies the
+ * @ref ConceptRelaxationType "relaxation concept".
  *
  * @code
  *     // Declare related objects
index 80e321ab0e504583c3c7823a9973b767a0954ac4..7048d18aca2764df6dbb2e14f9b1d34f9817f109 100644 (file)
@@ -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 <tt>@<float@> and
  * @<double@></tt>; 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
index 42949c5ff353719b183dd9f59ac5e1002f318457..6bc64515ea17c394c6d742323d40517088948fad 100644 (file)
@@ -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
index ac7eb9b81c58ce0b00399630adc6dab412ae8414..2a62caae79bb4d50c4e2126f5611c83c2eb2525e 100644 (file)
@@ -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

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.