From: Martin Kronbichler Date: Wed, 15 Jun 2022 17:08:16 +0000 (+0200) Subject: Fix documentation of FE_RaviartThomas X-Git-Tag: v9.4.0-rc1~11^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F13981%2Fhead;p=dealii.git Fix documentation of FE_RaviartThomas --- diff --git a/include/deal.II/fe/fe_raviart_thomas.h b/include/deal.II/fe/fe_raviart_thomas.h index 11ce2ad37f..0751b0e2d1 100644 --- a/include/deal.II/fe/fe_raviart_thomas.h +++ b/include/deal.II/fe/fe_raviart_thomas.h @@ -301,43 +301,34 @@ private: /** * The Raviart-Thomas elements with node functionals defined as point values - * in Gauss points. + * in Gauss-Lobatto points. * *

Description of node values

* * For this Raviart-Thomas element, the node values are not cell and face - * moments with respect to certain polynomials, but the values in quadrature + * moments with respect to certain polynomials, but the values at quadrature * points. Following the general scheme for numbering degrees of freedom, the * node values on faces (edges in 2D, quads in 3D) are first, face by face, * according to the natural ordering of the faces of a cell. The interior * degrees of freedom are last. * * For an RT-element of degree k, we choose (k+1)d-1 - * Gauss points on each face. These points are ordered lexicographically with - * respect to the orientation of the face. This way, the normal component - * which is in Qk, is uniquely determined. Furthermore, - * since this Gauss-formula is exact for polynomials of degree 2k+1, - * these node values correspond to the exact integration of the moments of the - * RT-space. + * Gauss-Lobatto points on each face, as defined by QGaussLobatto. For degree + * $k=0$, the midpoint is chosen. These points are ordered lexicographically + * with respect to the orientation of the face. This way, the normal component + * which is in Qk, is uniquely determined. * * These face polynomials are extended into the interior by the means of a * QGaussLobatto formula for the normal direction. In other words, the * polynomials are the tensor product of Lagrange polynomials on the points of - * a QGaussLobatto formula in the normal direction with Lagrange polynomials - * on the points of a QGauss quadrature formula. + * a QGaussLobatto formula with $(k+2)$ points in the normal direction with + * Lagrange polynomials on the points of a QGaussLobatto quadrature formula + * with $(k+1)$ points. * * @note The degree stored in the member variable * FiniteElementData::degree is higher by one than the constructor * argument! */ - -namespace internal -{ - template - std::vector - get_lexicographic_numbering_rt_nodal(const unsigned int degree); -} // namespace internal - template class FE_RaviartThomasNodal : public FE_PolyTensor { @@ -430,6 +421,17 @@ private: }; +namespace internal +{ + /** + * Compute the lexicographic to hierarchic numbering underlying the + * FE_RaviartThomasNodal class. + */ + template + std::vector + get_lexicographic_numbering_rt_nodal(const unsigned int degree); +} // namespace internal + /*@}*/ /* -------------- declaration of explicit specializations ------------- */