template<class Derived, class FES = typename FormLanguage::Traits<Derived>::FESType, ShapeFunctionSpaceType SpaceType = FormLanguage::Traits<Derived>::SpaceType>
Rodin::Variational::ShapeFunctionBase class

Base class for shape function objects.

Base classes

class Base
Base class for all classes which are part of Rodin's FormLanguage.

Derived classes

template<class Derived, class FES, ShapeFunctionSpaceType Space>
class ShapeFunction
ShapeFunction.
template<class Derived, class FES, ShapeFunctionSpaceType Space>
class ShapeFunction
ShapeFunction.

Public functions

auto getSpaceType() const -> ShapeFunctionSpaceType constexpr
Indicates whether the shape function is part of a Trial or Test function expression.
auto getRangeShape() const -> RangeShape constexpr
Gets the shape of the range space.
auto getLeaf() const -> const auto& constexpr
Gets the operand in the shape function expression.
auto getDOFs(const Geometry::Polytope& polytope) const -> size_t constexpr
Gets the number of degrees of freedom for the given polytope.
auto getBasis(size_t local) const -> auto constexpr
Gets an expression which yields the shape function basis at the given point.
auto operator()(size_t local) const -> auto constexpr
Call operator to get an expression which yields the shape function basis at the given point.
auto getFiniteElementSpace() const -> const FES& constexpr
Gets the finite element space to which the shape function belongs to.
auto copy() const -> ShapeFunctionBase* override noexcept
Copies the object and returns a non-owning pointer to the copied object.

Function documentation

template<class Derived, class FES, ShapeFunctionSpaceType SpaceType>
RangeShape Rodin::Variational::ShapeFunctionBase<Derived, FES, SpaceType>::getRangeShape() const constexpr

Gets the shape of the range space.

template<class Derived, class FES, ShapeFunctionSpaceType SpaceType>
const auto& Rodin::Variational::ShapeFunctionBase<Derived, FES, SpaceType>::getLeaf() const constexpr

Gets the operand in the shape function expression.

template<class Derived, class FES, ShapeFunctionSpaceType SpaceType>
size_t Rodin::Variational::ShapeFunctionBase<Derived, FES, SpaceType>::getDOFs(const Geometry::Polytope& polytope) const constexpr

Gets the number of degrees of freedom for the given polytope.

Parameters
polytope in Polytope

template<class Derived, class FES, ShapeFunctionSpaceType SpaceType>
auto Rodin::Variational::ShapeFunctionBase<Derived, FES, SpaceType>::getBasis(size_t local) const constexpr

Gets an expression which yields the shape function basis at the given point.

template<class Derived, class FES, ShapeFunctionSpaceType SpaceType>
auto Rodin::Variational::ShapeFunctionBase<Derived, FES, SpaceType>::operator()(size_t local) const constexpr

Call operator to get an expression which yields the shape function basis at the given point.

Synonym to getBasis(size_t).

template<class Derived, class FES, ShapeFunctionSpaceType SpaceType>
ShapeFunctionBase* Rodin::Variational::ShapeFunctionBase<Derived, FES, SpaceType>::copy() const override noexcept

Copies the object and returns a non-owning pointer to the copied object.

Returns Non-owning pointer to the copied object.