3 #ifndef DUNE_PK2DLOCALFINITEELEMENT_HH
4 #define DUNE_PK2DLOCALFINITEELEMENT_HH
8 #include <dune/geometry/type.hh>
21 template<
class D,
class R,
unsigned int k>
97 Pk2DLocalCoefficients<k> coefficients;
110 template<
class Geometry,
class RF, std::
size_t k>
112 typedef typename Geometry::ctype DF;
124 typename Basis::Traits
130 static const GeometryType gt;
131 static const LocalBasis localBasis;
132 static const LocalInterpolation localInterpolation;
153 template<
class VertexOrder>
155 const VertexOrder& vertexOrder) :
156 basis_(localBasis, geometry), interpolation_(localInterpolation),
157 coefficients_(vertexOrder.begin(0, 0))
162 {
return interpolation_; }
164 {
return coefficients_; }
165 const GeometryType &
type()
const {
return gt; }
168 template<
class Geometry,
class RF, std::
size_t k>
170 Pk2DFiniteElement<Geometry, RF, k>::gt(GeometryType::simplex, 2);
172 template<
class Geometry,
class RF, std::
size_t k>
173 const typename Pk2DFiniteElement<Geometry, RF, k>::LocalBasis
174 Pk2DFiniteElement<Geometry, RF, k>::localBasis = LocalBasis();
176 template<
class Geometry,
class RF, std::
size_t k>
177 const typename Pk2DFiniteElement<Geometry, RF, k>::LocalInterpolation
178 Pk2DFiniteElement<Geometry, RF, k>::localInterpolation =
179 LocalInterpolation();
192 template<
class Geometry,
class RF, std::
size_t k>
211 template<
class VertexOrder>
212 const FiniteElement
make(
const Geometry& geometry,
213 const VertexOrder& vertexOrder)
LocalFiniteElementTraits< Pk2DLocalBasis< D, R, k >, Pk2DLocalCoefficients< k >, Pk2DLocalInterpolation< Pk2DLocalBasis< D, R, k > > > Traits
Definition: pk2d.hh:29
Pk2DLocalFiniteElement * clone() const
Definition: pk2d.hh:90
Lagrange shape functions of arbitrary order on the reference triangle.
Definition: pk2dlocalbasis.hh:25
const Traits::LocalCoefficientsType & localCoefficients() const
Definition: pk2d.hh:65
ScalarLocalToGlobalBasisAdaptor< LocalBasis, Geometry > Basis
Definition: pk2d.hh:121
const Traits::LocalInterpolationType & localInterpolation() const
Definition: pk2d.hh:72
Definition: pk2dlocalinterpolation.hh:11
Pk2DFiniteElement< Geometry, RF, k > FiniteElement
Definition: pk2d.hh:194
Pk2DFiniteElement(const Geometry &geometry, const VertexOrder &vertexOrder)
construct a Pk2DFiniteElement
Definition: pk2d.hh:154
LocalToGlobalInterpolationAdaptor< LocalInterpolation, typename Basis::Traits > Interpolation
Definition: pk2d.hh:125
const Traits::LocalBasisType & localBasis() const
Definition: pk2d.hh:58
Definition: brezzidouglasmarini1cube2dlocalbasis.hh:14
Convert a local interpolation into a global interpolation.
Definition: localtoglobaladaptors.hh:149
GeometryType type() const
Definition: pk2d.hh:85
const FiniteElement make(const Geometry &geometry, const VertexOrder &vertexOrder)
construct Pk2DFiniteElementFactory
Definition: pk2d.hh:212
Factory for Pk2DFiniteElement objects.
Definition: pk2d.hh:193
Pk2DLocalFiniteElement(const unsigned int vertexmap[3])
Definition: pk2d.hh:51
const Traits::Coefficients & coefficients() const
Definition: pk2d.hh:163
traits helper struct
Definition: localfiniteelementtraits.hh:10
Langrange finite element of arbitrary order on triangles.
Definition: pk2d.hh:111
const Traits::Basis & basis() const
Definition: pk2d.hh:160
unsigned int size() const
Number of shape functions in this finite element.
Definition: pk2d.hh:78
LI LocalInterpolationType
Definition: localfiniteelementtraits.hh:22
Layout map for P0 elements.
Definition: pk2dlocalcoefficients.hh:22
Pk2DLocalFiniteElement(int variant)
Definition: pk2d.hh:40
LC LocalCoefficientsType
Definition: localfiniteelementtraits.hh:18
const GeometryType & type() const
Definition: pk2d.hh:165
Convert a simple scalar local basis into a global basis.
Definition: localtoglobaladaptors.hh:65
Pk2DLocalFiniteElement()
Definition: pk2d.hh:33
Pk2DLocalCoefficients< k > Coefficients
Definition: pk2d.hh:126
LB LocalBasisType
Definition: localfiniteelementtraits.hh:14
const Traits::Interpolation & interpolation() const
Definition: pk2d.hh:161