HArD::Core2D
Hybrid Arbitrary Degree::Core 2D - Library to implement 2D schemes with edge and cell polynomials as unknowns
Classes | Typedefs | Enumerations | Enumerator | Functions | Variables
Basis

Classes and functions for polynomial basis creation and manipulation. More...

Classes

struct  HArDCore2D::MonomialPowers< GeometricSupport >
 Compute vectors listing the powers of monomial basis functions (for a cell, only this specialization is relevant) up to a certain degree. More...
 
struct  HArDCore2D::MonomialPowers< Cell >
 
struct  HArDCore2D::MatrixGradient< N >
 Structure to store the gradient of a matrix-valued function. More...
 
class  HArDCore2D::MonomialScalarBasisCell
 Scalar monomial basis on a cell. More...
 
class  HArDCore2D::MonomialScalarBasisEdge
 Scalar monomial basis on an edge. More...
 
class  HArDCore2D::Family< BasisType >
 
class  HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >
 Vector family obtained by tensorization of a scalar family. More...
 
class  HArDCore2D::MatrixFamily< ScalarFamilyType, N >
 Matrix family obtained from a scalar family. More...
 
class  HArDCore2D::TangentFamily< ScalarFamilyType >
 Vector family for polynomial functions that are tangent to an edge (determined by the generator) More...
 
class  HArDCore2D::ShiftedBasis< BasisType >
 Generate a basis where the function indices are shifted. More...
 
class  HArDCore2D::RestrictedBasis< BasisType >
 Generate a basis restricted to the first "dimension" functions. More...
 
class  HArDCore2D::GradientBasis< BasisType >
 Basis for the space of gradients of polynomials. More...
 
class  HArDCore2D::CurlBasis< BasisType >
 Basis for the space of curls (vectorial rot) of polynomials. More...
 
class  HArDCore2D::DivergenceBasis< BasisType >
 Basis (or rather family) of divergence of an existing basis. More...
 
class  HArDCore2D::RotorBasis< BasisType >
 Basis (or rather family) of scalar rotor of an existing basis. More...
 
class  HArDCore2D::HessianBasis< BasisType >
 Basis for the space of Hessians of polynomials. More...
 
class  HArDCore2D::RolyComplBasisCell
 Basis for the complement R^{c,k}(T) in P^k(T)^2 of the range of the vectorial rotational on a face. More...
 
class  HArDCore2D::GolyComplBasisCell
 Basis for the complement G^{c,k}(T) in P^k(F)^2 of the range of the gradient on a face. More...
 
class  HArDCore2D::HolyComplBasisCell
 Basis for the complement H^{c,k}(T) in P^k(T)^{2x2} of the range of the Hessian on a face. More...
 
struct  HArDCore2D::detail::basis_evaluation_traits< BasisType, BasisFunction >
 Basis evaluation traits. Only specialization of 'BasisFunction' (=Function, Gradient, Curl, Divergence, or Rotor) are relevant, and determines what kind of value we want to evaluate. More...
 
struct  HArDCore2D::detail::basis_evaluation_traits< BasisType, Function >
 
struct  HArDCore2D::detail::basis_evaluation_traits< BasisType, Gradient >
 
struct  HArDCore2D::detail::basis_evaluation_traits< BasisType, SymmetricGradient >
 
struct  HArDCore2D::detail::basis_evaluation_traits< BasisType, SkewsymmetricGradient >
 
struct  HArDCore2D::detail::basis_evaluation_traits< BasisType, Curl >
 
struct  HArDCore2D::detail::basis_evaluation_traits< BasisType, Divergence >
 
struct  HArDCore2D::detail::basis_evaluation_traits< BasisType, Rotor >
 
struct  HArDCore2D::detail::basis_evaluation_traits< BasisType, Hessian >
 
struct  HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Function >
 
struct  HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Gradient >
 
struct  HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, SymmetricGradient >
 
struct  HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, SkewsymmetricGradient >
 
struct  HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Curl >
 
struct  HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Divergence >
 
struct  HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Rotor >
 
struct  HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Function >
 
struct  HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Divergence >
 
struct  HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Gradient >
 
struct  HArDCore2D::evaluate_quad< BasisFunction >
 Evaluate a basis at quadrature nodes. 'BasisFunction' (=Function, Gradient, Curl, Divergence, or Rotor) determines what kind of value we want to evaluate. More...
 
struct  HArDCore2D::DecomposePoly< BasisType >
 Structure to decompose a set of polynomials on a basis on an edge or a cell. More...
 

Typedefs

typedef Eigen::Matrix2d HArDCore2D::MatrixRd
 
typedef Eigen::Vector2d HArDCore2D::VectorRd
 
typedef Eigen::Vector2i HArDCore2D::VectorZd
 
template<typename T >
using HArDCore2D::BasisQuad = boost::multi_array< T, 2 >
 type for a family of basis functions evaluated on quadrature nodes More...
 
template<typename T >
using HArDCore2D::FType = std::function< T(const VectorRd &)>
 type for function of point. T is the type of value of the function More...
 
typedef double HArDCore2D::MonomialScalarBasisCell::FunctionValue
 
typedef VectorRd HArDCore2D::MonomialScalarBasisCell::GradientValue
 
typedef VectorRd HArDCore2D::MonomialScalarBasisCell::CurlValue
 
typedef void HArDCore2D::MonomialScalarBasisCell::DivergenceValue
 
typedef void HArDCore2D::MonomialScalarBasisCell::RotorValue
 
typedef MatrixRd HArDCore2D::MonomialScalarBasisCell::HessianValue
 
typedef Cell HArDCore2D::MonomialScalarBasisCell::GeometricSupport
 
typedef double HArDCore2D::MonomialScalarBasisEdge::FunctionValue
 
typedef VectorRd HArDCore2D::MonomialScalarBasisEdge::GradientValue
 
typedef VectorRd HArDCore2D::MonomialScalarBasisEdge::CurlValue
 
typedef void HArDCore2D::MonomialScalarBasisEdge::DivergenceValue
 
typedef void HArDCore2D::MonomialScalarBasisEdge::RotorValue
 
typedef void HArDCore2D::MonomialScalarBasisEdge::HessianValue
 
typedef Edge HArDCore2D::MonomialScalarBasisEdge::GeometricSupport
 
typedef BasisType::FunctionValue HArDCore2D::Family< BasisType >::FunctionValue
 
typedef BasisType::GradientValue HArDCore2D::Family< BasisType >::GradientValue
 
typedef BasisType::CurlValue HArDCore2D::Family< BasisType >::CurlValue
 
typedef BasisType::DivergenceValue HArDCore2D::Family< BasisType >::DivergenceValue
 
typedef BasisType::RotorValue HArDCore2D::Family< BasisType >::RotorValue
 
typedef BasisType::HessianValue HArDCore2D::Family< BasisType >::HessianValue
 
typedef BasisType::GeometricSupport HArDCore2D::Family< BasisType >::GeometricSupport
 
typedef BasisType HArDCore2D::Family< BasisType >::AncestorType
 
typedef Eigen::Matrix< double, N, 1 > HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::FunctionValue
 
typedef Eigen::Matrix< double, N, dimspaceHArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::GradientValue
 
typedef GradientValue HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::CurlValue
 
typedef double HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::DivergenceValue
 
typedef double HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::RotorValue
 
typedef void HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::HessianValue
 
typedef ScalarFamilyType::GeometricSupport HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::GeometricSupport
 
typedef ScalarFamilyType HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::AncestorType
 
typedef Eigen::Matrix< double, N, N > HArDCore2D::MatrixFamily< ScalarFamilyType, N >::FunctionValue
 
typedef MatrixGradient< N > HArDCore2D::MatrixFamily< ScalarFamilyType, N >::GradientValue
 
typedef VectorRd HArDCore2D::MatrixFamily< ScalarFamilyType, N >::CurlValue
 
typedef Eigen::Matrix< double, N, 1 > HArDCore2D::MatrixFamily< ScalarFamilyType, N >::DivergenceValue
 
typedef void HArDCore2D::MatrixFamily< ScalarFamilyType, N >::RotorValue
 
typedef void HArDCore2D::MatrixFamily< ScalarFamilyType, N >::HessianValue
 
typedef ScalarFamilyType::GeometricSupport HArDCore2D::MatrixFamily< ScalarFamilyType, N >::GeometricSupport
 
typedef ScalarFamilyType HArDCore2D::MatrixFamily< ScalarFamilyType, N >::AncestorType
 
typedef VectorRd HArDCore2D::TangentFamily< ScalarFamilyType >::FunctionValue
 
typedef VectorRd HArDCore2D::TangentFamily< ScalarFamilyType >::GradientValue
 
typedef VectorRd HArDCore2D::TangentFamily< ScalarFamilyType >::CurlValue
 
typedef void HArDCore2D::TangentFamily< ScalarFamilyType >::DivergenceValue
 
typedef void HArDCore2D::TangentFamily< ScalarFamilyType >::RotorValue
 
typedef void HArDCore2D::TangentFamily< ScalarFamilyType >::HessianValue
 
typedef Edge HArDCore2D::TangentFamily< ScalarFamilyType >::GeometricSupport
 
typedef ScalarFamilyType HArDCore2D::TangentFamily< ScalarFamilyType >::AncestorType
 
typedef BasisType::FunctionValue HArDCore2D::ShiftedBasis< BasisType >::FunctionValue
 
typedef BasisType::GradientValue HArDCore2D::ShiftedBasis< BasisType >::GradientValue
 
typedef BasisType::CurlValue HArDCore2D::ShiftedBasis< BasisType >::CurlValue
 
typedef BasisType::DivergenceValue HArDCore2D::ShiftedBasis< BasisType >::DivergenceValue
 
typedef BasisType::RotorValue HArDCore2D::ShiftedBasis< BasisType >::RotorValue
 
typedef BasisType::HessianValue HArDCore2D::ShiftedBasis< BasisType >::HessianValue
 
typedef BasisType::GeometricSupport HArDCore2D::ShiftedBasis< BasisType >::GeometricSupport
 
typedef BasisType HArDCore2D::ShiftedBasis< BasisType >::AncestorType
 
typedef BasisType::FunctionValue HArDCore2D::RestrictedBasis< BasisType >::FunctionValue
 
typedef BasisType::GradientValue HArDCore2D::RestrictedBasis< BasisType >::GradientValue
 
typedef BasisType::CurlValue HArDCore2D::RestrictedBasis< BasisType >::CurlValue
 
typedef BasisType::DivergenceValue HArDCore2D::RestrictedBasis< BasisType >::DivergenceValue
 
typedef BasisType::RotorValue HArDCore2D::RestrictedBasis< BasisType >::RotorValue
 
typedef BasisType::HessianValue HArDCore2D::RestrictedBasis< BasisType >::HessianValue
 
typedef BasisType::GeometricSupport HArDCore2D::RestrictedBasis< BasisType >::GeometricSupport
 
typedef BasisType HArDCore2D::RestrictedBasis< BasisType >::AncestorType
 
typedef BasisType::GradientValue HArDCore2D::GradientBasis< BasisType >::FunctionValue
 
typedef Eigen::Matrix< double, dimspace, dimspaceHArDCore2D::GradientBasis< BasisType >::GradientValue
 
typedef VectorRd HArDCore2D::GradientBasis< BasisType >::CurlValue
 
typedef void HArDCore2D::GradientBasis< BasisType >::DivergenceValue
 
typedef void HArDCore2D::GradientBasis< BasisType >::RotorValue
 
typedef void HArDCore2D::GradientBasis< BasisType >::HessianValue
 
typedef BasisType::GeometricSupport HArDCore2D::GradientBasis< BasisType >::GeometricSupport
 
typedef BasisType HArDCore2D::GradientBasis< BasisType >::AncestorType
 
typedef VectorRd HArDCore2D::CurlBasis< BasisType >::FunctionValue
 
typedef Eigen::Matrix< double, dimspace, dimspaceHArDCore2D::CurlBasis< BasisType >::GradientValue
 
typedef Eigen::Matrix< double, dimspace, dimspaceHArDCore2D::CurlBasis< BasisType >::CurlValue
 
typedef void HArDCore2D::CurlBasis< BasisType >::DivergenceValue
 
typedef void HArDCore2D::CurlBasis< BasisType >::RotorValue
 
typedef void HArDCore2D::CurlBasis< BasisType >::HessianValue
 
typedef BasisType::GeometricSupport HArDCore2D::CurlBasis< BasisType >::GeometricSupport
 
typedef BasisType HArDCore2D::CurlBasis< BasisType >::AncestorType
 
typedef double HArDCore2D::DivergenceBasis< BasisType >::FunctionValue
 
typedef VectorRd HArDCore2D::DivergenceBasis< BasisType >::GradientValue
 
typedef VectorRd HArDCore2D::DivergenceBasis< BasisType >::CurlValue
 
typedef double HArDCore2D::DivergenceBasis< BasisType >::DivergenceValue
 
typedef void HArDCore2D::DivergenceBasis< BasisType >::HessianValue
 
typedef BasisType::GeometricSupport HArDCore2D::DivergenceBasis< BasisType >::GeometricSupport
 
typedef BasisType HArDCore2D::DivergenceBasis< BasisType >::AncestorType
 
typedef double HArDCore2D::RotorBasis< BasisType >::FunctionValue
 
typedef VectorRd HArDCore2D::RotorBasis< BasisType >::GradientValue
 
typedef VectorRd HArDCore2D::RotorBasis< BasisType >::CurlValue
 
typedef void HArDCore2D::RotorBasis< BasisType >::DivergenceValue
 
typedef void HArDCore2D::RotorBasis< BasisType >::RotorValue
 
typedef void HArDCore2D::RotorBasis< BasisType >::HessianValue
 
typedef BasisType::GeometricSupport HArDCore2D::RotorBasis< BasisType >::GeometricSupport
 
typedef BasisType HArDCore2D::RotorBasis< BasisType >::AncestorType
 
typedef MatrixRd HArDCore2D::HessianBasis< BasisType >::FunctionValue
 
typedef void HArDCore2D::HessianBasis< BasisType >::GradientValue
 
typedef void HArDCore2D::HessianBasis< BasisType >::CurlValue
 
typedef void HArDCore2D::HessianBasis< BasisType >::DivergenceValue
 
typedef void HArDCore2D::HessianBasis< BasisType >::RotorValue
 
typedef void HArDCore2D::HessianBasis< BasisType >::HessianValue
 
typedef BasisType::GeometricSupport HArDCore2D::HessianBasis< BasisType >::GeometricSupport
 
typedef BasisType HArDCore2D::HessianBasis< BasisType >::AncestorType
 
typedef VectorRd HArDCore2D::RolyComplBasisCell::FunctionValue
 
typedef Eigen::Matrix< double, dimspace, dimspaceHArDCore2D::RolyComplBasisCell::GradientValue
 
typedef Eigen::Matrix< double, dimspace, dimspaceHArDCore2D::RolyComplBasisCell::CurlValue
 
typedef double HArDCore2D::RolyComplBasisCell::DivergenceValue
 
typedef void HArDCore2D::RolyComplBasisCell::RotorValue
 
typedef void HArDCore2D::RolyComplBasisCell::HessianValue
 
typedef Cell HArDCore2D::RolyComplBasisCell::GeometricSupport
 
typedef VectorRd HArDCore2D::GolyComplBasisCell::FunctionValue
 
typedef Eigen::Matrix< double, dimspace, dimspaceHArDCore2D::GolyComplBasisCell::GradientValue
 
typedef Eigen::Matrix< double, dimspace, dimspaceHArDCore2D::GolyComplBasisCell::CurlValue
 
typedef void HArDCore2D::GolyComplBasisCell::DivergenceValue
 
typedef double HArDCore2D::GolyComplBasisCell::RotorValue
 
typedef void HArDCore2D::GolyComplBasisCell::HessianValue
 
typedef Cell HArDCore2D::GolyComplBasisCell::GeometricSupport
 
typedef MatrixRd HArDCore2D::HolyComplBasisCell::FunctionValue
 
typedef void HArDCore2D::HolyComplBasisCell::GradientValue
 
typedef void HArDCore2D::HolyComplBasisCell::CurlValue
 
typedef void HArDCore2D::HolyComplBasisCell::DivergenceValue
 
typedef void HArDCore2D::HolyComplBasisCell::RotorValue
 
typedef void HArDCore2D::HolyComplBasisCell::HessianValue
 
typedef Cell HArDCore2D::HolyComplBasisCell::GeometricSupport
 
typedef BasisType::FunctionValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Function >::ReturnValue
 
typedef BasisType::GradientValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Gradient >::ReturnValue
 
typedef BasisType::GradientValue HArDCore2D::detail::basis_evaluation_traits< BasisType, SymmetricGradient >::ReturnValue
 
typedef BasisType::GradientValue HArDCore2D::detail::basis_evaluation_traits< BasisType, SkewsymmetricGradient >::ReturnValue
 
typedef BasisType::CurlValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Curl >::ReturnValue
 
typedef BasisType::DivergenceValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Divergence >::ReturnValue
 
typedef BasisType::RotorValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Rotor >::ReturnValue
 
typedef BasisType::HessianValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Hessian >::ReturnValue
 
typedef TensorizedVectorFamily< ScalarBasisType, N >::FunctionValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Function >::ReturnValue
 
typedef double HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Function >::AncestorBasisFunctionValue
 
typedef TensorizedVectorFamily< ScalarBasisType, N >::GradientValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Gradient >::ReturnValue
 
typedef VectorRd HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Gradient >::AncestorBasisFunctionValue
 
typedef TensorizedVectorFamily< ScalarBasisType, N >::GradientValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, SymmetricGradient >::ReturnValue
 
typedef VectorRd HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, SymmetricGradient >::AncestorBasisFunctionValue
 
typedef TensorizedVectorFamily< ScalarBasisType, N >::GradientValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, SkewsymmetricGradient >::ReturnValue
 
typedef VectorRd HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, SkewsymmetricGradient >::AncestorBasisFunctionValue
 
typedef TensorizedVectorFamily< ScalarBasisType, N >::CurlValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Curl >::ReturnValue
 
typedef VectorRd HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Curl >::AncestorBasisFunctionValue
 
typedef TensorizedVectorFamily< ScalarBasisType, N >::DivergenceValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Divergence >::ReturnValue
 
typedef VectorRd HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Divergence >::AncestorBasisFunctionValue
 
typedef TensorizedVectorFamily< ScalarBasisType, N >::RotorValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Rotor >::ReturnValue
 
typedef VectorRd HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Rotor >::AncestorBasisFunctionValue
 
typedef MatrixFamily< ScalarBasisType, N >::FunctionValue HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Function >::ReturnValue
 
typedef double HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Function >::AncestorBasisFunctionValue
 
typedef MatrixFamily< ScalarBasisType, N >::DivergenceValue HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Divergence >::ReturnValue
 
typedef VectorRd HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Divergence >::AncestorBasisFunctionValue
 
typedef MatrixFamily< ScalarBasisType, N >::GradientValue HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Gradient >::ReturnValue
 
typedef VectorRd HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Gradient >::AncestorBasisFunctionValue
 

Enumerations

enum  HArDCore2D::TensorRankE { HArDCore2D::Scalar = 0 , HArDCore2D::Vector = 1 , HArDCore2D::Matrix = 2 }
 
enum  HArDCore2D::BasisFunctionE {
  HArDCore2D::Function , HArDCore2D::Gradient , HArDCore2D::SymmetricGradient , HArDCore2D::SkewsymmetricGradient ,
  HArDCore2D::Curl , HArDCore2D::Divergence , HArDCore2D::Rotor , HArDCore2D::Hessian
}
 

Functions

static std::vector< VectorZdHArDCore2D::MonomialPowers< Cell >::complete (size_t degree)
 
 HArDCore2D::MatrixGradient< N >::MatrixGradient (Eigen::Matrix< double, N, N > diff_x, Eigen::Matrix< double, N, N > diff_y)
 Constructor. More...
 
 HArDCore2D::MatrixGradient< N >::MatrixGradient ()
 Default constructor. More...
 
MatrixGradient HArDCore2D::MatrixGradient< N >::operator+ (const MatrixGradient &G)
 Addition. More...
 
MatrixGradientHArDCore2D::MatrixGradient< N >::operator+= (const MatrixGradient &G)
 Increment. More...
 
MatrixGradient HArDCore2D::MatrixGradient< N >::operator- (const MatrixGradient &G)
 Subtraction. More...
 
template<size_t N>
MatrixGradient< N > HArDCore2D::operator* (double scalar, MatrixGradient< N > const &G)
 Multiplication of a MatrixGradient from the left (non-member function to be able to multiply from the left) More...
 
 HArDCore2D::MonomialScalarBasisCell::MonomialScalarBasisCell (const Cell &T, size_t degree)
 Constructor. More...
 
size_t HArDCore2D::MonomialScalarBasisCell::dimension () const
 Compute the dimension of the basis. More...
 
FunctionValue HArDCore2D::MonomialScalarBasisCell::function (size_t i, const VectorRd &x) const
 Evaluate the i-th basis function at point x. More...
 
GradientValue HArDCore2D::MonomialScalarBasisCell::gradient (size_t i, const VectorRd &x) const
 Evaluate the gradient of the i-th basis function at point x. More...
 
CurlValue HArDCore2D::MonomialScalarBasisCell::curl (size_t i, const VectorRd &x) const
 Evaluate the curl (vector rot) of the i-th basis function at point x. More...
 
HessianValue HArDCore2D::MonomialScalarBasisCell::hessian (size_t i, const VectorRd &x) const
 Evaluate the Hessian of the i-th basis function at point x. More...
 
size_t HArDCore2D::MonomialScalarBasisCell::max_degree () const
 Returns the maximum degree of the basis functions. More...
 
VectorZd HArDCore2D::MonomialScalarBasisCell::powers (size_t i) const
 Returns the powers of the i-th basis function (its degree can be found using powers(i).sum()) More...
 
 HArDCore2D::MonomialScalarBasisEdge::MonomialScalarBasisEdge (const Edge &E, size_t degree)
 Constructor. More...
 
size_t HArDCore2D::MonomialScalarBasisEdge::dimension () const
 Dimension of the basis. More...
 
FunctionValue HArDCore2D::MonomialScalarBasisEdge::function (size_t i, const VectorRd &x) const
 Evaluate the i-th basis function at point x. More...
 
GradientValue HArDCore2D::MonomialScalarBasisEdge::gradient (size_t i, const VectorRd &x) const
 Evaluate the gradient of the i-th basis function at point x. More...
 
size_t HArDCore2D::MonomialScalarBasisEdge::max_degree () const
 Returns the maximum degree of the basis functions. More...
 
 HArDCore2D::Family< BasisType >::Family (const BasisType &basis, const Eigen::MatrixXd &matrix)
 Constructor. More...
 
size_t HArDCore2D::Family< BasisType >::dimension () const
 Dimension of the family. This is actually the number of functions in the family, not necessarily linearly independent. More...
 
FunctionValue HArDCore2D::Family< BasisType >::function (size_t i, const VectorRd &x) const
 Evaluate the i-th function at point x. More...
 
FunctionValue HArDCore2D::Family< BasisType >::function (size_t i, size_t iqn, const boost::multi_array< FunctionValue, 2 > &ancestor_value_quad) const
 Evaluate the i-th function at a quadrature point iqn, knowing all the values of ancestor basis functions at the quadrature nodes (provided by eval_quad) More...
 
GradientValue HArDCore2D::Family< BasisType >::gradient (size_t i, const VectorRd &x) const
 Evaluate the gradient of the i-th function at point x. More...
 
GradientValue HArDCore2D::Family< BasisType >::gradient (size_t i, size_t iqn, const boost::multi_array< GradientValue, 2 > &ancestor_gradient_quad) const
 Evaluate the gradient of the i-th function at a quadrature point iqn, knowing all the gradients of ancestor basis functions at the quadrature nodes (provided by eval_quad) More...
 
CurlValue HArDCore2D::Family< BasisType >::curl (size_t i, const VectorRd &x) const
 Evaluate the curl of the i-th function at point x. More...
 
CurlValue HArDCore2D::Family< BasisType >::curl (size_t i, size_t iqn, const boost::multi_array< CurlValue, 2 > &ancestor_curl_quad) const
 Evaluate the curl of the i-th function at a quadrature point iqn, knowing all the curls of ancestor basis functions at the quadrature nodes (provided by eval_quad) More...
 
DivergenceValue HArDCore2D::Family< BasisType >::divergence (size_t i, const VectorRd &x) const
 Evaluate the divergence of the i-th function at point x. More...
 
DivergenceValue HArDCore2D::Family< BasisType >::divergence (size_t i, size_t iqn, const boost::multi_array< DivergenceValue, 2 > &ancestor_divergence_quad) const
 Evaluate the divergence of the i-th function at a quadrature point iqn, knowing all the divergences of ancestor basis functions at the quadrature nodes (provided by eval_quad) More...
 
DivergenceValue HArDCore2D::Family< BasisType >::rotor (size_t i, const VectorRd &x) const
 Evaluate the scalar rotor of the i-th function at point x. More...
 
RotorValue HArDCore2D::Family< BasisType >::rotor (size_t i, size_t iqn, const boost::multi_array< RotorValue, 2 > &ancestor_rotor_quad) const
 Evaluate the scalar rotor of the i-th function at a quadrature point iqn, knowing all the scalar rotors of ancestor basis functions at the quadrature nodes (provided by eval_quad) More...
 
HessianValue HArDCore2D::Family< BasisType >::hessian (size_t i, const VectorRd &x) const
 Evaluate the Hessian of the i-th basis function at point x. More...
 
HessianValue HArDCore2D::Family< BasisType >::hessian (size_t i, size_t iqn, const boost::multi_array< HessianValue, 2 > &ancestor_hessian_quad) const
 Evaluate the hessian of the i-th function at a quadrature point iqn, knowing all the hessian of ancestor basis functions at the quadrature nodes (provided by eval_quad) More...
 
const Eigen::MatrixXd & HArDCore2D::Family< BasisType >::matrix () const
 Return the coefficient matrix. More...
 
constexpr const BasisType & HArDCore2D::Family< BasisType >::ancestor () const
 Return the ancestor. More...
 
size_t HArDCore2D::Family< BasisType >::max_degree () const
 Returns the maximum degree of the basis functions. More...
 
 HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::TensorizedVectorFamily (const ScalarFamilyType &scalar_family)
 
size_t HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::dimension () const
 Return the dimension of the family. More...
 
FunctionValue HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::function (size_t i, const VectorRd &x) const
 Evaluate the i-th basis function at point x. More...
 
FunctionValue HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::function (size_t i, size_t iqn, const boost::multi_array< double, 2 > &ancestor_value_quad) const
 Evaluate the i-th basis function at a quadrature point iqn, knowing all the values of ancestor basis functions at the quadrature nodes (provided by eval_quad) More...
 
GradientValue HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::gradient (size_t i, const VectorRd &x) const
 Evaluate the gradient of the i-th basis function at point x. More...
 
GradientValue HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::gradient (size_t i, size_t iqn, const boost::multi_array< VectorRd, 2 > &ancestor_gradient_quad) const
 Evaluate the gradient of the i-th basis function at a quadrature point iqn, knowing all the gradients of ancestor basis functions at the quadrature nodes (provided by eval_quad) More...
 
CurlValue HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::curl (size_t i, const VectorRd &x) const
 Evaluate the curl of the i-th basis function at point x. More...
 
CurlValue HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::curl (size_t i, size_t iqn, const boost::multi_array< VectorRd, 2 > &ancestor_gradient_quad) const
 Evaluate the curl of the i-th basis function at a quadrature point iqn, knowing all the gradients of ancestor basis functions at the quadrature nodes (provided by eval_quad) More...
 
DivergenceValue HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::divergence (size_t i, const VectorRd &x) const
 Evaluate the divergence of the i-th basis function at point x. More...
 
DivergenceValue HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::divergence (size_t i, size_t iqn, const boost::multi_array< VectorRd, 2 > &ancestor_gradient_quad) const
 Evaluate the divergence of the i-th basis function at a quadrature point iqn, knowing all the gradients of ancestor basis functions at the quadrature nodes (provided by eval_quad) More...
 
RotorValue HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::rotor (size_t i, const VectorRd &x) const
 Evaluate the scalar rotor of the i-th basis function at point x. More...
 
RotorValue HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::rotor (size_t i, size_t iqn, const boost::multi_array< VectorRd, 2 > &ancestor_gradient_quad) const
 Evaluate the scalar rotor of the i-th basis function at a quadrature point iqn, knowing all the gradients of ancestor basis functions at the quadrature nodes (provided by eval_quad) More...
 
constexpr const ScalarFamilyType & HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::ancestor () const
 Return the ancestor (family that has been tensorized) More...
 
size_t HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::max_degree () const
 Returns the maximum degree of the basis functions. More...
 
 HArDCore2D::MatrixFamily< ScalarFamilyType, N >::MatrixFamily (const ScalarFamilyType &scalar_family)
 
size_t HArDCore2D::MatrixFamily< ScalarFamilyType, N >::dimension () const
 Return the dimension of the family. More...
 
FunctionValue HArDCore2D::MatrixFamily< ScalarFamilyType, N >::function (size_t i, const VectorRd &x) const
 Evaluate the i-th basis function at point x. More...
 
FunctionValue HArDCore2D::MatrixFamily< ScalarFamilyType, N >::function (size_t i, size_t iqn, const boost::multi_array< double, 2 > &ancestor_value_quad) const
 Evaluate the i-th basis function at a quadrature point iqn, knowing all the values of ancestor basis functions at the quadrature nodes (provided by eval_quad) More...
 
DivergenceValue HArDCore2D::MatrixFamily< ScalarFamilyType, N >::divergence (size_t i, const VectorRd &x) const
 Evaluate the divergence of the i-th basis function at point x. More...
 
DivergenceValue HArDCore2D::MatrixFamily< ScalarFamilyType, N >::divergence (size_t i, size_t iqn, const boost::multi_array< VectorRd, 2 > &ancestor_gradient_quad) const
 Evaluate the divergence of the i-th basis function at a quadrature point iqn, knowing all the gradients of ancestor basis functions at the quadrature nodes (provided by eval_quad) More...
 
GradientValue HArDCore2D::MatrixFamily< ScalarFamilyType, N >::gradient (size_t i, const VectorRd &x) const
 Evaluate the gradient of the i-th basis function at point x. More...
 
GradientValue HArDCore2D::MatrixFamily< ScalarFamilyType, N >::gradient (size_t i, size_t iqn, const boost::multi_array< VectorRd, 2 > &ancestor_gradient_quad) const
 Evaluate the gradient of the i-th basis function at a quadrature point iqn, knowing all the gradients of ancestor basis functions at the quadrature nodes (provided by eval_quad) More...
 
const ScalarFamilyType & HArDCore2D::MatrixFamily< ScalarFamilyType, N >::ancestor () const
 Return the ancestor (family that has been tensorized) More...
 
const size_t HArDCore2D::MatrixFamily< ScalarFamilyType, N >::matrixSize () const
 Return the dimension of the matrices in the family. More...
 
const Eigen::MatrixXd HArDCore2D::MatrixFamily< ScalarFamilyType, N >::transposeOperator () const
 Return the transpose operator, the rN^2 square matrix that to a given vector of coefficients on the Matrix family associate the vector of coefficients corresponding to the transpose. More...
 
const Eigen::MatrixXd HArDCore2D::MatrixFamily< ScalarFamilyType, N >::symmetriseOperator () const
 Return the symmetrisation operator, the rN^2 square matrix that to a given vector of coefficients on the Matrix family associate the vector of coefficients corresponding to the symmetrised matrix. More...
 
const Eigen::MatrixXd HArDCore2D::MatrixFamily< ScalarFamilyType, N >::symmetricBasis () const
 Returns the matrix that can be used, in a Family of this MatrixBasis, to create a basis of the subspace of symmetric matrices. More...
 
 HArDCore2D::TangentFamily< ScalarFamilyType >::TangentFamily (const ScalarFamilyType &scalar_family, const VectorRd &generator)
 Constructor. More...
 
size_t HArDCore2D::TangentFamily< ScalarFamilyType >::dimension () const
 Return the dimension of the family. More...
 
FunctionValue HArDCore2D::TangentFamily< ScalarFamilyType >::function (size_t i, const VectorRd &x) const
 Evaluate the i-th basis function at point x. More...
 
constexpr const ScalarFamilyType & HArDCore2D::TangentFamily< ScalarFamilyType >::ancestor () const
 Return the ancestor (family used for the tangent) More...
 
size_t HArDCore2D::TangentFamily< ScalarFamilyType >::max_degree () const
 Returns the maximum degree of the basis functions. More...
 
VectorRd HArDCore2D::TangentFamily< ScalarFamilyType >::generator () const
 Returns the generator of the basis functions. More...
 
 HArDCore2D::ShiftedBasis< BasisType >::ShiftedBasis (const BasisType &basis, const int shift)
 Constructor. More...
 
size_t HArDCore2D::ShiftedBasis< BasisType >::dimension () const
 Return the dimension of the basis. More...
 
constexpr const BasisType & HArDCore2D::ShiftedBasis< BasisType >::ancestor () const
 Return the underlying complete basis. More...
 
size_t HArDCore2D::ShiftedBasis< BasisType >::max_degree () const
 Returns the maximum degree of the basis functions. More...
 
FunctionValue HArDCore2D::ShiftedBasis< BasisType >::function (size_t i, const VectorRd &x) const
 Evaluate the i-th basis function at point x. More...
 
GradientValue HArDCore2D::ShiftedBasis< BasisType >::gradient (size_t i, const VectorRd &x) const
 Evaluate the gradient of the i-th basis function at point x. More...
 
CurlValue HArDCore2D::ShiftedBasis< BasisType >::curl (size_t i, const VectorRd &x) const
 Evaluate the curl of the i-th basis function at point x. More...
 
DivergenceValue HArDCore2D::ShiftedBasis< BasisType >::divergence (size_t i, const VectorRd &x) const
 Evaluate the divergence of the i-th basis function at point x. More...
 
RotorValue HArDCore2D::ShiftedBasis< BasisType >::rotor (size_t i, const VectorRd &x) const
 Evaluate the scalar rotor of the i-th basis function at point x. More...
 
HessianValue HArDCore2D::ShiftedBasis< BasisType >::hessian (size_t i, const VectorRd &x) const
 Evaluate the Hessian of the i-th basis function at point x. More...
 
 HArDCore2D::RestrictedBasis< BasisType >::RestrictedBasis (const BasisType &basis, const size_t &dimension)
 Constructor. More...
 
size_t HArDCore2D::RestrictedBasis< BasisType >::dimension () const
 Return the dimension of the basis. More...
 
constexpr const BasisType & HArDCore2D::RestrictedBasis< BasisType >::ancestor () const
 Return the underlying complete basis. More...
 
size_t HArDCore2D::RestrictedBasis< BasisType >::max_degree () const
 Returns the maximum degree of the basis functions. More...
 
FunctionValue HArDCore2D::RestrictedBasis< BasisType >::function (size_t i, const VectorRd &x) const
 Evaluate the i-th basis function at point x. More...
 
GradientValue HArDCore2D::RestrictedBasis< BasisType >::gradient (size_t i, const VectorRd &x) const
 Evaluate the gradient of the i-th basis function at point x. More...
 
CurlValue HArDCore2D::RestrictedBasis< BasisType >::curl (size_t i, const VectorRd &x) const
 Evaluate the curl of the i-th basis function at point x. More...
 
DivergenceValue HArDCore2D::RestrictedBasis< BasisType >::divergence (size_t i, const VectorRd &x) const
 Evaluate the divergence of the i-th basis function at point x. More...
 
RotorValue HArDCore2D::RestrictedBasis< BasisType >::rotor (size_t i, const VectorRd &x) const
 Evaluate the rotor of the i-th basis function at point x. More...
 
 HArDCore2D::GradientBasis< BasisType >::GradientBasis (const BasisType &basis)
 Constructor. More...
 
size_t HArDCore2D::GradientBasis< BasisType >::dimension () const
 Compute the dimension of the basis. More...
 
FunctionValue HArDCore2D::GradientBasis< BasisType >::function (size_t i, const VectorRd &x) const
 Evaluate the i-th basis function at point x. More...
 
constexpr const BasisType & HArDCore2D::GradientBasis< BasisType >::ancestor () const
 Return the ancestor (basis that the gradient was taken of) More...
 
 HArDCore2D::CurlBasis< BasisType >::CurlBasis (const BasisType &basis)
 Constructor. More...
 
size_t HArDCore2D::CurlBasis< BasisType >::dimension () const
 Compute the dimension of the basis. More...
 
FunctionValue HArDCore2D::CurlBasis< BasisType >::function (size_t i, const VectorRd &x) const
 Evaluate the i-th basis function at point x. More...
 
constexpr const BasisType & HArDCore2D::CurlBasis< BasisType >::ancestor () const
 Return the ancestor (basis that the gradient was taken of) More...
 
 HArDCore2D::DivergenceBasis< BasisType >::DivergenceBasis (const BasisType &basis)
 Constructor. More...
 
size_t HArDCore2D::DivergenceBasis< BasisType >::dimension () const
 Compute the dimension of the basis. More...
 
FunctionValue HArDCore2D::DivergenceBasis< BasisType >::function (size_t i, const VectorRd &x) const
 Evaluate the i-th basis function at point x. More...
 
constexpr const BasisType & HArDCore2D::DivergenceBasis< BasisType >::ancestor () const
 Return the ancestor (basis that the gradient was taken of) More...
 
 HArDCore2D::RotorBasis< BasisType >::RotorBasis (const BasisType &basis)
 Constructor. More...
 
size_t HArDCore2D::RotorBasis< BasisType >::dimension () const
 Compute the dimension of the basis. More...
 
FunctionValue HArDCore2D::RotorBasis< BasisType >::function (size_t i, const VectorRd &x) const
 Evaluate the i-th basis function at point x. More...
 
constexpr const BasisType & HArDCore2D::RotorBasis< BasisType >::ancestor () const
 Return the ancestor (basis that the gradient was taken of) More...
 
 HArDCore2D::HessianBasis< BasisType >::HessianBasis (const BasisType &basis)
 Constructor. More...
 
size_t HArDCore2D::HessianBasis< BasisType >::dimension () const
 Compute the dimension of the basis. More...
 
FunctionValue HArDCore2D::HessianBasis< BasisType >::function (size_t i, const VectorRd &x) const
 Evaluate the i-th basis function at point x. More...
 
constexpr const BasisType & HArDCore2D::HessianBasis< BasisType >::ancestor () const
 Return the ancestor (basis that the gradient was taken of) More...
 
 HArDCore2D::RolyComplBasisCell::RolyComplBasisCell (const Cell &T, size_t degree)
 Constructor. More...
 
size_t HArDCore2D::RolyComplBasisCell::dimension () const
 Compute the dimension of the basis. More...
 
FunctionValue HArDCore2D::RolyComplBasisCell::function (size_t i, const VectorRd &x) const
 Evaluate the i-th basis function at point x. More...
 
DivergenceValue HArDCore2D::RolyComplBasisCell::divergence (size_t i, const VectorRd &x) const
 Evaluate the divergence of the i-th basis function at point x. More...
 
size_t HArDCore2D::RolyComplBasisCell::max_degree () const
 Returns the maximum degree of the basis functions. More...
 
VectorZd HArDCore2D::RolyComplBasisCell::powers (size_t i) const
 Returns the powers of the i-th basis function (not including the vector part) More...
 
 HArDCore2D::GolyComplBasisCell::GolyComplBasisCell (const Cell &T, size_t degree)
 Constructor. More...
 
size_t HArDCore2D::GolyComplBasisCell::dimension () const
 Dimension of the basis. More...
 
FunctionValue HArDCore2D::GolyComplBasisCell::function (size_t i, const VectorRd &x) const
 Evaluate the i-th basis function at point x. More...
 
RotorValue HArDCore2D::GolyComplBasisCell::rotor (size_t i, const VectorRd &x) const
 Evaluate the rotor of the i-th basis function at point x. More...
 
const std::shared_ptr< RolyComplBasisCell > & HArDCore2D::GolyComplBasisCell::rck () const
 Return the Rck basis. More...
 
 HArDCore2D::HolyComplBasisCell::HolyComplBasisCell (const Cell &T, size_t degree)
 Constructor. More...
 
size_t HArDCore2D::HolyComplBasisCell::dimension () const
 Compute the dimension of the basis. More...
 
FunctionValue HArDCore2D::HolyComplBasisCell::function (size_t i, const VectorRd &x) const
 Evaluate the i-th basis function at point x. More...
 
size_t HArDCore2D::HolyComplBasisCell::max_degree () const
 Returns the maximum degree of the basis functions. More...
 
template<typename outValue , typename inValue , typename FunctionType >
boost::multi_array< outValue, 2 > HArDCore2D::transform_values_quad (const boost::multi_array< inValue, 2 > &B_quad, const FunctionType &F)
 Takes an array B_quad of values at quadrature nodes and applies the function F to all of them. F must take inValue and return outValue. The function must be called with outValue as template argument: transform_values_quad<outValue>(...) More...
 
template<typename ScalarBasisType , size_t N>
Family< TensorizedVectorFamily< ScalarBasisType, N > > HArDCore2D::GenericTensorization (const ScalarBasisType &B, const std::vector< Eigen::VectorXd > &v)
 From a scalar family B=(B_1..B_r) and vectors (v_1..v_k) in R^N, constructs a "Family" of "TensorizedVectorFamily" (built on B, of size N) that represents the family (B_1v_1..B_rv_1 B_1v_2...B_rv_2... B_1v_k..B_rv_k). More...
 
template<typename ScalarBasisType , size_t N>
Family< MatrixFamily< ScalarBasisType, N > > HArDCore2D::IsotropicMatrixFamily (const ScalarBasisType &B)
 From a scalar family B, constructs a "Family" of "MatrixFamily" (built on B, of size NxN) that represents the family B Id on the MatrixFamily. More...
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Function >::evaluate (const BasisType &basis, size_t i, const VectorRd &x)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Function >::evaluate (const BasisType &basis, size_t i, size_t iqn, const boost::multi_array< ReturnValue, 2 > &ancestor_value_quad)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Gradient >::evaluate (const BasisType &basis, size_t i, const VectorRd &x)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Gradient >::evaluate (const BasisType &basis, size_t i, size_t iqn, const boost::multi_array< ReturnValue, 2 > &ancestor_gradient_quad)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< BasisType, SymmetricGradient >::evaluate (const BasisType &basis, size_t i, const VectorRd &x)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< BasisType, SymmetricGradient >::evaluate (const BasisType &basis, size_t i, size_t iqn, const boost::multi_array< ReturnValue, 2 > &ancestor_gradient_quad)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< BasisType, SkewsymmetricGradient >::evaluate (const BasisType &basis, size_t i, const VectorRd &x)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< BasisType, SkewsymmetricGradient >::evaluate (const BasisType &basis, size_t i, size_t iqn, const boost::multi_array< ReturnValue, 2 > &ancestor_gradient_quad)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Curl >::evaluate (const BasisType &basis, size_t i, const VectorRd &x)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Curl >::evaluate (const BasisType &basis, size_t i, size_t iqn, const boost::multi_array< ReturnValue, 2 > &ancestor_curl_quad)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Divergence >::evaluate (const BasisType &basis, size_t i, const VectorRd &x)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Divergence >::evaluate (const BasisType &basis, size_t i, size_t iqn, const boost::multi_array< ReturnValue, 2 > &ancestor_divergence_quad)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Rotor >::evaluate (const BasisType &basis, size_t i, const VectorRd &x)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Rotor >::evaluate (const BasisType &basis, size_t i, size_t iqn, const boost::multi_array< ReturnValue, 2 > &ancestor_rotor_quad)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Hessian >::evaluate (const BasisType &basis, size_t i, const VectorRd &x)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Hessian >::evaluate (const BasisType &basis, size_t i, size_t iqn, const boost::multi_array< ReturnValue, 2 > &ancestor_hessian_quad)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Function >::evaluate (const TensorizedVectorFamily< ScalarBasisType, N > &basis, size_t i, const VectorRd &x)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Function >::evaluate (const TensorizedVectorFamily< ScalarBasisType, N > &basis, size_t i, size_t iqn, const boost::multi_array< double, 2 > &ancestor_basis_quad)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Gradient >::evaluate (const TensorizedVectorFamily< ScalarBasisType, N > &basis, size_t i, const VectorRd &x)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Gradient >::evaluate (const TensorizedVectorFamily< ScalarBasisType, N > &basis, size_t i, size_t iqn, const boost::multi_array< VectorRd, 2 > &ancestor_basis_quad)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, SymmetricGradient >::evaluate (const TensorizedVectorFamily< ScalarBasisType, N > &basis, size_t i, const VectorRd &x)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, SymmetricGradient >::evaluate (const TensorizedVectorFamily< ScalarBasisType, N > &basis, size_t i, size_t iqn, const boost::multi_array< VectorRd, 2 > &ancestor_basis_quad)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, SkewsymmetricGradient >::evaluate (const TensorizedVectorFamily< ScalarBasisType, N > &basis, size_t i, const VectorRd &x)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, SkewsymmetricGradient >::evaluate (const TensorizedVectorFamily< ScalarBasisType, N > &basis, size_t i, size_t iqn, const boost::multi_array< VectorRd, 2 > &ancestor_basis_quad)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Curl >::evaluate (const TensorizedVectorFamily< ScalarBasisType, N > &basis, size_t i, const VectorRd &x)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Curl >::evaluate (const TensorizedVectorFamily< ScalarBasisType, N > &basis, size_t i, size_t iqn, const boost::multi_array< VectorRd, 2 > &ancestor_basis_quad)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Divergence >::evaluate (const TensorizedVectorFamily< ScalarBasisType, N > &basis, size_t i, const VectorRd &x)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Divergence >::evaluate (const TensorizedVectorFamily< ScalarBasisType, N > &basis, size_t i, size_t iqn, const boost::multi_array< VectorRd, 2 > &ancestor_basis_quad)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Rotor >::evaluate (const TensorizedVectorFamily< ScalarBasisType, N > &basis, size_t i, const VectorRd &x)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Rotor >::evaluate (const TensorizedVectorFamily< ScalarBasisType, N > &basis, size_t i, size_t iqn, const boost::multi_array< VectorRd, 2 > &ancestor_basis_quad)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Function >::evaluate (const MatrixFamily< ScalarBasisType, N > &basis, size_t i, const VectorRd &x)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Function >::evaluate (const MatrixFamily< ScalarBasisType, N > &basis, size_t i, size_t iqn, const boost::multi_array< double, 2 > &ancestor_basis_quad)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Divergence >::evaluate (const MatrixFamily< ScalarBasisType, N > &basis, size_t i, const VectorRd &x)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Divergence >::evaluate (const MatrixFamily< ScalarBasisType, N > &basis, size_t i, size_t iqn, const boost::multi_array< VectorRd, 2 > &ancestor_basis_quad)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Gradient >::evaluate (const MatrixFamily< ScalarBasisType, N > &basis, size_t i, const VectorRd &x)
 
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Gradient >::evaluate (const MatrixFamily< ScalarBasisType, N > &basis, size_t i, size_t iqn, const boost::multi_array< VectorRd, 2 > &ancestor_basis_quad)
 
template<typename BasisType >
static boost::multi_array< typename detail::basis_evaluation_traits< BasisType, BasisFunction >::ReturnValue, 2 > HArDCore2D::evaluate_quad< BasisFunction >::compute (const BasisType &basis, const QuadratureRule &quad)
 Generic basis evaluation. More...
 
template<typename BasisType >
static boost::multi_array< typename detail::basis_evaluation_traits< Family< BasisType >, BasisFunction >::ReturnValue, 2 > HArDCore2D::evaluate_quad< BasisFunction >::compute (const Family< BasisType > &basis, const QuadratureRule &quad)
 Evaluate a 'Family' of functions at quadrature nodes (optimised compared the generic basis evaluation, to avoid computing several times the ancestor basis at the quadrature nodes) More...
 
template<typename BasisType , size_t N>
static boost::multi_array< typename detail::basis_evaluation_traits< TensorizedVectorFamily< BasisType, N >, BasisFunction >::ReturnValue, 2 > HArDCore2D::evaluate_quad< BasisFunction >::compute (const TensorizedVectorFamily< BasisType, N > &basis, const QuadratureRule &quad)
 Evaluate a tensorized family at quadrature nodes (optimised compared the generic basis evaluation, to avoid computing several times the ancestor basis at the quadrature nodes) More...
 
template<typename BasisType , size_t N>
static boost::multi_array< typename detail::basis_evaluation_traits< MatrixFamily< BasisType, N >, BasisFunction >::ReturnValue, 2 > HArDCore2D::evaluate_quad< BasisFunction >::compute (const MatrixFamily< BasisType, N > &basis, const QuadratureRule &quad)
 Evaluate a Matrix family at quadrature nodes (optimised compared the generic basis evaluation, to avoid computing several times the ancestor basis at the quadrature nodes) More...
 
template<typename T >
Eigen::MatrixXd HArDCore2D::gram_schmidt (boost::multi_array< T, 2 > &basis_eval, const std::function< double(size_t, size_t)> &inner_product)
 
double HArDCore2D::scalar_product (const double &x, const double &y)
 Scalar product between two reals. More...
 
double HArDCore2D::scalar_product (const VectorRd &x, const VectorRd &y)
 Scalar product between two vectors. More...
 
template<int N>
double HArDCore2D::scalar_product (const Eigen::Matrix< double, N, N > &x, const Eigen::Matrix< double, N, N > &y)
 Scalar product between two matrices. More...
 
template<typename Value >
boost::multi_array< double, 2 > HArDCore2D::scalar_product (const boost::multi_array< Value, 2 > &basis_quad, const Value &v)
 This overloading of the scalar_product function computes the scalar product between an evaluation of a basis and a constant value; both basis values and constant value must be of type Value. More...
 
template<typename Value >
boost::multi_array< double, 2 > HArDCore2D::scalar_product (const boost::multi_array< Value, 2 > &basis_quad, const std::vector< Value > &v)
 This overloading of the scalar_product function computes the scalar product between an evaluation of a basis and a field that varies on the quadrature nodes; both basis values and constant value must be of type Value. More...
 
boost::multi_array< VectorRd, 2 > HArDCore2D::matrix_vector_product (const boost::multi_array< MatrixRd, 2 > &basis_quad, const std::vector< VectorRd > &v_quad)
 Take the product of a matrix-valued basis with a vector. More...
 
boost::multi_array< VectorRd, 2 > HArDCore2D::matrix_vector_product (const std::vector< MatrixRd > &m_quad, const boost::multi_array< VectorRd, 2 > &basis_quad)
 Take the product of a matrix with a vector-valued basis. More...
 
boost::multi_array< VectorRd, 2 > HArDCore2D::vector_matrix_product (const std::vector< VectorRd > &v_quad, const boost::multi_array< MatrixRd, 2 > &basis_quad)
 Take the product of (the transposed of) a vector with a matrix-valued basis. More...
 
template<typename BasisType >
Family< BasisType > HArDCore2D::l2_orthonormalize (const BasisType &basis, const QuadratureRule &qr, boost::multi_array< typename BasisType::FunctionValue, 2 > &basis_quad)
 \(L^2\)-orthonormalization: simply consists in using gram_schmidt() with the specific l2 inner product More...
 
template<typename BasisType >
Family< BasisType > HArDCore2D::l2_orthonormalize (const BasisType &basis, const Eigen::MatrixXd &GM)
 \(L^2\)-orthonormalization: when the Gram Matrix is passed, we use Cholesky. More...
 
template<typename FunctionValue >
Eigen::MatrixXd HArDCore2D::compute_gram_matrix (const boost::multi_array< FunctionValue, 2 > &B1, const boost::multi_array< FunctionValue, 2 > &B2, const QuadratureRule &qr, const size_t nrows, const size_t ncols, const std::string sym="nonsym")
 Compute the Gram-like matrix given the evaluation of two families of functions at quadrature nodes. This templated function is very generic, and thus not the most efficient. More efficient overloads are provided for double- or Vector2d-valued families. More...
 
template<typename FunctionValue >
Eigen::MatrixXd HArDCore2D::compute_gram_matrix (const boost::multi_array< FunctionValue, 2 > &B1, const boost::multi_array< FunctionValue, 2 > &B2, const QuadratureRule &qr, const std::string sym="nonsym")
 Compute the Gram-like matrix given the evaluation of two families of functions at quadrature nodes. This version calls the generic one with nrows = nb of elements in family B1 and ncols = nb of elements in family B2. More...
 
template<typename FunctionValue >
Eigen::MatrixXd HArDCore2D::compute_gram_matrix (const boost::multi_array< FunctionValue, 2 > &B, const QuadratureRule &qr)
 Compute the Gram matrix given the evaluation of one family of functions at quadrature nodes. Consists in calling the generic templated version with B1=B2. More...
 
Eigen::MatrixXd HArDCore2D::compute_gram_matrix (const boost::multi_array< VectorRd, 2 > &B1, const boost::multi_array< double, 2 > &B2, const QuadratureRule &qr)
 Compute the Gram-like matrix given a family of vector-valued and one of scalar-valued functions by tensorizing the latter. More...
 
Eigen::MatrixXd HArDCore2D::compute_gram_matrix (const boost::multi_array< double, 2 > &B1, const boost::multi_array< double, 2 > &B2, const QuadratureRule &qr, const size_t nrows, const size_t ncols, const std::string sym="nonsym")
 Compute the Gram-like matrix given the evaluation of two families of functions at quadrature nodes. This version is an overload for double-valued families, more efficient than the generic templated version. More...
 
Eigen::MatrixXd HArDCore2D::compute_gram_matrix (const boost::multi_array< double, 2 > &B1, const boost::multi_array< double, 2 > &B2, const QuadratureRule &qr, const std::string sym="nonsym")
 Compute the Gram-like matrix given the evaluation of two families of functions at quadrature nodes. Consists in calling the double-valued version with nrows = nb of elements in B1, ncols = nb of elements in B2. More...
 
Eigen::MatrixXd HArDCore2D::compute_gram_matrix (const boost::multi_array< VectorRd, 2 > &B1, const boost::multi_array< VectorRd, 2 > &B2, const QuadratureRule &qr, const size_t nrows, const size_t ncols, const std::string sym="nonsym")
 Compute the Gram-like matrix given the evaluation of two families of functions at quadrature nodes. This version is an overload for Vector2d-valued families, more efficient than the generic templated version. More...
 
Eigen::MatrixXd HArDCore2D::compute_gram_matrix (const boost::multi_array< VectorRd, 2 > &B1, const boost::multi_array< VectorRd, 2 > &B2, const QuadratureRule &qr, const std::string sym="nonsym")
 Compute the Gram-like matrix given the evaluation of two families of functions at quadrature nodes. Consists in calling the Vector2d-valued version with nrows = nb of elements in B1, ncols = nb of elements in B2. More...
 
template<typename ScalarFamilyType , size_t N>
Eigen::MatrixXd HArDCore2D::compute_gram_matrix (const MatrixFamily< ScalarFamilyType, N > &MatFam, const boost::multi_array< double, 2 > &scalar_family_quad, const QuadratureRule &qr)
 Compute the Gram-like matrix for a MatrixFamily. This overload is more efficient than the generic function as it only computes the gram matrix of the underlying scalar family, and then creates the bloc-diagonal gram matrix of the MatrixFamily (which is indeed bloc diagonal given the choice of m_E elements in this class). More...
 
template<typename T >
Eigen::VectorXd HArDCore2D::integrate (const FType< T > &f, const BasisQuad< T > &B, const QuadratureRule &qr, size_t n_rows=0)
 Compute the integral of a given function against all functions from a family. More...
 
template<typename T , typename U >
Eigen::MatrixXd HArDCore2D::compute_weighted_gram_matrix (const FType< U > &f, const BasisQuad< T > &B1, const BasisQuad< T > &B2, const QuadratureRule &qr, size_t n_rows=0, size_t n_cols=0, const std::string sym="nonsym")
 Computes the Gram-like matrix of integrals (f phi_i, phi_j) More...
 
template<typename T , typename U >
Eigen::MatrixXd HArDCore2D::compute_weighted_gram_matrix (const FType< U > &f, const BasisQuad< T > &B1, const BasisQuad< T > &B2, const QuadratureRule &qr, const std::string sym)
 Computes the Gram-like matrix of integrals (f phi_i, phi_j) More...
 
Eigen::MatrixXd HArDCore2D::compute_weighted_gram_matrix (const FType< VectorRd > &f, const BasisQuad< VectorRd > &B1, const BasisQuad< double > &B2, const QuadratureRule &qr, size_t n_rows=0, size_t n_cols=0)
 Computes the Gram-like matrix of integrals (f dot phi_i, phi_j) More...
 
Eigen::MatrixXd HArDCore2D::compute_weighted_gram_matrix (const FType< VectorRd > &f, const BasisQuad< double > &B1, const BasisQuad< VectorRd > &B2, const QuadratureRule &qr, size_t n_rows=0, size_t n_cols=0)
 Computes the Gram-like matrix of integrals (phi_i, f dot phi_j) More...
 
template<typename Value >
Eigen::MatrixXd HArDCore2D::compute_closure_matrix (const boost::multi_array< Value, 2 > &f_quad, const boost::multi_array< Value, 2 > &g_quad, const QuadratureRule &qr_f, const QuadratureRule &qr_g)
 Computes closure equation matrices, from evaluations at quadrature nodes. For two families of functions \((f_i)\) and \((g_j)\) with values in some space E, this routine computes the matrix \((\int f_i)\cdot(\int g_j)\) where \(\cdot\) is the dot product in E. More...
 
template<typename Value >
Eigen::MatrixXd HArDCore2D::compute_closure_matrix (const boost::multi_array< Value, 2 > &f_quad, const boost::multi_array< Value, 2 > &g_quad, const QuadratureRule &qr)
 Computes closure equation matrices. Overload of the previous one when qr_f=qr_g. More...
 
template<typename Value >
Eigen::MatrixXd HArDCore2D::compute_closure_matrix (const boost::multi_array< Value, 2 > &f_quad, const QuadratureRule &qr)
 Computes closure equation matrices. Overload of the previous one when f=g. More...
 
template<typename BasisType >
Eigen::VectorXd HArDCore2D::l2_projection (const std::function< typename BasisType::FunctionValue(const VectorRd &)> &f, const BasisType &basis, QuadratureRule &quad, const boost::multi_array< typename BasisType::FunctionValue, 2 > &basis_quad, const Eigen::MatrixXd &mass_basis=Eigen::MatrixXd::Zero(1, 1))
 Compute the L2-projection of a function. More...
 
 HArDCore2D::DecomposePoly< BasisType >::DecomposePoly (const Edge &E, const BasisType &basis)
 Constructor for edge. More...
 
 HArDCore2D::DecomposePoly< BasisType >::DecomposePoly (const Cell &T, const BasisType &basis)
 Constructor for cell. More...
 
QuadratureRule HArDCore2D::DecomposePoly< BasisType >::get_nodes () const
 Return the set of nodes (useful to compute value of polynomial to decompose via evaluate_quad) More...
 
Family< BasisType > HArDCore2D::DecomposePoly< BasisType >::family (boost::multi_array< typename BasisType::FunctionValue, 2 > &values)
 Returns the decomposed polynomials as a Family of the provided basis. More...
 

Variables

constexpr int HArDCore2D::dimspace = 2
 Dimension, and generic types for vector in correct dimension (makes it easier to translate a code between 2D and 3D) More...
 
Eigen::Matrix< double, N, N > HArDCore2D::MatrixGradient< N >::dx
 
Eigen::Matrix< double, N, N > HArDCore2D::MatrixGradient< N >::dy
 
constexpr static const TensorRankE HArDCore2D::MonomialScalarBasisCell::tensorRank = Scalar
 
constexpr static const bool HArDCore2D::MonomialScalarBasisCell::hasAncestor = false
 
static const bool HArDCore2D::MonomialScalarBasisCell::hasFunction = true
 
static const bool HArDCore2D::MonomialScalarBasisCell::hasGradient = true
 
static const bool HArDCore2D::MonomialScalarBasisCell::hasCurl = true
 
static const bool HArDCore2D::MonomialScalarBasisCell::hasDivergence = false
 
static const bool HArDCore2D::MonomialScalarBasisCell::hasRotor = false
 
static const bool HArDCore2D::MonomialScalarBasisCell::hasHessian = true
 
constexpr static const TensorRankE HArDCore2D::MonomialScalarBasisEdge::tensorRank = Scalar
 
constexpr static const bool HArDCore2D::MonomialScalarBasisEdge::hasAncestor = false
 
static const bool HArDCore2D::MonomialScalarBasisEdge::hasFunction = true
 
static const bool HArDCore2D::MonomialScalarBasisEdge::hasGradient = true
 
static const bool HArDCore2D::MonomialScalarBasisEdge::hasCurl = false
 
static const bool HArDCore2D::MonomialScalarBasisEdge::hasDivergence = false
 
static const bool HArDCore2D::MonomialScalarBasisEdge::hasRotor = false
 
static const bool HArDCore2D::MonomialScalarBasisEdge::hasHessian = false
 
constexpr static const TensorRankE HArDCore2D::Family< BasisType >::tensorRank = BasisType::tensorRank
 
constexpr static const bool HArDCore2D::Family< BasisType >::hasAncestor = true
 
static const bool HArDCore2D::Family< BasisType >::hasFunction = BasisType::hasFunction
 
static const bool HArDCore2D::Family< BasisType >::hasGradient = BasisType::hasGradient
 
static const bool HArDCore2D::Family< BasisType >::hasCurl = BasisType::hasCurl
 
static const bool HArDCore2D::Family< BasisType >::hasDivergence = BasisType::hasDivergence
 
static const bool HArDCore2D::Family< BasisType >::hasRotor = BasisType::hasRotor
 
static const bool HArDCore2D::Family< BasisType >::hasHessian = BasisType::hasHessian
 
constexpr static const TensorRankE HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::tensorRank = Vector
 
constexpr static const bool HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::hasAncestor = true
 
static const bool HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::hasFunction = ScalarFamilyType::hasFunction
 
static const bool HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::hasGradient = ScalarFamilyType::hasGradient
 
static const bool HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::hasDivergence = ( ScalarFamilyType::hasGradient && N==dimspace )
 
static const bool HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::hasRotor = ( ScalarFamilyType::hasGradient && N==dimspace )
 
static const bool HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::hasCurl = ( ScalarFamilyType::hasGradient && N==dimspace )
 
static const bool HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::hasHessian = false
 
constexpr static const TensorRankE HArDCore2D::MatrixFamily< ScalarFamilyType, N >::tensorRank = Matrix
 
constexpr static const bool HArDCore2D::MatrixFamily< ScalarFamilyType, N >::hasAncestor = true
 
static const bool HArDCore2D::MatrixFamily< ScalarFamilyType, N >::hasFunction = ScalarFamilyType::hasFunction
 
static const bool HArDCore2D::MatrixFamily< ScalarFamilyType, N >::hasGradient = true
 
static const bool HArDCore2D::MatrixFamily< ScalarFamilyType, N >::hasDivergence = ( ScalarFamilyType::hasGradient && N==dimspace )
 
static const bool HArDCore2D::MatrixFamily< ScalarFamilyType, N >::hasRotor = false
 
static const bool HArDCore2D::MatrixFamily< ScalarFamilyType, N >::hasCurl = false
 
static const bool HArDCore2D::MatrixFamily< ScalarFamilyType, N >::hasHessian = false
 
constexpr static const TensorRankE HArDCore2D::TangentFamily< ScalarFamilyType >::tensorRank = Vector
 
constexpr static const bool HArDCore2D::TangentFamily< ScalarFamilyType >::hasAncestor = true
 
static const bool HArDCore2D::TangentFamily< ScalarFamilyType >::hasFunction = true
 
static const bool HArDCore2D::TangentFamily< ScalarFamilyType >::hasGradient = false
 
static const bool HArDCore2D::TangentFamily< ScalarFamilyType >::hasCurl = false
 
static const bool HArDCore2D::TangentFamily< ScalarFamilyType >::hasDivergence = false
 
static const bool HArDCore2D::TangentFamily< ScalarFamilyType >::hasRotor = false
 
static const bool HArDCore2D::TangentFamily< ScalarFamilyType >::hasHessian = false
 
constexpr static const TensorRankE HArDCore2D::ShiftedBasis< BasisType >::tensorRank = BasisType::tensorRank
 
constexpr static const bool HArDCore2D::ShiftedBasis< BasisType >::hasAncestor = true
 
static const bool HArDCore2D::ShiftedBasis< BasisType >::hasFunction = BasisType::hasFunction
 
static const bool HArDCore2D::ShiftedBasis< BasisType >::hasGradient = BasisType::hasGradient
 
static const bool HArDCore2D::ShiftedBasis< BasisType >::hasCurl = BasisType::hasCurl
 
static const bool HArDCore2D::ShiftedBasis< BasisType >::hasDivergence = BasisType::hasDivergence
 
static const bool HArDCore2D::ShiftedBasis< BasisType >::hasRotor = BasisType::hasRotor
 
static const bool HArDCore2D::ShiftedBasis< BasisType >::hasHessian = BasisType::hasHessian
 
constexpr static const TensorRankE HArDCore2D::RestrictedBasis< BasisType >::tensorRank = BasisType::tensorRank
 
constexpr static const bool HArDCore2D::RestrictedBasis< BasisType >::hasAncestor = true
 
static const bool HArDCore2D::RestrictedBasis< BasisType >::hasFunction = BasisType::hasFunction
 
static const bool HArDCore2D::RestrictedBasis< BasisType >::hasGradient = BasisType::hasGradient
 
static const bool HArDCore2D::RestrictedBasis< BasisType >::hasCurl = BasisType::hasCurl
 
static const bool HArDCore2D::RestrictedBasis< BasisType >::hasDivergence = BasisType::hasDivergence
 
static const bool HArDCore2D::RestrictedBasis< BasisType >::hasRotor = BasisType::hasRotor
 
static const bool HArDCore2D::RestrictedBasis< BasisType >::hasHessian = BasisType::hasHessian
 
constexpr static const TensorRankE HArDCore2D::GradientBasis< BasisType >::tensorRank = Vector
 
constexpr static const bool HArDCore2D::GradientBasis< BasisType >::hasAncestor = true
 
static const bool HArDCore2D::GradientBasis< BasisType >::hasFunction = true
 
static const bool HArDCore2D::GradientBasis< BasisType >::hasGradient = false
 
static const bool HArDCore2D::GradientBasis< BasisType >::hasCurl = false
 
static const bool HArDCore2D::GradientBasis< BasisType >::hasDivergence = false
 
static const bool HArDCore2D::GradientBasis< BasisType >::hasRotor = false
 
static const bool HArDCore2D::GradientBasis< BasisType >::hasHessian = false
 
constexpr static const TensorRankE HArDCore2D::CurlBasis< BasisType >::tensorRank = Vector
 
constexpr static const bool HArDCore2D::CurlBasis< BasisType >::hasAncestor = true
 
static const bool HArDCore2D::CurlBasis< BasisType >::hasFunction = true
 
static const bool HArDCore2D::CurlBasis< BasisType >::hasGradient = false
 
static const bool HArDCore2D::CurlBasis< BasisType >::hasCurl = false
 
static const bool HArDCore2D::CurlBasis< BasisType >::hasDivergence = false
 
static const bool HArDCore2D::CurlBasis< BasisType >::hasRotor = false
 
static const bool HArDCore2D::CurlBasis< BasisType >::hasHessian = false
 
constexpr static const TensorRankE HArDCore2D::DivergenceBasis< BasisType >::tensorRank = Scalar
 
constexpr static const bool HArDCore2D::DivergenceBasis< BasisType >::hasAncestor = true
 
static const bool HArDCore2D::DivergenceBasis< BasisType >::hasFunction = true
 
static const bool HArDCore2D::DivergenceBasis< BasisType >::hasGradient = false
 
static const bool HArDCore2D::DivergenceBasis< BasisType >::hasCurl = false
 
static const bool HArDCore2D::DivergenceBasis< BasisType >::hasDivergence = false
 
static const bool HArDCore2D::DivergenceBasis< BasisType >::hasHessian = false
 
constexpr static const TensorRankE HArDCore2D::RotorBasis< BasisType >::tensorRank = Scalar
 
constexpr static const bool HArDCore2D::RotorBasis< BasisType >::hasAncestor = true
 
static const bool HArDCore2D::RotorBasis< BasisType >::hasFunction = true
 
static const bool HArDCore2D::RotorBasis< BasisType >::hasGradient = false
 
static const bool HArDCore2D::RotorBasis< BasisType >::hasCurl = false
 
static const bool HArDCore2D::RotorBasis< BasisType >::hasDivergence = false
 
static const bool HArDCore2D::RotorBasis< BasisType >::hasRotor = false
 
static const bool HArDCore2D::RotorBasis< BasisType >::hasHessian = false
 
constexpr static const TensorRankE HArDCore2D::HessianBasis< BasisType >::tensorRank = Matrix
 
constexpr static const bool HArDCore2D::HessianBasis< BasisType >::hasAncestor = true
 
static const bool HArDCore2D::HessianBasis< BasisType >::hasFunction = true
 
static const bool HArDCore2D::HessianBasis< BasisType >::hasGradient = false
 
static const bool HArDCore2D::HessianBasis< BasisType >::hasCurl = false
 
static const bool HArDCore2D::HessianBasis< BasisType >::hasDivergence = false
 
static const bool HArDCore2D::HessianBasis< BasisType >::hasRotor = false
 
static const bool HArDCore2D::HessianBasis< BasisType >::hasHessian = false
 
constexpr static const TensorRankE HArDCore2D::RolyComplBasisCell::tensorRank = Vector
 
constexpr static const bool HArDCore2D::RolyComplBasisCell::hasAncestor = false
 
static const bool HArDCore2D::RolyComplBasisCell::hasFunction = true
 
static const bool HArDCore2D::RolyComplBasisCell::hasGradient = false
 
static const bool HArDCore2D::RolyComplBasisCell::hasCurl = false
 
static const bool HArDCore2D::RolyComplBasisCell::hasDivergence = true
 
static const bool HArDCore2D::RolyComplBasisCell::hasRotor = false
 
static const bool HArDCore2D::RolyComplBasisCell::hasHessian = false
 
constexpr static const TensorRankE HArDCore2D::GolyComplBasisCell::tensorRank = Vector
 
constexpr static const bool HArDCore2D::GolyComplBasisCell::hasAncestor = false
 
static const bool HArDCore2D::GolyComplBasisCell::hasFunction = true
 
static const bool HArDCore2D::GolyComplBasisCell::hasGradient = false
 
static const bool HArDCore2D::GolyComplBasisCell::hasCurl = false
 
static const bool HArDCore2D::GolyComplBasisCell::hasDivergence = false
 
static const bool HArDCore2D::GolyComplBasisCell::hasRotor = true
 
static const bool HArDCore2D::GolyComplBasisCell::hasHessian = false
 
constexpr static const TensorRankE HArDCore2D::HolyComplBasisCell::tensorRank = Matrix
 
constexpr static const bool HArDCore2D::HolyComplBasisCell::hasAncestor = false
 
static const bool HArDCore2D::HolyComplBasisCell::hasFunction = true
 
static const bool HArDCore2D::HolyComplBasisCell::hasGradient = false
 
static const bool HArDCore2D::HolyComplBasisCell::hasCurl = false
 
static const bool HArDCore2D::HolyComplBasisCell::hasDivergence = true
 
static const bool HArDCore2D::HolyComplBasisCell::hasRotor = false
 
static const bool HArDCore2D::HolyComplBasisCell::hasHessian = false
 
static std::function< Eigen::MatrixXd(const Eigen::MatrixXd &)> HArDCore2D::symmetrise_matrix = [](const Eigen::MatrixXd & x)->Eigen::MatrixXd { return 0.5*(x+x.transpose());}
 Function to symmetrise a matrix (useful together with transform_values_quad) More...
 
static std::function< Eigen::MatrixXd(const Eigen::MatrixXd &)> HArDCore2D::skew_symmetrise_matrix = [](const Eigen::MatrixXd & x)->Eigen::MatrixXd { return 0.5*(x-x.transpose());}
 Function to skew-symmetrise a matrix (useful together with transform_values_quad) More...
 
static const BasisFunctionE HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Function >::AncestorBasisFunction = Function
 
static const BasisFunctionE HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Gradient >::AncestorBasisFunction = Gradient
 
static const BasisFunctionE HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, SymmetricGradient >::AncestorBasisFunction = Gradient
 
static const BasisFunctionE HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, SkewsymmetricGradient >::AncestorBasisFunction = Gradient
 
static const BasisFunctionE HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Curl >::AncestorBasisFunction = Gradient
 
static const BasisFunctionE HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Divergence >::AncestorBasisFunction = Gradient
 
static const BasisFunctionE HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Rotor >::AncestorBasisFunction = Gradient
 
static const BasisFunctionE HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Function >::AncestorBasisFunction = Function
 
static const BasisFunctionE HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Divergence >::AncestorBasisFunction = Gradient
 
static const BasisFunctionE HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Gradient >::AncestorBasisFunction = Gradient
 
size_t HArDCore2D::DecomposePoly< BasisType >::m_dim
 
BasisType HArDCore2D::DecomposePoly< BasisType >::m_basis
 
Family< BasisType > HArDCore2D::DecomposePoly< BasisType >::m_on_basis
 
boost::multi_array< typename BasisType::FunctionValue, 2 > HArDCore2D::DecomposePoly< BasisType >::m_on_basis_nodes
 
size_t HArDCore2D::DecomposePoly< BasisType >::m_nb_nodes
 
QuadratureRule HArDCore2D::DecomposePoly< BasisType >::m_nodes
 Nodes for the interpolation. More...
 

Detailed Description

Classes and functions for polynomial basis creation and manipulation.

Typedef Documentation

◆ AncestorBasisFunctionValue [1/10]

template<typename ScalarBasisType , size_t N>
typedef double HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Function >::AncestorBasisFunctionValue

◆ AncestorBasisFunctionValue [2/10]

template<typename ScalarBasisType , size_t N>
typedef VectorRd HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Gradient >::AncestorBasisFunctionValue

◆ AncestorBasisFunctionValue [3/10]

template<typename ScalarBasisType , size_t N>
typedef VectorRd HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, SymmetricGradient >::AncestorBasisFunctionValue

◆ AncestorBasisFunctionValue [4/10]

template<typename ScalarBasisType , size_t N>
typedef VectorRd HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, SkewsymmetricGradient >::AncestorBasisFunctionValue

◆ AncestorBasisFunctionValue [5/10]

template<typename ScalarBasisType , size_t N>
typedef VectorRd HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Curl >::AncestorBasisFunctionValue

◆ AncestorBasisFunctionValue [6/10]

template<typename ScalarBasisType , size_t N>
typedef VectorRd HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Divergence >::AncestorBasisFunctionValue

◆ AncestorBasisFunctionValue [7/10]

template<typename ScalarBasisType , size_t N>
typedef VectorRd HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Rotor >::AncestorBasisFunctionValue

◆ AncestorBasisFunctionValue [8/10]

template<typename ScalarBasisType , size_t N>
typedef double HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Function >::AncestorBasisFunctionValue

◆ AncestorBasisFunctionValue [9/10]

template<typename ScalarBasisType , size_t N>
typedef VectorRd HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Divergence >::AncestorBasisFunctionValue

◆ AncestorBasisFunctionValue [10/10]

template<typename ScalarBasisType , size_t N>
typedef VectorRd HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Gradient >::AncestorBasisFunctionValue

◆ AncestorType [1/11]

template<typename BasisType >
typedef BasisType HArDCore2D::Family< BasisType >::AncestorType

◆ AncestorType [2/11]

template<typename ScalarFamilyType , size_t N>
typedef ScalarFamilyType HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::AncestorType

◆ AncestorType [3/11]

template<typename ScalarFamilyType , size_t N>
typedef ScalarFamilyType HArDCore2D::MatrixFamily< ScalarFamilyType, N >::AncestorType

◆ AncestorType [4/11]

template<typename ScalarFamilyType >
typedef ScalarFamilyType HArDCore2D::TangentFamily< ScalarFamilyType >::AncestorType

◆ AncestorType [5/11]

template<typename BasisType >
typedef BasisType HArDCore2D::ShiftedBasis< BasisType >::AncestorType

◆ AncestorType [6/11]

template<typename BasisType >
typedef BasisType HArDCore2D::RestrictedBasis< BasisType >::AncestorType

◆ AncestorType [7/11]

template<typename BasisType >
typedef BasisType HArDCore2D::GradientBasis< BasisType >::AncestorType

◆ AncestorType [8/11]

template<typename BasisType >
typedef BasisType HArDCore2D::CurlBasis< BasisType >::AncestorType

◆ AncestorType [9/11]

template<typename BasisType >
typedef BasisType HArDCore2D::DivergenceBasis< BasisType >::AncestorType

◆ AncestorType [10/11]

template<typename BasisType >
typedef BasisType HArDCore2D::RotorBasis< BasisType >::AncestorType

◆ AncestorType [11/11]

template<typename BasisType >
typedef BasisType HArDCore2D::HessianBasis< BasisType >::AncestorType

◆ BasisQuad

template<typename T >
using HArDCore2D::BasisQuad = typedef boost::multi_array<T, 2>

type for a family of basis functions evaluated on quadrature nodes

◆ CurlValue [1/16]

◆ CurlValue [2/16]

◆ CurlValue [3/16]

template<typename BasisType >
typedef BasisType::CurlValue HArDCore2D::Family< BasisType >::CurlValue

◆ CurlValue [4/16]

template<typename ScalarFamilyType , size_t N>
typedef GradientValue HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::CurlValue

◆ CurlValue [5/16]

template<typename ScalarFamilyType , size_t N>
typedef VectorRd HArDCore2D::MatrixFamily< ScalarFamilyType, N >::CurlValue

◆ CurlValue [6/16]

template<typename ScalarFamilyType >
typedef VectorRd HArDCore2D::TangentFamily< ScalarFamilyType >::CurlValue

◆ CurlValue [7/16]

template<typename BasisType >
typedef BasisType::CurlValue HArDCore2D::ShiftedBasis< BasisType >::CurlValue

◆ CurlValue [8/16]

template<typename BasisType >
typedef BasisType::CurlValue HArDCore2D::RestrictedBasis< BasisType >::CurlValue

◆ CurlValue [9/16]

template<typename BasisType >
typedef VectorRd HArDCore2D::GradientBasis< BasisType >::CurlValue

◆ CurlValue [10/16]

template<typename BasisType >
typedef Eigen::Matrix<double, dimspace, dimspace> HArDCore2D::CurlBasis< BasisType >::CurlValue

◆ CurlValue [11/16]

template<typename BasisType >
typedef VectorRd HArDCore2D::DivergenceBasis< BasisType >::CurlValue

◆ CurlValue [12/16]

template<typename BasisType >
typedef VectorRd HArDCore2D::RotorBasis< BasisType >::CurlValue

◆ CurlValue [13/16]

template<typename BasisType >
typedef void HArDCore2D::HessianBasis< BasisType >::CurlValue

◆ CurlValue [14/16]

◆ CurlValue [15/16]

◆ CurlValue [16/16]

◆ DivergenceValue [1/16]

◆ DivergenceValue [2/16]

◆ DivergenceValue [3/16]

template<typename BasisType >
typedef BasisType::DivergenceValue HArDCore2D::Family< BasisType >::DivergenceValue

◆ DivergenceValue [4/16]

template<typename ScalarFamilyType , size_t N>
typedef double HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::DivergenceValue

◆ DivergenceValue [5/16]

template<typename ScalarFamilyType , size_t N>
typedef Eigen::Matrix<double, N, 1> HArDCore2D::MatrixFamily< ScalarFamilyType, N >::DivergenceValue

◆ DivergenceValue [6/16]

template<typename ScalarFamilyType >
typedef void HArDCore2D::TangentFamily< ScalarFamilyType >::DivergenceValue

◆ DivergenceValue [7/16]

template<typename BasisType >
typedef BasisType::DivergenceValue HArDCore2D::ShiftedBasis< BasisType >::DivergenceValue

◆ DivergenceValue [8/16]

template<typename BasisType >
typedef BasisType::DivergenceValue HArDCore2D::RestrictedBasis< BasisType >::DivergenceValue

◆ DivergenceValue [9/16]

template<typename BasisType >
typedef void HArDCore2D::GradientBasis< BasisType >::DivergenceValue

◆ DivergenceValue [10/16]

template<typename BasisType >
typedef void HArDCore2D::CurlBasis< BasisType >::DivergenceValue

◆ DivergenceValue [11/16]

template<typename BasisType >
typedef double HArDCore2D::DivergenceBasis< BasisType >::DivergenceValue

◆ DivergenceValue [12/16]

template<typename BasisType >
typedef void HArDCore2D::RotorBasis< BasisType >::DivergenceValue

◆ DivergenceValue [13/16]

template<typename BasisType >
typedef void HArDCore2D::HessianBasis< BasisType >::DivergenceValue

◆ DivergenceValue [14/16]

◆ DivergenceValue [15/16]

◆ DivergenceValue [16/16]

◆ FType

template<typename T >
using HArDCore2D::FType = typedef std::function<T(const VectorRd &)>

type for function of point. T is the type of value of the function

◆ FunctionValue [1/16]

◆ FunctionValue [2/16]

◆ FunctionValue [3/16]

template<typename BasisType >
typedef BasisType::FunctionValue HArDCore2D::Family< BasisType >::FunctionValue

◆ FunctionValue [4/16]

template<typename ScalarFamilyType , size_t N>
typedef Eigen::Matrix<double, N, 1> HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::FunctionValue

◆ FunctionValue [5/16]

template<typename ScalarFamilyType , size_t N>
typedef Eigen::Matrix<double, N, N> HArDCore2D::MatrixFamily< ScalarFamilyType, N >::FunctionValue

◆ FunctionValue [6/16]

template<typename ScalarFamilyType >
typedef VectorRd HArDCore2D::TangentFamily< ScalarFamilyType >::FunctionValue

◆ FunctionValue [7/16]

template<typename BasisType >
typedef BasisType::FunctionValue HArDCore2D::ShiftedBasis< BasisType >::FunctionValue

◆ FunctionValue [8/16]

template<typename BasisType >
typedef BasisType::FunctionValue HArDCore2D::RestrictedBasis< BasisType >::FunctionValue

◆ FunctionValue [9/16]

template<typename BasisType >
typedef BasisType::GradientValue HArDCore2D::GradientBasis< BasisType >::FunctionValue

◆ FunctionValue [10/16]

template<typename BasisType >
typedef VectorRd HArDCore2D::CurlBasis< BasisType >::FunctionValue

◆ FunctionValue [11/16]

template<typename BasisType >
typedef double HArDCore2D::DivergenceBasis< BasisType >::FunctionValue

◆ FunctionValue [12/16]

template<typename BasisType >
typedef double HArDCore2D::RotorBasis< BasisType >::FunctionValue

◆ FunctionValue [13/16]

template<typename BasisType >
typedef MatrixRd HArDCore2D::HessianBasis< BasisType >::FunctionValue

◆ FunctionValue [14/16]

◆ FunctionValue [15/16]

◆ FunctionValue [16/16]

◆ GeometricSupport [1/16]

◆ GeometricSupport [2/16]

◆ GeometricSupport [3/16]

template<typename BasisType >
typedef BasisType::GeometricSupport HArDCore2D::Family< BasisType >::GeometricSupport

◆ GeometricSupport [4/16]

template<typename ScalarFamilyType , size_t N>
typedef ScalarFamilyType::GeometricSupport HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::GeometricSupport

◆ GeometricSupport [5/16]

template<typename ScalarFamilyType , size_t N>
typedef ScalarFamilyType::GeometricSupport HArDCore2D::MatrixFamily< ScalarFamilyType, N >::GeometricSupport

◆ GeometricSupport [6/16]

template<typename ScalarFamilyType >
typedef Edge HArDCore2D::TangentFamily< ScalarFamilyType >::GeometricSupport

◆ GeometricSupport [7/16]

template<typename BasisType >
typedef BasisType::GeometricSupport HArDCore2D::ShiftedBasis< BasisType >::GeometricSupport

◆ GeometricSupport [8/16]

template<typename BasisType >
typedef BasisType::GeometricSupport HArDCore2D::RestrictedBasis< BasisType >::GeometricSupport

◆ GeometricSupport [9/16]

template<typename BasisType >
typedef BasisType::GeometricSupport HArDCore2D::GradientBasis< BasisType >::GeometricSupport

◆ GeometricSupport [10/16]

template<typename BasisType >
typedef BasisType::GeometricSupport HArDCore2D::CurlBasis< BasisType >::GeometricSupport

◆ GeometricSupport [11/16]

template<typename BasisType >
typedef BasisType::GeometricSupport HArDCore2D::DivergenceBasis< BasisType >::GeometricSupport

◆ GeometricSupport [12/16]

template<typename BasisType >
typedef BasisType::GeometricSupport HArDCore2D::RotorBasis< BasisType >::GeometricSupport

◆ GeometricSupport [13/16]

template<typename BasisType >
typedef BasisType::GeometricSupport HArDCore2D::HessianBasis< BasisType >::GeometricSupport

◆ GeometricSupport [14/16]

◆ GeometricSupport [15/16]

◆ GeometricSupport [16/16]

◆ GradientValue [1/16]

◆ GradientValue [2/16]

◆ GradientValue [3/16]

template<typename BasisType >
typedef BasisType::GradientValue HArDCore2D::Family< BasisType >::GradientValue

◆ GradientValue [4/16]

template<typename ScalarFamilyType , size_t N>
typedef Eigen::Matrix<double, N, dimspace> HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::GradientValue

◆ GradientValue [5/16]

template<typename ScalarFamilyType , size_t N>
typedef MatrixGradient<N> HArDCore2D::MatrixFamily< ScalarFamilyType, N >::GradientValue

◆ GradientValue [6/16]

template<typename ScalarFamilyType >
typedef VectorRd HArDCore2D::TangentFamily< ScalarFamilyType >::GradientValue

◆ GradientValue [7/16]

template<typename BasisType >
typedef BasisType::GradientValue HArDCore2D::ShiftedBasis< BasisType >::GradientValue

◆ GradientValue [8/16]

template<typename BasisType >
typedef BasisType::GradientValue HArDCore2D::RestrictedBasis< BasisType >::GradientValue

◆ GradientValue [9/16]

template<typename BasisType >
typedef Eigen::Matrix<double, dimspace, dimspace> HArDCore2D::GradientBasis< BasisType >::GradientValue

◆ GradientValue [10/16]

template<typename BasisType >
typedef Eigen::Matrix<double, dimspace, dimspace> HArDCore2D::CurlBasis< BasisType >::GradientValue

◆ GradientValue [11/16]

template<typename BasisType >
typedef VectorRd HArDCore2D::DivergenceBasis< BasisType >::GradientValue

◆ GradientValue [12/16]

template<typename BasisType >
typedef VectorRd HArDCore2D::RotorBasis< BasisType >::GradientValue

◆ GradientValue [13/16]

template<typename BasisType >
typedef void HArDCore2D::HessianBasis< BasisType >::GradientValue

◆ GradientValue [14/16]

◆ GradientValue [15/16]

◆ GradientValue [16/16]

◆ HessianValue [1/16]

◆ HessianValue [2/16]

◆ HessianValue [3/16]

template<typename BasisType >
typedef BasisType::HessianValue HArDCore2D::Family< BasisType >::HessianValue

◆ HessianValue [4/16]

template<typename ScalarFamilyType , size_t N>
typedef void HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::HessianValue

◆ HessianValue [5/16]

template<typename ScalarFamilyType , size_t N>
typedef void HArDCore2D::MatrixFamily< ScalarFamilyType, N >::HessianValue

◆ HessianValue [6/16]

template<typename ScalarFamilyType >
typedef void HArDCore2D::TangentFamily< ScalarFamilyType >::HessianValue

◆ HessianValue [7/16]

template<typename BasisType >
typedef BasisType::HessianValue HArDCore2D::ShiftedBasis< BasisType >::HessianValue

◆ HessianValue [8/16]

template<typename BasisType >
typedef BasisType::HessianValue HArDCore2D::RestrictedBasis< BasisType >::HessianValue

◆ HessianValue [9/16]

template<typename BasisType >
typedef void HArDCore2D::GradientBasis< BasisType >::HessianValue

◆ HessianValue [10/16]

template<typename BasisType >
typedef void HArDCore2D::CurlBasis< BasisType >::HessianValue

◆ HessianValue [11/16]

template<typename BasisType >
typedef void HArDCore2D::DivergenceBasis< BasisType >::HessianValue

◆ HessianValue [12/16]

template<typename BasisType >
typedef void HArDCore2D::RotorBasis< BasisType >::HessianValue

◆ HessianValue [13/16]

template<typename BasisType >
typedef void HArDCore2D::HessianBasis< BasisType >::HessianValue

◆ HessianValue [14/16]

◆ HessianValue [15/16]

◆ HessianValue [16/16]

◆ MatrixRd

typedef Eigen::Matrix2d HArDCore2D::MatrixRd

◆ ReturnValue [1/18]

template<typename BasisType >
typedef BasisType::FunctionValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Function >::ReturnValue

◆ ReturnValue [2/18]

template<typename BasisType >
typedef BasisType::GradientValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Gradient >::ReturnValue

◆ ReturnValue [3/18]

template<typename BasisType >
typedef BasisType::GradientValue HArDCore2D::detail::basis_evaluation_traits< BasisType, SymmetricGradient >::ReturnValue

◆ ReturnValue [4/18]

template<typename BasisType >
typedef BasisType::GradientValue HArDCore2D::detail::basis_evaluation_traits< BasisType, SkewsymmetricGradient >::ReturnValue

◆ ReturnValue [5/18]

template<typename BasisType >
typedef BasisType::CurlValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Curl >::ReturnValue

◆ ReturnValue [6/18]

template<typename BasisType >
typedef BasisType::DivergenceValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Divergence >::ReturnValue

◆ ReturnValue [7/18]

template<typename BasisType >
typedef BasisType::RotorValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Rotor >::ReturnValue

◆ ReturnValue [8/18]

template<typename BasisType >
typedef BasisType::HessianValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Hessian >::ReturnValue

◆ ReturnValue [9/18]

template<typename ScalarBasisType , size_t N>
typedef TensorizedVectorFamily<ScalarBasisType, N>::FunctionValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Function >::ReturnValue

◆ ReturnValue [10/18]

template<typename ScalarBasisType , size_t N>
typedef TensorizedVectorFamily<ScalarBasisType, N>::GradientValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Gradient >::ReturnValue

◆ ReturnValue [11/18]

template<typename ScalarBasisType , size_t N>
typedef TensorizedVectorFamily<ScalarBasisType, N>::GradientValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, SymmetricGradient >::ReturnValue

◆ ReturnValue [12/18]

template<typename ScalarBasisType , size_t N>
typedef TensorizedVectorFamily<ScalarBasisType, N>::GradientValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, SkewsymmetricGradient >::ReturnValue

◆ ReturnValue [13/18]

template<typename ScalarBasisType , size_t N>
typedef TensorizedVectorFamily<ScalarBasisType, N>::CurlValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Curl >::ReturnValue

◆ ReturnValue [14/18]

template<typename ScalarBasisType , size_t N>
typedef TensorizedVectorFamily<ScalarBasisType, N>::DivergenceValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Divergence >::ReturnValue

◆ ReturnValue [15/18]

template<typename ScalarBasisType , size_t N>
typedef TensorizedVectorFamily<ScalarBasisType, N>::RotorValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Rotor >::ReturnValue

◆ ReturnValue [16/18]

template<typename ScalarBasisType , size_t N>
typedef MatrixFamily<ScalarBasisType, N>::FunctionValue HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Function >::ReturnValue

◆ ReturnValue [17/18]

template<typename ScalarBasisType , size_t N>
typedef MatrixFamily<ScalarBasisType, N>::DivergenceValue HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Divergence >::ReturnValue

◆ ReturnValue [18/18]

template<typename ScalarBasisType , size_t N>
typedef MatrixFamily<ScalarBasisType, N>::GradientValue HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Gradient >::ReturnValue

◆ RotorValue [1/15]

◆ RotorValue [2/15]

◆ RotorValue [3/15]

template<typename BasisType >
typedef BasisType::RotorValue HArDCore2D::Family< BasisType >::RotorValue

◆ RotorValue [4/15]

template<typename ScalarFamilyType , size_t N>
typedef double HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::RotorValue

◆ RotorValue [5/15]

template<typename ScalarFamilyType , size_t N>
typedef void HArDCore2D::MatrixFamily< ScalarFamilyType, N >::RotorValue

◆ RotorValue [6/15]

template<typename ScalarFamilyType >
typedef void HArDCore2D::TangentFamily< ScalarFamilyType >::RotorValue

◆ RotorValue [7/15]

template<typename BasisType >
typedef BasisType::RotorValue HArDCore2D::ShiftedBasis< BasisType >::RotorValue

◆ RotorValue [8/15]

template<typename BasisType >
typedef BasisType::RotorValue HArDCore2D::RestrictedBasis< BasisType >::RotorValue

◆ RotorValue [9/15]

template<typename BasisType >
typedef void HArDCore2D::GradientBasis< BasisType >::RotorValue

◆ RotorValue [10/15]

template<typename BasisType >
typedef void HArDCore2D::CurlBasis< BasisType >::RotorValue

◆ RotorValue [11/15]

template<typename BasisType >
typedef void HArDCore2D::RotorBasis< BasisType >::RotorValue

◆ RotorValue [12/15]

template<typename BasisType >
typedef void HArDCore2D::HessianBasis< BasisType >::RotorValue

◆ RotorValue [13/15]

◆ RotorValue [14/15]

◆ RotorValue [15/15]

◆ VectorRd

typedef Eigen::Vector2d HArDCore2D::VectorRd

◆ VectorZd

typedef Eigen::Vector2i HArDCore2D::VectorZd

Enumeration Type Documentation

◆ BasisFunctionE

Enumerator
Function 
Gradient 
SymmetricGradient 
SkewsymmetricGradient 
Curl 
Divergence 
Rotor 
Hessian 

◆ TensorRankE

Enumerator
Scalar 
Vector 
Matrix 

Function Documentation

◆ ancestor() [1/11]

template<typename BasisType >
constexpr const BasisType& HArDCore2D::Family< BasisType >::ancestor ( ) const
inlineconstexpr

Return the ancestor.

◆ ancestor() [2/11]

template<typename ScalarFamilyType , size_t N>
constexpr const ScalarFamilyType& HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::ancestor ( ) const
inlineconstexpr

Return the ancestor (family that has been tensorized)

◆ ancestor() [3/11]

template<typename ScalarFamilyType , size_t N>
const ScalarFamilyType& HArDCore2D::MatrixFamily< ScalarFamilyType, N >::ancestor ( ) const
inline

Return the ancestor (family that has been tensorized)

◆ ancestor() [4/11]

template<typename ScalarFamilyType >
constexpr const ScalarFamilyType& HArDCore2D::TangentFamily< ScalarFamilyType >::ancestor ( ) const
inlineconstexpr

Return the ancestor (family used for the tangent)

◆ ancestor() [5/11]

template<typename BasisType >
constexpr const BasisType& HArDCore2D::ShiftedBasis< BasisType >::ancestor ( ) const
inlineconstexpr

Return the underlying complete basis.

◆ ancestor() [6/11]

template<typename BasisType >
constexpr const BasisType& HArDCore2D::RestrictedBasis< BasisType >::ancestor ( ) const
inlineconstexpr

Return the underlying complete basis.

◆ ancestor() [7/11]

template<typename BasisType >
constexpr const BasisType& HArDCore2D::GradientBasis< BasisType >::ancestor ( ) const
inlineconstexpr

Return the ancestor (basis that the gradient was taken of)

◆ ancestor() [8/11]

template<typename BasisType >
constexpr const BasisType& HArDCore2D::CurlBasis< BasisType >::ancestor ( ) const
inlineconstexpr

Return the ancestor (basis that the gradient was taken of)

◆ ancestor() [9/11]

template<typename BasisType >
constexpr const BasisType& HArDCore2D::DivergenceBasis< BasisType >::ancestor ( ) const
inlineconstexpr

Return the ancestor (basis that the gradient was taken of)

◆ ancestor() [10/11]

template<typename BasisType >
constexpr const BasisType& HArDCore2D::RotorBasis< BasisType >::ancestor ( ) const
inlineconstexpr

Return the ancestor (basis that the gradient was taken of)

◆ ancestor() [11/11]

template<typename BasisType >
constexpr const BasisType& HArDCore2D::HessianBasis< BasisType >::ancestor ( ) const
inlineconstexpr

Return the ancestor (basis that the gradient was taken of)

◆ complete()

static std::vector<VectorZd> HArDCore2D::MonomialPowers< Cell >::complete ( size_t  degree)
inlinestatic

◆ compute() [1/4]

template<BasisFunctionE BasisFunction>
template<typename BasisType >
static boost::multi_array<typename detail::basis_evaluation_traits<BasisType, BasisFunction>::ReturnValue, 2> HArDCore2D::evaluate_quad< BasisFunction >::compute ( const BasisType &  basis,
const QuadratureRule quad 
)
inlinestatic

Generic basis evaluation.

Parameters
basisThe basis
quadThe quadrature rule

◆ compute() [2/4]

template<BasisFunctionE BasisFunction>
template<typename BasisType >
static boost::multi_array<typename detail::basis_evaluation_traits<Family<BasisType>, BasisFunction>::ReturnValue, 2> HArDCore2D::evaluate_quad< BasisFunction >::compute ( const Family< BasisType > &  basis,
const QuadratureRule quad 
)
inlinestatic

Evaluate a 'Family' of functions at quadrature nodes (optimised compared the generic basis evaluation, to avoid computing several times the ancestor basis at the quadrature nodes)

Parameters
basisThe family
quadThe quadrature rule

◆ compute() [3/4]

template<BasisFunctionE BasisFunction>
template<typename BasisType , size_t N>
static boost::multi_array<typename detail::basis_evaluation_traits<MatrixFamily<BasisType, N>, BasisFunction>::ReturnValue, 2> HArDCore2D::evaluate_quad< BasisFunction >::compute ( const MatrixFamily< BasisType, N > &  basis,
const QuadratureRule quad 
)
inlinestatic

Evaluate a Matrix family at quadrature nodes (optimised compared the generic basis evaluation, to avoid computing several times the ancestor basis at the quadrature nodes)

Parameters
basisThe family
quadThe quadrature rule

◆ compute() [4/4]

template<BasisFunctionE BasisFunction>
template<typename BasisType , size_t N>
static boost::multi_array<typename detail::basis_evaluation_traits<TensorizedVectorFamily<BasisType, N>, BasisFunction>::ReturnValue, 2> HArDCore2D::evaluate_quad< BasisFunction >::compute ( const TensorizedVectorFamily< BasisType, N > &  basis,
const QuadratureRule quad 
)
inlinestatic

Evaluate a tensorized family at quadrature nodes (optimised compared the generic basis evaluation, to avoid computing several times the ancestor basis at the quadrature nodes)

Parameters
basisThe family
quadThe quadrature rule

◆ compute_closure_matrix() [1/3]

template<typename Value >
Eigen::MatrixXd HArDCore2D::compute_closure_matrix ( const boost::multi_array< Value, 2 > &  f_quad,
const boost::multi_array< Value, 2 > &  g_quad,
const QuadratureRule qr 
)

Computes closure equation matrices. Overload of the previous one when qr_f=qr_g.

Parameters
f_quadEvaluations of the functions \((f_i)\) at the quadrature nodes
g_quadEvaluations of the functions \((g_j)\) at the quadrature nodes
qrquadrature rule for integration

◆ compute_closure_matrix() [2/3]

template<typename Value >
Eigen::MatrixXd HArDCore2D::compute_closure_matrix ( const boost::multi_array< Value, 2 > &  f_quad,
const boost::multi_array< Value, 2 > &  g_quad,
const QuadratureRule qr_f,
const QuadratureRule qr_g 
)

Computes closure equation matrices, from evaluations at quadrature nodes. For two families of functions \((f_i)\) and \((g_j)\) with values in some space E, this routine computes the matrix \((\int f_i)\cdot(\int g_j)\) where \(\cdot\) is the dot product in E.

Parameters
f_quadEvaluations of the functions \((f_i)\) at the quadrature nodes
g_quadEvaluations of the functions \((g_j)\) at the quadrature nodes
qr_fquadrature rule for integration of f_i
qr_gquadrature rule for integration of g_i

◆ compute_closure_matrix() [3/3]

template<typename Value >
Eigen::MatrixXd HArDCore2D::compute_closure_matrix ( const boost::multi_array< Value, 2 > &  f_quad,
const QuadratureRule qr 
)

Computes closure equation matrices. Overload of the previous one when f=g.

Parameters
f_quadEvaluations of the functions \((f_i)\) at the quadrature nodes
qrquadrature rule for integration

◆ compute_gram_matrix() [1/9]

Eigen::MatrixXd HArDCore2D::compute_gram_matrix ( const boost::multi_array< double, 2 > &  B1,
const boost::multi_array< double, 2 > &  B2,
const QuadratureRule qr,
const size_t  nrows,
const size_t  ncols,
const std::string  sym 
)

Compute the Gram-like matrix given the evaluation of two families of functions at quadrature nodes. This version is an overload for double-valued families, more efficient than the generic templated version.

Parameters
B1First family at quadrature nodes
B2Second family at quadrature nodes
qrQuadrature rule used for evaluation
nrowsNumber of rows of the matrix (nb of members of first family to consider)
ncolsNumber of rows of the matrix (nn of members of second family to consider)
symOptional. "sym" to indicate that the matrix is symmetric (B1=B2)

◆ compute_gram_matrix() [2/9]

Eigen::MatrixXd HArDCore2D::compute_gram_matrix ( const boost::multi_array< double, 2 > &  B1,
const boost::multi_array< double, 2 > &  B2,
const QuadratureRule qr,
const std::string  sym 
)

Compute the Gram-like matrix given the evaluation of two families of functions at quadrature nodes. Consists in calling the double-valued version with nrows = nb of elements in B1, ncols = nb of elements in B2.

Parameters
B1First family at quadrature nodes
B2Second family at quadrature nodes
qrQuadrature rule used for evaluation
symOptional. "sym" to indicate that the matrix is symmetric (B1=B2)

◆ compute_gram_matrix() [3/9]

template<typename FunctionValue >
Eigen::MatrixXd HArDCore2D::compute_gram_matrix ( const boost::multi_array< FunctionValue, 2 > &  B,
const QuadratureRule qr 
)
inline

Compute the Gram matrix given the evaluation of one family of functions at quadrature nodes. Consists in calling the generic templated version with B1=B2.

Parameters
BFamily at quadrature nodes
qrQuadrature rule used for evaluation

◆ compute_gram_matrix() [4/9]

template<typename FunctionValue >
Eigen::MatrixXd HArDCore2D::compute_gram_matrix ( const boost::multi_array< FunctionValue, 2 > &  B1,
const boost::multi_array< FunctionValue, 2 > &  B2,
const QuadratureRule qr,
const size_t  nrows,
const size_t  ncols,
const std::string  sym = "nonsym" 
)

Compute the Gram-like matrix given the evaluation of two families of functions at quadrature nodes. This templated function is very generic, and thus not the most efficient. More efficient overloads are provided for double- or Vector2d-valued families.

Parameters
B1First family at quadrature nodes
B2Second family at quadrature nodes
qrQuadrature rule used for evaluation
nrowsNumber of rows of the matrix (nb of members of first family to consider)
ncolsNumber of rows of the matrix (nn of members of second family to consider)
symOptional. "sym" to indicate that the matrix is symmetric (B1=B2)

◆ compute_gram_matrix() [5/9]

template<typename FunctionValue >
Eigen::MatrixXd HArDCore2D::compute_gram_matrix ( const boost::multi_array< FunctionValue, 2 > &  B1,
const boost::multi_array< FunctionValue, 2 > &  B2,
const QuadratureRule qr,
const std::string  sym = "nonsym" 
)

Compute the Gram-like matrix given the evaluation of two families of functions at quadrature nodes. This version calls the generic one with nrows = nb of elements in family B1 and ncols = nb of elements in family B2.

Parameters
B1First family at quadrature nodes
B2Second family at quadrature nodes
qrQuadrature rule used for evaluation
symOptional. "sym" to indicate that the matrix is symmetric (B1=B2)

◆ compute_gram_matrix() [6/9]

Eigen::MatrixXd HArDCore2D::compute_gram_matrix ( const boost::multi_array< VectorRd, 2 > &  B1,
const boost::multi_array< double, 2 > &  B2,
const QuadratureRule qr 
)

Compute the Gram-like matrix given a family of vector-valued and one of scalar-valued functions by tensorizing the latter.

Parameters
B1First family at quadrature nodes
B2Second family (to be tensorized) at quadrature nodes
qrQuadrature rule used for evaluation

◆ compute_gram_matrix() [7/9]

Eigen::MatrixXd HArDCore2D::compute_gram_matrix ( const boost::multi_array< VectorRd, 2 > &  B1,
const boost::multi_array< VectorRd, 2 > &  B2,
const QuadratureRule qr,
const size_t  nrows,
const size_t  ncols,
const std::string  sym 
)

Compute the Gram-like matrix given the evaluation of two families of functions at quadrature nodes. This version is an overload for Vector2d-valued families, more efficient than the generic templated version.

Parameters
B1First family at quadrature nodes
B2Second family at quadrature nodes
qrQuadrature rule used for evaluation
nrowsOptional. Number of rows of the matrix (nb of members of first family to consider).
ncolsOptional. Number of rows of the matrix (nb of members of second family to consider).
symOptional. "sym" to indicate that the matrix is symmetric (B1=B2)

◆ compute_gram_matrix() [8/9]

Eigen::MatrixXd HArDCore2D::compute_gram_matrix ( const boost::multi_array< VectorRd, 2 > &  B1,
const boost::multi_array< VectorRd, 2 > &  B2,
const QuadratureRule qr,
const std::string  sym 
)

Compute the Gram-like matrix given the evaluation of two families of functions at quadrature nodes. Consists in calling the Vector2d-valued version with nrows = nb of elements in B1, ncols = nb of elements in B2.

Parameters
B1First family at quadrature nodes
B2Second family at quadrature nodes
qrQuadrature rule used for evaluation
symOptional. "sym" to indicate that the matrix is symmetric (B1=B2)

◆ compute_gram_matrix() [9/9]

template<typename ScalarFamilyType , size_t N>
Eigen::MatrixXd HArDCore2D::compute_gram_matrix ( const MatrixFamily< ScalarFamilyType, N > &  MatFam,
const boost::multi_array< double, 2 > &  scalar_family_quad,
const QuadratureRule qr 
)

Compute the Gram-like matrix for a MatrixFamily. This overload is more efficient than the generic function as it only computes the gram matrix of the underlying scalar family, and then creates the bloc-diagonal gram matrix of the MatrixFamily (which is indeed bloc diagonal given the choice of m_E elements in this class).

Parameters
MatFamMatrix family
scalar_family_quadvalues of the underlying scalar family at quadrature nodes
qrQuadrature rule used for evaluation

◆ compute_weighted_gram_matrix() [1/4]

template<typename T , typename U >
Eigen::MatrixXd HArDCore2D::compute_weighted_gram_matrix ( const FType< U > &  f,
const BasisQuad< T > &  B1,
const BasisQuad< T > &  B2,
const QuadratureRule qr,
const std::string  sym 
)

Computes the Gram-like matrix of integrals (f phi_i, phi_j)

Parameters
fWeight function. Posible types of U are MatrixRd and double - must be compatible with T
B1First family of basis functions at quadrature nodes. Posible types of T are VectorRd and double
B2Second family of basis functions at quadrature nodes. Posible types of T are VectorRd and double
qrQuadrature rule
symArgument if matrix is symmetric to increase efficiency

◆ compute_weighted_gram_matrix() [2/4]

template<typename T , typename U >
Eigen::MatrixXd HArDCore2D::compute_weighted_gram_matrix ( const FType< U > &  f,
const BasisQuad< T > &  B1,
const BasisQuad< T > &  B2,
const QuadratureRule qr,
size_t  n_rows = 0,
size_t  n_cols = 0,
const std::string  sym = "nonsym" 
)

Computes the Gram-like matrix of integrals (f phi_i, phi_j)

Parameters
fWeight function. Posible types of U are MatrixRd and double - must be compatible with T
B1First family of basis functions at quadrature nodes. Posible types of T are VectorRd and double
B2Second family of basis functions at quadrature nodes. Posible types of T are VectorRd and double
qrQuadrature rule
n_rowsOptional argument for number of functions from first family to be integrated against. Default integrates whole family
n_colsOptional argument for number of functions from second family to be integrated against. Default integrates whole family
symOptional argument if matrix is symmetric to increase efficiency

◆ compute_weighted_gram_matrix() [3/4]

Eigen::MatrixXd HArDCore2D::compute_weighted_gram_matrix ( const FType< VectorRd > &  f,
const BasisQuad< double > &  B1,
const BasisQuad< VectorRd > &  B2,
const QuadratureRule qr,
size_t  n_rows,
size_t  n_cols 
)

Computes the Gram-like matrix of integrals (phi_i, f dot phi_j)

Parameters
fWeight function
B1Family of scalar basis functions at quadrature nodes
B2Family of vector basis functions at quadrature nodes
qrQuadrature rule
n_rowsOptional argument for number of functions from scalar family to be integrated against. Default integrates whole family
n_colsOptional argument for number of functions from vector family to be integrated against. Default integrates whole family

◆ compute_weighted_gram_matrix() [4/4]

Eigen::MatrixXd HArDCore2D::compute_weighted_gram_matrix ( const FType< VectorRd > &  f,
const BasisQuad< VectorRd > &  B1,
const BasisQuad< double > &  B2,
const QuadratureRule qr,
size_t  n_rows,
size_t  n_cols 
)

Computes the Gram-like matrix of integrals (f dot phi_i, phi_j)

Parameters
fWeight function
B1Family of vector basis functions at quadrature nodes
B2Family of scalar basis functions at quadrature nodes
qrQuadrature rule
n_rowsOptional argument for number of functions from vector family to be integrated against. Default integrates whole family
n_colsOptional argument for number of functions from scalar family to be integrated against. Default integrates whole family

◆ curl() [1/7]

MonomialScalarBasisCell::CurlValue HArDCore2D::MonomialScalarBasisCell::curl ( size_t  i,
const VectorRd x 
) const

Evaluate the curl (vector rot) of the i-th basis function at point x.

◆ curl() [2/7]

template<typename BasisType >
CurlValue HArDCore2D::Family< BasisType >::curl ( size_t  i,
const VectorRd x 
) const
inline

Evaluate the curl of the i-th function at point x.

◆ curl() [3/7]

template<typename ScalarFamilyType , size_t N>
CurlValue HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::curl ( size_t  i,
const VectorRd x 
) const
inline

Evaluate the curl of the i-th basis function at point x.

◆ curl() [4/7]

template<typename BasisType >
CurlValue HArDCore2D::ShiftedBasis< BasisType >::curl ( size_t  i,
const VectorRd x 
) const
inline

Evaluate the curl of the i-th basis function at point x.

◆ curl() [5/7]

template<typename BasisType >
CurlValue HArDCore2D::RestrictedBasis< BasisType >::curl ( size_t  i,
const VectorRd x 
) const
inline

Evaluate the curl of the i-th basis function at point x.

◆ curl() [6/7]

template<typename BasisType >
CurlValue HArDCore2D::Family< BasisType >::curl ( size_t  i,
size_t  iqn,
const boost::multi_array< CurlValue, 2 > &  ancestor_curl_quad 
) const
inline

Evaluate the curl of the i-th function at a quadrature point iqn, knowing all the curls of ancestor basis functions at the quadrature nodes (provided by eval_quad)

◆ curl() [7/7]

template<typename ScalarFamilyType , size_t N>
CurlValue HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::curl ( size_t  i,
size_t  iqn,
const boost::multi_array< VectorRd, 2 > &  ancestor_gradient_quad 
) const
inline

Evaluate the curl of the i-th basis function at a quadrature point iqn, knowing all the gradients of ancestor basis functions at the quadrature nodes (provided by eval_quad)

◆ CurlBasis()

template<typename BasisType >
HArDCore2D::CurlBasis< BasisType >::CurlBasis ( const BasisType &  basis)
inline

Constructor.

◆ DecomposePoly() [1/2]

template<typename BasisType >
HArDCore2D::DecomposePoly< BasisType >::DecomposePoly ( const Cell &  T,
const BasisType &  basis 
)
inline

Constructor for cell.

Parameters
TCell on which the polynomial functions are defined
basisBasis for face polynomials

◆ DecomposePoly() [2/2]

template<typename BasisType >
HArDCore2D::DecomposePoly< BasisType >::DecomposePoly ( const Edge &  E,
const BasisType &  basis 
)
inline

Constructor for edge.

The basis provided here must be of same rank (scalar, vector) as the polynomials to decompose, and of course of degree equal to or higher to those. The polynomials are decomposed on this basis. The method seems much more stable if we start from a straight monomial basis (possibly vectorialised, but not a family of some basis).

Parameters
EEdge on which the polynomial functions are defined
basisBasis for edge polynomials

◆ dimension() [1/16]

size_t HArDCore2D::MonomialScalarBasisCell::dimension ( ) const
inline

Compute the dimension of the basis.

◆ dimension() [2/16]

size_t HArDCore2D::MonomialScalarBasisEdge::dimension ( ) const
inline

Dimension of the basis.

◆ dimension() [3/16]

template<typename BasisType >
size_t HArDCore2D::Family< BasisType >::dimension ( ) const
inline

Dimension of the family. This is actually the number of functions in the family, not necessarily linearly independent.

◆ dimension() [4/16]

template<typename ScalarFamilyType , size_t N>
size_t HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::dimension ( ) const
inline

Return the dimension of the family.

◆ dimension() [5/16]

template<typename ScalarFamilyType , size_t N>
size_t HArDCore2D::MatrixFamily< ScalarFamilyType, N >::dimension ( ) const
inline

Return the dimension of the family.

◆ dimension() [6/16]

template<typename ScalarFamilyType >
size_t HArDCore2D::TangentFamily< ScalarFamilyType >::dimension ( ) const
inline

Return the dimension of the family.

◆ dimension() [7/16]

template<typename BasisType >
size_t HArDCore2D::ShiftedBasis< BasisType >::dimension ( ) const
inline

Return the dimension of the basis.

◆ dimension() [8/16]

template<typename BasisType >
size_t HArDCore2D::RestrictedBasis< BasisType >::dimension ( ) const
inline

Return the dimension of the basis.

◆ dimension() [9/16]

template<typename BasisType >
size_t HArDCore2D::GradientBasis< BasisType >::dimension ( ) const
inline

Compute the dimension of the basis.

◆ dimension() [10/16]

template<typename BasisType >
size_t HArDCore2D::CurlBasis< BasisType >::dimension ( ) const
inline

Compute the dimension of the basis.

◆ dimension() [11/16]

template<typename BasisType >
size_t HArDCore2D::DivergenceBasis< BasisType >::dimension ( ) const
inline

Compute the dimension of the basis.

◆ dimension() [12/16]

template<typename BasisType >
size_t HArDCore2D::RotorBasis< BasisType >::dimension ( ) const
inline

Compute the dimension of the basis.

◆ dimension() [13/16]

template<typename BasisType >
size_t HArDCore2D::HessianBasis< BasisType >::dimension ( ) const
inline

Compute the dimension of the basis.

◆ dimension() [14/16]

size_t HArDCore2D::RolyComplBasisCell::dimension ( ) const
inline

Compute the dimension of the basis.

◆ dimension() [15/16]

size_t HArDCore2D::GolyComplBasisCell::dimension ( ) const
inline

Dimension of the basis.

◆ dimension() [16/16]

size_t HArDCore2D::HolyComplBasisCell::dimension ( ) const
inline

Compute the dimension of the basis.

◆ divergence() [1/9]

template<typename BasisType >
DivergenceValue HArDCore2D::Family< BasisType >::divergence ( size_t  i,
const VectorRd x 
) const
inline

Evaluate the divergence of the i-th function at point x.

◆ divergence() [2/9]

template<typename ScalarFamilyType , size_t N>
DivergenceValue HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::divergence ( size_t  i,
const VectorRd x 
) const
inline

Evaluate the divergence of the i-th basis function at point x.

◆ divergence() [3/9]

template<typename ScalarFamilyType , size_t N>
DivergenceValue HArDCore2D::MatrixFamily< ScalarFamilyType, N >::divergence ( size_t  i,
const VectorRd x 
) const
inline

Evaluate the divergence of the i-th basis function at point x.

◆ divergence() [4/9]

template<typename BasisType >
DivergenceValue HArDCore2D::ShiftedBasis< BasisType >::divergence ( size_t  i,
const VectorRd x 
) const
inline

Evaluate the divergence of the i-th basis function at point x.

◆ divergence() [5/9]

template<typename BasisType >
DivergenceValue HArDCore2D::RestrictedBasis< BasisType >::divergence ( size_t  i,
const VectorRd x 
) const
inline

Evaluate the divergence of the i-th basis function at point x.

◆ divergence() [6/9]

RolyComplBasisCell::DivergenceValue HArDCore2D::RolyComplBasisCell::divergence ( size_t  i,
const VectorRd x 
) const

Evaluate the divergence of the i-th basis function at point x.

◆ divergence() [7/9]

template<typename BasisType >
DivergenceValue HArDCore2D::Family< BasisType >::divergence ( size_t  i,
size_t  iqn,
const boost::multi_array< DivergenceValue, 2 > &  ancestor_divergence_quad 
) const
inline

Evaluate the divergence of the i-th function at a quadrature point iqn, knowing all the divergences of ancestor basis functions at the quadrature nodes (provided by eval_quad)

◆ divergence() [8/9]

template<typename ScalarFamilyType , size_t N>
DivergenceValue HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::divergence ( size_t  i,
size_t  iqn,
const boost::multi_array< VectorRd, 2 > &  ancestor_gradient_quad 
) const
inline

Evaluate the divergence of the i-th basis function at a quadrature point iqn, knowing all the gradients of ancestor basis functions at the quadrature nodes (provided by eval_quad)

◆ divergence() [9/9]

template<typename ScalarFamilyType , size_t N>
DivergenceValue HArDCore2D::MatrixFamily< ScalarFamilyType, N >::divergence ( size_t  i,
size_t  iqn,
const boost::multi_array< VectorRd, 2 > &  ancestor_gradient_quad 
) const
inline

Evaluate the divergence of the i-th basis function at a quadrature point iqn, knowing all the gradients of ancestor basis functions at the quadrature nodes (provided by eval_quad)

◆ DivergenceBasis()

template<typename BasisType >
HArDCore2D::DivergenceBasis< BasisType >::DivergenceBasis ( const BasisType &  basis)
inline

Constructor.

◆ evaluate() [1/36]

template<typename BasisType >
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Function >::evaluate ( const BasisType &  basis,
size_t  i,
const VectorRd x 
)
inlinestatic

◆ evaluate() [2/36]

template<typename BasisType >
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Gradient >::evaluate ( const BasisType &  basis,
size_t  i,
const VectorRd x 
)
inlinestatic

◆ evaluate() [3/36]

template<typename BasisType >
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< BasisType, SymmetricGradient >::evaluate ( const BasisType &  basis,
size_t  i,
const VectorRd x 
)
inlinestatic

◆ evaluate() [4/36]

template<typename BasisType >
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< BasisType, SkewsymmetricGradient >::evaluate ( const BasisType &  basis,
size_t  i,
const VectorRd x 
)
inlinestatic

◆ evaluate() [5/36]

template<typename BasisType >
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Curl >::evaluate ( const BasisType &  basis,
size_t  i,
const VectorRd x 
)
inlinestatic

◆ evaluate() [6/36]

template<typename BasisType >
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Divergence >::evaluate ( const BasisType &  basis,
size_t  i,
const VectorRd x 
)
inlinestatic

◆ evaluate() [7/36]

template<typename BasisType >
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Rotor >::evaluate ( const BasisType &  basis,
size_t  i,
const VectorRd x 
)
inlinestatic

◆ evaluate() [8/36]

template<typename BasisType >
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Hessian >::evaluate ( const BasisType &  basis,
size_t  i,
const VectorRd x 
)
inlinestatic

◆ evaluate() [9/36]

template<typename BasisType >
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Curl >::evaluate ( const BasisType &  basis,
size_t  i,
size_t  iqn,
const boost::multi_array< ReturnValue, 2 > &  ancestor_curl_quad 
)
inlinestatic

◆ evaluate() [10/36]

template<typename BasisType >
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Divergence >::evaluate ( const BasisType &  basis,
size_t  i,
size_t  iqn,
const boost::multi_array< ReturnValue, 2 > &  ancestor_divergence_quad 
)
inlinestatic

◆ evaluate() [11/36]

template<typename BasisType >
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Gradient >::evaluate ( const BasisType &  basis,
size_t  i,
size_t  iqn,
const boost::multi_array< ReturnValue, 2 > &  ancestor_gradient_quad 
)
inlinestatic

◆ evaluate() [12/36]

template<typename BasisType >
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< BasisType, SymmetricGradient >::evaluate ( const BasisType &  basis,
size_t  i,
size_t  iqn,
const boost::multi_array< ReturnValue, 2 > &  ancestor_gradient_quad 
)
inlinestatic

◆ evaluate() [13/36]

template<typename BasisType >
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< BasisType, SkewsymmetricGradient >::evaluate ( const BasisType &  basis,
size_t  i,
size_t  iqn,
const boost::multi_array< ReturnValue, 2 > &  ancestor_gradient_quad 
)
inlinestatic

◆ evaluate() [14/36]

template<typename BasisType >
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Hessian >::evaluate ( const BasisType &  basis,
size_t  i,
size_t  iqn,
const boost::multi_array< ReturnValue, 2 > &  ancestor_hessian_quad 
)
inlinestatic

◆ evaluate() [15/36]

template<typename BasisType >
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Rotor >::evaluate ( const BasisType &  basis,
size_t  i,
size_t  iqn,
const boost::multi_array< ReturnValue, 2 > &  ancestor_rotor_quad 
)
inlinestatic

◆ evaluate() [16/36]

template<typename BasisType >
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< BasisType, Function >::evaluate ( const BasisType &  basis,
size_t  i,
size_t  iqn,
const boost::multi_array< ReturnValue, 2 > &  ancestor_value_quad 
)
inlinestatic

◆ evaluate() [17/36]

template<typename ScalarBasisType , size_t N>
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Function >::evaluate ( const MatrixFamily< ScalarBasisType, N > &  basis,
size_t  i,
const VectorRd x 
)
inlinestatic

◆ evaluate() [18/36]

template<typename ScalarBasisType , size_t N>
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Divergence >::evaluate ( const MatrixFamily< ScalarBasisType, N > &  basis,
size_t  i,
const VectorRd x 
)
inlinestatic

◆ evaluate() [19/36]

template<typename ScalarBasisType , size_t N>
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Gradient >::evaluate ( const MatrixFamily< ScalarBasisType, N > &  basis,
size_t  i,
const VectorRd x 
)
inlinestatic

◆ evaluate() [20/36]

template<typename ScalarBasisType , size_t N>
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Function >::evaluate ( const MatrixFamily< ScalarBasisType, N > &  basis,
size_t  i,
size_t  iqn,
const boost::multi_array< double, 2 > &  ancestor_basis_quad 
)
inlinestatic

◆ evaluate() [21/36]

template<typename ScalarBasisType , size_t N>
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Divergence >::evaluate ( const MatrixFamily< ScalarBasisType, N > &  basis,
size_t  i,
size_t  iqn,
const boost::multi_array< VectorRd, 2 > &  ancestor_basis_quad 
)
inlinestatic

◆ evaluate() [22/36]

template<typename ScalarBasisType , size_t N>
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Gradient >::evaluate ( const MatrixFamily< ScalarBasisType, N > &  basis,
size_t  i,
size_t  iqn,
const boost::multi_array< VectorRd, 2 > &  ancestor_basis_quad 
)
inlinestatic

◆ evaluate() [23/36]

template<typename ScalarBasisType , size_t N>
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Function >::evaluate ( const TensorizedVectorFamily< ScalarBasisType, N > &  basis,
size_t  i,
const VectorRd x 
)
inlinestatic

◆ evaluate() [24/36]

template<typename ScalarBasisType , size_t N>
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Gradient >::evaluate ( const TensorizedVectorFamily< ScalarBasisType, N > &  basis,
size_t  i,
const VectorRd x 
)
inlinestatic

◆ evaluate() [25/36]

template<typename ScalarBasisType , size_t N>
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, SymmetricGradient >::evaluate ( const TensorizedVectorFamily< ScalarBasisType, N > &  basis,
size_t  i,
const VectorRd x 
)
inlinestatic

◆ evaluate() [26/36]

template<typename ScalarBasisType , size_t N>
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, SkewsymmetricGradient >::evaluate ( const TensorizedVectorFamily< ScalarBasisType, N > &  basis,
size_t  i,
const VectorRd x 
)
inlinestatic

◆ evaluate() [27/36]

template<typename ScalarBasisType , size_t N>
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Curl >::evaluate ( const TensorizedVectorFamily< ScalarBasisType, N > &  basis,
size_t  i,
const VectorRd x 
)
inlinestatic

◆ evaluate() [28/36]

template<typename ScalarBasisType , size_t N>
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Divergence >::evaluate ( const TensorizedVectorFamily< ScalarBasisType, N > &  basis,
size_t  i,
const VectorRd x 
)
inlinestatic

◆ evaluate() [29/36]

template<typename ScalarBasisType , size_t N>
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Rotor >::evaluate ( const TensorizedVectorFamily< ScalarBasisType, N > &  basis,
size_t  i,
const VectorRd x 
)
inlinestatic

◆ evaluate() [30/36]

template<typename ScalarBasisType , size_t N>
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Function >::evaluate ( const TensorizedVectorFamily< ScalarBasisType, N > &  basis,
size_t  i,
size_t  iqn,
const boost::multi_array< double, 2 > &  ancestor_basis_quad 
)
inlinestatic

◆ evaluate() [31/36]

template<typename ScalarBasisType , size_t N>
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Gradient >::evaluate ( const TensorizedVectorFamily< ScalarBasisType, N > &  basis,
size_t  i,
size_t  iqn,
const boost::multi_array< VectorRd, 2 > &  ancestor_basis_quad 
)
inlinestatic

◆ evaluate() [32/36]

template<typename ScalarBasisType , size_t N>
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, SymmetricGradient >::evaluate ( const TensorizedVectorFamily< ScalarBasisType, N > &  basis,
size_t  i,
size_t  iqn,
const boost::multi_array< VectorRd, 2 > &  ancestor_basis_quad 
)
inlinestatic

◆ evaluate() [33/36]

template<typename ScalarBasisType , size_t N>
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, SkewsymmetricGradient >::evaluate ( const TensorizedVectorFamily< ScalarBasisType, N > &  basis,
size_t  i,
size_t  iqn,
const boost::multi_array< VectorRd, 2 > &  ancestor_basis_quad 
)
inlinestatic

◆ evaluate() [34/36]

template<typename ScalarBasisType , size_t N>
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Curl >::evaluate ( const TensorizedVectorFamily< ScalarBasisType, N > &  basis,
size_t  i,
size_t  iqn,
const boost::multi_array< VectorRd, 2 > &  ancestor_basis_quad 
)
inlinestatic

◆ evaluate() [35/36]

template<typename ScalarBasisType , size_t N>
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Divergence >::evaluate ( const TensorizedVectorFamily< ScalarBasisType, N > &  basis,
size_t  i,
size_t  iqn,
const boost::multi_array< VectorRd, 2 > &  ancestor_basis_quad 
)
inlinestatic

◆ evaluate() [36/36]

template<typename ScalarBasisType , size_t N>
static ReturnValue HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Rotor >::evaluate ( const TensorizedVectorFamily< ScalarBasisType, N > &  basis,
size_t  i,
size_t  iqn,
const boost::multi_array< VectorRd, 2 > &  ancestor_basis_quad 
)
inlinestatic

◆ family()

template<typename BasisType >
Family<BasisType> HArDCore2D::DecomposePoly< BasisType >::family ( boost::multi_array< typename BasisType::FunctionValue, 2 > &  values)
inline

Returns the decomposed polynomials as a Family of the provided basis.

Parameters
valuesValues of polynomials at the nodes (e.g. obtained via evaluate_quad)

◆ Family()

template<typename BasisType >
HArDCore2D::Family< BasisType >::Family ( const BasisType &  basis,
const Eigen::MatrixXd &  matrix 
)
inline

Constructor.

Parameters
basisThe basis in which the family is expressed
matrixThe coefficient matrix whose i-th line contains the coefficient of the expansion of the i-th function of the family in the basis

◆ function() [1/19]

MonomialScalarBasisCell::FunctionValue HArDCore2D::MonomialScalarBasisCell::function ( size_t  i,
const VectorRd x 
) const

Evaluate the i-th basis function at point x.

◆ function() [2/19]

MonomialScalarBasisEdge::FunctionValue HArDCore2D::MonomialScalarBasisEdge::function ( size_t  i,
const VectorRd x 
) const

Evaluate the i-th basis function at point x.

◆ function() [3/19]

template<typename BasisType >
FunctionValue HArDCore2D::Family< BasisType >::function ( size_t  i,
const VectorRd x 
) const
inline

Evaluate the i-th function at point x.

◆ function() [4/19]

template<typename ScalarFamilyType , size_t N>
FunctionValue HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::function ( size_t  i,
const VectorRd x 
) const
inline

Evaluate the i-th basis function at point x.

◆ function() [5/19]

template<typename ScalarFamilyType , size_t N>
FunctionValue HArDCore2D::MatrixFamily< ScalarFamilyType, N >::function ( size_t  i,
const VectorRd x 
) const
inline

Evaluate the i-th basis function at point x.

◆ function() [6/19]

template<typename ScalarFamilyType >
FunctionValue HArDCore2D::TangentFamily< ScalarFamilyType >::function ( size_t  i,
const VectorRd x 
) const
inline

Evaluate the i-th basis function at point x.

◆ function() [7/19]

template<typename BasisType >
FunctionValue HArDCore2D::ShiftedBasis< BasisType >::function ( size_t  i,
const VectorRd x 
) const
inline

Evaluate the i-th basis function at point x.

◆ function() [8/19]

template<typename BasisType >
FunctionValue HArDCore2D::RestrictedBasis< BasisType >::function ( size_t  i,
const VectorRd x 
) const
inline

Evaluate the i-th basis function at point x.

◆ function() [9/19]

template<typename BasisType >
FunctionValue HArDCore2D::GradientBasis< BasisType >::function ( size_t  i,
const VectorRd x 
) const
inline

Evaluate the i-th basis function at point x.

◆ function() [10/19]

template<typename BasisType >
FunctionValue HArDCore2D::CurlBasis< BasisType >::function ( size_t  i,
const VectorRd x 
) const
inline

Evaluate the i-th basis function at point x.

◆ function() [11/19]

template<typename BasisType >
FunctionValue HArDCore2D::DivergenceBasis< BasisType >::function ( size_t  i,
const VectorRd x 
) const
inline

Evaluate the i-th basis function at point x.

◆ function() [12/19]

template<typename BasisType >
FunctionValue HArDCore2D::RotorBasis< BasisType >::function ( size_t  i,
const VectorRd x 
) const
inline

Evaluate the i-th basis function at point x.

◆ function() [13/19]

template<typename BasisType >
FunctionValue HArDCore2D::HessianBasis< BasisType >::function ( size_t  i,
const VectorRd x 
) const
inline

Evaluate the i-th basis function at point x.

◆ function() [14/19]

RolyComplBasisCell::FunctionValue HArDCore2D::RolyComplBasisCell::function ( size_t  i,
const VectorRd x 
) const

Evaluate the i-th basis function at point x.

◆ function() [15/19]

GolyComplBasisCell::FunctionValue HArDCore2D::GolyComplBasisCell::function ( size_t  i,
const VectorRd x 
) const

Evaluate the i-th basis function at point x.

◆ function() [16/19]

HolyComplBasisCell::FunctionValue HArDCore2D::HolyComplBasisCell::function ( size_t  i,
const VectorRd x 
) const

Evaluate the i-th basis function at point x.

◆ function() [17/19]

template<typename ScalarFamilyType , size_t N>
FunctionValue HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::function ( size_t  i,
size_t  iqn,
const boost::multi_array< double, 2 > &  ancestor_value_quad 
) const
inline

Evaluate the i-th basis function at a quadrature point iqn, knowing all the values of ancestor basis functions at the quadrature nodes (provided by eval_quad)

◆ function() [18/19]

template<typename ScalarFamilyType , size_t N>
FunctionValue HArDCore2D::MatrixFamily< ScalarFamilyType, N >::function ( size_t  i,
size_t  iqn,
const boost::multi_array< double, 2 > &  ancestor_value_quad 
) const
inline

Evaluate the i-th basis function at a quadrature point iqn, knowing all the values of ancestor basis functions at the quadrature nodes (provided by eval_quad)

◆ function() [19/19]

template<typename BasisType >
FunctionValue HArDCore2D::Family< BasisType >::function ( size_t  i,
size_t  iqn,
const boost::multi_array< FunctionValue, 2 > &  ancestor_value_quad 
) const
inline

Evaluate the i-th function at a quadrature point iqn, knowing all the values of ancestor basis functions at the quadrature nodes (provided by eval_quad)

◆ generator()

template<typename ScalarFamilyType >
VectorRd HArDCore2D::TangentFamily< ScalarFamilyType >::generator ( ) const
inline

Returns the generator of the basis functions.

◆ GenericTensorization()

template<typename ScalarBasisType , size_t N>
Family<TensorizedVectorFamily<ScalarBasisType, N> > HArDCore2D::GenericTensorization ( const ScalarBasisType &  B,
const std::vector< Eigen::VectorXd > &  v 
)

From a scalar family B=(B_1..B_r) and vectors (v_1..v_k) in R^N, constructs a "Family" of "TensorizedVectorFamily" (built on B, of size N) that represents the family (B_1v_1..B_rv_1 B_1v_2...B_rv_2... B_1v_k..B_rv_k).

Useful to tensorized scalar family while controlling the directions of tensorization (e.g. to identify tangential and normal directions along a surface, etc.). If B and v are orthonormal, then so is the returned family of tensorized basis.

Parameters
vThe scalar family The vectors for tensorization

◆ get_nodes()

template<typename BasisType >
QuadratureRule HArDCore2D::DecomposePoly< BasisType >::get_nodes ( ) const
inline

Return the set of nodes (useful to compute value of polynomial to decompose via evaluate_quad)

◆ GolyComplBasisCell()

HArDCore2D::GolyComplBasisCell::GolyComplBasisCell ( const Cell &  T,
size_t  degree 
)

Constructor.

Parameters
TA mesh cell
degreeThe maximum polynomial degree to be considered

◆ gradient() [1/10]

MonomialScalarBasisCell::GradientValue HArDCore2D::MonomialScalarBasisCell::gradient ( size_t  i,
const VectorRd x 
) const

Evaluate the gradient of the i-th basis function at point x.

◆ gradient() [2/10]

MonomialScalarBasisEdge::GradientValue HArDCore2D::MonomialScalarBasisEdge::gradient ( size_t  i,
const VectorRd x 
) const

Evaluate the gradient of the i-th basis function at point x.

◆ gradient() [3/10]

template<typename BasisType >
GradientValue HArDCore2D::Family< BasisType >::gradient ( size_t  i,
const VectorRd x 
) const
inline

Evaluate the gradient of the i-th function at point x.

◆ gradient() [4/10]

template<typename ScalarFamilyType , size_t N>
GradientValue HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::gradient ( size_t  i,
const VectorRd x 
) const
inline

Evaluate the gradient of the i-th basis function at point x.

◆ gradient() [5/10]

template<typename ScalarFamilyType , size_t N>
GradientValue HArDCore2D::MatrixFamily< ScalarFamilyType, N >::gradient ( size_t  i,
const VectorRd x 
) const
inline

Evaluate the gradient of the i-th basis function at point x.

◆ gradient() [6/10]

template<typename BasisType >
GradientValue HArDCore2D::ShiftedBasis< BasisType >::gradient ( size_t  i,
const VectorRd x 
) const
inline

Evaluate the gradient of the i-th basis function at point x.

◆ gradient() [7/10]

template<typename BasisType >
GradientValue HArDCore2D::RestrictedBasis< BasisType >::gradient ( size_t  i,
const VectorRd x 
) const
inline

Evaluate the gradient of the i-th basis function at point x.

◆ gradient() [8/10]

template<typename BasisType >
GradientValue HArDCore2D::Family< BasisType >::gradient ( size_t  i,
size_t  iqn,
const boost::multi_array< GradientValue, 2 > &  ancestor_gradient_quad 
) const
inline

Evaluate the gradient of the i-th function at a quadrature point iqn, knowing all the gradients of ancestor basis functions at the quadrature nodes (provided by eval_quad)

◆ gradient() [9/10]

template<typename ScalarFamilyType , size_t N>
GradientValue HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::gradient ( size_t  i,
size_t  iqn,
const boost::multi_array< VectorRd, 2 > &  ancestor_gradient_quad 
) const
inline

Evaluate the gradient of the i-th basis function at a quadrature point iqn, knowing all the gradients of ancestor basis functions at the quadrature nodes (provided by eval_quad)

◆ gradient() [10/10]

template<typename ScalarFamilyType , size_t N>
GradientValue HArDCore2D::MatrixFamily< ScalarFamilyType, N >::gradient ( size_t  i,
size_t  iqn,
const boost::multi_array< VectorRd, 2 > &  ancestor_gradient_quad 
) const
inline

Evaluate the gradient of the i-th basis function at a quadrature point iqn, knowing all the gradients of ancestor basis functions at the quadrature nodes (provided by eval_quad)

◆ GradientBasis()

template<typename BasisType >
HArDCore2D::GradientBasis< BasisType >::GradientBasis ( const BasisType &  basis)
inline

Constructor.

◆ gram_schmidt()

template<typename T >
Eigen::MatrixXd HArDCore2D::gram_schmidt ( boost::multi_array< T, 2 > &  basis_eval,
const std::function< double(size_t, size_t)> &  inner_product 
)

Gram-Schmidt algorithm to ortonormalize a basis. The matrix \(M\) returned by this function gives the coefficients in the original basis of the orthonormalised basis. If \((f_1,...,f_r)\) is the original basis, the orthonormalised basis is \((\phi_1,...,\phi_r)\) where \(\phi_i = \sum_j M_{ij}f_j\).

The function also modifies the variable basis_eval so that it contains the evaluation on at quadrature nodes of the new orthonormalised basis.

Parameters
basis_evalEvaluations at quadrature nodes of the original basis.
inner_productinner product (of two original basis functions) with respect to which we orthonormalise. This inner product must only depend on the basis functions through their values basis_eval.

◆ hessian() [1/4]

MonomialScalarBasisCell::HessianValue HArDCore2D::MonomialScalarBasisCell::hessian ( size_t  i,
const VectorRd x 
) const

Evaluate the Hessian of the i-th basis function at point x.

◆ hessian() [2/4]

template<typename BasisType >
HessianValue HArDCore2D::Family< BasisType >::hessian ( size_t  i,
const VectorRd x 
) const
inline

Evaluate the Hessian of the i-th basis function at point x.

◆ hessian() [3/4]

template<typename BasisType >
HessianValue HArDCore2D::ShiftedBasis< BasisType >::hessian ( size_t  i,
const VectorRd x 
) const
inline

Evaluate the Hessian of the i-th basis function at point x.

◆ hessian() [4/4]

template<typename BasisType >
HessianValue HArDCore2D::Family< BasisType >::hessian ( size_t  i,
size_t  iqn,
const boost::multi_array< HessianValue, 2 > &  ancestor_hessian_quad 
) const
inline

Evaluate the hessian of the i-th function at a quadrature point iqn, knowing all the hessian of ancestor basis functions at the quadrature nodes (provided by eval_quad)

◆ HessianBasis()

template<typename BasisType >
HArDCore2D::HessianBasis< BasisType >::HessianBasis ( const BasisType &  basis)
inline

Constructor.

◆ HolyComplBasisCell()

HArDCore2D::HolyComplBasisCell::HolyComplBasisCell ( const Cell &  T,
size_t  degree 
)

Constructor.

Parameters
TA mesh cell
degreeThe maximum polynomial degree to be considered

◆ integrate()

template<typename T >
Eigen::VectorXd HArDCore2D::integrate ( const FType< T > &  f,
const BasisQuad< T > &  B,
const QuadratureRule qr,
size_t  n_rows = 0 
)

Compute the integral of a given function against all functions from a family.

Possible types for T are those for which we have a "scalar_product" function (currently: double, VectorRd, MatrixRd)

Parameters
fFunction to be integrated.
BFamily of basis functions at quadrature nodes.
qrQuadrature rule
n_rowsOptional argument for number of basis functions to be integrated. Default integrates all in the family.

◆ IsotropicMatrixFamily()

template<typename ScalarBasisType , size_t N>
Family<MatrixFamily<ScalarBasisType, N> > HArDCore2D::IsotropicMatrixFamily ( const ScalarBasisType &  B)

From a scalar family B, constructs a "Family" of "MatrixFamily" (built on B, of size NxN) that represents the family B Id on the MatrixFamily.

Useful, e.g., to compute Gram matrices involving traces, by writing tr(G) B = G : B Id and computing the Gram matrix of G with the output of this function.

Parameters
BThe scalar family

◆ l2_orthonormalize() [1/2]

template<typename BasisType >
Family<BasisType> HArDCore2D::l2_orthonormalize ( const BasisType &  basis,
const Eigen::MatrixXd &  GM 
)

\(L^2\)-orthonormalization: when the Gram Matrix is passed, we use Cholesky.

Parameters
basisbasis to orthonormalise
GMGram matrix of the basis

◆ l2_orthonormalize() [2/2]

template<typename BasisType >
Family<BasisType> HArDCore2D::l2_orthonormalize ( const BasisType &  basis,
const QuadratureRule qr,
boost::multi_array< typename BasisType::FunctionValue, 2 > &  basis_quad 
)

\(L^2\)-orthonormalization: simply consists in using gram_schmidt() with the specific l2 inner product

Parameters
basisbasis to orthonormalise
qrquadrature rule for computing the l2 inner product
basis_quadvalues of basis functions at quadrature nodes

◆ l2_projection()

template<typename BasisType >
Eigen::VectorXd HArDCore2D::l2_projection ( const std::function< typename BasisType::FunctionValue(const VectorRd &)> &  f,
const BasisType &  basis,
QuadratureRule quad,
const boost::multi_array< typename BasisType::FunctionValue, 2 > &  basis_quad,
const Eigen::MatrixXd &  mass_basis = Eigen::MatrixXd::Zero(1,1) 
)

Compute the L2-projection of a function.

Parameters
fFunction to project
basisBasis for the space on which we project
quadQuadrature rule
basis_quadEvaluation of the basis at quadrature nodes
mass_basisOptional: the mass matrix of the basis, if previously calculated

◆ matrix()

template<typename BasisType >
const Eigen::MatrixXd& HArDCore2D::Family< BasisType >::matrix ( ) const
inline

Return the coefficient matrix.

◆ matrix_vector_product() [1/2]

boost::multi_array< VectorRd, 2 > HArDCore2D::matrix_vector_product ( const boost::multi_array< MatrixRd, 2 > &  basis_quad,
const std::vector< VectorRd > &  v_quad 
)

Take the product of a matrix-valued basis with a vector.

Parameters
basis_quadThe basis evaluation
v_quadThe vector to take the product with

◆ matrix_vector_product() [2/2]

boost::multi_array< VectorRd, 2 > HArDCore2D::matrix_vector_product ( const std::vector< MatrixRd > &  m_quad,
const boost::multi_array< VectorRd, 2 > &  basis_quad 
)

Take the product of a matrix with a vector-valued basis.

Parameters
m_quadThe matrix to take the product with
basis_quadThe basis evaluation

◆ MatrixFamily()

template<typename ScalarFamilyType , size_t N>
HArDCore2D::MatrixFamily< ScalarFamilyType, N >::MatrixFamily ( const ScalarFamilyType &  scalar_family)
inline

◆ MatrixGradient() [1/2]

template<size_t N>
HArDCore2D::MatrixGradient< N >::MatrixGradient ( )
inline

Default constructor.

◆ MatrixGradient() [2/2]

template<size_t N>
HArDCore2D::MatrixGradient< N >::MatrixGradient ( Eigen::Matrix< double, N, N >  diff_x,
Eigen::Matrix< double, N, N >  diff_y 
)
inline

Constructor.

◆ matrixSize()

template<typename ScalarFamilyType , size_t N>
const size_t HArDCore2D::MatrixFamily< ScalarFamilyType, N >::matrixSize ( ) const
inline

Return the dimension of the matrices in the family.

◆ max_degree() [1/9]

size_t HArDCore2D::MonomialScalarBasisCell::max_degree ( ) const
inline

Returns the maximum degree of the basis functions.

◆ max_degree() [2/9]

size_t HArDCore2D::MonomialScalarBasisEdge::max_degree ( ) const
inline

Returns the maximum degree of the basis functions.

◆ max_degree() [3/9]

template<typename BasisType >
size_t HArDCore2D::Family< BasisType >::max_degree ( ) const
inline

Returns the maximum degree of the basis functions.

◆ max_degree() [4/9]

template<typename ScalarFamilyType , size_t N>
size_t HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::max_degree ( ) const
inline

Returns the maximum degree of the basis functions.

◆ max_degree() [5/9]

template<typename ScalarFamilyType >
size_t HArDCore2D::TangentFamily< ScalarFamilyType >::max_degree ( ) const
inline

Returns the maximum degree of the basis functions.

◆ max_degree() [6/9]

template<typename BasisType >
size_t HArDCore2D::ShiftedBasis< BasisType >::max_degree ( ) const
inline

Returns the maximum degree of the basis functions.

◆ max_degree() [7/9]

template<typename BasisType >
size_t HArDCore2D::RestrictedBasis< BasisType >::max_degree ( ) const
inline

Returns the maximum degree of the basis functions.

◆ max_degree() [8/9]

size_t HArDCore2D::RolyComplBasisCell::max_degree ( ) const
inline

Returns the maximum degree of the basis functions.

◆ max_degree() [9/9]

size_t HArDCore2D::HolyComplBasisCell::max_degree ( ) const
inline

Returns the maximum degree of the basis functions.

◆ MonomialScalarBasisCell()

HArDCore2D::MonomialScalarBasisCell::MonomialScalarBasisCell ( const Cell &  T,
size_t  degree 
)

Constructor.

Parameters
TA mesh cell
degreeThe maximum polynomial degree to be considered

◆ MonomialScalarBasisEdge()

HArDCore2D::MonomialScalarBasisEdge::MonomialScalarBasisEdge ( const Edge &  E,
size_t  degree 
)

Constructor.

Parameters
EA mesh edge
degreeThe maximum polynomial degree to be considered

◆ operator*()

template<size_t N>
MatrixGradient<N> HArDCore2D::operator* ( double  scalar,
MatrixGradient< N > const &  G 
)

Multiplication of a MatrixGradient from the left (non-member function to be able to multiply from the left)

◆ operator+()

template<size_t N>
MatrixGradient HArDCore2D::MatrixGradient< N >::operator+ ( const MatrixGradient< N > &  G)
inline

Addition.

◆ operator+=()

template<size_t N>
MatrixGradient& HArDCore2D::MatrixGradient< N >::operator+= ( const MatrixGradient< N > &  G)
inline

Increment.

◆ operator-()

template<size_t N>
MatrixGradient HArDCore2D::MatrixGradient< N >::operator- ( const MatrixGradient< N > &  G)
inline

Subtraction.

◆ powers() [1/2]

VectorZd HArDCore2D::MonomialScalarBasisCell::powers ( size_t  i) const
inline

Returns the powers of the i-th basis function (its degree can be found using powers(i).sum())

◆ powers() [2/2]

VectorZd HArDCore2D::RolyComplBasisCell::powers ( size_t  i) const
inline

Returns the powers of the i-th basis function (not including the vector part)

◆ rck()

const std::shared_ptr<RolyComplBasisCell>& HArDCore2D::GolyComplBasisCell::rck ( ) const
inline

Return the Rck basis.

◆ RestrictedBasis()

template<typename BasisType >
HArDCore2D::RestrictedBasis< BasisType >::RestrictedBasis ( const BasisType &  basis,
const size_t &  dimension 
)
inline

Constructor.

Parameters
basisA basis
dimensionThe dimension of the restricted basis

◆ RolyComplBasisCell()

HArDCore2D::RolyComplBasisCell::RolyComplBasisCell ( const Cell &  T,
size_t  degree 
)

Constructor.

Parameters
TA mesh cell
degreeThe maximum polynomial degree to be considered

◆ rotor() [1/7]

template<typename BasisType >
DivergenceValue HArDCore2D::Family< BasisType >::rotor ( size_t  i,
const VectorRd x 
) const
inline

Evaluate the scalar rotor of the i-th function at point x.

◆ rotor() [2/7]

template<typename ScalarFamilyType , size_t N>
RotorValue HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::rotor ( size_t  i,
const VectorRd x 
) const
inline

Evaluate the scalar rotor of the i-th basis function at point x.

◆ rotor() [3/7]

template<typename BasisType >
RotorValue HArDCore2D::ShiftedBasis< BasisType >::rotor ( size_t  i,
const VectorRd x 
) const
inline

Evaluate the scalar rotor of the i-th basis function at point x.

◆ rotor() [4/7]

template<typename BasisType >
RotorValue HArDCore2D::RestrictedBasis< BasisType >::rotor ( size_t  i,
const VectorRd x 
) const
inline

Evaluate the rotor of the i-th basis function at point x.

◆ rotor() [5/7]

GolyComplBasisCell::RotorValue HArDCore2D::GolyComplBasisCell::rotor ( size_t  i,
const VectorRd x 
) const

Evaluate the rotor of the i-th basis function at point x.

◆ rotor() [6/7]

template<typename BasisType >
RotorValue HArDCore2D::Family< BasisType >::rotor ( size_t  i,
size_t  iqn,
const boost::multi_array< RotorValue, 2 > &  ancestor_rotor_quad 
) const
inline

Evaluate the scalar rotor of the i-th function at a quadrature point iqn, knowing all the scalar rotors of ancestor basis functions at the quadrature nodes (provided by eval_quad)

◆ rotor() [7/7]

template<typename ScalarFamilyType , size_t N>
RotorValue HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::rotor ( size_t  i,
size_t  iqn,
const boost::multi_array< VectorRd, 2 > &  ancestor_gradient_quad 
) const
inline

Evaluate the scalar rotor of the i-th basis function at a quadrature point iqn, knowing all the gradients of ancestor basis functions at the quadrature nodes (provided by eval_quad)

◆ RotorBasis()

template<typename BasisType >
HArDCore2D::RotorBasis< BasisType >::RotorBasis ( const BasisType &  basis)
inline

Constructor.

◆ scalar_product() [1/5]

template<typename Value >
boost::multi_array<double, 2> HArDCore2D::scalar_product ( const boost::multi_array< Value, 2 > &  basis_quad,
const std::vector< Value > &  v 
)

This overloading of the scalar_product function computes the scalar product between an evaluation of a basis and a field that varies on the quadrature nodes; both basis values and constant value must be of type Value.

Parameters
basis_quadThe basis evaluation
vThe vector field to take the scalar product with

◆ scalar_product() [2/5]

template<typename Value >
boost::multi_array<double, 2> HArDCore2D::scalar_product ( const boost::multi_array< Value, 2 > &  basis_quad,
const Value &  v 
)

This overloading of the scalar_product function computes the scalar product between an evaluation of a basis and a constant value; both basis values and constant value must be of type Value.

Parameters
basis_quadThe basis evaluation
vThe vector to take the scalar product with

◆ scalar_product() [3/5]

double HArDCore2D::scalar_product ( const double &  x,
const double &  y 
)

Scalar product between two reals.

◆ scalar_product() [4/5]

template<int N>
double HArDCore2D::scalar_product ( const Eigen::Matrix< double, N, N > &  x,
const Eigen::Matrix< double, N, N > &  y 
)

Scalar product between two matrices.

◆ scalar_product() [5/5]

double HArDCore2D::scalar_product ( const VectorRd x,
const VectorRd y 
)

Scalar product between two vectors.

◆ ShiftedBasis()

template<typename BasisType >
HArDCore2D::ShiftedBasis< BasisType >::ShiftedBasis ( const BasisType &  basis,
const int  shift 
)
inline

Constructor.

Parameters
basisA basis
shiftThe shift

◆ symmetricBasis()

template<typename ScalarFamilyType , size_t N>
const Eigen::MatrixXd HArDCore2D::MatrixFamily< ScalarFamilyType, N >::symmetricBasis ( ) const
inline

Returns the matrix that can be used, in a Family of this MatrixBasis, to create a basis of the subspace of symmetric matrices.

◆ symmetriseOperator()

template<typename ScalarFamilyType , size_t N>
const Eigen::MatrixXd HArDCore2D::MatrixFamily< ScalarFamilyType, N >::symmetriseOperator ( ) const
inline

Return the symmetrisation operator, the rN^2 square matrix that to a given vector of coefficients on the Matrix family associate the vector of coefficients corresponding to the symmetrised matrix.

◆ TangentFamily()

template<typename ScalarFamilyType >
HArDCore2D::TangentFamily< ScalarFamilyType >::TangentFamily ( const ScalarFamilyType &  scalar_family,
const VectorRd generator 
)
inline

Constructor.

Parameters
scalar_familyA basis for the scalar space
generatorOne generator of the edge

◆ TensorizedVectorFamily()

template<typename ScalarFamilyType , size_t N>
HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::TensorizedVectorFamily ( const ScalarFamilyType &  scalar_family)
inline

◆ transform_values_quad()

template<typename outValue , typename inValue , typename FunctionType >
boost::multi_array<outValue, 2> HArDCore2D::transform_values_quad ( const boost::multi_array< inValue, 2 > &  B_quad,
const FunctionType &  F 
)

Takes an array B_quad of values at quadrature nodes and applies the function F to all of them. F must take inValue and return outValue. The function must be called with outValue as template argument: transform_values_quad<outValue>(...)

Parameters
B_quadEvaluations to be transformed
FTransformation

◆ transposeOperator()

template<typename ScalarFamilyType , size_t N>
const Eigen::MatrixXd HArDCore2D::MatrixFamily< ScalarFamilyType, N >::transposeOperator ( ) const
inline

Return the transpose operator, the rN^2 square matrix that to a given vector of coefficients on the Matrix family associate the vector of coefficients corresponding to the transpose.

◆ vector_matrix_product()

boost::multi_array< VectorRd, 2 > HArDCore2D::vector_matrix_product ( const std::vector< VectorRd > &  v_quad,
const boost::multi_array< MatrixRd, 2 > &  basis_quad 
)

Take the product of (the transposed of) a vector with a matrix-valued basis.

Parameters
v_quadThe vector to take the product with
basis_quadThe basis evaluation

Variable Documentation

◆ AncestorBasisFunction [1/10]

template<typename ScalarBasisType , size_t N>
const BasisFunctionE HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Function >::AncestorBasisFunction = Function
static

◆ AncestorBasisFunction [2/10]

template<typename ScalarBasisType , size_t N>
const BasisFunctionE HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Gradient >::AncestorBasisFunction = Gradient
static

◆ AncestorBasisFunction [3/10]

template<typename ScalarBasisType , size_t N>
const BasisFunctionE HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, SymmetricGradient >::AncestorBasisFunction = Gradient
static

◆ AncestorBasisFunction [4/10]

template<typename ScalarBasisType , size_t N>
const BasisFunctionE HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, SkewsymmetricGradient >::AncestorBasisFunction = Gradient
static

◆ AncestorBasisFunction [5/10]

template<typename ScalarBasisType , size_t N>
const BasisFunctionE HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Curl >::AncestorBasisFunction = Gradient
static

◆ AncestorBasisFunction [6/10]

template<typename ScalarBasisType , size_t N>
const BasisFunctionE HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Divergence >::AncestorBasisFunction = Gradient
static

◆ AncestorBasisFunction [7/10]

template<typename ScalarBasisType , size_t N>
const BasisFunctionE HArDCore2D::detail::basis_evaluation_traits< TensorizedVectorFamily< ScalarBasisType, N >, Rotor >::AncestorBasisFunction = Gradient
static

◆ AncestorBasisFunction [8/10]

template<typename ScalarBasisType , size_t N>
const BasisFunctionE HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Function >::AncestorBasisFunction = Function
static

◆ AncestorBasisFunction [9/10]

template<typename ScalarBasisType , size_t N>
const BasisFunctionE HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Divergence >::AncestorBasisFunction = Gradient
static

◆ AncestorBasisFunction [10/10]

template<typename ScalarBasisType , size_t N>
const BasisFunctionE HArDCore2D::detail::basis_evaluation_traits< MatrixFamily< ScalarBasisType, N >, Gradient >::AncestorBasisFunction = Gradient
static

◆ dimspace

constexpr int HArDCore2D::dimspace = 2
constexpr

Dimension, and generic types for vector in correct dimension (makes it easier to translate a code between 2D and 3D)

◆ dx

template<size_t N>
Eigen::Matrix<double, N, N> HArDCore2D::MatrixGradient< N >::dx

◆ dy

template<size_t N>
Eigen::Matrix<double, N, N> HArDCore2D::MatrixGradient< N >::dy

◆ hasAncestor [1/16]

constexpr static const bool HArDCore2D::MonomialScalarBasisCell::hasAncestor = false
staticconstexpr

◆ hasAncestor [2/16]

constexpr static const bool HArDCore2D::MonomialScalarBasisEdge::hasAncestor = false
staticconstexpr

◆ hasAncestor [3/16]

template<typename BasisType >
constexpr static const bool HArDCore2D::Family< BasisType >::hasAncestor = true
staticconstexpr

◆ hasAncestor [4/16]

template<typename ScalarFamilyType , size_t N>
constexpr static const bool HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::hasAncestor = true
staticconstexpr

◆ hasAncestor [5/16]

template<typename ScalarFamilyType , size_t N>
constexpr static const bool HArDCore2D::MatrixFamily< ScalarFamilyType, N >::hasAncestor = true
staticconstexpr

◆ hasAncestor [6/16]

template<typename ScalarFamilyType >
constexpr static const bool HArDCore2D::TangentFamily< ScalarFamilyType >::hasAncestor = true
staticconstexpr

◆ hasAncestor [7/16]

template<typename BasisType >
constexpr static const bool HArDCore2D::ShiftedBasis< BasisType >::hasAncestor = true
staticconstexpr

◆ hasAncestor [8/16]

template<typename BasisType >
constexpr static const bool HArDCore2D::RestrictedBasis< BasisType >::hasAncestor = true
staticconstexpr

◆ hasAncestor [9/16]

template<typename BasisType >
constexpr static const bool HArDCore2D::GradientBasis< BasisType >::hasAncestor = true
staticconstexpr

◆ hasAncestor [10/16]

template<typename BasisType >
constexpr static const bool HArDCore2D::CurlBasis< BasisType >::hasAncestor = true
staticconstexpr

◆ hasAncestor [11/16]

template<typename BasisType >
constexpr static const bool HArDCore2D::DivergenceBasis< BasisType >::hasAncestor = true
staticconstexpr

◆ hasAncestor [12/16]

template<typename BasisType >
constexpr static const bool HArDCore2D::RotorBasis< BasisType >::hasAncestor = true
staticconstexpr

◆ hasAncestor [13/16]

template<typename BasisType >
constexpr static const bool HArDCore2D::HessianBasis< BasisType >::hasAncestor = true
staticconstexpr

◆ hasAncestor [14/16]

constexpr static const bool HArDCore2D::RolyComplBasisCell::hasAncestor = false
staticconstexpr

◆ hasAncestor [15/16]

constexpr static const bool HArDCore2D::GolyComplBasisCell::hasAncestor = false
staticconstexpr

◆ hasAncestor [16/16]

constexpr static const bool HArDCore2D::HolyComplBasisCell::hasAncestor = false
staticconstexpr

◆ hasCurl [1/16]

const bool HArDCore2D::MonomialScalarBasisCell::hasCurl = true
static

◆ hasCurl [2/16]

const bool HArDCore2D::MonomialScalarBasisEdge::hasCurl = false
static

◆ hasCurl [3/16]

template<typename BasisType >
const bool HArDCore2D::Family< BasisType >::hasCurl = BasisType::hasCurl
static

◆ hasCurl [4/16]

template<typename ScalarFamilyType , size_t N>
const bool HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::hasCurl = ( ScalarFamilyType::hasGradient && N==dimspace )
static

◆ hasCurl [5/16]

template<typename ScalarFamilyType , size_t N>
const bool HArDCore2D::MatrixFamily< ScalarFamilyType, N >::hasCurl = false
static

◆ hasCurl [6/16]

template<typename ScalarFamilyType >
const bool HArDCore2D::TangentFamily< ScalarFamilyType >::hasCurl = false
static

◆ hasCurl [7/16]

template<typename BasisType >
const bool HArDCore2D::ShiftedBasis< BasisType >::hasCurl = BasisType::hasCurl
static

◆ hasCurl [8/16]

template<typename BasisType >
const bool HArDCore2D::RestrictedBasis< BasisType >::hasCurl = BasisType::hasCurl
static

◆ hasCurl [9/16]

template<typename BasisType >
const bool HArDCore2D::GradientBasis< BasisType >::hasCurl = false
static

◆ hasCurl [10/16]

template<typename BasisType >
const bool HArDCore2D::CurlBasis< BasisType >::hasCurl = false
static

◆ hasCurl [11/16]

template<typename BasisType >
const bool HArDCore2D::DivergenceBasis< BasisType >::hasCurl = false
static

◆ hasCurl [12/16]

template<typename BasisType >
const bool HArDCore2D::RotorBasis< BasisType >::hasCurl = false
static

◆ hasCurl [13/16]

template<typename BasisType >
const bool HArDCore2D::HessianBasis< BasisType >::hasCurl = false
static

◆ hasCurl [14/16]

const bool HArDCore2D::RolyComplBasisCell::hasCurl = false
static

◆ hasCurl [15/16]

const bool HArDCore2D::GolyComplBasisCell::hasCurl = false
static

◆ hasCurl [16/16]

const bool HArDCore2D::HolyComplBasisCell::hasCurl = false
static

◆ hasDivergence [1/16]

const bool HArDCore2D::MonomialScalarBasisCell::hasDivergence = false
static

◆ hasDivergence [2/16]

const bool HArDCore2D::MonomialScalarBasisEdge::hasDivergence = false
static

◆ hasDivergence [3/16]

template<typename BasisType >
const bool HArDCore2D::Family< BasisType >::hasDivergence = BasisType::hasDivergence
static

◆ hasDivergence [4/16]

template<typename ScalarFamilyType , size_t N>
const bool HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::hasDivergence = ( ScalarFamilyType::hasGradient && N==dimspace )
static

◆ hasDivergence [5/16]

template<typename ScalarFamilyType , size_t N>
const bool HArDCore2D::MatrixFamily< ScalarFamilyType, N >::hasDivergence = ( ScalarFamilyType::hasGradient && N==dimspace )
static

◆ hasDivergence [6/16]

template<typename ScalarFamilyType >
const bool HArDCore2D::TangentFamily< ScalarFamilyType >::hasDivergence = false
static

◆ hasDivergence [7/16]

template<typename BasisType >
const bool HArDCore2D::ShiftedBasis< BasisType >::hasDivergence = BasisType::hasDivergence
static

◆ hasDivergence [8/16]

template<typename BasisType >
const bool HArDCore2D::RestrictedBasis< BasisType >::hasDivergence = BasisType::hasDivergence
static

◆ hasDivergence [9/16]

template<typename BasisType >
const bool HArDCore2D::GradientBasis< BasisType >::hasDivergence = false
static

◆ hasDivergence [10/16]

template<typename BasisType >
const bool HArDCore2D::CurlBasis< BasisType >::hasDivergence = false
static

◆ hasDivergence [11/16]

template<typename BasisType >
const bool HArDCore2D::DivergenceBasis< BasisType >::hasDivergence = false
static

◆ hasDivergence [12/16]

template<typename BasisType >
const bool HArDCore2D::RotorBasis< BasisType >::hasDivergence = false
static

◆ hasDivergence [13/16]

template<typename BasisType >
const bool HArDCore2D::HessianBasis< BasisType >::hasDivergence = false
static

◆ hasDivergence [14/16]

const bool HArDCore2D::RolyComplBasisCell::hasDivergence = true
static

◆ hasDivergence [15/16]

const bool HArDCore2D::GolyComplBasisCell::hasDivergence = false
static

◆ hasDivergence [16/16]

const bool HArDCore2D::HolyComplBasisCell::hasDivergence = true
static

◆ hasFunction [1/16]

const bool HArDCore2D::MonomialScalarBasisCell::hasFunction = true
static

◆ hasFunction [2/16]

const bool HArDCore2D::MonomialScalarBasisEdge::hasFunction = true
static

◆ hasFunction [3/16]

template<typename BasisType >
const bool HArDCore2D::Family< BasisType >::hasFunction = BasisType::hasFunction
static

◆ hasFunction [4/16]

template<typename ScalarFamilyType , size_t N>
const bool HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::hasFunction = ScalarFamilyType::hasFunction
static

◆ hasFunction [5/16]

template<typename ScalarFamilyType , size_t N>
const bool HArDCore2D::MatrixFamily< ScalarFamilyType, N >::hasFunction = ScalarFamilyType::hasFunction
static

◆ hasFunction [6/16]

template<typename ScalarFamilyType >
const bool HArDCore2D::TangentFamily< ScalarFamilyType >::hasFunction = true
static

◆ hasFunction [7/16]

template<typename BasisType >
const bool HArDCore2D::ShiftedBasis< BasisType >::hasFunction = BasisType::hasFunction
static

◆ hasFunction [8/16]

template<typename BasisType >
const bool HArDCore2D::RestrictedBasis< BasisType >::hasFunction = BasisType::hasFunction
static

◆ hasFunction [9/16]

template<typename BasisType >
const bool HArDCore2D::GradientBasis< BasisType >::hasFunction = true
static

◆ hasFunction [10/16]

template<typename BasisType >
const bool HArDCore2D::CurlBasis< BasisType >::hasFunction = true
static

◆ hasFunction [11/16]

template<typename BasisType >
const bool HArDCore2D::DivergenceBasis< BasisType >::hasFunction = true
static

◆ hasFunction [12/16]

template<typename BasisType >
const bool HArDCore2D::RotorBasis< BasisType >::hasFunction = true
static

◆ hasFunction [13/16]

template<typename BasisType >
const bool HArDCore2D::HessianBasis< BasisType >::hasFunction = true
static

◆ hasFunction [14/16]

const bool HArDCore2D::RolyComplBasisCell::hasFunction = true
static

◆ hasFunction [15/16]

const bool HArDCore2D::GolyComplBasisCell::hasFunction = true
static

◆ hasFunction [16/16]

const bool HArDCore2D::HolyComplBasisCell::hasFunction = true
static

◆ hasGradient [1/16]

const bool HArDCore2D::MonomialScalarBasisCell::hasGradient = true
static

◆ hasGradient [2/16]

const bool HArDCore2D::MonomialScalarBasisEdge::hasGradient = true
static

◆ hasGradient [3/16]

template<typename BasisType >
const bool HArDCore2D::Family< BasisType >::hasGradient = BasisType::hasGradient
static

◆ hasGradient [4/16]

template<typename ScalarFamilyType , size_t N>
const bool HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::hasGradient = ScalarFamilyType::hasGradient
static

◆ hasGradient [5/16]

template<typename ScalarFamilyType , size_t N>
const bool HArDCore2D::MatrixFamily< ScalarFamilyType, N >::hasGradient = true
static

◆ hasGradient [6/16]

template<typename ScalarFamilyType >
const bool HArDCore2D::TangentFamily< ScalarFamilyType >::hasGradient = false
static

◆ hasGradient [7/16]

template<typename BasisType >
const bool HArDCore2D::ShiftedBasis< BasisType >::hasGradient = BasisType::hasGradient
static

◆ hasGradient [8/16]

template<typename BasisType >
const bool HArDCore2D::RestrictedBasis< BasisType >::hasGradient = BasisType::hasGradient
static

◆ hasGradient [9/16]

template<typename BasisType >
const bool HArDCore2D::GradientBasis< BasisType >::hasGradient = false
static

◆ hasGradient [10/16]

template<typename BasisType >
const bool HArDCore2D::CurlBasis< BasisType >::hasGradient = false
static

◆ hasGradient [11/16]

template<typename BasisType >
const bool HArDCore2D::DivergenceBasis< BasisType >::hasGradient = false
static

◆ hasGradient [12/16]

template<typename BasisType >
const bool HArDCore2D::RotorBasis< BasisType >::hasGradient = false
static

◆ hasGradient [13/16]

template<typename BasisType >
const bool HArDCore2D::HessianBasis< BasisType >::hasGradient = false
static

◆ hasGradient [14/16]

const bool HArDCore2D::RolyComplBasisCell::hasGradient = false
static

◆ hasGradient [15/16]

const bool HArDCore2D::GolyComplBasisCell::hasGradient = false
static

◆ hasGradient [16/16]

const bool HArDCore2D::HolyComplBasisCell::hasGradient = false
static

◆ hasHessian [1/16]

const bool HArDCore2D::MonomialScalarBasisCell::hasHessian = true
static

◆ hasHessian [2/16]

const bool HArDCore2D::MonomialScalarBasisEdge::hasHessian = false
static

◆ hasHessian [3/16]

template<typename BasisType >
const bool HArDCore2D::Family< BasisType >::hasHessian = BasisType::hasHessian
static

◆ hasHessian [4/16]

template<typename ScalarFamilyType , size_t N>
const bool HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::hasHessian = false
static

◆ hasHessian [5/16]

template<typename ScalarFamilyType , size_t N>
const bool HArDCore2D::MatrixFamily< ScalarFamilyType, N >::hasHessian = false
static

◆ hasHessian [6/16]

template<typename ScalarFamilyType >
const bool HArDCore2D::TangentFamily< ScalarFamilyType >::hasHessian = false
static

◆ hasHessian [7/16]

template<typename BasisType >
const bool HArDCore2D::ShiftedBasis< BasisType >::hasHessian = BasisType::hasHessian
static

◆ hasHessian [8/16]

template<typename BasisType >
const bool HArDCore2D::RestrictedBasis< BasisType >::hasHessian = BasisType::hasHessian
static

◆ hasHessian [9/16]

template<typename BasisType >
const bool HArDCore2D::GradientBasis< BasisType >::hasHessian = false
static

◆ hasHessian [10/16]

template<typename BasisType >
const bool HArDCore2D::CurlBasis< BasisType >::hasHessian = false
static

◆ hasHessian [11/16]

template<typename BasisType >
const bool HArDCore2D::DivergenceBasis< BasisType >::hasHessian = false
static

◆ hasHessian [12/16]

template<typename BasisType >
const bool HArDCore2D::RotorBasis< BasisType >::hasHessian = false
static

◆ hasHessian [13/16]

template<typename BasisType >
const bool HArDCore2D::HessianBasis< BasisType >::hasHessian = false
static

◆ hasHessian [14/16]

const bool HArDCore2D::RolyComplBasisCell::hasHessian = false
static

◆ hasHessian [15/16]

const bool HArDCore2D::GolyComplBasisCell::hasHessian = false
static

◆ hasHessian [16/16]

const bool HArDCore2D::HolyComplBasisCell::hasHessian = false
static

◆ hasRotor [1/15]

const bool HArDCore2D::MonomialScalarBasisCell::hasRotor = false
static

◆ hasRotor [2/15]

const bool HArDCore2D::MonomialScalarBasisEdge::hasRotor = false
static

◆ hasRotor [3/15]

template<typename BasisType >
const bool HArDCore2D::Family< BasisType >::hasRotor = BasisType::hasRotor
static

◆ hasRotor [4/15]

template<typename ScalarFamilyType , size_t N>
const bool HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::hasRotor = ( ScalarFamilyType::hasGradient && N==dimspace )
static

◆ hasRotor [5/15]

template<typename ScalarFamilyType , size_t N>
const bool HArDCore2D::MatrixFamily< ScalarFamilyType, N >::hasRotor = false
static

◆ hasRotor [6/15]

template<typename ScalarFamilyType >
const bool HArDCore2D::TangentFamily< ScalarFamilyType >::hasRotor = false
static

◆ hasRotor [7/15]

template<typename BasisType >
const bool HArDCore2D::ShiftedBasis< BasisType >::hasRotor = BasisType::hasRotor
static

◆ hasRotor [8/15]

template<typename BasisType >
const bool HArDCore2D::RestrictedBasis< BasisType >::hasRotor = BasisType::hasRotor
static

◆ hasRotor [9/15]

template<typename BasisType >
const bool HArDCore2D::GradientBasis< BasisType >::hasRotor = false
static

◆ hasRotor [10/15]

template<typename BasisType >
const bool HArDCore2D::CurlBasis< BasisType >::hasRotor = false
static

◆ hasRotor [11/15]

template<typename BasisType >
const bool HArDCore2D::RotorBasis< BasisType >::hasRotor = false
static

◆ hasRotor [12/15]

template<typename BasisType >
const bool HArDCore2D::HessianBasis< BasisType >::hasRotor = false
static

◆ hasRotor [13/15]

const bool HArDCore2D::RolyComplBasisCell::hasRotor = false
static

◆ hasRotor [14/15]

const bool HArDCore2D::GolyComplBasisCell::hasRotor = true
static

◆ hasRotor [15/15]

const bool HArDCore2D::HolyComplBasisCell::hasRotor = false
static

◆ m_basis

template<typename BasisType >
BasisType HArDCore2D::DecomposePoly< BasisType >::m_basis

◆ m_dim

template<typename BasisType >
size_t HArDCore2D::DecomposePoly< BasisType >::m_dim

◆ m_nb_nodes

template<typename BasisType >
size_t HArDCore2D::DecomposePoly< BasisType >::m_nb_nodes

◆ m_nodes

template<typename BasisType >
QuadratureRule HArDCore2D::DecomposePoly< BasisType >::m_nodes

Nodes for the interpolation.

◆ m_on_basis

template<typename BasisType >
Family<BasisType> HArDCore2D::DecomposePoly< BasisType >::m_on_basis

◆ m_on_basis_nodes

template<typename BasisType >
boost::multi_array<typename BasisType::FunctionValue, 2> HArDCore2D::DecomposePoly< BasisType >::m_on_basis_nodes

◆ skew_symmetrise_matrix

std::function<Eigen::MatrixXd(const Eigen::MatrixXd &)> HArDCore2D::skew_symmetrise_matrix = [](const Eigen::MatrixXd & x)->Eigen::MatrixXd { return 0.5*(x-x.transpose());}
inlinestatic

Function to skew-symmetrise a matrix (useful together with transform_values_quad)

◆ symmetrise_matrix

std::function<Eigen::MatrixXd(const Eigen::MatrixXd &)> HArDCore2D::symmetrise_matrix = [](const Eigen::MatrixXd & x)->Eigen::MatrixXd { return 0.5*(x+x.transpose());}
inlinestatic

Function to symmetrise a matrix (useful together with transform_values_quad)

◆ tensorRank [1/16]

constexpr static const TensorRankE HArDCore2D::MonomialScalarBasisCell::tensorRank = Scalar
staticconstexpr

◆ tensorRank [2/16]

constexpr static const TensorRankE HArDCore2D::MonomialScalarBasisEdge::tensorRank = Scalar
staticconstexpr

◆ tensorRank [3/16]

template<typename BasisType >
constexpr static const TensorRankE HArDCore2D::Family< BasisType >::tensorRank = BasisType::tensorRank
staticconstexpr

◆ tensorRank [4/16]

template<typename ScalarFamilyType , size_t N>
constexpr static const TensorRankE HArDCore2D::TensorizedVectorFamily< ScalarFamilyType, N >::tensorRank = Vector
staticconstexpr

◆ tensorRank [5/16]

template<typename ScalarFamilyType , size_t N>
constexpr static const TensorRankE HArDCore2D::MatrixFamily< ScalarFamilyType, N >::tensorRank = Matrix
staticconstexpr

◆ tensorRank [6/16]

template<typename ScalarFamilyType >
constexpr static const TensorRankE HArDCore2D::TangentFamily< ScalarFamilyType >::tensorRank = Vector
staticconstexpr

◆ tensorRank [7/16]

template<typename BasisType >
constexpr static const TensorRankE HArDCore2D::ShiftedBasis< BasisType >::tensorRank = BasisType::tensorRank
staticconstexpr

◆ tensorRank [8/16]

template<typename BasisType >
constexpr static const TensorRankE HArDCore2D::RestrictedBasis< BasisType >::tensorRank = BasisType::tensorRank
staticconstexpr

◆ tensorRank [9/16]

template<typename BasisType >
constexpr static const TensorRankE HArDCore2D::GradientBasis< BasisType >::tensorRank = Vector
staticconstexpr

◆ tensorRank [10/16]

template<typename BasisType >
constexpr static const TensorRankE HArDCore2D::CurlBasis< BasisType >::tensorRank = Vector
staticconstexpr

◆ tensorRank [11/16]

template<typename BasisType >
constexpr static const TensorRankE HArDCore2D::DivergenceBasis< BasisType >::tensorRank = Scalar
staticconstexpr

◆ tensorRank [12/16]

template<typename BasisType >
constexpr static const TensorRankE HArDCore2D::RotorBasis< BasisType >::tensorRank = Scalar
staticconstexpr

◆ tensorRank [13/16]

template<typename BasisType >
constexpr static const TensorRankE HArDCore2D::HessianBasis< BasisType >::tensorRank = Matrix
staticconstexpr

◆ tensorRank [14/16]

constexpr static const TensorRankE HArDCore2D::RolyComplBasisCell::tensorRank = Vector
staticconstexpr

◆ tensorRank [15/16]

constexpr static const TensorRankE HArDCore2D::GolyComplBasisCell::tensorRank = Vector
staticconstexpr

◆ tensorRank [16/16]

constexpr static const TensorRankE HArDCore2D::HolyComplBasisCell::tensorRank = Matrix
staticconstexpr