2 #ifndef DUNE_PDELAB_FINITEELEMENTMAP_RAVIARTTHOMASFEM_HH 3 #define DUNE_PDELAB_FINITEELEMENTMAP_RAVIARTTHOMASFEM_HH 5 #include <dune/grid/common/capabilities.hh> 30 template<
typename GV,
int dim, GeometryType::BasicType basic_type,
typename D,
typename R, std::
size_t k>
31 struct RaviartThomasLocalFiniteElementMapBaseSelector
33 static_assert((
AlwaysFalse<GV>::value),
"The requested type of Raviart-Thomas element is not implemented, sorry!");
41 template<
typename GV,
typename D,
typename R>
42 struct RaviartThomasLocalFiniteElementMapBaseSelector<GV,2,GeometryType::simplex,D,R,0>
44 typedef RT0Simplex2DLocalFiniteElementMap<GV,D,R> type;
47 template<
typename GV,
typename D,
typename R>
48 struct RaviartThomasLocalFiniteElementMapBaseSelector<GV,2,GeometryType::simplex,D,R,1>
50 typedef RT1Simplex2DLocalFiniteElementMap<GV,D,R> type;
54 template<
typename GV,
typename D,
typename R>
55 struct RaviartThomasLocalFiniteElementMapBaseSelector<GV,2,GeometryType::cube,D,R,0>
57 typedef RT0Cube2DLocalFiniteElementMap<GV,D,R> type;
60 template<
typename GV,
typename D,
typename R>
61 struct RaviartThomasLocalFiniteElementMapBaseSelector<GV,2,GeometryType::cube,D,R,1>
63 typedef RT1Cube2DLocalFiniteElementMap<GV,D,R> type;
66 template<
typename GV,
typename D,
typename R>
67 struct RaviartThomasLocalFiniteElementMapBaseSelector<GV,2,GeometryType::cube,D,R,2>
69 typedef RT2Cube2DLocalFiniteElementMap<GV,D,R> type;
73 template<
typename GV,
typename D,
typename R>
74 struct RaviartThomasLocalFiniteElementMapBaseSelector<GV,3,GeometryType::cube,D,R,0>
76 typedef RT0Cube3DLocalFiniteElementMap<GV,D,R> type;
79 template<
typename GV,
typename D,
typename R>
80 struct RaviartThomasLocalFiniteElementMapBaseSelector<GV,3,GeometryType::cube,D,R,1>
82 typedef RT1Cube3DLocalFiniteElementMap<GV,D,R> type;
112 template<
typename GV,
116 GeometryType::BasicType basic_type = BasicTypeFromDimensionAndTopologyId<
118 Capabilities::hasSingleGeometryType<typename GV::Grid>::topologyId
122 public detail::RaviartThomasLocalFiniteElementMapBaseSelector<GV,GV::dimension,basic_type,D,R,k>::type
129 : detail::RaviartThomasLocalFiniteElementMapBaseSelector<GV,GV::dimension,basic_type,D,R,k>::type(gv)
137 template<
typename GV,
typename D,
typename R, std::
size_t k>
141 "Your chosen grid does not export a usable topology id for its cells." 142 "Please provide the correct GeometryType::BasicType as an additional template parameter.");
150 #endif // DUNE_PDELAB_FINITEELEMENTMAP_RAVIARTTHOMASFEM_HH static const unsigned int value
Definition: gridfunctionspace/tags.hh:139
RaviartThomasLocalFiniteElementMap(const GV &gv)
Constructs a finite element map on the GridView gv.
Definition: raviartthomasfem.hh:128
For backward compatibility – Do not use this!
Definition: adaptivity.hh:27
Raviart-Thomas elements of order k.
Definition: raviartthomasfem.hh:121