Rodin/Variational/P0/Grad.h file

Gradient operator specialization for P0 (piecewise constant) functions.

For P0 functions, the gradient is zero within each element since $ u|_K = \text{const} $ implies $ \nabla u|_K = 0 $ .

Namespaces

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

Classes

template<class Range, class Data, class Mesh>
struct Rodin::FormLanguage::Traits<Variational::Grad<Variational::GridFunction<Variational::P0<Range, Mesh>, Data>>>
Type traits for Grad over a grid function: exposes the finite element space and the operand type.
template<class NestedDerived, class Range, class Mesh, Variational::ShapeFunctionSpaceType Space>
struct Rodin::FormLanguage::Traits<Variational::Grad<Variational::ShapeFunction<NestedDerived, Variational::P0<Range, Mesh>, Space>>>
Type traits for Grad over a shape function: exposes the finite element space, the shape function space and the operand type.
template<class Range, class Data, class Mesh>
class Rodin::Variational::Grad<GridFunction<P0<Range, Mesh>, Data>>
Gradient of a P0 GridFunction.
template<class NestedDerived, class Scalar, class Mesh, ShapeFunctionSpaceType SpaceType>
class Rodin::Variational::Grad<ShapeFunction<NestedDerived, P0<Scalar, Mesh>, SpaceType>>
Gradient of a P0 ShapeFunction.
template<class Scalar, class Mesh, class Data>
struct Rodin::FormLanguage::Traits<Variational::Grad<Variational::GridFunction<Variational::P0<Math::SpatialMatrix<Scalar>, Mesh>, Data>>>
Rank-three physical gradient range for the matrix P0 solution.
template<class Scalar, class Mesh, class Derived, Variational::ShapeFunctionSpaceType Space>
struct Rodin::FormLanguage::Traits<Variational::Grad<Variational::ShapeFunction<Derived, Variational::P0<Math::SpatialMatrix<Scalar>, Mesh>, Space>>>
Rank-three physical gradient range for matrix P0 shape functions.
template<class Scalar, class Mesh, class Data>
class Rodin::Variational::Grad<GridFunction<P0<Math::SpatialMatrix<Scalar>, Mesh>, Data>>
Physical gradient of a matrix P0 solution, with derivative axis last. Uses this family's scalar basis and component ordering.
template<class Scalar, class Mesh, class Derived, ShapeFunctionSpaceType Space>
class Rodin::Variational::Grad<ShapeFunction<Derived, P0<Math::SpatialMatrix<Scalar>, Mesh>, Space>>
Physical gradients of matrix P0 trial or test bases.