Fortran UEL on Windows

Fortran UEL on Windows

Hi everybody,

I'm about writing a UEL on ABAQUS.

When I'm trying to run it, I'm getting an error message. I've attached the error messages and my code to this message so you can find them easily.

Would you please help me to solve the problem?

Best Regards,

Downloadimage/jpeg Error Message.JPG160 KB
Downloadapplication/octet-stream UEL-TEST.for1.16 KB
11 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Where did you get this source? It's a mixture of fixed-form and free-form, hence the compiler errors.

It's these lines in particular that are the problem:

      DIMENSION :: ACC1Row1to4(4,32),ACC1Row5to8(4,32), AAA(3,4),&

These need to be rewritten to remove the trailing & and to use continuation indicators in column 6 as in the rest of the code.

Steve - Intel Developer Support

Please refer to free-form and fixed-form source format information within Intel Fortran user guide and documentation, especially the information on continuation lines.

Your code seems to mix the two formats.

For example, the declaration statement, DIMENSION :: ACC1Row1to4... and assignment AAA=RESHAPE(..., uses the free-form continuation option ("&" at the end of the line) which is inconsistent with .for file extension you are using.  By default, .for file implies fixed-form format i.e., continuation character in the 6th column on the subsequent line.


If you are trying to follow the method to accomodate both std fixed and free format, the trailing & must be placed in col 73-80 while the leading & is in col. 6.

Thanks everybody. The comments were so useful and I  greatly appreciate them.

I fixed some of the problems but now I have a new one. I've attached both error and code files to this text.

When I'm running the code without defining the ACC1Row1to4 matrix by RESHAPE function, it's working perfectly but, when I'm defining the matrix ACC1Row1to4 matrix by RESHAPE function (as you can see in the code) it gives me error messages.

Would you please let me know how can I fix it.

Thanks in advance,




Downloadapplication/octet-stream TEST.for2.74 KB
Downloadapplication/octet-stream UEL-TEST.for1.16 KB

You have so many things wrong that it's hard to see what problem you may have had with reshape, even in the simpler of the source files.  Maybe you didn't post the file you are discussing.

@ Tim Prince

Thanks for your consideration.

I uploaded the right file. But I figured it out what's wrong. In defining ACC1Row1to4 by RESHAPE the first number is 0, when I'm changing it to 0.0 It's working which I don't know why. Would you please let me know why it's working like that?

Best Regards,

I have a UEL for Abaqus. I do get some some displacements but to know if its correct I need the values of damage (Df) for corresponding displacements. How do I print the SVARS? I tried writing in .txt file but I get just a single value in the file.


Downloadapplication/octet-stream u1.for9.03 KB

The file u1.for compiles if a dummy include file ABA_PARAM.INC is provided, so there are no issues related to Intel-Fortran.

I think that you will be better off asking Abaqus-specific questions elsewhere.

From the code example posted above, I have wondered what flexibility is available for how to define AAA in the following example.


For my limited use of RESHAPE, I would have previously declared AAA as: integer AAA(3,4), but what is a minimum or necessary declaration of AAA ?
Does RESHAPE redefine AAA as a rank 2 array AAA(3,4), if it was previously defined as something else ?
Or should AAA have previously been defined as: integer, dimension(3,4) :: AAA ?
Can/must AAA be defined as : integer, dimension(:,:), allocatable :: AAA ?  then does RESHAPE imply allocation of AAA ?
What would happen if AAA was initially declared as: integer, dimension(2,6) :: AAA or: integer, dimension(10) :: AAA ??

Since F95, F2003 and F2008 have provided automatic allocation and sizing of arrays, which becomes a problem to utilise and then generate code that is not easily portable to other F95 compilers. Given the mixed levels of implementation of F2003 and F2008 for compilers that are available, I suspect this is a general problem when writing code that can retain some level of portability.


Any compiler worth using nowadays has those features. Pretty much all the mainstream compilers have at least that level of F2003 support.

Steve - Intel Developer Support

Leave a Comment

Please sign in to add a comment. Not a member? Join today