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
