From 7ec68d52ed93434966766045cc41468b94d82c67 Mon Sep 17 00:00:00 2001 From: Markus Blatt <mblatt@dune-project.org> Date: Fri, 20 Apr 2007 13:59:25 +0000 Subject: [PATCH] Restructured ISTL documentation. [[Imported from SVN: r751]] --- istl/basearray.hh | 9 --------- istl/bcrsmatrix.hh | 10 +++++++--- istl/bvector.hh | 12 +++++------- istl/io.hh | 14 +++++++------- istl/istl.hh | 32 -------------------------------- istl/matrix.hh | 6 ++++-- istl/operators.hh | 24 ++++++++++++++++++------ istl/owneroverlapcopy.hh | 2 +- istl/paamg/aggregates.hh | 28 +++++++++++++++++----------- istl/paamg/amg.hh | 12 +++++++++--- istl/paamg/construction.hh | 7 +++++-- istl/paamg/galerkin.hh | 12 +++++++++--- istl/paamg/graph.hh | 26 +++++++++++--------------- istl/paamg/hierarchy.hh | 13 ++++++------- istl/paamg/indicescoarsener.hh | 4 +++- istl/paamg/transfer.hh | 4 ++-- istl/preconditioners.hh | 18 ++++++++++-------- istl/remoteindices.hh | 7 ++++--- istl/scalarproducts.hh | 23 ++++++++++++++--------- istl/schwarz.hh | 21 +++++++++++++++------ istl/solvercategory.hh | 2 +- istl/solvers.hh | 8 +++++--- istl/vbvector.hh | 2 +- 23 files changed, 154 insertions(+), 142 deletions(-) delete mode 100644 istl/istl.hh diff --git a/istl/basearray.hh b/istl/basearray.hh index aae61f5ac..678882546 100644 --- a/istl/basearray.hh +++ b/istl/basearray.hh @@ -18,11 +18,6 @@ namespace Dune { - /** - @addtogroup ISTL - @{ - */ - /** A simple array container for objects of type B implementing - iterator access @@ -751,10 +746,6 @@ namespace Dune { size_type* j; // the index set }; - - - /** @} end documentation */ - } // end namespace #endif diff --git a/istl/bcrsmatrix.hh b/istl/bcrsmatrix.hh index 54801a6e2..ad67e7ec1 100644 --- a/istl/bcrsmatrix.hh +++ b/istl/bcrsmatrix.hh @@ -26,7 +26,11 @@ namespace Dune { /** - @addtogroup ISTL + * @defgroup ISTL_SPMV Sparse Matrix and Vector classes + * @ingroup ISTL + */ + /** + @addtogroup ISTL_SPMV @{ */ @@ -52,7 +56,7 @@ namespace Dune { For general finite element implementations the number of rows n is known, the number of non-zeroes might also be known (e.g. - #edges + #nodes for P1) but the size of a row and the indices of a row + \#edges + \#nodes for P1) but the size of a row and the indices of a row can not be defined in sequential order. Error checking: no error checking is provided normally. @@ -123,7 +127,7 @@ namespace Dune { * * For general finite element implementations the number of rows n * is known, the number of non-zeroes might also be known (e.g. - * #edges + #nodes for P1) but the size of a row and the indices of a row + * \#edges + \#nodes for P1) but the size of a row and the indices of a row * can not be defined in sequential order. */ random, diff --git a/istl/bvector.hh b/istl/bvector.hh index 8764ae81c..70a5d3960 100644 --- a/istl/bvector.hh +++ b/istl/bvector.hh @@ -23,11 +23,6 @@ namespace Dune { - /** - @addtogroup ISTL - @{ - */ - /** \brief An unmanaged vector of blocks. @@ -213,6 +208,10 @@ namespace Dune { { } }; + /** + @addtogroup ISTL_SPMV + @{ + */ /** \brief A vector of blocks with memory management. @@ -635,6 +634,7 @@ namespace Dune { size_type capacity_; }; + /** @} */ //! Send BlockVector to an output stream template<class K, class A> std::ostream& operator<< (std::ostream& s, const BlockVector<K, A>& v) @@ -1173,8 +1173,6 @@ namespace Dune { }; #endif - /** @} end documentation */ - } // end namespace #endif diff --git a/istl/io.hh b/istl/io.hh index 406e097bf..2175ce5d1 100644 --- a/istl/io.hh +++ b/istl/io.hh @@ -15,19 +15,19 @@ #include <dune/common/fmatrix.hh> #include "bcrsmatrix.hh" -/** \file - - \brief Some generic functions for pretty printing vectors and matrices - */ namespace Dune { /** - @addtogroup ISTL + @addtogroup ISTL_SPMV @{ */ + /** \file + + \brief Some generic functions for pretty printing vectors and matrices + */ //==== pretty printing of vectors // recursively print all the blocks @@ -224,9 +224,9 @@ namespace Dune { * * @param s The ostream to print to. * @param mat The matrix to print. - * @param titel The title for the matrix. + * @param title The title for the matrix. * @param rowtext The text to prepend to each print out of a matrix row. - * @param with The number of nonzero blocks to print in one line. + * @param width The number of nonzero blocks to print in one line. * @param precision The precision to use when printing the numbers. */ template<class B, int n, int m, class A> diff --git a/istl/istl.hh b/istl/istl.hh deleted file mode 100644 index fbb88ee49..000000000 --- a/istl/istl.hh +++ /dev/null @@ -1,32 +0,0 @@ -// -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- -// vi: set et ts=4 sw=2 sts=2: -// $Id$ -#ifndef DUNE_ISTL_HH -#define DUNE_ISTL_HH - -/** @defgroup ISTL Iterative Solvers Template Library - - The SPMV module defines a set of classes for sparse - matrices and vectors with the following features: - - - They are efficient (including access to single elements) - - - They provide a recursive block structure for a flexible - construction of iterative linear solvers - - - They are very flexible - */ - - -namespace Dune { - - /** - @addtogroup ISTL - @{ - */ - - /** @} end documentation */ - -} // end namespace - -#endif diff --git a/istl/matrix.hh b/istl/matrix.hh index a267d89a2..88192fe81 100644 --- a/istl/matrix.hh +++ b/istl/matrix.hh @@ -12,8 +12,10 @@ namespace Dune { + /** \addtogroup ISTL_SPMV + \{ + */ /** \brief A generic dynamic matrix - \addtogroup ISTL This matrix is currently implemented as a BlockVector of BlockVectors. That makes the code fairly simple, as we get all iterators for free. @@ -542,7 +544,7 @@ namespace Dune { int cols_; }; - + /** \} */ } // end namespace Dune #endif diff --git a/istl/operators.hh b/istl/operators.hh index 009784ad6..0c6733301 100644 --- a/istl/operators.hh +++ b/istl/operators.hh @@ -11,19 +11,31 @@ #include "solvercategory.hh" -/** \file - - \brief Define general, extensible interface for operators. - The available implementation wraps a matrix. - */ namespace Dune { - /** @addtogroup ISTL + /** + * @defgroup ISTL_Operators Operator concept + * @ingroup ISTL_Solvers + * + * The solvers in ISTL do not work on matrices directly. Instead we use + * an abstract operator concept. This allows for using matrix-free + * operators, i.e. operators that are not stored as matrices in any + * form. Thus our solver algorithms can easily be turned into matrix-free + * solvers just by plugging in matrix-free representations of linear + * operators and preconditioners. + */ + /** @addtogroup ISTL_Operators @{ */ + /** \file + + \brief Define general, extensible interface for operators. + The available implementation wraps a matrix. + */ + //===================================================================== // Abstract operator interface //===================================================================== diff --git a/istl/owneroverlapcopy.hh b/istl/owneroverlapcopy.hh index da5c46136..831860c95 100644 --- a/istl/owneroverlapcopy.hh +++ b/istl/owneroverlapcopy.hh @@ -36,7 +36,7 @@ namespace Dune { /** - @addtogroup ISTL + @addtogroup ISTL_Comm @{ */ diff --git a/istl/paamg/aggregates.hh b/istl/paamg/aggregates.hh index 5acf81456..af28859c0 100644 --- a/istl/paamg/aggregates.hh +++ b/istl/paamg/aggregates.hh @@ -317,7 +317,10 @@ namespace Dune class FirstDiagonal { public: - + /** + * @brief compute the norm of a matrix. + * @param m The matrix ro compute the norm of. + */ template<class M> typename M::field_type operator()(const M& m) const { @@ -332,6 +335,10 @@ namespace Dune */ struct RowSum { + /** + * @brief compute the norm of a matrix. + * @param m The matrix ro compute the norm of. + */ template<class M> typename M::field_type operator()(const M& m) const { @@ -343,8 +350,8 @@ namespace Dune * @brief Criterion taking advantage of symmetric matrices. * * The two template parameters are: - * <dt>M</dt><dd>The type of the matrix the amg coarsening works on, e. g. BCRSMatrix</dd> - * <dt>Norm</dt><dd>The norm to use to determine the strong couplings between the nodes</dd> + * <dt>M</dt> <dd>The type of the matrix the amg coarsening works on, e. g. BCRSMatrix</dd> + * <dt>Norm</dt> <dd>The norm to use to determine the strong couplings between the nodes, e.g. FirstDiagonal or RowSum.</dd> */ template<class M, class Norm> class SymmetricCriterion : public AggregationCriterion<SymmetricDependency<M,Norm> > @@ -357,8 +364,8 @@ namespace Dune * Nevertheless the sparsity pattern has to be symmetric. * * The two template parameters are: - * <dt>M</dt><dd>The type of the matrix the amg coarsening works on, e. g. BCRSMatrix</dd> - * <dt>Norm</dt><dd>The norm to use to determine the strong couplings between the nodes</dd> + * <dt>M</dt> <dd>The type of the matrix the amg coarsening works on, e. g. BCRSMatrix</dd> + * <dt>Norm</dt> <dd>The norm to use to determine the strong couplings between the nodes, e.g. FirstDiagonal or RowSum.</dd> */ template<class M, class Norm> class UnSymmetricCriterion : public AggregationCriterion<Dependency<M,Norm> > @@ -452,19 +459,19 @@ namespace Dune /** * @brief Breadth first search within an aggregate * - * The template parameters: <br /> + * The template parameters: <br> * <dl> * <dt>reset</dt><dd>If true the visited flags of the vertices * will be reset after * the search</dd> * <dt>G</dt><dd>The type of the graph we perform the search on.</dd> - * <td>F</dt><dd> + * <td>F</dt><dd>The type of the visitor to operate on the vertices</dd> * </dl> * @param start The vertex where the search should start * from. This does not need to belong to the aggregate. * @param aggregate The aggregate id. * @param graph The matrix graph to perform the search on. - * @param visited A list to store the visited vertices in. + * @param visitedMap A map to mark the already visited vertices * @param aggregateVisitor A functor that is called with * each G::ConstEdgeIterator with an edge pointing to the * aggregate. Use DummyVisitor these are of no interest. @@ -479,7 +486,7 @@ namespace Dune /** * @brief Breadth first search within an aggregate * - * The template parameters: <br /> + * The template parameters: <br> * <dl><dt>L</dt><dd>A container type providing push_back(Vertex), and * pop_front() in case remove is true</dd> * <dt>remove</dt><dd> If true the entries in the visited list @@ -497,6 +504,7 @@ namespace Dune * @param nonAggregateVisitor A functor that is called with * each G::ConstEdgeIterator with an edge pointing to another * aggregate. Use DummyVisitor these are of no interest. + * @param visitedMap A map to mark the already visited vertices */ template<bool remove, bool reset, class G, class L, class F1, class F2, class VM> std::size_t breadthFirstSearch(const VertexDescriptor& start, @@ -1024,8 +1032,6 @@ namespace Dune public: /** * @brief Constructor. - * @param aggregates The mapping of the vertices to - * aggregates. */ DependencyCounter(); diff --git a/istl/paamg/amg.hh b/istl/paamg/amg.hh index ff0596f4f..a024bb6ab 100644 --- a/istl/paamg/amg.hh +++ b/istl/paamg/amg.hh @@ -15,6 +15,11 @@ namespace Dune { namespace Amg { + /** + * @defgroup ISTL_PAAMG Parallel Algebraic Multigrid + * @ingroup ISTL_Prec + * @brief A Parallel Algebraic Multigrid based on Agglomeration. + */ /** * @addtogroup ISTL_PAAMG @@ -72,12 +77,13 @@ namespace Dune /** * @brief Construct a new amg with a specific coarse solver. - * @param matrix The matrix we precondition for. - * @param solverArgs The arguments needed for the construction of the - * direct solver to use at the coarsest level. + * @param matrices The already set up matix hierarchy. + * @param coarseSolver The set up solver to use on the coarse + * grid, must natch the soarse matrix in the matrix hierachy. * @param smootherArgs The arguments needed for thesmoother to use * for pre and post smoothing * @param gamma The number of subcycles. 1 for V-cycle, 2 for W-cycle. + * @param smoothingSteps The number of smoothing steps for pre and postsmoothing. */ AMG(const OperatorHierarchy& matrices, CoarseSolver& coarseSolver, const SmootherArgs& smootherArgs, std::size_t gamma, diff --git a/istl/paamg/construction.hh b/istl/paamg/construction.hh index 9c5ebb07d..92a3ab063 100644 --- a/istl/paamg/construction.hh +++ b/istl/paamg/construction.hh @@ -46,14 +46,17 @@ namespace Dune * @brief Construct an object with the specified arguments. * * In the default implementation the copy constructor is called. - * @param object Pointer to the space allocated for the object. - * @param arguments The arguments for the construction. + * @param args The arguments for the construction. */ static inline T* construct(Arguments& args) { return new T(); } + /** + * @brief Destroys an object. + * @param t Pointer to the object to destroy. + */ static inline void deconstruct(T* t) { delete t; diff --git a/istl/paamg/galerkin.hh b/istl/paamg/galerkin.hh index 070894a4d..ee8024c5d 100644 --- a/istl/paamg/galerkin.hh +++ b/istl/paamg/galerkin.hh @@ -100,7 +100,9 @@ namespace Dune * @brief Calculate the galerkin product. * @param fine The fine matrix. * @param aggregates The aggregate mapping. - * @param coarse The coarse Matric. + * @param coarse The coarse Matrix. + * @param pinfo Parallel information about the fine level. + * @param copy The attribute set identifying the copy nodes of the graph. */ template<class M, class V, class I, class O> void calculate(const M& fine, const AggregatesMap<V>& aggregates, M& coarse, @@ -123,13 +125,14 @@ namespace Dune * @param pinfo Parallel information about the fine level. * @param aggregates The mapping of the fine level unknowns onto aggregates. * @param size The number of columns and rows of the coarse matrix. + * @param copy The attribute set identifying the copy nodes of the graph. */ template<class M, class G, class V, class Set> M* build(const M& fine, G& fineGraph, V& visitedMap, const ParallelInformation& pinfo, const AggregatesMap<typename G::VertexDescriptor>& aggregates, const typename M::size_type& size, - const Set& overlap); + const Set& copy); private: std::size_t* overlapStart_; @@ -169,13 +172,14 @@ namespace Dune * @param pinfo Parallel information about the fine level. * @param aggregates The mapping of the fine level unknowns onto aggregates. * @param size The number of columns and rows of the coarse matrix. + * @param copy The attribute set identifying the copy nodes of the graph. */ template<class M, class G, class V, class Set> M* build(const M& fine, G& fineGraph, V& visitedMap, const SequentialInformation& pinfo, const AggregatesMap<typename G::VertexDescriptor>& aggregates, const typename M::size_type& size, - const Set& overlap); + const Set& copy); }; struct BaseConnectivityConstructor @@ -229,6 +233,8 @@ namespace Dune /** * @brief Constructor * @param aggregates The mapping of the vertices onto the aggregates. + * @param graph The graph to work on. + * @param visitedMap The map for marking vertices as visited * @param connected The set to added the connected aggregates to. */ ConnectedBuilder(const AggregatesMap<Vertex>& aggregates, Graph& graph, diff --git a/istl/paamg/graph.hh b/istl/paamg/graph.hh index 96bf6a31e..905859608 100644 --- a/istl/paamg/graph.hh +++ b/istl/paamg/graph.hh @@ -17,11 +17,6 @@ namespace Dune { namespace Amg { - /** - * @defgroup ISTL_PAAMG Parallel Algebraic Multigrid - * @ingroup ISTL - * @brief A Parallel Algebraic Multigrid based on Agglomeration. - */ /** * @addtogroup ISTL_PAAMG * @@ -235,7 +230,6 @@ namespace Dune * * only operator== or operator!= may be called safely on an * iterator constructed this way. - * @param graph The graph we are a vertex iterator for. * @param current The current vertex to position on. */ explicit VertexIteratorT(const VertexDescriptor& current); @@ -506,7 +500,7 @@ namespace Dune /** * @brief Constructor. * @param source The source vertex of the edge. - * @param firstEdge Pointer to the beginning of the graph's edge array. + * @param edge Pointer to the edge the iterator should point to. */ explicit EdgeIterator(const VertexDescriptor& source, const EdgeDescriptor& edge); @@ -515,7 +509,7 @@ namespace Dune * * Only operator== or operator!= can be called safely on an iterator constructed * this way! - * @param firstEdge Pointer to the beginning of the graph's edge array. + * @param edge Pointer to the end of the graph's edge array. */ explicit EdgeIterator(const EdgeDescriptor& edge); @@ -559,7 +553,8 @@ namespace Dune { public: /** - * @param Constructor. + * @brief Constructor. + * @param graph The graph over whose vertices to iterate. * @param current The position of the iterator. * @param end The last vertex of the graph. */ @@ -568,7 +563,7 @@ namespace Dune /** - * @param Constructor for end iterator. + * @brief Constructor for end iterator. * * Use with care! All operations except operator== or operator!= will fail! * @param current The position of the iterator. @@ -1043,20 +1038,19 @@ namespace Dune Father; /** - * @param Constructor. + * @brief Constructor. * @param iter The iterator of the underlying graph. - * @param graph The graph over whose edges we iterate. + * @param graph The graph over whose edges we iterate on. */ explicit EdgeIteratorT(const Father& iter, C* graph); /** - * @param Constructor for the end iterator. + * @brief Constructor for the end iterator. * * Only operator== or operator!= should be called on * an iterator constructed this way. * @param iter The iterator of the underlying graph. - * @param graph The graph over whose edges we iterate. */ explicit EdgeIteratorT(const Father& iter); @@ -1305,7 +1299,8 @@ namespace Dune /** * @brief Constructor. * @param graph The graph we attach properties to. - * @param + * @param vmap The map of the vertices onto indices. + * @param emap The map of the edges onto indices. */ PropertiesGraph(Graph& graph, const VertexMap& vmap=VertexMap(), const EdgeMap& emap=EdgeMap()); @@ -1427,6 +1422,7 @@ namespace Dune /** * @brief Visit all neighbour vertices of a vertex in a graph. * + * @param graph The graph whose vertices to visit. * @param vertex The vertex whose neighbours we want to * visit. * @param visitor The visitor evaluated for each EdgeIterator diff --git a/istl/paamg/hierarchy.hh b/istl/paamg/hierarchy.hh index 204017a41..3ebb0780d 100644 --- a/istl/paamg/hierarchy.hh +++ b/istl/paamg/hierarchy.hh @@ -103,8 +103,7 @@ namespace Dune Hierarchy(MemberType& first); /** - * @brief Construct a new hierarchy. - * @param first The first element in the hierarchy. + * @brief Construct a new empty hierarchy. */ Hierarchy(); @@ -310,8 +309,7 @@ namespace Dune /** * @brief Constructor * @param fineMatrix The matrix to coarsen. - * @param indexSet The index set mapping the global indices to matrix rows. - * @param remoteIndices Information about the remote indices. + * @param pinfo The information about the parallel data decmposition at the first level. */ MatrixHierarchy(const MatrixOperator& fineMatrix, const ParallelInformation& pinfo=ParallelInformation()); @@ -339,14 +337,15 @@ namespace Dune /** * @brief Coarsen the vector hierarchy according to the matrix hierarchy. - * @param hierachy The vector hierarchy to coarsen. + * @param hierarchy The vector hierarchy to coarsen. */ template<class V, class TA> void coarsenVector(Hierarchy<BlockVector<V,TA> >& hierarchy) const; /** * @brief Coarsen the smoother hierarchy according to the matrix hierarchy. - * @param hierachy The smoother hierarchy to coarsen. + * @param smoothers The smoother hierarchy to coarsen. + * @param args The arguments for the construction of the coarse level smoothers. */ template<class S, class TA> void coarsenSmoother(Hierarchy<S,TA>& smoothers, @@ -521,7 +520,7 @@ namespace Dune * @param maxLevel The macimum number of levels allowed in the matric hierarchy (default: 100). * @param coarsenTarget If the number of nodes in the matrix is below this threshold the * coarsening will stop (default: 1000). - * @param minCoarsenRate. If the coarsening rate falls below this threshold the + * @param minCoarsenRate If the coarsening rate falls below this threshold the * coarsening will stop (default: 1.2) */ CoarsenCriterion(int maxLevel=100, int coarsenTarget=1000, double minCoarsenRate=1.2) diff --git a/istl/paamg/indicescoarsener.hh b/istl/paamg/indicescoarsener.hh index 9358c4fe1..352db0efa 100644 --- a/istl/paamg/indicescoarsener.hh +++ b/istl/paamg/indicescoarsener.hh @@ -77,8 +77,10 @@ namespace Dune * * @param fineInfo The parallel information at the fine level. * @param fineGraph The graph of the fine lecel, - * @param vistedMap Map for marking vertices as visited. + * @param visitedMap Map for marking vertices as visited. * @param aggregates The mapping of unknowns onto aggregates. + * @param coarseInfo The information about the parallel data decomposition + * on the coarse level. * @return The number of unknowns on the coarse level. */ template<typename Graph, typename VM> diff --git a/istl/paamg/transfer.hh b/istl/paamg/transfer.hh index d429b47be..be423ae6c 100644 --- a/istl/paamg/transfer.hh +++ b/istl/paamg/transfer.hh @@ -51,7 +51,7 @@ namespace Dune const SequentialInformation & comm); }; -#ifdef HAVE_MPI +#if HAVE_MPI template<class V,class B, class T> class Transfer<V,BlockVector<B>,ParallelInformation<T> > @@ -117,7 +117,7 @@ namespace Dune } } -#ifdef HAVE_MPI +#if HAVE_MPI template<class V, class B, class T> inline void Transfer<V,BlockVector<B>,ParallelInformation<T> >::prolongate(const AggregatesMap<Vertex>& aggregates, Vector& coarse, Vector& fine, diff --git a/istl/preconditioners.hh b/istl/preconditioners.hh index 108e7ece4..307d30189 100644 --- a/istl/preconditioners.hh +++ b/istl/preconditioners.hh @@ -18,8 +18,10 @@ namespace Dune { - - /** @addtogroup ISTL + /** @defgroup ISTL_Prec Preconditioners + @ingroup ISTL_Solvers + */ + /** @addtogroup ISTL_Prec @{ */ /** \file @@ -149,7 +151,7 @@ namespace Dune { /*! \brief Apply the precondtioner - \copydoc Preconditioner::apply(X&,Y&) + \copydoc Preconditioner::apply(X&,const Y&) */ virtual void apply (X& v, const Y& d) { @@ -224,7 +226,7 @@ namespace Dune { /*! \brief Apply the preconditioner. - \copydoc Preconditioner::apply(X&,Y&) + \copydoc Preconditioner::apply(X&,const Y&) */ virtual void apply (X& v, const Y& d) { @@ -296,7 +298,7 @@ namespace Dune { /*! \brief Apply the preconditioner. - \copydoc Preconditioner::apply(X&,Y&) + \copydoc Preconditioner::apply(X&,const Y&) */ virtual void apply (X& v, const Y& d) { @@ -368,7 +370,7 @@ namespace Dune { /*! \brief Apply the preconditioner. - \copydoc Preconditioner::apply(X&,Y&) + \copydoc Preconditioner::apply(X&,const Y&) */ virtual void apply (X& v, const Y& d) { @@ -442,7 +444,7 @@ namespace Dune { /*! \brief Apply the preconditoner. - \copydoc Preconditioner::apply(X&,Y&) + \copydoc Preconditioner::apply(X&,const Y&) */ virtual void apply (X& v, const Y& d) { @@ -514,7 +516,7 @@ namespace Dune { /*! \brief Apply the precondioner. - \copydoc Preconditioner::apply(X&,Y&) + \copydoc Preconditioner::apply(X&,const Y&) */ virtual void apply (X& v, const Y& d) { diff --git a/istl/remoteindices.hh b/istl/remoteindices.hh index e17522c6b..1603e5a03 100644 --- a/istl/remoteindices.hh +++ b/istl/remoteindices.hh @@ -125,7 +125,6 @@ namespace Dune { * @brief Constructor. * Private as it should only be called from within Indexset. * @param attribute The attribute of the index on the remote processor. - * @param local The corresponding local index. */ RemoteIndex(const T2& attribute); @@ -212,7 +211,8 @@ namespace Dune { * @param comm The communicator to use. * @param source The indexset which represents the global to * local mapping at the source of the communication - * @param to The indexset to which the communication which represents the global to + * @param destination The indexset to which the communication + * which represents the global to * local mapping at the destination of the communication. * May be the same as the source indexset. */ @@ -229,7 +229,8 @@ namespace Dune { * @param comm The communicator to use. * @param source The indexset which represents the global to * local mapping at the source of the communication - * @param to The indexset to which the communication which represents the global to + * @param destination The indexset to which the communication + * which represents the global to * local mapping at the destination of the communication. * May be the same as the source indexset. */ diff --git a/istl/scalarproducts.hh b/istl/scalarproducts.hh index d50353275..25bc86d18 100644 --- a/istl/scalarproducts.hh +++ b/istl/scalarproducts.hh @@ -11,20 +11,25 @@ #include "solvercategory.hh" -/** \file - \brief Define base class for scalar product and norm. +namespace Dune { + /** + * @defgroup ISTL_SP Scalar products + * @ingroup ISTL_Solvers + * @brief Scalar products for the use in iterative solvers + */ + /** @addtogroup ISTL_SP + @{ + */ - These classes have to be implemented differently for different - data partitioning strategies. Default implementations for the - sequential case are provided. + /** \file - */ + \brief Define base class for scalar product and norm. -namespace Dune { + These classes have to be implemented differently for different + data partitioning strategies. Default implementations for the + sequential case are provided. - /** @addtogroup ISTL - @{ */ /*! \brief Base class for scalar product and norm computation diff --git a/istl/schwarz.hh b/istl/schwarz.hh index e1ed32210..1e3bddfce 100644 --- a/istl/schwarz.hh +++ b/istl/schwarz.hh @@ -30,7 +30,7 @@ namespace Dune { /** - @addtogroup ISTL + @addtogroup ISTL_Operators @{ */ @@ -96,8 +96,12 @@ namespace Dune { const communication_type& communication; }; + /** @} */ - + /** + * @addtogroup ISTL_SP + * @{ + */ /** * \brief Scalar product for overlapping schwarz methods. * @@ -167,7 +171,12 @@ namespace Dune { } }; - + /** + * @} + * + * @addtogroup ISTL_Prec + * @{ + */ //! \brief A parallel SSOR preconditioner. template<class M, class X, class Y, class C> class ParSSOR : public Preconditioner<X,Y> { @@ -215,7 +224,7 @@ namespace Dune { /*! \brief Apply the precondtioner - \copydoc Preconditioner::apply(X&,Y&) + \copydoc Preconditioner::apply(X&,const Y&) */ virtual void apply (X& v, const Y& d) { @@ -299,9 +308,9 @@ namespace Dune { } /*! - \brief Apply the precondtioner + \brief Apply the preconditioner - \copydoc Preconditioner::apply(X&,Y&) + \copydoc Preconditioner::apply(X&,const Y&) */ virtual void apply (X& v, const Y& d) { diff --git a/istl/solvercategory.hh b/istl/solvercategory.hh index 7f6607360..128a803d9 100644 --- a/istl/solvercategory.hh +++ b/istl/solvercategory.hh @@ -8,7 +8,7 @@ namespace Dune { /** - @addtogroup ISTL + @addtogroup ISTL_Solvers @{ */ diff --git a/istl/solvers.hh b/istl/solvers.hh index 2f93188b6..a5d20b912 100644 --- a/istl/solvers.hh +++ b/istl/solvers.hh @@ -18,8 +18,10 @@ #include <dune/common/helpertemplates.hh> namespace Dune { - - /** @addtogroup ISTL + /** @defgroup ISTL_Solvers Iterative Solvers + @ingroup ISTL + */ + /** @addtogroup ISTL_Solvers @{ */ @@ -791,7 +793,7 @@ namespace Dune { /*! \brief Apply inverse operator with given reduction factor. - \copydoc InverseOperator::apply(X&,Y&,double,InverseOperatorResult) + \copydoc InverseOperator::apply(X&,Y&,double,InverseOperatorResult&) */ virtual void apply (X& x, X& b, double reduction, InverseOperatorResult& r) { diff --git a/istl/vbvector.hh b/istl/vbvector.hh index bd7e88738..0ef88a871 100644 --- a/istl/vbvector.hh +++ b/istl/vbvector.hh @@ -18,7 +18,7 @@ namespace Dune { /** - @addtogroup ISTL + @addtogroup ISTL_SPMV @{ */ -- GitLab