Categories: Continuum physics, Physics.

Cauchy strain tensor

Strain quantifies the deformation of a solid object. If the body has been deformed, e.g. by pulling or bending, its constituent particles have moved a bit. Let \(\va{X}\) be the original location of a particle, and \(\va{x}\) its new location after the deformation. We can thus define the displacement field \(\va{u}\):

\[\begin{aligned} \va{u} \equiv \va{x} - \va{X} \end{aligned}\]

We restrict ourselves to infinitesimal strain, where \(\va{u}\) is so tiny that the material’s properties are unchanged, and a slowly-varying strain, where the particle’s neighbourhood has been distorted, but not completely changed.

A key challenge when quantifying deformation is that we need to somehow exclude movements of the entire body: for example, you can bend a twig in your hands while walking or dancing, but we are only interested in the twig’s shape change, not in your movements. The above definition of \(\vu{u}\) includes both, so we should be careful how we extract the strain from it.


We use the Eulerian description of deformation, where the new position \(\va{x}\) is the reference, and the old position \(\va{X}\) is expressed as a function of \(\va{x}\):

\[\begin{aligned} \va{u}(\va{x}) \equiv \va{x} - \va{X}(\va{x}) \end{aligned}\]

Let us choose two nearby points in the deformed solid, and call them \(\va{x}\) and \(\va{x} + \va{a}\), where \(\va{a}\) is a tiny vector pointing from one to the other. Before the displacement, those points respectively had these positions, where we define \(\va{A}\) as the “old” version of \(\va{a}\):

\[\begin{aligned} \va{X} = \va{X}(\va{x}) \qquad \va{X} + \va{A} = \va{X}(\va{x} + \va{a}) \end{aligned}\]

Because the new positions \(\va{x}\) are our reference, we would like to write \(\va{A}\) without \(\va{X}\). To do so, we use the definition of \(\va{u}(\va{x})\), yielding:

\[\begin{aligned} \va{A} &= \va{X}(\va{x} + \va{a}) - \va{X}(\va{x}) \\ &= \big( \va{x} + \va{a} - \va{u}(\va{x} + \va{a}) \big) - \big( \va{x} - \va{u}(\va{x}) \big) \\ &= \va{a} - \va{u}(\va{x} + \va{a}) - \va{u}(\va{x}) \end{aligned}\]

Using the fact that \(\va{a}\) is tiny by definition, we expand the middle term to first order in \(\va{a}\):

\[\begin{aligned} \va{u}(\va{x} + \va{a}) \approx \va{u}(\va{x}) + a_x \pdv{\va{u}}{x} + a_y \pdv{\va{u}}{y} + a_z \pdv{\va{u}}{z} = \va{u}(\va{x}) + (\va{a} \cdot \nabla) \va{u}(\va{x}) \end{aligned}\]

With this, we can now define the “shift” \(\delta\va{a}\) as the difference between \(\va{a}\) and \(\va{A}\) like so:

\[\begin{aligned} \delta{\va{a}} \equiv \va{a} - \va{A} = (\va{a} \cdot \nabla) \va{u}(\va{x}) \end{aligned}\]

In index notation, we write this expression as follows, with \(\nabla_j = \pdv*{x_j}\) simply being the partial derivative with respect to the \(j\)th coordinate:

\[\begin{aligned} \delta a_i = \sum_{j} a_j \nabla_j u_i \end{aligned}\]

Where \(\nabla_j u_i\) are called the displacement gradients, and are just one step away from the desired definition of strain. Note that these gradients are dimensionless, so we can more formally define a slowly-varying displacement \(\va{u}(\va{x})\) as one where \(|\nabla_j u_i| \ll 1\).

Now, to solve the problem of macroscopic movements, we take another tiny vector \(\va{b}\) starting in the same point \(\va{x}\) as \(\va{a}\). Here is the trick: if the whole body is uniformly translated or rotated, the scalar product \(\va{a} \cdot \va{b}\) is unchanged, but if there is a non-uniform distortion, it changes. We thus define the scalar product’s difference like so:

\[\begin{aligned} \delta(\va{a} \cdot \va{b}) \equiv \va{a} \cdot \va{b} - \va{A} \cdot \va{B} \end{aligned}\]

Where \(\va{B}\) is the old version of \(\va{b}\). Since these vectors are all tiny, we apply the product rule:

\[\begin{aligned} \delta(\va{a} \cdot \va{b}) &= \delta\va{a} \cdot \va{b} + \va{a} \cdot \delta\va{b} \end{aligned}\]

It is more informative to switch to index notation here. Inserting \(\delta\va{a}\) and \(\delta\va{b}\) yields:

\[\begin{aligned} \delta(\va{a} \cdot \va{b}) &= \sum_{i} \delta{a}_i \: b_i + \sum_{i} \delta{b}_i \: a_i \\ &= \sum_{ij} \nabla_j u_i \: a_j b_i + \sum_{ij} \nabla_j u_i \: a_i b_j \\ &= \sum_{ij} \big( \nabla_i u_j + \nabla_j u_i \big) \: a_i b_j \end{aligned}\]

At last, we define the Cauchy infinitesimal strain tensor \(\hat{u}\) such that it has \(u_{ij}\) as components:

\[\begin{aligned} \boxed{ u_{ij} \equiv \frac{1}{2} \big( \nabla_j u_i + \nabla_i u_j \big) } \end{aligned}\]

Which allows us to rewrite the shift of the scalar product in the following compact way:

\[\begin{aligned} \delta(\va{a} \cdot \va{b}) &= 2 \sum_{ij} u_{ij} a_i b_j = 2 \va{a} \cdot \hat{u} \cdot \va{b} \end{aligned}\]

The Cauchy strain tensor \(\hat{u}\) is a second-rank tensor, and can alternatively be expressed like so:

\[\begin{aligned} \boxed{ \hat{u} \equiv \frac{1}{2} \big( \nabla \va{u} + (\nabla \va{u})^\top \big) } \end{aligned}\]

Where \(\top\) is the transpose. Being defined from the scalar product, all macroscopic movements of the body are removed from the tensor, which turns out to make it symmetric, i.e. \(u_{ij} = u_{ji}\).


So far we have used Cartesian coordinates, but we can choose any three vectors \(\va{a}\), \(\va{b}\) and \(\va{c}\), and project \(\hat{u}\) onto this basis. For example, the component \(u_{ab}\) then becomes:

\[\begin{aligned} \boxed{ u_{ab} = \frac{\va{a} \cdot \hat{u} \cdot \va{b}}{\big|\va{a}\big| \big|\va{b}\big|} } \end{aligned}\]

And so forth, for the other eight components. The basis in which \(\hat{u}\) is diagonal is the one formed by its eigenvectors, and their directions are the principal axes of strain at that point in the solid. Because \(\hat{u}\) is symmetric, such a basis always exists.

Given a vector \(\va{a}\), its relative length change due to the deformation is simply given by:

\[\begin{aligned} \boxed{ \frac{\delta|\va{a}|}{|\va{a}|} = u_{aa} } \end{aligned}\]

To find the angle change \(\delta\theta\) between two vectors \(\va{a}\) and \(\va{b}\), we start with the product rule:

\[\begin{aligned} \delta(\va{a} \cdot \va{b}) = \delta(\big|\va{a}\big| \big|\va{b}\big| \cos\theta) = \delta\big|\va{a}\big| \big|\va{b}\big| \cos\theta + \big|\va{a}\big| \delta\big|\va{b}\big| \cos\theta - \big|\va{a}\big| \big|\va{b}\big| \sin\theta \: \delta\theta \end{aligned}\]

We isolate this for \(\delta\theta\), using the fact that \(\delta(\va{a} \cdot \va{b}) = 2 \big|\va{a}\big| \big|\va{b}\big| u_{ab}\) thanks to the projection \(u_{ab}\):

\[\begin{aligned} \delta\theta = \frac{\delta\big|\va{a}\big| \big|\va{b}\big| \cos\theta + \big|\va{a}\big| \delta\big|\va{b}\big| \cos\theta - 2 \big|\va{a}\big| \big|\va{b}\big| u_{ab}} {\big|\va{a}\big| \big|\va{b}\big| \sin\theta} \end{aligned}\]

By recognizing the length change \(\delta|\va{a}|/|\va{a}| = u_{aa}\), we arrive at the following expression:

\[\begin{aligned} \boxed{ \delta\theta = \frac{(u_{aa} + u_{bb}) \cos\theta - u_{ab}}{\sin\theta} } \end{aligned}\]

Now, everything so far has been about tiny vectors, so the change of the line element \(\dd{\va{l}}\) is easy to express using the displacement field \(\va{u}\):

\[\begin{aligned} \boxed{ \delta(\dd{\va{l}}) = (\dd{\va{l}} \cdot \nabla) \va{u} %= (\nabla \vec{u})^\top \cdot \dd{\va{l}} } \end{aligned}\]

Next, we calculate the change of the differential volume element \(\dd{V}\) by treating it as the volume of a tiny parallelepiped spanned by \(\va{a}\), \(\va{b}\) and \(\va{c}\):

\[\begin{aligned} \delta(\dd{V}) = \delta(\va{a} \cross \va{b} \cdot \va{c}) &= \delta\va{a} \cross \va{b} \cdot \va{c} + \va{a} \cross \delta\va{b} \cdot \va{c} + \va{a} \cross \va{b} \cdot \delta\va{c} \\ &= (\va{a} \cdot \nabla) \va{u} \cross \va{b} \cdot \va{c} + \va{a} \cross (\va{b} \cdot \nabla )\va{u} \cdot \va{c} + \va{a} \cross \va{b} \cdot (\va{c} \cdot \nabla) \va{u} \end{aligned}\]

We can reorder the factors like so (write it out in index notation if you are not convinced):

\[\begin{aligned} \delta(\dd{V}) &= (\va{a} \cdot \nabla) \va{u} \cross \va{b} \cdot \va{c} + (\va{b} \cdot \nabla) \va{a} \cross \va{u} \cdot \va{c} + (\va{c} \cdot \nabla) \va{a} \cross \va{b} \cdot \va{u} \end{aligned}\]

By applying a couple of vector identities, we can rewrite this more compactly as follows:

\[\begin{aligned} \delta(\dd{V}) &= \Big( \va{b} \cross \va{c} (\va{a} \cdot \nabla) \cross \va{b} + \va{c} \cross \va{a} (\va{b} \cdot \nabla) + \va{a} \cross \va{b} (\va{c} \cdot \nabla) \Big) \cdot \va{u} \\ &= (\va{a} \cross \va{b} \cdot \va{c}) (\nabla \cdot \va{u}) \end{aligned}\]

Here, we recognize the definition of \(\dd{V}\), leading to the following infinitesimal volume change:

\[\begin{aligned} \boxed{ \delta(\dd{V}) = \nabla \cdot \va{u} \dd{V} } \end{aligned}\]

Finally, for the surface element \(\dd{\va{S}} = \va{a} \cross \va{b}\), we use that the volume element \(\dd{V} = \va{c} \cdot \dd{\va{S}}\):

\[\begin{aligned} \delta(\dd{V}) = \delta(\va{c} \cdot \dd{\va{S}}) = \delta\va{c} \cdot \dd{\va{S}} + \va{c} \cdot \delta(\dd{\va{S}}) = (\va{c} \cdot \nabla) \va{u} \cdot \dd{\va{S}} + \va{c} \cdot \delta(\dd{\va{S}}) \end{aligned}\]

By comparing this to the previous result for \(\delta(\dd{V})\), we arrive at the following equation:

\[\begin{aligned} \nabla \cdot \va{u} (\va{c} \cdot \dd{\va{S}}) = (\va{c} \cdot \nabla) \va{u} \cdot \dd{\va{S}} + \va{c} \cdot \delta(\dd{\va{S}}) \end{aligned}\]

Since \(\va{c}\) is dot-multiplied at the front of each term, we remove it, and isolate the rest for \(\delta(\dd{\va{S}})\):

\[\begin{aligned} \boxed{ \delta(\dd{\va{S}}) = \big( (\nabla \cdot \va{u}) \hat{1} - \nabla \va{u} \big) \cdot \dd{\va{S}} } \end{aligned}\]


  1. B. Lautrup, Physics of continuous matter: exotic and everyday phenomena in the macroscopic world, 2nd edition, CRC Press.

© "Prefetch". Licensed under CC BY-SA 4.0.