12#ifndef DUMUX_DISCRETIZATION_PQ1BUBBLE_FECACHE_HH
13#define DUMUX_DISCRETIZATION_PQ1BUBBLE_FECACHE_HH
17#include <dune/common/exceptions.hh>
18#include <dune/geometry/type.hh>
20#include <dune/localfunctions/common/virtualinterface.hh>
21#include <dune/localfunctions/common/virtualwrappers.hh>
27template<
class CoordScalar,
class Scalar,
unsigned int dim>
30 static_assert(dim == 2 || dim == 3,
"P1/Q1 bubble FE spaces only implemented for 2D and 3D grids");
38 using FiniteElementType = Dune::LocalFiniteElementVirtualInterface<typename P1Bubble::Traits::LocalBasisType::Traits>;
49 return *p1BubbleBasis_;
51 return *q1BubbleBasis_;
53 DUNE_THROW(Dune::NotImplemented,
54 "Lagrange bubble local finite element for geometry type " << gt
59 std::unique_ptr<FiniteElementType> p1BubbleBasis_;
60 std::unique_ptr<FiniteElementType> q1BubbleBasis_;
Definition: pq1bubblefecache.hh:29
const FiniteElementType & get(const Dune::GeometryType >) const
Get local finite element for given GeometryType.
Definition: pq1bubblefecache.hh:46
Dune::LocalFiniteElementVirtualInterface< typename P1Bubble::Traits::LocalBasisType::Traits > FiniteElementType
Definition: pq1bubblefecache.hh:38
PQ1BubbleFECache()
Definition: pq1bubblefecache.hh:40
P1/Q1 + Bubble finite element.
Definition: pq1bubblelocalfiniteelement.hh:285
Definition: common/pdesolver.hh:24
Evaluate P1/Q1 basis with bubble function.