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.
1261 Discussions

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

AsimGautam
Novice
68,489 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
61,087 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
oaeres
Novice
12,506 Views

Hi,

I just want to summarize that ABAQUS is currently not compatible with OneAPi fortran compiler, and the majority of us don't have a license for older versions such as for Parallel Studio XE 2019, primarily because we are students. So if there is a possibility to gain access to the fortran 19 compiler without a license or with a student license, that would solve the problem.

I'm also looking at the environment files for ABAQUS and I was wondering if there have been updates to the fortran compiler that requires an adjustment of the following section of the environment file:

compile_fortran=['ifort',
'/c', '/fpp', '/extend-source',
'/DABQ_WIN86_64', '/DABQ_FORTRAN',
'/iface:cref', '/recursive',
'/Qauto', # <-- important for thread-safety of parallel user subroutines
'/align:array64byte',
'/Qpc64', # set FPU precision to 53 bit significand
'/Qprec-div', '/Qprec-sqrt', # improve precision of FP divides and sqrt
'/Qfma-', # disable floating point fused multiply-add
'/fp:precise', # floating point model: precise
'/Qimf-arch-consistency:true', # math library consistent results
'/Qfp-speculation:safe', # floating point speculations only when safe
'/Qprotect-parens', # honor parenthesis during expression evaluation
'/Qfp-stack-check', # enable stack overflow protection checks
'/reentrancy:threaded', # important for thread-safety
#'/Qinit=zero','/Qinit=arrays', # automatically initialize all arrays to zero
'/Qinit=snan', '/Qinit=arrays', # automatically initialize all arrays to SNAN
'/QxSSE3', '/QaxAVX', # generate SSE3, SSE2, and SSE instructions
# '/Od', '/Ob0', # <-- Disable Optimization for Debugging
# '/Zi', # <-- Debugging Information
'/include:%I', '/include:'+abaHomeInc, '%P']

 

The fastest solution would be to just provide us with access to Parallel Studio XE (license), but if we're able to adjust the env file of ABAQUS to work with OneAPI, that would also solve the problem.

Thanks,

 

apreston
Beginner
9,043 Views

Hello Devorah,

 

Is there anyway to re-register intel parallel studio 2017? My license has expired and I need to link Fortran via VS 2013 which is not supported on the new one api tool kits

0 Kudos
Kale
Novice
14,491 Views

For Abaqus 2018 the Intel parallelXE 2018 update 4 works well. 

0 Kudos
Sayed
Beginner
11,920 Views
Hi am trying to run subroutine ..i need a licence for Intel parallel studio xe
Am using abaqus 2018
Am a student
Please someone help me to solve my struggle
0 Kudos
Sayed
Beginner
11,908 Views
0 Kudos
Kale
Novice
13,527 Views

Thank you very much for your prompt response. 

However, how do I renew my intel Parallel license? I had licenses before but now they have expired. I have installed Intell parallel but it asks me for the serial number, else I only have 30 days with the product (I wish I could do a project in 30 days). I've tried to renew them through the registration page, but it seems not possible. 

could you please tell me how I do this? how can I get a new serial number?

Thank you again for your collaboration, 

kind regards! 

NunziaLe
Beginner
12,462 Views

Hi, 

I'm facing the same problem. In my case, ABAQUS is compatible with Intel Parallel Studio XE 2017 update8 (to run FORTRAN subroutines). To link ABAQUS with such a compiler, I edit the ABAQUS.bat file and call the batch files ifortvars and ipsxe-comp-vars.

My student license has expired. I have downloaded the mentioned Intel Parallel Studio version, but  I need to know how to get a new serial number.

As many other reaserchers, my project is stuck on this problem.

 

Thanks in advace for helping

0 Kudos
NunziaLe
Beginner
12,347 Views

Hi everyone,

just for information, I've emailed the Intel academic department to ask about the renewal of the student license. According to their reply, the team that managed the student program in the past will be updating the webpage with direction soon. 

0 Kudos
Kamalendu
New Contributor I
12,318 Views

Thanks for your efforts. I hope they do it soon. 

0 Kudos
cct94
Novice
12,212 Views

Exact same issue here. If anyone was able to renew their student license, please let us know!

0 Kudos
oaeres
Novice
12,122 Views

Hi all,

I found a cleaner workaround to the ABAQUS - Intel One API linking issue.

Just add the following line to your abaqus_v6.env file:

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

Fortran OneAPI is compatible with ABAQUS 2019, but it has a bug that can be solved by adding the previous line to your environment file.

alabbad979
Beginner
12,100 Views

@oaeres  Hello,

I hope you are doing well! Could you please show the steps on how you linked intel OneAPI to abaqus? I would really appreciate that. I am just confused with the new version of intel and not sure what directories and files I should link with abaqus in order to run subroutines. 

Thank you very much.

0 Kudos
oaeres
Novice
12,087 Views

Hi @alabbad979 

It is more or less the same process performed for linking previous fortran compiler versions. I suggest you follow the steps in this link:

 https://www.researchgate.net/publication/313924098_Linking_ABAQUS_2017_and_Intel_Parallel_Studio_XE2016_Visual_Fortran_in_Windows_10_x64

These are the adjustments you should make that are relevant to Fortran OneAPI:

There is no longer an ifortvars.bat file. Instead use the vars.bat file in your OneAPI directory:

Simply change this:

 "C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2016.4.246\windows\bin\ifortvars.bat"

to this:

"C:\Program Files (x86)\Intel\oneAPI\compiler\2021.1.1\env\vars.bat"

Add the following line to either abaqus_v6.env or custom_v6.env:

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

You will need to adjust the properties of the file to allow you be able to edit the file. (right click on file->properties->security->edit->permissions).

And I think that's about it!

Kamalendu
New Contributor I
12,063 Views

@oaeres Thanks for the workaround. I too received a similar suggestion from SIMULIA.

Capture.JPG

 

However, when I run the subroutine verification in the Abaqus command, it passes the check Capture2.JPG

 

However, when I submit a job it terminates without citing any specific error (Capture1.JPG).

Capture1.JPG

There is no error in the job input files or the user element subroutine. They run fine with the older set up (Intel Parallel Studio)). Did you receive a similar error or are the user subroutines running ok for you?

0 Kudos
alabbad979
Beginner
12,052 Views

Hello @oaeres ,

Thank you very much for your assistance.  one more question regading abaqus_v6.env or custom_v6.env, Where can I find that file? I have abaqus 2017. Is it similar to abq2017 in the commands directory in SIMULIA.

Thank you in advance. 

0 Kudos
Kamalendu
New Contributor I
12,048 Views

@alabbad979 Abaqus 2017 might not have the custom_v6.env file (You can search for it though).

 

You will mostly find them at C:\SIMULIA\EstProducts\2020\win_b64\SMA\site but would vary if you install it on a different directory. 

0 Kudos
alabbad979
Beginner
12,044 Views

Hi @Kamalendu 

I have found it in the following directory. It should be in this directory for abaqus 2016 to 2019

C:\Program Files\Dassault Systemes\SimulationServices\V6R2017x\win_b64\SMA\site

Thank you

 

0 Kudos
Kamalendu
New Contributor I
12,038 Views

@alabbad979 awesome!

Could you please let me know after you link it successfully if you are facing a similar issue as I posted above?

0 Kudos
Kale
Novice
12,017 Views

@Kamalendu 
I'm at the same spot as you are. I have the same unspecified error. I don't know if, perhaps, the "libirc.lib(fast_mem_ops.obj) : warning LNK4210: .CRT section exists; there may be unhandled static initializers or terminators" warning has something to do with it. 

0 Kudos
alabbad979
Beginner
12,010 Views

@Kamalendu  I got an error related to linking Fortran to Abaqus. Something has to do with oldnames.lib. I will look into it and let you know what happens 

Also, I was not able to verify that Fortran is correctly linked to Abaqus using abaqus verify -std

0 Kudos
Reply