3 #ifndef DUNE_PK1DLOCALFINITEELEMENT_HH
4 #define DUNE_PK1DLOCALFINITEELEMENT_HH
8 #include <dune/geometry/type.hh>
21 template<
class D,
class R,
unsigned int k>
33 template<
class Geometry,
class RF, std::
size_t k>
35 typedef typename Geometry::ctype DF;
36 typedef Impl::LagrangeSimplexLocalBasis<DF,RF,1,k> LocalBasis;
37 typedef Impl::LagrangeSimplexLocalInterpolation<LocalBasis> LocalInterpolation;
53 static const GeometryType gt;
54 static const LocalBasis localBasis;
55 static const LocalInterpolation localInterpolation;
76 template<
class VertexOrder>
78 const VertexOrder& vertexOrder) :
79 basis_(localBasis, geometry), interpolation_(localInterpolation),
80 coefficients_(vertexOrder.begin(0, 0))
85 {
return interpolation_; }
87 {
return coefficients_; }
88 const GeometryType &
type()
const {
return gt; }
91 template<
class Geometry,
class RF, std::
size_t k>
93 Pk1DFiniteElement<Geometry, RF, k>::gt(GeometryTypes::simplex(2));
95 template<
class Geometry,
class RF, std::
size_t k>
96 const typename Pk1DFiniteElement<Geometry, RF, k>::LocalBasis
97 Pk1DFiniteElement<Geometry, RF, k>::localBasis = LocalBasis();
99 template<
class Geometry,
class RF, std::
size_t k>
100 const typename Pk1DFiniteElement<Geometry, RF, k>::LocalInterpolation
101 Pk1DFiniteElement<Geometry, RF, k>::localInterpolation =
102 LocalInterpolation();
115 template<
class Geometry,
class RF, std::
size_t k>
134 template<
class VertexOrder>
136 const VertexOrder& vertexOrder)
Definition: bdfmcube.hh:16
ImplementationDefined FiniteElement
Type of the finite element.
Definition: interface.hh:115
Convert a simple scalar local basis into a global basis.
Definition: localtoglobaladaptors.hh:63
LocalToGlobalBasisAdaptorTraits< typename LocalBasis::Traits, Geometry::coorddimension > Traits
Definition: localtoglobaladaptors.hh:82
Convert a local interpolation into a global interpolation.
Definition: localtoglobaladaptors.hh:147
Lagrange finite element for simplices with arbitrary compile-time dimension and polynomial order.
Definition: lagrangesimplex.hh:836
Langrange finite element of arbitrary order on triangles.
Definition: pk1d.hh:34
const Traits::Interpolation & interpolation() const
Definition: pk1d.hh:84
Pk1DFiniteElement(const Geometry &geometry, const VertexOrder &vertexOrder)
construct a Pk1DFiniteElement
Definition: pk1d.hh:77
const Traits::Basis & basis() const
Definition: pk1d.hh:83
const Traits::Coefficients & coefficients() const
Definition: pk1d.hh:86
const GeometryType & type() const
Definition: pk1d.hh:88
ScalarLocalToGlobalBasisAdaptor< LocalBasis, Geometry > Basis
Definition: pk1d.hh:44
LocalToGlobalInterpolationAdaptor< LocalInterpolation, typename Basis::Traits > Interpolation
Definition: pk1d.hh:48
Impl::LagrangeSimplexLocalCoefficients< 1, k > Coefficients
Definition: pk1d.hh:49
Factory for Pk1DFiniteElement objects.
Definition: pk1d.hh:116
const FiniteElement make(const Geometry &geometry, const VertexOrder &vertexOrder)
construct Pk1DFiniteElementFactory
Definition: pk1d.hh:135
Pk1DFiniteElement< Geometry, RF, k > FiniteElement
Definition: pk1d.hh:117