Dune Core Modules (unstable)

mimetic.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_MIMETICLOCALFINITEELEMENT_HH
6 #define DUNE_MIMETICLOCALFINITEELEMENT_HH
7 
8 #include <dune/geometry/type.hh>
9 
10 #include "common/localfiniteelementtraits.hh"
11 #include "mimetic/mimeticall.hh"
12 
13 namespace Dune
14 {
22  template<class D, class R, int dim>
24  {
26  MimeticLocalBasis<D,R,dim> basis;
27  MimeticLocalCoefficients coefficients;
28  MimeticLocalInterpolation<MimeticLocalBasis<D,R,dim> > interpolation;
29 
30  public:
33  MimeticLocalInterpolation<MimeticLocalBasis<D,R,dim> > > Traits;
34 
36  {}
37 
39  : gt(basicType,dim)
40  {}
41 
42  MimeticLocalFiniteElement (Dune::GeometryType::BasicType basicType, unsigned int variant)
43  : gt(basicType,dim), basis(variant), coefficients(variant)
44  {}
45 
46  const typename Traits::LocalBasisType& localBasis () const
47  {
48  return basis;
49  }
50 
51  const typename Traits::LocalCoefficientsType& localCoefficients () const
52  {
53  return coefficients;
54  }
55 
56  const typename Traits::LocalInterpolationType& localInterpolation () const
57  {
58  return interpolation;
59  }
60 
61  Dune::GeometryType type () const { return gt; }
62  };
63 }
64 
65 #endif
Unique label for each type of entities that can occur in DUNE grids.
Definition: type.hh:114
BasicType
Each entity can be tagged by one of these basic types plus its space dimension.
Definition: type.hh:120
!
Definition: mimeticall.hh:88
Definition: mimetic.hh:24
Dune namespace.
Definition: alignedallocator.hh:13
traits helper struct
Definition: localfiniteelementtraits.hh:13
LB LocalBasisType
Definition: localfiniteelementtraits.hh:16
LC LocalCoefficientsType
Definition: localfiniteelementtraits.hh:20
LI LocalInterpolationType
Definition: localfiniteelementtraits.hh:24
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 2, 22:35, 2024)