dune-localfunctions  2.4.1-rc2
refinedp1.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 #ifndef DUNE_REFINED_P1_LOCALFINITEELEMENT_HH
4 #define DUNE_REFINED_P1_LOCALFINITEELEMENT_HH
5 
6 #include <dune/geometry/type.hh>
7 
10 
21 
22 namespace Dune
23 {
24 
27  template<class D, class R, int dim>
29  {
30  public:
36 
40  {
41  gt.makeLine();
42  }
43 
46  const typename Traits::LocalBasisType& localBasis () const
47  {
48  return basis;
49  }
50 
54  {
55  return coefficients;
56  }
57 
61  {
62  return interpolation;
63  }
64 
66  unsigned int size () const
67  {
68  return basis.size();
69  }
70 
73  GeometryType type () const
74  {
75  return gt;
76  }
77 
79  {
80  return new RefinedP1LocalFiniteElement(*this);
81  }
82 
83  private:
85  Pk1DLocalCoefficients<2> coefficients;
87  GeometryType gt;
88  };
89 
90 
91 
94  template<class D, class R>
96  {
97  public:
103 
107  {
108  gt.makeTriangle();
109  }
110 
113  const typename Traits::LocalBasisType& localBasis () const
114  {
115  return basis;
116  }
117 
121  {
122  return coefficients;
123  }
124 
128  {
129  return interpolation;
130  }
131 
133  unsigned int size () const
134  {
135  return basis.size();
136  }
137 
140  GeometryType type () const
141  {
142  return gt;
143  }
144 
146  {
147  return new RefinedP1LocalFiniteElement(*this);
148  }
149 
150  private:
152  Pk2DLocalCoefficients<2> coefficients;
154  GeometryType gt;
155  };
156 
159  template<class D, class R>
161  {
162  public:
168 
172  {
173  gt.makeTetrahedron();
174  }
175 
178  const typename Traits::LocalBasisType& localBasis () const
179  {
180  return basis;
181  }
182 
186  {
187  return coefficients;
188  }
189 
193  {
194  return interpolation;
195  }
196 
198  unsigned int size () const
199  {
200  return basis.size();
201  }
202 
205  GeometryType type () const
206  {
207  return gt;
208  }
209 
211  {
212  return new RefinedP1LocalFiniteElement(*this);
213  }
214 
215  private:
217  Pk3DLocalCoefficients<2> coefficients;
219  GeometryType gt;
220  };
221 
222 }
223 
224 #endif
const Traits::LocalCoefficientsType & localCoefficients() const
Definition: refinedp1.hh:185
Linear Lagrange shape functions on a uniformly refined reference element.
unsigned int size() const
number of shape functions
Definition: refinedp1localbasis.hh:60
const Traits::LocalBasisType & localBasis() const
Definition: refinedp1.hh:113
Uniformly refined linear Lagrange shape functions on the 3D-simplex (tetrahedron).
Definition: refinedp1localbasis.hh:317
LocalFiniteElementTraits< RefinedP1LocalBasis< D, R, 1 >, Pk1DLocalCoefficients< 2 >, Pk1DLocalInterpolation< Pk1DLocalBasis< D, R, 2 > > > Traits
Definition: refinedp1.hh:35
LocalFiniteElementTraits< RefinedP1LocalBasis< D, R, 2 >, Pk2DLocalCoefficients< 2 >, Pk2DLocalInterpolation< Pk2DLocalBasis< D, R, 2 > > > Traits
Definition: refinedp1.hh:102
const Traits::LocalCoefficientsType & localCoefficients() const
Definition: refinedp1.hh:120
RefinedP1LocalFiniteElement()
Definition: refinedp1.hh:106
Definition: pk2dlocalinterpolation.hh:11
unsigned int size() const
Number of shape functions in this finite element.
Definition: refinedp1.hh:133
unsigned int size() const
Number of shape functions in this finite element.
Definition: refinedp1.hh:66
const Traits::LocalInterpolationType & localInterpolation() const
Definition: refinedp1.hh:60
LocalFiniteElementTraits< RefinedP1LocalBasis< D, R, 3 >, Pk3DLocalCoefficients< 2 >, Pk3DLocalInterpolation< Pk3DLocalBasis< D, R, 2 > > > Traits
Definition: refinedp1.hh:167
RefinedP1LocalFiniteElement * clone() const
Definition: refinedp1.hh:145
Uniformly refined linear Lagrange shape functions on the triangle.
Definition: refinedp1localbasis.hh:159
const Traits::LocalInterpolationType & localInterpolation() const
Definition: refinedp1.hh:127
GeometryType type() const
Definition: refinedp1.hh:73
const Traits::LocalBasisType & localBasis() const
Definition: refinedp1.hh:178
traits helper struct
Definition: localfiniteelementtraits.hh:10
Definition: pk1dlocalinterpolation.hh:11
unsigned int size() const
Number of shape functions in this finite element.
Definition: refinedp1.hh:198
const Traits::LocalBasisType & localBasis() const
Definition: refinedp1.hh:46
LI LocalInterpolationType
Definition: localfiniteelementtraits.hh:22
GeometryType type() const
Definition: refinedp1.hh:205
const Traits::LocalCoefficientsType & localCoefficients() const
Definition: refinedp1.hh:53
RefinedP1LocalFiniteElement()
Definition: refinedp1.hh:171
const Traits::LocalInterpolationType & localInterpolation() const
Definition: refinedp1.hh:192
LC LocalCoefficientsType
Definition: localfiniteelementtraits.hh:18
RefinedP1LocalFiniteElement()
Definition: refinedp1.hh:39
Definition: refinedp1.hh:28
RefinedP1LocalFiniteElement * clone() const
Definition: refinedp1.hh:78
Uniformly refined linear Lagrange shape functions in 1D.
Definition: refinedp1localbasis.hh:51
RefinedP1LocalFiniteElement * clone() const
Definition: refinedp1.hh:210
LB LocalBasisType
Definition: localfiniteelementtraits.hh:14
Definition: pk3dlocalinterpolation.hh:11
GeometryType type() const
Definition: refinedp1.hh:140