30 static_assert(dim == 2 || dim == 3,
"P1/Q1 bubble FE spaces only implemented for 2D and 3D grids");
31 static_assert(numCubeBubbleDofs == 1 || numCubeBubbleDofs == 2,
32 "P1/Q1 bubble FE spaces supports numCubeBubbleDofs = 1 or 2");
40 using FiniteElementType = Dune::LocalFiniteElementVirtualInterface<typename P1Bubble::Traits::LocalBasisType::Traits>;
43 : p1BubbleBasis_(std::make_unique<
Dune::LocalFiniteElementVirtualImp<P1Bubble>>(P1Bubble{}))
44 , q1BubbleBasis_(std::make_unique<
Dune::LocalFiniteElementVirtualImp<Q1Bubble>>(Q1Bubble{}))
51 return *p1BubbleBasis_;
53 return *q1BubbleBasis_;
55 DUNE_THROW(Dune::NotImplemented,
56 "Lagrange bubble local finite element for geometry type " << gt
61 std::unique_ptr<FiniteElementType> p1BubbleBasis_;
62 std::unique_ptr<FiniteElementType> q1BubbleBasis_;
const FiniteElementType & get(const Dune::GeometryType >) const
Get local finite element for given GeometryType.
Definition pq1bubblefecache.hh:48