assemble: quadrature representation vs uflacs

3 months ago by
I'm using

A = assemble(
u * v * dx,
form_compiler_parameters={'quadrature_rule': 'vertex',
'representation': 'quadrature'}

to get a diagonal-only mass matrix. This now generates the warning

*** ===================================================== ***
*** FFC: quadrature representation is deprecated! It will ***
*** likely be removed in 2018.1.0 release. Use uflacs ***
*** representation instead. ***
*** ===================================================== ***​

Simply replacing quadrature by uflacs leads to the error

/tmp/tmpr8d_d99f/ffc_form_bdf3fbee4fe9e8f4ced9697b51091e53930253ee.cpp:104:29: error: ‘FE6_C0_Q3’ was not declared in this scope
TF0[iq] = fw0 * FE6_C0_Q3[0][iq][iq];

(Compare with Any hints here?
Community: FEniCS Project

1 Answer

3 months ago by
That's right. Quadrature is deprecated and uflacs has the bug (in fact more bugs which are blocking removing of quadrature). You can remove the warning by something like

import warnings
from ffc.quadrature.deprecation import QuadratureRepresentationDeprecationWarning
warnings.simplefilter("once", QuadratureRepresentationDeprecationWarning)​

Note that quadrature will likely not be removed in 2018.1.0 because of a lack of manpower. It has already been removed from X.

Please login to add an answer/comment or follow this question.

Similar posts:
Search »