3#ifndef DUNE_PQ22DLOCALFINITEELEMENT_HH
4#define DUNE_PQ22DLOCALFINITEELEMENT_HH
8#include <dune/localfunctions/common/localfiniteelementvariant.hh>
10#include <dune/localfunctions/lagrange/lagrangesimplex.hh>
11#include <dune/localfunctions/lagrange/lagrangecube.hh>
15 template<
class D,
class R>
16 class PQ22DLocalFiniteElement
18 using LFEVariant = LocalFiniteElementVariant<LagrangeSimplexLocalFiniteElement<D,R,2,2>,
19 LagrangeCubeLocalFiniteElement<D,R,2,2> >;
23 PQ22DLocalFiniteElement (
const GeometryType &
gt )
25 if (
gt.isTriangle() )
26 lfeVariant_ = LagrangeSimplexLocalFiniteElement<D,R,2,2>();
27 else if (
gt.isQuadrilateral() )
28 lfeVariant_ = LagrangeCubeLocalFiniteElement<D,R,2,2>();
31 PQ22DLocalFiniteElement (
const GeometryType &
gt,
const std::vector<unsigned int> vertexmap )
33 if (
gt.isTriangle() )
34 lfeVariant_ = LagrangeSimplexLocalFiniteElement<D,R,2,2>(vertexmap);
35 else if (
gt.isQuadrilateral() )
36 lfeVariant_ = LagrangeCubeLocalFiniteElement<D,R,2,2>();
39 const typename Traits::LocalBasisType& localBasis ()
const
41 return lfeVariant_.localBasis();
44 const typename Traits::LocalCoefficientsType& localCoefficients ()
const
46 return lfeVariant_.localCoefficients();
49 const typename Traits::LocalInterpolationType& localInterpolation ()
const
51 return lfeVariant_.localInterpolation();
55 unsigned int size ()
const
57 return lfeVariant_.size();
62 return lfeVariant_.type();
67 LFEVariant lfeVariant_;
typename Dune::LocalFiniteElementTraits< LocalBasis, LocalCoefficients, LocalInterpolation > Traits
Export LocalFiniteElementTraits.
Definition: localfiniteelementvariant.hh:267
GeometryType
Type representing VTK's entity geometry types.
Definition: common.hh:130
Implements a matrix constructed from a given type representing a field and compile-time given number ...
bool gt(const T &first, const T &second, typename EpsilonType< T >::Type epsilon)
test if first greater than second
Definition: float_cmp.cc:156
Dune namespace.
Definition: alignedallocator.hh:11