MFEM
v4.5.2
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 941 of file fe_base.hpp.
One-dimensional basis evaluation type.
Definition at line 945 of file fe_base.hpp.
|
inline |
Definition at line 1026 of file fe_base.hpp.
mfem::Poly_1D::~Poly_1D | ( | ) |
Definition at line 2221 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 1930 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 1065 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 1075 of file fe_base.hpp.
|
inlinestatic |
Evaluate the values and derivatives of a hierarchical 1D basis at point x.
Definition at line 1079 of file fe_base.hpp.
|
inlinestatic |
Evaluate the values and derivatives of a hierarchical 1D basis at point x.
Definition at line 1087 of file fe_base.hpp.
|
inlinestatic |
Evaluate the values, derivatives and second derivatives of a hierarchical 1D basis at point x.
Definition at line 1091 of file fe_base.hpp.
|
inlinestatic |
Evaluate the values, derivatives and second derivatives of a hierarchical 1D basis at point x.
Definition at line 1100 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 1130 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 1136 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 1142 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 1148 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 1979 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 2008 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 2043 of file fe_base.cpp.
|
inlinestatic |
Evaluate a representation of a Delta function at point x.
Definition at line 1105 of file fe_base.hpp.
|
static |
Definition at line 2073 of file fe_base.cpp.
|
static |
Definition at line 2087 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 1947 of file fe_base.cpp.
|
inline |
Get coordinates of a closed (GaussLegendre) set of points if degree p.
Definition at line 1049 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 2196 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 2172 of file fe_base.cpp.
|
inline |
Get coordinates of an open (GaussLegendre) set of points if degree p.
Definition at line 1044 of file fe_base.hpp.