]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Fix the polynomial degree the ABF element reports about itself.
authorWolfgang Bangerth <bangerth@colostate.edu>
Fri, 13 Jan 2017 22:29:50 +0000 (15:29 -0700)
committerWolfgang Bangerth <bangerth@colostate.edu>
Fri, 13 Jan 2017 22:29:50 +0000 (15:29 -0700)
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.

source/fe/fe_abf.cc

index 843310367dfaf8ef1e0dcaf2208bad0df8d02bfb..1598d99317389cb2991925f3e7382186e929ee1c 100644 (file)
@@ -45,7 +45,9 @@ FE_ABF<dim>::FE_ABF (const unsigned int deg)
   FE_PolyTensor<PolynomialsABF<dim>, dim> (
     deg,
     FiniteElementData<dim>(get_dpo_vector(deg),
-                           dim, deg+1, FiniteElementData<dim>::Hdiv),
+                           dim,
+                           deg+2,
+                           FiniteElementData<dim>::Hdiv),
     std::vector<bool>(PolynomialsABF<dim>::compute_n_pols(deg), true),
     std::vector<ComponentMask>(PolynomialsABF<dim>::compute_n_pols(deg),
                                std::vector<bool>(dim,true))),

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.