MFEM
v4.6.0
Finite element discretization library
|
Class for computing 1D special polynomials and their associated basis functions. More...
#include <fe_base.hpp>
Classes | |
class | Basis |
Class for evaluating 1D nodal, positive (Bernstein), or integrated (Gerritsma) bases. More... | |
Public Types | |
enum | EvalType { ChangeOfBasis = 0, Barycentric = 1, Positive = 2, Integrated = 3, NumEvalTypes = 4 } |
One-dimensional basis evaluation type. More... | |
Public Member Functions | |
Poly_1D () | |
const double * | GetPoints (const int p, const int btype) |
Get the coordinates of the points of the given BasisType, btype. More... | |
const double * | OpenPoints (const int p, const int btype=BasisType::GaussLegendre) |
Get coordinates of an open (GaussLegendre) set of points if degree p. More... | |
const double * | ClosedPoints (const int p, const int btype=BasisType::GaussLobatto) |
Get coordinates of a closed (GaussLegendre) set of points if degree p. More... | |
Basis & | GetBasis (const int p, const int btype) |
Get a Poly_1D::Basis object of the given degree and BasisType, btype. More... | |
~Poly_1D () | |
Static Public Member Functions | |
static const int * | Binom (const int p) |
Get a pointer to an array containing the binomial coefficients "p
choose k" for k=0,...,p for the given p. More... | |
static void | CalcBasis (const int p, const double x, double *u) |
Evaluate the values of a hierarchical 1D basis at point x hierarchical = k-th basis function is degree k polynomial. More... | |
static void | CalcBasis (const int p, const double x, Vector &u) |
Evaluate the values of a hierarchical 1D basis at point x hierarchical = k-th basis function is degree k polynomial. More... | |
static void | CalcBasis (const int p, const double x, double *u, double *d) |
Evaluate the values and derivatives of a hierarchical 1D basis at point x. More... | |
static void | CalcBasis (const int p, const double x, Vector &u, Vector &d) |
Evaluate the values and derivatives of a hierarchical 1D basis at point x. More... | |
static void | CalcBasis (const int p, const double x, double *u, double *d, double *dd) |
Evaluate the values, derivatives and second derivatives of a hierarchical 1D basis at point x. More... | |
static void | CalcBasis (const int p, const double x, Vector &u, Vector &d, Vector &dd) |
Evaluate the values, derivatives and second derivatives of a hierarchical 1D basis at point x. More... | |
static double | CalcDelta (const int p, const double x) |
Evaluate a representation of a Delta function at point x. More... | |
static void | ChebyshevPoints (const int p, double *x) |
Compute the points for the Chebyshev polynomials of order p and place them in the already allocated x array. More... | |
static void | CalcBinomTerms (const int p, const double x, const double y, double *u) |
Compute the p terms in the expansion of the binomial (x + y)^p and store them in the already allocated u array. More... | |
static void | CalcBinomTerms (const int p, const double x, const double y, double *u, double *d) |
Compute the terms in the expansion of the binomial (x + y)^p and their derivatives with respect to x assuming that dy/dx = -1. Store the results in the already allocated u and d arrays. More... | |
static void | CalcDBinomTerms (const int p, const double x, const double y, double *d) |
Compute the derivatives (w.r.t. x) of the terms in the expansion of the binomial (x + y)^p assuming that dy/dx = -1. Store the results in the already allocated d array. More... | |
static void | CalcBernstein (const int p, const double x, double *u) |
Compute the values of the Bernstein basis functions of order p at coordinate x and store the results in the already allocated u array. More... | |
static void | CalcBernstein (const int p, const double x, Vector &u) |
Compute the values of the Bernstein basis functions of order p at coordinate x and store the results in the already allocated u array. More... | |
static void | CalcBernstein (const int p, const double x, double *u, double *d) |
Compute the values and derivatives of the Bernstein basis functions of order p at coordinate x and store the results in the already allocated u and d arrays. More... | |
static void | CalcBernstein (const int p, const double x, Vector &u, Vector &d) |
Compute the values and derivatives of the Bernstein basis functions of order p at coordinate x and store the results in the already allocated u and d arrays. More... | |
static void | CalcLegendre (const int p, const double x, double *u) |
static void | CalcLegendre (const int p, const double x, double *u, double *d) |
Class for computing 1D special polynomials and their associated basis functions.
Definition at line 963 of file fe_base.hpp.
One-dimensional basis evaluation type.
Definition at line 967 of file fe_base.hpp.
|
inline |
Definition at line 1048 of file fe_base.hpp.
mfem::Poly_1D::~Poly_1D | ( | ) |
Definition at line 2233 of file fe_base.cpp.
|
static |
Get a pointer to an array containing the binomial coefficients "p choose k" for k=0,...,p for the given p.
Definition at line 1942 of file fe_base.cpp.
|
inlinestatic |
Evaluate the values of a hierarchical 1D basis at point x hierarchical = k-th basis function is degree k polynomial.
Definition at line 1087 of file fe_base.hpp.
|
inlinestatic |
Evaluate the values of a hierarchical 1D basis at point x hierarchical = k-th basis function is degree k polynomial.
Definition at line 1097 of file fe_base.hpp.
|
inlinestatic |
Evaluate the values and derivatives of a hierarchical 1D basis at point x.
Definition at line 1101 of file fe_base.hpp.
|
inlinestatic |
Evaluate the values and derivatives of a hierarchical 1D basis at point x.
Definition at line 1109 of file fe_base.hpp.
|
inlinestatic |
Evaluate the values, derivatives and second derivatives of a hierarchical 1D basis at point x.
Definition at line 1113 of file fe_base.hpp.
|
inlinestatic |
Evaluate the values, derivatives and second derivatives of a hierarchical 1D basis at point x.
Definition at line 1122 of file fe_base.hpp.
|
inlinestatic |
Compute the values of the Bernstein basis functions of order p at coordinate x and store the results in the already allocated u array.
Definition at line 1152 of file fe_base.hpp.
|
inlinestatic |
Compute the values of the Bernstein basis functions of order p at coordinate x and store the results in the already allocated u array.
Definition at line 1158 of file fe_base.hpp.
|
inlinestatic |
Compute the values and derivatives of the Bernstein basis functions of order p at coordinate x and store the results in the already allocated u and d arrays.
Definition at line 1164 of file fe_base.hpp.
|
inlinestatic |
Compute the values and derivatives of the Bernstein basis functions of order p at coordinate x and store the results in the already allocated u and d arrays.
Definition at line 1170 of file fe_base.hpp.
|
static |
Compute the p terms in the expansion of the binomial (x + y)^p and store them in the already allocated u array.
Definition at line 1991 of file fe_base.cpp.
|
static |
Compute the terms in the expansion of the binomial (x + y)^p and their derivatives with respect to x assuming that dy/dx = -1. Store the results in the already allocated u and d arrays.
Definition at line 2020 of file fe_base.cpp.
|
static |
Compute the derivatives (w.r.t. x) of the terms in the expansion of the binomial (x + y)^p assuming that dy/dx = -1. Store the results in the already allocated d array.
Definition at line 2055 of file fe_base.cpp.
|
inlinestatic |
Evaluate a representation of a Delta function at point x.
Definition at line 1127 of file fe_base.hpp.
|
static |
Definition at line 2085 of file fe_base.cpp.
|
static |
Definition at line 2099 of file fe_base.cpp.
|
static |
Compute the points for the Chebyshev polynomials of order p and place them in the already allocated x array.
Definition at line 1959 of file fe_base.cpp.
|
inline |
Get coordinates of a closed (GaussLegendre) set of points if degree p.
Definition at line 1071 of file fe_base.hpp.
Poly_1D::Basis & mfem::Poly_1D::GetBasis | ( | const int | p, |
const int | btype | ||
) |
Get a Poly_1D::Basis object of the given degree and BasisType, btype.
[in] | p | The polynomial degree of the basis. |
[in] | btype | The BasisType. |
Definition at line 2208 of file fe_base.cpp.
const double * mfem::Poly_1D::GetPoints | ( | const int | p, |
const int | btype | ||
) |
Get the coordinates of the points of the given BasisType, btype.
[in] | p | The polynomial degree; the number of points is p+1 . |
[in] | btype | The BasisType. |
p+1
coordinates of the points. Returns NULL if the BasisType has no associated set of points. Definition at line 2184 of file fe_base.cpp.
|
inline |
Get coordinates of an open (GaussLegendre) set of points if degree p.
Definition at line 1066 of file fe_base.hpp.