An Example for USDFLD Subroutine in Abaqus



Before talking about the USDFLD subroutine code, we need to know what subroutine is and why we need to learn it.

Subroutine for Abaqus:

Imagine you are trying to create a complex model. You are ready to define your material properties, boundary conditionss and loads. Now, you notice your material properties are very complex and it changes 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 create them as a function of time and other variables. At this point 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.

More examples to explain the usage of the subroutine:

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 even control when your model stops, you need to use a subroutine.

User Subroutine allows advanced users to customize a wide variety of Abaqus capabilities. Information on writing user subroutine and detailed descriptions of each subroutine appear online in the Abaqus User Subroutines Guide. A listing and explanation of associated utility routines also appear in that guide.

What is the USDFLD subroutine code?

User subroutine USDFLD is typically used when complex material behaviour needs to be modelled and the user does not want to develop a UMAT subroutine [1].

  • We can define most material properties in ABAQUS/Standard as functions of field variables, fi.
  • It allows the user to define fi at every integration point on an element.
  • we can only use it with elements that have material behaviour defined with a ∗MATERIAL option.
  • Subroutine code can update the state variables,
  • In order to access the output data, the utility routine Getvarm should be used.

In this subroutine, it is essential to define the FIELD variable. Abaqus documentation explains the FIELD as:

“An array containing the field variables at the current material point. These are passed in with the values interpolated from the nodes at the end of the current increment, as specified with initial condition definitions, predefined field variable definitions, or user subroutine UFIELD. The interpolation is performed using the same scheme used to interpolate temperatures: an average value is used for linear elements; an approximate linear variation is used for quadratic elements (also see Solid (continuum) elements). The updated values are used to calculate the values of material properties that are defined to depend on field variables and are passed into other user subroutines (CREEPHETVALUEXPANUHARDUHYPELUMATUMATHT, and UTRS) that are called at this material point.”

More details about this product:

Here, I explain how to use the USDFLD subroutine in Abaqus. This subroutine is useful in assigning material properties based on variables that are important to us. Some people might think using UMAT is for assigning material properties that are not correct. In fact, if we need to define the behaviour of a material, we have to use UMAT. Otherwise, using USDFLD is easier and in some cases, it is more useful. Although most of the case studies of USDFLD subroutine are compatible with UMAT code, it is difficult to use UMAT over USDFLD. I have tried to provide the general information of this code to help you understand this subroutine. In the PowerPoint file, you can find the introduction of this method. If you think you need more background information, it might be a good idea to see the other video about subroutine (Please click here).

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

Abaqus files: CAE, ODB, INP, FORTRAN, and JNL

PowerPoint files which contain more details.

Video files: How to create this model, PowerPoint presentation.

For more information please send me an Email:



[1] http://read.pudn.com/downloads636/doc/2580213/user-subroutines-l4-usdfld.pdf



Easy learning

1 review for An Example for USDFLD Subroutine in Abaqus

  1. HyperLyceum Team (verified owner)

    The voice quality is good and it is a free example for who wants to start learning about USDFLD subroutine

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