% !TEX root = main.tex
\chapter{The strain tensor (el tensor de deformacions)}

\section{Deformations}
\begin{defi}[Displacement vector]
  The \underline{displacement vector} is:
  \[\vec{u}(\vec{r}) = \vec{r'} - \vec{r}, \]
  and determines the displacement of materials particles in the medium.
\end{defi}

\section{Strain tensor and Cauchy's strain tensor}
\begin{defi}[Strain!tensor]
  The \underline{strain tensor} $\TT{u}$ characterizes the local deformations state of the medium, and is defined as:
  \[ u_{ik} = \frac{1}{2} \left( \partial_k u_i + \partial_i u_k + \sum_l \partial_i u_l \cdot \partial_k u_l \right). \]
\end{defi}

\begin{obs}
  By definition $\TT{u}$ is symmetric. Thus, it can be diagonalized at every point; that is, we can find 3 axes such as that
  \[ \TT{u} = \begin{pmatrix}
    u^{(1)} & 0 & 0 \\
    0 & u^{(2)} & 0 \\
    0 & 0 & u^{(3)}
  \end{pmatrix}. \]

  The eigenvalues of $\TT{u}$ correspond, for small deformations, to the relative change in length along the principal directions:
  \[ \frac{\dif x_i' - \dif x_i}{\dif x_i} \approx u^{(i)}. \]
\end{obs}

\begin{defi}[Cauchy's!strain tensor]
  For small deformations, we can neglect the last term of the strain tensor, and use \underline{Cauchy's strain tensor}:
  \[ \TT{u} = \left( \grad \vec{u} + (\grad \TT{u})^T \right) \]
\end{defi}

\begin{obs}
  In the limit of small deformations, the volume changes as:
  \[ \frac{\dif V' - \dif V}{\dif V} \approx u^{(1)} + u^{(2)} + u^{(3)} = \Tr(\TT{u}) = \div \vec{u}. \]

  Note the trace of a matrix is an invariant under change of representation, so this always holds.
\end{obs}

\begin{obs}
  \index{Incompressibility}
  The previous observation means we can impose incompressibility by imposing $\Tr(\TT{u}) = \div \vec{u} = 0.$
\end{obs}

\begin{obs}
  The strain tensor contains all the information about the local geometric changes caused by the displacement: it's a good measure of the local deformation.
\end{obs}
