DUNE PDELab (git)

hierarchicalp2withelementbubble.hh
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_HIERARCHICAL_P2_WITH_ELEMENTBUBBLE_LOCALFINITEELEMENT_HH
6#define DUNE_HIERARCHICAL_P2_WITH_ELEMENTBUBBLE_LOCALFINITEELEMENT_HH
7
9
10#include <dune/localfunctions/common/localfiniteelementtraits.hh>
12
13
14namespace Dune
15{
32 template<class D, class R, int dim>
34 {
35 public:
38
41
43 using LocalInterpolationType = HierarchicalSimplexP2WithElementBubbleLocalInterpolation<LocalBasisType,dim>;
44
47
48
50 const LocalBasisType& localBasis () const
51 {
52 return basis_;
53 }
54
57 {
58 return coefficients_;
59 }
60
63 {
64 return interpolation_;
65 }
66
68 static constexpr std::size_t size () noexcept
69 {
70 return LocalBasisType::size();
71 }
72
74 static constexpr GeometryType type () noexcept
75 {
76 return GeometryTypes::simplex(dim);
77 }
78
79 private:
80 LocalCoefficientsType coefficients_{};
81 [[no_unique_address]] LocalBasisType basis_{};
82 [[no_unique_address]] LocalInterpolationType interpolation_{};
83 };
84
85}
86
87#endif
Unique label for each type of entities that can occur in DUNE grids.
Definition: type.hh:114
Linear Lagrange functions enriched with quadratic edge bubble functions and an element bubble functio...
Definition: hierarchicalp2withelementbubble.hh:34
HierarchicalSimplexP2WithElementBubbleLocalBasis< D, R, dim > LocalBasisType
Type of the local basis.
Definition: hierarchicalp2withelementbubble.hh:37
static constexpr std::size_t size() noexcept
Returns the number of shape functions in this finite-element.
Definition: hierarchicalp2withelementbubble.hh:68
static constexpr GeometryType type() noexcept
Returns the type of the geometry the finite-element is attached to.
Definition: hierarchicalp2withelementbubble.hh:74
const LocalBasisType & localBasis() const
Returns the local basis, i.e., the set of shape functions.
Definition: hierarchicalp2withelementbubble.hh:50
const LocalInterpolationType & localInterpolation() const
Returns object that evaluates degrees of freedom.
Definition: hierarchicalp2withelementbubble.hh:62
HierarchicalSimplexP2WithElementBubbleLocalCoefficients< dim > LocalCoefficientsType
Type of the local coefficients.
Definition: hierarchicalp2withelementbubble.hh:40
const LocalCoefficientsType & localCoefficients() const
Returns the assignment of the degrees of freedom to the element subentities.
Definition: hierarchicalp2withelementbubble.hh:56
HierarchicalSimplexP2WithElementBubbleLocalInterpolation< LocalBasisType, dim > LocalInterpolationType
Type of the local interpolation.
Definition: hierarchicalp2withelementbubble.hh:43
P1 basis in dim-d enriched by quadratic edge bubble functions and an element bubble function of order...
Definition: hierarchicalsimplexp2withelementbubble.hh:46
static constexpr std::size_t size() noexcept
Returns number of shape functions.
Definition: hierarchicalsimplexp2withelementbubble.hh:105
The local keys of the hierarchical basis functions with element bubble.
Definition: hierarchicalsimplexp2withelementbubble.hh:229
constexpr GeometryType simplex(unsigned int dim)
Returns a GeometryType representing a simplex of dimension dim.
Definition: type.hh:453
Hierarchical p2 shape functions for the simplex.
Dune namespace.
Definition: alignedallocator.hh:13
traits helper struct
Definition: localfiniteelementtraits.hh:13
A unique label for each type of element that can occur in a grid.
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Nov 24, 23:30, 2024)