Reference documentation for deal.II version Git 3041c91f43 20210305 14:58:09 +0100

Namespaces  
Kinematics  
Classes  
class  StandardTensors 
This namespace provides a collection of definitions that conform to standard notation used in (nonlinear) elasticity.
References for this notation include:
For convenience we will predefine some commonly referenced tensors and operations. Considering the position vector \(\mathbf{X}\) in the referential (material) configuration, points \(\mathbf{X}\) are transformed to points \(\mathbf{x}\) in the current (spatial) configuration through the nonlinear map
\[ \mathbf{x} \dealcoloneq \boldsymbol{\varphi} \left( \mathbf{X} \right) = \mathbf{X} + \mathbf{u}(\mathbf{X}) \, , \]
where the \(\mathbf{u}(\mathbf{X})\) represents the displacement vector. From this we can compute the deformation gradient tensor as
\[ \mathbf{F} \dealcoloneq \mathbf{I} + \nabla_{0}\mathbf{u} \, , \]
wherein the differential operator \(\nabla_{0}\) is defined as \(\frac{\partial}{\partial \mathbf{X}}\) and \(\mathbf{I}\) is the identity tensor.
Finally, two common tensor operators are represented by \(\cdot\) and \(:\) operators. These respectively represent a single and double contraction over the inner tensor indices. Vectors and secondorder tensors are highlighted by bold font, while fourthorder tensors are denoted by calliagraphic font.
One can think of fourthorder tensors as linear operators mapping secondorder tensors (matrices) onto themselves in much the same way as matrices map vectors onto vectors. To provide some context to the implemented class members and functions, consider the following fundamental operations performed on tensors with special properties:
If we represent a general secondorder tensor as \(\mathbf{A}\), then the general fourthorder unit tensors \(\mathcal{I}\) and \(\overline{\mathcal{I}}\) are defined by
\[ \mathbf{A} = \mathcal{I}:\mathbf{A} \qquad \text{and} \qquad \mathbf{A}^T = \overline{\mathcal{I}}:\mathbf{A} \, , \]
or, in indicial notation,
\[ I_{ijkl} = \delta_{ik}\delta_{jl} \qquad \text{and} \qquad \overline I_{ijkl} = \delta_{il}\delta_{jk} \]
with the Kronecker deltas taking their common definition. Note that \(\mathcal{I} \neq \overline{\mathcal{I}}^T\).
We then define the symmetric and skewsymmetric fourthorder unit tensors by
\[ \mathcal{S} \dealcoloneq \dfrac{1}{2}[\mathcal{I} + \overline{\mathcal{I}}] \qquad \text{and} \qquad \mathcal{W} \dealcoloneq \dfrac{1}{2}[\mathcal{I}  \overline{\mathcal{I}}] \, , \]
such that
\[ \mathcal{S}:\mathbf{A} = \dfrac{1}{2}[\mathbf{A} + \mathbf{A}^T] \qquad \text{and} \qquad \mathcal{W}:\mathbf{A} = \dfrac{1}{2}[\mathbf{A}  \mathbf{A}^T] \, . \]
The fourthorder symmetric tensor returned by identity_tensor() is \(\mathcal{S}\).