oneAPI Registration, Download, Licensing and Installation
Support for Getting Started questions related to download, Installation and licensing for Intel oneAPI Toolkits and software development tools.
1498 Discussions

How to link ABAQUS with Intel One API toolkits to run FORTRAN SUBROUTINES

AsimGautam
Novice
98,981 Views

Hi

I am not able to link ABAQUS with Intel One API. I installed the INTEL ONE API Base toolkit and ONE API HPC toolkits. In the past there used to be INTEL PARALLEL STUDIO and the old fashioned way to link ABAQUS with INTEL PARALLEL STUDIO (to run the FORTRAN subroutines in ABAQUS) was by editing the ABAQUS2019.bat file located at the commands directory inside simulia folder and by calling the batch files ifortvars and mklvars but now it is not possible to link ABAQUS with ONE API as those batch files are not present inside the ONE API directory. Intel has highlighted that ONE API toolkit is the replacement of the older INTEL PARALLEL STUDIO.

Please help me to link the ABAQUS with the ONE API toolkit so that I can use it to run FORTRAN subroutines in ABAQUS. 

The procedure I followed for reference.

Installed Microsoft visual studio 

Installed one API base toolkit

Installed one API HPC toolkit

Installed ABAQUS

Now I am stuck what to do ?? Please help me out.

 

 

Labels (1)
1 Solution
SAR24
Beginner
91,577 Views

Hi @oaeres ,

Thanks for your suggestion. I've managed to link back my Abaqus to fortran compiler. 

For those who wants to try at your own risk, below are the steps I took:

(My previous setup was Abaqus 2019 + VS 2019 + Intel Parallel XE)

1) I didn't bother to uninstall parallel XE. So I leave it as is. 

2) Install OneAPI Base kit first, then install OneAPI HPC kit. Select all recommended installation.

3) Once both installation completed, edit abq2019.bat (in C:\Simulia\Commands). Need to set path for fortran compiler and mkl. Refer lines below:

SET PATH=%PATH%;C:\Program Files (x86)\Intel\oneAPI\compiler\2021.1.1\windows\bin\intel64;
call "C:\Program Files (x86)\Intel\oneAPI\compiler\2021.1.1\env\vars.bat" -arch intel64
call "C:\Program Files (x86)\Intel\oneAPI\mkl\2021.1.1\env\vars.bat" intel64

Then, save the file.

4) Now need to edit abaqus_v6.env file (in C:\Program Files\Dassault Systemes\SimulationServices\V62019X\win_b64\SMA\site) as follow:

# abaqus V6 Environment File
# This file is used to import other environment files located in the site
# directory. Custom parameters can be added here, but it is recommended to
# use the custom_v6.env file instead.

import os, driverUtils

# Utility function for loading site environment files
def importEnv(name, ldict=locals(), gdict=globals()):
from driverUtils import locateSite, locateFile
env = locateFile(locateSite(), '', name)
if env:
execfile(env, gdict, ldict)
else:
print "Cannot locate environment file: ", name

# Import parameters common to all platforms
importEnv('basic_v6.env')

# Import MPI specific parameters
importEnv('mpi_config.env')

# Import platform specific parameters such as compiler and linker settings
platform = driverUtils.getPlatform()
importEnv(driverUtils.getPlatform() + '.env')

# onCaeGraphicsStartup() function to configure graphics
# card specific settings for CAE & Viewer
importEnv('graphicsConfig.env')

# Import site specific parameters such as licensing and doc parameters
importEnv('custom_v6.env')

del importEnv, driverUtils, platform

compile_fortran += ['/names:lowercase',]

Then, save the file.

5) To double check if the link is successful, go to Abaqus Commands, and enter command below without the " " marks:

"abaqus info=system" (note here the fortran compiler is successfully linked with 2021.1.1 version)

"abaqus verify -all" (abaqus will conduct tests on all installed modules include subroutine examples)

 

Hopefully it helps to those who just got their student license on Parallel XE expired!

View solution in original post

93 Replies
Kamalendu
New Contributor I
18,483 Views

@Kale Thanks for the confirmation. I was worried if its a problem that only I am facing. 

I don't think the CRT warning should be an issue here. I will take this up with the SIMULIA team and check if they have any solution to this. 

I also encourage you all to keep mailing SIMULIA at (simulia.nam.academic@3ds.com) about this current problem and requesting them to release a standalone installer for ABAQUS that would do away with the persisting issue of having to figure out dependencies ourselves for running User subroutines. 

 

@alabbad979 Thanks for your reply. I am no expert here, but could you check the version of VS that you're using. Also, make sure to add path to the compiler and the vcvarsall.bat file in you PC's environment variables and the following to abq.bat (with necessary edits if needed for the versions, computer architecture and path):

@echo off
setlocal
set ABA_COMMAND=%~nx0
set ABA_COMMAND_FULL=%~f0
@call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
@call "C:\Program Files (x86)\Intel\oneAPI\compiler\2021.1.1\env\vars.bat" intel64 vs2019
"C:\SIMULIA\EstProducts\2020\win_b64\code\bin\ABQLauncher.exe" %*
endlocal

Kamalendu
New Contributor I
18,565 Views
0 Kudos
alabbad979
Beginner
18,510 Views

@Kamalendu  Thank you for your help.

I am getting all kinds of errors. I am still not able to verify that Fortran is properly linked with Abaqus. When I verify it using abaqus verify -std  OR  abaqus verify -all, I get the following error message 

ERROR: Couldn't find ABAQUSLM running on "my host name".

I am using Abaqus 2017, VS 2019, and intel oneAPI 2021. Could it be because of my VS version? 

0 Kudos
Kamalendu
New Contributor I
19,093 Views

@alabbad979 Is your license manager working fine? Can you check if you can run jobs through the CAE? You can check the licensing.

If you are in an academic institution, you might need the research license and may not be able to run user subroutines while on the teaching license. 

0 Kudos
alabbad979
Beginner
19,086 Views

@Kamalendu  I have a research license. I did try running a job without subroutine and it works fine. However, when I run a job with a subroutine, I get errors.  I am sure something has to do with linking Fortran to Abaqus.

0 Kudos
Kamalendu
New Contributor I
19,074 Views

@alabbad979 I see. The only thing I can think of right now is the VS version. You could give VS 2017 a try and let us know if that helped 

0 Kudos
jshen
Beginner
16,900 Views

@Kamalendu 

Hi Kamalendu,

Have you solved this issue that ABAQUS failed without any specific error?

I ran into exact same case as you have shown, everything looks fine for my ABAQUS 2019 verification with vs2019+intel OneAPI, but when it comes to my UMAT, which is kind of complex, having multiple fortran subroutines, and features, such as common block, allocatable arrays, etc. though they are still common for Fortran. And my UMAT is actually written in free format, and I add '-free' option in abaqus.env to fix it like what I did with old version of Intel compiler, i.e. parallel studio xe.

However, the new Intel OneAPI or Abaqus's compatibility for OneAPI seems failed for my UMAT, and like what you have shown, there's no specific error source in .log file, and no message file is generated even I tried using the debug flag, and the compilation and link process seems fine as I see in the log file, except for the warning which has been discussed. I feel like the program stopped when it starts to run the first time step and call the UMAT. But I have no idea to pinpoint which step caused the failure.

I also see you have sent message to SIMULIA, have you followed up with them about this issue?

It may be problem dependent, but it could also be a common issue or bug for ABAQUS+OneAPI especially for complex UMAT.

Would you please share with me the person you have contacted with in SIMULIA?

I would like to follow up this question with them, since I feel like I can almost do nothing given the Abaqus gives such little useful error information.

Though a purchase of license could solve those issues, as most of the users are students, it would be significant benefit if the new OneAPI can work with Abaqus as before. And if there's a bug, either Intel or SIMULIA should be responsible for that.

 

Thank you

 

0 Kudos
Kamalendu
New Contributor I
16,864 Views

@jshen 

This is the latest that I have

community.intel.com/t5/Registration-Download-Licensing/How-to-link-ABAQUS-with-Intel-One-API-toolkits-to-run-FORTRAN/m-p/1251573#M231

0 Kudos
jshen
Beginner
16,855 Views

@Kamalendu 

I went through all the discussion in this topic from the beginning, and it seems finally you choose to go with the previous Intel compiler by purchasing the commercial license instead of seeking the final solution with OneAPI due to the unspecified error from Abaqus.

Could you share the contact of the person you have reached in SIMULIA?

I would like to follow up with them about the unknown error source when I run my UMAT with VS2019+OneAPI+ABAQUS2019.

Thank you

0 Kudos
Kamalendu
New Contributor I
16,835 Views

@jshen Yes, that is right. I missed 1.5 months of research time for this and I chose the easiest (yet expensive) route. 

 

I contacted Simulia Academic at simulia.nam.academic@3ds.com.  You'd probably get a response from  Katha. You may choose to keep **bleep**.ROTELLI@3ds.com>; DAVIES-TAYLOR Clint <Clint.DAVIES-TAYLOR@3ds.com> on copy. 

Please keep us updated if you manage to find a fix. Good Luck!

0 Kudos
Kamalendu
New Contributor I
16,831 Views

Keep them on copy ROTELLI **bleep** <**bleep**.ROTELLI@3ds.com>  DAVIES-TAYLOR Clint <Clint.DAVIES-TAYLOR@3ds.com>

0 Kudos
jshen
Beginner
16,763 Views

@Kamalendu 

Thanks for sharing the information.

I will contact them right away, and sure, I will update if the error in my case is fixed.

0 Kudos
SAR24
Beginner
91,578 Views

Hi @oaeres ,

Thanks for your suggestion. I've managed to link back my Abaqus to fortran compiler. 

For those who wants to try at your own risk, below are the steps I took:

(My previous setup was Abaqus 2019 + VS 2019 + Intel Parallel XE)

1) I didn't bother to uninstall parallel XE. So I leave it as is. 

2) Install OneAPI Base kit first, then install OneAPI HPC kit. Select all recommended installation.

3) Once both installation completed, edit abq2019.bat (in C:\Simulia\Commands). Need to set path for fortran compiler and mkl. Refer lines below:

SET PATH=%PATH%;C:\Program Files (x86)\Intel\oneAPI\compiler\2021.1.1\windows\bin\intel64;
call "C:\Program Files (x86)\Intel\oneAPI\compiler\2021.1.1\env\vars.bat" -arch intel64
call "C:\Program Files (x86)\Intel\oneAPI\mkl\2021.1.1\env\vars.bat" intel64

Then, save the file.

4) Now need to edit abaqus_v6.env file (in C:\Program Files\Dassault Systemes\SimulationServices\V62019X\win_b64\SMA\site) as follow:

# abaqus V6 Environment File
# This file is used to import other environment files located in the site
# directory. Custom parameters can be added here, but it is recommended to
# use the custom_v6.env file instead.

import os, driverUtils

# Utility function for loading site environment files
def importEnv(name, ldict=locals(), gdict=globals()):
from driverUtils import locateSite, locateFile
env = locateFile(locateSite(), '', name)
if env:
execfile(env, gdict, ldict)
else:
print "Cannot locate environment file: ", name

# Import parameters common to all platforms
importEnv('basic_v6.env')

# Import MPI specific parameters
importEnv('mpi_config.env')

# Import platform specific parameters such as compiler and linker settings
platform = driverUtils.getPlatform()
importEnv(driverUtils.getPlatform() + '.env')

# onCaeGraphicsStartup() function to configure graphics
# card specific settings for CAE & Viewer
importEnv('graphicsConfig.env')

# Import site specific parameters such as licensing and doc parameters
importEnv('custom_v6.env')

del importEnv, driverUtils, platform

compile_fortran += ['/names:lowercase',]

Then, save the file.

5) To double check if the link is successful, go to Abaqus Commands, and enter command below without the " " marks:

"abaqus info=system" (note here the fortran compiler is successfully linked with 2021.1.1 version)

"abaqus verify -all" (abaqus will conduct tests on all installed modules include subroutine examples)

 

Hopefully it helps to those who just got their student license on Parallel XE expired!

Kamalendu
New Contributor I
18,957 Views

Hi All,

Even if the abaqus verification is passed, there could still be runtime libraries missing which would result in some User Subroutines to terminate (as it is in my case). I was in contact with Simulia and they are yet to figure out a solution.  (check the following)Capture.JPG

 

However, for those willing to purchase the OneAPI Tool kit license please note that Intel Parallel Studio Xe is also included with the purchased license. So, you can install it the old way without any issues. (check attached)

 

 

alabbad979
Beginner
18,925 Views

Thank you all for the help. I agree with @Kamalendu I have linked Fortran with Abaqus, trying many different ways but I still can't run my subroutine. 

Thank you @Kamalendu for sharing the message from Simulia. 

0 Kudos
Kamalendu
New Contributor I
18,864 Views

No worries @alabbad979 . I hope you have it up and running soon with the purchase if not already.

0 Kudos
Vitor22
Beginner
18,158 Views

Dear Kamelendu,

Could you fix the issue somehow. We are facing the same problem. We could link Abaqus with oneAPI but some of our subroutines are not running. We can run some simple subroutines, however, more complex ones are not working. We are getting the same error as you. I'm inclined to believe that indeed some libraries could be missing. I would appreciate if you could provide us with any help. This issue is taking our sleep.

Best regards,

Vitor

 

 

0 Kudos
Kamalendu
New Contributor I
18,045 Views

@Vitor22 As I have mentioned in one of my posts, the simplest and sure shot solution to this is to purchase the OneApi license which includes the legacy Parallel Studio .  This was also suggested by Simulia Academic

0 Kudos
Kamalendu
New Contributor I
18,040 Views

@Vitor22 Here is the earlier reply 

 

community.intel.com/t5/Registration-Download-Licensing/How-to-link-ABAQUS-with-Intel-One-API-toolkits-to-run-FORTRAN/m-p/1251573#M231

0 Kudos
Kamalendu
New Contributor I
18,030 Views

@Hp2021 You would need the INTEL® ONEAPI BASE & HPC TOOLKIT.  Regarding single-node vs multi-node: this depends on your requirements---check the folowwing : https://www.techxtend.com/content/TechxtendPortal/downloads/intel-oneapi-hpc-toolkit-product-brief.pdf

 

0 Kudos
Hp2021
Beginner
18,069 Views
Hi @Kamalendu Regarding your helpful reply: " However, for those willing to purchase the OneAPI Tool kit license please note that Intel Parallel Studio Xe is also included with the purchased license. So, you can install it the old way without any issues. (check attached) " Could you please provide us with some more details, I am wondering which version of ONEAPI ( Intel oneAPI Base Toolkit 2021 or Intel oneAPI Base & HPC Toolkit 2021 ) and which node version of ONEAPI (Single-Node or Multi-Node) have been referred to in the picture uploaded. I am further curious to know which version of Parallel Studio XE for windows (2020 or 2019 composer, professional or cluster) is included. Best regards
0 Kudos
Reply