user subroutines in abaqus

Overcome the limits of your models thanks to Fortran subroutines and create mind-blowing FE simulations

logo TecnoDigital School light

Deep dive into more than 13 types of user subroutines

logo TecnoDigital School light

Combine Python scripts and Fortran subroutines for unbelievable simulations

logo TecnoDigital School light

Develop lots of user subroutines for real applications both in Abaqus/Standard and Abaqus/Explicit

logo TecnoDigital School light

Learn Fortran and C++ from zero

logo TecnoDigital School light

Consolidate the fundamentals of FEM through dozens of practical examples

logo TecnoDigital School light

Understand everything you need to develop your own V/UMATs and V/UEL

logo TecnoDigital School light

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 +50 hours of recorded video in +410 lessons

How long can I access?

Once you sign up, you will have access to the full course for life, and also to all new updates

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

  • Fundamentals of postprocessing with Python scripts
  • 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++

Online course User Subroutines in Abaqus

Unleash the power of User Subroutines in your models

  • 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…), controlling 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
  • You will not only learn how to create your own User Subroutines in Abaqus, but also bring your finite element analyses to world-class level
  • 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!”
More than
students in TecnoDigital School trainings and courses
access for life


Access this course forever. Watch the videos and review the lessons anytime, at your own pace

course certificate


After finishing the course you will get your certificate of completion

access to updates and new contents


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

course comments section


I will personally solve all of your questions through the Comments section of 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
preview of the course user subroutines in abaqus videos and resources
pc, mobile, tablet

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

guarantee Tecnodigital School
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. If that is the case, you only need to send an email to and you will be refunded

logo TecnoDigital School


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

One user

More users

The final price depends on the number of seats purchased. Each user will receive:


  • Access to the full course for life
  • Support to all questions 
  • Certificate of completion

Please send me an email with all the details about your needs to:

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

This course is made of +410 videos (5 to 20 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

Even though user subroutines are considered as one of the most advanced subjects in FEA, we start literally from the ground up.

I have designed the course so that it can be followed without any problem by anybody with basic technical knowledge, with minimum experience in Abaqus or numerical simulations.
Practical examples of increasing complexity are explained in great detail, step by step, and at the same time covering all the theoretical foundations required to understand it.
If you already have experience with user subroutines applied to FEM, you will find out many new ideas to take even more advantage of them. For instance, combining multiple subroutines in the same models, or putting together Python scripts with subroutines is pretty mind blowing.

Apart from the "programming side", the theoretical background required in every chapter is covered in detail. From Solid Mechanics, Fracture Mechanics, System Dynamics, Finite Elements, and more subjects.
Abaqus without subroutines is like a smartphone without the "smart".

Yes, you can make voice calls, but you are also missing many more features. No internet, no video calls, no emails, no social media (maybe that's not so bad...).

You get the idea, right?

Being able to control user subroutines in Abaqus involves that we can run outstanding simulations, FE models that would be out of reach otherwise.

So, if you are looking forward 
to become a Simulation Engineer, the sooner you get familiar with user subroutines, the higher you will reach.
You have a full refund guarantee available for 15 days to test the course and check it out for yourself.

However, I am completely confident that you will love it, more than 100 students in this course and more than 420 user among all my courses proof it.
Yes, you can. That’s what I have done for more than 10 years.

There are too many resources on the Internet, documentation, tutorials, videos… The problem is that you will struggle bringing together all these bits and bytes of information (often incomplete).

Not to mention, this will take you a long time.

That's why in this course I have collected all my experience, and I know very well which are the hardest concepts and most common difficulties.

Anyway, if you don’t take this course, I recommend you (1) count on good learning examples, (2) study the official documentation of Abaqus and (3) work with someone expert in the field to help you clarify the toughest concepts.
Nothing at all, but you will stay stuck in your simulations, spending longer and longer looking for the solution to the next issue that appears in your model.

Otherwise, you will enter this group of professionals who are able to identify and implement the user subroutines required in their simulations in Abaqus.

In addition, since I am working on some extensions for the course, the price will never be lower.

You make the decision.
If you think about the course as an expense, maybe this training is not for you. You are the only one who can turn it into an investment for life.

This course will make you stand out of the crowd when applying to job positions in the expanding FEA industry.
If you still have any question, you can always contact us directly at
Scroll to Top