Basix
Toggle main menu visibility
Loading...
Searching...
No Matches
cpp
basix
polyset.h
1
// Copyright (c) 2020 Chris Richardson & Matthew Scroggs
2
// FEniCS Project
3
// SPDX-License-Identifier: MIT
4
5
#pragma once
6
7
#include "cell.h"
8
#include "mdspan.hpp"
9
#include "types.h"
10
#include <array>
11
#include <concepts>
12
#include <utility>
13
#include <vector>
14
132
namespace
basix::polyset
133
{
134
136
enum class
type
137
{
138
standard = 0,
139
macroedge = 1,
140
};
141
180
template
<std::
float
ing_po
int
T>
181
std::pair<std::vector<T>, std::array<std::size_t, 3>>
182
tabulate
(
cell::type
celltype,
polyset::type
ptype,
int
d,
int
n,
183
md::mdspan<
const
T, md::dextents<std::size_t, 2>> x);
184
223
template
<std::
float
ing_po
int
T>
224
void
tabulate
(md::mdspan<T, md::dextents<std::size_t, 3>> P,
225
cell::type
celltype,
polyset::type
ptype,
int
d,
int
n,
226
md::mdspan<
const
T, md::dextents<std::size_t, 2>> x);
227
234
int
dim
(
cell::type
cell
,
polyset::type
ptype,
int
d);
235
241
int
nderivs
(
cell::type
cell
,
int
d);
242
249
polyset::type
superset
(
cell::type
cell
,
polyset::type
type1,
250
polyset::type
type2);
251
258
polyset::type
restriction
(
polyset::type
ptype,
cell::type
cell
,
259
cell::type
restriction_cell);
260
261
}
// namespace basix::polyset
basix::cell
Information about reference cells.
Definition
cell.h:17
basix::cell::type
type
Cell type.
Definition
cell.h:21
basix::polyset
Polynomial expansion sets.
Definition
polyset.h:133
basix::polyset::type
type
Cell type.
Definition
polyset.h:137
basix::polyset::dim
int dim(cell::type cell, polyset::type ptype, int d)
Dimension of a polynomial space.
Definition
polyset.cpp:3002
basix::polyset::nderivs
int nderivs(cell::type cell, int d)
Number of derivatives that the orthonormal basis will have on the given cell.
Definition
polyset.cpp:3051
basix::polyset::tabulate
std::pair< std::vector< T >, std::array< std::size_t, 3 > > tabulate(cell::type celltype, polyset::type ptype, int d, int n, md::mdspan< const T, md::dextents< std::size_t, 2 > > x)
Tabulate the orthonormal polynomial basis, and derivatives, at points on the reference cell.
Definition
polyset.cpp:2981
basix::polyset::superset
polyset::type superset(cell::type cell, polyset::type type1, polyset::type type2)
Get the polyset types that is a superset of two types on the given cell.
Definition
polyset.cpp:3076
basix::polyset::restriction
polyset::type restriction(polyset::type ptype, cell::type cell, cell::type restriction_cell)
Get the polyset type that represents the restrictions of a type on a subentity.
Definition
polyset.cpp:3088
Generated by
1.17.0