← Back to team overview

ufl team mailing list archive

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

 

On Thu, Oct 07, 2010 at 11:03:34AM +0200, Marie Rognes wrote:
> On 01. okt. 2010 15:54, Anders Logg wrote:
> > 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 ;-)
> >
>
>
> The assignee will fix after we actually support (P Lambda, q, 3, 1)

Very good. :-)

--
Anders



References