Obtaining Stress Invariants, Principal Stress/Strain Values and Directions, and Rotating Tensors in an Abaqus/Standard Analysis

Utility routines are available for calculating stress invariants, principal stress/strain values, and principal stress/strain directions from the relevant tensors, as well as for transforming tensors to a new basis.

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

This page discusses:

SINV (Calculate Stress Invariants)

Utility Routine Interface

      CALL SINV(STRESS,SINV1,SINV2,NDI,NSHR)

Variables to Be Provided to the Utility Routine

STRESS

A stress tensor.

NDI

Number of direct components.

NSHR

Number of shear components.

Variables Returned from the Utility Routine

SINV1

First invariant.

SINV1=13traceσ,

where σ is the stress tensor.

SINV2

Second invariant.

SINV2=32S:S,

where S is the deviatoric stress tensor, defined as

S=σ-13traceσI.

SPRINC (Calculate Principal Values)

Utility Routine Interface

      CALL SPRINC(S,PS,LSTR,NDI,NSHR)

Variables to Be Provided to the Utility Routine

S

Stress or strain tensor.

LSTR

An identifier. LSTR=1 indicates that S contains stresses; LSTR=2 indicates that S contains strains.

NDI

Number of direct components.

NSHR

Number of shear components.

Variables Returned from the Utility Routine

PS(I), I=1,2,3

The three principal values in an unsorted order.

SPRIND (Calculate Principal Values and Directions)

Utility Routine Interface

      CALL SPRIND(S,PS,AN,LSTR,NDI,NSHR)

Variables to Be Provided to the Utility Routine

S

A stress or a strain tensor.

LSTR

An identifier. LSTR=1 indicates that S contains stresses; LSTR=2 indicates that S contains strains.

NDI

Number of direct components.

NSHR

Number of shear components.

Variables Returned from the Utility Routine

PS(I), I=1,2,3

The three principal values in an unsorted order.

AN(I,J), J=1,2,3

The direction cosines of the principal directions corresponding to PS(I).

ROTSIG (Rotate a Tensor)

Utility Routine Interface

      CALL ROTSIG(S,R,SPRIME,LSTR,NDI,NSHR)

Variables to Be Provided to the Utility Routine

S

A stress or strain tensor.

NDI

Number of direct components.

NSHR

Number of shear components.

R

Rotation matrix.

LSTR

An identifier. LSTR =1 indicates that S contains stresses; LSTR =2 indicates that S contains strains.

Variables Returned from the Utility Routine

SPRIME

The rotated stress or strain tensor.

Typical Usage

In user subroutine UMAT it is often necessary to rotate tensors during a finite-strain analysis. The matrix DROT that is passed into UMAT represents the incremental rotation of the material basis system in which the stress and strain are stored. For an elastic-plastic material that hardens isotropically, the elastic and plastic strain tensors must be rotated to account for the evolution of the material directions. In this case S is the elastic or plastic strain tensor and R is the incremental rotation DROT.