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.

On a cell of reference dimension $d$ embedded in $\mathbb{R}^s$ , a field with $m$ components has an $m\times s$ tangential Jacobian $J(u)=\widehat J(u)J_K^{\dagger}$ . The geometric inverse has shape $d\times s$ ; ambient derivative columns are retained independently of the reference and field dimensions. When $m=s=d$ , this is the 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} \]

The physical derivative includes the current inverse geometric Jacobian; a curved mapping does not generally preserve reference polynomial degree.

Namespaces

namespace Rodin
The Rodin library for finite element methods and shape optimization.
namespace Rodin::FormLanguage
Typed expressions for constructing variational forms.
namespace Rodin::Variational
Finite element spaces, fields, and variational problems.

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
Physical derivatives prepared by the current integration-point bind.