2 #ifndef DUNE_PDELAB_FINITELEMENTMAP_BREZZIDOUGLASMARINIFEM_HH
3 #define DUNE_PDELAB_FINITELEMENTMAP_BREZZIDOUGLASMARINIFEM_HH
5 #include <dune/common/static_assert.hh>
6 #include <dune/grid/common/capabilities.hh>
26 template<
typename GV,
int dim, GeometryType::BasicType basic_type,
typename D,
typename R, std::
size_t k>
27 struct BrezziDouglasMariniLocalFiniteElementMapBaseSelector
29 dune_static_assert((
AlwaysFalse<GV>::value),
"The requested type of Brezzi-Douglas-Marini element is not implemented, sorry!");
37 template<
typename GV,
typename D,
typename R>
38 struct BrezziDouglasMariniLocalFiniteElementMapBaseSelector<GV,2,GeometryType::simplex,D,R,1>
40 typedef BDM1Simplex2DLocalFiniteElementMap<GV,D,R> type;
43 template<
typename GV,
typename D,
typename R>
44 struct BrezziDouglasMariniLocalFiniteElementMapBaseSelector<GV,2,GeometryType::cube,D,R,1>
46 typedef BDM1Cube2DLocalFiniteElementMap<GV,D,R> type;
77 GeometryType::BasicType basic_type = BasicTypeFromDimensionAndTopologyId<
79 Capabilities::hasSingleGeometryType<typename GV::Grid>::topologyId
83 public detail::BrezziDouglasMariniLocalFiniteElementMapBaseSelector<GV,GV::dimension,basic_type,D,R,k>::type
90 : detail::BrezziDouglasMariniLocalFiniteElementMapBaseSelector<GV,GV::dimension,basic_type,D,R,k>::type(gv)
98 template<
typename GV,
typename D,
typename R, std::
size_t k>
99 class BrezziDouglasMariniLocalFiniteElementMap<GV,D,R,k,GeometryType::none>
102 "Your chosen grid does not export a usable topology id for its cells."
103 "Please provide the correct GeometryType::BasicType as an additional template parameter.");
111 #endif // DUNE_PDELAB_FINITELEMENTMAP_BREZZIDOUGLASMARINIFEM_HH
Definition: brezzidouglasmarinifem.hh:82
static const unsigned int value
Definition: gridfunctionspace/tags.hh:175
BrezziDouglasMariniLocalFiniteElementMap(const GV &gv)
Constructs a finite element map on the GridView gv.
Definition: brezzidouglasmarinifem.hh:89