I have a number of damage parameters that require the value of the principal stress to calculate correctly. Previously I have implemented these codes in a UMAT, where the utility routine "SPRINC" can be called to get the principal values of a tensor.
However the creep subroutine doesn't call the stress tensor in Abaqus, it calls in the value of QTILD and P which are both functions of the principal stresses.
I have tried to use the USDFLD subroutine however this has let to numerous linking errors, but I know that the fortran compiler works correctly for the other user subroutines I've developed.