dune-localfunctions 3.0-git
edges0.5.hh
Go to the documentation of this file.
1// -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2// vi: set et ts=4 sw=2 sts=2:
3
4#ifndef DUNE_LOCALFUNCTIONS_WHITNEY_EDGES0_5_HH
5#define DUNE_LOCALFUNCTIONS_WHITNEY_EDGES0_5_HH
6
7#include <dune/geometry/type.hh>
8
12
13namespace Dune {
14
16 //
17 // FiniteElement
18 //
19
21
39 template<class Geometry, class RF>
41 public:
51
52 private:
53 typename Traits::Basis basis_;
54 typename Traits::Interpolation interpolation_;
55 static const typename Traits::Coefficients& coefficients_;
56 static const GeometryType gt;
57
58 public:
60
63 template<class VertexOrder>
64 EdgeS0_5FiniteElement(const Geometry& geo,
65 const VertexOrder& vertexOrder) :
66 basis_(geo, vertexOrder), interpolation_(geo, vertexOrder)
67 { }
68
70 const typename Traits::Basis& basis() const { return basis_; }
72 const typename Traits::Interpolation& interpolation() const
73 { return interpolation_; }
75 const typename Traits::Coefficients& coefficients() const
76 { return coefficients_; }
78 const GeometryType& type() const { return gt; }
79 };
80
81 template<class Geometry, class RF>
83 EdgeS0_5FiniteElement<Geometry, RF>::coefficients_ =
84 typename Traits::Coefficients();
85
86 template<class Geometry, class RF>
87 const GeometryType
88 EdgeS0_5FiniteElement<Geometry, RF>::gt(GeometryType::simplex,
89 Geometry::mydimension);
90
92 //
93 // Factory
94 //
95
97
106 template<class Geometry, class RF>
109
111
125 template<class VertexOrder>
126 const FiniteElement make(const Geometry& geometry,
127 const VertexOrder& vertexOrder)
128 { return FiniteElement(geometry, vertexOrder); }
129 };
130
131} // namespace Dune
132
133#endif // DUNE_LOCALFUNCTIONS_WHITNEY_EDGES0_5_HH
Definition brezzidouglasmarini1cube2d.hh:14
FiniteElement for lowest order edge elements on simplices.
Definition edges0.5.hh:40
EdgeS0_5FiniteElement(const Geometry &geo, const VertexOrder &vertexOrder)
Constructor.
Definition edges0.5.hh:64
const Traits::Basis & basis() const
return reference to the basis object
Definition edges0.5.hh:70
const Traits::Interpolation & interpolation() const
return reference to the interpolation object
Definition edges0.5.hh:72
const Traits::Coefficients & coefficients() const
return reference to the coefficients object
Definition edges0.5.hh:75
const GeometryType & type() const
return geometry type of this element
Definition edges0.5.hh:78
Definition edges0.5.hh:45
EdgeS0_5Coefficients< Geometry::mydimension > Coefficients
Definition edges0.5.hh:49
EdgeS0_5Interpolation< Geometry, typename Basis::Traits > Interpolation
Definition edges0.5.hh:48
EdgeS0_5Basis< Geometry, RF > Basis
Definition edges0.5.hh:46
Factory for EdgeS0_5FiniteElement objects.
Definition edges0.5.hh:107
const FiniteElement make(const Geometry &geometry, const VertexOrder &vertexOrder)
construct the factory
Definition edges0.5.hh:126
EdgeS0_5FiniteElement< Geometry, RF > FiniteElement
Definition edges0.5.hh:108
Basis for order 0.5 (lowest order) edge elements on simplices.
Definition whitney/edges0.5/basis.hh:36
export type traits for function signature
Definition whitney/edges0.5/basis.hh:39
Coefficients for lowest order edge elements on simplices.
Definition whitney/edges0.5/coefficients.hh:28
Interpolation for lowest order edge elements on simplices.
Definition whitney/edges0.5/interpolation.hh:30