--- /dev/null
+//---------------------------------------------------------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 2010 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.
+//
+//---------------------------------------------------------------------------
+#ifndef __deal2__integrators_laplace_h
+#define __deal2__integrators_laplace_h
+
+
+#include <base/config.h>
+#include <base/exceptions.h>
+#include <base/quadrature.h>
+#include <lac/full_matrix.h>
+#include <fe/mapping.h>
+#include <fe/fe_values.h>
+
+DEAL_II_NAMESPACE_OPEN
+
+namespace LocalIntegrators
+{
+/**
+ * @brief Local integrators related to the Laplacian and its DG formulations
+ *
+ * @author Guido Kanschat
+ * @date 2010
+ */
+ namespace Laplace
+ {
+ }
+}
+
+
+DEAL_II_NAMESPACE_CLOSE
+
+#endif
--- /dev/null
+//---------------------------------------------------------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 2010 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.
+//
+//---------------------------------------------------------------------------
+#ifndef __deal2__integrators_local_integrators_h
+#define __deal2__integrators_local_integrators_h
+
+// This file only provides definition and documentation of the
+// namespace LocalIntegrators. There is no necessity to include it
+// anywhere in a C++ code. Only doxygen will make use of it.
+
+#include <base/config.h>
+
+DEAL_II_NAMESPACE_OPEN
+
+
+/**
+ * @brief Library of integrals over cells and faces
+ *
+ * This namespace contains application specific local integrals for
+ * bilinear forms, forms and error estimates. It is a collection of
+ * functions organized into namespaces devoted to certain
+ * applications. For instance, the namespace Laplace contains
+ * functions for computing cell matrices and cell residuals for the
+ * Laplacian operator, as well as functions for the weak boundary
+ * conditions by Nitsche or the interior penalty discontinuous
+ * Galerkin method. The namespace Maxwell would do the same for
+ * curl-curl type problems.
+ *
+ * There is a namespace Differential containing general
+ * first order differential operators like divergence, gradient and
+ * curl, and their traces on faces.
+ *
+ * The namespace L2 contains functions for mass matrices and
+ * <i>L<sup>2</sup></i>-inner products.
+ *
+ * <h3>Signature of functions</h3>
+ *
+ * Functions in this namespace follow a generic signature. In the
+ * simplest case, you have two related functions
+ * \begin{code}
+ * \end{code}
+ */
+namespace LocalIntegrators
+{
+}
+
+DEAL_II_NAMESPACE_CLOSE
+
+#endif
*
* For the purpose of a discretization, blocks are the better concept to use
* since it is not always possible to address individual components of a
- * solution. This is, in particular, the case for non-@ref GlossPrimitive
- * "primitive" elements. Take for instance the solution of the mixed Laplacian
+ * solution. This is, in particular, the case for non-@ref
+ * GlossPrimitive "primitive"
+ * elements. Take for instance the solution of the mixed Laplacian
* system with the FE_RaviartThomas element (see step-20). There, the first
* <tt>dim</tt> components are the directional velocities. Since the shape
* functions are linear combinations of those, these <tt>dim</tt> components
--- /dev/null
+//-------------------------------------------------------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 2010 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 Integrators
+ *
+ * A collection of namespaces and functions which simplify the coding
+ * of forms and bilinear forms on finite element spaces.
+ *
+ * <h3>Integration on finite element meshes</h3>
+ *
+ * When we integrate a function or a functional on a finite element
+ * space, the structure of the integration loop is always the same. We
+ * have between 3 and 5 nested loops, from outside to inside:
+ * <ol>
+ * <li> Loop over all cells
+ * <li> Optionally, loop over all faces to compute fluxes
+ * <li> Loop over all quadrature points of the cell/face
+ * <li> Optionally, loop over all test functions to compute forms
+ * <li> Optionally, loop over all trial functions to compute bilinear
+ * forms
+ * </ol>
+ *
+ * These loops naturally fall into two classes, namely the computation
+ * of cell and face contributions (loops 3 to 5), and the outer loops
+ * over the mesh objects, often referred to as <em>assembling</em>.
+ *
+ * Support for the outer loop in deal.II can be found in the namespace
+ * MeshWorker (see the documentation there). In order to support the
+ * cell and face contributions (referred to as local contributions
+ * from now on), deal.II offers FEValuesBase and its derived
+ * classes. While the outer loop is generic (with exception of the
+ * data types), the computation of local contributions is problem
+ * dependent. Therefore, no generic algorithm is possible
+ * here. Nevertheless, we can define a generic interface for functions
+ * for this purpose and provide a library of local integrators for use
+ * in applications. These are collected in the namespace
+ * LocalIntegrators
+ */
* loops over all cells and faces.
* All classes and functions of this module are in the MeshWorker
* namespace, which also contains documentation on the usage.
+ *
+ * @ingroup Integrators
*/