FEniCS / basix

FEniCSx finite element basis evaluation library
https://fenicsproject.org
MIT License
82 stars 32 forks source link

Add all elements used in FEniCSx tests #78

Closed mscroggs closed 2 years ago

mscroggs commented 3 years ago

Used in dolfinx tests:

Used in ffc demos:

Missing spaces that probably need to be dealt with in FFCx, not in Basix:

mscroggs commented 3 years ago

Many (but not all) of these are already included in #3

chrisrichardson commented 3 years ago

Can we add Bubble see issue #71 - I believe this occurs in a tutorial/demo for mini elements.

jomoulin commented 3 years ago

Hello all,

I am just starting off with fenicsx and would be interested in using the "Real" element to implement a 1dof Lagrange multiplier. From the info I could gather on the web, the "Real" element is handled in "legacy" fenics but not yet in fenicsx. Am I wrong ? Does somenone know if there is any work planned or already in motion towards making the "Real" element work with fenicsx ?

Subsidiary question: is it a complex dev or could a fenics newbie handle it, with reasonable guidance ?

Thanks ;)

mscroggs commented 3 years ago

@jomoulin. Hello. You are correct: Real elements are suppored in "legacy" FEniCS, but not in FEniCSx yet. They're probably not much work to get working in FEniCSx: I'll take a look in the next week or so and see what I can do

garth-wells commented 3 years ago

'Real' elements aren't really finite elements, so it's very unlikely that Basix is the right place for them. More likely is handling at FFCx level.

jomoulin commented 3 years ago

'Real' elements aren't really finite elements, so it's very unlikely that Basix is the right place for them. More likely is handling at FFCx level.

Agreed ! I had a quick look to the FFCx sources this morning and I suppose adding the "Real element" would be done roughly similarly to the way the QuadratureElement is handled (see https://github.com/FEniCS/ffcx/blob/14477153c9c48422f272fb41242f5fc50b8792fb/ffcx/element_interface.py#L23), i.e. by creating a new RealElement class. However, then I have no idea how/where this new element would interact with the rest of the ffcx (or even dolfinx) code ...

Anyway, should I open some thread on the FFCx repo or do we keep the discussion here ?

michalhabera commented 3 years ago

@jomoulin We have this issue in dolfinx, https://github.com/FEniCS/dolfinx/issues/225, which essentially says there is no Real element, feel free to discuss there (I should rename it).

garth-wells commented 2 years ago

See https://github.com/FEniCS/ffcx/pull/451 on 'Real' elements.

mscroggs commented 2 years ago

The remaining elements in this issue are issues in FFCx:

so I'm closing this