P1Element.h file
P1 (piecewise linear) finite element implementation.
This file provides the P1Element class template for continuous piecewise linear finite elements. P1 elements have:
- One DOF per vertex
- Linear basis functions: (Lagrange property)
- Constant gradient per element:
P1 elements are the most common finite elements, providing first-order convergence ( for L² norm, for energy norm) and forming the foundation for many FEM applications.
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 Scalar>class Rodin::Variational::P1Element
- Degree 1 Lagrange element.
- class Rodin::Variational::P1Element::LinearForm
- Represents a linear form of a P1 scalar element.
- class Rodin::Variational::P1Element::BasisFunction
- Represents a piecewise linear basis function of a P1 scalar element.
-
template<size_t Order>class Rodin::Variational::P1Element::BasisFunction::DerivativeFunction
- Represents a partial derivative of a P1 basis function.
- class Rodin::Variational::P1Element::BasisFunction::GradientFunction
- Represents the gradient of a P1 basis function.
-
template<class Scalar>class Rodin::Variational::P1Element<Math::Vector<Scalar>>
- Continuous piecewise linear (degree 1) vector Lagrange element.
-
template<size_t Order>class Rodin::Variational::P1Element<Math::Vector<Scalar>>::BasisFunction::DerivativeFunction
- Represents a derivative function of a P1 vector element.