- 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
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 ;).

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page