Basix
Loading...
Searching...
No Matches
lattice.h
1// Copyright (c) 2020-2022 Chris Richardson and Garth N. Wells
2// FEniCS Project
3// SPDX-License-Identifier: MIT
4
5#pragma once
6
7#include "cell.h"
8#include <array>
9#include <concepts>
10#include <utility>
11#include <vector>
12
15{
16
21enum class type
22{
23 equispaced = 0,
24 gll = 1,
25 chebyshev = 2,
26 gl = 4,
28 = 10,
30 = 11,
31};
32
35{
36 none = 0,
38 warp = 1,
40 isaac = 2,
43 centroid = 3,
47};
48
71template <std::floating_point T>
72std::pair<std::vector<T>, std::array<std::size_t, 2>>
75
76} // namespace basix::lattice
A finite element.
Definition finite-element.h:139
type
Cell type.
Definition cell.h:21
Lattices of points.
Definition lattice.h:15
type
The type of point spacing to be used in a lattice.
Definition lattice.h:22
simplex_method
The method used to generate points inside simplices.
Definition lattice.h:35
std::pair< std::vector< T >, std::array< std::size_t, 2 > > create(cell::type celltype, int n, lattice::type type, bool exterior, lattice::simplex_method simplex_method=lattice::simplex_method::none)
Create a lattice of points on a reference cell optionally including the outer surface points.
Definition lattice.cpp:819