Products: Abaqus/Standard Abaqus/Explicit
“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
“Accessing Abaqus thermal materials,” Section 2.1.18 of the Abaqus User Subroutines Reference Guide
“Accessing Abaqus materials,” Section 2.1.17 of the Abaqus User Subroutines Reference Guide
User-defined elements:
can be finite elements in the usual sense of representing a geometric part of the model;
can be feedback links, supplying forces at some points as functions of values of displacement, velocity, etc. at other points in the model;
can be used to solve equations in terms of nonstandard degrees of freedom;
can be linear or nonlinear; and
can access selected materials from the Abaqus material library.
You must assign an element type key to a user-defined element. The element type key must be of the form Un in Abaqus/Standard and VUn in Abaqus/Explicit, where n is a positive integer that identifies the element type uniquely. For example, you can define element types U1, U2, U3, VU1, VU7, etc. In Abaqus/Standard n must be less than 10000; while in Abaqus/Explicit n must be less than 9000.
The element type key is used to identify the element in the element definition. For general user elements the integer part of the identifier is provided in user subroutines UEL, UELMAT and VUEL so that you can distinguish between different element types.
Input File Usage: | *USER ELEMENT, TYPE=element_type |
User-defined elements are invoked in the same way as native Abaqus elements: you specify the element type, Un or VUn, and define element numbers and nodes associated with each element (see “Defining a model in Abaqus,” Section 1.3.1). User elements can be assigned to element sets in the usual way, for cross-reference to element property definitions, output requests, distributed load specifications, etc.
Material definitions (“Material data definition,” Section 21.1.2) are relevant only to user-defined elements in Abaqus/Standard. If a material is assigned to a user-defined element (“Assigning an Abaqus material to the user element”), user subroutine UELMAT will be used to define the element response. User subroutine UELMAT allows access to selected Abaqus materials. If no material definition is specified, all material behavior must be defined in user subroutines UEL and VUEL, based on user-defined material constants and on solution-dependent state variables associated with the element and calculated in the same subroutines. For linear user elements all material behavior must be defined through a user-defined stiffness matrix.
Input File Usage: | Use the following options to invoke a user-defined element: |
*USER ELEMENT, TYPE=element_type *ELEMENT, TYPE=element_type |
Any number of user element types can be defined and used in a model. Each user element can have any number of nodes, at each of which a specified set of degrees of freedom is used by the element. The activated degrees of freedom should follow the Abaqus convention (“Conventions,” Section 1.2.2). In Abaqus/Standard this is important because the convergence criteria are based on the degrees of freedom numbers. In Abaqus/Explicit the activated degrees of freedom must follow the Abaqus convention because these are the only degrees of freedom that can be updated.
Abaqus always works in the global system when passing information to or from a user element. Therefore, the user element's stiffness, mass, etc. should always be defined with respect to global directions at its nodes, even if local transformations (“Transformed coordinate systems,” Section 2.1.5) are applied to some of these nodes.
You define the ordering of the variables on a user element. The standard and recommended ordering is such that the degrees of freedom at the first node appear first, followed by the degrees of freedom at the second node, etc. For example, suppose that the user-defined element type is a planar beam with three nodes. The element uses degrees of freedom 1, 2, and 6 (,
, and
) at its first and last node and degrees of freedom 1 and 2 at its second (middle) node. In this case the ordering of variables on the element is:
You specify the active degrees of freedom at each node of the element. If the degrees of freedom are the same at all of the element's nodes, you specify the list of degrees of freedom only once. Otherwise, you specify a new list of degrees of freedom each time the degrees of freedom at a node are different from those at previous nodes. Thus, different nodes of the element can use different degrees of freedom; this is especially useful when the element is being used in a coupled field problem so that, for example, some of its nodes have displacement degrees of freedom only, while others have displacement and temperature degrees of freedom. This method will produce an ordering of the element variables such that all of the degrees of freedom at the first node appear first, followed by the degrees of freedom at the second node, etc.
In Abaqus/Standard there are two ways to define element variable numbers that order the degrees of freedom on the element differently.
Since the user element can accept repeated node numbers when defining the nodal connectivity for the element, the element can be declared to have one node per degree of freedom on the element. For example, if the element is a planar, 3-node triangle for stress analysis, it has three nodes, each of which has degrees of freedom 1 and 2. If all degrees of freedom 1 are to appear first in the element variables, the element can be defined with six nodes, the first three of which have degree of freedom 1, while nodes 4–6 have degree of freedom 2. The element variables would be ordered as follows:
Alternatively, the user element variables can be defined so as to order the degrees of freedom on the element in any arbitrary fashion. You specify a list of degrees of freedom for the first node on the element. All nodes with a nodal connectivity number that is less than the next connectivity number for which a list of degrees of freedom is specified will have the first list of degrees of freedom. The second list of degrees of freedom will be used for all nodes until a new list is defined, etc. If a new list of degrees of freedom is encountered with a nodal connectivity number that is less than or equal to that given with the previous list, the previous list's degrees of freedom will be assigned through the last node of the element. This generation of degrees of freedom can be stopped before the last node on the element by specifying a nodal connectivity number with an empty (blank) list of degrees of freedom.
The above procedure continues using this new list to define additional degrees of freedom in accordance with the new node and degrees of freedom. For example, consider a 3-node beam that has degrees of freedom 1, 2, and 6 at nodes 1 and 3 and degrees of freedom 1 and 2 at node 2 (middle node). To order degrees of freedom 1 first, followed by 2, followed by 6, the following input could be used:
*USER ELEMENT 1 1, 2 1, 6 2, 3, 6In this case the ordering of the variables on the element is:
There are the following additional requirements with respect to activated degrees of freedom on a user element of type VUn:
Only degrees of freedom 1 through 6, 8, and 11 can be activated because these are the only degrees of freedom numbers that can be updated in Abaqus/Explicit. (In Abaqus/Standard degrees of freedom 1 through 30 can be used.)
If one translational degree of freedom is activated at a node, all translational degrees of freedom up to the specified maximum number of coordinates must be activated at that node; moreover, the translational degrees of freedom at the node must be in consecutive order.
In three-dimensional analyses, if one rotational degree of freedom is activated at a node, all three rotational degrees of freedom must be activated in consecutive order.
*USER ELEMENT 1,2,3,4,5,6 2,11 3,1,2,3,11 4,1,2,3,4,5,6
If all three rotational degrees of freedom (4, 5, and 6) are used at a node in a geometrically nonlinear analysis, Abaqus assumes that these rotations are finite rotations. In this case the incremental values of these degrees of freedom are not simply added to the total values: the quaternion update formulae are used instead. Similarly, the corrections are not simply added to the incremental values. The update procedure is described in “Rotation variables,” Section 1.3.1 of the Abaqus Theory Guide, and is mentioned in “Conventions,” Section 1.2.2.
To avoid the rotation update in a geometrically nonlinear analysis in Abaqus/Standard, you may define repeated node numbers in the nodal connectivity of the element such that at least one of the degrees of freedom 4, 5, or 6 is missing from the degree of freedom list at each node.
Plotting of user elements is not supported in Abaqus/CAE. However, if the user elements contain displacement degrees of freedom, they can be overlaid with standard elements; and model plots of these standard elements can be displayed, allowing you to see the shape of the user elements. If deformed mesh plots of the user elements are required, the material properties of the overlaying standard elements must be chosen so that the solution is not changed by including them. If this technique is used, nodes of the user element will be tied to nodes of the standard elements. Therefore, degrees of freedom 1, 2, and 3 in the user element must correspond to the displacement degrees of freedom at the nodes of the standard elements.
Linear user elements can be defined only in Abaqus/Standard. In the simplest case a linear user element can be defined as a stiffness matrix and, if required, a mass matrix. These matrices can be read from a results file or defined directly.
To read the element matrices from an Abaqus/Standard results file, you must have written the stiffness and/or mass matrices in a previous analysis to the results file as element matrix output (“Element matrix output in Abaqus/Standard” in “Output,” Section 4.1.1) or substructure matrix output (“Writing the recovery matrix, reduced stiffness matrix, mass matrix, load case vectors, and gravity vectors to a file” in “Defining substructures,” Section 10.1.2).
You must specify the element number, n, or substructure identifier, Zn, to which the matrices correspond. For models defined in terms of an assembly of part instances (“Defining an assembly,” Section 2.10.1), the element numbers written to the results file are internal numbers generated by Abaqus/Standard (see “Output,” Section 4.1.1). A map between these internal numbers and the original element numbers and part instance names is provided in the data file of the analysis from which the element matrix output was written.
In addition, for element matrix output you must specify the step number and increment number at which the element matrix was written. These items are not required if a substructure whose matrix was output during its generation is used.
Input File Usage: | *USER ELEMENT, FILE=name, OLD ELEMENT=n or Zn, STEP=n, INCREMENT=n |
If you define the stiffness and/or mass matrix directly, you must specify the number of nodes associated with the element.
Input File Usage: | *USER ELEMENT, LINEAR, NODES=n |
If the element matrices are not symmetric, you can request that Abaqus/Standard use its nonsymmetric equation solution capability (see “Defining an analysis,” Section 6.1.2).
Input File Usage: | *USER ELEMENT, LINEAR, NODES=n, UNSYMM |
You define the element mass matrix and the element stiffness matrix separately. If the element is a heat transfer element, the “stiffness matrix” is the conductivity matrix and the “mass matrix” is the specific heat matrix.
You can define either one matrix for the element (mass or stiffness) or both types of matrices.
You can read the mass and/or stiffness matrices from a file or define them directly. In either case Abaqus/Standard reads four values per line, using F20 format. This format ensures that the data are read with adequate precision. Data written in E20.14 format can be read under this format.
Start with the first column of the matrix. Start a new line for each column. If you do not specify that the element matrix is unsymmetric, give the matrix entries from the top of each column to the diagonal term only: do not give the terms below the diagonal. If you specify that the element matrix is unsymmetric, give all terms in each column, starting from the top of the column.
Input File Usage: | Use the following option to define the element mass matrix: |
*MATRIX, TYPE=MASS Use the following option to define the element stiffness matrix: *MATRIX, TYPE=STIFFNESS Use the following option to read the element mass or stiffness matrix from a file: *MATRIX, TYPE=MASS or STIFFNESS, INPUT=file_name For example, if the matrix is symmetric, the following data lines should be used:
If the matrix is unsymmetric, the following data lines should be used:
where m is the size of the matrix and |
You must associate a property definition with every user element, even though no property values (except Rayleigh damping factors) are associated with linear user elements.
Input File Usage: | Use the following option to associate a property definition with a user element set: |
*UEL PROPERTY, ELSET=name |
You can define the Rayleigh damping factors for direct-integration dynamic analysis (“Implicit dynamic analysis using direct integration,” Section 6.3.2) for linear user elements. The Rayleigh damping factors are defined as
Input File Usage: | *UEL PROPERTY, ELSET=name, ALPHA= |
You can apply point loads, moments, fluxes, etc. to the nodes of linear 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).
Distributed loads and fluxes cannot be defined for linear user-defined elements.
General user elements are defined in user subroutines UEL and UELMAT in Abaqus/Standard and in user subroutine VUEL in Abaqus/Explicit. The implementation of user elements in user subroutines is recommended only for advanced users.
You must specify the number of nodes associated with a general user element. You can define “internal” nodes that are not connected to other elements.
Input File Usage: | *USER ELEMENT, NODES=n |
If the contribution of the element to the Jacobian operator matrix of the overall Newton method is not symmetric (i.e., the element matrices are not symmetric), you can request that Abaqus/Standard use its nonsymmetric equation solution capability (see “Defining an analysis,” Section 6.1.2).
Input File Usage: | *USER ELEMENT, NODES=n, UNSYMM |
You can define the maximum number of coordinates needed in user subroutines UEL, UELMAT, or VUEL at any node point of the element. Abaqus assigns space to store this many coordinate values at all of the nodes associated with elements of this type. The default maximum number of coordinates at each node is 1.
Abaqus will change the maximum number of coordinates to be the maximum of the user-specified value or the value of the largest active degree of freedom of the user element that is less than or equal to 3. For example, if you specify a maximum number of coordinates of 1 and the active degrees of freedom of the user element are 2, 3, and 6, the maximum number of coordinates will be changed to 3. If you specify a maximum number of coordinates of 2 and the active degrees of freedom of the user element are 11 and 12, the maximum number of coordinates will remain as 2.
Input File Usage: | *USER ELEMENT, COORDINATES=n |
You can define the number of properties associated with a particular user element and then specify their numerical values.
Any number of properties can be defined to be used in forming a general user element. You can specify the number of integer property values required, n, and the number of real (floating point) property values required, m; the total number of values required is the sum of these two numbers. The default number of integer property values required is 0 and the default number of real property values required is 0.
Integer property values can be used inside user subroutines UEL, UELMAT, and VUEL as flags, indices, counters, etc. Examples of real (floating point) property values are the cross-sectional area of a beam or rod, thickness of a shell, and material properties to define the material behavior for the element.
Input File Usage: | *USER ELEMENT, I PROPERTIES=n, PROPERTIES=m |
You must associate a user element property definition with each user-defined element, even if no property values are required. The property values specified in the property definition are passed into user subroutines UEL, UELMAT, and VUEL each time the subroutine is called for the user elements that are in the specified element set.
Input File Usage: | Use the following option to associate a property definition with a user element set: |
*UEL PROPERTY, ELSET=name To define the property values, enter all floating point values on the data lines first, followed immediately by the integer values. Eight values should be entered on all data lines except the last one, which may have fewer than eight values. |
If the Abaqus material library is accessed from a user element, a material must be defined and assigned to the user element.
Input File Usage: | Use the following option to associate a material with the user element: |
*UEL PROPERTY, MATERIAL=name If this option is used, user subroutine UELMAT must be used to define the contribution of the element to the model. Otherwise, user subroutine UEL must be used. |
If the Abaqus material library is accessed from a user element, you can associate a material orientation definition (“Orientations,” Section 2.2.5) with the user element. The orientation definition specifies a local coordinate system for material calculations in the element. The local coordinate system is assumed to be uniform in a given element and is based on the coordinates at the element centroid.
Input File Usage: | Use the following option to associate an orientation definition with a user element: |
*UEL PROPERTY, ORIENTATION=name |
If the Abaqus material library is accessed from a user element, the element type must be specified.
Input File Usage: | Use the following option to define a three-dimensional element in a stress/ displacement or a heat transfer analysis: |
*USER ELEMENT, TENSOR=THREED Use the following option to define a two-dimensional element in a heat transfer analysis: *USER ELEMENT, TENSOR=TWOD Use the following option to define a plane strain element in a stress/ displacement analysis: *USER ELEMENT, TENSOR=PSTRAIN Use the following option to define a plane stress element in a stress/ displacement analysis: *USER ELEMENT, TENSOR=PSTRESS |
If the Abaqus material library is accessed from a user element, the number of integration points must be specified.
Input File Usage: | Use the following option to specify the number of integration points: |
*USER ELEMENT, INTEGRATION=n |
You can define the number of solution-dependent state variables that must be stored within a general user element. The default number of variables is 1.
Examples of such variables are strains, stresses, section forces, and other state variables (for example, hardening measures in plasticity models) used in the calculations within the element. These variables allow quite general nonlinear kinematic and material behavior to be modeled. These solution-dependent state variables must be calculated and updated in user subroutines UEL, UELMAT, and VUEL.
As an example, suppose the element has four numerical integration points, at each of which you wish to store strain, stress, inelastic strain, and a scalar hardening variable to define the material state. Assume that the element is a three-dimensional solid, so that there are six components of stress and strain at each integration point. Then, the number of solution-dependent variables associated with each such element is 4 × (6 × 3 + 1) = 76.
Input File Usage: | *USER ELEMENT, VARIABLES=n |
For a general user element in Abaqus/Standard, user subroutine UEL may be coded to define the contribution of the element to the model. Abaqus/Standard calls this routine each time any information about a user-defined element is needed. At each such call Abaqus/Standard provides the values of the nodal coordinates and of all solution-dependent nodal variables (displacements, incremental displacements, velocities, accelerations, etc.) at all degrees of freedom associated with the element, as well as values, at the beginning of the current increment, of the solution-dependent state variables associated with the element. Abaqus/Standard also provides the values of all user-defined properties associated with this element and a control flag array indicating what functions the user subroutine must perform. Depending on this set of control flags, the subroutine must define the contribution of the element to the residual vector, define the contribution of the element to the Jacobian (stiffness) matrix, update the solution-dependent state variables associated with the element, form the mass matrix, and so on. Often, several of these functions must be performed in a single call to the routine.
The element's principal contribution to the model during general analysis steps is that it provides nodal forces that depend on the values of the nodal variables
and on the solution-dependent state variables
within the element:
In general procedures Abaqus/Standard solves the overall system of equations by Newton's method:
whereDuring such iterations you must define , which is the element's contribution to the residual,
, and
In procedures such as transient heat transfer and dynamic analysis, the problem also involves time integration of rates of change of the nodal degrees of freedom. The time integration schemes used by Abaqus/Standard for the various procedures are described in more detail in the Abaqus Theory Guide. For example, in transient heat transfer analysis, the backward difference method is used:
In all cases where Abaqus/Standard integrates first-order problems in time, the are never stored because they are readily available as
, where
. However, for direct, implicit integration of dynamic systems (see “Implicit dynamic analysis,” Section 2.4.1 of the Abaqus Theory Guide) Abaqus/Standard requires storage of
and
. These values are, therefore, passed into subroutine UEL. If the user element contains effects that depend on these time derivatives (damping and inertial effects), its Jacobian contribution will include
The Hilber-Hughes-Taylor scheme writes the overall dynamic equilibrium equations as
If solution-dependent state variables () are used in the element, a suitable time integration method must be coded into subroutine UEL for these variables. Any of the
associated with the element that are not shared with standard Abaqus/Standard elements may be integrated in time by any suitable technique. If, in such cases, it is necessary to store values of
,
, etc. at particular points in time, the solution-dependent state variable array,
, can be used for this purpose. Abaqus/Standard will still compute and store values of
and
using the formulae associated with whatever time integrator it is using, but these values need not be used. To ensure accurate, stable time integration, you can control the size of the time increment used by Abaqus/Standard.
Alternatively, for a general user element in Abaqus/Standard, user subroutine UELMAT may be coded to define the contribution of the element to the model. User subroutine UELMAT is an enhanced version of user subroutine UEL; consequently, all the information provided for user subroutine UEL is also valid for user subroutine UELMAT. The enhancement allows you to access some of the material models from the Abaqus material library from UELMAT. UELMAT works only with a subset of procedures for which UEL is available:
static;
direct-integration dynamic;
frequency extraction;
steady-state uncouple heat transfer; and
transient uncouple heat transfer.
Abaqus allows you to access some of the material models from the Abaqus material library from user subroutine UELMAT. The material models are accessed through the utility routines MATERIAL_LIB_MECH and MATERIAL_LIB_HT (“Accessing Abaqus thermal materials,” Section 2.1.18 of the Abaqus User Subroutines Reference Guide, and “Accessing Abaqus materials,” Section 2.1.17 of the Abaqus User Subroutines Reference Guide). Each time user subroutine UELMAT is called with the flags set to values that require computation of the right-hand-side vector and the element Jacobian, the material library must be called for each integration point, where the number of integration points is specified in the element definition (“Specifying the number of integration points” in “User-defined elements,” Section 32.17.1). The material models that are accessible from user subroutine UELMAT are:
linear elastic model;
hyperelastic model;
Ramberg-Osgood model;
classical metal plasticity models (Mises and Hill);
extended Drucker-Prager model;
modified Drucker-Prager/Cap plasticity model;
porous metal plasticity model;
elastomeric foam material model; and
crushable foam plasticity model.
For a general user element in Abaqus/Explicit, user subroutine VUEL must be coded to define the contribution of the element to the model. Abaqus/Explicit calls this routine each time any information about a user-defined element is needed. At each such call Abaqus/Explicit provides the values of the nodal coordinates and of all solution-dependent nodal variables (displacements, velocities, accelerations, etc.) at all degrees of freedom associated with the element, as well as values of the solution-dependent state variables associated with the element at the beginning of the current increment. The incremental displacements are those obtained in a previous increment. Abaqus/Explicit also provides the values of all user-defined properties associated with this element and a control flag array indicating what functions the user subroutine must perform. Depending on this set of control flags, the subroutine must define the contribution of the element to the internal or external force/flux vector, form the mass/capacity matrix, update the solution-dependent state variables associated with the element, and so on.
The element's principal contribution to the model is that it provides nodal forces that depend on the values of the nodal variables
, the rate of nodal variables
, and on the solution-dependent state variables
within the element:
For coupled temperature/displacement elements the temperatures are computed at the beginning of the increment using
More details can be found in “Explicit dynamic analysis,” Section 6.3.3 and “Fully coupled thermal-stress analysis,” Section 6.5.3. The signs of the forces defined in are such that external forces provide positive nodal force values and “internal” forces caused by stresses, damping effects, internal heat fluxes, etc. in the element provide negative nodal force values. Internal forces due to bulk viscosity are dependent on the scaled mass of the element. The necessary information (bulk viscosity constants and mass scaling factors) is passed into the user subroutine for this purpose.
As explained in “Explicit dynamic analysis,” Section 6.3.3, what makes the explicit time integration method efficient is that the mass inversion process is extremely effective. This is due to the fact that most of the nonzero entries in the mass matrix are located on the diagonal positions. The only exception is for rotational degrees of freedom in three-dimensional analyses in which case at each node an anisotropic rotary inertia (symmetric 3 × 3 tensor) can be defined. In these cases some of the nonzero entries in the mass matrix may be off-diagonal; but the inversion process is local and, hence, very effective. The mass matrix defined in user subroutine VUEL must adhere to these requirements as illustrated in detail in “VUEL,” Section 1.2.14 of the Abaqus User Subroutines Reference Guide. If you specify a zero mass matrix or skip the definition of the mass matrix altogether, Abaqus/Explicit issues an error message.
The definition of a realistic mass matrix is not mandatory, but it is strongly recommended. If you choose to not define a realistic mass matrix using the user subroutine, you must provide realistic mass, rotary inertia, heat capacity, etc. at all nodes and at all degrees of freedom associated with the user element. This can be accomplished by various means, such as by defining mass and rotary inertia elements at the nodes or by connecting the user element to other elements for which density, heat capacity, etc. was specified.
Mass is computed only once at the beginning of the analysis. Consequently, the mass of the user element cannot be changed arbitrarily during the analysis. If necessary, mass scaling is applied accordingly to ensure the requested time incrementation.
Since the central difference operator is conditionally stable, the time increments in Abaqus/Explicit must be somewhat smaller than the stable time increment. You must provide an accurate estimate for the stable time increment associated with the user element. This scalar value is highly dependent on the element formulation, and sophisticated coding may be required inside the user subroutine to obtain a reliable estimate. A conservative estimate will reduce the time increment size for the entire analysis and, hence, lead to longer analysis times.
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.
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.
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.
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 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.
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.