Rodin/Variational/P1/Derivative.h file

Partial derivative operator specialization for P1 functions.

This file provides specialized implementations of the partial derivative operator for P1 GridFunctions and ShapeFunctions.

For a scalar P1 function $ u $ , the partial derivative with respect to coordinate $ x_i $ is computed as:

\[ \frac{\partial u}{\partial x_i} = (\nabla u) \cdot \mathbf{e}_i \]

For P1 elements, partial derivatives are piecewise constant on each element.

Namespaces

namespace Rodin
The Rodin library for finite element methods and shape optimization.
namespace Rodin::FormLanguage
Namespace Rodin::FormLanguage.
namespace Rodin::Variational
Namespace Rodin::Variational.

Classes

template<class Range, class Data, class Mesh>
struct Rodin::FormLanguage::Traits<Variational::Derivative<Variational::GridFunction<Variational::P1<Range, Mesh>, Data>>>
Type traits for Derivative over a grid function: exposes the finite element space, the operand type and the range type.
template<class NestedDerived, class Range, class Mesh, Variational::ShapeFunctionSpaceType Space>
struct Rodin::FormLanguage::Traits<Variational::Derivative<Variational::ShapeFunction<NestedDerived, Variational::P1<Range, Mesh>, Space>>>
Type traits for Derivative over a shape function: exposes the finite element space, the shape function space, the operand type and the range type.
template<class Range, class Data, class Mesh>
class Rodin::Variational::Derivative<GridFunction<P1<Range, Mesh>, Data>>
Derivative of a P1 GridFunction.