Recall

Recall from Cauchy’s Stress Theory that the Cauchy-Green tensor is given by , or more preicsely .

Here, we postulate that energy depends on the frame indifferent induced metric and the potential energy takes the form .

The 2nd Piola-Kirchhoff Stress is given by .

How do we design how the system stores energy when stretched?

Postulate (Existence of Rest Metric)

We postulate there exists a time-independent metric on the material space. Then, we can define where there is “no deformation” iff , as seen in Actual Model. We write energy as and is the specific internal energy or Helmholtz free energy.

2nd Piola-Kirchoff Stress is

A strain is an expression of that measures its deviation from . For large deformations, Hencky strain is usually considered as the natural true strain. For small deformations, .

Small Deformations

An example energy is the St Venant-Kirchhoff energy, which is given by

with the corresponding stress

The Lame constants describe how stress relate to the isotropic part of deformation and anisotropic part of deformation, respectively.

We can measure Young’s modulus and Poisson’s ratio :

"\\usepackage{tikz}\n\\usetikzlibrary{arrows.meta}\n\n\\begin{document}\n\\begin{tikzpicture}\n\n% ==========================================\n% COLOR THEME DEFINITIONS\n% ==========================================\n% Left Diagram Colors (Rod)\n\\definecolor{rodDark}{RGB}{60, 105, 175}\n\\definecolor{rodLight}{RGB}{140, 180, 245}\n\\definecolor{rodLightFace}{RGB}{170, 205, 250}\n\\definecolor{rodBorder}{RGB}{40, 80, 145}\n\n% Right Diagram Colors (Cube)\n\\definecolor{topGreen}{RGB}{82, 206, 170}\n\\definecolor{frontGreen}{RGB}{36, 155, 122} % -y face\n\\definecolor{rightGreen}{RGB}{54, 180, 144} % +x face\n\\definecolor{topOrange}{RGB}{250, 153, 113}\n\\definecolor{frontOrange}{RGB}{219, 96, 50} % -y face\n\\definecolor{rightOrange}{RGB}{247, 121, 74} % +x / -x faces\n\n\n% ==========================================\n% LEFT DIAGRAM: 1D Uniaxial Tension\n% ==========================================\n\\begin{scope}[shift={(-6, 0)}]\n \n % --- Dark Blue Section (Original Length) ---\n \\fill[rodDark] (-1, -0.6) rectangle (4, 0.6); % Main body\n \\fill[rodDark] (4, 0) ellipse (0.2 and 0.6); % Right end cap\n \\draw[thick, rodBorder] (4, -0.6) arc (-90:90:0.2 and 0.6); % Right edge visible arc\n \n % --- Light Blue Section (Extension) ---\n \\fill[rodLight] (-3, -0.6) rectangle (-1, 0.6); % Main body\n \\fill[rodLight] (-1, 0) ellipse (0.2 and 0.6); % Curved 3D intersection overlapping dark body\n \n % --- Interface Border ---\n \\draw[thick, rodBorder] (-1, -0.6) arc (-90:90:0.2 and 0.6); % Visible intersection curve\n \n % --- Front Face ---\n \\filldraw[fill=rodLightFace, draw=rodBorder, thick] (-3, 0) ellipse (0.2 and 0.6);\n \n % --- Outline Borders ---\n \\draw[thick, rodBorder] (-3, 0.6) -- (4, 0.6);\n \\draw[thick, rodBorder] (-3, -0.6) -- (4, -0.6);\n\n % --- Force Arrow ---\n \\draw[-{Stealth[scale=1.5]}, very thick, rodBorder] (-3.2, 0) -- (-5.2, 0) node[above, xshift=15pt, yshift=2pt] {\\LARGE $F/A$};\n\n % --- Labels ---\n \\node[font=\\huge] at (1.5, -1.3) {$\\ell$};\n \\node[font=\\huge] at (-2.0, 1.1) {$\\Delta\\ell$};\n\n\\end{scope}\n\n\n% ==========================================\n% RIGHT DIAGRAM: 3D Poisson's Ratio Effect\n% ==========================================\n\\begin{scope}[shift={(4, 0)}, x={(0.8cm, -0.35cm)}, y={(0.55cm, 0.45cm)}, z={(0cm, 1cm)}]\n\n % --- 1. Left Force Arrow ---\n \\draw[-{Stealth[scale=1.5]}, very thick] (-2.5, 0, 0) -- (-4.0, 0, 0);\n\n % --- 2. Left Orange Block (Extended, Shrunk Cross-Section) ---\n % -x face (End)\n \\filldraw[fill=rightOrange, draw=black, very thin, line join=round] \n (-2.5, -1.1, -1.1) -- (-2.5, 1.1, -1.1) -- (-2.5, 1.1, 1.1) -- (-2.5, -1.1, 1.1) -- cycle;\n % -y face (Side)\n \\filldraw[fill=frontOrange, draw=black, very thin, line join=round] \n (-2.5, -1.1, -1.1) -- (-1.5, -1.1, -1.1) -- (-1.5, -1.1, 1.1) -- (-2.5, -1.1, 1.1) -- cycle;\n % +z face (Top)\n \\filldraw[fill=topOrange, draw=black, very thin, line join=round] \n (-2.5, -1.1, 1.1) -- (-1.5, -1.1, 1.1) -- (-1.5, 1.1, 1.1) -- (-2.5, 1.1, 1.1) -- cycle;\n\n % --- 3. Green Block (Original Undeformed State) ---\n % -y face (Side)\n \\filldraw[fill=frontGreen, draw=black, very thin, line join=round] \n (-1.5, -1.5, -1.5) -- (1.5, -1.5, -1.5) -- (1.5, -1.5, 1.5) -- (-1.5, -1.5, 1.5) -- cycle;\n % +x face (End) - Partially occluded by the right orange block\n \\filldraw[fill=rightGreen, draw=black, very thin, line join=round] \n (1.5, -1.5, -1.5) -- (1.5, 1.5, -1.5) -- (1.5, 1.5, 1.5) -- (1.5, -1.5, 1.5) -- cycle;\n % +z face (Top)\n \\filldraw[fill=topGreen, draw=black, very thin, line join=round] \n (-1.5, -1.5, 1.5) -- (1.5, -1.5, 1.5) -- (1.5, 1.5, 1.5) -- (-1.5, 1.5, 1.5) -- cycle;\n\n % --- 4. Right Orange Block (Extended, Shrunk Cross-Section) ---\n % -y face (Side)\n \\filldraw[fill=frontOrange, draw=black, very thin, line join=round] \n (1.5, -1.1, -1.1) -- (2.5, -1.1, -1.1) -- (2.5, -1.1, 1.1) -- (1.5, -1.1, 1.1) -- cycle;\n % +x face (End)\n \\filldraw[fill=rightOrange, draw=black, very thin, line join=round] \n (2.5, -1.1, -1.1) -- (2.5, 1.1, -1.1) -- (2.5, 1.1, 1.1) -- (2.5, -1.1, 1.1) -- cycle;\n % +z face (Top)\n \\filldraw[fill=topOrange, draw=black, very thin, line join=round] \n (1.5, -1.1, 1.1) -- (2.5, -1.1, 1.1) -- (2.5, 1.1, 1.1) -- (1.5, 1.1, 1.1) -- cycle;\n\n % --- 5. Right Force Arrow ---\n \\draw[-{Stealth[scale=1.5]}, very thick] (2.5, 0, 0) -- (4.0, 0, 0);\n\n % --- 6. Dimension Lines and Labels ---\n % L (Original Length)\n \\draw[very thin] (-1.5, 1.5, 1.5) -- (-1.5, 2.0, 1.5);\n \\draw[very thin] (1.5, 1.5, 1.5) -- (1.5, 2.0, 1.5);\n \\draw[very thin] (-1.5, 1.8, 1.5) -- (1.5, 1.8, 1.5) node[midway, above=-1pt] {\\Large $L$};\n\n % \\Delta L (Axial Extension)\n \\draw[very thin] (1.5, -1.1, 1.1) -- (1.5, -1.5, 1.1);\n \\draw[very thin] (2.5, -1.1, 1.1) -- (2.5, -1.5, 1.1);\n \\draw[very thin] (1.5, -1.3, 1.1) -- (2.5, -1.3, 1.1) node[midway, below=-1pt] {\\Large $\\Delta L$};\n\n % \\Delta L' (Transverse Contraction - Vertical and Horizontal gaps)\n \\draw[very thin] (1.5, -1.1, 1.1) -- (1.5, -1.1, 1.5) node[midway, right=10pt, above=1pt] {\\Large $\\Delta L'$};\n \\draw[very thin] (1.5, -1.1, 1.5) -- (1.5, -1.5, 1.5) node[midway, below=10pt, left=5pt] {\\Large $\\Delta L'$};\n\n % --- 7. Coordinate Axis Triad ---\n \\begin{scope}[shift={(-3, -3, -1.5)}]\n \\draw[->, thick] (0, 0, 0) -- (1, 0, 0) node[right=-1pt] {\\Large $x$};\n \\draw[->, thick] (0, 0, 0) -- (0, 1, 0) node[right=-1pt] {\\Large $y$};\n \\draw[->, thick] (0, 0, 0) -- (0, 0, 1) node[above=-1pt] {\\Large $z$};\n \\end{scope}\n\n\\end{scope}\n\n\\end{tikzpicture}\n\\end{document}"F=A`¢`L¢L¢L0¢L0xyz
source code
  • measures how much force is needed to stretch a material linearly (think of it like a spring constant). It is defined as stress over strain.
  • measures how much a material contracts in the directions perpendicular to the direction of stretching (how much a material thins out when you stretch it).

We get the Lame constants from and :

Postulate (General Isotropic Material)

A material is called isotropic if

for all “rotation” operators characterized by . In , this means is in Special Orthogonal Group .

The energy is only a function of the eigenvalues (modulo permutations)

These eigenvalues are the square of the eigenvalues of in polar decomposition . Equivalently, they are the square of the singular values of or the square of “principal stretching”.

How do we model such that ? We can view the eigenvalues as the roots of a polynomial, and use the coefficient of the polynomial as our parameters:

These coefficents are called the principal invariants:

This is the Characteristic Polynomial:

which allows us to express the energy as a function of the principal invariants:

Why do we care about principal invariants?

We can express the energy as a function of the principal invariants, which are easier to compute than the eigenvalues.

Since an isotropic material has no preferred direction, its stored energy can only depend on the principal stretches (the eigenvalues of ). However, eigenvalues do not have a fixed order (they can swap), so a valid energy function must mod out permutation, meaning it must yield the same energy regardless of how the eigenvalues are ordered.

The principal invariants guarantee this symmetry, as the coefficients of the characteristic polynomial. Thus, we can model the energy as .

Theorem (No Fourth Invariants)

We only need three trace invariants to compute the system, no matter the material.

So . . We also get . How do we find ?

We use the Cayley-Hamilton Theorem:

Mutiply by and take its trace:

giving us a recursive formula to compute for all .

Chain Rule for Stress

We still need to calculate stress, and so we need to use the chain rule. Recall the 2nd Piola-Kirchhoff Stress. Using the chain rule with ,

The scalar terms are easy to compute. However, the tensor terms are more involved. In particular, we need to compute .

Instead, define the characteristic polynomial as a function of a dummy variable :

We can use Jacobi’s Formula to compute the derivative of the determinant:

By applying Jacobi’s formula to , we get:

Note that applying the chain rule to the argument with respect to introduces a negative sign to the Jacobi formula result.

We can also compute the derivative of by differentiating its expanded scalar polynomial form term-by-term with respect to :

Because both methods describe the same derivative , we can equate them.

Notice that is isolated as the coefficient for the term. To extract this specific coefficient from the right-hand side equation, we can take the -th derivative with respect to and evaluate it at (similar to finding coefficients in a Maclaurin series).

This provides the generalized formula for the derivative of the -th principal invariant:

Example: Fluid Potential

Consider a fluid where the energy potential only depends on volume deformation, entirely ignoring the shearing part. This means the energy depends exclusively on the third invariant, :

To find the 2nd Piola-Kirchoff Stress , we apply the chain rule using the derivative for and Jacobi’s Formula:

Since , we know (where ). We can then compute the 1st Piola-Kirchhoff Stress :

Finally, transforming this into the Cauchy stress yields a purely hydrostatic pressure relationship :

Example: Neo-Hookean Model

We can have represent

or approximately

Example: Degenerate

Consider

then we get a fluid body!. If and if is nondegenerate, then we obtain a rigid body. If , we obtain an incompressible fluid.