|
HArD::Core2D
Hybrid Arbitrary Degree::Core 2D - Library to implement 2D schemes with edge and cell polynomials as unknowns
|
Basis for the space of gradients of polynomials. More...
#include <basis.hpp>
Public Types | |
| typedef BasisType::GradientValue | FunctionValue |
| typedef Eigen::Matrix< double, dimspace, dimspace > | GradientValue |
| typedef VectorRd | CurlValue |
| typedef void | DivergenceValue |
| typedef void | RotorValue |
| typedef void | HessianValue |
| typedef BasisType::GeometricSupport | GeometricSupport |
| typedef BasisType | AncestorType |
Public Member Functions | |
| GradientBasis (const BasisType &basis) | |
| Constructor. | |
| size_t | dimension () const |
| Compute the dimension of the basis. | |
| FunctionValue | function (size_t i, const VectorRd &x) const |
| Evaluate the i-th basis function at point x. | |
| constexpr const BasisType & | ancestor () const |
| Return the ancestor (basis that the gradient was taken of) | |
Static Public Attributes | |
| static constexpr const TensorRankE | tensorRank = Vector |
| static constexpr const bool | hasAncestor = true |
| static const bool | hasFunction = true |
| static const bool | hasGradient = false |
| static const bool | hasCurl = false |
| static const bool | hasDivergence = false |
| static const bool | hasRotor = false |
| static const bool | hasHessian = false |
| static const bool | hasCurlCurl = false |
Basis for the space of gradients of polynomials.
To construct a basis of G^k, this assumes that the scalar basis it is constructed from is an ancestor basis of P^{k+1}/P^0, space of polynomials of degree k+1 without trivial polynomial with zero gradient (e.g. polynomials with zero average, or a hierarchical basis of P^{k+1} in which we have removed the first, constant, polynomial). This can also be used to create a family of gradients (not necessarily linearly independent, if the ancestor basis is not a basis of P^{k+1}/P^0)