dune-localfunctions 2.9.0
refinedp0.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// SPDX-FileCopyrightInfo: Copyright (C) DUNE Project contributors, see file LICENSE.md in module root
4// SPDX-License-Identifier: LicenseRef-GPL-2.0-only-with-DUNE-exception
5#ifndef DUNE_REFINED_P0_LOCALFINITEELEMENT_HH
6#define DUNE_REFINED_P0_LOCALFINITEELEMENT_HH
7
8#include <dune/geometry/type.hh>
9
12
16
20namespace Dune
21{
22
25 template<class D, class R, int dim>
27 {
29
30 public:
31 // We steal the p0 traits since they exist for all dim.
32 // This allows to instantiate the type and access the Traits.
34 };
35
38 template<class D, class R>
40 {
41 public:
48
52 {}
53
56 const typename Traits::LocalBasisType& localBasis () const
57 {
58 return basis_;
59 }
60
64 {
65 return coefficients_;
66 }
67
71 {
72 return interpolation_;
73 }
74
76 unsigned int size () const
77 {
78 return basis_.size();
79 }
80
83 static constexpr GeometryType type ()
84 {
85 return GeometryTypes::line;
86 }
87
88 private:
92 };
93
96 template<class D, class R>
98 {
99 public:
106
110 {}
111
114 const typename Traits::LocalBasisType& localBasis () const
115 {
116 return basis_;
117 }
118
122 {
123 return coefficients_;
124 }
125
129 {
130 return interpolation_;
131 }
132
134 unsigned int size () const
135 {
136 return basis_.size();
137 }
138
141 static constexpr GeometryType type ()
142 {
143 return GeometryTypes::triangle;
144 }
145
146 private:
148 RefinedP0LocalCoefficients<2> coefficients_;
150 };
151
154 template<class D, class R>
156 {
157 public:
164
168 {}
169
172 const typename Traits::LocalBasisType& localBasis () const
173 {
174 return basis_;
175 }
176
180 {
181 return coefficients_;
182 }
183
187 {
188 return interpolation_;
189 }
190
192 unsigned int size () const
193 {
194 return basis_.size();
195 }
196
199 static constexpr GeometryType type ()
200 {
201 return GeometryTypes::tetrahedron;
202 }
203
204 private:
206 RefinedP0LocalCoefficients<3> coefficients_;
208 };
209
210
211}
212
213#endif
Definition: bdfmcube.hh:18
traits helper struct
Definition: localfiniteelementtraits.hh:13
LB LocalBasisType
Definition: localfiniteelementtraits.hh:16
LC LocalCoefficientsType
Definition: localfiniteelementtraits.hh:20
LI LocalInterpolationType
Definition: localfiniteelementtraits.hh:24
Local finite element that is piecewise P0 on a once uniformly refined reference geometry.
Definition: refinedp0.hh:27
P0LocalFiniteElement< D, R, dim >::Traits Traits
Definition: refinedp0.hh:33
const Traits::LocalBasisType & localBasis() const
Definition: refinedp0.hh:56
static constexpr GeometryType type()
Definition: refinedp0.hh:83
RefinedP0LocalFiniteElement()
Definition: refinedp0.hh:51
const Traits::LocalInterpolationType & localInterpolation() const
Definition: refinedp0.hh:70
const Traits::LocalCoefficientsType & localCoefficients() const
Definition: refinedp0.hh:63
LocalFiniteElementTraits< RefinedP0LocalBasis< D, R, 1 >, RefinedP0LocalCoefficients< 1 >, RefinedP0LocalInterpolation< RefinedP0LocalBasis< D, R, 1 > > > Traits
Definition: refinedp0.hh:47
unsigned int size() const
Number of shape functions in this finite element.
Definition: refinedp0.hh:76
unsigned int size() const
Number of shape functions in this finite element.
Definition: refinedp0.hh:134
RefinedP0LocalFiniteElement()
Definition: refinedp0.hh:109
static constexpr GeometryType type()
Definition: refinedp0.hh:141
LocalFiniteElementTraits< RefinedP0LocalBasis< D, R, 2 >, RefinedP0LocalCoefficients< 2 >, RefinedP0LocalInterpolation< RefinedP0LocalBasis< D, R, 2 > > > Traits
Definition: refinedp0.hh:105
const Traits::LocalCoefficientsType & localCoefficients() const
Definition: refinedp0.hh:121
const Traits::LocalInterpolationType & localInterpolation() const
Definition: refinedp0.hh:128
const Traits::LocalBasisType & localBasis() const
Definition: refinedp0.hh:114
RefinedP0LocalFiniteElement()
Definition: refinedp0.hh:167
const Traits::LocalBasisType & localBasis() const
Definition: refinedp0.hh:172
const Traits::LocalInterpolationType & localInterpolation() const
Definition: refinedp0.hh:186
static constexpr GeometryType type()
Definition: refinedp0.hh:199
unsigned int size() const
Number of shape functions in this finite element.
Definition: refinedp0.hh:192
const Traits::LocalCoefficientsType & localCoefficients() const
Definition: refinedp0.hh:179
LocalFiniteElementTraits< RefinedP0LocalBasis< D, R, 3 >, RefinedP0LocalCoefficients< 3 >, RefinedP0LocalInterpolation< RefinedP0LocalBasis< D, R, 3 > > > Traits
Definition: refinedp0.hh:163
Definition: refinedp0localinterpolation.hh:15