]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Add documentation
authorbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 24 Jul 2006 15:04:45 +0000 (15:04 +0000)
committerbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 24 Jul 2006 15:04:45 +0000 (15:04 +0000)
git-svn-id: https://svn.dealii.org/trunk@13424 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/deal.II/include/dofs/dof_constraints.h
deal.II/deal.II/include/dofs/dof_tools.h

index 8597932fce7b595aa5943c39c667c5d28a3a6ccc..d6e4fc1ea623529b529f3e3851118d506ec960e1 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
@@ -34,24 +34,26 @@ class BlockIndices;
 
 /**
  * This class implements linear homogeneous constraints on degrees of
- * freedom. In particular, it handles constraints of the form
- * $x_{i_1} = \sum_{j=2}^M a_{i_j} x_{i_j}$. Each "line" in objects of this
- * class corresponds to one such constraint, with the number of the
- * line being $i1$, and the entries in this line being pairs
- * $(i_j,a_{i_j})$. Note that the constraints are linear in the $x_i$,
- * and that there is not constant (non-homogeneous) term in the
- * constraint. However, this is exactly the form we need for hanging
- * node and certain other constraints, where we need to constrain one
- * degree of freedom in terms of others. The name of the class stems
- * from the fact that these constraints can be represented in matrix
- * form as $X x = 0$, and this object then describes the matrix $X$.
+ * freedom. In particular, it handles constraints of the form $x_{i_1} =
+ * \sum_{j=2}^M a_{i_j} x_{i_j}$. Each "line" in objects of this class
+ * corresponds to one such constraint, with the number of the line being $i1$,
+ * and the entries in this line being pairs $(i_j,a_{i_j})$. Note that the
+ * constraints are linear in the $x_i$, and that there is not constant
+ * (non-homogeneous) term in the constraint. However, this is exactly the form
+ * we need for hanging node and certain other constraints, where we need to
+ * constrain one degree of freedom in terms of others. The name of the class
+ * stems from the fact that these constraints can be represented in matrix
+ * form as $X x = 0$, and this object then describes the matrix $X$. The most
+ * frequent way to create/fill objects of this type is using the
+ * DoFTools::make_hanging_node_constraints() function. The use of these
+ * objects is first explained in @ref step_6 "step-6".
  *
- * The matrix is organized in lines (rows), but only those lines are stored
- * where constraints are present. New constraints are added by adding new
- * lines using the add_line() function, and then populating it using the
- * add_entry() function to a given line, or add_entries() to add more
- * than one entry at a time. After all constraints have been added, you need
- * to call close(), which compresses the storage format and sorts the
+ * Matrices of the present type are organized in lines (rows), but only those
+ * lines are stored where constraints are present. New constraints are added
+ * by adding new lines using the add_line() function, and then populating it
+ * using the add_entry() function to a given line, or add_entries() to add
+ * more than one entry at a time. After all constraints have been added, you
+ * need to call close(), which compresses the storage format and sorts the
  * entries.
  *
  * Constraint matrices are used to handle hanging nodes and other constrained
index 6de8092e5cb4e8e7cc522465052fd7299871f6ac..45a0f8386e3cc527a62608a6fb1dae36faa6dbed 100644 (file)
@@ -694,9 +694,25 @@ class DoFTools
                                      */
     
                                     /**
-                                     * Compute the constraints
-                                     * resulting from the presence of
-                                     * hanging nodes. The object into
+                                     * Compute the constraints resulting from
+                                     * the presence of hanging nodes. Hanging
+                                     * nodes are best explained using a small
+                                     * picture:
+                                     *
+                                     * @image html hanging_nodes.png
+                                     *
+                                     * In order to make a finite element
+                                     * function globally continuous, we have
+                                     * to make sure that the dark red nodes
+                                     * have values that are compatible with
+                                     * the adjacent yellow nodes, so that the
+                                     * function has no jump when coming from
+                                     * the small cells to the large one at
+                                     * the top right. We therefore have to
+                                     * add conditions that constrain those
+                                     * "hanging nodes".
+                                     *
+                                     * The object into
                                      * which these are inserted is
                                      * later used to condense the
                                      * global system matrix and right

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.