dune-localfunctions
2.2.1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
dune
localfunctions
lagrange
q2.hh
Go to the documentation of this file.
1
// -*- tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2
// vi: set et ts=2 sw=2 sts=2:
3
#ifndef DUNE_Q2_LOCALFINITEELEMENT_HH
4
#define DUNE_Q2_LOCALFINITEELEMENT_HH
5
6
#include <dune/geometry/type.hh>
7
8
#include <
dune/localfunctions/common/localfiniteelementtraits.hh
>
9
#include <
dune/localfunctions/common/localtoglobaladaptors.hh
>
10
#include "
q2/q2localbasis.hh
"
11
#include "
q2/q2localcoefficients.hh
"
12
#include "
q2/q2localinterpolation.hh
"
13
14
namespace
Dune
15
{
16
22
template
<
class
D,
class
R,
int
dim>
23
class
Q2LocalFiniteElement
24
{
25
public
:
28
typedef
LocalFiniteElementTraits<Q2LocalBasis<D,R,dim>
,
Q2LocalCoefficients<dim>
,
29
Q2LocalInterpolation<Q2LocalBasis<D,R,dim>
> >
Traits
;
30
33
Q2LocalFiniteElement
()
34
{
35
gt.makeCube(dim);
36
}
37
40
const
typename
Traits::LocalBasisType
&
localBasis
()
const
41
{
42
return
basis;
43
}
44
47
const
typename
Traits::LocalCoefficientsType
&
localCoefficients
()
const
48
{
49
return
coefficients;
50
}
51
54
const
typename
Traits::LocalInterpolationType
&
localInterpolation
()
const
55
{
56
return
interpolation;
57
}
58
61
GeometryType
type
()
const
62
{
63
return
gt;
64
}
65
66
private
:
67
Q2LocalBasis<D,R,dim>
basis;
68
Q2LocalCoefficients<dim>
coefficients;
69
Q2LocalInterpolation<Q2LocalBasis<D,R,dim>
> interpolation;
70
GeometryType gt;
71
};
72
74
79
template
<
class
Geometry,
class
RF>
80
class
Q2FiniteElementFactory
:
81
public
ScalarLocalToGlobalFiniteElementAdaptorFactory
<
82
Q2LocalFiniteElement<typename Geometry::ctype, RF, Geometry::mydimension>, Geometry
83
>
84
{
85
typedef
Q2LocalFiniteElement<typename Geometry::ctype, RF, Geometry::mydimension>
LFE
;
86
typedef
ScalarLocalToGlobalFiniteElementAdaptorFactory<LFE, Geometry>
Base
;
87
88
static
const
LFE
lfe;
89
90
public
:
92
Q2FiniteElementFactory
() :
Base
(lfe) {}
93
};
94
95
template
<
class
Geometry,
class
RF>
96
const
typename
Q2FiniteElementFactory<Geometry, RF>::LFE
97
Q2FiniteElementFactory<Geometry, RF>::lfe;
98
}
99
100
#endif
Generated on Mon May 20 2013 01:06:59 for dune-localfunctions by
1.8.3.1