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 X\va{X} be the original location of a particle, and x\va{x} its new location after the deformation. We can thus define the displacement field u\va{u}:

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

We restrict ourselves to infinitesimal strain, where u\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 u^\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 x\va{x} is the reference, and the old position X\va{X} is expressed as a function of x\va{x}:

u(x)xX(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 x\va{x} and x+a\va{x} + \va{a}, where a\va{a} is a tiny vector pointing from one to the other. Before the displacement, those points respectively had these positions, where we define A\va{A} as the “old” version of a\va{a}:

X=X(x)X+A=X(x+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 x\va{x} are our reference, we would like to write A\va{A} without X\va{X}. To do so, we use the definition of u(x)\va{u}(\va{x}), yielding:

A=X(x+a)X(x)=(x+au(x+a))(xu(x))=au(x+a)u(x)\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 a\va{a} is tiny by definition, we expand the middle term to first order in a\va{a}:

u(x+a)u(x)+axux+ayuy+azuz=u(x)+(a)u(x)\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” δa\delta\va{a} as the difference between a\va{a} and A\va{A} like so:

δaaA=(a)u(x)\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 j/xj\nabla_j \equiv \ipdv{}{x_j} simply being the partial derivative with respect to the jjth coordinate:

δai=jajjui\begin{aligned} \delta a_i = \sum_{j} a_j \nabla_j u_i \end{aligned}

Where jui\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 u(x)\va{u}(\va{x}) as one where jui1|\nabla_j u_i| \ll 1.

Now, to solve the problem of macroscopic movements, we take another tiny vector b\va{b} starting in the same point x\va{x} as a\va{a}. Here is the trick: if the whole body is uniformly translated or rotated, the scalar product ab\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:

δ(ab)abAB\begin{aligned} \delta(\va{a} \cdot \va{b}) \equiv \va{a} \cdot \va{b} - \va{A} \cdot \va{B} \end{aligned}

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

δ(ab)=δab+aδb\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 δa\delta\va{a} and δb\delta\va{b} yields:

δ(ab)=iδaibi+iδbiai=ijjuiajbi+ijjuiaibj=ij(iuj+jui)aibj\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 u^\hat{u} such that it has uiju_{ij} as components:

uij12(jui+iuj)\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:

δ(ab)=2ijuijaibj=2au^b\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 u^\hat{u} is a second-rank tensor, and can alternatively be expressed like so:

u^12(u+(u))\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. uij=ujiu_{ij} = u_{ji}.


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

uab=au^bab\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 u^\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 u^\hat{u} is symmetric, such a basis always exists.

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

δaa=uaa\begin{aligned} \boxed{ \frac{\delta|\va{a}|}{|\va{a}|} = u_{aa} } \end{aligned}

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

δ(ab)=δ(abcosθ)=δabcosθ+aδbcosθabsinθδθ\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 δ(ab)=2abuab\delta(\va{a} \cdot \va{b}) = 2 \big|\va{a}\big| \big|\va{b}\big| u_{ab} thanks to the projection uabu_{ab}:

δθ=δabcosθ+aδbcosθ2abuababsinθ\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 δa/a=uaa\delta|\va{a}|/|\va{a}| = u_{aa}, we arrive at the following expression:

δθ=(uaa+ubb)cosθuabsinθ\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 dl\dd{\va{l}} is easy to express using the displacement field u\va{u}:

δ(dl)=(dl)u\begin{aligned} \boxed{ \delta(\dd{\va{l}}) = (\dd{\va{l}} \cdot \nabla) \va{u} } \end{aligned}

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

δ(dV)=δ(a×bc)=δa×bc+a×δbc+a×bδc=(a)u×bc+a×(b)uc+a×b(c)u\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):

δ(dV)=(a)u×bc+(b)a×uc+(c)a×bu\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:

δ(dV)=(b×c(a)×b+c×a(b)+a×b(c))u=(a×bc)(u)\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 dV\dd{V}, leading to the following infinitesimal volume change:

δ(dV)=udV\begin{aligned} \boxed{ \delta(\dd{V}) = \nabla \cdot \va{u} \dd{V} } \end{aligned}

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

δ(dV)=δ(cdS)=δcdS+cδ(dS)=(c)udS+cδ(dS)\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 δ(dV)\delta(\dd{V}), we arrive at the following equation:

u(cdS)=(c)udS+cδ(dS)\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 c\va{c} is dot-multiplied at the front of each term, we remove it, and isolate the rest for δ(dS)\delta(\dd{\va{S}}):

δ(dS)=((u)1^u)dS\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.