Skip to content

Isotropic tensors

The most constrained symmetry class, and the template for every other one: a small closed algebra in which products and inverses are computed on a couple of scalars rather than on components. Implemented by TensISO in src/tens_isotropic.jl, in arbitrary dimension .

The two projectors

With the order-2 identity and    the order-4 identity on symmetric tensors,

extracts the spherical part of a symmetric tensor and the deviatoric one. They are complementary orthogonal projectors:

Their Frobenius norms are the dimensions of the subspaces they project onto:

In TensND the triple is ISO / iso_projectors, and individually tens_J4, tens_K4, tens_Id4, tens_Id2.

The algebra

Every isotropic minor-symmetric order-4 tensor is

and since and are orthogonal idempotents the algebra is that of a pair of independent scalars:

In elasticity   and   in 3-D. TensISO{4} stores exactly the pair ; TensISO{2} stores the single scalar of .

Isotropization

The closest isotropic tensor to an arbitrary , for the Frobenius distance, is its orthogonal projection onto . Because the two projectors are orthogonal with known norms, the normal equations are diagonal and the answer is closed-form [4]:

the general- denominator being  . This is isotropify, and it is the simplest instance of the general machinery of Projection onto a symmetry class: no orientation to optimize, because an isotropic tensor has none.

Isotropization does not commute with inversion

Projecting a stiffness and projecting the corresponding compliance give different isotropic materials. This is not a defect of the implementation but of the Euclidean distance itself, which is not invariant under inversion. Distances that are — log-Euclidean, power-Euclidean, arctan-Euclidean — are constructed and compared in [5]; TensND implements the Euclidean one, so the choice of which of or to project is the user's and must be stated when a result is reported.

Relation to the wider classes

Isotropy is the intersection of every other class, so an isotropic tensor satisfies all three predicates:

is_ISO, is_TI and is_ORTHO reflect this — all three return true on . Conversion up the chain is explicit: fromISO re-expresses an isotropic tensor on the Walpole basis about a chosen axis, and iso_to_ortho on an orthotropic frame; the coefficients that result are computed on Walpole basis and Orthotropy.