Rodin/Variational/H1/Jacobian.h file

Jacobian operator specialization for H1 vector functions.

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

For a vector function $ \mathbf{u} : \Omega \to \mathbb{R}^d $ , the Jacobian is the $ d \times d $ matrix:

\[ \mathbf{J}(\mathbf{u}) = \begin{pmatrix} \frac{\partial u_1}{\partial x_1} & \cdots & \frac{\partial u_1}{\partial x_d} \\ \vdots & \ddots & \vdots \\ \frac{\partial u_d}{\partial x_1} & \cdots & \frac{\partial u_d}{\partial x_d} \end{pmatrix} \]

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

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<size_t K, class Range, class Data, class Mesh>
struct Rodin::FormLanguage::Traits<Variational::Jacobian<Variational::GridFunction<Variational::H1<K, Range, Mesh>, Data>>>
Type traits for Jacobian over a grid function: exposes the finite element space and the operand type.
template<size_t K, class NestedDerived, class Range, class Mesh, Variational::ShapeFunctionSpaceType Space>
struct Rodin::FormLanguage::Traits<Variational::Jacobian<Variational::ShapeFunction<NestedDerived, Variational::H1<K, Range, Mesh>, Space>>>
Type traits for Jacobian over a shape function: exposes the finite element space, the shape function space and the operand type.
template<size_t K, class Scalar, class Data, class Mesh>
class Rodin::Variational::Jacobian<GridFunction<H1<K, Math::SpatialVector<Scalar>, Mesh>, Data>>
Jacobian of an H1 vector GridFunction.
template<size_t K, class NestedDerived, class Scalar, class Mesh, ShapeFunctionSpaceType Space>
class Rodin::Variational::Jacobian<ShapeFunction<NestedDerived, H1<K, Math::SpatialVector<Scalar>, Mesh>, Space>>
Jacobian of an H1 ShapeFunction object.
struct Rodin::Variational::Jacobian<ShapeFunction<NestedDerived, H1<K, Math::SpatialVector<Scalar>, Mesh>, Space>>::Cache
Per-cell tabulation cache.
struct Rodin::Variational::Jacobian<ShapeFunction<NestedDerived, H1<K, Math::SpatialVector<Scalar>, Mesh>, Space>>::Cache::Key
Key identifying a cached tabulation.