Fourth-order tensor tutorial excerpts: Voigt and Mandel representations as well as isotropy topics

I often get asked: when are you going to finish your tensor-analysis book?

Well, I have so many pressures on my time, that this hobby gets pushed to the bottom of the stack.  This said, I find myself often discussing fourth-order tensor operations, the distinction between Voigt and Mandel components, and scalar measures of anisotropy.  To help with such discussions, I am here posting two excerpts from my unpublished tensor-analysis notes.   Enjoy this enthralling topic!

EDIT: you can now cite this topic from a real publication. It is in chapter 26 of my 2018 book: Rotation, Reflection, and Frame change.

The first excerpt from the still unpublished notes, 150606tensorsVoigtMandelExcerpt (for which the cited references may be found in 150606tensorsVoigtMandelExcerptReferences), discusses Voigt and Mandel notation, and introduces some helpful operations on fourth-order tensors.  Here are some highlights taken from this PDF excerpt (all of which are included in the rotation book if you need to cite something):

What we have labeled as the 9×1 “contravariant Voigt array (without factors of 2)” is typically called a “stress-like” array in the composites community, while the 9×1 “covariant Voigt array (with factors of 2)” is called a “strain-like” array.  When these arrays actually represent stress and strain, their last three entries are zero because of symmetry. Likewise, the 9×9 array is, in this context, the elastic stiffness so its last three columns and last three rows are zero because of minor symmetry. Accordingly, in constitutive modeling, you typically see this matrix relationship truncated down to only 6 dimensions. When using computer code to work out components of such tensors, we recommend keeping all 9 dimensions just to serve as a visual cue that you have indeed enforced symmetries properly in your equations.

It is mystifying that the composites community doesn’t seem to even realize that the Voigt representations would be more properly referred to as covariant and contravariant, so please add a comment to this post if you have ever seen any composites articles use this mathematically proper terminology. These are not just matrix equations. There is a tensor basis that goes with Voigt representations, and that basis is a set of mutually orthogonal tensors. The basis is not normalized, so that leads to co/contravariant representations, in which the factors of 2 are metrics.  Whenever you have an orthogonal but not normalized basis, the obvious thing to do is to normalize it! That is what gives the following Mandel form, which you should note has no more of that ugly distinction between contravariant (stress-like) arrays and covariant (strain-like) arrays. Both arrays are treated the same!

In this list, the very last set of basis tensors are the ones that pair with ordinary components of a tensor. For example, the 11 component of an ordinary second-order tensor is paired with a basis tensor whose component matrix is all zeros everywhere except a 1 in the 11 spot.  The 12 component goes with a basis tensor that has all zeros everywhere except for a 1 in the 12 spot, and so on.  The Voigt and Mandel representations merely represent a change of basis so that the first six basis tensors span the manifold of all possible symmetric tensors, while the last three basis tensors span the space of all possible skew tensors.

If you are not convinced that the Mandel representation is the better choice, try comparing it with Voigt for the components of the fourth-order identity tensor. The result is the identity matrix in Mandel form (not so for Voigt). Also, you really need the Mandel form to find eigenvalues and eigentensors.  Ordinary spectral analysis of the Voigt representation is completely meaningless — you need to use Mandel form to get meaningful eigenvalues and eigenmodes of a stiffness tensor.

Page 658 (PDF page 30) of my second excerpt, 150606tensorsFourthOrderOperationsAndMeasureOfIsotropyExcerpt, shows how to find the isotropic (IFOET) part of a fourth-order tensor (which is NOT generally some multiple of the identity), and how to define a scalar measure of anisotropy in the range from zero to one, as determined from the “angle” that the tensor makes with the linear manifold of isotropic tensors.  Doesn’t this sound exciting?  Here is an infographic summary of this process of finding the isotropic part of a fourth-order tensor, as well as setting the scalar measure of anisotropy (equal to 1 minus the scalar measure of isotropy):

The isotropic part of a fourth-order tensor, as well as a scalar measure of anisotropy ranging from 0 to 1.

In this infographic, the acronym IFOET stands for “isotropic fourth-order engineering tensor”  (labeled “ISO” elsewhere in the image).  In the scalar measure of isotropy, the denominator is the L2 norm of the original fourth-order tensor, equal to the square root of the sum of the squares of the tensor’s Mandel components (which is another benefit of Mandel over Voigt because getting the magnitude of a Voigt tensor would require insertions of factors of 2 and 4 — Yuck!). As you can see, the isotropy is 100% if the original tensor is isotropic, and it ranges down to 0% isotropy if the isotropic part of the original tensor is zero.

Streamlines, Streaklines, Pathlines, and Gridlines

The above animation aims to be a slight improvement over one on Wikipedia, which (incidentally) does not correctly describe the velocity field that it is depicting. The Wikipedia image doesn’t show a checkerboard of moving material, nor does it have a nice depiction of streamlines.

Before describing this animation, it might be helpful to look at a simpler motion (a rolling body) in order to review the difference between streamlines, streaklines, and pathlines. Consider a simple rigid body consisting of a disk of small radius (shown in gray below) along which it rolls along a tabletop, along with a larger-radius extension of the body (shown in color below) which can dip down below the table surface (as if there is a slot cut into the table so that part of the body rolls under it).

STREAMLINES: These are tangent to the instantaneous velocity field.  For a rolling rigid body, the motion is always circular about the instantaneous center of rotation at the bottom of the wheel. Accordingly, this image shows the streamlines at various points in time as the disk rolls along:

This image of streamlines is drawn not just on the body itself but also on its “virtual extension” in order to emphasize that (for rigid rolling) the instantaneous velocity is circular around the instantaneous center of rotation (bottom of the wheel). A particular set of streamlines is drawn in red. These are the ones that pass through a set of points that are evenly distributed on a spoke of the wheel (shown in black).

STREAKLINES: These are the lines you would see if a magic gremlin were to sit at a given location in space and “spraypaint” the material as it passes by.  Suppose that an assembly line of gremlins (located where you see the dots in the first image) are pointing their spray paint cans at the body while it rolls past. Then they would form the black streaklines shown here at various times:

Important: The streaklines are made by gremlins who are sitting still and spraying material as it passes by.

PATHLINES: Are made by gremlins who “ride” with the material, spraying a record of where they have been (as if we were watching the rolling body from behind a window, and those whacky gremlins would spray paint onto the window as they pass by). Accordingly, here are the pathlines for group of gremlins who were initially coincident with the gremlins in the above streakline plot:

GRIDLINES are any set of lines that are painted on the body like tattoos. Such lines move with the body (like a tattoo).

F-tables for prescribed deformation

Motion without superimposed rotation

Same deformation with superimposed rotation

When developing constitutive models, it is crucial to run the model under a variety of standard (and some nonstandard) homogeneous deformations. To do this, you must first describe the motion mathematically. As indicated in http://csm.mech.utah.edu/content/wp-content/uploads/2011/03/GoBagDeformation.pdf, a good way to do that is to give the deformation gradient tensor, F. The component matrix [F] contains the deformed edge vectors of an initially unit cube, making this a very easy to way to prescribe deformations.

Exact solution for eigenvalues and eigenvectors/projectors of a real 3×3 symmetric matrix

The Pi (or Pie) Plane showing the region of the principal solution for the Lode angle and hence the region nearest the max eigenvalue.

It probably isn’t surprising that an exact solution can be found for eigenvalues of a real 3×3 symmetric matrix.  This conclusion follows from noting that the characteristic equation is cubic, for which an exact solution procedure can be found in any good algebra reference.  One thing that you won’t find in many such resources, however, is an algorithm for the solution that will avoid complex numbers in the intermediate steps of the calculation whenever the components of the source symmetric 3×3 matrix are all real.

Rate of Hencky (logarithmic) strain and similar tasks

The logarithmic (Hencky) strain is evaluated by taking the log of the symmetric stretch tensor in continuum mechanics. Doing so requires transforming to the principal stretch basis, taking logs of the principal stretch eigenvalues, and transforming the result back to the lab basis.  While this procedure is a bit tedious, it certainly is straightforward.

The harder — almost freakishly daunting — question is: how do you get the rate of the logarithmic strain?  This rate must include contributions from both the rate of the stretch eigenvalues and the rate of the stretch eigenvectors, which is difficult to handle when there are repeated eigenvalues causing extra ambiguity of eigenvectors.  Continue reading

Tutorial: Large deformation kinematics

Summarizes the meaning of the deformation gradient tensor, stretches, rotations, etc. Also shows how material line segments, volumes, and area vectors change in response to deformation.

You’ve probably seen classical equations for linear regression, which is a procedure that finds the straight line that best fits a set of discrete points $\{(x_1,y_1), (x_2,y_2),...,(x_N,y_N)\}$. You might also be aware that similar formulas exist to find a straight line that is a best (least squares) fit to a continuous function $y(x)$.
The bottom of this post provides a link to a tutorial on how to generalize the concept of linear regression to fit a function $\vec{y}(\vec{x})$ that takes a vector $\vec{x}$ as input and produces a vector $\vec{y}$ as output. In mechanics, the most common example of this type of function is a mapping function that describes material deformation: the input vector is the initial location of a point on a body, and the output vector is the deformed location of the same point. The image shows a collection of input vectors (initial positions, as grey dots) and a collection of output vectors (deformed locations as blue dots). The affine fit to these descrete data is the pink parallelogram. Continue reading