Obtaining Principal Stress/Strain Values and Directions in an Abaqus/Explicit Analysis

Utility routines are available for calculating principal stress/strain values and principal stress/strain directions from the relevant tensors.

These utility routines are available for Abaqus/Explicit user subroutines that store stress and strain components according to the convention presented in Conventions. They are most commonly called from user subroutine VUMAT.

This page discusses:

VSPRINC (Calculate Principal Values)

Utility Routine Interface

      call vsprinc( nblock, s, eigVal, ndir, nshr )

Variables to Be Provided to the Utility Routine

s(nblock,ndir+nshr)

Stress or strain symmetric tensor.

nblock

Number of material points to be processed in this call to VSPRINC.

ndir

Number of direct components in the symmetric tensor.

nshr

Number of shear components in the symmetric tensor.

Variables Returned from the Utility Routine

eigVal(nblock,I), I=1,2,3

The three principal values in an unsorted order.

VSPRIND (Calculate Principal Values and Directions)

Utility Routine Interface

      call vsprind( nblock, s, eigVal, eigVec, ndir, nshr )

Variables to Be Provided to the Utility Routine

s(nblock,ndir+nshr)

Stress or strain symmetric tensor.

nblock

Number of material points to be processed in this call to VSPRIND.

ndir

Number of direct components in the symmetric tensor.

nshr

Number of shear components in the symmetric tensor.

Variables Returned from the Utility Routine

eigVal(nblock,I), I=1,2,3

The three principal values in an unsorted order.

eigVec(nblock,J,I), J=1,2,3

The direction cosines of the principal directions corresponding to the Ith principal value, eigVal(:,I).