- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
hello all
I am trying to compile one subroutine having a simple constitutive model (solid mechanics). Every time i submit the job in abaqus, it gets aborted. It gives the error #5149 in log file
>>>>>>
AFEM.for(1): error #5149: Illegal character in statement label field [ï]
>>>>>>
User subroutine are always in .for format.
help me out
:)
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am not familiar with ABAQUS, but given that you stress that the user routine should be in .for format - most probably you mean "fixed form" and the message you posted, I would say that your source file is not in proper fixed form. Such files have the first six columns reserved. See the documentation on the fixed form for more details.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The compiler is complaining about the presence of an accented character (ï)in the label field. Examine your source file AFEM.for to locate that character, or attach the file to your response (pasting the source code in-line will probably not suffice).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
thanks for the reply @Arjen Markus
But the subroutine has been written correctly. There is some problem in environmental variable settings. Previously it was working fine before re-installation, but I have messed up with settings. There are particular steps to be followed that i am unable to find online.
Thanks again
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
C================================================================ SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD, 1 RPL,DDSDDT,DRPLDE,DRPLDT,STRAN,DSTRAN, 2 TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,MATERL,NDI,NSHR,NTENS, 3 NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,CELENT, 4 DFGRD0,DFGRD1,NOEL,NPT,KSLAY,KSPT,KSTEP,KINC) C INCLUDE 'ABA_PARAM.INC' C CHARACTER*80 MATERL DIMENSION STRESS(NTENS),STATEV(NSTATV), 1 DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS), 2 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1), 3 PROPS(NPROPS),COORDS(3),DROT(3,3), 4 DFGRD0(3,3),DFGRD1(3,3) C DIMENSION EELAS(6),EPLAS(6),FLOW(6) PARAMETER (ONE=1.0D0,TWO=2.0D0,THREE=3.0D0,SIX=6.0D0) DATA NEWTON,TOLER/10,1.D-6/ C C ============================================================================ C ============================================================================ C Note :- This UMAT can only be used by 1D elements C C Number of material properties, nprops = 1 C props(1) Young's modulus in x direction C --------------------------------------------------------------------- C ! --- local variables DOUBLE PRECISION E DOUBLE PRECISION C(ntens, ntens) !*********************************************************************** ! *** Get Elastic properties E = props(1) ! *** Elastic stiffness Cijkl *** ! C(1,1) = E ! *** calculate the stress *** ! stress(1) = C(1,1)*(stran(1) + dstran(1)) ! Updating Jacobian matrix ddsdde(1,1) = C(1,1) return end
This is the standard ABAQUS subroutine (with my code at the end ................ after "
Note :- This UMAT can only be used by 1D elements
").
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ian spotted the umlaut on the i - i umlaut is not part of the character set supported by Fortran in the source text.
Either examine the file carefully and remove such characters or attach it to this topic, as Ian suggested, so that we can have a look.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Okay, your code came in later. That does not contain a i umlaut though and if I comment out the include statement, it compiles fine. The problem could be in the file "aba_param.inc" then
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
thanks @mecej4 and @Arjen Markus for your comments
I think the problem will get solved when i would be able to correctly link ABAQUS with Fortran.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, may I know how you solved it? I have the same issue. The user subroutines worked before. It gave me the same error as yours after I reinstalled everything. Thanks.
rxfem_usub.f(1): error #5149: Illegal character in statement label field [i]
include 'rxfem_core.f'
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It seems that you are using fixed-form source files. For such files the first six columns are reserved. Unless the leading spaces have been dropped, it looks as if the "include" statement starts in column 1. Shift the statement to start in column 7 or later.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The compiler gave 1 as the line-number in the file where there was a problem. What probably happened was that the file is an UTF-8 file, and the accented character was the BOM marker at the start of the file. However, since you copied and pasted the source code into a code window in this forum by using the {...} button, the code got sanitized, which is why we do not see any odd characters in the displayed code. In case such as this, attaching the file is a good way to preserve the bugs so that they can be detected and fixed.
As you can read in https://en.wikipedia.org/wiki/Byte_order_mark, ;
The UTF-8 representation of the BOM is the byte sequence 0xEF,0xBB,0xBF. A text editor or web browser misinterpreting the text as ISO-8859-1 or CP1252 will display the characters  for this.
To fix the problem, open the file in, say, Notepad, and save the file as a plain text (ASCII) file. To avoid the problem, especially after you import source code from e-mail, a word-processor document, a PDF file or the Web, be sure to save the file as ASCII text.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Pankaj,
Have you tried compiling the UMAT subroutine by itself, separate from an Abaqus run? Does the compiler error persist? I find it useful to create a console program project in Visual Studio with a main program that can call the UMAT subroutine (pass in some values to test). That allows compiling and linking the subroutine outside of Abaqus, which I feel helps test and confirm the subroutine works as expected. If that works and the compiler error persists when running from Abaqus, you have at least narrowed down the problem.
I have had success running user subroutines with Abaqus by opening the Intel Fortran console (CMD) first so that the Intel Fortran environment is initialized, and then running Abaqus from that console. On Windows 10 I open the console from: Start/Intel Parallel Studio XE 2017/Compiler 17.0 Update 1 for Intel 64 Visual Studio 2015 environment
Regards,
Greg T.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page