From: Guido Kanschat Date: Mon, 17 Oct 2005 05:03:11 +0000 (+0000) Subject: update doc X-Git-Tag: v8.0.0~13000 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c50229d35c70ebc2f0fbfad187649622bac57db4;p=dealii.git update doc git-svn-id: https://svn.dealii.org/trunk@11603 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/include/fe/fe_raviart_thomas.h b/deal.II/deal.II/include/fe/fe_raviart_thomas.h index bfb805ff94..9adc531bd2 100644 --- a/deal.II/deal.II/include/fe/fe_raviart_thomas.h +++ b/deal.II/deal.II/include/fe/fe_raviart_thomas.h @@ -27,67 +27,58 @@ template class MappingQ; /*@{*/ /** - * Implementation of continuous Raviart-Thomas elements for the space - * H_div. Note, however, that continuity only concerns the normal - * component of the vector field. + * Implementation of Raviart-Thomas (RT) elements, conforming with the + * space Hdiv. These elements generate vector fields with + * normel components continuous between mesh cells. * - * The constructor of this class takes the degree @p p of this finite - * element. The numbering of the degree of this element in the - * literature is somewhat funny: the degree is defined not as the - * polynomial degree of the finite element space, but as that of the - * normal component of the traces onto the boundary. Thus, the lowest - * order, zero, has linear shape functions, but on the faces, the - * traces of the normal component of these elements is constant on - * each face. + * We follow the usual definition of the degree of RT elements, which + * denotes the polynomial degree of the largest complete polynomial + * subspace contained in the RT space. Then, approciamtion order of + * the function itself is degree+1, as with usual polynomial + * spaces. * - * - *

Interpolation to finer and coarser meshes

+ *

Interpolation

* - * Each finite element class in deal.II provides matrices that are - * used to interpolate from coarser to finer meshes and the other way - * round. Interpolation from a mother cell to its children is usually - * trivial, since finite element spaces are normally nested and this - * kind of interpolation is therefore exact. On the other hand, when - * we interpolate from child cells to the mother cell, we usually have - * to throw away some information. + * The @ref GlossInterpolation "interpolation" operators associated + * with the RT element are constructed such that interpolation and + * computing the divergence are commuting operations. We require this + * from interpolating arbitrary functions as well as the #restriction + * matrices. It can be achieved by two interpolation schemes, the + * simplified one in FE_RaviartThomasNodal and the original one here: * - * For continuous elements, this transfer usually happens by - * interpolating the values on the child cells at the support points - * of the shape functions of the mother cell. However, for - * discontinuous elements, we often use a projection from the child - * cells to the mother cell. The projection approach is only possible - * for discontinuous elements, since it cannot be guaranteed that the - * values of the projected functions on one cell and its neighbor - * match. In this case, only an interpolation can be - * used. (Internally, whether the values of a shape function are - * interpolated or projected, or better: whether the matrices the - * finite element provides are to be treated with the properties of a - * projection or of an interpolation, is controlled by the - * @p restriction_is_additive flag. See there for more information.) + *

Node values on edges/faces

* - * Here, things are not so simple: since the element has some - * continuity requirements across faces, we can only resort to some - * kind of interpolation. On the other hand, for the lowest order - * elements, the values of generating functionals are the (constant) - * tangential values of the shape functions. We would therefore really - * like to take the mean value of the normal values of the child - * faces, and make this the value of the mother face. Then, however, - * taking a mean value of two piecewise constant function is not an - * interpolation, but a restriction. Since this is not possible, we - * cannot use this. + * On edges or faces, the @GlossNodes "node values" are the moments of + * the normal component of the interpolated function with respect to + * the traces of the RT polynomials. Since the normal trace of the RT + * space of degree k on an edge/face is the space + * Qk, the moments are taken with respect to this + * space. * - * To make a long story somewhat shorter, when interpolating from - * refined edges to a coarse one, we do not take the mean value, but - * pick only one (the one from the first child edge). While this is - * not optimal, it is certainly a valid choice (using an interpolation - * point that is not in the middle of the cell, but shifted to one - * side), and it also preserves the order of the interpolation. - * + *

Interior node values

+ * + * Higher order RT spaces have interior nodes. These are moments taken + * with respect to the gradient of functions in Qk + * on the cell (this space is the matching space for RTk in + * a mixed formulation). * + *

Generalized support points

+ * + * The node values above rely on integrals, which will be computed by + * quadrature rules themselves. The generalized support points are a + * set of points such that this quadrature can be performed with + * sufficient accuracy. The points needed are thode of + * QGaussk+1 on each face as well as QGaussk in + * the interior of the cell (or none for RT0). + * + * @internal *

Numbering of the degrees of freedom (DoFs)

* - * Raviart-Thomas elements have their degrees of freedom on edges, with shape - * functions being vector valued and pointing in normal + * This paragraph is obsolete and will be removed after reconstruction + * of the element is complete. + * + * Raviart-Thomas elements have their degrees of freedom on edges, + * with shape functions being vector valued and pointing in normal * direction. We use the standard enumeration and direction of edges * in deal.II, yielding the following shape functions in 2d: *