]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Add an entry.
authorbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 1 Apr 2010 22:21:00 +0000 (22:21 +0000)
committerbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 1 Apr 2010 22:21:00 +0000 (22:21 +0000)
git-svn-id: https://svn.dealii.org/trunk@20932 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/doc/doxygen/headers/glossary.h

index f0b3430ab043b7039700079be72b1a55d44507f7..32dd87491a451cdc4cc54664dd719b27f6d3ade6 100644 (file)
  * <dt class="glossary">@anchor GlossActive <b>Active cells</b></dt>
  * <dd>Mesh cells not refined any further in the hierarchy.</dd>
  *
+ *
+ * <dt class="glossary">@anchor GlossBlockLA <b>Block (linear algebra)</b></dt>
+
+ * <dd>It is often convenient to treat a matrix or vector as a collection of
+ * individual blocks. For example, in step-20 (and other tutorial
+ * programs), we want to consider the global linear system $Ax=b$ in
+ * the form
+ * @f{eqnarray*}
+  \left(\begin{array}{cc}
+    M & B^T \\ B & 0
+  \end{array}\right)
+  \left(\begin{array}{cc}
+    U \\ P
+  \end{array}\right)
+  =
+  \left(\begin{array}{cc}
+    F \\ G
+  \end{array}\right),
+ * @f}
+ * where $U,P$ are the values of velocity and pressure degrees of freedom,
+ * respectively, $M$ is the mass matrix on the velocity space, $B$ corresponds to
+ * the negative divergence operator, and $B^T$ is its transpose and corresponds
+ * to the negative gradient.
+ *
+ * Using such a decomposition into blocks, one can then define
+ * preconditioners that are based on the individual operators that are
+ * present in a system of equations (for example the Schur complement,
+ * in the case of step-20), rather than the entire matrix. In essence,
+ * blocks are used to reflect the structure of a PDE system in linear
+ * algebra, in particular allowing for modular solvers for problems
+ * with multiple solution components. On the other hand, the matrix
+ * and right hand side vector can also treated as a unit, which is
+ * convenient for example during assembly of the linear system when
+ * one may not want to make a distinction between the individual
+ * components, or for an outer Krylov space solver that doesn't care
+ * about the block structure (e.g. if only the preconditioner needs
+ * the block structure).
+ *
+ * Splitting matrices and vectors into blocks is supported by the
+ * BlockSparseMatrix, BlockVector, and related classes. See the
+ * overview of the various linear algebra classes in the @ref LAC
+ * module. The objects present two interfaces: one that makes the
+ * object look like a matrix or vector with global indexing
+ * operations, and one that makes the object look like a collection of
+ * sub-blocks that can be individually addressed. Depending on
+ * context, one may wish to use one or the other interface.
+ *
+ * Typically, one defines the sub-structure of a matrix or vector by
+ * grouping the degrees of freedom that make up groups of physical
+ * quantities (for example all velocities) into individual blocks of
+ * the linear system. This is defined in more detail below in the
+ * glossary entry on @ref GlossBlock "Block (finite element)".
+ * </dd>
+ *
+ *
  * <dt class="glossary">@anchor GlossBlock <b>Block</b></dt>
- * <dd>Blocks were introduced in BlockVector,
- * BlockSparseMatrix and related classes. These are used to reflect the
- * structure of a PDE system in linear algebra, in particular allowing
- * for modular solvers for problems with multiple solution components.
+ * <dd>
  * How to implement this is described in more detail in the
  * documentation of FESystem, the
  * @ref vector_valued module and the tutorial programs referenced

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.