Skip to main content

combining UMAT and UEL

Submitted by hadi on

I am trying to combine UMAT and UEL in my Abaqus calculation to simulate crack propagation by using a damage criterion. My UMAT calculates the damage variable in each time increment and whenever the damage variable violates the damage criterion in one or more elements, I should seperate the damaged element(s) via XFEM theory which can be implemented into a UEL code; therefore, I should use both UMAT and UEL in my calculation. Is there any way to combine these two codes together?

Hadi,

Whenever you create a UEL in Abaqus, you inherently have to include a "UMAT" (constitutive update) as part of code. When you are defining the stiffness matrix and the residual vector for the element, you need the stress tensor and material tangent stiffness tensor which are exactly the items your return to Abaqus in a UMAT call (along with the state variable array).  You don't necessarily use the UMAT subroutine call, rather you embed the UMAT's coding of the const. update within the UEL.

Is it your intent to only use the XFEM element only in selective portions of the mesh (i.e., where the damage variable reaches a critical value)?  If that is the case, I really don't have the knowledge to be any help to you, as it seems that would require some sort of adaptive remeshing technique.

Regards,

Jason

Fri, 04/03/2009 - 13:38 Permalink

Dear Jason,

Thank you. You helped a lot. What you said is exactly what I was doubting. So UEL is a more general concept than UMAT and can include the constitutive equations of the material behavior as well. I just need to embed the constitutive equations in the UEL along with the element description.

 

In my UEL, as you mentioned, I am going to implement XFEM formulation and use it together with a damage model, i.e. XFEM is to be linked to plasticity. Do you know perhaps if there is any reference, apart from what is in Abaqus manual, which clearly describes how to write a UEL in Abaqus?

 

Best regards,

 

Hadi

Mon, 04/06/2009 - 13:03 Permalink

Yes, a UEL is more general and must include the constitutive update (UMAT) within it to form the element matrices required as input back to Abaqus (AMATRX, RHS, etc.) at the end of the UEL call.  To my knowledge, there isn't a "nice" reference apart from what is in the Abaqus manual in regard to constructing the code, but its not terribly hard to do for standard finite elements (post-processing the results, however, is a different story).  I may be able to dig up a copy of 4 node quad element UEL that I did for a nonlinear FE class project if you're interested in looking at that.

Jason

Wed, 04/08/2009 - 12:04 Permalink

Dear Jason

   I am a student wuhan university of technology in china. My research topic is about strain gradient and ABAQUS was selected as the tool. I am  learning the uel and Umat and troubled about few reference .Could you sent a copy of the example about 4 node quad element UEL for a nonlinear to me. My email is caodongf [at] 163.com.

  Thanks in advance.

Thu, 12/17/2009 - 06:29 Permalink

Dear jason

I am also interested in the UEL which you developed. can you send it to my email :

nakayiyizumi [at] gmail.com (nakayiyizumi[at]gmail[dot]com) ,thanks。

 regards

nakayiyizumi

Thu, 12/16/2010 - 13:03 Permalink

Hello everybody,

Could anyboy explain more about the required input file (Job.inp) for running an analysis in abaqus when UEL is implemented?

I have a coupled phase field code for brittle material, I have tried to change the input file as it is required to be done for user element code, but the analysis is terminated suddenly without any warning or error.

Best Regards

Mon, 11/02/2015 - 08:02 Permalink

Dear all,

When I have tried to implement UEL code in abaqus and run an analysis, I got this error message:

" The executable standard aborted with system error "Illegal memory reference" (signal 11). Please check the .dat, .msg, and .sta files for error messages if the files exist.  If there are no error messages and you cannot resolve the problem, please run the command "abaqus job=support information=support" to report and save your system information.  Use the same command to run Abaqus that you used when the problem occurred.  Please contact your local Abaqus support office and send them the input file, the file support.log which you just created, the executable name, and the error code."

Merhan

 

Best Regards,

Tue, 11/03/2015 - 06:04 Permalink