[Physics] Coordinate-free derivation of the Lamé-Navier’s elasticity equations

coordinate systemselasticity

Linear static elasticity provides a local equation $-\mathrm{div}\sigma=f$, the constitutive law $\sigma=2\mu\epsilon+\lambda \mathrm{tr}(\epsilon)I$ as well as the strain-displacement relationship $\epsilon=1/2(\mathrm{grad}u+\mathrm{grad}^T u)$ (boundary conditions are ignored) where:

  • $\sigma$ is the second-order stress tensor
  • $\epsilon$ is the second-order strain tensor
  • $f$ is the vector of external distributed force
  • $I$ is the second-order identity tensor
  • $u$ is the (space-dependent) displacement vector
  • $\mu$ and $\lambda$ are Lamé's coefficients

The Lamé-Navier version of the local equation is solely expressed in terms of vector $u$ as follows:$$ \mu \Delta u+ (\lambda+\mu) \mathrm{grad}(\mathrm{div}u)+f=0$$
Derivations found in books all use a Cartesian coordinate system to derive this identity which is then re-expressed in an "intrinsic" coordinate-free vector form. Is there a way (or a reference) detailing how to derive this identity directly in a coordinate-free fashion?

Best Answer

You're essentially asking to compute $\nabla\cdot\boldsymbol{\sigma}$ in coordinate-free terms. Here's a possible way, although it requires some tricks, in particular the identities $$\text{tr}(\nabla \mathbf{a})=\text{tr}(\nabla \mathbf{a}^\mathsf{T})=\nabla\cdot \mathbf{a}$$ $$\nabla\cdot\nabla \mathbf{a}=\Delta \mathbf{a}$$ $$\nabla\cdot\nabla\mathbf{a}^\mathsf{T}=\nabla(\nabla\cdot\mathbf{a})$$ and $$\nabla\cdot(b\mathbf{I})=\nabla b$$ for vector $\mathbf{a}$, scalar $b$, and identity $\mathbf{I}$. It's then straightforward to get $$\nabla\cdot\boldsymbol{\sigma}=\nabla\cdot\left(2\mu\left(\frac{\nabla\mathbf{u}+\nabla \mathbf{u}^\mathsf{T}}{2}\right)+\lambda\text{tr}\left(\frac{\nabla\mathbf{u}+\nabla \mathbf{u}^\mathsf{T}}{2}\right)\mathbf{I}\right)$$ $$=\mu\nabla\cdot\nabla\mathbf{u}+\mu\nabla(\nabla\cdot\mathbf{u})+\lambda\nabla\cdot((\nabla\cdot\mathbf{u})\mathbf{I})$$ $$=\mu\Delta\mathbf{u}+\mu\nabla(\nabla\cdot\mathbf{u})+\lambda\nabla(\nabla\cdot\mathbf{u})$$ from which $$\mathbf{f}+\mu\Delta\mathbf{u}+(\lambda+\mu)\nabla(\nabla\cdot\mathbf{u})=\mathbf{0}$$ follows.

If anyone has a more straightforward way to demonstrate this in index-free notation, please feel free to post it as another answer! Index-free notation gets difficult once you deal with nontrivial objects. For example, with two matrix functions on space $\mathbf{A}(\mathbf{r})$, $\mathbf{B}(\mathbf{r})$, you have $$\nabla(\mathbf{A}\cdot\mathbf{B})=\sigma_{132}((\sigma_{132}\nabla\mathbf{A})\cdot\mathbf{B})+\mathbf{A}\cdot\nabla\mathbf{B}$$ where $\sigma_{132}$ is the index transposing operator Transpose[#,{1,3,2}]& from Mathematica, whereas with comma derivatives you just use product rule to get $$(A_{ij}B_{jk})_{,l}=A_{ij,l}B_{jk}+A_{ij}B_{jk,l}$$.

EDIT: In index notation, the proof reads $$\sigma_{ij,j}=2\mu\frac{u_{i,jj}+u_{j,ij}}{2}+\lambda u_{k,kj}\delta_{ij}$$ $$=\mu u_{i,jj}+(\lambda+\mu)u_{j,ij}.$$

This is an example of why index notation is better. You don't need to remember a bunch of vector and matrix calculus identites, you just take derivatives.

Related Question