- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Download and install Visual Studio Build tools 2022 with default options checked. (DO NOT UNCHECK OR CHECK ANY OTHER OPTIONS.)
https://visualstudio.microsoft.com/downloads/?q=build+tools
- Install Fortran compiler from this website
https://www.intel.com/content/www/us/en/developer/articles/tool/oneapi-standalone-components.html
- Install Math kernel Library also from above website
- Add following in paths in Path environment variable in system:
C:\Program Files (x86)\Intel\oneAPI\compiler\latest\env\
C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build
- Add following lines in abaqus.bat file
call "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvars64.bat"
call "C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.2\env\vars.bat" -arch intel64
call "C:\Program Files (x86)\Intel\oneAPI\mkl\2022.0.2\env\vars.bat" intel64
- To check if linking is done, run:
First open Abaqus Command prompt and then enter following:
abaqus info=system
Output should be like shown below:
- To check if fortran file is running:
First fetch a sample file from Abaqus repository.
abaqus fetch job=std_user
This command will fetch sample file with user subroutine from Abaqus repository and put it in current directory.
- *******IMP step: Remove the commented lines; otherwise, the program will not work. This is due to some bug in intel oneAPI *********
std_user.for file after removing commented lines should look like as shown below:
- Run
abaqus job=std_user user=std_user.for
Check std_user.log file. It should have "Abaqus JOB std_user COMPLETED" at the end of file.
******DONE**********
References:
- Tags:
- ABAQUS
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Please show the source file before the commented lines are removed. I am curious to know what the perceived bug is. (I am not an Abaqus user.)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
SUBROUTINE DISP(U,KSTEP,KINC,TIME,NODE,NOEL,JDOF,COORDS)
C
INCLUDE 'ABA_PARAM.INC'
C
DIMENSION U(3),TIME(2),COORDS(3)
C
C THE PRIMARY FUNCTION IS F(T)=1.5 SIN(OMEGA T) + .5 COS(OMEGA T)
C WHERE OMEGA IS .1 PI AND T THE CURRENT TIME.
C THE APPROPRIATE INTEGRALS AND DERIVATIVES ARE COMPUTED ACCORDINGLY.
C
OMEGA=.314159
AOMGT=OMEGA*TIME(2)
CS=COS(AOMGT)
SN=SIN(AOMGT)
AN=.5
BN=1.5
IF(NODE.EQ.2.AND.JDOF.EQ.1) THEN
C THE FUNCTION IS DISPLACEMENT FOR NODE 2
C (DIFFERENTIATE FOR VEL AND ACC)
U(1)=AN*CS+BN*SN
U(2)=OMEGA*(-AN*SN+BN*CS)
U(3)=-OMEGA**2*(AN*CS+BN*SN)
ELSE IF(NODE.EQ.3.AND.JDOF.EQ.1) THEN
C THE FUNCTION IS VELOCITY FOR NODE 3 (INTEGRATE FOR DISP,
C DIFFERENTIATE FOR ACCELERATION)
U(1)=(AN*SN+BN*(1.0-CS))/OMEGA
U(2)=AN*CS+BN*SN
U(3)=OMEGA*(-AN*SN+BN*CS)
ELSE IF(NODE.EQ.4.AND.JDOF.EQ.1) THEN
C THE FUNCTION IS ACCELERATION FOR NODE 4
C (INTEGRATE FOR DISP AND VELOCITY)
U(1)=(AN*(1.0-CS)+BN*(AOMGT-SN))/OMEGA**2
U(2)=(AN*SN+BN*(1.0-CS))/OMEGA
U(3)=AN*CS+BN*SN
ENDIF
RETURN
END
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Why this complier can not compile subroutines contain ABA_PARAM.INC?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Like Steve, I do not use Abaqus, I merely know of its existence. As you do not indicate what the compiler complains about and why it fails to compile such subroutines, I can only guess what is going wrong: it cannot find the include file "ABA_PARAM.INC". You need to specify its location to the compiler, if that file is not in the same directory as the source file.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you for you help.
Abaqus compile the subroutine correctly and the analysis started, but then the analysis aborted and there is no results at all.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This analysis is completed before in Abaqus 2017 and the link with VS2012 and Intel composer EX 2013. So why it is aborted in Abaqus 2022?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
First of all: you may want to start a new thread, rather than continuing with this old one. It will allow you to give it a more appropriate title.
You do not give us much clues as to what is going on and wrong, I am afraid. Apparently, there are at least two components that are different from your working version: Abaqus went from version "2017" to "2022" and the Intel Fortran compiler evidently changed also. As I do not know Abaqus, I have no idea if that is responsible for the observed failure. But be aware that newer versions of compilers can bring out lurking mistakes and errors in programs.
Given that you do not indicate HOW the analysis is aborted (nor show any code), I can only give you general advice:
- Try to find out if the analysis program printed a stacktrace, so that you can at least get some information on what went wrong.
- Lacking that, try with an empty routine, possibly merely printing a message to a file on disk, so that you know it has been called.
- If that succeeds, add print statements in the routine to see where it fails. At some point you may see the exact location - or, if you are unlucky, the problem will have gone. The latter is usually an indication that something like an uninitialised variable caused a runtime problem (accessing an array way out of bounds for instance).
- What you can also try is creating a small program that simply calls your routine with the right set of arguments, to see if in such an isolated case things work or do not work.
Just very general advice ;).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
hi,
I am following the same steps on Abaqus 2022, VS:2022. but facing problem of linking Fortran compiler after typing "Abaqus info=system" in cmd window.it shows
this is for the path.
please help me in resolving the issue
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am able to resolve this issue by adding the "vs 2022" after intel64 in abaqus bat file, but currently iam facing problem with verification. after typing "Abaqus verify -user_std"in cmd window.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The ABAQUS comment is not quite correct anymore. in the command window run C:\Program Files (x86)\Intel\oneAPI\setvars
and see if that helps.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
i have to add this in "C:\Program Files (x86)\Intel\oneAPI\setvars" in Abaqus bat file
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
"Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.8.0 Build 20221119_000000
Copyright (C) 1985-2022 Intel Corporation. All rights reserved.
End Compiling Abaqus/Standard User Subroutines
Begin Linking Abaqus/Standard User Subroutines
LINK : fatal error LNK1181: cannot open input file 'user32.lib'
Abaqus Error: Problem during linking - Abaqus/Standard User Subroutines.
This error may be due to a mismatch in the Abaqus user subroutine arguments.
These arguments sometimes change from release to release, so user subroutines
used with a previous release of Abaqus may need to be adjusted.
Abaqus/Analysis exited with error"
Getting this after "std_user.log file" in cmd window
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The failure to find user32.lib, which is a Windows API library, suggests that you are not correctly establishing the compiler build environment. You earlier wrote about adding a call to setvars.bat, which should do this. As you are showing us only the error output and not what led up to it, it's difficult to comment further.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
hi steve,
thanks for reply.
i have followed the whatever step is suggested initially . I am able to link Fortran with Abaqus
the result after typing "abaqus info=system" in cmd window.
the reuslt after "abaqus verify -user_std" in cmd window.
"Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.8.0 Build 20221119_000000
Copyright (C) 1985-2022 Intel Corporation. All rights reserved.
End Compiling Abaqus/Standard User Subroutines
Begin Linking Abaqus/Standard User Subroutines
LINK : fatal error LNK1181: cannot open input file 'user32.lib'
Abaqus Error: Problem during linking - Abaqus/Standard User Subroutines.
This error may be due to a mismatch in the Abaqus user subroutine arguments.
These arguments sometimes change from release to release, so user subroutines
used with a previous release of Abaqus may need to be adjusted.
Abaqus/Analysis exited with errors"
Getting this after "std_user.log file" in cmd window
I hope I am to show the what leads to error. if any further information is required i am happy to share
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You would need to look at the link command used. There is the possibility of some libabry path direction on the link command or it gets this from the environment (path). Maybe the log file mentioned will help?
Anyway a Steve days user32 is a windows system library and does not have much to do with the "user subroutine" you are trying to build.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'd remark that this is an ABAQUS issue, not an Intel compiler issue.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
hi steve can you help me in figuring out the issue with ABAQUS & help me in resolving the same
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@ALOK_05 , sorry, I have never used ABAQUS. If you have an issue with the Intel Fortran compiler that shows when not invoking it from the unseen ABAQUS bat file, feel free to ask here. Otherwise please contact ABAQUS support.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@ALOK_05, did you see this post, How to Use Intel's Fortran Compiler with Abaqus? Maybe there is info there to help you.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page