How Does Subroutine Work?




Abaqus is an FEA software used to analyze models with high complexity. The provided option by this software creates a great environment for studying various models. Not even solid mechanics but also thermal and fluid mechanic models can be simulated in this software. It is worth mentioning that the fluid mechanic model was separated after Abaqus 6.16 and since version 2017 the company started to develop an independent solver for it. In order to increase the complexity of models, engineers can use FORTRAN to develop subroutine code and Python to create a model by scripting. Here we provide a simple description to explain how these two features help you develop a model.

Subroutine for Abaqus:

Imagine you are trying to create a complex model. You are ready to define your material properties, boundary condition and loads. Now, you notice your material properties are very complex and they change by time. Even if you didn’t have this problem, you would need to change the value of time-dependent on material properties. You look at the Abaqus feature and think there is no way you can do it. In fact, your model should change during the process. Your values are not just a simple number and you need to make them as a function of time and other variables. Here is the time you need to use subroutine to define those complex properties in your model. You need to use the proper function known as Subroutine and define your function there and run that by your model.

More examples to explain subroutine usage:

1- If you want to define a complex material that is dependent on load, time, element position, and many other factors, you need to use either UMAT or USDFLD subroutines.

Anisotropic material in Umat code for Abaqus

An Example for USDFLD Subroutine in Abaqus

2- You want to define a complex load on a surface. For example, you want to define the load as a function of material position to simulate the effect of water pressure on the simulation. Also if your load is following a specific shape like Goldak heat flux in the thermal model you need to use a subroutine.

An Example for Dload Subroutine

An Example for Dflux Subroutine

3-If you need to control the time increment size during the simulation process or when your model stops, you need to use a subroutine.

More details about this product:

In this video, I presented a PowerPoint file to explain how Abaqus works with Subroutine code. The subroutine code is necessary if you want to make a complicated model. Knowing how Abaqus and subroutine work together is important for developing a subroutine code. The subroutine code uses FORTRAN language and the compiler is Intel which needs the visual studio to compile. At first, I explained how Abaqus sends the variable to subroutine code and to make it more clear I provided an example and displayed how it works. You can download the tutorial video and PowerPoint file.

 In this video, I avoid giving too many details so you can easily use the product. Here, you can find the following files:

Video file and the PowerPoint file.

For more information please send me an Email:




Easy learning

1 review for How Does Subroutine Work?

  1. HyperLyceum Team (verified owner)

    It is a good video but might need to practice more.

Only logged in customers who have purchased this product may leave a review.