12#ifndef DUMUX_DISCRETIZATION_PQ2_HIERARCHICAL_FECACHE_HH
13#define DUMUX_DISCRETIZATION_PQ2_HIERARCHICAL_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,
"P2/Q2 hierarchical FE spaces only implemented for 2D and 3D grids");
36 using FiniteElementType = Dune::LocalFiniteElementVirtualInterface<typename P2Hierarchical::Traits::LocalBasisType::Traits>;
47 return *p2HierarchicalBasis_;
49 return *q2HierarchicalBasis_;
51 DUNE_THROW(Dune::NotImplemented,
"P2/Q2 hierarchical local finite element for geometry type " << gt);
55 std::unique_ptr<FiniteElementType> p2HierarchicalBasis_;
56 std::unique_ptr<FiniteElementType> q2HierarchicalBasis_;
Definition: pq2hierarchicalfecache.hh:29
const FiniteElementType & get(const Dune::GeometryType >) const
Get local finite element for given GeometryType.
Definition: pq2hierarchicalfecache.hh:44
Dune::LocalFiniteElementVirtualInterface< typename P2Hierarchical::Traits::LocalBasisType::Traits > FiniteElementType
Definition: pq2hierarchicalfecache.hh:36
PQ2HierarchicalFECache()
Definition: pq2hierarchicalfecache.hh:38
Hierarchical P2/Q2 finite element.
Definition: pq2hierarchicallocalfiniteelement.hh:193
Definition: common/pdesolver.hh:24
P2/Q2 hierarchical local finite element.