Rodin/Variational/H1/Div.h file

Divergence operator specialization for H1 vector functions.

This file provides specialized implementations of the divergence operator for H1 vector-valued GridFunctions and ShapeFunctions.

For H1<K> elements, the divergence is computed as:

\[ \nabla \cdot \mathbf{u}|_K = \sum_{i=1}^{n_{dof}} \sum_{j=1}^d u_{i,j} \frac{\partial \phi_i}{\partial x_j} \]

where $ \phi_i $ are H1<K> basis functions and $ u_{i,j} $ are DOF values.

For H1<K> functions, the divergence is polynomial of degree K-1 on each element.

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<size_t K, class Scalar, class Data, class Mesh>
class Rodin::Variational::Div<GridFunction<H1<K, Math::Vector<Scalar>, Mesh>, Data>>
Divergence of an H1 vector GridFunction.
template<size_t K, class NestedDerived, class Number, class Mesh, ShapeFunctionSpaceType Space>
class Rodin::Variational::Div<ShapeFunction<NestedDerived, H1<K, Math::Vector<Number>, Mesh>, Space>>
Divergence of an H1 vector ShapeFunction.