26.2.9 Obtaining stress invariants, principal stress/strain values and directions, and rotating tensors

Product: ABAQUS/Standard  

Reference

Overview

For ABAQUS/Standard user subroutines that store stress and strain components according to the convention presented in Conventions, Section 1.2.2, a number of utility routines are available for calculating stress invariants, principal stress/strain values, and principal stress/strain directions from the relevant tensors. There is also a utility routine available for transforming tensors to a new basis. These routines are most commonly called from user subroutine UMAT.

The following utility subroutines are available in ABAQUS/Standard to perform tensor operations:

  • SINV (calculate stress invariants)

  • SPRINC (calculate principal values)

  • SPRIND (calculate principal values and directions)

  • ROTSIG (rotate a tensor)

These utility subroutines are described below in alphabetical order.


SINV (calculate stress invariants)

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.

where is the stress tensor.

SINV2

Second invariant.

where is the deviatoric stress tensor, defined as


SPRINC (calculate principal values)

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.


SPRIND (calculate principal values and directions)

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.

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

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


ROTSIG (rotate a tensor)

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 indicates S contains stresses; LSTR indicates S contains strains.

Variable 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.

Example