From 23df68064dd73f4151f6059af3890e58014ce562 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Mon, 16 Aug 2021 17:53:09 -0600 Subject: [PATCH] Update documentation of FE_Q constructor. --- include/deal.II/fe/fe_q.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/include/deal.II/fe/fe_q.h b/include/deal.II/fe/fe_q.h index b77dcef2f6..f451b7df8d 100644 --- a/include/deal.II/fe/fe_q.h +++ b/include/deal.II/fe/fe_q.h @@ -559,11 +559,16 @@ public: * Constructor for tensor product polynomials with support points @p points * based on a one-dimensional quadrature formula. The degree of the finite * element is points.size()-1. Note that the first point has to be - * 0 and the last one 1. Constructing + * 0 and the last one 1, to ensure that the resulting element is continuous. + * As a consequence, only *certain* quadrature formulas make sense as + * argument to this constructor. Specifically, constructing * FE_Q(QGaussLobatto<1>(fe_degree+1)) is equivalent to the * constructor that specifies the polynomial degree only. For selecting - * equidistant nodes at fe_degree > 2, construct - * FE_Q(QIterated<1>(QTrapezoid<1>(),fe_degree)). + * equidistant nodes at fe_degree > 2, use + * FE_Q(QIterated<1>(QTrapezoid<1>(),fe_degree)), though the + * use of equidistant node points is known to lead to poorly conditioned + * linear systems with poor interpolation properties for high polynomial + * degrees (which is why the default uses the QGaussLobatto points). * * The *space* created by this constructor is the * same as if you had called `FE_Q(points.size()-1)`, but what *is* -- 2.39.5