← Back to team overview

ffc team mailing list archive

Re: Quadrature order

 



Kristian Oelgaard wrote:
Quoting "Garth N. Wells" <gnw20@xxxxxxxxx>:

I just tested the new FFC generated code (with quadrature) from the UFL
input for Poisson. From the input code

     element = FiniteElement("Lagrange", "triangle", 1)
     v = TestFunction(element)
     u = TrialFunction(element)
     f = Function(element)

     a = dot(grad(v), grad(u))*dx(0, {"quadrature_order":1})
     L = v*f*dx(0, {"quadrature_order":2})

I computed exactly the same solution as with the FFC .form code, but with

     element = FiniteElement("Lagrange", "triangle", 1)
     v = TestFunction(element)
     u = TrialFunction(element)
     f = Function(element)

     a = dot(grad(v), grad(u))*dx
     L = v*f*dx

I see differences. How is the order of integration being selected?

As far as I remember the UFL algorithm currently just looks at order of the
basis functions:


So it only looks at the test and trial functions, and not the other functions? And it doesn't take into account derivatives?

What, if anything, specific will UFL provide to the compiler to help decide on the integration order?

Garth


a: 1*1 = 2
L: 1   = 1

So the difference is expected.

Kristian


Garth
_______________________________________________
FFC-dev mailing list
FFC-dev@xxxxxxxxxx
http://www.fenics.org/mailman/listinfo/ffc-dev







Follow ups

References