]> https://gitweb.dealii.org/ - dealii.git/commitdiff
added more documentation
authorGuido Kanschat <dr.guido.kanschat@gmail.com>
Thu, 29 Sep 2005 12:43:49 +0000 (12:43 +0000)
committerGuido Kanschat <dr.guido.kanschat@gmail.com>
Thu, 29 Sep 2005 12:43:49 +0000 (12:43 +0000)
git-svn-id: https://svn.dealii.org/trunk@11550 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/deal.II/include/fe/fe.h

index 19040d23ed673daec0a84c7582c9af2bcd1d456e..440a9ab2ab82952357c6072808b09fc0d1bb594d 100644 (file)
@@ -224,6 +224,8 @@ template <int dim> class FECollection;
  * be performed for several space dimensions. Therefore, some
  * functions in FETools have been provided to help with these tasks.
  *
+ * <h5>Computing the correct basis from "raw" basis functions</h5>
+ *
  * First, aready the basis of the shape function space may be
  * difficult to implement for arbitrary order and dimension. On the
  * other hand, if the @ref GlossNodes "node values" are given, then
@@ -254,6 +256,45 @@ template <int dim> class FECollection;
  * #generalized_support_points and implementation of interpolate()
  * with VectorSlice argument.
  *
+ * The piece of code in the constructor of a finite element
+ * responsible for this looks like
+ * @code
+  FullMatrix<double> M(this->dofs_per_cell, this->dofs_per_cell);
+  FETools::compute_node_matrix(M, *this);
+  this->inverse_node_matrix.reinit(this->dofs_per_cell, this->dofs_per_cell);
+  this->inverse_node_matrix.invert(M);
+ * @endcode
+ * Don't forget to make sure that #unit_support_points or
+ * #generalized_support_points are initialized before this!
+ *
+ * <h5>Computing the #prolongation matrices for multigrid</h5>
+ *
+ * Once the shape functions are set up, the grid transfer matrices for
+ * Multigrid accessed by get_prolongation_matrix() can be computed
+ * automatically, using FETools::compute_embedding_matrices().
+ *
+ * This can be achieved by
+ * @code
+  for (unsigned int i=0; i<GeometryInfo<dim>::children_per_cell; ++i)
+    this->prolongation[i].reinit (this->dofs_per_cell,
+                                 this->dofs_per_cell);
+  FETools::compute_embedding_matrices (*this, &this->prolongation[0]);
+ * @endcode
+ *
+ * <h5>Computing the #restriction matrices for error estimators</h5>
+ *
+ * missing...
+ *
+ * <h5>Computing #interface_constraints</h5>
+ *
+ * Constraint matrices can be computed semi-automatically using
+ * FETools::compute_face_embedding_matrices(). This function computes
+ * the representation of the coarse mesh functions by fine mesh
+ * functions for each child of a face separately. These matrices must
+ * be convoluted into a single rectangular constraint matrix,
+ * eliminating degrees of freedom on common vertices and edges as well
+ * as on the coarse grid vertices. See the discussion above for details.
+ *
  * @author Wolfgang Bangerth, Guido Kanschat, Ralf Hartmann, 1998, 2000, 2001, 2005
  */
 template <int dim>

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.