Close this search box.

Continuum Mechanics 2: Invariants


This article is part 2 of my series on continuum mechanics. The focus of this video is on vectors, tensors, and invariants. The purpose of this brief review is to cover enough theory so that I can more effectively discuss the theory behind stresses, strains, and constitutive equations. These topics will be covered in later parts of the series. 

Vectors and Tensors

A vector can be written in the following basis form: \(\mathbf{v} = v_1 \hat{\mathbf{e}}_1 + v_2 \hat{\mathbf{e}}_2 + v_3 \hat{\mathbf{e}}_3 = v_i \hat{\mathbf{e}}_i\). In this equation \(\hat{\mathbf{e}}_i\) are the basis vectors and \(v_i\) are the components. The “hat” symbol on the basis vectors indicate that the vectors have been normalized.

There are three common ways to multiply vectors:

1️⃣ Dot product (becomes a scalar): $$\mathbf{u} \cdot \mathbf{v} = u_i v_i = u_1 v_1 + u_2 v_2 + u_3 v_3.$$

2️⃣ Cross product (\(\epsilon_{ijk}\) is the Levi-Civita symbol): $$\mathbf{u} \times \mathbf{v} =\text{det}\begin{bmatrix} \hat{\mathbf{e}}_1 & \hat{\mathbf{e}}_2 & \hat{\mathbf{e}}_3 \\ u_1 & u_2 & u_3\\ v_1 & v_2 & v_3 \end{bmatrix} = u_i v_j \epsilon_{ijk} \hat{\mathbf{e}}_k.$$The cross product of 2 vectors becomes another vector.

3️⃣ Dyadic product (becomes a 3×3 tensor): $$\mathbf{u} \otimes \mathbf{v} = \begin{bmatrix} a_1b_1 & a_1b_2 & a_1b_3\\ a_2b_1 & a_2b_2 & a_2b_3 \\ a_3b_1 & a_3b_2 & a_3b_3 \end{bmatrix}.$$

For a more in-depth discussion about these topics see my polymer mechanics book.

A second order tensor is a 3×3 matrix: $$\mathbf{A} = \begin{bmatrix} A_{11} & A_{12} & A_{13}\\ A_{21} & A_{22} & A_{23} \\ A_{31} & A_{32} & A_{33} \end{bmatrix},$$ that acts like a linear transformation (mapping one vector into another vector): $$\mathbf{A}\mathbf{u} = \begin{bmatrix} A_{11} & A_{12} & A_{13}\\ A_{21} & A_{22} & A_{23} \\ A_{31} & A_{32} & A_{33} \end{bmatrix} \begin{bmatrix} u_1 \\ u_2 \\ u_3 \end{bmatrix} = \begin{bmatrix} A_{11}u_1 + A_{12}u_2 + A_{13}u_3\\ A_{21}u_1 + A_{22}u_2 + A_{23}u_3 \\ A_{31}u_1 + A_{32}u_2 + A_{33}u_3\end{bmatrix}. $$ Two tensors can be multiplied creating another tensor: $$\mathbf{A}\mathbf{B} = \begin{bmatrix} A_{11} & A_{12} & A_{13}\\ A_{21} & A_{22} & A_{23} \\ A_{31} & A_{32} & A_{33} \end{bmatrix} \begin{bmatrix} B_{11} & B_{12} & B_{13}\\ B_{21} & B_{22} & B_{23} \\ B_{31} & B_{32} & B_{33} \end{bmatrix}.$$ This multiplication can also be written in index form: \((\mathbf{A}\mathbf{B})_{ij} = A_{i1}B_{1j} + A_{i2}B_{2j} + A_{i3}B_{3j} = A_{ik}B_{kj}\). Note that this equation is using Einstein notation. Another way to multiply 2 tensors is the inner product (which becomes a scalar): \(\mathbf{A}:\mathbf{B} = \text{tr}[ \mathbf{A} \mathbf{B}^\top] = A_{ij} B_{ij}\).

Many times when working with material models, the stress is divided into deviatoric and volumetric parts: \(\mathbf{A} = \text{dev}[ \mathbf{A}] + \text{vol}[\mathbf{A}]\). The deviatoric stress is what drives the viscoplastic flow, and the volumetric stress causes a volume change. These decompositions are defined as follows: $$\text{dev}[\mathbf{A}] = \mathbf{A} – \frac{1}{3} \text{tr}[\mathbf{A}] \mathbf{I},$$ $$\text{vol}[\mathbf{A}] = \frac{1}{3} \text{tr}[\mathbf{A}] \mathbf{I}.$$

The components of a tensor can be determined from: \(A_{ij} = \mathbf{A} \hat{\mathbf{e}}_i \cdot \hat{\mathbf{e}}_j.\)

A Few Comments about the Deformation Gradient

In part 1 of this series I defined the deformation gradient from the following equation: $$\mathbf{F} = \displaystyle\frac{\partial\mathcal{X}(\mathbf{X},t)}{\partial \mathbf{X}}.$$From this we can also write: \(d\mathbf{x} = \mathbf{F} (\mathbf{X}) d\mathbf{X}\), which in words becomes: F operating on a vector dX in the reference configuration becomes that vector (dx) in the current configuration. Also, the change in volume is given by \(J = \det(\mathbf{F})\), that is: \(dv = \det(\mathbf{F}) dV\).

Invariants and Eigenvalues

The invariants, eigenvalues, and eigenvectors of a tensor are quite important for polymer mechanics theory. Recall from linear algebra that the eigenvalues and eigenvectors can be determined from: $$\mathbf{A} \hat{\mathbf{n}}_i = \lambda_i \hat{\mathbf{n}}_i.$$For this to have non-trivial solutions, the following tensor (matrix) has to be singular: \(\mathbf{A} – \lambda_i \mathbf{I}\). Also recall that at singular matrix needs to have a determinant that is zero. In other words, the following characteristic polynomial needs to be zero: $$\text{det}(\mathbf{A} -\lambda_i \mathbf{I}) = -\lambda_i^3 + I_1 \lambda_i^2 – I_2 \lambda_i + I_3 = 0.$$ The solution to this equation, is given by the following:$$\begin{cases}I_1 = \lambda_1 + \lambda_2 + \lambda_3\\ I_2 = \lambda_1 \lambda_2 + \lambda_2\lambda_3 + \lambda_3\lambda_1\\ I_3 = \lambda_1 \lambda_2 \lambda_3\end{cases}.$$The \(I_i\) values are invariant to rotations and form the basis of hyperelastic energy functions.

Spectral Decomposition

Recall that if A is symmetric tensor (matrix), then the eigenvalues are real, and the eigenvectors form a mutually orthogonal basis. It is easy to perform an eigenvalue decomposition using math software. For example, here is the Matlab code:

					[V,D] = eig(A)
% The following is the same as A


It is easy to prove that line 3 in the Matlab code is correct as follows: $$\mathbf{A} = \mathbf{Q}\left[ \sum_{i=1}^3 \lambda_i \hat{\mathbf{e}}_i \otimes \hat{\mathbf{e}}_i \right] \mathbf{Q}^{\top} = \sum_{i=1}^3 \lambda_i (\mathbf{Q} \hat{\mathbf{e}}_i) \otimes (\mathbf{Q} \hat{\mathbf{e}}_i) = \sum_{i=1}^3 \lambda_i \hat{\mathbf{n}}_i \otimes \hat{\mathbf{n}}_i.$$

Writing tensors as a summation of eigenvalues and dyadic products of basis vectors is called the spectral representation, and is very useful when writing equations for deformation gradients, stresses, and strains. I will cover this in the next part of this series!


More to explore

2 thoughts on “Continuum Mechanics 2: Invariants”

  1. Ah! Invariants… When I started my path in FEA, in the mid 80s, first lessons were in tensors and tensor rotation. My first work of FEA (material models, concrete) was following W.F. Chen “Plasticity in Reinforced Concrete”, that had a wonderful explanation of complex plasticity and stress tensor invariants. I would use that when dealing years later in finite strain plasticity of steel, splitting strain energy into isochoric and deviatoric parts to avoid locking at high hencky strains (Implementation and stability analysis of the QMITC-TLH elasto-plastic finite strain (2D) element formulation)

Leave a Comment