Obtaining Material Point Information in an Abaqus/Explicit Analysis

Utility routine VGETVRM can be called from VUSDFLD to access selected output variables at the material points for the current block of elements processed by VUSDFLD.

This page discusses:

Utility Routine Interface

   include 'vaba_param.inc'
   parameter( nrData=6 )
   character*3 cData(maxblk*nrData)
   dimension rData(maxblk*nrData), jData(maxblk*nrData)
   ...
   call vgetvrm( 'VAR', rData, jData, cData, jStatus )

Variables to Be Provided to the Utility Routine

VAR

Output variable key. The available material point variables are given in Available Output Variable Keys below.

Variables Returned from the Utility Routine

rData

Real array containing individual components of the output variable.

jData

Integer array containing individual components of the output variable.

cData

Character array containing flags corresponding to the individual components. Flags will either be YES, NO, or N/A (not applicable).

jStatus

Return code (0: output request successful; 1: output request not available).

Available Output Variable Keys

The following output variable keys are supported:

  • S: All stress components.

  • SP: All principal stresses.

  • MISES: Mises equivalent stress.

  • PRESS: Equivalent pressure stress.

  • TRIAX: Stress triaxiality.

  • LODE: Lode angle parameter.

  • LE: All logarithmic strain components.

  • LEP: All principal logarithmic strains.

  • ER: All logarithmic strain rate components.

  • ERP: All principal logarithmic strain rates.

  • THE: All thermal strain components.

  • PE: All plastic strain components.

  • PEP: All principal plastic strains.

  • PEEQ: Equivalent plastic strain.

  • PEEQR: Equivalent plastic strain rate.

  • PEEQT: Equivalent plastic strain in uniaxial tension, defined as ε¯˙tpldt.

  • PEQC: All equivalent plastic strains for models that have more than one yield/failure surface.

  • CE: All creep strain components.

  • CEP: All principal creep strains.

  • CEEQ: Equivalent creep strain.

  • TE: All transformation strain components.

  • TEEQ: Equivalent transformation strain.

  • ALPHA: All total kinematic hardening shift tensor components.

  • ALPHAP: All principal values of total kinematic hardening shift tensor.

  • TEMP: Temperature.

  • SDEG: Scalar stiffness degradation variable.

  • DUCTCRT: Ductile damage initiation criterion.

  • JCCRT: Johnson-Cook damage initiation criterion.

  • HCCRT: Hosford-Coulomb damage initiation criterion.

  • SHRCRT: Shear damage initiation criterion.

  • FLDCRT: Forming limit diagram (FLD) damage initiation criterion.

  • FLSDCRT: Forming limit stress diagram (FLSD) damage initiation criterion.

  • MSFLDCRT: Müschenborn-Sonne forming limit diagram (MSFLD) damage initiation criterion.

  • MKCRT: Marciniak-Kuczynski (M-K) damage initiation criterion.

  • POR: Pore fluid pressure.

  • EVF: Volume fraction (Eulerian elements only).

A requested output variable must be valid for the material model for the request to be successful.

The returned arrays rData, jData, and cData correspond to the real-valued variable, integer-valued variable, and string variable, respectively, that can be associated with the request output variable key VAR. If any output variable component is not applicable for a given request, its value will be returned as the initialized value: 0.0 in rData, 0 in jData, and N/A in cData. The association of the integer-valued variable and the string variable with the request output variable is not supported. The error flag jStatus is returned with a value of 1 if a request key is not recognized, not valid, or not supported; otherwise, jStatus is returned with a value of 0.

Component Ordering in Symmetric Tensors

For symmetric tensors such as the stress and strain tensors, there are ndir+nshr components, where ndir and nshr are the number of direct and shear components, respectively, that are passed into user subroutine VUSDFLD. The component order is given as a natural permutation of the indices of the tensor. The direct components are first and then the indirect components, beginning with the 12-component. For example, a stress tensor contains ndir direct stress components and nshr shear stress components, which are returned as:

Component 2D Case 3D Case
1 σ11σ11
2 σ22σ22
3 σ33σ33
4 σ12σ12
5   σ23
6   σ31

The shear strain components returned from utility subroutine VGETVRM are tensor components and not engineering components.

Analysis Time for Which Values Are Returned

Utility subroutine VGETVRM returns values of the requested variable that correspond to the beginning of the current increment.

Example

To illustrate the use of VGETVRM, if the identifier PE is specified for a material with plasticity, rData will be returned with plastic strain components PE11, PE22, PE33, PE12, PE23, and PE13. jData will be 0 and cData array will have N/A for all components.

Unsupported Element Types, Procedures, and Output Variable Keys

Since this capability pertains to material point quantities, it cannot be used for most of the element types that do not require a material definition. The following element types are, therefore, not supported:

  • DASHPOTx

  • SPRINGx

  • CONNxDx

  • MASS

  • ROTARYI

  • all acoustic elements