5#ifndef DUNE_PK1DLOCALFINITEELEMENT_HH
6#define DUNE_PK1DLOCALFINITEELEMENT_HH
10#include <dune/geometry/type.hh>
12#include <dune/localfunctions/common/localfiniteelementtraits.hh>
13#include <dune/localfunctions/common/localtoglobaladaptors.hh>
14#include <dune/localfunctions/lagrange/lagrangesimplex.hh>
28 template<
class Geometry,
class RF, std::
size_t k>
30 typedef typename Geometry::ctype DF;
31 typedef Impl::LagrangeSimplexLocalBasis<DF,RF,1,k> LocalBasis;
32 typedef Impl::LagrangeSimplexLocalInterpolation<LocalBasis> LocalInterpolation;
42 typename Basis::Traits
44 typedef Impl::LagrangeSimplexLocalCoefficients<1,k> Coefficients;
48 static const GeometryType gt;
49 static const LocalBasis localBasis;
50 static const LocalInterpolation localInterpolation;
54 typename Traits::Coefficients coefficients_;
71 template<
class VertexOrder>
73 const VertexOrder& vertexOrder) :
74 basis_(localBasis, geometry), interpolation_(localInterpolation),
75 coefficients_(vertexOrder.begin(0, 0))
78 const typename Traits::Basis& basis()
const {
return basis_; }
79 const typename Traits::Interpolation& interpolation()
const
80 {
return interpolation_; }
81 const typename Traits::Coefficients& coefficients()
const
82 {
return coefficients_; }
83 const GeometryType &type()
const {
return gt; }
86 template<
class Geometry,
class RF, std::
size_t k>
88 Pk1DFiniteElement<Geometry, RF, k>::gt(GeometryTypes::simplex(2));
90 template<
class Geometry,
class RF, std::
size_t k>
91 const typename Pk1DFiniteElement<Geometry, RF, k>::LocalBasis
92 Pk1DFiniteElement<Geometry, RF, k>::localBasis = LocalBasis();
94 template<
class Geometry,
class RF, std::
size_t k>
95 const typename Pk1DFiniteElement<Geometry, RF, k>::LocalInterpolation
96 Pk1DFiniteElement<Geometry, RF, k>::localInterpolation =
110 template<
class Geometry,
class RF, std::
size_t k>
129 template<
class VertexOrder>
131 const VertexOrder& vertexOrder)
ImplementationDefined FiniteElement
Type of the finite element.
Definition: interface.hh:126
Convert a local interpolation into a global interpolation.
Definition: localtoglobaladaptors.hh:149
Langrange finite element of arbitrary order on triangles.
Definition: pk1d.hh:29
Pk1DFiniteElement(const Geometry &geometry, const VertexOrder &vertexOrder)
construct a Pk1DFiniteElement
Definition: pk1d.hh:72
Convert a simple scalar local basis into a global basis.
Definition: localtoglobaladaptors.hh:65
Factory for Pk1DFiniteElement objects.
Definition: pk1d.hh:111
const FiniteElement make(const Geometry &geometry, const VertexOrder &vertexOrder)
construct Pk1DFiniteElementFactory
Definition: pk1d.hh:130