UHYPER

User subroutine to define a hyperelastic material.

User subroutine UHYPER:

  • can be used to define the strain energy potential for isotropic hyperelastic material behavior;

  • is called at all material calculation points of elements for which the material definition contains user-defined hyperelastic behavior;

  • can include material behavior dependent on field variables or state variables; and

  • requires that the values of the derivatives of the strain energy density function of the hyperelastic material be defined with respect to the strain invariants.

This page discusses:

Special Considerations for Various Element Types

There are several special considerations that need to be noted.

Shells That Calculate Transverse Shear Energy

When UHYPER is used to define the material response of shell elements that calculate transverse shear energy, Abaqus/Standard cannot calculate a default value for the transverse shear stiffness of the element. Hence, you must define the material transverse shear modulus (see Defining the Elastic Transverse Shear Modulus) or the element's transverse shear stiffness (see Shell Section Behavior).

Elements with Hourglassing Modes

If this capability is used to describe the material of elements with hourglassing modes, you must define the hourglass stiffness for hourglass control based on the total stiffness approach. The hourglass stiffness is not required for enhanced hourglass control, but you can define a scaling factor for the stiffness associated with the drill degree of freedom (rotation about the surface normal). See Section Controls.

User Subroutine Interface

      SUBROUTINE UHYPER(BI1,BI2,AJ,U,UI1,UI2,UI3,TEMP,NOEL,
     1 CMNAME,INCMPFLAG,NUMSTATEV,STATEV,NUMFIELDV,FIELDV,
     2 FIELDVINC,NUMPROPS,PROPS)
C
      INCLUDE 'ABA_PARAM.INC'
C
      CHARACTER*80 CMNAME
      DIMENSION U(2),UI1(3),UI2(6),UI3(6),STATEV(*),FIELDV(*),
     2 FIELDVINC(*),PROPS(*)


      user coding to define U,UI1,UI2,UI3,STATEV


      RETURN
      END

Variables to Be Defined

U(1)

U, strain energy density function. For a compressible material, at least one derivative involving J should be nonzero. For an incompressible material, all derivatives involving J will be ignored. The strain invariants—I¯1, I¯2, and J—are defined in Hyperelastic Behavior of Rubberlike Materials.

U(2)

U~dev, the deviatoric part of the strain energy density of the primary material response. This quantity is needed only if the current material definition also includes Mullins effect (see Mullins Effect).

UI1(1)

U/I¯1.

UI1(2)

U/I¯2.

UI1(3)

U/J.

UI2(1)

2U/I¯12.

UI2(2)

2U/I¯22.

UI2(3)

2U/J2.

UI2(4)

2U/I¯1I¯2.

UI2(5)

2U/I¯1J.

UI2(6)

2U/I¯2J.

UI3(1)

3U/I¯12J.

UI3(2)

3U/I¯22J.

UI3(3)

3U/I¯1I¯2J.

UI3(4)

3U/I¯1J2.

UI3(5)

3U/I¯2J2.

UI3(6)

3U/J3.

STATEV

Array containing the user-defined solution-dependent state variables at this point. These are supplied as values at the start of the increment or as values updated by other user subroutines (see About User Subroutines and Utilities) and must be returned as values at the end of the increment.

Variables Passed in for Information

BI1

I¯1.

BI2

I¯2.

AJ

J.

TEMP

Current temperature at this point.

NOEL

Element number.

CMNAME

User-specified material name, left justified.

INCMPFLAG

Incompressibility flag defined to be 1 if the material is specified as incompressible or 0 if the material is specified as compressible.

NUMSTATEV

User-defined number of solution-dependent state variables associated with this material (see Allocating Space for Solution-Dependent State Variables).

NUMFIELDV

Number of field variables.

FIELDV

Array of interpolated values of predefined field variables at this material point at the end of the increment based on the values read in at the nodes (initial values at the beginning of the analysis and current values during the analysis).

FIELDVINC

Array of increments of predefined field variables at this material point for this increment; this includes any values updated by the user subroutine USDFLD.

NUMPROPS

Number of material properties entered for this user-defined hyperelastic material.

PROPS

Array of material properties entered for this user-defined hyperelastic material.