DUNE-FEM (unstable)

simplexp1bubble.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_LOCALFUNCTIONS_ENRICHED_SIMPLEXP1BUBBLE_HH
6 #define DUNE_LOCALFUNCTIONS_ENRICHED_SIMPLEXP1BUBBLE_HH
7 
8 #include <dune/geometry/type.hh>
9 
10 #include <dune/localfunctions/common/localfiniteelementtraits.hh>
11 #include <dune/localfunctions/enriched/simplexp1bubble/localbasis.hh>
12 #include <dune/localfunctions/enriched/simplexp1bubble/localcoefficients.hh>
13 #include <dune/localfunctions/enriched/simplexp1bubble/localinterpolation.hh>
14 
15 
16 namespace Dune
17 {
43  template<class D, class R, int dim>
45  {
46  public:
49 
52 
55 
58 
59 
61  const LocalBasisType& localBasis () const
62  {
63  return basis_;
64  }
65 
68  {
69  return coefficients_;
70  }
71 
74  {
75  return interpolation_;
76  }
77 
79  static constexpr std::size_t size () noexcept
80  {
81  return LocalBasisType::size();
82  }
83 
85  static constexpr GeometryType type () noexcept
86  {
87  return GeometryTypes::simplex(dim);
88  }
89 
90  private:
91  LocalCoefficientsType coefficients_{};
92  [[no_unique_address]] LocalBasisType basis_{};
93  [[no_unique_address]] LocalInterpolationType interpolation_{};
94  };
95 
96 } // end namespace Dune
97 
98 #endif // DUNE_LOCALFUNCTIONS_ENRICHED_SIMPLEXP1BUBBLE_HH
Unique label for each type of entities that can occur in DUNE grids.
Definition: type.hh:114
P1 basis in dim-d enriched by an (order dim+1) element bubble function.
Definition: localbasis.hh:35
static constexpr std::size_t size() noexcept
Returns number of shape functions.
Definition: localbasis.hh:55
The Local keys associated to the dim-d local basis functions.
Definition: localcoefficients.hh:24
Linear Lagrange functions enriched with an element bubble function.
Definition: simplexp1bubble.hh:45
SimplexP1BubbleLocalBasis< D, R, dim > LocalBasisType
Type of the local basis.
Definition: simplexp1bubble.hh:48
const LocalCoefficientsType & localCoefficients() const
Returns the assignment of the degrees of freedom to the element subentities.
Definition: simplexp1bubble.hh:67
SimplexP1BubbleLocalCoefficients< dim > LocalCoefficientsType
Type of the local coefficients.
Definition: simplexp1bubble.hh:51
static constexpr std::size_t size() noexcept
Returns the number of shape functions in this finite-element.
Definition: simplexp1bubble.hh:79
SimplexP1BubbleLocalInterpolation< LocalBasisType > LocalInterpolationType
Type of the local interpolation.
Definition: simplexp1bubble.hh:54
static constexpr GeometryType type() noexcept
Returns the type of the geometry the finite-element is attached to.
Definition: simplexp1bubble.hh:85
const LocalBasisType & localBasis() const
Returns the local basis, i.e., the set of shape functions.
Definition: simplexp1bubble.hh:61
const LocalInterpolationType & localInterpolation() const
Returns object that evaluates degrees of freedom.
Definition: simplexp1bubble.hh:73
constexpr GeometryType simplex(unsigned int dim)
Returns a GeometryType representing a simplex of dimension dim.
Definition: type.hh:453
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.80.0 (May 16, 22:29, 2024)