<!-- source-page: 1121 -->

# Defining loads

You can apply point loads, moments, fluxes, etc. to the nodes of general user-defined elements in the usual way, using concentrated loads and concentrated fluxes (“Concentrated loads,” Section 34.4.2, and “Thermal loads,” Section 34.4.4).

You can also define distributed loads and fluxes for general user-defined elements (“Distributed loads,” Section 34.4.3, and “Thermal loads,” Section 34.4.4). These loads require a load type key. For user-defined elements, you can define load type keys of the forms Un and, in Abaqus/Standard, UnNU, where n is any positive integer.

If the load type key is of the form Un, the load magnitude is defined directly and follows the standard Abaqus conventions with respect to its amplitude variation as a function of time. In Abaqus/Standard, if the load key is of the form UnNU, all of the load definition will be accomplished inside subroutine UEL and UELMAT. Each time Abaqus/Standard calls subroutine UEL or UELMAT, it tells the subroutine how many distributed loads/fluxes are currently active. For each active load or flux of type Un Abaqus/Standard gives the current magnitude and current increment in magnitude of the load. The coding in subroutine UEL or UELMAT must distribute the loads into consistent equivalent nodal forces and, if necessary, provide their contribution to the Jacobian matrix—the “load stiffness matrix.”

In Abaqus/Explicit only load keys of the form Un can be used, and they can be used only for distributed loads (however, thermal fluxes can be defined in the coding in subroutine VUEL). Each time Abaqus/Explicit calls subroutine VUEL, it tells the subroutine which load number is currently active and the current magnitude of the load. The coding in subroutine VUEL must distribute the loads into consistent equivalent nodal forces.

# Defining output

All quantities to be output must be saved as solution-dependent state variables. In Abaqus/Standard, the solution-dependent state variables can be printed or written to the results file using output variable identifier SDV (“Abaqus/Standard output variable identifiers,” Section 4.2.1).

The components of solution-dependent state variables that belong to a user element are not available in Abaqus/CAE. You can write output to separate files in a table format that can be accessed in Abaqus/CAE to produce history output.

# Defining wave kinematic data

A utility routine GETWAVE is provided in user subroutine UEL to access the wave kinematic data defined for an Abaqus/Aqua analysis (“Abaqus/Aqua analysis,” Section 6.11.1). This utility is discussed in “Obtaining wave kinematic data in an Abaqus/Aqua analysis,” Section 2.1.13 of the Abaqus User Subroutines Reference Guide, where the arguments to GETWAVE and the syntax for its use are defined.

# Use in contact

Only node-based surfaces (“Node-based surface definition,” Section 2.3.3) can be created on user-defined elements. Hence, these elements can be used to define only slave surfaces in a contact analysis. In

<!-- source-page: 1122 -->

Abaqus/Explicit the user elements will not be included in the general contact algorithm automatically. Node-based surfaces can be defined using these nodes and then included in the general contact definition.

# Import of user elements

User elements cannot be imported from an Abaqus/Standard analysis into an Abaqus/Explicit analysis or vice versa. Equivalent user elements can be defined in both products to overcome this limitation. However, the state variables associated with these elements will not be communicated.

<!-- source-page: 1123 -->

# 32.17.2 USER-DEFINED ELEMENT LIBRARY

Products: Abaqus/Standard Abaqus/Explicit

# References

• “User-defined elements,” Section 32.17.1   
• “UEL,” Section 1.1.28 of the Abaqus User Subroutines Reference Guide   
• “UELMAT,” Section 1.1.29 of the Abaqus User Subroutines Reference Guide   
• “VUEL,” Section 1.2.14 of the Abaqus User Subroutines Reference Guide   
• \*MATRIX   
• \*UEL PROPERTY  
• \*USER ELEMENT

# Overview

This section provides a reference to the user-defined elements available in Abaqus/Standard and Abaqus/Explicit.

Element types 

<table><tr><td>Un</td><td>n must be a positive integer (0 &lt; n &lt; 10000) that will define the element type uniquely in Abaqus/Standard</td></tr></table>

<table><tr><td>VUn</td><td>n must be a positive integer (0 &lt; n &lt; 10000) that will define the element type uniquely in Abaqus/Explicit</td></tr></table>

Active degrees of freedom

As defined in the user element definition.

Additional solution variables

You can define solution variables associated with nodes that are not connected to other elements. However, in Abaqus/Standard, definition of constraints with Lagrange multipliers in user elements should be avoided because of potential equation solver problems.

In Abaqus/Explicit definition of constraints with Lagrange multipliers is not possible because the stable time increment would decrease to infinitesimally small values.

# Nodal coordinates required

None required for linear user elements.

As needed in user subroutines UEL, UELMAT, or VUEL for general user elements. The maximum number of coordinates per node is specified in the user element definition (see “Defining the maximum

<!-- source-page: 1124 -->

number of coordinates needed at any nodal point” in “User-defined elements,” Section 32.17.1). The first coordinate entries at each node should correspond to the standard Abaqus convention (X, Y, Z or r, z for axisymmetric elements).

# Element property definition

For a linear user element the properties are the stiffness and mass, defined via user-defined matrices or read from an Abaqus/Standard results file. If necessary, you can specify Rayleigh damping values for linear user elements in the element property definition.

For a general user element defined via user subroutines UEL, UELMAT, or VUEL, you define the number of element properties in the user element definition and provide the numerical values in the element property definition. The definition of these properties depends on your coding in subroutine UEL, UELMAT, or VUEL.

Input File Usage: \*UEL PROPERTY

# Element-based loading

None for linear user elements.

Un: Distributed load or flux whose magnitude is given via distributed load or distributed flux loading definitions (see “Distributed loads,” Section 34.4.3, or “Thermal loads,” Section 34.4.4) for a general user element. n must be a positive integer that is passed into user subroutines UEL, UELMAT, or VUEL to identify the particular load type.

UnNU: Available in Abaqus/Standard only. Distributed load or flux that is completely defined as equivalent nodal values inside user subroutine UEL or UELMAT for a general user element. n must be a positive integer: will be passed into subroutine UEL or UELMAT when such a load is active to identify the load type. The minus sign on n indicates that the load is of type NU.

# Element output

For a linear user element there are no stress or strain components since the element only appears as a stiffness and mass.

For a general user element any stress, strain, or other solution-dependent variables within the element must be defined as solution-dependent state variables by your coding within subroutine UEL, UELMAT, or VUEL. In Abaqus/Standard, they can be output using output variable SDV.

Currently element output to the output database is not supported for user-defined elements.

# Node ordering on elements

As defined in the user element definition.

<!-- source-page: 1125 -->

# 33. Particle Elements

Discrete particle elements 33.1

Continuum particle elements 33.2

<!-- source-page: 1126 -->

<!-- source-page: 1127 -->

# 33.1 Discrete particle elements

• “Discrete particle elements,” Section 33.1.1   
• “Discrete particle element library,” Section 33.1.2

<!-- source-page: 1128 -->

<!-- source-page: 1129 -->

# 33.1.1 DISCRETE PARTICLE ELEMENTS

# Product: Abaqus/Explicit

# References

• “Discrete element method,” Section 15.1.1   
• “Discrete particle element library,” Section 33.1.2   
• \*DISCRETE SECTION

# Overview

Discrete particle elements:

• represent individual particles with a rigid, spherical shape;   
• are typically used in analyses with a large number of discrete particle elements interacting with each other and with other bodies;   
• can be used only in explicit dynamic analyses; and   
• must have only one node.

# Typical applications

Discrete particle elements (PD3D) are useful for simulations involving discontinuous media such as gravel. For a description of the discrete element method (DEM) and its typical applications, see “Discrete element method,” Section 15.1.1.

# Defining the element’s section properties

You must associate a discrete section definition with a set of discrete particle elements. The section definition provides the density associated with the PD3D elements and particle radii.

Input File Usage: \*DISCRETE SECTION, ELSET=element\_set\_name

# Particle geometry, mass, and rotational inertia

PD3D elements are spherical in shape, and each particle has uniform density. The particle radius and density are specified in a discrete section definition. Abaqus uses these quantities to compute the mass and rotational inertia of PD3D elements. Each discrete element is simple, but interactions of large systems of such particles and finite elements enable simulation of complex phenomena, as discussed in “Discrete element method,” Section 15.1.1.

Particle sizes and densities will commonly be the same for all particles assigned to a single discrete section definition, but it is possible to specify variations in these quantities among particles associated with a single discrete section definition by assigning distribution names rather than scalar values to the radius and/or density. See “Distribution definition,” Section 2.8.1, for a discussion of distributions. If,

<!-- source-page: 1130 -->

for example, two particle sizes are to be considered, it may be most convenient to simply use two discrete section definitions with a single particle size in each.

# Input File Usage:

Use the following option to define the particle shape, density, and radius:

\*DISCRETE SECTION, SHAPE=SPHERE, DENSITY=particle density or a particle densities distribution table name particle radius or particle radii distribution table name

# Alpha damping

You can define mass and rotary inertia proportional damping for PD3D elements similar to that for point mass and rotary inertia elements (see “Point masses,” Section 30.1.1, and “Rotary inertia,” Section 30.2.1). This damping acts on translational and rotational velocities of individual particles (with respect to “ground”) and is independent of contact damping (which acts on relative velocities for nearby particle pairings). Unlike other types of deformable finite elements in Abaqus/Explicit, there is no global viscous damping acting on PD3D elements. A small amount of mass proportional damping is beneficial in reducing the noise in the solution generated by numerous opening and closing contact conditions.

# Input File Usage:

Use the following option to specify mass and rotary inertia proportional damping:

\*DISCRETE SECTION, ALPHA=damping factor, α
