Div.h file
Divergence operator specialization for P1 vector functions.
This file provides specialized implementations of the divergence operator for P1 vector-valued GridFunctions and ShapeFunctions.
For P1 elements, the divergence is computed as:
where are P1 basis functions and are DOF values.
Since P1 basis gradients are constant on each element, the divergence is also piecewise constant.
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 Scalar, class Data, class Mesh>struct Rodin::FormLanguage::Traits<Variational::Div<Variational::GridFunction<Variational::P1<Math::SpatialVector<Scalar>, Mesh>, Data>>>
- Type traits for
Divover a grid function: exposes the finite element space, the scalar type and the operand type. -
template<class NestedDerived, class Scalar, class Mesh, Variational::struct Rodin::FormLanguage::Traits<Variational::Div<Variational::ShapeFunction<NestedDerived, Variational::P1<Math::SpatialVector<Scalar>, Mesh>, Space>>>
ShapeFunctionSpaceType Space> - Type traits for
Divover a shape function: exposes the finite element space, the shape function space, the scalar type and the operand type. -
template<class Scalar, class Data, class Mesh>class Rodin::Variational::Div<GridFunction<P1<Math::SpatialVector<Scalar>, Mesh>, Data>>
- Divergence of a P1 vector GridFunction.
-
template<class NestedDerived, class Scalar, class Mesh, ShapeFunctionSpaceType Space>class Rodin::Variational::Div<ShapeFunction<NestedDerived, P1<Math::SpatialVector<Scalar>, Mesh>, Space>>
- Divergence of a P1 vector ShapeFunction.
- struct Rodin::Variational::Div<ShapeFunction<NestedDerived, P1<Math::SpatialVector<Scalar>, Mesh>, Space>>::Cache
- Per-cell tabulation cache.
- struct Rodin::Variational::Div<ShapeFunction<NestedDerived, P1<Math::SpatialVector<Scalar>, Mesh>, Space>>::Cache::CellKey
- Key identifying the cell a tabulation was computed for.
- struct Rodin::Variational::Div<ShapeFunction<NestedDerived, P1<Math::SpatialVector<Scalar>, Mesh>, Space>>::Cache::QpKey
- Key identifying the quadrature point a tabulation was computed for.