MFEM v4.7.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 real_t * | GetPoints (const int p, const int btype) |
Get the coordinates of the points of the given BasisType, btype. | |
const real_t * | OpenPoints (const int p, const int btype=BasisType::GaussLegendre) |
Get coordinates of an open (GaussLegendre) set of points if degree p. | |
const real_t * | ClosedPoints (const int p, const int btype=BasisType::GaussLobatto) |
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 () | |
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 | 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 975 of file fe_base.hpp.
One-dimensional basis evaluation type.
Definition at line 979 of file fe_base.hpp.
|
inline |
Definition at line 1060 of file fe_base.hpp.
mfem::Poly_1D::~Poly_1D | ( | ) |
Definition at line 2340 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 2028 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 1099 of file fe_base.hpp.
|
inlinestatic |
Evaluate the values and 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 1125 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 1109 of file fe_base.hpp.
|
inlinestatic |
Evaluate the values and derivatives of a hierarchical 1D basis at point x.
Definition at line 1121 of file fe_base.hpp.
|
inlinestatic |
Evaluate the values, derivatives and second derivatives of a hierarchical 1D basis at point x.
Definition at line 1134 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 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 1176 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 1170 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 1182 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 2077 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 2106 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 2141 of file fe_base.cpp.
Evaluate a representation of a Delta function at point x.
Definition at line 1139 of file fe_base.hpp.
Definition at line 2171 of file fe_base.cpp.
Definition at line 2185 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 2045 of file fe_base.cpp.
|
inline |
Get coordinates of a closed (GaussLegendre) set of points if degree p.
Definition at line 1083 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 2304 of file fe_base.cpp.
const real_t * 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 2270 of file fe_base.cpp.
|
inline |
Get coordinates of an open (GaussLegendre) set of points if degree p.
Definition at line 1078 of file fe_base.hpp.