Introduction: User-defined element
Abaqus user element (UEL) subroutine (user-defined element) is the most difficult, yet the most versatile and flexible subroutine offered by Abaqus to its user. Compared to most other subroutines, this requires an understanding of the theory, element formulation, and a significant amount of programming by the user. This painstaking process of developing UEL is useful in multiple cases when Abaqus does not offer a built-in element. Some examples of when UEL subroutines can be used in Abaqus are: Abaqus user element tutorial
- Implementing B-bar (small strain) or F-bar (large strain) element formulation for nearly incompressible materials. There are some other advanced mixed or hybrid finite element models for nearly incompressible materials that are implemented using UEL.
- Perform isogeometric analysis using different shape functions and integration schemes.
- Phase field or gradient damage model for ductile and brittle fracture of different types of materials,
- Coupled chemo-mechanical model for hydrogels or biological tissues or electro-mechanical model dielectric elastomers, and any other coupled multi-field models for materials.
When an Abaqus model is built with user elements instead of the standard elements offered by Abaqus, Abaqus solvers call this subroutine for each element. The user needs to program the tangent or stiffness matrix and the residual forces for each element. Optionally, the user can program a custom time-stepping algorithm and store the state variables for time-dependent and path-dependent behavior. Similar to the UMAT subroutine in Abaqus, users can also define different constitutive models within the UEL.
This tutorial will teach the user how to develop a standard continuum finite element model and how to implement that model using Fortran in a general-purpose manner within the Abaqus. Additionally, it will discuss in detail how to build and modify an Abaqus model and post-process the results in Abaqus/CAE for UEL. However, since this tutorial requires a substantial amount of programming in Fortran, users are suggested to review the resources on Fortran programming on the official website and our website as well.
UEL element stiffness matrix
The first lesson will go over the finite element formulation and constitutive model that we will program in the UEL subroutine of this tutorial. In this lesson, we chose isotropic linear elastic material as an example. However, it can be easily extended to different material behaviors such as viscoelasticity and elasto-plasticity. The lesson will start with the small strain kinematics and isotropic linear elastic material behavior, and then discuss the strong form, weak form, and discretized form of the governing equations. This lesson will highlight the UEL element stiffness matrix and element residual vector which are to be programmed in the first workshop. This lesson will also cover shape functions and numerical integration and finally, we will conclude this lesson with pseudocode for the UEL to be programmed in the workshop.
UEL inputs and outputs
The second lesson will provide a brief overview of the UEL subroutine and how they are executed in Abaqus. This lesson will then go over the UEL input and output arguments and explain their role in developing the subroutine. In the main program, we also use the UVARM subroutine for post-processing the results for the user element. We will go over the structure of this subroutine as well. We will follow the information from Abaqus documentation.
First example: Different types of element formulation
In the first workshop, we will go over the Fortran code line-by-line to explain its organization. The Fortran program used in this workshop is developed in a general-purpose way to accommodate different types of element formulation (triangular, quadrilateral, tetrahedral, and hexahedral) and integration schemes (reduced and full). In addition to the UEL subroutine, the Fortran code also includes the UVARM subroutine from Abaqus which is used for visualizing element output in Abaqus/Viewer. Users can use this code as a template to develop their own UEL subroutine in the future.
Second example: Abaqus user element tutorial
This workshop will demonstrate how to build models using Abaqus/CAE and modify the input file to execute with the UEL subroutine. We will discuss the keywords to be specified in the input file for the user element and how to define a set of overlaying standard elements on the user element for post-processing. We will use a simple Python script to generate this additional layer of standard elements and add them to the input file. To demonstrate this complicated procedure, we will start with the single-element Abaqus model. The standard procedure to validate our user element subroutine is to perform a patch test. (Abaqus user element tutorial)
We will also demonstrate how to apply body force and traction and pressure-type boundary conditions on the overlaid standard elements and obtain its effect on the UEL results. We will also demonstrate through examples how user elements can be used in a structure that has standard Abaqus elements alongside user elements.
Verification
We have validated our results against standard Patch test examples available in the Abaqus verification manual.
Molly stevens –
After reviewing the educational content “Analysis of Cracking in Continuously Reinforced Concrete Pavement (CRCP)” on Carassistant, I have concluded that this training package is very comprehensive and useful. As a civil engineer, the issue of cracking in CRCP has always been one of the important challenges in the design and implementation of this system. This training, by providing detailed modeling in Abaqus CAE and a precise explanation of the underlying theories, has helped me to gain a deeper understanding of how these cracks form and propagate.
Laurence gilbert –
What distinguishes this package is the ability to customize input parameters based on the requirements of real-world projects. This capability allows the analyses to be tailored to the conditions of each project.
Overall, this is a comprehensive, practical, and highly useful resource for civil engineers active in the CRCP domain. I strongly recommend it
Wallace macy –
This educational package is considered a comprehensive resource for the analysis of cracking in Continuously Reinforced Concrete Pavement (CRCP). For this reason, I am completely satisfied with this training. The noteworthy points in this training include:
Detailed explanations about the sources of stress in CRCP (temperature changes and concrete shrinkage)
Providing details of modeling in Abaqus software along with the relevant sub-routines
Analysis of the results by presenting a practical example
Overall, this CRCP cracking analysis training is highly valuable, and I strongly recommend it to any civil engineer working in the field of reinforced concrete design and analysis.