,
where the figure was produced from and FE_System having 2 FE's of the Type dealii::FE_DGQArbitraryNodes<dim>(*fe_quad)
along with a Q-Gauss(2) quadrature and writing out the sparsity pattern;
but, whenever I use Q-GaussLobatto(2),
or (even harder to understand) a user defined quadrature having at least the q-points 0 and 1,
I'll get a sparsity pattern with missing entries:
.
Please note that I'm using a coupling table with dealii::DoFTools::nonzero and dealii::DoFTools::always.
Also note: It looks like that DGQ in a FESystem only couples the dof of the first vector component and not all vector components
(which is barely necessary for elasticity).
A test code can be found on:
https://bitbucket.org/dtmproject/unittest-003
This code is not minimal, but minimized to find out what may goes wrong.
Notes on my current studies:
If a quadrature (having 0 and 1 in the set of q-points), the code
dealii::FE_DGQArbitraryNodes<dim>(*fe_quad)
even if the local polynomial degree is higher than 2
and may lead to the problem.
Further notes to the developers: (from my understanding of the former releases)
- when I remember correctly, this issue does not occur with v8.5.1 and/or v8.4.x
- the FE_DGQ( QGaussLobatto(4) ) should produce (slightly) different basis functions compared to
the FE_DGQ(3) (having equidistantly spaced local dofs including "face" dof)
- I'm not sure how long the performance switch of DGQ_Arbitrary -> standard DGQ is inside the library
Next week I will have the opportunity to study the problem deeper in the library
(i.e. testing it with the developer version, and older versions,
maybe finding the problem and implementing a patch and test suite programs)
Kind regards
Uwe