30    static_assert(dim == 2 || dim == 3, 
"Non-conforming FE spaces only implemented for 2D and 3D grids");
 
   34    using RT = Dune::RannacherTurekLocalFiniteElement<CoordScalar, Scalar, dim>;
 
   35    using CR = Dune::CrouzeixRaviartLocalFiniteElement<CoordScalar, Scalar, dim>;
 
   38    using FiniteElementType = Dune::LocalFiniteElementVirtualInterface<typename RT::Traits::LocalBasisType::Traits>;
 
   41    : rtBasis_(std::make_unique<
Dune::LocalFiniteElementVirtualImp<RT>>(RT{}))
 
   42    , crBasis_(std::make_unique<
Dune::LocalFiniteElementVirtualImp<CR>>(CR{}))
 
 
   53            DUNE_THROW(Dune::NotImplemented,
 
   54                "Non-conforming local finite element for geometry type " << gt
 
 
   59    std::unique_ptr<FiniteElementType> rtBasis_;
 
   60    std::unique_ptr<FiniteElementType> crBasis_;