dune-localfunctions 2.9.1
Loading...
Searching...
No Matches
pk2d.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 (C) 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_PK2DLOCALFINITEELEMENT_HH
6#define DUNE_PK2DLOCALFINITEELEMENT_HH
7
8#include <cstddef>
9
10#include <dune/geometry/type.hh>
11
15
16#warning This header is deprecated
17
18namespace Dune
19{
20
25 template<class D, class R, unsigned int k>
27 [[deprecated("use LagrangeSimplexLocalFiniteElement instead")]]
29
30
32
39 template<class Geometry, class RF, std::size_t k>
41 typedef typename Geometry::ctype DF;
42 typedef Impl::LagrangeSimplexLocalBasis<DF,RF,2,k> LocalBasis;
43 typedef Impl::LagrangeSimplexLocalInterpolation<LocalBasis> LocalInterpolation;
44
45 public:
49 struct Traits {
52 LocalInterpolation,
53 typename Basis::Traits
55 typedef Impl::LagrangeSimplexLocalCoefficients<2,k> Coefficients;
56 };
57
58 private:
59 static const GeometryType gt;
60 static const LocalBasis localBasis;
61 static const LocalInterpolation localInterpolation;
62
63 typename Traits::Basis basis_;
64 typename Traits::Interpolation interpolation_;
65 typename Traits::Coefficients coefficients_;
66
67 public:
69
82 template<class VertexOrder>
83 Pk2DFiniteElement(const Geometry &geometry,
84 const VertexOrder& vertexOrder) :
85 basis_(localBasis, geometry), interpolation_(localInterpolation),
86 coefficients_(vertexOrder.begin(0, 0))
87 { }
88
89 const typename Traits::Basis& basis() const { return basis_; }
90 const typename Traits::Interpolation& interpolation() const
91 { return interpolation_; }
92 const typename Traits::Coefficients& coefficients() const
93 { return coefficients_; }
94 const GeometryType &type() const { return gt; }
95 };
96
97 template<class Geometry, class RF, std::size_t k>
98 const GeometryType
99 Pk2DFiniteElement<Geometry, RF, k>::gt(GeometryTypes::simplex(2));
100
101 template<class Geometry, class RF, std::size_t k>
102 const typename Pk2DFiniteElement<Geometry, RF, k>::LocalBasis
103 Pk2DFiniteElement<Geometry, RF, k>::localBasis = LocalBasis();
104
105 template<class Geometry, class RF, std::size_t k>
106 const typename Pk2DFiniteElement<Geometry, RF, k>::LocalInterpolation
107 Pk2DFiniteElement<Geometry, RF, k>::localInterpolation =
108 LocalInterpolation();
109
111
121 template<class Geometry, class RF, std::size_t k>
124
126
140 template<class VertexOrder>
141 const FiniteElement make(const Geometry& geometry,
142 const VertexOrder& vertexOrder)
143 { return FiniteElement(geometry, vertexOrder); }
144 };
145}
146
147#endif
Definition bdfmcube.hh:18
Traits class for local-to-global basis adaptors.
Definition localtoglobaladaptors.hh:30
Convert a simple scalar local basis into a global basis.
Definition localtoglobaladaptors.hh:65
Convert a local interpolation into a global interpolation.
Definition localtoglobaladaptors.hh:149
Lagrange finite element for simplices with arbitrary compile-time dimension and polynomial order.
Definition lagrangesimplex.hh:838
Langrange finite element of arbitrary order on triangles.
Definition pk2d.hh:40
Pk2DFiniteElement(const Geometry &geometry, const VertexOrder &vertexOrder)
construct a Pk2DFiniteElement
Definition pk2d.hh:83
const Traits::Interpolation & interpolation() const
Definition pk2d.hh:90
const Traits::Basis & basis() const
Definition pk2d.hh:89
const Traits::Coefficients & coefficients() const
Definition pk2d.hh:92
const GeometryType & type() const
Definition pk2d.hh:94
Definition pk2d.hh:49
ScalarLocalToGlobalBasisAdaptor< LocalBasis, Geometry > Basis
Definition pk2d.hh:50
Impl::LagrangeSimplexLocalCoefficients< 2, k > Coefficients
Definition pk2d.hh:55
LocalToGlobalInterpolationAdaptor< LocalInterpolation, typename Basis::Traits > Interpolation
Definition pk2d.hh:54
Factory for Pk2DFiniteElement objects.
Definition pk2d.hh:122
Pk2DFiniteElement< Geometry, RF, k > FiniteElement
Definition pk2d.hh:123
const FiniteElement make(const Geometry &geometry, const VertexOrder &vertexOrder)
construct Pk2DFiniteElementFactory
Definition pk2d.hh:141