Loading...
Searching...
No Matches
quadrature.h
// Copyright (c) 2020 Chris Richardson
// FEniCS Project
// SPDX-License-Identifier: MIT
#pragma once
#include "cell.h"
#include "polyset.h"
#include <array>
#include <concepts>
#include <vector>
namespace basix::quadrature
{
enum class type
{
Default = 0,
gauss_jacobi = 1,
gll = 2,
xiao_gimbutas = 3,
zienkiewicz_taylor = 20,
keast = 21,
strang_fix = 22,
};
template <std::floating_point T>
std::array<std::vector<T>, 2> gauss_jacobi_rule(T a, int m);
template <std::floating_point T>
std::array<std::vector<T>, 2> make_quadrature(const quadrature::type rule,
cell::type celltype,
polyset::type polytype, int m);
quadrature::type get_default_rule(cell::type celltype, int m);
template <std::floating_point T>
std::vector<T> get_gll_points(int m);
template <std::floating_point T>
std::vector<T> get_gl_points(int m);
} // namespace basix::quadrature
basix::cell::type
type
Cell type.
Definition cell.h:21
basix::polyset::type
type
Cell type.
Definition polyset.h:137
basix::quadrature
Quadrature rules.
Definition quadrature.h:15
basix::quadrature::make_quadrature
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:4934
basix::quadrature::gauss_jacobi_rule
std::array< std::vector< T >, 2 > gauss_jacobi_rule(T a, int m)
Get the Gauss-Jacobi rule for the interval for integrating f(x) * (1-x)^a on the interval [0,...
Definition quadrature.cpp:4920
basix::quadrature::get_gll_points
std::vector< T > get_gll_points(int m)
Get Gauss-Lobatto-Legendre (GLL) points on the interval [0, 1].
Definition quadrature.cpp:4977
basix::quadrature::type
type
Quadrature type.
Definition quadrature.h:19
basix::quadrature::get_gl_points
std::vector< T > get_gl_points(int m)
Get Gauss-Legendre (GL) points on the interval [0, 1].
Definition quadrature.cpp:4968
basix::quadrature::get_default_rule
quadrature::type get_default_rule(cell::type celltype, int m)
Get the default quadrature type for the given cell and order.
Definition quadrature.cpp:4891