![]() |
MFEM v4.9.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 Array< real_t > * | GetPointsArray (const int p, const int btype) |
| Get the coordinates of the points of the given BasisType, btype. | |
| const real_t * | GetPoints (const int p, const int btype, bool on_device=false) |
| Get the coordinates of the points of the given BasisType, btype. | |
| const real_t * | OpenPoints (const int p, const int btype=BasisType::GaussLegendre, bool on_device=false) |
| Get coordinates of an open (GaussLegendre) set of points if degree p. | |
| const real_t * | ClosedPoints (const int p, const int btype=BasisType::GaussLobatto, bool on_device=false) |
| Get coordinates of a closed (GaussLegendre) set of points if degree p. | |
| Basis & | GetBasis (const int p, const int btype) |
| Get a Poly_1D::Basis object of the given degree and BasisType, btype. | |
| ~Poly_1D ()=default | |
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. | |
| static void | CalcBasis (const int p, const real_t x, real_t *u) |
| Evaluate the values of a hierarchical 1D basis at point x hierarchical = k-th basis function is degree k polynomial. | |
| static void | CalcBasis (const int p, const real_t x, Vector &u) |
| Evaluate the values of a hierarchical 1D basis at point x hierarchical = k-th basis function is degree k polynomial. | |
| static void | CalcBasis (const int p, const real_t x, real_t *u, real_t *d) |
| Evaluate the values and derivatives of a hierarchical 1D basis at point x. | |
| static void | CalcBasis (const int p, const real_t x, Vector &u, Vector &d) |
| Evaluate the values and derivatives of a hierarchical 1D basis at point x. | |
| static void | CalcBasis (const int p, const real_t x, real_t *u, real_t *d, real_t *dd) |
| Evaluate the values, derivatives and second derivatives of a hierarchical 1D basis at point x. | |
| static void | CalcBasis (const int p, const real_t x, Vector &u, Vector &d, Vector &dd) |
| Evaluate the values, derivatives and second derivatives of a hierarchical 1D basis at point x. | |
| static real_t | CalcDelta (const int p, const real_t x) |
| Evaluate a representation of a Delta function at point x. | |
| static void | ChebyshevPoints (const int p, real_t *x) |
| Compute the points for the Chebyshev polynomials of order p and place them in the already allocated x array. | |
| static void | CalcBinomTerms (const int p, const real_t x, const real_t y, real_t *u) |
| Compute the p terms in the expansion of the binomial (x + y)^p and store them in the already allocated u array. | |
| static void | CalcBinomTerms (const int p, const real_t x, const real_t y, real_t *u, real_t *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. | |
| static void | CalcDBinomTerms (const int p, const real_t x, const real_t y, real_t *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. | |
| static void | CalcDxBinomTerms (const int p, const real_t x, const real_t y, real_t *d) |
| Compute the derivatives (w.r.t. x) of the terms in the expansion of the binomial (x + y)^p. Store the results in the already allocated d array. | |
| static void | CalcDyBinomTerms (const int p, const real_t x, const real_t y, real_t *d) |
| Compute the derivatives (w.r.t. y) of the terms in the expansion of the binomial (x + y)^p. Store the results in the already allocated d array. | |
| static void | CalcBernstein (const int p, const real_t x, real_t *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. | |
| static void | CalcBernstein (const int p, const real_t 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. | |
| static void | CalcBernstein (const int p, const real_t x, real_t *u, real_t *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. | |
| static void | CalcBernstein (const int p, const real_t 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. | |
| static void | CalcLegendre (const int p, const real_t x, real_t *u) |
| static void | CalcLegendre (const int p, const real_t x, real_t *u, real_t *d) |
Class for computing 1D special polynomials and their associated basis functions.
Definition at line 990 of file fe_base.hpp.
One-dimensional basis evaluation type.
Definition at line 994 of file fe_base.hpp.
|
inline |
Definition at line 1081 of file fe_base.hpp.
|
default |
|
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 2067 of file fe_base.cpp.
Evaluate the values of a hierarchical 1D basis at point x hierarchical = k-th basis function is degree k polynomial.
Definition at line 1143 of file fe_base.hpp.
|
inlinestatic |
Evaluate the values and derivatives of a hierarchical 1D basis at point x.
Definition at line 1157 of file fe_base.hpp.
|
inlinestatic |
Evaluate the values, derivatives and second derivatives of a hierarchical 1D basis at point x.
Definition at line 1169 of file fe_base.hpp.
Evaluate the values of a hierarchical 1D basis at point x hierarchical = k-th basis function is degree k polynomial.
Definition at line 1153 of file fe_base.hpp.
|
inlinestatic |
Evaluate the values and derivatives of a hierarchical 1D basis at point x.
Definition at line 1165 of file fe_base.hpp.
|
inlinestatic |
Evaluate the values, derivatives and second derivatives of a hierarchical 1D basis at point x.
Definition at line 1178 of file fe_base.hpp.
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 1218 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 1230 of file fe_base.hpp.
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 1224 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 1236 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 2116 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 2145 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 2180 of file fe_base.cpp.
Evaluate a representation of a Delta function at point x.
Definition at line 1183 of file fe_base.hpp.
|
static |
Compute the derivatives (w.r.t. x) of the terms in the expansion of the binomial (x + y)^p. Store the results in the already allocated d array.
Definition at line 2210 of file fe_base.cpp.
|
static |
Compute the derivatives (w.r.t. y) of the terms in the expansion of the binomial (x + y)^p. Store the results in the already allocated d array.
Definition at line 2239 of file fe_base.cpp.
Definition at line 2268 of file fe_base.cpp.
Definition at line 2282 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 2084 of file fe_base.cpp.
|
inline |
Get coordinates of a closed (GaussLegendre) set of points if degree p.
Definition at line 1124 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 2395 of file fe_base.cpp.
|
inline |
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. |
| [in] | on_device | true if the requested pointer should be accessible from the device. |
p+1 coordinates of the points. Returns NULL if the BasisType has no associated set of points. Definition at line 1109 of file fe_base.hpp.
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 2367 of file fe_base.cpp.
|
inline |
Get coordinates of an open (GaussLegendre) set of points if degree p.
Definition at line 1116 of file fe_base.hpp.