Rodin/Variational/ShapeFunction.h file

Base class for finite element shape functions and basis functions.

This file defines the ShapeFunctionBase and ShapeFunction classes, which provide the foundation for representing finite element basis functions in both trial and test spaces. These classes form the core of the finite element discretization in Rodin's variational framework.

Namespaces

namespace Rodin
The Rodin library for Shape and Topology Optimization.
namespace Rodin::FormLanguage
Module for writing high level abstract expressions.
namespace Rodin::Variational
Module which provides the necessary tools for constructing variational problems.

Classes

template<class T>
struct Rodin::Variational::IsTrialFunction
Type trait to check if a type is a TrialFunction.
template<class Solution, class FES>
struct Rodin::Variational::IsTrialFunction<TrialFunction<Solution, FES>>
Specialization for TrialFunction types.
template<class T>
struct Rodin::Variational::IsTestFunction
Type trait to check if a type is a TestFunction.
template<class FES>
struct Rodin::Variational::IsTestFunction<TestFunction<FES>>
Specialization for TestFunction types.
template<class Derived, class FES = typename FormLanguage::Traits<Derived>::FESType, ShapeFunctionSpaceType SpaceType = FormLanguage::Traits<Derived>::SpaceType>
class Rodin::Variational::ShapeFunctionBase
Base class for shape function objects.
template<class Derived, class FES, ShapeFunctionSpaceType Space>
class Rodin::Variational::ShapeFunction
Intermediate shape function class for CRTP derivation.