#include <Rodin/Variational/ShapeFunction.h>
template<class Derived, class FES, ShapeFunctionSpaceType Space>
ShapeFunction class
Intermediate shape function class for CRTP derivation.
| Template parameters | |
|---|---|
| Derived | Final derived class |
| FES | Finite element space type |
| Space | Space type (trial or test) |
This class provides an intermediate layer in the ShapeFunction hierarchy, allowing for further specialization while maintaining the common interface. It is used as a base for specific shape function implementations like TestFunction and TrialFunction.
Base classes
-
template<class Derived, class FES = typename FormLanguage::class ShapeFunctionBase<ShapeFunction<Derived, FES, Space>, FES, Space>
Traits<Derived>:: FESType, ShapeFunctionSpaceType SpaceType = FormLanguage:: Traits<Derived>::SpaceType> - Base class for shape function objects.
Public types
- using FESType = FES
- Finite element space type.
-
using ScalarType = typename FormLanguage::
Traits<FESType>::ScalarType - Scalar type from the finite element space.
-
using RangeType = typename FormLanguage::
Traits<FESType>::RangeType - Range type from the finite element space.
- using Parent = ShapeFunctionBase<ShapeFunction<Derived, FESType, SpaceType>, FESType, SpaceType>
- Parent class type.
Public static variables
- static ShapeFunctionSpaceType SpaceType constexpr
- Space type (trial or test)
Constructors, destructors, conversion operators
- ShapeFunction() deleted
- Default constructor is deleted.
Public functions
- auto copy() const -> ShapeFunction* override noexcept
- Creates a polymorphic copy of the shape function.
Function documentation
template<class Derived, class FES, ShapeFunctionSpaceType Space>
ShapeFunction* Rodin:: Variational:: ShapeFunction<Derived, FES, Space>:: copy() const override noexcept
Creates a polymorphic copy of the shape function.
| Returns | Pointer to newly allocated copy |
|---|