dune-localfunctions 2.11
Loading...
Searching...
No Matches
pqkfactory.hh
Go to the documentation of this file.
1// -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2// vi: set et ts=4 sw=2 sts=2:
3// SPDX-FileCopyrightInfo: Copyright © DUNE Project contributors, see file LICENSE.md in module root
4// SPDX-License-Identifier: LicenseRef-GPL-2.0-only-with-DUNE-exception
5#ifndef DUNE_LOCALFUNCTIONS_LAGRANGE_PQKFACTORY_HH
6#define DUNE_LOCALFUNCTIONS_LAGRANGE_PQKFACTORY_HH
7
8#include <map>
9
10#include <dune/geometry/type.hh>
11
14
20
21namespace Dune
22{
23
28 template<class D, class R, int d, int k>
30 {
32
34 static LocalFiniteElementVirtualInterface<T>* create(const GeometryType&)
35 {
36 return nullptr;
37 }
38 };
39
44 template<class D, class R, int k>
46 {
52
54 static LocalFiniteElementVirtualInterface<T>* create(const GeometryType& gt)
55 {
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))
64 return nullptr;
65 }
66 };
67
68
72 template<class D, class R, int dim, int k>
97
98}
99
100#endif
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:790
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 &gt)
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 &gt)
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