Basix 0.9.0

Home     Installation     Demos     C++ docs     Python docs

quadrature.h
1 // Copyright (c) 2020 Chris Richardson
2 // FEniCS Project
3 // SPDX-License-Identifier: MIT
4 
5 #pragma once
6 
7 #include "cell.h"
8 #include "polyset.h"
9 #include <array>
10 #include <concepts>
11 #include <vector>
12 
15 {
16 
18 enum class type
19 {
20  Default = 0,
21  gauss_jacobi = 1,
22  gll = 2,
23  xiao_gimbutas = 3,
24  zienkiewicz_taylor = 20,
25  keast = 21,
26  strang_fix = 22,
27 };
28 
37 template <std::floating_point T>
38 std::array<std::vector<T>, 2> make_quadrature(const quadrature::type rule,
39  cell::type celltype,
40  polyset::type polytype, int m);
41 
48 
53 template <std::floating_point T>
54 std::vector<T> get_gll_points(int m);
55 
59 template <std::floating_point T>
60 std::vector<T> get_gl_points(int m);
61 
62 } // namespace basix::quadrature
type
Cell type.
Definition: cell.h:21
type
Cell type.
Definition: polyset.h:136
Quadrature rules.
Definition: quadrature.h:15
type
Quadrature type.
Definition: quadrature.h:19
std::vector< T > get_gll_points(int m)
Get Gauss-Lobatto-Legendre (GLL) points on the interval [0, 1].
Definition: quadrature.cpp:4965
quadrature::type get_default_rule(cell::type celltype, int m)
Get the default quadrature type for the given cell and order.
Definition: quadrature.cpp:4893
std::array< std::vector< T >, 2 > make_quadrature(const quadrature::type rule, cell::type celltype, polyset::type polytype, int m)
Make a quadrature rule on a reference cell.
Definition: quadrature.cpp:4923
std::vector< T > get_gl_points(int m)
Get Gauss-Legendre (GL) points on the interval [0, 1].
Definition: quadrature.cpp:4957