DUNE PDELab (git)

opbfem.hh
1// -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2// vi: set et ts=4 sw=2 sts=2:
3
4#ifndef DUNE_PDELAB_FINITEELEMENTMAP_OPBFEM_HH
5#define DUNE_PDELAB_FINITEELEMENTMAP_OPBFEM_HH
6
8
9#include<dune/pdelab/common/topologyutility.hh>
10#include<dune/pdelab/finiteelementmap/finiteelementmap.hh>
12
13namespace Dune {
14 namespace PDELab {
15
18 template<class D, class R, int k, int d, Dune::GeometryType::BasicType bt, typename ComputationFieldType=R, PB::BasisType basisType = PB::BasisType::Pk>
20 : public Dune::PDELab::SimpleLocalFiniteElementMap<Dune::OPBLocalFiniteElement<D,R,k,d,bt,ComputationFieldType,basisType>,d>
21 {
22 typedef PB::BasisTraits<basisType> BasisTraits;
23 public:
24
25 static constexpr bool fixedSize()
26 {
27 return true;
28 }
29
30 static constexpr bool hasDOFs(int codim)
31 {
32 return codim == 0;
33 }
34
35 static constexpr std::size_t size(GeometryType gt)
36 {
37 auto geometryType = geometryTypeFromBasicType(bt, d);
38 if (gt == geometryType)
39 return BasisTraits::template Size<k,d>::value;
40 else
41 return 0;
42 }
43
44 static constexpr std::size_t maxLocalSize()
45 {
46 return BasisTraits::template Size<k,d>::value;
47 }
48
49 };
50
51 }
52}
53
54#endif // DUNE_PDELAB_FINITEELEMENTMAP_OPBFEM_HH
Unique label for each type of entities that can occur in DUNE grids.
Definition: type.hh:114
simple implementation where all entities have the same finite element
Definition: finiteelementmap.hh:101
Definition of the DUNE_NO_DEPRECATED_* macros.
bool gt(const T &first, const T &second, typename EpsilonType< T >::Type epsilon)
test if first greater than second
Definition: float_cmp.cc:158
This file defines polynomial basis functions on the reference element in a generic way.
Dune namespace.
Definition: alignedallocator.hh:13
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Nov 12, 23:30, 2024)