Describe the issue (notation clarification - not a bug)
The Frobenius norm of the strain-rate tensor is referred to as the “second invariant.” While the Frobenius norm is a valid scalar measure of strain-rate magnitude (and is itself invariant under orthogonal coordinate transformations), it is not equivalent to the second invariant of the 2D strain-rate tensor (which corresponds to the determinant of the tensor), even though the two are often conflated in the literature.
In StrainTool/pystrain/pystrain/strain.py, line 723:
sec_inv = sqrt(x1*x1 + 2e0*x2*x2 + x3*x3) # called "sec_inv" but computes the Frobenius norm
Describe the issue (notation clarification - not a bug)
The Frobenius norm of the strain-rate tensor is referred to as the “second invariant.” While the Frobenius norm is a valid scalar measure of strain-rate magnitude (and is itself invariant under orthogonal coordinate transformations), it is not equivalent to the second invariant of the 2D strain-rate tensor (which corresponds to the determinant of the tensor), even though the two are often conflated in the literature.
In
StrainTool/pystrain/pystrain/strain.py, line 723: