Subject: [Ufl] quadrature rule and QuadratureElement

From: Kristian Ølgaard <[email-masked]>
Date: Sat, 23 Apr 2011 12:18:04 +0200

Garth implemented quadrature schemes for simplices so now one can do:

ffc -q canonical Foo.ufl
and
ffc -q default Foo.ufl

'canonical' is what we had before and 'default' (the current default)
is the new rule Garth hard coded.

Now for the question.
The QuadratureElement obviously needs this extra information in
addition to the 'degree' parameter.

Currently, we do:
element = FiniteElement("Q", triangle, 2)
in UFL.

The question is if the rule info should be added to the argument list
with a default value of None, which will allow compilers
to choose the rule depending on the command line argument '-q rule'
(or integral metadata).
If the rule is specified when defining the element, then this rule
should take precedence over integral metadata and command line
arguments.

The other approach is to pass the options dictionary to the
ffc.fiatinterface.create_element() function such that the quadrature
rule can be determined when creating a QuadratureElement. Then UFL
will not need to worry about quadrature rules.

Opinions?

Kristian