Dune Core Modules (unstable)

q2.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_Q2_LOCALFINITEELEMENT_HH
6 #define DUNE_Q2_LOCALFINITEELEMENT_HH
7 
9 #include <dune/geometry/type.hh>
10 
11 #include <dune/localfunctions/common/localfiniteelementtraits.hh>
12 #include <dune/localfunctions/common/localtoglobaladaptors.hh>
13 
14 #include <dune/localfunctions/lagrange/lagrangecube.hh>
15 #include <dune/localfunctions/lagrange/lagrangesimplex.hh>
16 
17 namespace Dune
18 {
20 
25  template<class Geometry, class RF>
28  typename std::conditional<Geometry::mydimension == 1,
29  LagrangeSimplexLocalFiniteElement<typename Geometry::ctype, RF, 1, 2>,
30  LagrangeCubeLocalFiniteElement<typename Geometry::ctype, RF, Geometry::mydimension, 2> >::type,
31  Geometry>
32  {
33  typedef typename std::conditional<Geometry::mydimension == 1,
37 
38  static const LFE lfe;
39 
40  public:
43  };
44 
45  template<class Geometry, class RF>
46  const typename Q2FiniteElementFactory<Geometry, RF>::LFE
47  Q2FiniteElementFactory<Geometry, RF>::lfe;
48 }
49 
50 #endif
constexpr static int mydimension
geometry dimension
Definition: geometry.hh:94
Lagrange finite element for cubes with arbitrary compile-time dimension and polynomial order.
Definition: lagrangecube.hh:709
Lagrange finite element for simplices with arbitrary compile-time dimension and polynomial order.
Definition: lagrangesimplex.hh:836
Factory for global-valued Q23D elements.
Definition: q2.hh:32
Q2FiniteElementFactory()
default constructor
Definition: q2.hh:42
Factory for ScalarLocalToGlobalFiniteElementAdaptor objects.
Definition: localtoglobaladaptors.hh:244
Dune namespace.
Definition: alignedallocator.hh:13
A unique label for each type of element that can occur in a grid.
Traits for type conversions and type information.
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (May 4, 22:30, 2024)