← Back to team overview

ufl team mailing list archive

Re: [Fenics] systematic names option for elements based on FEEC

 

On Wed, Sep 29, 2010 at 08:31:51PM -0500, Douglas Arnold wrote:
> FEniCS/UFL uses historical element names, like Raviart-Thomas,
> Nedelec 1st kind H(div), etc.  These have to be learned, although
> this is fortunately ameliorated somewhat by having some
> synonyms, like N1curl.  It can also cause confusion sometimes,
> as the names are not always used consistently in the literature
> (and I think that "Discontinuous Lagrange" is a contradiction
> in terms).
>
> However there is a systematic, consistent way to refer to
> the majority of elements available, so I am making the
> suggesting that this systematic form be added as
> an additional option.  The systematic way is what is
> used in the Finite Element Exterior Calculus, namely the
> two families, which are in denoted in LaTeX by
> $P_r\Lambda^k$ and $P_r^-\Lambda^k$, defined for
> polynomial degree r=1,2,... and form degree k between
> 0 and n on simplices of dimension n.  Thus I am suggesting
> adding something like
>
>   V = FunctionSpace(mesh, "P Lambda", r, k)
> and
>   V = FunctionSpace(mesh, "P- Lambda", r, k)
>
> The translation to current names is:
>
>   {"P Lambda", r, 0} and {"P- Lambda", r, 0} coincide and
>      are equal to {"Lagrange", r}
>   {"P Lambda", r, n} is the same as {"Discontinuous Lagrange", r}
>   {"P- Lambda", r, n} is the same as {"Discontinuous Lagrange", r-1}
>   {"P- Lambda", r, 1} is {"Nedelec 1st kind H(curl)", r}
>   {"P Lambda", r, 1} is {"Nedelec 2nd kind H(curl)", r}
>   {"P- Lambda", r, n-1} is {"Nedelec 1st kind H(div)", r}
>   {"P Lambda", r, n-1} is {"Nedelec 2nd kind H(div)", r}

Sounds good to me.

> I want to stress that there is nothing arbitrary about this.
> The whole family of P Lambda and P- Lambda spaces can be
> defined at once for all r, k, n.  This even works for n=1
> and n>3 (although the latter are not yet implemented in
> FEniCS).

(They are, but only in the experimental Exterior package.)

> There is a small issue in 2D where n-1 = 1, so the last
> two cases conflict with the preceding two.  This is the
> choice between the rotated Raviart-Thomas or Brezzi-Douglas-Marini
> elements or the usual ones in 2D.  I would suggest always
> thinking of 1-forms as the images of gradients, and hence
> 1-forms always correspond to H(curl), also in 2D.
>
> What do you all think?
>
>   -- Doug
>
> P.S. On Marie's suggestion, I am posting this both to
> the UFL and the FEniCS mailing lists.

I have added a blueprint for this:

https://blueprints.launchpad.net/ufl/+spec/exterior-calculus-names/

And assigned it to the appropriate person ;-)

--
Anders



Follow ups