2 #ifndef DUNE_PDELAB_FINITEELEMENTMAP_RT0CUBE3DFEM_HH
3 #define DUNE_PDELAB_FINITEELEMENTMAP_RT0CUBE3DFEM_HH
6 #include<dune/localfunctions/raviartthomas/raviartthomas0cube3d.hh>
15 template<
typename GV,
typename D,
typename R>
18 RT0Cube3DLocalFiniteElementMap<GV,D,R> >
20 typedef Dune::RT0Cube3DLocalFiniteElement<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<64; i++)
36 for (
const auto& element : elements(gv))
38 unsigned int myId = is.index(element);
41 for (
const auto& intersection : intersections(gv,element))
43 if (intersection.neighbor()
44 && is.index(intersection.outside()) > myId)
46 orient[myId] |= 1 << intersection.indexInInside();
53 template<
class EntityType>
56 return variant[orient[is.index(e)]];
64 std::size_t
size(GeometryType gt)
const
66 return gt.dim() == 2 && gt.isCube() ? 1 : 0;
78 std::vector<unsigned char> orient;
83 #endif // DUNE_PDELAB_FINITEELEMENTMAP_RT0CUBE3DFEM_HH
bool fixedSize() const
Definition: rt0cube3dfem.hh:59
const E & e
Definition: interpolate.hh:172
const Traits::FiniteElementType & find(const EntityType &e) const
get local basis functions for entity
Definition: rt0cube3dfem.hh:54
collect types exported by a finite element map
Definition: finiteelementmap.hh:38
LocalFiniteElementMapTraits< FE > Traits
export type of the signature
Definition: rt0cube3dfem.hh:25
T FiniteElementType
Type of finite element from local functions.
Definition: finiteelementmap.hh:30
Definition: rt0cube3dfem.hh:16
std::size_t size(GeometryType gt) const
Definition: rt0cube3dfem.hh:64
Definition: adaptivity.hh:27
interface for a finite element map
Definition: finiteelementmap.hh:42
RT0Cube3DLocalFiniteElementMap(const GV &gv_)
Use when Imp has a standard constructor.
Definition: rt0cube3dfem.hh:28
std::size_t maxLocalSize() const
Definition: rt0cube3dfem.hh:69