Basix
|
basix More...
Functions | |
Eigen::ArrayXXd | compute_jacobi_deriv (double a, int n, int nderiv, const Eigen::ArrayXd &x) |
Eigen::ArrayXd | compute_gauss_jacobi_points (double a, int m) |
std::pair< Eigen::ArrayXd, Eigen::ArrayXd > | compute_gauss_jacobi_rule (double a, int m) |
Gauss-Jacobi quadrature rule (points and weights) More... | |
std::pair< Eigen::ArrayXd, Eigen::ArrayXd > | make_quadrature_line (int m) |
std::pair< Eigen::ArrayX2d, Eigen::ArrayXd > | make_quadrature_triangle_collapsed (int m) |
std::pair< Eigen::ArrayX3d, Eigen::ArrayXd > | make_quadrature_tetrahedron_collapsed (int m) |
std::pair< Eigen::ArrayXXd, Eigen::ArrayXd > | make_quadrature (const std::string &rule, cell::type celltype, int m) |
std::pair< Eigen::ArrayXd, Eigen::ArrayXd > | make_gll_line (int m) |
std::pair< Eigen::ArrayXd, Eigen::ArrayXd > | compute_gll_rule (int m) |
GLL quadrature rule (points and weights) | |
basix
Integration using Gauss-Jacobi quadrature on simplices. Other shapes can be obtained by using a product.
Eigen::ArrayXd basix::quadrature::compute_gauss_jacobi_points | ( | double | a, |
int | m | ||
) |
Finds the m roots of \(P_{m}^{a,0}\) on [-1,1] by Newton's method.
[in] | a | weight in Jacobi (b=0) |
[in] | m | order |
Computes the m roots of \(P_{m}^{a,0}\) on [-1,1] by Newton's method. The initial guesses are the Chebyshev points. Algorithm implemented from the pseudocode given by Karniadakis and Sherwin
std::pair< Eigen::ArrayXd, Eigen::ArrayXd > basix::quadrature::compute_gauss_jacobi_rule | ( | double | a, |
int | m | ||
) |
Gauss-Jacobi quadrature rule (points and weights)
Eigen::ArrayXXd basix::quadrature::compute_jacobi_deriv | ( | double | a, |
int | n, | ||
int | nderiv, | ||
const Eigen::ArrayXd & | x | ||
) |
Evaluate the nth Jacobi polynomial and derivatives with weight parameters (a, 0) at points x
[in] | a | Jacobi weight a |
[in] | n | Order of polynomial |
[in] | nderiv | Number of derivatives (if zero, just compute polynomial itself) |
[in] | x | Points at which to evaluate |
std::pair< Eigen::ArrayXd, Eigen::ArrayXd > basix::quadrature::make_gll_line | ( | int | m | ) |
Compute GLL line quadrature rule on [0, 1]
m | order |
std::pair< Eigen::ArrayXXd, Eigen::ArrayXd > basix::quadrature::make_quadrature | ( | const std::string & | rule, |
cell::type | celltype, | ||
int | m | ||
) |
Utility for quadrature rule on reference cell
[in] | rule | Name of quadrature rule (or use "default") |
[in] | celltype | |
[in] | m | Maximum degree of polynomial that this quadrature rule will integrate exactly |
std::pair< Eigen::ArrayXd, Eigen::ArrayXd > basix::quadrature::make_quadrature_line | ( | int | m | ) |
Compute line quadrature rule on [0, 1]
m | order |
std::pair< Eigen::ArrayX3d, Eigen::ArrayXd > basix::quadrature::make_quadrature_tetrahedron_collapsed | ( | int | m | ) |
Compute tetrahedron quadrature rule on [0, 1]x[0, 1]x[0, 1]
[in] | m | order |
std::pair< Eigen::ArrayX2d, Eigen::ArrayXd > basix::quadrature::make_quadrature_triangle_collapsed | ( | int | m | ) |
Compute triangle quadrature rule on [0, 1]x[0, 1]
[in] | m | order |