Using USDFLD Subroutine instead of UMAT Subroutine for Defining Mechanical Behavior in Abaqus

Our telegram channel for Abaqus and Q & A: t.me/abaqus_asist
Our LinkedIn page: www.linkedin.com/company/femexir
If you want to be informed about our 50% discount codes and other announcements, join our Telegram channel or follow us in LinkedIn.
contact info for using our services:
mirzabozorg71@gmail.com
Comprehensive Abaqus Package: kzread.info/dash/bejne/c5-szdaiqdmylbg.html
Including 39 hours of step-by-step tutorials.
Related video about UMAT subroutine:
kzread.info/dash/bejne/gKWClqqmZ5S7qZc.html
Don’t hesitate to ask any questions you might have about the explanations presented in this video using the comments below. We try to answer all questions regarding the video details in the comments below.
If we want to define a new material behavior in the Abaqus, we must write subroutines and attach them to the Abaqus model for conducting the simulation. There are several subroutines for defining new material behaviors. The most famous one is the UMAT subroutine that enables us to define every mechanical constitutive behavior.
Unfortunately, using UMAT subroutine, writing some mechanical constitutive behaviors can be too complex and time-consuming.
In contrast, the USDFLD subroutine is easier to be used. We cannot use this subroutine for defining every new mechanical behavior. Still, in some cases, it helps us define new mechanical behavior faster and easier than the use of UMAT subroutine.
This tutorial compares the USDFLD and UMAT subroutines and explains two examples of using the USDFLD subroutine for conducting advanced simulations according to their reference papers.
table of content:
- Overview on USDFLD subroutine
- Overview on UMAT subroutine
- Comparison of USDFLD and UMAT
#Abaqus
#subroutine
#Abaqus_subroutine
#UMAT
#VUMAT
#USDFLD
#VUSDFLD
#UHARD
#VUHARD
#UHYPER

Пікірлер: 32

  • @hosseinmohammadtaheri1688
    @hosseinmohammadtaheri1688 Жыл бұрын

    Honestly, this video resolved my issue for defining temperature dependent thermal conductivity during phase change at elevated temperature. I appreciate for providing us with these trainings!

  • @FemexIran

    @FemexIran

    Жыл бұрын

    Hi. Thank you so much.

  • @sepehr2012
    @sepehr20122 жыл бұрын

    I really appreciate your videos. Thank you so much.

  • @FemexIran

    @FemexIran

    2 жыл бұрын

    you are welcome.

  • @akshaysontakkey2837
    @akshaysontakkey28372 жыл бұрын

    very nice explaination by comparision. Thank you

  • @FemexIran

    @FemexIran

    2 жыл бұрын

    you are welcome.

  • @maziartour
    @maziartour Жыл бұрын

    Hello. Thanks for your great videos. I had a question. In my project, I need to get the nodal values of plastic strain at each node and compare its value among adjacent nodes in adjacent elements and get an average value at each increment. One way is to write a ".dat" file at each increment and read it and do the job, which is very time-consuming. I wanted to know if I can use UFIELD or USDFLD to access to an array of all nodes or elements or integration points with their corresponding values of plastic shear strain saved in a common block so I can use it further in my analysis for each increment?

  • @FemexIran

    @FemexIran

    Жыл бұрын

    Hi. You are welcome. As far as I know, the mentioned subroutines work locally. It means that when they are called for an integration point, they do not have access to the integration point of other elements or even the other integration points of the same element. Actually you want to do in a non local manner. As far as I know, to implement non local algorithms, UEL and VUEL subroutines must be used. Also when using the USDFLD or VUSDFLD subroutines, you can write the values which are read via GETVRM or VGETVRM utility routines and write them in a text file and then use the text file. This is my whole knowledge about your question.

  • @akshay2295
    @akshay22952 жыл бұрын

    Sir while modelling for phase changes in AM processes what is the difference between UMATHT and USDFLD. Which one is better and what is the difference between the two.

  • @FemexIran

    @FemexIran

    2 жыл бұрын

    Hi. UMATHT can be used to define a new thermal behavior which cannot be defined using the thermal models in the property module. In the AM process, the thermal behavior can be modeled using the property module behaviors. Also we use the USDFLD just to model the phase change. in this simulation, USDFLD only works as a switch and we do not need more. So there is no need to use the UMATHT at all.

  • @pankajbariker4867
    @pankajbariker48672 жыл бұрын

    Sir, I appreciate your dedication in making the Abaqus platform easier with your Well explained videos, I am trying to define Varying Youngs modulus in downward direction of a for a 3D soil model using Abaqus/Explict analysis, (i.e., At Z=o, E=5MPa ; Z=20m, E=15MPa) From Abaqus documentation, it is said that VUSDFLD sub-routine must be used.... But, am bit confused with the code line to be included to define this in VUSDFLD file. Can you please help me in this regard

  • @FemexIran

    @FemexIran

    2 жыл бұрын

    hi. you are welcome. yes I can help in that issue. I can explain it and resolve your problem in an online tutoring service. to know about the conditions of the online tutoring service, you can contact us via email or WhatsApp or telegram.

  • @rishiraj6242
    @rishiraj6242 Жыл бұрын

    what is the procedure to use two different subroutines in a single file? ( VUSDFLD and VDFLUX)

  • @FemexIran

    @FemexIran

    Жыл бұрын

    There is no special procedure. First you can write VDFLUX then write the VUSDFLD after the VDFLUX in the same Fortran file or visa versa. It is complex when you want to use the same subroutine for two or more different materials. For example you have both the steel and titanium in your model and you want to use VUSDFLD for both of them. But this is not your case.

  • @nileshgadre1282
    @nileshgadre1282 Жыл бұрын

    Hello Sir, I have some questions for you. 1 Can we do the CPFEM method using the USDFLD subroutine. 2 . In UMAT, I have Huang script for CPFEM to update hardening laws parameters, especially Bassini and Wu hardening latent hardening parameters. Do you have any videos on this similar topic?

  • @FemexIran

    @FemexIran

    Жыл бұрын

    Hi. Unfortunately I don't have any experience in CPFEM. Sorry for that.

  • @cba7713
    @cba77132 жыл бұрын

    I'm Noah and I've seen your video on youtube. That is helpful.and now I had one problem as follow: there're two different hyperelastic materials in one model, each of them had different mechanical hyperelastic property and damage critia. For example, mat1 breaks at 10% strain and mat2 breaks at 20% strain. how to use one subroutine that could break mat1 and mat2 in order during tensile simulation. When elongation reaches 10%, mat1 breaks and elongation reaches 20%, mat2 breaks. Looking forward for your reply

  • @FemexIran

    @FemexIran

    2 жыл бұрын

    hi. thank you very much. you must follow this procedure: 1) in the property module, define two materials and enter the constants of each of their mechanical behaviors that are defined in the UMAT. 2) in the UMAT, there is an input named CMNAME. it is equal to the name of the material that is specified for each of the integration points of the elements in the model. 3) as there are two materials define by UMAT, in some integration points, CMNAME=mat1 and in the others CMNAME=mat2. 4) so you must use if command to distinguish them. 5) this is the general format of the code: IF (CMNAME .EQ. 'MAT1') THEN . . . ELSE IF(CMNAME .EQ. 'MAT2') THEN . . . END IF

  • @cba7713

    @cba7713

    2 жыл бұрын

    @@FemexIran Thanks a lot and the problems solved

  • @FemexIran

    @FemexIran

    2 жыл бұрын

    @@cba7713 you are welcome. You can ask your video related questions in the comments for each of our videos.

  • @larmi2217
    @larmi22172 жыл бұрын

    please I need help currently I am working on FGM materials exactly on the thermomechanical loading but unfortunately I have not been able to vary the coefficient of thermal expansion like the other properties (Young's modulus and Poisson's ratio) under the UMAT subroutine.

  • @FemexIran

    @FemexIran

    2 жыл бұрын

    Hi. As the thermal expansion coefficient is a thermo-mechanical parameter, we do not have access to it from the UMAT interface. As mentioned in this video, in some cases, we can use the USDFLD subroutine instead of the UMAT subroutine. Also in your case, you can use the USDFLD subroutine and make the thermal expansion dependent on the field variables which are calculated in the subroutine. There is no conflict between the UMAT and USDFLD and they can be used separately for different parameters.

  • @larmi2217

    @larmi2217

    2 жыл бұрын

    @@FemexIran thank you

  • @FemexIran

    @FemexIran

    2 жыл бұрын

    @@larmi2217 You are welcome.

  • @sudipgautam5416
    @sudipgautam5416 Жыл бұрын

    Can we implement two types of subroutine at once? and if we can does the problem requires separate subroutines or a single Fortran code does it?

  • @FemexIran

    @FemexIran

    Жыл бұрын

    Hi. Yes you can. If you want to use two different subroutines simultaneously, you must write both of them in the same Fortran file. First write one of them and put the other one after it. It is very easy.

  • @sudipgautam5416

    @sudipgautam5416

    11 ай бұрын

    @@FemexIran Thanks! How to use USDFLD and UEXPAN on same script? And GETVRM command too Which do I use first? I have to use assign strain at material point due to expansive stress generated on the material.

  • @FemexIran

    @FemexIran

    11 ай бұрын

    @@sudipgautam5416 Hi. I have done what you are asking about. Its better to write the USDFLD subroutine first. Then you can write the UEXPAN subroutine. Also you must write the GETVRM routine in the USDFLD subroutine. This utility routine must always be written in the USDFLD subroutine not out of it.

  • @sudipgautam5416

    @sudipgautam5416

    11 ай бұрын

    Thanks 😊 @@FemexIran One more confusion. While writing USDFLD, for calling GETVRM utility routine, for stress and strains, do I have to define all principal stress and strains or just calling SP works?? I'm modelling a 3d anisotropic time dependent expansion model.

  • @FemexIran

    @FemexIran

    11 ай бұрын

    @@sudipgautam5416 You are welcome. When you call SP, all of its 3 components which are the 3 components of the principle stress will be stored in array. So: first principle stress = array (1) second principle stress = array (2) third principle stress = array (3) Also you must do the same procedure for principle strains if they are needed in the constitutive law which you want to implement.