dune-localfunctions
2.2.1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
dune
localfunctions
refined
refinedp1.hh
Go to the documentation of this file.
1
// -*- tab-width: 8; indent-tabs-mode: nil -*-
2
// vi: set ts=8 sw=2 et sts=2:
3
#ifndef DUNE_REFINED_P1_LOCALFINITEELEMENT_HH
4
#define DUNE_REFINED_P1_LOCALFINITEELEMENT_HH
5
6
#include <dune/geometry/type.hh>
7
8
#include <
dune/localfunctions/common/localfiniteelementtraits.hh
>
9
#include <
dune/localfunctions/lagrange/p0.hh
>
10
11
#include <
dune/localfunctions/refined/refinedp1/refinedp1localbasis.hh
>
12
#include <
dune/localfunctions/lagrange/pk1d/pk1dlocalcoefficients.hh
>
13
#include <
dune/localfunctions/lagrange/pk1d/pk1dlocalinterpolation.hh
>
14
#include <
dune/localfunctions/lagrange/pk1d/pk1dlocalbasis.hh
>
15
#include <
dune/localfunctions/lagrange/pk2d/pk2dlocalcoefficients.hh
>
16
#include <
dune/localfunctions/lagrange/pk2d/pk2dlocalinterpolation.hh
>
17
#include <
dune/localfunctions/lagrange/pk2d/pk2dlocalbasis.hh
>
18
#include <
dune/localfunctions/lagrange/pk3d/pk3dlocalcoefficients.hh
>
19
#include <
dune/localfunctions/lagrange/pk3d/pk3dlocalinterpolation.hh
>
20
#include <
dune/localfunctions/lagrange/pk3d/pk3dlocalbasis.hh
>
21
22
namespace
Dune
23
{
24
27
template
<
class
D,
class
R,
int
dim>
28
class
RefinedP1LocalFiniteElement
29
{
30
public
:
33
typedef
LocalFiniteElementTraits<RefinedP1LocalBasis<D,R,1>
,
34
Pk1DLocalCoefficients<2>
,
35
Pk1DLocalInterpolation<Pk1DLocalBasis<D,R,2>
> >
Traits
;
36
39
RefinedP1LocalFiniteElement
()
40
{
41
gt.makeLine();
42
}
43
46
const
typename
Traits::LocalBasisType
&
localBasis
()
const
47
{
48
return
basis;
49
}
50
53
const
typename
Traits::LocalCoefficientsType
&
localCoefficients
()
const
54
{
55
return
coefficients;
56
}
57
60
const
typename
Traits::LocalInterpolationType
&
localInterpolation
()
const
61
{
62
return
interpolation;
63
}
64
67
GeometryType
type
()
const
68
{
69
return
gt;
70
}
71
72
RefinedP1LocalFiniteElement
*
clone
()
const
73
{
74
return
new
RefinedP1LocalFiniteElement
(*
this
);
75
}
76
77
private
:
78
RefinedP1LocalBasis<D,R,1>
basis;
79
Pk1DLocalCoefficients<2>
coefficients;
80
Pk1DLocalInterpolation<Pk1DLocalBasis<D,R,2>
> interpolation;
81
GeometryType gt;
82
};
83
84
85
88
template
<
class
D,
class
R>
89
class
RefinedP1LocalFiniteElement
<D,R,2>
90
{
91
public
:
94
typedef
LocalFiniteElementTraits<RefinedP1LocalBasis<D,R,2>
,
95
Pk2DLocalCoefficients<2>
,
96
Pk2DLocalInterpolation<Pk2DLocalBasis<D,R,2>
> >
Traits
;
97
100
RefinedP1LocalFiniteElement
()
101
{
102
gt.makeTriangle();
103
}
104
107
const
typename
Traits::LocalBasisType
&
localBasis
()
const
108
{
109
return
basis;
110
}
111
114
const
typename
Traits::LocalCoefficientsType
&
localCoefficients
()
const
115
{
116
return
coefficients;
117
}
118
121
const
typename
Traits::LocalInterpolationType
&
localInterpolation
()
const
122
{
123
return
interpolation;
124
}
125
128
GeometryType
type
()
const
129
{
130
return
gt;
131
}
132
133
RefinedP1LocalFiniteElement
*
clone
()
const
134
{
135
return
new
RefinedP1LocalFiniteElement
(*
this
);
136
}
137
138
private
:
139
RefinedP1LocalBasis<D,R,2>
basis;
140
Pk2DLocalCoefficients<2>
coefficients;
141
Pk2DLocalInterpolation<Pk2DLocalBasis<D,R,2>
> interpolation;
142
GeometryType gt;
143
};
144
147
template
<
class
D,
class
R>
148
class
RefinedP1LocalFiniteElement
<D,R,3>
149
{
150
public
:
153
typedef
LocalFiniteElementTraits<RefinedP1LocalBasis<D,R,3>
,
154
Pk3DLocalCoefficients<2>
,
155
Pk3DLocalInterpolation<Pk3DLocalBasis<D,R,2>
> >
Traits
;
156
159
RefinedP1LocalFiniteElement
()
160
{
161
gt.makeTetrahedron();
162
}
163
166
const
typename
Traits::LocalBasisType
&
localBasis
()
const
167
{
168
return
basis;
169
}
170
173
const
typename
Traits::LocalCoefficientsType
&
localCoefficients
()
const
174
{
175
return
coefficients;
176
}
177
180
const
typename
Traits::LocalInterpolationType
&
localInterpolation
()
const
181
{
182
return
interpolation;
183
}
184
187
GeometryType
type
()
const
188
{
189
return
gt;
190
}
191
192
RefinedP1LocalFiniteElement
*
clone
()
const
193
{
194
return
new
RefinedP1LocalFiniteElement
(*
this
);
195
}
196
197
private
:
198
RefinedP1LocalBasis<D,R,3>
basis;
199
Pk3DLocalCoefficients<2>
coefficients;
200
Pk3DLocalInterpolation<Pk3DLocalBasis<D,R,2>
> interpolation;
201
GeometryType gt;
202
};
203
204
}
205
206
#endif
Generated on Mon May 20 2013 01:06:59 for dune-localfunctions by
1.8.3.1