From: bangerth Date: Tue, 28 Jun 2011 03:37:38 +0000 (+0000) Subject: Augment documentation. Add a guarantee about the first shape function that is also... X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3d7bd3dde11cfed4e6d3260839d23f4ec1febd4c;p=dealii-svn.git Augment documentation. Add a guarantee about the first shape function that is also tested in the new fe/dgp_01 testcase. git-svn-id: https://svn.dealii.org/trunk@23874 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/include/deal.II/fe/fe_dgp.h b/deal.II/include/deal.II/fe/fe_dgp.h index a04fe743f0..d4e86d73ea 100644 --- a/deal.II/include/deal.II/fe/fe_dgp.h +++ b/deal.II/include/deal.II/fe/fe_dgp.h @@ -34,8 +34,11 @@ template class MappingQ; * DGP space has only three unknowns for each quadrilateral, it is * immediately clear that this element can not be continuous. * - * The basis functions for this element are chosen to form a Legendre - * basis on the unit square. Thus, the mass matrix is diagonal, if the + * The basis functions used in this element for the space described above + * are chosen to form a Legendre basis on the unit square. As a consequence, + * the first basis function of this element is always the function that + * is constant and equal to one. As a result of the orthogonality of + * the basis functions, the mass matrix is diagonal if the * grid cells are parallelograms. Note that this is in contrast to the * FE_DGPMonomial class that actually uses the monomial basis listed * above as basis functions. @@ -43,10 +46,25 @@ template class MappingQ; * The shape functions are defined in the class PolynomialSpace. The * polynomials used inside PolynomialSpace are Polynomials::Legendre * up to degree p given in FE_DGP. For the ordering of the - * basis functions, refer to PolynomialSpace, remebering that the + * basis functions, refer to PolynomialSpace, remembering that the * Legendre polynomials are ordered by ascending degree. * - * This class if partially implemented for the codimension one case + * @note This element is not defined by finding shape functions within + * the given function space that interpolate a particular set of points. + * Consequently, there are no support points to which a given function + * could be interpolated; finding a finite element function that approximates + * a given function is therefore only possible through projection, rather + * than interpolation. Secondly, the shape functions of this element do not + * jointly add up to one. As a consequence of this, adding or subtracting + * a constant value -- such as one would do to make a function have mean + * value zero -- can not be done by simply subtracting the constant value + * from each degree of freedom. Rather, one needs to use the fact that the + * first basis function is constant equal to one and simply subtract the + * constant from the value of the degree of freedom corresponding to this + * first shape function on each cell. + * + * + * @note This class is only partially implemented for the codimension one case * (spacedim != dim ), since no passage of information * between meshes of different refinement level is possible because * the embedding and projection matrices are not computed in the class