Abaqus is one of the most widely used finite element analysis software tools in engineering simulations. And its flexibility is enhanced by user-defined material models. It is implemented through Abaqus subroutines such as UMAT & VUMAT. Understanding the essential parameters & logic flow in these subroutines is crucial for the engineers looking to customize material behaviour beyond the built-in options.
What is the Abaqus UMAT Subroutine?
An Abaqus UMAT, a user-defined material subroutine. It allows the definition of a complex constitutive material model in Abaqus. The standard materials, like steel or concrete, have predefined properties. But the advanced simulations, such as non-linear plasticity, viscoelasticity, or anisotropic behaviour, require custom formulations. Engineers implement these behaviours by coding the stress-strain relationship & material evolution in Fortran Abaqus.
Similarly, Abaqus VUMAT is used in the explicit dynamic analysis modules of Abaqus. It offers similar functionality but is optimised for time-dependent simulations. Both UMAT & VUMAT allow users to control stress updates, stiffness matrices & internal state variables.
Essential Parameters in UMAT

Several critical parameters are required while writing an Abaqus user subroutine.
Stress & Strain Variables: “STRESS” & “STATEV” arrays store the current stress state & internal variables.
- Strain Increments: DSTRAN contains the incremental strain applied during a step.
Material Properties: “PROPS” is an array of user-defined material constants, such as elastic modulus, Poisson’s ratio, or yield stress.
- Time Parameters: TIME tracks the total & incremental simulation time.
- Deformation Gradient: In VUMAT, “DFGRD1” & “DFGRD0” track the deformation history for large strain formulations.
- Jacobian & Tangent Stiffness: Proper computation ensures convergence in implicit analysis.
Defining these parameters correctly ensures the logic flow of the subroutines aligns with Abaqus solution procedures.
Logic Flow in Abacus UMAT Subroutine
The typical logic in the UMAT subroutine is as follows:
Step 1: Initialize State Variables: It retrieves the previous step’s stresses & internal variables.
Step 2: Compute Strain Increment: Read the incremental strain DSTRAN.
Step 3: Update Stress: Apply the constitutive law to compute the updated stress.
Step 4: Update State Variables: modify “STATEV” to reflect the plastic strain, damage, or other internal metrics.
Step 5: Return to Abaqus Solver: Provide updated stress & Jacobian arrays for the next iteration.
When we talk about the VUMAT, the process is similar. But the subroutine is optimized for the explicit time integration, making careful handling of time increments & deformation gradients essential.
Conclusion
Mastering of Abaqus subroutines developed through UMAT & VUMAT empowers the engineers to simulate highly complex material behaviours. By understanding the essential parameters, coding of the logic flow carefully & by understanding and using Fortran Abaqus, anyone can create robust Abaqus user subroutines. But precision in parameter handling is the key to accurate & convergent simulations, whether you’re dealing with the UMAT or VUMAT.
Master complex material behaviours in Abaqus UMAT & VUMAT using Fortran, with precise parameter handling for accurate simulations. Enrol in the Abaqus UMAT Subroutine course online to gain hands-on skills and advance your expertise.
Contact us today to get started!

