Add a GeometryType cache for lagrange local finite elements
Summary
Some cache implementations to allow the construction of local finite-elements on grids with variable GeometryType
. The implementation follows the generic LocalFiniteElementVariantCache
interface and provides a FiniteElement const& get(Geometry type)
method, as well as a typedef FiniteElement
. Three (two new) implementations are provided: DynamicLagrangeLocalFiniteElementCache
, StaticLagrangeLocalFiniteElementCache
and a FixedGeometryTypeLagrangeFiniteElementCache
. The latter additionally makes use of the fact that the grid might have only single geometry types, and thus returns only the corresponding Lagrange local finite-element but fulfills the same interface as the other two caches. The static cache was already implemented in the lagrangelfecache.hh
and is included for completeness here, with an alias to distinguish it from the dynamic-order case.
Merge request reports
Activity
added 1 commit
- 67267306 - Add a GeometryType cache for lagrange local finite elements
added 1 commit
- bdefffe4 - Add a GeometryType cache for lagrange local finite elements
added 1 commit
- 472bd117 - Add a GeometryType cache for lagrange local finite elements
mentioned in merge request staging/dune-functions!248
- Resolved by Simon Praetorius
A few comments:
- For consistency (and to make the name easier to grasp ;-) ) we may want to add
...Static...
somewhere in the middle ofFixedGeometryTypeLagrangeFiniteElementCache
. - It seems to be inconsistent that
FixedGeometryTypeLagrangeFiniteElementCache
supports the use of aVertexMap
in contrast to the others, this is also completely undocumented. - IMO it's strange that
FixedGeometryTypeLagrangeFiniteElementCache
stores a single LFE for a single fixedVertexMap
where the latter is a property of the cache. I would rather expect that such a cache stores one LFE perVertexMap
where the latter is part of the key. At least this is what I would consider such a cache to be useful for.
- For consistency (and to make the name easier to grasp ;-) ) we may want to add
added 1 commit
- d3d34c12 - Specialize the StaticLagrangeLocalFiniteElementCache on the topology ID
mentioned in commit 65180e7c