]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Further improvements with moving classes into their proper modules
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Wed, 18 Jan 2006 01:29:25 +0000 (01:29 +0000)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Wed, 18 Jan 2006 01:29:25 +0000 (01:29 +0000)
git-svn-id: https://svn.dealii.org/trunk@12074 0785d39b-7218-0410-832d-ea1e28bc413d

33 files changed:
deal.II/base/include/base/conditional_ostream.h
deal.II/base/include/base/convergence_table.h
deal.II/base/include/base/job_identifier.h
deal.II/base/include/base/logstream.h
deal.II/base/include/base/polynomial.h
deal.II/base/include/base/table.h
deal.II/base/include/base/table_handler.h
deal.II/base/include/base/table_indices.h
deal.II/base/include/base/tensor_function.h
deal.II/base/include/base/timer.h
deal.II/base/include/base/utilities.h
deal.II/base/include/base/vector_slice.h
deal.II/deal.II/include/dofs/function_map.h
deal.II/deal.II/include/grid/grid_refinement.h
deal.II/deal.II/include/grid/intergrid_map.h
deal.II/deal.II/include/numerics/histogram.h
deal.II/doc/doxygen/headers/functions.h
deal.II/doc/doxygen/headers/grid.h
deal.II/doc/doxygen/headers/io.h
deal.II/doc/doxygen/headers/memory.h
deal.II/doc/doxygen/headers/utilities.h [new file with mode: 0644]
deal.II/lac/include/lac/block_indices.h
deal.II/lac/include/lac/eigen.h
deal.II/lac/include/lac/solver.h
deal.II/lac/include/lac/solver_bicgstab.h
deal.II/lac/include/lac/solver_cg.h
deal.II/lac/include/lac/solver_control.h
deal.II/lac/include/lac/solver_gmres.h
deal.II/lac/include/lac/solver_minres.h
deal.II/lac/include/lac/solver_qmrs.h
deal.II/lac/include/lac/solver_richardson.h
deal.II/lac/include/lac/solver_selector.h
deal.II/lac/include/lac/vector_memory.h

index 8ee1b9c7ff92668e4142222ee5ec007ee6560876..f149a21cb8e9308a1cfd10154e37465a35200ac2 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 2004, 2005 by the deal.II authors
+//    Copyright (C) 2004, 2005, 2006 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -75,7 +75,7 @@
  *   system_matrix.print_formatted(cout);
  * @endcode
  *
- * @ingroup output
+ * @ingroup textoutput
  * @author Ralf Hartmann, Wolfgang Bangerth, 2004
  */
 class ConditionalOStream
index d8a535618a015760d1727bcd100f473192ddb6f7..c28460a675dff975a17e94440b2e5bdc4e22af07 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 by the deal.II authors
+//    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
  * implementations of these non-standard methods is left to a user.
  *
  * The number of cells and the number of DoFs may be added to the table by
- * calling e.g.  <tt>add_value("n cells", n_cells)</tt>. The table
- * data is also added by calling add_value().
- * Before the output of the table the functions evaluate_convergence_rates() and
- * evaluate_all_convergence_rates() may be called (even multiply).
+ * calling e.g.  <tt>add_value("n cells", n_cells)</tt>. The table data is
+ * also added by calling add_value().  Before the output of the table the
+ * functions evaluate_convergence_rates() and evaluate_all_convergence_rates()
+ * may be called (even multiply).
  *
  * There are two possibilities of how to evaluate the convergence rates of multiple 
  * columns in the same RateMode.
  * that are not signed to be omitted.
  * </ol>
  *
+ * A detailed discussion of this class can also be found in the step-7 and
+ * step-13 example programs.
  *
+ * @ingroup textoutput
  * @author Ralf Hartmann, 1999
  */
 class ConvergenceTable: public TableHandler
index e61957826ec07ecf7a8af023e022fbb5ff892264..00b8fa89db5377f2cc34d38e4f5462cac48adb6d 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -23,6 +23,8 @@
  * identifier. There exists a library object <tt>dealjobid</tt> of this
  * class. This object can be accessed by all output functions to
  * provide an id for the current job.
+ * 
+ * @ingroup utilities
  */
 class JobIdentifier
 {
index e14a233d768f41fb2e6298ca83e5b3e8c0b6d0d6..30262423c3587e0ab8a896bd3ebde9f0da9c5443 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -51,7 +51,7 @@
  * <li> <tt>deallog.pop()</tt> when leaving that stage entered with <tt>push</tt>.
  * </ul>
  *
- * @ingroup output
+ * @ingroup textoutput
  * @author Guido Kanschat, Wolfgang Bangerth, 1999, 2003
  */
 class LogStream
index 736601ef4f9bdd911ec659c24c92f795b2e146b1..85df4e4c693e0e32e03141ed9e04963f9843e03a 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 by the deal.II authors
+//    Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -229,8 +229,6 @@ namespace Polynomials
 
 
 /**
- * @brief Monomial of degree n.
- *
  * Class generates Polynomial objects representing a monomial of
  * degree n, that is, the function $x^n$.
  *
index 6c8255a440cd6f7b082e08e4451dbada64a80035..8b000a7f795558c7a319ae5a6b3d25f5264d2cc1 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 2002, 2003, 2004, 2005 by the deal.II authors
+//    Copyright (C) 2002, 2003, 2004, 2005, 2006 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -470,7 +470,8 @@ namespace internal
  * table is needed here. Furthermore, you may want to store, say, the
  * gradients of shape functions, so the data type is not a single
  * scalar value, but a tensor itself.
- * 
+ *
+ * @ingroup data
  * @author Wolfgang Bangerth, 2002.
  */
 template <int N, typename T>
@@ -736,6 +737,7 @@ class TableBase : public Subscriptor
  * dimensions. See there, and in the documentation of the base class
  * for more information.
  * 
+ * @ingroup data
  * @author Wolfgang Bangerth, 2002
  */
 template <int N,typename T>
@@ -754,6 +756,7 @@ class Table : public TableBase<N,T>
  * For the rationale of this class, and a description of the
  * interface, see the base class.
  * 
+ * @ingroup data
  * @author Wolfgang Bangerth, 2002
  */
 template <typename T>
@@ -826,6 +829,7 @@ class Table<1,T> : public TableBase<1,T>
  * compatibility with a predecessor class (<tt>vector2d</tt>), some
  * additional functions are provided.
  * 
+ * @ingroup data
  * @author Wolfgang Bangerth, 2002
  */
 template <typename T>
@@ -976,140 +980,6 @@ class Table<2,T> : public TableBase<2,T>
 
 
 
-/**
- * A class representing a transpose two-dimensional table, i.e. a matrix of
- * objects (not necessarily only numbers) in column first numbering (FORTRAN
- * convention). The only real difference is therefore really in the storage
- * format.
- *
- * This class copies the functions of Table<2,T>, but the element
- * access and the dimensions will be for the transpose ordering of the
- * data field in TableBase.
- *
- * @author Guido Kanschat, 2005
- */
-template <typename T>
-class TransposeTable : public TableBase<2,T>
-{
-  public:
-                                     /**
-                                      * Default constructor. Set all
-                                      * dimensions to zero.
-                                      */
-    TransposeTable ();
-
-                                     /**
-                                      * Constructor. Pass down the
-                                      * given dimensions to the base
-                                      * class.
-                                      */
-    TransposeTable (const unsigned int size1,
-                   const unsigned int size2);
-
-                                     /**
-                                      * Reinitialize the object. This
-                                      * function is mostly here for
-                                      * compatibility with the earlier
-                                      * <tt>vector2d</tt> class. Passes
-                                      * down to the base class by
-                                      * converting the arguments to
-                                      * the data type requested by the
-                                      * base class.
-                                      */
-    void reinit (const unsigned int size1,
-                 const unsigned int size2);
-
-                                     /**
-                                      * Direct access to one element
-                                      * of the table by specifying all
-                                      * indices at the same time. Range
-                                      * checks are performed.
-                                      *
-                                      * This version of the function
-                                      * only allows read access.
-                                      */
-    const T & operator () (const unsigned int i,
-                           const unsigned int j) const;
-    
-
-                                     /**
-                                      * Direct access to one element
-                                      * of the table by specifying all
-                                      * indices at the same time. Range
-                                      * checks are performed.
-                                      *
-                                      * This version of the function
-                                      * allows read-write access.
-                                      */
-    T & operator () (const unsigned int i,
-                     const unsigned int j);
-
-    
-                                     /**
-                                      * Number of rows. This function
-                                      * really makes only sense since
-                                      * we have a two-dimensional
-                                      * object here.
-                                      */
-    unsigned int n_rows () const;
-    
-                                     /**
-                                      * Number of columns. This function
-                                      * really makes only sense since
-                                      * we have a two-dimensional
-                                      * object here.
-                                      */
-    unsigned int n_cols () const;
-
-  protected:
-                                     /**
-                                      * Return a read-write reference
-                                      * to the element <tt>(i,j)</tt>.
-                                      *
-                                      * This function does no bounds
-                                      * checking and is only to be
-                                      * used internally and in
-                                      * functions already checked.
-                                      *
-                                      * These functions are mainly
-                                      * here for compatibility with a
-                                      * former implementation of these
-                                      * table classes for 2d arrays,
-                                      * then called <tt>vector2d</tt>.
-                                      */
-    T & el (const unsigned int i,
-            const unsigned int j);
-  
-                                     /**
-                                      * Return the value of the
-                                      * element <tt>(i,j)</tt> as a
-                                      * read-only reference.
-                                      *
-                                      * This function does no bounds
-                                      * checking and is only to be
-                                      * used internally and in
-                                      * functions already checked.
-                                      *
-                                      * We return the requested value
-                                      * as a constant reference rather
-                                      * than by value since this
-                                      * object may hold data types
-                                      * that may be large, and we
-                                      * don't know here whether
-                                      * copying is expensive or not.
-                                      *
-                                      * These functions are mainly
-                                      * here for compatibility with a
-                                      * former implementation of these
-                                      * table classes for 2d arrays,
-                                      * then called <tt>vector2d</tt>.
-                                      */
-    const T & el (const unsigned int i,
-                  const unsigned int j) const;
-};
-
-
-
 /**
  * A class representing a three-dimensional table of objects (not
  * necessarily only numbers).
@@ -1117,6 +987,7 @@ class TransposeTable : public TableBase<2,T>
  * For the rationale of this class, and a description of the
  * interface, see the base class.
  * 
+ * @ingroup data
  * @author Wolfgang Bangerth, 2002
  */
 template <typename T>
@@ -1203,6 +1074,7 @@ class Table<3,T> : public TableBase<3,T>
  * For the rationale of this class, and a description of the
  * interface, see the base class.
  * 
+ * @ingroup data
  * @author Wolfgang Bangerth, Ralf Hartmann 2002
  */
 template <typename T>
@@ -1292,6 +1164,7 @@ class Table<4,T> : public TableBase<4,T>
  * For the rationale of this class, and a description of the
  * interface, see the base class.
  * 
+ * @ingroup data
  * @author Wolfgang Bangerth, Ralf Hartmann 2002
  */
 template <typename T>
@@ -1384,6 +1257,7 @@ class Table<5,T> : public TableBase<5,T>
  * For the rationale of this class, and a description of the
  * interface, see the base class.
  * 
+ * @ingroup data
  * @author Wolfgang Bangerth, Ralf Hartmann 2002
  */
 template <typename T>
@@ -1478,6 +1352,7 @@ class Table<6,T> : public TableBase<6,T>
  * For the rationale of this class, and a description of the
  * interface, see the base class.
  * 
+ * @ingroup data
  * @author Wolfgang Bangerth, 2002, Ralf Hartmann 2004
  */
 template <typename T>
@@ -1569,6 +1444,142 @@ class Table<7,T> : public TableBase<7,T>
 
 
 
+/**
+ * A class representing a transpose two-dimensional table, i.e. a matrix of
+ * objects (not necessarily only numbers) in column first numbering (FORTRAN
+ * convention). The only real difference is therefore really in the storage
+ * format.
+ *
+ * This class copies the functions of Table<2,T>, but the element
+ * access and the dimensions will be for the transpose ordering of the
+ * data field in TableBase.
+ *
+ * @ingroup data
+ * @author Guido Kanschat, 2005
+ */
+template <typename T>
+class TransposeTable : public TableBase<2,T>
+{
+  public:
+                                     /**
+                                      * Default constructor. Set all
+                                      * dimensions to zero.
+                                      */
+    TransposeTable ();
+
+                                     /**
+                                      * Constructor. Pass down the
+                                      * given dimensions to the base
+                                      * class.
+                                      */
+    TransposeTable (const unsigned int size1,
+                   const unsigned int size2);
+
+                                     /**
+                                      * Reinitialize the object. This
+                                      * function is mostly here for
+                                      * compatibility with the earlier
+                                      * <tt>vector2d</tt> class. Passes
+                                      * down to the base class by
+                                      * converting the arguments to
+                                      * the data type requested by the
+                                      * base class.
+                                      */
+    void reinit (const unsigned int size1,
+                 const unsigned int size2);
+
+                                     /**
+                                      * Direct access to one element
+                                      * of the table by specifying all
+                                      * indices at the same time. Range
+                                      * checks are performed.
+                                      *
+                                      * This version of the function
+                                      * only allows read access.
+                                      */
+    const T & operator () (const unsigned int i,
+                           const unsigned int j) const;
+    
+
+                                     /**
+                                      * Direct access to one element
+                                      * of the table by specifying all
+                                      * indices at the same time. Range
+                                      * checks are performed.
+                                      *
+                                      * This version of the function
+                                      * allows read-write access.
+                                      */
+    T & operator () (const unsigned int i,
+                     const unsigned int j);
+
+    
+                                     /**
+                                      * Number of rows. This function
+                                      * really makes only sense since
+                                      * we have a two-dimensional
+                                      * object here.
+                                      */
+    unsigned int n_rows () const;
+    
+                                     /**
+                                      * Number of columns. This function
+                                      * really makes only sense since
+                                      * we have a two-dimensional
+                                      * object here.
+                                      */
+    unsigned int n_cols () const;
+
+  protected:
+                                     /**
+                                      * Return a read-write reference
+                                      * to the element <tt>(i,j)</tt>.
+                                      *
+                                      * This function does no bounds
+                                      * checking and is only to be
+                                      * used internally and in
+                                      * functions already checked.
+                                      *
+                                      * These functions are mainly
+                                      * here for compatibility with a
+                                      * former implementation of these
+                                      * table classes for 2d arrays,
+                                      * then called <tt>vector2d</tt>.
+                                      */
+    T & el (const unsigned int i,
+            const unsigned int j);
+  
+                                     /**
+                                      * Return the value of the
+                                      * element <tt>(i,j)</tt> as a
+                                      * read-only reference.
+                                      *
+                                      * This function does no bounds
+                                      * checking and is only to be
+                                      * used internally and in
+                                      * functions already checked.
+                                      *
+                                      * We return the requested value
+                                      * as a constant reference rather
+                                      * than by value since this
+                                      * object may hold data types
+                                      * that may be large, and we
+                                      * don't know here whether
+                                      * copying is expensive or not.
+                                      *
+                                      * These functions are mainly
+                                      * here for compatibility with a
+                                      * former implementation of these
+                                      * table classes for 2d arrays,
+                                      * then called <tt>vector2d</tt>.
+                                      */
+    const T & el (const unsigned int i,
+                  const unsigned int j) const;
+};
+
+
+
+
 /* --------------------- Template and inline functions ---------------- */
 
 #ifndef DOXYGEN
index 3f920a4ec84cb8f8905b1d4f4a28f6aa63bbee23..f73a24c8dd27f430387aaa279114966c10c96ff4 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 by the deal.II authors
+//    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -36,6 +36,7 @@
  * Abstract base class for the <tt>TableEntry</tt> class. See there.
  * This class is not to be used by the user.
  *
+ * @ingroup textoutput
  * @author Ralf Hartmann, 1999
  */
 class TableEntryBase 
@@ -72,6 +73,7 @@ class TableEntryBase
  *
  * For more detail see the <tt>TableHandler</tt> class.
  *
+ * @ingroup textoutput
  * @author Ralf Hartmann, 1999
  */
 template <typename value_type>
@@ -137,6 +139,10 @@ class TableEntry : public TableEntryBase
  * to prescribe the format and the captions the columns are written
  * with in tex mode.
  *
+ * A detailed explanation of this class is also given in the step-13 tutorial
+ * program.
+ * 
+ * 
  * <h3>Example</h3>
  * 
  * This is a simple example demonstrating the usage of this class. The
@@ -170,6 +176,7 @@ class TableEntry : public TableEntryBase
  * out_file.close();
  * @endcode
  *
+ * @ingroup textoutput
  * @author Ralf Hartmann, 1999
  */
 class TableHandler
index 79f65e49295f7ff0d50991cd4be8614bea23c3cc..87d6135d0983834c54ddb3290d5786f64cbbc77b 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 2005 by the deal.II authors
+//    Copyright (C) 2005, 2006 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -25,6 +25,7 @@
  * not only stores indices into the TableBase class, but also the sizes of the
  * table in its various coordinates.
  *
+ * @ingroup data
  * @author Wolfgang Bangerth, 2002
  */
 template <int N>
@@ -77,6 +78,7 @@ class TableIndicesBase
  * of and access to data is done by the TableIndicesBase base
  * class of a specializations.
  *
+ * @ingroup data
  * @author Wolfgang Bangerth, 2002
  */
 template <int N>
@@ -108,6 +110,7 @@ class TableIndices
  * data is done by the TableIndicesBase base class of a
  * specializations.
  *
+ * @ingroup data
  * @author Wolfgang Bangerth, 2002
  */
 template <>
@@ -138,6 +141,7 @@ class TableIndices<1> : public TableIndicesBase<1>
  * specializations. Actual storage of and access to data is done by
  * the TableIndicesBase base class of a specializations.
  *
+ * @ingroup data
  * @author Wolfgang Bangerth, 2002
  */
 template <>
@@ -180,6 +184,7 @@ class TableIndices<2> : public TableIndicesBase<2>
  * specializations. Actual storage of and access to data is done by
  * the TableIndicesBase base class of a specializations.
  *
+ * @ingroup data
  * @author Wolfgang Bangerth, 2002
  */
 template <>
@@ -222,6 +227,7 @@ class TableIndices<3> : public TableIndicesBase<3>
  * specializations. Actual storage of and access to data is done by
  * the TableIndicesBase base class of a specializations.
  *
+ * @ingroup data
  * @author Wolfgang Bangerth, Ralf Hartmann 2002
  */
 template <>
@@ -265,6 +271,7 @@ class TableIndices<4> : public TableIndicesBase<4>
  * specializations. Actual storage of and access to data is done by
  * the TableIndicesBase base class of a specializations.
  *
+ * @ingroup data
  * @author Wolfgang Bangerth, Ralf Hartmann 2002
  */
 template <>
@@ -309,6 +316,7 @@ class TableIndices<5> : public TableIndicesBase<5>
  * specializations. Actual storage of and access to data is done by
  * the TableIndicesBase base class of a specializations.
  *
+ * @ingroup data
  * @author Wolfgang Bangerth, Ralf Hartmann 2002
  */
 template <>
@@ -354,6 +362,7 @@ class TableIndices<6> : public TableIndicesBase<6>
  * specializations. Actual storage of and access to data is done by
  * the TableIndicesBase base class of a specializations.
  *
+ * @ingroup data
  * @author Wolfgang Bangerth, 2002, Ralf Hartmann 2004
  */
 template <>
index 08fe825aa4da7cf8866acb99c21d20371ccd590a..38643ad1808915bcbab9476ee7189ca5f686b327 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 by the deal.II authors
+//    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -48,6 +48,7 @@
  *  returned, not only vectors, as for them the size can be determined
  *  similarly simply.
  *
+ *  @ingroup functions
  *  @author Guido Kanschat, 1999 
  */
 template <int rank, int dim>
index 63ee3f0682c045a85b06f19e06c5935242dd512c..a537df1681bdf4463f3e3740864e140fd504dbb1 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -52,6 +52,7 @@
  * right now. In this case, we would like to sum up the time needed by
  * all children. Furthermore, a wall clock option would be nice.
  *
+ * @ingroup utilities
  * @author G. Kanschat, W. Bangerth
  */
 //TODO:[?] make class work with multithreading as well. better docs.
index 360df88936c0b35df20e4fcb79219e3a061e90ad..aaec1d9c4257107e1c3f203c8ab2ea0ee81353b9 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 2005 by the deal.II authors
+//    Copyright (C) 2005, 2006 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -30,6 +30,7 @@ typedef int MPI_Comm;
  * finite element computing or numerical programs, but nevertheless are needed
  * in various contexts when writing applications.
  *
+ * @ingroup utilities
  * @author Wolfgang Bangerth, 2005
  */
 namespace Utilities
@@ -137,6 +138,8 @@ namespace Utilities
                                    /**
                                     * A namespace for utility functions that
                                     * probe system properties.
+                                    * 
+                                    * @ingroup utilities
                                     */
   namespace System
   {
index 3f45bc9c632655b8ddf2b7f3e75232b4191c3db8..72c241a820092fee850489375d2ab01643264f1a 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 2004, 2005 by the deal.II authors
+//    Copyright (C) 2004, 2005, 2006 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
 #include <base/exceptions.h>
 
 /**
- * Filter a range out of any object having a random access operator
- * <tt>[] (unsigned int)</tt> and a function <tt>size() const</tt>.
+ * Filter a range out of any object having a random access <tt>operator[]
+ * (unsigned int)</tt> and a function <tt>size() const</tt>.
  *
- * The use of this object is straight forward. It reduplicates the
+ * The use of this object is straightforward. It reduplicates the
  * random access operator of the <tt>VECTOR</tt> and adds an offset to
  * every index.
  *
@@ -36,6 +36,7 @@
  *   }
  * @endcode
  *
+ * @ingroup data
  * @author Guido Kanschat, 2004
  */
 template <class VECTOR>
index 0f42724ff9910a25e299e99e6159eeeda8c1303d..c35b51a2e2312c8f807f5a57264ccb50109c9ec2 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 2001, 2002, 2003, 2004, 2005 by the deal.II authors
+//    Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -21,16 +21,18 @@ template <int dim> class Function;
 
 
 /**
- * Declare a data type which denotes a mapping between a boundary
- * indicator and the function denoting the boundary values on this
- * part of the boundary. This type is required in many functions where
- * depending on boundary indicators different functions are used,
- * e.g. for boundary value interpolation, etc. As a variable of this
- * type is often declared in certain contexts where these functions
- * are used, this variable is also used by some functions that are not
- * actually interested in the function pointer itself, but only in the
- * list of selected boundary indicators.
+ * Declare a data type which denotes a mapping between a boundary indicator
+ * and the function denoting the boundary values on this part of the
+ * boundary. This type is required in many functions where depending on the
+ * boundary indicator, different functions are used. An example is boundary
+ * value interpolation.
  *
+ * It seems odd at first to declare this typedef inside a class, rather than
+ * declaring a typedef at global scope. The reason is that C++ does not allow
+ * to define templated typedefs, where here in fact we want a typdef that
+ * depends on the space dimension.
+ *
+ * @ingroup functions
  * @author Wolfgang Bangerth, Ralf Hartmann, 2001
  */
 template<int dim>
index 2066dd0f014f9a9292aa6761bfc401006698a9f5..de5f6b280fe77bd17841280bf3b5f423e57ab08d 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 by the deal.II authors
+//    Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -114,6 +114,7 @@ template <class T> class Vector;
  *   You can suppress coarsening or refining by giving zero as the fraction
  *   for one of the operations.
  *
+ * @ingroup grid
  * @author Wolfgang Bangerth, 1998, 2000; Thomas Richter, 2000
  */
 class GridRefinement
index 3463b1d2ef614451176b34290b5543e946f2ee84..407448841cade0fd303a84770ec70470261a3a63 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 by the deal.II authors
+//    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
  * no dimension is attributed to the first parameter, which here is
  * DoFHandler (and could equally well be Triangulation or MGDoFHandler).
  *
+ * @ingroup grid
  * @author Wolfgang Bangerth, 1999
  */
 template <template <int> class GridClass, int dim>
index c9d63d642c3f23137857fe39e94c3814277d1311..cf2c2cc3c2c9690bb695e36dc042eed8e0020fef 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 by the deal.II authors
+//    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -58,7 +58,8 @@
  *
  * At present, only GNUPLOT output is supported.
  *
- *
+ * 
+ * @ingroup textoutput
  * @author Wolfgang Bangerth, 1999
  */
 class Histogram
index f77f113cb533ae04f57b8579704a6d1dd7a162ed..cb84efad75c5890d5919e5e5d5fc55cdd963a0f0 100644 (file)
@@ -34,6 +34,9 @@
  * particular value and all other components are zero. Some more
  * specialized functions are also defined in the Functions namespace.
  *
+ *
+ * <h3>Time dependent functions</h3>
+ * 
  * For time dependent computations, boundary conditions and/or right
  * hand side functions may also change with time. Since at a given
  * time step one is usually only interested in the spatial dependence
  * referencing a particular time. In above example, one would set the
  * time of the function object to the present time step before handing
  * it off to the VectorTools::interpolate_boundary_values method.
+ *
+ * 
+ * <h3>Tensor-valued functions</h3>
+ *
+ * The Function class is the most frequently used, but sometimes one needs a
+ * function the values of which are tensors, rather than scalars. The
+ * TensorFunction template can do this for you. Apart from the return type,
+ * the interface is most the same as that of the Function class.
  */
index 70c4cf05babbbdcf856dedcf81401161eccd597b..6757a40c7185a5aeef24b7087b882f3cf3aecc80 100644 (file)
@@ -94,6 +94,9 @@
  * triangulations, computing the diameter of a domain, or subdividing it into
  * chunks of roughly equal size for parallel computations.
  *
+ * The GridRefinement class implements a number of mesh refinement algorithms,
+ * based on refinement indicators given to its member functions.
+ *
  * 
  * <h3>Internal classes</h3>
  *
index b4a116963cce62514f4f038879431a8036504c9d..c49392857a5386091f3053a62168b073a907b851 100644 (file)
  */
 
 /**
- * @defgroup output Output
+ * @defgroup output Graphical output
  *
  * deal.II generates three types of output: it can write triangulations/meshes
  * in formats understood by several mesh readers (including those of deal.II
  * itself), and it can create output used for visualization of data. Finally,
  * it can output matrices in a graphical format.
  *
- * In addition, deal.II has a number of helper classes for
- * output. They are introduced in sections of their own below.
- *
  * 
  * <h3>Visualization of data</h3>
  * 
  * MatrixOut class uses the DataOutBase for output. Therefore, matrices can be
  * visualized in all formats supported by the latter class.
  *
+ * @ingroup IO
+ */
+
+/**
+ * @defgroup textoutput Textual output
  *
- * <h3>The ConditionalOStream class</h3>
- *
- * The ConditionalOStream class is a class that acts like
- * <code>std::ostream</code> in that you can pipe output into it using
- * <code>operator &lt;&lt;</code>. However, it only writes these
- * things to a file (or the screen) if a flag is set. This is useful
- * in parallel programs, and is discussed in the step-17 tutorial
- * program.
- *
- *
- * <h3>The LogStream class</h3>
- *
- * The LogStream class is used to write status output of programs to
- * logfiles. It, again, acts like <code>std::ostream</code>, but
- * instead of writing things to a file or the screen only, it has the
- * ability to write things to both a log file as well as the
- * screen. It can also add a time stamp to each line of output, and
- * can selectively write only certain parts of the output that are
- * interesting enough to the screen, and suppress other parts that
- * then only show up in the log file.
+ * In addition to classes that provide graphical output formats (see the @ref
+ * output module), deal.II has a number of classes that facilitate textual
+ * output in a number of ways. They are collected in this module. See the
+ * documentation of these classes for more details.
  *
  * @ingroup IO
  */
index c0bed1cc8b2d5c51670161ba1bfece0c3ff22d4f..82d4748a2e4461944c630b839f34ea940cdbf4c8 100644 (file)
@@ -32,4 +32,6 @@
  * estimate). For deal.II classes, it uses the
  * <code>memory_consumption</code> member function that most classes
  * have.
+ *
+ * @ingroup utilities
  */
diff --git a/deal.II/doc/doxygen/headers/utilities.h b/deal.II/doc/doxygen/headers/utilities.h
new file mode 100644 (file)
index 0000000..7ecc871
--- /dev/null
@@ -0,0 +1,39 @@
+//-------------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2006 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//-------------------------------------------------------------------------
+
+/**
+ * @defgroup utilities Utility functions and classes
+ *
+ * This module simply collects a number of functions and classes that provide
+ * general tools for tasks that do not usually have much to do with finite
+ * element programs in particular, but happen to be required there just as
+ * well.
+ */
+
+
+/**
+ * @defgroup data Data storage primitives
+ *
+ * Here are a few simple classes that help in storage and viewing data. For
+ * example, the Table templates allow to use not only arrays of objects (for
+ * which one might want to use the std::vector class), but also
+ * two-dimensional (rectangular) tables of arbitrary objects, as well as
+ * higher-order analogs up to tables with (presently) seven indices.
+ *
+ * Similarly, the VectorSlice function is a primitive that takes anything that
+ * has an interface that resembles a vector (for example the deal.II Vector or
+ * the std::vector classes) and presents a view on it as if it were a vector
+ * in itself.
+ *
+ * @ingroup utilities
+ */
index 64afc8565debbefa5c345580440ad5245e11b468..6d0e9f6dee67bcc46152291fc889342b4ae425f6 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 by the deal.II authors
+//    Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -27,6 +27,7 @@
  * useful if a matrix is composed of several blocks, where you have to
  * translate global row and column indices to local ones.
  *
+ * @ingroup data
  * @author Wolfgang Bangerth, Guido Kanschat, 2000
  */
 class BlockIndices
index d02dce016ef048d6fb94c0ea33810156c7f29469..de9c4591e72fa57a2de38d0763f60b1942e26f89 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 by the deal.II authors
+//    Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -29,9 +29,8 @@
 /*!@addtogroup Solvers */
 /*@{*/
 
-//! Power method for eigenvalues.
 /**
- * Power method (von Mises).
+ * Power method (von Mises) for eigenvalue computations.
  *
  * This method determines the largest eigenvalue of a matrix by
  * applying increasing powers of this matrix to a vector. If there is
@@ -109,9 +108,8 @@ class EigenPower : private Solver<VECTOR>
     AdditionalData additional_data;
 };
 
-//! Inverse iteration for eigenvalues.
 /**
- * Inverse iteration (Wieland).
+ * Inverse iteration (Wieland) for eigenvalue computations.
  *
  * This class implements an adaptive version of the inverse iteration by Wieland.
  *
index 9a9e00e54e0a3fceae88074f3d8ed3f516b356f0..d3edc6dd13dddbacd5a62aa8e5590813f9ee49e5 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -24,7 +24,6 @@ class SolverControl;
 /*!@addtogroup Solvers */
 /*@{*/
 
-//! Base class for iterative solvers.
 /**
  * This class defines possible return states of linear solvers and
  * provides interfaces to a memory pool and the control object.
index 4198d90c3e7b004aeda0136c8e03a867bb7f949b..57d55593a310e9fdf3a4d040a7b76d781d6eb185 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -24,7 +24,6 @@
 /*!@addtogroup Solvers */
 /*@{*/
 
-//! Iterative solver Bicg-stab.
 /**
  * Bicgstab algorithm by van der Vorst.
  *
index 171731815b58e38737a1563946a85ec2a823975a..e8162e26ff17296915d5cb1fa41c4bb1c8242036 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -25,9 +25,8 @@
 /*!@addtogroup Solvers */
 /*@{*/
 
-//! Conjugate gradient method for symmetric positive definite matrices.
 /**
- * Preconditioned cg method.
+ * Preconditioned cg method for symmetric positive definite matrices.
  *
  * For the requirements on matrices and vectors in order to work with
  * this class, see the documentation of the Solver base class.
index 0ad46bd7ce6a5c53242c9fa5f4fb37c175cd15ac..d38a6faefec82f2ddae4637a4890ba3b9e8e3ba6 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -24,7 +24,6 @@ class ParameterHandler;
 /*!@addtogroup Solvers */
 /*@{*/
 
-//! Control of the stopping criterion for solvers
 /**
  * Control class for iterative solvers.
  *
@@ -441,7 +440,6 @@ class SolverControl : public Subscriptor
 };
 
 
-//! Control of the stopping criterion depending on the initial residual.
 /**
  * Specialization of @p SolverControl which returns @p success if either
  * the specified tolerance is achieved or if the initial residual (or
index bd6d5ef3eca7b36c85af5b21bcc46c726195697d..63da80dac8770b5d842a069910c5970b740bd1f5 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -117,7 +117,6 @@ namespace internal
                                     * @endcond
                                     */
 
-//! Generalized minimal residual method.
 /**
  * Implementation of the Restarted Preconditioned Direct Generalized
  * Minimal Residual Method. The stopping criterion is the norm of the
@@ -296,9 +295,9 @@ class SolverGMRES : public Solver<VECTOR>
     SolverGMRES (const SolverGMRES<VECTOR>&);
 };
 
-//! Generalized minimal residual method with flexible preconditioning.
 /**
- * Flexible GMRES.
+ * Implementation of the Generalized minimal residual method with flexible
+ * preconditioning method.
  *
  * This version of the GMRES method allows for the use of a different
  * preconditioner in each iteration step. Therefore, it is also more
index 1dc07b43cd61f77d7e9c3b56a82de3d7e9059615..aa2ace847f5fb8cb42ac73a0b3a1b29692ba1ef0 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 by the deal.II authors
+//    Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -24,9 +24,8 @@
 /*!@addtogroup Solvers */
 /*@{*/
 
-//! Minimal residual method for symmetric matrices.
 /**
- * Preconditioned MinRes method.
+ * Minimal residual method for symmetric matrices.
  *
  * For the requirements on matrices and vectors in order to work with
  * this class, see the documentation of the Solver base class.
index 532bee0dec6bfc04a10588510ef705ce43bb7ded..ddcc3850b16d72c59025617201ecfab13eb7607f 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 by the deal.II authors
+//    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -25,9 +25,8 @@
 /*!@addtogroup Solvers */
 /*@{*/
 
-//! Quasi-minimal residual method for symmetric matrices.
 /**
- * QMRS method.
+ * Quasi-minimal residual method for symmetric matrices.
  *
  * The QMRS method is supposed to solve symmetric indefinite linear
  * systems with symmetric, not necessarily definite preconditioners.
index f9ccaa06c2d2334dcc46bd039bf45d2446ba99b8..79f397f4af8b86b52eedbbd7668be0e789f1e866 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 by the deal.II authors
+//    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -23,7 +23,6 @@
 /*!@addtogroup Solvers */
 /*@{*/
 
-//! Richardson's or stationary iteration.
 /**
  * Implementation of the richardson iteration method. The stopping criterion
  * is the norm of the residual.
index 470fc8a651650861999da1982b6ca2f242b3802f..d919aee168f0dac10ba16a91c1b591d9bad84262 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 by the deal.II authors
+//    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -31,8 +31,9 @@
 /*!@addtogroup Solvers */
 /*@{*/
 
-//! Selects a solver by changing a parameter.
 /**
+ * Selects a solver by changing a parameter.
+ * 
  * By calling the @p solve function of this @p SolverSelector, it selects
  * the @p solve function of that @p Solver that was specified in the constructor
  * of this class.
index ee3195916f06338951320b82bbedbc5d31b8ba78..efdeddb6c862d3620895f08ad59280c7af6115a6 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -25,7 +25,6 @@
 /*!@addtogroup VMemory */
 /*@{*/
 
-//! Base class for vector memory management
 /**
  * Memory management base class for vectors. This is an abstract base
  * class used, among other places, by all iterative methods to
@@ -114,7 +113,6 @@ class VectorMemory : public Subscriptor
 
 
 
-//! Sample implementation using system memory management.
 /**
  * Simple memory management. See the documentation of the base class
  * for a description of its purpose.
@@ -173,7 +171,6 @@ class PrimitiveVectorMemory : public VectorMemory<VECTOR>
 
 
 
-//! Keeps all vectors and avoids reallocation.
 /**
  * A pool based memory management class. See the documentation of the
  * base class for a description of its purpose.

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.