logo TecnoDigital School

Watch some sample video-lessons from the course: "Abaqus Scripting with Python"

In the Abaqus scripting with Python course you will learn not only HOW to use Python scripts to control Abaqus, but also WHY we do it like that. Explaining every detail, while progressively diving into advanced Python concepts and Abaqus models.


Every hypothesis and analysis is detailed through dynamic and practical videos based on theoretical foundations.

Block 2 – Exploiting the potential of scripting

In this lesson, we assemble a couple of stories of the Jenga tower in Abaqus/CAE by piling up some bricks and then we translate it into Python and parameterize it for any number of levels to make the tower.

Block 3 – Closing the loop in Abaqus scripting

The numerical model of the ballistic impact will be interrogated to obtain iteratively the ballistic limit of the impact.

In this lesson, we introduce the concept of ballistic limit and the workflow that we will follow to compute it using a Python script in Abaqus. Then, we continue by preparing the first section of this workflow.

Block 4 – Put it in practice

This is the first of a series of lessons to incorporate new improvements in our script to make it more versatile and add more features.

The first improvement that we will carry out is to be able to build more towers in the same model. For this we will create a new function (assemble_tower) that will be called every time we want to create a tower in the model.

Block 5 – Optimization using Abaqus Scripting

After modifying the heat transfer model by including radiation, we will use our Newton’s method algorithm to find the optimal thickness of the insulation under these new conditions.

Enjoy 3 sample video-lessons from the course "Simulation of Composite Materials with Abaqus"

Chapter 2 – Computational Micromechanics

In this lesson, we modify the previous Python script to generate Periodic Boundary Conditions (PBC) in 3D models.

Then, we test it in a 3D unit cell model of a unidirectional fiber-reinforced material defining the boundary conditions on the master nodes to apply a transverse tensile load.

Chapter 3 – Computational Mesomechanics

The input properties required to model interlaminar damage are: stiffness, strength and fracture energy for each of the 3 damage modes (opening mode and 2 shear modes in 3D). We also explain the stiffness requirement for Cohesive Zone Models (CZM).

Chapter 4 – Computational Macromechanics

As a recent feature in Abaqus, the LaRC05 criterion is not available yet in Abaqus/CAE, so to include it in our analysis, we have to define it manually in the input file.

Sample video lessons from the course "User Subroutines in Abaqus"

In this course you will learn how to work with user subroutines in Abaqus, and develop your own for all sorts of applications. Every detail is explained, while progressively diving into more and more user subroutines and Abaqus models.


New in Fortran? No worries, I have got you covered. We start from zero, you will be writing your own Fortran programs and subroutines shortly!


The course methodology is based on detailed analysis through dynamic videos combining theoretical explanations with practical examples in Abaqus step by step.

Chapter 3 – Modeling moving loads

In this lesson, we test the DLOAD subroutine  that we defined to mimic the hertzian contact of a cylinder on a flat surface. This representation consists of a nonuniform moving distributed load. The stress profile obtained from the simulation agrees with that of a “real” hertzian contact and we verify that the load applied is right.

Chapter 6 – Putting it all together

This chapter aims at developing a workflow that automates the simulation of a crack propagation process by updating the boundary conditions iteratively. The combination of Fortran subroutines and Python scripting make it possible!

In this lesson, we explain when each of the subroutines is called by the solver and what else we need. That’s the UEXTERNALDB subroutine which is the go choice to “synchronize” data with the rest of the subroutines.

Chapter 8 – Materials modeling in Standard

In this chapter, we develop a full 3D anisotropic UMAT including a consistent damage model. 

This lesson explains the definition of the damage variable for tension in the longitudinal direction of the material, and how it is written in terms of material properties (strength, fracture energy…), strain tensor, state variables (thresholds) and more.

Chapter 9 – Materials modeling in Explicit

Have you ever wondered how plastic hardening works in a numerical model?

In this chapter, we go through every detail of plasticity models. This lesson is a theoretical exercise where we apply all these concepts: elastic domain, yield limit, elastic domain, hardening, plastic flow, plastic strain… 

Working with material subroutines (V/UMAT) requires a careful analysis of the analytical models beneath.

If you have any question, let me know at:




See you soon!

Miguel Herraez, founder and professor of TecnoDigital School, expert in Abaqus, Python and numerical simulation tools
Scroll to Top