3#ifndef DUNE_PK1DLOCALFINITEELEMENT_HH
4#define DUNE_PK1DLOCALFINITEELEMENT_HH
10#include <dune/localfunctions/common/localfiniteelementtraits.hh>
11#include <dune/localfunctions/common/localtoglobaladaptors.hh>
12#include <dune/localfunctions/lagrange/lagrangesimplex.hh>
21 template<
class D,
class R,
unsigned int k>
33 template<
class Geometry,
class RF, std::
size_t k>
36 typedef Impl::LagrangeSimplexLocalBasis<DF,RF,1,k> LocalBasis;
37 typedef Impl::LagrangeSimplexLocalInterpolation<LocalBasis> LocalInterpolation;
47 typename Basis::Traits
49 typedef Impl::LagrangeSimplexLocalCoefficients<1,k> Coefficients;
54 static const LocalBasis localBasis;
55 static const LocalInterpolation localInterpolation;
59 typename Traits::Coefficients coefficients_;
76 template<
class VertexOrder>
78 const VertexOrder& vertexOrder) :
79 basis_(localBasis, geometry), interpolation_(localInterpolation),
80 coefficients_(vertexOrder.begin(0, 0))
83 const typename Traits::Basis& basis()
const {
return basis_; }
84 const typename Traits::Interpolation& interpolation()
const
85 {
return interpolation_; }
86 const typename Traits::Coefficients& coefficients()
const
87 {
return coefficients_; }
91 template<
class Geometry,
class RF, std::
size_t k>
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)
Unique label for each type of entities that can occur in DUNE grids.
Definition: type.hh:279
Wrapper class for geometries.
Definition: geometry.hh:67
GridImp::ctype ctype
define type used for coordinates in grid module
Definition: geometry.hh:95
Lagrange finite element for simplices with arbitrary compile-time dimension and polynomial order.
Definition: lagrangesimplex.hh:836
Convert a local interpolation into a global interpolation.
Definition: localtoglobaladaptors.hh:147
Langrange finite element of arbitrary order on triangles.
Definition: pk1d.hh:34
Pk1DFiniteElement(const Geometry &geometry, const VertexOrder &vertexOrder)
construct a Pk1DFiniteElement
Definition: pk1d.hh:77
Convert a simple scalar local basis into a global basis.
Definition: localtoglobaladaptors.hh:63
GeometryType
Type representing VTK's entity geometry types.
Definition: common.hh:180
bool gt(const T &first, const T &second, typename EpsilonType< T >::Type epsilon)
test if first greater than second
Definition: float_cmp.cc:156
constexpr GeometryType simplex(unsigned int dim)
Returns a GeometryType representing a simplex of dimension dim.
Definition: type.hh:766
Dune namespace.
Definition: alignedallocator.hh:14
Dummy struct used for documentation purposes.
Definition: documentation.hh:40
Factory for Pk1DFiniteElement objects.
Definition: pk1d.hh:116
const FiniteElement make(const Geometry &geometry, const VertexOrder &vertexOrder)
construct Pk1DFiniteElementFactory
Definition: pk1d.hh:135
A unique label for each type of element that can occur in a grid.