dune-localfunctions  2.6-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 
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 
57  public:
59 
62  template<class VertexOrder>
63  EdgeS0_5FiniteElement(const Geometry& geo,
64  const VertexOrder& vertexOrder) :
65  basis_(geo, vertexOrder), interpolation_(geo, vertexOrder)
66  { }
67 
69  const typename Traits::Basis& basis() const { return basis_; }
71  const typename Traits::Interpolation& interpolation() const
72  { return interpolation_; }
74  const typename Traits::Coefficients& coefficients() const
75  { return coefficients_; }
77  static constexpr GeometryType type() { return GeometryTypes::simplex(Geometry::mydimension); }
78  };
79 
80  template<class Geometry, class RF>
82  EdgeS0_5FiniteElement<Geometry, RF>::coefficients_ =
83  typename Traits::Coefficients();
84 
86  //
87  // Factory
88  //
89 
91 
100  template<class Geometry, class RF>
103 
105 
119  template<class VertexOrder>
120  const FiniteElement make(const Geometry& geometry,
121  const VertexOrder& vertexOrder)
122  { return FiniteElement(geometry, vertexOrder); }
123  };
124 
125 } // namespace Dune
126 
127 #endif // DUNE_LOCALFUNCTIONS_WHITNEY_EDGES0_5_HH
Dune::EdgeS0_5FiniteElement::coefficients
const Traits::Coefficients & coefficients() const
return reference to the coefficients object
Definition: edges0.5.hh:74
Dune::EdgeS0_5FiniteElement::Traits
Definition: edges0.5.hh:45
Dune::EdgeS0_5FiniteElementFactory::make
const FiniteElement make(const Geometry &geometry, const VertexOrder &vertexOrder)
construct the factory
Definition: edges0.5.hh:120
basis.hh
Dune::EdgeS0_5FiniteElement::basis
const Traits::Basis & basis() const
return reference to the basis object
Definition: edges0.5.hh:69
Dune::EdgeS0_5FiniteElement
FiniteElement for lowest order edge elements on simplices.
Definition: edges0.5.hh:40
Dune::EdgeS0_5FiniteElement::Traits::Coefficients
EdgeS0_5Coefficients< Geometry::mydimension > Coefficients
Definition: edges0.5.hh:49
Dune::EdgeS0_5FiniteElement::interpolation
const Traits::Interpolation & interpolation() const
return reference to the interpolation object
Definition: edges0.5.hh:71
Dune::EdgeS0_5FiniteElement::Traits::Basis
EdgeS0_5Basis< Geometry, RF > Basis
Definition: edges0.5.hh:46
Dune::EdgeS0_5Basis
Basis for order 0.5 (lowest order) edge elements on simplices.
Definition: whitney/edges0.5/basis.hh:34
Dune::EdgeS0_5FiniteElementFactory
Factory for EdgeS0_5FiniteElement objects.
Definition: edges0.5.hh:101
Dune::EdgeS0_5FiniteElement::Traits::Interpolation
EdgeS0_5Interpolation< Geometry, typename Basis::Traits > Interpolation
Definition: edges0.5.hh:48
Dune::EdgeS0_5Coefficients
Coefficients for lowest order edge elements on simplices.
Definition: whitney/edges0.5/coefficients.hh:28
Dune::EdgeS0_5FiniteElement::type
static constexpr GeometryType type()
return geometry type of this element
Definition: edges0.5.hh:77
Dune::FiniteElementFactoryInterface::FiniteElement
ImplementationDefined FiniteElement
Type of the finite element.
Definition: interface.hh:115
Dune::EdgeS0_5Interpolation
Interpolation for lowest order edge elements on simplices.
Definition: whitney/edges0.5/interpolation.hh:27
Dune::EdgeS0_5FiniteElement::EdgeS0_5FiniteElement
EdgeS0_5FiniteElement(const Geometry &geo, const VertexOrder &vertexOrder)
Constructor.
Definition: edges0.5.hh:63
Dune::EdgeS0_5FiniteElementFactory::FiniteElement
EdgeS0_5FiniteElement< Geometry, RF > FiniteElement
Definition: edges0.5.hh:102
interpolation.hh
Dune
Definition: brezzidouglasmarini1cube2dlocalbasis.hh:15
coefficients.hh