20.8.1 User-defined mechanical material behavior

Products: ABAQUS/Standard  ABAQUS/Explicit  ABAQUS/CAE  



User-defined mechanical material behavior in ABAQUS:

  • is provided by means of an interface whereby any mechanical constitutive model can be added to the library;

  • requires that a constitutive model (or a library of models) is programmed in user subroutine UMAT (ABAQUS/Standard) or VUMAT (ABAQUS/Explicit); and

  • requires considerable effort and expertise: the feature is very general and powerful, but its use is not a routine exercise.

Stress components and strain increments

The subroutine interface has been implemented using Cauchy stress components (“true” stress). For soils problems “stress” should be interpreted as effective stress. The strain increments are defined by the symmetric part of the displacement increment gradient (equivalent to the time integral of the symmetric part of the velocity gradient).

The orientation of the stress and strain components in user subroutine UMAT depends on the use of local orientations (Orientations, Section 2.2.5).

In user subroutine VUMAT all strain measures are calculated with respect to the midincrement configuration. All tensor quantities are defined in the corotational coordinate system that rotates with the material point. To illustrate what this means in terms of stresses, consider the bar shown in Figure 20.8.1–1, which is stretched and rotated from its original configuration, , to its new position, . This deformation can be obtained in two stages; the bar is first stretched, as shown in Figure 20.8.1–2, and is then rotated by applying a rigid body rotation to it, as shown in Figure 20.8.1–3.

Figure 20.8.1–1 Stretched and rotated bar.

Figure 20.8.1–2 Stretching of bar.

Figure 20.8.1–3 Rigid body rotation of bar.

The stress in the bar after it has been stretched is , and this stress does not change during the rigid body rotation. The coordinate system that rotates as a result of the rigid body rotation is the corotational coordinate system. The stress tensor and state variables are, therefore, computed directly and updated in user subroutine VUMAT using the strain tensor since all of these quantities are in the corotational system; these quantities do not have to be rotated by the user subroutine as is sometimes required in user subroutine UMAT.

The elastic response predicted by a rate-form constitutive law depends on the objective stress rate employed. For example, the Green-Naghdi stress rate is used in VUMAT. However, the stress rate used for built-in material models may differ. For example, most material models used with solid (continuum) elements in ABAQUS/Explicit employ the Jaumann stress rate. This difference in the formulation will cause significant differences in the results only if finite rotation of a material point is accompanied by finite shear. For a discussion of the objective stress rates used in ABAQUS, see Stress rates, Section 1.5.3 of the ABAQUS Theory Manual.

Material constants

Any material constants that are needed in user subroutine UMAT or VUMAT must be specified as part of a user-defined material behavior definition. Any other mechanical material behaviors included in the same material definition (except thermal expansion and, in ABAQUS/Explicit, density) will be ignored; the user-defined material behavior requires that all mechanical material behavior calculations be programmed in subroutine UMAT or VUMAT. In ABAQUS/Explicit the density (Density, Section 16.2.1) is required when using a user-defined material behavior.

Input File Usage:           In ABAQUS/Standard use the following option to specify a user-defined material behavior:

In ABAQUS/Explicit use both of the following options to specify a user-defined material behavior:

*USER MATERIAL, CONSTANTS=number_of_constants

In either case you must specify the number of material constants being entered.

ABAQUS/CAE Usage: In ABAQUS/Standard use the following option to specify a user-defined material behavior:

Property module: material editor: GeneralUser Material: User material type: Mechanical

In ABAQUS/Explicit use both of the following options to specify a user-defined material behavior:

Property module: material editor:
GeneralUser Material: User material type: Mechanical

Unsymmetric equation solver in ABAQUS/Standard

If the user material's Jacobian matrix, , is not symmetric, the unsymmetric equation solution capability in ABAQUS/Standard should be invoked (see Procedures: overview, Section 6.1.1).

Input File Usage:           


Property module: material editor: GeneralUser Material: User material type: Mechanical, toggle on Use unsymmetric material stiffness matrix

Material state

Many mechanical constitutive models require the storage of solution-dependent state variables (plastic strains, “back stress,” saturation values, etc. in rate constitutive forms or historical data for theories written in integral form). You should allocate storage for these variables in the associated material definition (see Allocating space” in “User subroutines: overview, Section 13.2.1). There is no restriction on the number of state variables associated with a user-defined material.

The user material subroutines are provided with the material state at the start of each increment, as described below. They must return values for the new stresses and the new internal state variables. State variables associated with UMAT and VUMAT can be output to the output database file (.odb) and results file (.fil) using the output identifiers SDV and SDVn (see ABAQUS/Standard output variable identifiers, Section 4.2.1, and ABAQUS/Explicit output variable identifiers, Section 4.2.2).

Material state in ABAQUS/Standard

User subroutine UMAT is called for each material point at each iteration of every increment. It is provided with the material state at the start of the increment (stress, solution-dependent state variables, temperature, and any predefined field variables) and with the increments in temperature, predefined state variables, strain, and time.

In addition to updating the stresses and the solution-dependent state variables to their values at the end of the increment, subroutine UMAT must also provide the material Jacobian matrix, , for the mechanical constitutive model. This matrix will also depend on the integration scheme used if the constitutive model is in rate form and is integrated numerically in the subroutine. For any nontrivial constitutive model these will be challenging tasks. For example, the accuracy with which the Jacobian matrix is defined will usually be a major determinant of the convergence rate of the solution and, therefore, will have a strong influence on computational efficiency.

Material state in ABAQUS/Explicit

User subroutine VUMAT is called for blocks of material points at each increment. When the subroutine is called, it is provided with the state at the start of the increment (stress, solution-dependent state variables). It is also provided with the stretches and rotations at the beginning and the end of the increment. The VUMAT user material interface passes a block of material points to the subroutine on each call, which allows vectorization of the material subroutine.

The temperature is provided to user subroutine VUMAT at the start and the end of the increment. The temperature is passed in as information only and cannot be modified, even in a fully coupled thermal-stress analysis. However, if the inelastic heat fraction is defined in conjunction with the specific heat and conductivity in a fully coupled thermal-stress analysis in ABAQUS/Explicit, the heat flux due to inelastic energy dissipation will be calculated automatically. If the VUMAT user subroutine is used to define an adiabatic material behavior (conversion of plastic work to heat) in an explicit dynamics procedure, the temperatures must be stored and integrated as user-defined state variables. Most often the temperatures are provided by specifying initial conditions (Initial conditions, Section 27.2.1) and are constant throughout the analysis.

Deleting elements from an ABAQUS/Explicit mesh using state variables

Element deletion in a mesh can be controlled during the course of an ABAQUS/Explicit analysis through user subroutine VUMAT. Deleted elements have no ability to carry stresses and, therefore, have no contribution to the stiffness of the model. You specify the state variable number controlling the element deletion flag. For example, specifying a state variable number of 4 indicates that the fourth state variable is the deletion flag in VUMAT. The deletion state variable should be set to a value of one or zero in VUMAT. A value of one indicates that the material point is active, while a value of zero indicates that ABAQUS/Explicit should delete the material point from the model by setting the stresses to zero. The structure of the block of material points passed to user subroutine VUMAT remains unchanged during the analysis; deleted material points are not removed from the block. ABAQUS/Explicit will pass zero stresses and strain increments for all deleted material points. Once a material point has been flagged as deleted, it cannot be reactivated. An element will be deleted from the mesh only after all of the material points in the element are deleted. The status of an element can be determined by requesting output of the variable STATUS. This variable is equal to one if the element is active and equal to zero if the element is deleted.

Input File Usage:           
*DEPVAR, DELETE=variable number


Property module: material editor: GeneralDepvar: Variable number controlling element deletion: variable number

Hourglass control and transverse shear stiffness

Normally the default hourglass control stiffness for reduced-integration elements in ABAQUS/Standard and the transverse shear stiffness for shell and beam elements are defined based on the elasticity associated with the material (Section controls, Section 21.1.4; Shell section behavior, Section 23.6.4; and Choosing a beam element, Section 23.3.3). These stiffnesses are based on a typical value of the initial shear modulus of the material, which may, for example, be given as part of an elastic material behavior (Linear elastic behavior, Section 17.2.1) included in the material definition. However, the shear modulus is not available during the preprocessing stage of input for materials defined with user subroutine UMAT or VUMAT. Therefore, you must provide the hourglass stiffness parameters (see Methods for suppressing hourglass modes” in “Section controls, Section 21.1.4) when using UMAT to define the material behavior of elements with hourglassing modes; and you must specify the transverse shear stiffness (see Choosing a beam element, Section 23.3.3, or Shell section behavior, Section 23.6.4) when using UMAT or VUMAT to define the material behavior of beams and shells with transverse shear flexibility.

Use of UMAT with other subroutines

Various utility subroutines are also available in ABAQUS/Standard for use with subroutine UMAT. These utility subroutines are discussed in Obtaining stress invariants, principal stress/strain values and directions, and rotating tensors, Section 2.1.9 of the ABAQUS User Subroutines Reference Manual.

User subroutine UMATHT can be used in conjunction with UMAT to define the constitutive thermal behavior of the material. The solution-dependent variables allocated in the material definition are accessible in both UMAT and UMATHT. In addition, user subroutines FRIC, GAPCON, and GAPELECTR are available for defining mechanical, thermal, and electrical interactions between surfaces.

Material options

A number of material behaviors can be used in the definition of a material when its mechanical behavior is defined by user subroutine UMAT or VUMAT. These behaviors include density, thermal expansion, permeability, and heat transfer properties. Thermal expansion can alternatively be an integral part of the constitutive model implemented in UMAT or VUMAT.

For a material defined by user subroutine UMAT or VUMAT, mass proportional damping can be included separately (see Material damping, Section 20.1.1), but stiffness proportional damping must be defined in the user subroutine by the Jacobian (ABAQUS/Standard only) and stress definitions. Stiffness proportional damping cannot be specified if the user material is used in the direct steady-state dynamics procedure.


User subroutines UMAT and VUMAT can be used with all elements in ABAQUS that include mechanical behavior (elements that have displacement degrees of freedom).