A pre-basis mixin class parametrized with a local finite-element and a DOF layout.
More...
|
template<class LFE_ = LFE, std::enable_if_t< std::is_default_constructible_v< LFE_ >, int > = 0> |
| LFEPreBasisMixin (const GridView &gv, MCMGLayout layout) |
| Constructor for a given grid view object and layout.
|
|
template<class LFE_ > |
| LFEPreBasisMixin (const GridView &gv, LFE_ &&lfe, MCMGLayout layout) |
| Constructor for a given grid view object, local finite-element and layout.
|
|
Node | makeNode () const |
| Create tree node.
|
|
void | initializeIndices () |
| Initialize the global index information.
|
|
const GridView & | gridView () const |
| Export the stored GridView.
|
|
void | update (const GridView &gv) |
| Update the stored GridView.
|
|
size_type | dimension () const |
| Return total number of basis functions.
|
|
size_type | maxNodeSize () const |
| Return maximal number of basis functions per element.
|
|
template<class Node , class It > |
It | indices (const Node &node, It it) const |
| Fill cache with global indices of DOFs associated to the given bound node.
|
|
size_type | size (const SizePrefix &prefix) const |
| Return number of possible values for next position in multi index.
|
|
size_type | size () const |
| Get the total dimension of the space spanned by this basis.
|
|
auto | containerDescriptor () const |
| Return a flat container-descriptor.
|
|
template<class GV, class LFE>
class Dune::Functions::LFEPreBasisMixin< GV, LFE >
A pre-basis mixin class parametrized with a local finite-element and a DOF layout.
This mixin class allows for simple construction of leaf pre-bases that are based on a local finite-element and a DOF layout only. Examples are the refined Lagrange pre-bases, or a hierarchical Lagrange pre-basis. Note that the layout is currently not capable of describing a reordering of local DOFs if there are multiple assigned to a grid entity. Thus higher-order continuous finite-elements are currently not possible to describe by this mixin class. Note also that this mixin fixes the local finite-element type and thus cannot handle mixed GeometryTypes.
Example
template <class GV, class R = double>
class RefinedP0PreBasis :
public LFEPreBasisMixin<GV, RefinedP0LocalFiniteElement<typename GV::ctype,R,GV::dimension>>
{
using LFE = RefinedP0LocalFiniteElement<typename GV::ctype,R,GV::dimension>;
static const int dim = GV::dimension;
public:
RefinedP0PreBasis (const GV& gv) :
Base(gv, [](GeometryType gt, int) {
return (gt.dim()==dim) ? (1<<dim) : 0; })
{}
};
A generic MixIn class for PreBasis with flat indices computed from a mapper.
Definition leafprebasismappermixin.hh:62
A pre-basis mixin class parametrized with a local finite-element and a DOF layout.
Definition lfeprebasismixin.hh:57
- Template Parameters
-
GV | The grid view that the FE basis is defined on |
LFE | The local finite-element type |
template<class GV , class LFE >
template<class LFE_ = LFE, std::enable_if_t< std::is_default_constructible_v< LFE_ >, int > = 0>
Constructor for a given grid view object and layout.
Requires that the local-finite element is default constructible.