user subroutines in abaqus

Overcome the limits of your models thanks to Fortran subroutines and create mindblowing FE simulations

Deep dive into more than 10 types of user subroutines
Develop lots of user subroutines for real applications both in Abaqus/Standard and Abaqus/Explicit
Combine Python scripts and Fortran subroutines for unbelievable simulations
Learn Fortran and C++ from zero
Consolidate the fundamentals of FEM through dozens of practical examples
Understand everything you need to develop your own V/UMATs and V/UEL
Take advantage of ultrafast post-processing thanks to C++ and Fortran

What is it?

This is the deepest course that you will ever find to become a Master in the application and development of user subroutines in Abaqus

Who is this course for?

This course is intended for any Abaqus user looking forward to extending his simulation capabilities to a whole new level

What is it made of?

This is an online course made of video lessons, supported by lots of additional resources, so that you can follow it at your own pace

When does it start?

Since it is a 100% online course, it starts as soon as you sign up

How long is the course?

The full course is made of 12 chapters with +45 hours of recorded video in +390 lessons

How long can I access?

Once you sign up, you will have access to the full course for life

Check the contents of the course:
User Subroutines in Abaqus
This course is made of 12 chapters of content with +50 hours of video, organized into +410 lessons, lots of Fortran subroutines, Python scripts... and a lot more
  • What are user subroutines?
  • When are user subroutines required in Abaqus?
  • Fortran I
  • Subroutine: UVARM
  • Running user subroutines from Abaqus/CAE and from the command line
  • Test model: single-element model
  • Practical case 1: open hole coupon
  • Practical case 2: composite panel with holes
  • Quiz I

Failure criteria identification with UVARM subroutine in Abaqus

  • Fundamentals of the Abaqus input file and application with user subroutines
  • Fortran II
  • Subroutine: DISP
  • Test model: translations and rotations with a rigid body
  • Practical case 1: stress intensity factor at the wake of a crack under mode I
  • Practical case 2: stress intensity factors at the wake of a crack under mixed mode
  • Quiz II

stress field around crack tip in pure mode I with analytical displacement field

  • Subroutines in Standard and Explicit
  • Fortran III
  • Subroutine: DLOAD, VDLOAD
  • Test model: 2D model with static load
  • Practical cases: moving load in 2D, moving point load and moving load in 3D
  • Quiz III

dload subroutine abaqus moving load


  • Running user subroutines without a compiler
  • Fortran IV
  • Subroutine: URDFIL
  • Test model: single-element model with strain softening
  • Practical case: load control simulation, comparison with UVARM subroutine
  • Quiz IV
abaqus urdfil subroutine fortran
  • Combining multiple subroutines in the same simulation
  • Fortran V
  • Test model: heat source model
  • Practical case 1: sequential thermo-mechanical model of wire-arc additive manufacturing process (WAAM)
  • Practical case 2: multilayer WAAM simulation
  • Quiz V

  • How to combine user subroutines in Abaqus with Python scripts
  • Fortran VI
  • Test model: crack propagation model
  • Practical case: fully-fledged crack propagation tracking with automatic BC update + sequential job restart + Python controller
  • Quiz VI


urdfil subroutine restart abaqus

  • Solid Mechanics theory for constitutive models: stiffness tensor, tangent tensor, stress update, damage theory...
  • Understanding stress-strain computation in Abaqus/Standard
  • Subroutine: UMAT
  • Practical case 1: linear elastic isotropic model
  • Practical case 2: non-linear elastic anisotropic model
  • Practical case 3: damage model in 1D
  • Quiz VII


Damage model in 1D with UMAT in Abaqus Standard

  • Continuation from chapter 7
  • How to develop a consistent 3D constitutive model with damage.
  • Subroutine: UMAT
  • Practical case 1: anisotropic 3D model with damage
  • Practical case 2: application to micromechanical FE model
  • Quiz VIII

UMAT with damage in 3D for Abaqus model

  • Solid Mechanics theory for plasticity models: yield criteria, plastic flow (hardening and softening), integration schemes, return mapping algorithms...
  • Subroutine: VUMAT
  • How to convert a UMAT into a VUMAT
  • Practical case 1: anisotropic model with damage
  • Practical case 2: single-element perfectly-plastic model
  • Practical case 3: plasticity model with isotropic and kinematic hardening
  • Quiz IX


VUMAT with plastic model including isotropic and kinematic hardening for Abaqus

  • How to take advantage of state and field variables for multiple purposes
  • Subroutines: V/USDFLD, V/UFIELD
  • Test model: time/position dependent material properties
  • Practical case 1: modeling damage by means of state variables
  • Practical case 2: Gaussian distribution of properties
  • Quiz X

Field variables definition through UFIELD subroutine in Abaqus with Fortran

  • The FE method: nodal displacements, shape functions. integration points, strain-stress...
  • Fundamentals of phase field
  • Subroutines: UEL, VUEL
  • Test model 1: linear elastic 1D element in Standard
  • Test model 2: linear elastic 1D element in Explicit
  • Practical case 1: user element for phase field method in Standard
  • Practical case 2: user element to apply periodic boundary conditions in Explicit
  • Quiz XI

VUEL for finite element analysis in Abaqus

  • Ultra fast post-processing methods with Fortran and C++ 
  • Practical case 1: Efficient post-processing with Fortran routines
  • C++ fundamentals and beyond
  • Practical case 2: Efficient ODB post-processing with C++ programs
  • Quiz XII


Postprocessing large finite element models in Abaqus using Fortran and C++

Unleash the power of User Subroutines in your models

  • You will not only learn how to create your own User Subroutines in Abaqus, but you will also identify when we can take take advantage of them to take your finite element analyses to world-class level
  • All lessons of this course are very fluid, comprehensive and every detail is explained
  • You will learn to code whatever you need in Fortran subroutines: from subroutines for advanced boundary conditions (DISP, DLOAD, DFLUX…), controling the simulation workflow (URDFIL, UEXTERNALDB…), up to the most advanced material subroutines (UMAT, VUMAT)
  • Every lesson goes straight to the point, without any worthless piece of content. You will learn what you need on every stage and you will be putting it in practice from the very first lesson
  • The final goal of the course is that you get the tools and experience to face any simulation challenge that involves User Subroutines with confidence. You will go from “I have no idea how to use a subroutine” to “I can create any sort of User Subroutine for my FE models in Abaqus!”
More than
students in TecnoDigital School trainings and courses


You will have access to the course to review it at anytime


After finishing the course you will get your certificate of completion


You will get all the scripts, programs, examples and quizzes of the course


I will solve all your questions throughout the course

Take a look inside the course
My professional career

My name is Miguel Herráez, I am an industrial engineer and Phd in materials science.

From my childhood I have always wished to help everyone and to learn everyday something new to go as far as possible. That is how, a few years ago… I could even work at NASA!

In 2013, I started a Phd and I felt overwhelmed when I realized how many new things I had to master in such a short period of time. I needed to use Abaqus from the very first day, but I did not know anything about it.

I needed to learn quickly, I didn’t know where to get started and I was running out of time. I spent many days and nights reading, filtering and collecting information to get up to date.

Since that time, I have been working with Abaqus daily, for scientific purposes as well as for indutrial projects. This allowed me to develop a unique method to learn how to use Abaqus in an easy and fast way.

Thanks to this methodology, I have achieved further goals than I would have ever expected, and what is more important, I have helped other people to make it real too.

NASA Langley

Visiting researcher

École Polytechnique Fédérale de Lausanne

Post-doctoral researcher


Industrial and scientific projects

University of West Virginia (WVU)

BSc final project

IMDEA Materials Institute

Research assistant

URJC logo
University Rey Juan Carlos


Polytechnic University of Madrid

Phd in Mechanics of Materials

Carlos III University of Madrid

BSc in Industrial Engineering

Lifetime access and learn at your own pace
Learn any time, from anywhere. Whether you are a PhD student, an Engineer working in the private sector, a Researcher... This course is adapted to your needs and availability.

Access for life

  • The course is for you for life
  • You will have access to the full course and future updates forever

Ready to use resources

  • High quality videos (QHD)
  • Fortran subroutines fully documented
  • Line-by-line coding with me
  • Python scripts
  • Input files of the FE models in Abaqus
  • Technical reports and datasheets
  • Links to the official documentation
  • Scientific references
  • Quizzes after every chapter

Online multiplatform course

  • Manage your time as you desire
  • Access the course platform from anywhere at any time
  • Follow the course from any device: PC, tablet or even your phone!

What my students think of my courses

Give it a try without any risk
You have 15 days for refunds

For the refund to be possible, there is only one condition: you shall not have watched more than 20% of the course during the first 15 days after purchase. If that is the case, you only need to send an email to and you will be refunded



12 chapters

+50 h of QHD video

+13 Fortran subroutines


Additional resources

(Python scripts, C++ programs, technical references…)

Ultra fast post-processing routines

Python, Fortran (ABQMAIN) and C++ (ABQMain)

Access for life

Personal support to questions

Certificate of completion

Satisfaction guarantee

15-day money back. No questions

Do you have any questions about the course "User subroutines in Abaqus"?

This course is made of videos (5 to 15 minutes long) which are organized into 12 chapters of contents as detailed above.


All the subroutines developed and lots of additional resources are given next to each of the videos, as well as more documentation and references to go deeper into all the details

If we need to develop models that require something more than standard features: boundary conditions, built-in material models, conventional finite element techniques... Then, the only way is to go for user subroutines, which provide all the flexibility that we need.

If you still have any question, you can always contact us directly at
Scroll to Top