Subject: [UFL-dev] quadrature representation

From: Kristian Oelgaard <[email-masked]>
Date: Wed, 20 Aug 2008 09:31:08 +0200

Hi,

Just a quick question:

Do you plan on including quadrature code generation in UFL?

Kristian

---

From: "Martin Sandve Alnæs" <[email-masked]>
Date: Wed, 20 Aug 2008 10:07:36 +0200

> Do you plan on including quadrature code generation in UFL?

More or less all my uses for UFL will be with quadrature.
Although UFL doesn't care about how you integrate,
this should be possible:

e = FiniteElement("Quadrature", triangle)
f = Function(e)

I'm also considering

e = FiniteElement("Boundary Quadrature", triangle)
f = Function(e)

for functions that need to be evaluated on the boundary.

Maybe quadrature order could be specified in FiniteElement?

e = FiniteElement("Boundary Quadrature", triangle, 4)

The default can be up to the form compiler, and the
form compiler is free to override anyway.
But we shouldn't allow this of course:

e1 = FiniteElement("Quadrature", triangle, 2)
e2 = FiniteElement("Quadrature", triangle, 4)
f1 = Functino(e1)
f2 = Functino(e2)
a = f1*f2*dx

Anything you want to add?

--
Martin

---

From: Kristian Oelgaard <[email-masked]>
Date: Wed, 20 Aug 2008 10:44:46 +0200

> e2 = FiniteElement("Quadrature", triangle, 4)

This is close to the syntax we have in FFC now:

e1 = QuadratureElement(triangle, 2)
e2 = QuadratureElement(triangle, 4)

so it looks fine by me.

But this was not what I meant. I'm talking about the
output that UFL will generate in the tabulate_tensor() function. In FFC we have
tensor representation and quadrature representation. Will we also have both in
UFL?

Kristian

---

From: Anders Logg <[email-masked]>
Date: Wed, 20 Aug 2008 10:48:21 +0200

> tensor representation and quadrature representation. Will we also have both in

UFL will not care about this. FFC will take an UFL object as input and
then from that generate either quadrature or tensor code. We will need
to add a predicate is_multilinear to UFL that checks whether or not
the form is multilinear (in which case tensor representation is
possible).

-- 
Anders

---

From: Kristian Oelgaard <[email-masked]>
Date: Wed, 20 Aug 2008 10:54:13 +0200

> the form is multilinear (in which case tensor representation is

OK, I forgot for a second that UFL is only concerned with the interface to the
form compilers.

Kristian

---

From: "Martin Sandve Alnæs" <[email-masked]>
Date: Wed, 20 Aug 2008 10:54:13 +0200

> tensor representation and quadrature representation. Will we also have both in

UFL isn't a form compiler. However, I have some algorithms written and
some planned that will aid in the implementation of our form compilers.

FFC must make its tensor representation based on the UFL input,
and combine that with elements from FIAT in some way.
SFC will get its basis functions from SyFi and do its thing.
I will update SFC to use UFL, somebody else must update FFC
when the time comes.

--
Martin