We need to decide and document how to order the output principal values in mathsutils.get_principal_values(). Ordering from the invoked np.eigvals() is not guaranteed, so we should apply some subsequent ordering ourselves. However, there are different options.
We start with: eigvals = np.linalg.eigvals(tensors). After this, we could:
This is an issue because it results in different visualisations when showing a yield function with the stress states used to fit it. It's not clear to me what symmetry we should expect.
We need to decide and document how to order the output principal values in
mathsutils.get_principal_values()
. Ordering from the invokednp.eigvals()
is not guaranteed, so we should apply some subsequent ordering ourselves. However, there are different options.We start with:
eigvals = np.linalg.eigvals(tensors)
. After this, we could:Sort in decreasing order (positive to negative):
Or, sort by absolute value in decreasing order:
This is an issue because it results in different visualisations when showing a yield function with the stress states used to fit it. It's not clear to me what symmetry we should expect.