Rodin/Variational/H1/H1Element.h file

Defines the H1Element class for H1-conforming Lagrange finite elements.

This file provides the implementation of high-order H1-conforming Lagrange finite elements. These elements are characterized by:

  • Continuous basis functions (H¹-conforming)
  • Lagrange nodal property: $ \phi_i(x_j) = \delta_{ij} $
  • Arbitrary polynomial degree K
  • Support for scalar and vector-valued fields

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<size_t K, class Scalar>
class Rodin::Variational::H1Element
Degree k H1-conforming Lagrange element.
class Rodin::Variational::H1Element::LinearForm
Evaluates linear form at a given function/vector field.
class Rodin::Variational::H1Element::BasisFunction
Represents a Lagrange basis function of degree K.
template<size_t Order>
class Rodin::Variational::H1Element::BasisFunction::DerivativeFunction
Represents a partial derivative of a basis function.
class Rodin::Variational::H1Element::BasisFunction::GradientFunction
Represents the gradient of a basis function.
template<size_t K, class Scalar>
class Rodin::Variational::H1Element<K, Math::Vector<Scalar>>
Continuous H1-conforming piecewise polynomial (degree k) vector Lagrange element.
template<size_t Order>
class Rodin::Variational::H1Element<K, Math::Vector<Scalar>>::BasisFunction::DerivativeFunction
Represents a derivative function of a Pk vector element.