User login

Navigation

You are here

UEL Subroutine aborts with error 5.

Hello Experts,

 

I have written a Uel subroutine and trying to implement on a plate constrained at all the edges. 

My UEL Subroutine executes without any errors when the total number of elements are just 15 to 20. But when I increase the number of elements and mesh it more fine, My Uel subroutine aborts with ERROR Code 5.

If I print the JELEM, UEL Subroutine is aborting always at 52th Element, i.e when JELEM=52. Even when I remesh the structure with different size, Uel subroutine consistantly aborts for the 52ed element.

Does any one have any idea what could be the reason? My Uel subroutine works fine on simple structures like beam fixed at one end.

Morever, there aren't  any error messages inside .dat file and .msg file. 

Abaqus Error: The executable C:\Programme\SIMULIA\Abaqus\6.9-EF2\exec\standard.exe
aborted with system error code 5.
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.
Abaqus/Analysis exited with errors

Thanks and Regards,

Somu

 

Comments

Hello Friends,

 

I got a reply from Abaqus support team saying that:


something is wrong in your UEL. Error code 5 means "Access is denied"
which means that a memory access violation caused the abort,
for example because of wrong array dimensions, wrong variable names,
too small value for VARIABLE on *USER ELEMENT.

Any idea how to debug this kind of memory access violation errors in Fortran or Abaqus. Just want to know which variable / array is causing memory violation. 

 

Thanks and Regards,

Somu

There is no clear explanation of error code 5 (it also appears in regular analysis without any user subroutine). My observation so far has been to change the mesh, or changing the output request...So my point is that it could be due to your UEL routine or could be due to abaqus itself. You can turn on debugging while compiling your routine and when this error code is thrown you can check which address (or variable) it is pointing to.

------
The world started with 0, is progressing with 0, but doesn't want 0.

Thanks a lot for your reply.

How to turn on debugging in Abaqus. I generally compile from command mode.

abaqus job=inputfile user=uelsubroutine.for

In the log file, I can see the output for 51 elements. Abaqus aborts for the 52ed element . I am not able to see any output print in log file for the 52ed element. That means that the abaqus crashes internally. I am not still sure.

I have already checked by making the mesh little more coarse. Abaqus consistantly crashes after 51 elements. 

Thanks and Regards,

Somu 

Jason Mayeur's picture

You need to compile with the -g flag (modify the environment file) and the execution command is:

 abaqus debug -standard -j <inputfile> -user <usub>

 

One way is to link object file instead of .for file while submitting the analysis. Compile your routine with debugging activated during compile time option.

ifort /c /debug:all fortranfilename

now run your analysis with abaqus as:

abaqus j=inputfile user=userroutine.obj

Now you link standard.exe in visual studio debugger.

You'll need to change abaqus_v6.env file. I have it, but will have to search in my pc (used it long time ago). I'll upload it within 2-3 days.

 

------
The world started with 0, is progressing with 0, but doesn't want 0.

Thanks a lot Jason and Akumar.

I will try compiling with Debug option. 

I will come back to my  actual problem of Abaqus exiting with error code 5. 

I was using Abaqus/CAE 6.9-EF2. When I compiled the same subroutine and same input file on Abaqus/CAE 6.10-EF2, I could get the results without any errors. So that confirms this is definately an issue with abaqus and  not with my code.  What is exactly an issue is still a mystery to me.

So this is happening randomly Tongue out (as I have observed). It would be interesting to know what happens in 6.9-EF2 if you try changing the output request or time increment or model size

------

The world started with 0, is progressing with 0, but doesn't want 0.

 

 Thanks everybody ! I could finally resolved this issue with Error Code 5.

 I just  made some free space available in C: Drive.Before there was only 10GB in my  C Drive. I deleted some of the stuff and made it 25 GB and then executed my subroutine.  That was it, my subroutine started working for fine mesh also.

 

Thanks and Regards,

Somu

 

 

 

 

-------------------------------------

If anything can go wrong, it will

Subscribe to Comments for "UEL Subroutine aborts with error 5."

Recent comments

More comments

Syndicate

Subscribe to Syndicate