3#ifndef DUNE_PQ22DLOCALFINITEELEMENT_HH
4#define DUNE_PQ22DLOCALFINITEELEMENT_HH
6#include <dune/common/fmatrix.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 > )
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 >,
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();
60 GeometryType type ()
const
62 return lfeVariant_.type();
67 LFEVariant lfeVariant_;
typename Dune::LocalFiniteElementTraits< LocalBasis, LocalCoefficients, LocalInterpolation > Traits
Export LocalFiniteElementTraits.
Definition: localfiniteelementvariant.hh:267