Rodin/Variational/P1/Derivative.h file

Partial derivative operator specialization for P1 functions.

This file provides the partial derivative of scalar P1 GridFunctions.

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 \]

Derivatives are constant on affine simplices. Other reference geometries and non-affine physical maps may produce point-dependent derivatives.

Namespaces

namespace Rodin
The Rodin library for finite element methods and shape optimization.
namespace Rodin::FormLanguage
Typed expressions for constructing variational forms.
namespace Rodin::Variational
Finite element spaces, fields, and variational problems.

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.