5#ifndef DUNE_LOCALFUNCTIONS_LAGRANGE_PQKFACTORY_HH
6#define DUNE_LOCALFUNCTIONS_LAGRANGE_PQKFACTORY_HH
10#include <dune/geometry/type.hh>
28 template<
class D,
class R,
int d,
int k>
44 template<
class D,
class R,
int k>
56 if ((gt.isPrism())and (k==1))
58 if ((gt.isPrism())and (k==2))
60 if ((gt.isPyramid())and (k==1))
62 if ((gt.isPyramid())and (k==2))
72 template<
class D,
class R,
int dim,
int k>
110 template<
class D,
class R,
int dim,
int k>
112 [[deprecated(
"Use LagrangeLocalFiniteElementCache<D,R,dim,k> from lagrangelfecache.hh. This will be removed after release 2.10.")]]
118 typedef typename std::map<GeometryType,FE*>
FEMap;
130 typename FEMap::iterator it = other.
cache_.begin();
131 typename FEMap::iterator end = other.
cache_.end();
133 cache_[it->first] = (it->second)->clone();
138 typename FEMap::iterator it =
cache_.begin();
139 typename FEMap::iterator end =
cache_.end();
147 typename FEMap::const_iterator it =
cache_.find(gt);
152 DUNE_THROW(Dune::NotImplemented,
"No Pk/Qk like local finite element available for geometry type " << gt <<
" and order " << k);
157 return *(it->second);
Definition bdfmcube.hh:18
virtual base class for local finite elements with functions
Definition virtualinterface.hh:225
class for wrapping a finite element using the virtual interface
Definition virtualwrappers.hh:240
Lagrange finite element for cubes with arbitrary compile-time dimension and polynomial order.
Definition lagrangecube.hh:709
Lagrange finite element for 3d prisms with arbitrary compile-time polynomial order.
Definition lagrangeprism.hh:649
Lagrange finite element for 3d pyramids with compile-time polynomial order.
Definition lagrangepyramid.hh:809
Lagrange finite element for simplices with arbitrary compile-time dimension and polynomial order.
Definition lagrangesimplex.hh:836
The local p0 finite element on all types of reference elements.
Definition p0.hh:25
Factory that only creates dimension specific local finite elements.
Definition pqkfactory.hh:30
P0LocalFiniteElement< D, R, d >::Traits::LocalBasisType::Traits T
Definition pqkfactory.hh:31
static LocalFiniteElementVirtualInterface< T > * create(const GeometryType &)
create finite element for given GeometryType
Definition pqkfactory.hh:34
LagrangePyramidLocalFiniteElement< D, R, 2 > PyramidP2
Definition pqkfactory.hh:51
static LocalFiniteElementVirtualInterface< T > * create(const GeometryType >)
create finite element for given GeometryType
Definition pqkfactory.hh:54
LagrangePyramidLocalFiniteElement< D, R, 1 > PyramidP1
Definition pqkfactory.hh:50
LagrangePrismLocalFiniteElement< D, R, 1 > PrismP1
Definition pqkfactory.hh:48
P0LocalFiniteElement< D, R, 3 >::Traits::LocalBasisType::Traits T
Definition pqkfactory.hh:47
LagrangePrismLocalFiniteElement< D, R, 2 > PrismP2
Definition pqkfactory.hh:49
Factory to create any kind of Pk/Qk like element wrapped for the virtual interface.
Definition pqkfactory.hh:74
LagrangeCubeLocalFiniteElement< D, R, dim, k > Qk
Definition pqkfactory.hh:79
LagrangeSimplexLocalFiniteElement< D, R, dim, k > Pk
Definition pqkfactory.hh:78
LocalFiniteElementVirtualInterface< T > FiniteElementType
Definition pqkfactory.hh:76
static FiniteElementType * create(const GeometryType >)
create finite element for given GeometryType
Definition pqkfactory.hh:83
P0LocalFiniteElement< D, R, dim >::Traits::LocalBasisType::Traits T
Definition pqkfactory.hh:75
P0LocalFiniteElement< D, R, dim > P0
Definition pqkfactory.hh:77
P0LocalFiniteElement< D, R, dim >::Traits::LocalBasisType::Traits T
Definition pqkfactory.hh:116
LocalFiniteElementVirtualInterface< T > FE
Definition pqkfactory.hh:117
PQkLocalFiniteElementCache()
Default constructor.
Definition pqkfactory.hh:125
FE FiniteElementType
Type of the finite elements stored in this cache.
Definition pqkfactory.hh:122
std::map< GeometryType, FE * > FEMap
Definition pqkfactory.hh:118
const FiniteElementType & get(const GeometryType >) const
Get local finite element for given GeometryType.
Definition pqkfactory.hh:145
FEMap cache_
Definition pqkfactory.hh:161
~PQkLocalFiniteElementCache()
Definition pqkfactory.hh:136
PQkLocalFiniteElementCache(const PQkLocalFiniteElementCache &other)
Copy constructor.
Definition pqkfactory.hh:128