dune-localfunctions  2.5.0
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 
13 namespace Dune {
14 
16  //
17  // FiniteElement
18  //
19 
21 
39  template<class Geometry, class RF>
41  public:
45  struct Traits {
47  typedef EdgeS0_5Interpolation<Geometry,
48  typename Basis::Traits> Interpolation;
50  };
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>
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
const GeometryType & type() const
return geometry type of this element
Definition: edges0.5.hh:78
Coefficients for lowest order edge elements on simplices.
Definition: whitney/edges0.5/coefficients.hh:28
const Traits::Coefficients & coefficients() const
return reference to the coefficients object
Definition: edges0.5.hh:75
EdgeS0_5Basis< Geometry, RF > Basis
Definition: edges0.5.hh:46
Definition: brezzidouglasmarini1cube2dlocalbasis.hh:15
EdgeS0_5FiniteElement(const Geometry &geo, const VertexOrder &vertexOrder)
Constructor.
Definition: edges0.5.hh:64
EdgeS0_5Coefficients< Geometry::mydimension > Coefficients
Definition: edges0.5.hh:49
EdgeS0_5Interpolation< Geometry, typename Basis::Traits > Interpolation
Definition: edges0.5.hh:48
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
FiniteElement for lowest order edge elements on simplices.
Definition: edges0.5.hh:40
Factory for EdgeS0_5FiniteElement objects.
Definition: edges0.5.hh:107
Interpolation for lowest order edge elements on simplices.
Definition: whitney/edges0.5/interpolation.hh:27
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
Definition: edges0.5.hh:45
Basis for order 0.5 (lowest order) edge elements on simplices.
Definition: whitney/edges0.5/basis.hh:34