dune-localfunctions
2.11
Toggle main menu visibility
Loading...
Searching...
No Matches
dune
localfunctions
meta
discontinuous.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 © DUNE Project contributors, see file LICENSE.md in module root
4
// SPDX-License-Identifier: LicenseRef-GPL-2.0-only-with-DUNE-exception
5
6
#ifndef DUNE_LOCALFUNCTIONS_META_DISCONTINUOUS_HH
7
#define DUNE_LOCALFUNCTIONS_META_DISCONTINUOUS_HH
8
9
#include <utility>
10
11
#include <dune/common/referencehelper.hh>
12
#include <dune/geometry/type.hh>
13
#include <
dune/localfunctions/utility/dglocalcoefficients.hh
>
14
15
namespace
Dune
{
16
19
24
template
<
class
LFE>
25
class
DiscontinuousLocalFiniteElement
26
{
27
using
LFERaw = ResolveRef_t<LFE>;
28
29
using
LB =
typename
LFERaw::Traits::LocalBasisType;
30
using
LC =
typename
LFERaw::Traits::LocalCoefficientsType;
31
using
LI =
typename
LFERaw::Traits::LocalInterpolationType;
32
33
public
:
35
struct
Traits
{
37
using
LocalBasisType
= LB;
39
using
LocalCoefficientsType
=
DGLocalCoefficients
;
41
using
LocalInterpolationType
= LI;
42
};
43
44
private
:
45
LFE lfe_;
46
typename
Traits::LocalCoefficientsType
lc_;
47
48
public
:
50
template
<
class
LFE_>
51
explicit
DiscontinuousLocalFiniteElement
(LFE_&&
lfe
)
52
: lfe_(std::forward<LFE_>(
lfe
))
53
, lc_(resolveRef(lfe_).
localCoefficients
().
size
())
54
{}
55
57
61
const
typename
Traits::LocalBasisType
&
localBasis
()
const
62
{
63
return
resolveRef(lfe_).localBasis();
64
}
65
67
71
const
typename
Traits::LocalCoefficientsType
&
localCoefficients
()
const
72
{
73
return
lc_;
74
}
75
77
81
const
typename
Traits::LocalInterpolationType
&
localInterpolation
()
const
82
{
83
return
resolveRef(lfe_).localInterpolation();
84
}
85
87
unsigned
int
size
()
const
88
{
89
return
resolveRef(lfe_).size();
90
}
91
93
const
GeometryType
type
()
const
94
{
95
return
resolveRef(lfe_).type();
96
}
97
};
98
99
// deduction guide
100
template
<
class
LFE>
101
DiscontinuousLocalFiniteElement
(LFE
lfe
)
102
->
DiscontinuousLocalFiniteElement<LFE>
;
103
104
}
// namespace Dune
105
106
#endif
// DUNE_LOCALFUNCTIONS_META_DISCONTINUOUS_HH
dglocalcoefficients.hh
Dune
Definition
bdfmcube.hh:18
Dune::lfe
const Q1FiniteElementFactory< Geometry, RF >::LFE Q1FiniteElementFactory< Geometry, RF >::lfe
Definition
q1.hh:47
Dune::DiscontinuousLocalFiniteElement
DiscontinuousLocalFiniteElement(LFE lfe) -> DiscontinuousLocalFiniteElement< LFE >
Dune::DiscontinuousLocalFiniteElement
Meta-finite element turning a finite-element into "discontinuous" finite-element by associating all b...
Definition
discontinuous.hh:26
Dune::DiscontinuousLocalFiniteElement::DiscontinuousLocalFiniteElement
DiscontinuousLocalFiniteElement(LFE_ &&lfe)
Construct a finite element.
Definition
discontinuous.hh:51
Dune::DiscontinuousLocalFiniteElement::localInterpolation
const Traits::LocalInterpolationType & localInterpolation() const
Extract interpolation of this finite element.
Definition
discontinuous.hh:81
Dune::DiscontinuousLocalFiniteElement::type
const GeometryType type() const
Return the geometry type the finite element can be bound to.
Definition
discontinuous.hh:93
Dune::DiscontinuousLocalFiniteElement::localBasis
const Traits::LocalBasisType & localBasis() const
Extract basis of this finite element.
Definition
discontinuous.hh:61
Dune::DiscontinuousLocalFiniteElement::localCoefficients
const Traits::LocalCoefficientsType & localCoefficients() const
Extract coefficients of this finite element.
Definition
discontinuous.hh:71
Dune::DiscontinuousLocalFiniteElement::size
unsigned int size() const
Return the number of basis functions.
Definition
discontinuous.hh:87
Dune::DiscontinuousLocalFiniteElement::Traits
types of component objects
Definition
discontinuous.hh:35
Dune::DiscontinuousLocalFiniteElement::Traits::LocalBasisType
LB LocalBasisType
type of the Basis
Definition
discontinuous.hh:37
Dune::DiscontinuousLocalFiniteElement::Traits::LocalInterpolationType
LI LocalInterpolationType
type of the Interpolation
Definition
discontinuous.hh:41
Dune::DiscontinuousLocalFiniteElement::Traits::LocalCoefficientsType
DGLocalCoefficients LocalCoefficientsType
type of the Coefficients
Definition
discontinuous.hh:39
Dune::DGLocalCoefficients
A class providing local coefficients for dg spaces.
Definition
dglocalcoefficients.hh:23
Generated by
1.17.0