Is the expression for deviatoric component of a matrix unique?

In my textbook, the expression for 2D deviatoric component of deformation gradient is \bar{F} = J^{-\frac{1}{2}}F , but the of code ufl writes:

def deviatoric_expr_2x2(A):
    """Deviatoric of a 2 by 2 matrix."""
    return as_matrix(
        [
            [-1.0 / 2 * A[1, 1] + 1.0 / 2 * A[0, 0], A[0, 1]],
            [A[1, 0], 1.0 / 2 * A[1, 1] - 1.0 / 2 * A[0, 0]],
        ]
    )

Are both expressions correct ?

The definition of the devoiatoric in UFL can be found at: Form language — Unified Form Language (UFL) 2023.2.0 documentation, similar to https://www.sciencedirect.com/topics/engineering/deviatoric

As you haven’t provided a reference to the textbook,and this isn’t my field of expertise, I cannot say much about the correctness of the expression above, but it seems to match: 2.3.1 The deformation gradient tensor | FEBio Documentation (where this link uses 3D, not 2D).

Thanks!

I’ve read Nonlinear Continuum Mechanics for Finite Element Analysis. I also find a lecture note from Auckland University. Two deviatoric operator expressions don’t match up. This confused me.

I believe it is necessary to distinguish the deviatoric definition by @Dokken, which is synonymous with a trace-less tensor. The deviator of a second-order tensor dev A = A - \frac{1}{n} \text{tr}(A)I_{n}, where n denotes the dimension of the space; this definition is correct. This definition of deviatoric tensors is frequently used for stress tensors (for example, in plasticity criterion calculations).

The term ‘deviatoric’ used for a transformation gradient or strain measure is incorrect and should rather be replaced with ‘isochoric’ because a unitary determinant implies deformation without volume change. The confusion or misuse of language arises from the fact that when the system’s energy depends on the invariants of an isochoric strain tensor, the resulting stress is deviatoric.

I’m not sure if this helps.

2 Likes

Thanks!

Your answer is helpful. I understand the concepts now. Here is a paper for further reading if anyone needs help. On the physical assumptions underlying the volumetric-isochoric split and the case of anisotropy

For the first Piola-Kirchhoff stress, the deviator should be

DEV(\mathbf{P})=\mathbf{P}-\frac{1}{3}(\mathbf{P}: \mathbf{F}) \mathbf{F}^{-T}

which I need actually.