Clear all

How to write ABAQUS subroutine forHashin 3D failure for composites(VUMAT)??

3 Posts
3 Users
Posts: 4
Topic starter
New Member
Joined: 11 years ago


I am new in ABAQUS. I want to simulate low velocity impact on composite for 3D model using hashin failure criteria.As i know abaqus have built in property for 2D hashin failure.But for 3D, i have to write user subroutine.How to start usersubroutine (VUMAT) ???If someone have any example file for this,then provide me.



Topic Tags
2 Replies
Posts: 3
New Member
Joined: 3 years ago

We developed a 3D Hashin VUMAT subroutine based on Guo et al. (2013). It includes a tutorial. you can download it

Posts: 3
New Member
Joined: 1 week ago


If you want to simulate low velocity impact on a composite 3D model using the Hashin failure criteria in Abaqus, you will indeed need to use a user subroutine, specifically the VUMAT subroutine. The VUMAT subroutine allows you to define your own constitutive behavior and failure criteria within Abaqus.

To start using the VUMAT subroutine, follow these general steps:

  1. Understand the theory: Familiarize yourself with the theory behind the Hashin failure criteria for composites. Ensure you have a good understanding of the equations and assumptions involved.

  2. Obtain the Abaqus user subroutine manual: Download the Abaqus documentation, specifically the user subroutine manual, from the Dassault Systèmes SIMULIA website or your organization's Abaqus documentation portal. This manual provides detailed information on writing and implementing user subroutines.

  3. Set up the VUMAT subroutine file: Create a new text file and name it something like "VUMAT.for". This file will contain the Fortran code for your VUMAT subroutine. I used any text editor or an integrated development environment (IDE) to write the code. You can do the same.

  4. Write the VUMAT code: Within the VUMAT subroutine, you will need to define the constitutive behavior and failure criteria for your composite material. Implement the Hashin failure criteria equations according to your specific needs. Consult the Abaqus user subroutine manual for the required subroutine structure and available functions.

  5. Compile the VUMAT code: Compile the VUMAT subroutine code using a Fortran compiler. Ensure that you have the necessary compiler and Fortran environment set up on your system. The specific steps for compiling the code may vary depending on your operating system and compiler.

  6. Link the compiled VUMAT code: Once the VUMAT code is compiled successfully, you will obtain an object file (e.g., "VUMAT.obj" or "VUMAT.o"). Link this object file to your Abaqus analysis by specifying it in the user subroutine options during the Abaqus analysis setup.

Regarding example files, it is recommended to refer to the Abaqus documentation and resources provided by Dassault Systèmes SIMULIA. The official documentation often includes examples and tutorials to help users understand and implement user subroutines.

Remember, writing and implementing user subroutines require a good understanding of the underlying theory, programming skills, and familiarity with the Abaqus software. It is advisable to consult with experienced users, Abaqus support resources, or attend relevant training courses to ensure accurate and reliable results.