dune-localfunctions
2.11
Toggle main menu visibility
Loading...
Searching...
No Matches
dune
localfunctions
meta
power
meta/power/coefficients.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_POWER_COEFFICIENTS_HH
7
#define DUNE_LOCALFUNCTIONS_META_POWER_COEFFICIENTS_HH
8
9
#include <cstddef>
10
#include <vector>
11
12
#include <
dune/localfunctions/common/localkey.hh
>
13
14
namespace
Dune
{
15
18
23
class
PowerCoefficients
{
24
std::vector<LocalKey> keys;
25
26
public
:
28
36
template
<
class
Backend>
37
PowerCoefficients
(
const
Backend &backend, std::size_t power) :
38
keys(backend.
size
()*power)
39
{
40
for
(std::size_t i = 0; i < backend.size(); ++i) {
41
const
LocalKey
&k = backend.localKey(i);
42
for
(std::size_t d = 0; d < power; ++d)
43
keys[i+d*backend.size()] =
44
LocalKey
(k.
subEntity
(), k.
codim
(), power*k.
index
() + d);
45
}
46
}
47
48
inline
std::size_t
size
()
const
{
return
keys.size(); }
49
51
inline
const
LocalKey
&
localKey
(std::size_t i)
const
{
return
keys[i]; }
52
};
53
54
}
// namespace Dune
55
56
#endif
// DUNE_LOCALFUNCTIONS_META_POWER_COEFFICIENTS_HH
localkey.hh
Dune
Definition
bdfmcube.hh:18
Dune::LocalKey
Describe position of one degree of freedom.
Definition
localkey.hh:24
Dune::LocalKey::index
constexpr unsigned int index() const noexcept
Return offset within subentity.
Definition
localkey.hh:70
Dune::LocalKey::codim
constexpr unsigned int codim() const noexcept
Return codim of associated entity.
Definition
localkey.hh:63
Dune::LocalKey::subEntity
constexpr unsigned int subEntity() const noexcept
Return number of associated subentity.
Definition
localkey.hh:56
Dune::PowerCoefficients::size
std::size_t size() const
number of coefficients
Definition
meta/power/coefficients.hh:48
Dune::PowerCoefficients::PowerCoefficients
PowerCoefficients(const Backend &backend, std::size_t power)
Construct a PowerCoefficients object.
Definition
meta/power/coefficients.hh:37
Dune::PowerCoefficients::localKey
const LocalKey & localKey(std::size_t i) const
get i'th index
Definition
meta/power/coefficients.hh:51
Generated by
1.17.0