Rodin/Variational/Div.h file

Divergence operator for vector-valued functions.

This file defines the Div class, which computes the divergence of vector-valued functions in variational formulations. The divergence is a fundamental differential operator that measures the "outflow" of a vector field.

Mathematical Foundation

For a vector field $ \mathbf{u} : \Omega \subset \mathbb{R}^d \to \mathbb{R}^d $ , the divergence is defined as:

\[ \nabla \cdot \mathbf{u} = \sum_{i=1}^d \frac{\partial u_i}{\partial x_i} \]

Applications

  • Incompressibility constraint: $ \nabla \cdot \mathbf{u} = 0 $
  • Conservation laws: $ \nabla \cdot \mathbf{F} = 0 $
  • Mixed formulations for elliptic problems

Namespaces

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

Classes

template<class FES, class Data, class Derived>
class Rodin::Variational::DivBase<GridFunction<FES, Data>, Derived>
Divergence of a P1 GridFunction.
template<class FES, class Data>
struct Rodin::FormLanguage::Traits<Variational::Div<Variational::GridFunction<FES, Data>>>
Type traits for the matrix or tensor expression specialization.
template<class Derived, class FES, Variational::ShapeFunctionSpaceType Space>
struct Rodin::FormLanguage::Traits<Variational::Div<Variational::ShapeFunction<Derived, FES, Space>>>
Type traits for the matrix or tensor expression specialization.
template<class FES, class Data>
class Rodin::Variational::Div<GridFunction<FES, Data>>
Matrix-field div, $ (\operatorname{div}A)_i=\sum_j\partial_j A_{ij} $ .
template<class Derived, class FES, ShapeFunctionSpaceType Space>
class Rodin::Variational::Div<ShapeFunction<Derived, FES, Space>>
Matrix-basis div, $ (\operatorname{div}A)_i=\sum_j\partial_j A_{ij} $ .