From: Wolfgang Bangerth Date: Fri, 13 Jan 2017 22:29:50 +0000 (-0700) Subject: Fix the polynomial degree the ABF element reports about itself. X-Git-Tag: v8.5.0-rc1~242^2~2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e8180bc7c6e57bd241153fd8d0fb3b16b4784eb7;p=dealii.git Fix the polynomial degree the ABF element reports about itself. As stated in the original paper (http://www-users.math.umn.edu/~arnold/papers/vecquad.pdf), section 5, and as also stated in our discussion of the PolynomialsABF element, the ABF space of order 'r' actually contains polynomials of degree 'r+2'. Report this accurately. Without this, the computation of embedding matrices fails in 3d because we integrate the least squares matrix terms with a quadrature formula of too low order. --- diff --git a/source/fe/fe_abf.cc b/source/fe/fe_abf.cc index 843310367d..1598d99317 100644 --- a/source/fe/fe_abf.cc +++ b/source/fe/fe_abf.cc @@ -45,7 +45,9 @@ FE_ABF::FE_ABF (const unsigned int deg) FE_PolyTensor, dim> ( deg, FiniteElementData(get_dpo_vector(deg), - dim, deg+1, FiniteElementData::Hdiv), + dim, + deg+2, + FiniteElementData::Hdiv), std::vector(PolynomialsABF::compute_n_pols(deg), true), std::vector(PolynomialsABF::compute_n_pols(deg), std::vector(dim,true))),