Hi Simon,
If you compare Holzapfel's definition with that of Wriggers, for instance, one notices the difference in how they define this 4th-order identity tensor. This particular term comes from the derivative dC/dC (i.e. differentiating a [symmetric] tensor w.r.t itself), and if you do not account for the symmetries of tensor then you end up with Holzapfel's result, namely that
dC/dC -> dC_{ij}/dC_{kl} = \delta{ik}\delta{jl} = I_{ijkl}.
In my version of the book, the text below eq. 6.84 where the reference deviator tensor is defined points one to eq. 1.160. There you see that this tensor does not hold the symmetries that a SymmetricTensor does (it doesn't have the property of minor symmetry) and it also doesn't map all rank-2 tensors onto a symmetric tensor. It also probably makes a difference in how one defines the transpose of this deviator tensor (which would rely on
dC^T/dC -> dC_{ji}/dC_{kl} = \delta{jk}\delta{il} = I^{T}_{ijkl},
maybe?). If one considers Wrigger's approach (eq 3.125 and the text below it; specific reference listed in the step-44 introduction) and explicitly accounts for the symmetry of the tensor then
dC/dC -> d(0.5*[C_{ij} + C_{ji}]) /dC_{kl} = 0.5*[\delta{ik}\delta{jl} + \delta{jk}\delta{il}] = S_{ijkl}.
Such a tensor definitely maps all rank-2 tensors to symmetric tensors and helps fulfill the relation that for SymmetricTensors A=A^{T}.
The differences in the definitions are subtle and your question reminds me of how many time I've pondered pretty much the same thing. I've also previously observed the similar differences in results of contractions that you mentioned in your second email, and have been equally surprised. In the end, the consequences on the outcome of each operation involving your definition of the deviator tensor
could simply depend on which tensor class you are storing the operators and results in. Certainly the rank-4 tensor
I is not a SymmetricTensor and therefore
P =
P(
I) would not be one either. But since the rank-4 tensor
S is
by construction and definition a SymmetricTensor,
P =
P(
S) would also be one.
Best,
Jean-Paul