Hi Phil,

My colleague Colin Cotter and I, and our PhD student Andrew McRae (who,
naturally, is doing the hard work) have been working on part of this
problem recently. Specifically we have been looking at enabling the
formation of tensor product elements. For example, taking a product of two
finite elements on a line to get a quad element, or taking the product of a
finite element on a triangle with one on a line to produce a wedge element.
Quite a lot of finite elements on quads, wedges and hexahedra can be
generated in this way, including all the Lagrange elements and examples
such as the RT family. I am less sure about examples such as
the serendipity elements.

At this stage Andrew has draft FIAT code for the scalar valued case, and we
are working on what would need to happen in UFL so we can start breaking
FFC ;). We also need to start a discussion about the right way to specify
vector-valued tensor product elements, and plan to write whatever the new
equivalent of a blueprint is on that soon - we aspire to merge these
changes back into trunk once they work so we are keen to engage with the
whole FEniCS community to maximise the chance of us doing something that
everyone finds acceptable.

An important caveat here is that we're not currently looking at any changes
which may be required in Dolfin for this material, since we are primarily
motivated by getting extruded meshes working, for which we need to use the
PyOP2 backend support for this which is being written by Doru Bercea,
another of my PhD students.

Another aspect of this is that many quad and hex meshes will have
non-affine changes of coordinates, which are also not currently supported
by FEniCS. A masters project student, Romain Brault, who is working with me
this summer is attacking the non-affine element problem for FEniCS. He has
a submission deadline in September so we hope to have something usable
(and, mergable) by then.

These are all part solutions to the general quad element problem, and
they're just what we're working on. We're definitely keen to play ball with
you or anyone else in the FEniCS community who has ideas in this direction.

Regards,

David



On 7 June 2013 17:22, Phil Weir <[email protected]> wrote:

> Having noticed this being a reasonably frequent question from an
> application perspective,
> coming up from time to time over the past few years, I have been playing
> around to get an
> idea of what needs to be done to implement quadrilaterals in the FEniCS
> toolchain. As I
> understand it, UFL has the framework for using them, but most
> alterations would be in FIAT
> and a smaller number in FFC. While I think I have a fairly rough idea of
> what else needs to
> be done, as an applied mathematician / engineer I would appreciate any
> input from
> theoreticians familiar with FIAT on the best way to go about this.
>
> Also, if anybody else has been looking at this and would be willing to
> compare notes,
> (or just give me a heads up that they are about to submit a
> comprehensive patch and
> save me some work!), I'd be keen to hear.
>
> As this will have to take back seat to my other work, it may not be any
> time soon, so
> if you are thinking of hammering it out as a project yourself, go right
> ahead - I'll just
> look forward to playing with the final product.
>
> Best wishes,
> PTW
> _______________________________________________
> fenics mailing list
> [email protected]
> http://fenicsproject.org/mailman/listinfo/fenics
>



-- 
Dr David Ham
Department of Computing
Imperial College London

http://www.imperial.ac.uk/people/david.ham
_______________________________________________
fenics mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics

Reply via email to