Advanced UMAT Subroutine (VUMAT abaqus Subroutine) – Abaqus UMAT tutorial
The advanced UMAT subroutine training package ( Abaqus UMAT tutorial – Abaqus UMAT manual) examines complex behaviors such as the dependence of material behavior on temperature and nonlinear behaviors such as plasticity and damage. Firstly, we explain damage in non-metallic materials such as composites and adhesives, which have completely different elastic behavior. To help the user to write UMAT & VUMAT Abaqus subroutines for different materials, you can see the description of each of the workshops as follows.
Workshop 1: Writing advanced UMAT Subroutine for Non-Isothermal Elasticity ( Abaqus UMAT tutorial )
When the elastic behavior of material becomes temperature-dependent, the elastic equations for calculating strain and stress will be different. In this workshop of Abaqus UMAT tutorial, the process of obtaining these temperature-dependent equations is first explained. In the following, the complete equations used in Subroutine are visible and we explain the implementation of the subroutine line by line in Fortran. (Abaqus UMAT Manual)
Workshop 2: Writing advanced UMAT Subroutine for Damage initiation and progressive damage based on Puck failure criterion of composite material ( Abaqus UMAT tutorial)
Abaqus software does not have a damage initiation and progressive damage model for composite materials using a 3d continuum element. Therefore, users need to write subroutines when they need to simulate structures that necessarily require 3d continuum elements to model composite structures. In this workshop of Abaqus UMAT tutorial, the user learns the elastic and damage behavior of composite materials in 3D continuum elements. To detect the onset of failure in composite materials used in the subroutine.
Note that, The Puck model is a damage criterion that is able to detect compressive and tensile failure, same as the detection of damage in the fibers and matrix separately. This model also calculates the angle of fracture. After detecting the onset of failure, the properties of the composite material are reduced based on the failure mode.
For the validation of the written subroutine, a simple model is subjected to different loads in different directions in tension and compression, and the results are compared with the results obtained using the Abaqus model in this Abaqus UMAT tutorial.
Workshop 3: Gradual progressive damage for CZM(cohesive zone model) with advanced UMAT Abaqus tutorial
The elastic behavior of adhesives differs from metal and composite materials. First, this training package describes this behavior and how to implement it in the subroutine. In the following, the equations of damage initiation and progressive damage in these materials are presented. Finally, the implementation of elastic behavior, damage initiation, and progressive damage is explained line by line. In this workshop, the written subroutine on a simple joint containing the adhesive is examined and the results of the written subroutine are validated by simulation with Abaqus software in this Abaqus UMAT tutorial.
Workshop 4: Writing Abaqus VUMAT Subroutine for Kinematic Hardening Plasticity
In this workshop of Abaqus VUMAT tutorial, kinematic hardening is explained graphically. Equations governing this type of hardening are also presented. Then, the necessary equations for use in the subroutine are obtained. In this subroutine, internal and dissipation energy equations are also obtained and introduced for use in the subroutine. After that, the flowchart for implementation block-by-block is presented and described. After explaining the subroutine line by line, it is implemented in Abaqus. Finally, validation for this subroutine is performed by comparing it with Abaqus results.
Workshop 5: Writing VUMAT Abaqus Subroutine for Johnson-Cook plasticity and damage initiation
Plasticity equations are first proposed for the hardening and Johnson-Cook damage initiation. The following equations are obtained for use in subroutines. Also, all the required parameters are introduced in the subroutine. It should be noted that different methods are introduced to calculate energy loss. After presenting the flowchart, an explanation of subroutine writing is done line by line. This subroutine is performed on an extrusion process of aluminum material and the results are compared with the results of Abaqus material to validate the subroutine results.
Workshop 6: Writing VUMAT Abaqus Subroutine for Johnson-Cook progressive damage
In this workshop of Abaqus VUMAT tutorial, damage and its mechanism are explained graphically at the beginning. The following equations introduce Johnson Cook’s progressive damage. Finally, the complete flowchart, which includes the severity and onset of the damage initiation and the progressive damage of Johnson Cook, are described. Then, the subroutine is described line by line. This subroutine is performed on a simple stretch of a three-dimensional model and the results in the areas of plasticity, damage initiation, and progressive damage are compared with Abaqus results for validation.
The advanced training package allows users who are familiar with UMAT and VUMAT Abaqus subroutines to write more complex subroutines. If you are not familiar with this subroutine, you can get the “UMAT Subroutine (VUMAT Subroutine) introduction” package. You can also read these two articles: “Start Writing Your 1st UMAT for Abaqus (PART A: Foundation)”and “Start Writing Your 1st UMAT for Abaqus (PART B: Construction)” if you need general information about this subroutine.
The Abaqus user subroutine allows the program to be customized for particular applications unavailable through the main Abaqus facilities. You should write a user subroutine if you could not run your analysis by ABAQUS built-in models for materials, loads, properties, elements, etc., for example, if you need to model a user-defined nonlinear stress-strain relation, which is not provided by Abaqus, then look for UMAT user subroutine. A more advanced subroutine is UEL, which allows the creation of user-defined elements. If it is your first time writing a subroutine like UMAT, please read the Start Writing an Abaqus Subroutine: Basics & Recommendations article. After reading this post and watching this tutorial’s demo video, you will definitely decide to save time in Abaqus modelling and get this Abaqus UMAT manual package. If you have questions, ask here on our live chat on the left side of this page.
What does the UMAT Abaqus do?
Obviously, the philosophy behind the UMAT Abaqus subroutine is that the material model developer should be concerned only with the development of the material model and not the development and maintenance of the FE model.
Referring to the article How to start writing a subroutine (Section 3), you can see we use a UMAT in the stress calculation step.
So, the main output of a UMAT subroutine is the stress tensor. In the process, Abaqus must also define the (consistent) Jacobian to continue its incremental scheme. Generally, to write a newly developed UMAT, you should follow these steps:
1. Knowing well the material model theory for our UMAT Abaqus
2. Getting Familiar with UMAT Abaqus parameters (Inputs/Outputs)
3. Developing FORTRAN code of the UMAT in Abaqus
4. Implementation in Abaqus & Compilation
5. Testing and debugging UMAT subroutine
6. Examining UMAT results and verification
You can watch demo here.