2 #ifndef DUNE_PDELAB_FINITEELEMENTMAP_RT1CUBE2DFEM_HH
3 #define DUNE_PDELAB_FINITEELEMENTMAP_RT1CUBE2DFEM_HH
6 #include <dune/localfunctions/raviartthomas/raviartthomas1cube2d.hh>
14 template<
typename GV,
typename D,
typename R>
17 LocalFiniteElementMapTraits< Dune::RT1Cube2DLocalFiniteElement<D,R> >,
18 RT1Cube2DLocalFiniteElementMap<GV,D,R> >
20 typedef Dune::RT1Cube2DLocalFiniteElement<D,R> FE;
21 typedef typename GV::IndexSet IndexSet;
29 : gv(gv_), is(gv_.indexSet()), orient(gv_.
size(0))
32 for (
int i = 0; i < 16; i++)
38 for (
const auto& element : elements(gv))
40 unsigned int myId = is.index(element);
43 for (
const auto& intersection : intersections(gv,element))
45 if (intersection.neighbor()
46 && is.index(intersection.outside()) > myId)
48 orient[myId] |= 1 << intersection.indexInInside();
55 template<
class EntityType>
58 return variant[orient[is.index(e)]];
66 std::size_t
size(GeometryType gt)
const
88 std::vector<unsigned char> orient;
93 #endif // DUNE_PDELAB_FINITEELEMENTMAP_RT1CUBE2DFEM_HH
const E & e
Definition: interpolate.hh:172
collect types exported by a finite element map
Definition: finiteelementmap.hh:38
RT1Cube2DLocalFiniteElementMap(const GV &gv_)
Use when Imp has a standard constructor.
Definition: rt1cube2dfem.hh:28
T FiniteElementType
Type of finite element from local functions.
Definition: finiteelementmap.hh:30
const Traits::FiniteElementType & find(const EntityType &e) const
get local basis functions for entity
Definition: rt1cube2dfem.hh:56
LocalFiniteElementMapTraits< FE > Traits
export type of the signature
Definition: rt1cube2dfem.hh:25
bool fixedSize() const
Definition: rt1cube2dfem.hh:61
Definition: adaptivity.hh:27
interface for a finite element map
Definition: finiteelementmap.hh:42
std::size_t size(GeometryType gt) const
Definition: rt1cube2dfem.hh:66
std::size_t maxLocalSize() const
Definition: rt1cube2dfem.hh:79
Definition: rt1cube2dfem.hh:15