How to link ABAQUS 6.13 with visual Studio 2012 and Intel Fortran Composer XE 2013

Update 5/6/2016:

For experienced folks just look at the bold font, it’s the cut the crap version.

Found an alternative way of linking those stuff when you can’t change the environment variable (happens when you don’t have admin access to your machine) and it’s actually much more easier than the old method, and potentially could apply to more software edition combinations. So I recommend readers to try this method first.

The gross idea is to use Fortran’s own way to setup the environment for Fortran in Abaqus.

After you install Visual studio and Fortran , you can find a shortcut for command prompt under Fortran’s folder in Windows Start Menu. This shortcut is called  ”Intel 64 Visual Studio 2010 mode“ or similar to it, and it will be find in your start menu under “Intel parallel studio XE” folder or in the command Prompt sub-folder depending on your version of Windows, VS and Fortran.

Right click the shortcut to look at it’s properties. You may need to open it’s “file location” first and then look at properties if you are using Win10.

In the target text box, there will be a command looks like :

C:\Windows\SysWOW64\cmd.exe /E:ON /V:ON /K ““C:\Program Files (x86)\Intel\Composer XE 2013\bin\ipsxe-comp-vars.bat” intel64 vs2012

Only copy the bold and underlined part above, be careful with the quotation mark, if a syntax error shows up later then it’s probably the quotation mark you messed up.

Copy those to your abaqus.bat, by default setting this file is under ”C:\SIMULIA\Abaqus\Commands\“.Those text should be put in the second line and add @Call in front of those. So your abaqus.bat looks like this

@echo off
@Call ”C:\Program Files (x86)\Intel\Composer XE 2013\bin\ipsxe-comp-vars.bat” intel64 vs2012
“C:\SIMULIA\Abaqus\Commands\abq6132.bat” %*

 

Save the file then you are done.

Verify it using the method I mentioned in the old instruction at the end of post.

 

——————————-old instructions after this line————————–

I use ABAQUS with user subroutine most of the time. However when I update to ABAQUS 6.13, my VS2008+Fortran10.1 does not work anymore.

Google told me 6.13+2012+XE2013 will make a perfect combo, I tried and it did.

 

The install of VS2012 and Fortran Composer is easy, just install VS first, then the Fortran will fit itself to the VS. However you need to link ABAQUS with those two in order to run jobs with subroutine. If you are not experienced, sometimes this final touch could be tricky.

Here I will show you a way will surely work but I don’t know if that is the best way, after all I am only a humble engineering student and most of the time I don’t understood the instructions written by programmers :)

The whole picture is in fact very simple: subroutine is written in Fortran as *.f files, and ABAQUS need to compile these *.f before using it.  in this case,  the ifort.exe is the compiler. So (1) we need the the access to ifort.exe. Furthermore, this ifort.exe cares a lot about the working condition, he actually have an assistant to build up the working place for him. This assistant is called ifortvars.bat. So (2) we need the access to this ifortvars and (3)make it work!

 

to do (1) and (2), we need to add the file path of ifort.exe and ifortvars.bat into environment variables (path), so we can access those two at any folder while using command window.

(A)

Search your C:\ for ifort and ifortvars’s path first, record it in a text file. usually the ifortvars is in:

C:\Program Files (x86)\Intel\Composer XE 2013\bin

and the ifort is in:

“C:\Program Files (x86)\Intel\Composer XE 2013\bin\intel64

.

(B)

To setup environment variables:

right click on “computer”

choose properties

choose “advanced system setting” at the left upper area of the current window

click on environment variables at right lower corner of the current window.

Choose variable “path” in the upper frame titled “system variables” and click “edit”

at the end of variable value, add these paths of your “ifort” and “ifortvars” you just found at step (A), for example, mine is:

;C:\Program Files (x86)\Intel\Composer XE 2013\bin;C:\Program Files (x86)\Intel\Composer XE 2013\bin\intel64

Attention: don’t miss the ; at the start of these text and replace my file path with your file path.

(C)

To do (3), we need to add ifortvars.bat into ABAQUS command batch file, so it could setup the environment every time ABAQUS runs.

Open your ABAQUS commands folder, usually at C:\SIMULIA\Abaqus\Commands

right click on abaqus.bat, choose “edit”.

You will probably see this:

@echo off
“C:\SIMULIA\Abaqus\Commands\abq6131.bat” %*

 

just change it to this:

@echo off
@call ifortvars.bat intel64 vs2012

“C:\SIMULIA\Abaqus\Commands\abq6131.bat” %*

save it.

 

Remember to change the bold part(intel64 vs2012) accordingly to your system type and software version. For example if you are using visual studio 2010, then vs2012 should be vs2010. I add this note because last time my friend Clay stuck on this tiny part and pissing in the wind checking system variables and fortran compatibility for 10 mins and cried.

Another note: if you run ABAQUS and saw the composer is working, but in the next line it says file or path did not find, please check the quotation marks in the line: “C:\SIMULIA\Abaqus\Commands\abq6131.bat” %* of abaqus.bat is correct, especially after you copied this line from my blog. In this case the quotation marks had been replaced by a kind of quotation marks unrecognizable by windows.

(D)

To verify if it works:

open a command window by type cmd and enter in the start menu.

type:

abaqus verify -all

this command will run a comprehensive test for abaqus, including the standard and explicit with subroutine mode. Just read what’s on screen and perhaps the log file, you will see what your ABAQUS is capable of.

or

abaqus verify -user_std

abaqus verify -user_exp

only for standard and explicit subroutine

 

 

 

 

 

 

 

 

 

 

 

 

Sina WeiboShare

25 thoughts on “How to link ABAQUS 6.13 with visual Studio 2012 and Intel Fortran Composer XE 2013

  1. Pingback: Simulia Abaqus 6.14-3 with Intel Fortran Complier Installation for Students | elastoplastic

  2. I’ve found your page and I’m very enthusiatic about it. I’m also student of mechanical engineering. Is it possible to get you email to ask you few questions about Abaqus?
    Regards,
    Nika

  3. Hi,
    I am trying to configure Abaqus 6.13 with intel fortran composer 2011,VS 2010. After verification I get the following error:
    ‘ifort’ is not recognized as an internal or external command,
    operable program or batch file.
    Abaqus Error: Problem during compilation – std_user.for
    Abaqus/Analysis exited with errors.
    Coluld you please give me a solution for this.

    Thank you,
    K.Bhanu Savarni

      • I have the same problem as K.BHANU SAVARNI
        It doesnt work i checked all
        abaqus 2016 with fortran EX 2013 an visual studio 2010 .

      • I ran a code in abaqus and it worked without any error it took longer to give me results that means its reading the code . however i have the same problem after “verification” in cmd and sais that abaqus is exited with errors but with abaqus verification in SIMULIA file it doesnt show those errors. How reliable are the results? is it possible that abaqus doesnt read some routines and solve half of model or something because of some problems with linking? like bad and messy connections lol

    • so, i still have problems to run UMAT. I have this 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.”

      • I would recommend you try other UMAT file, especially those already been used and proved working with your current ABAQUS release. Your linkage of ABAQUS to VS/Fortran seems all right.

  4. Hello,

    I am trying to connect Abaqus with Visual Studio 2012 and Intel Parallel Composer XE 2015. Is it possible?
    After I execute all instructions given above and check if it works, I get the message in cmd: IntelParallel studio xe 2015….. package, and after that: The file name, directory name, or volume label syntax is incorrect.

    What could be the problem?
    Thank you in advance,
    Dragan

    • Seems it might be what’s in the next line of @call is not correct. Usually its the quotation mark of
      “C:\SIMULIA\Abaqus\Commands\abq6131.bat” %* is not correctly pasted or you missed something in the file path.

      Sorry for the super late reply, I believe you had already figured this out.

  5. I am using the same approach with VS-2012 and composer XE2016, but it doesn’t work giving me an error for user subroutines upon running abaqus -user_std. Although the studio XE 2015 appears at the start of abaqus command prompt. kindly help me if any bodies know??

    • Please check if Dragan and you have the same problem. You may want to paste your error code shown in cmd in order to get help.

  6. hi
    i have abaqus 6.14 + visual studio 2008 &2015 + intel fortran 11.1, but for 4 days i use all of instruction in web while i cant link them together.
    can this version link together?
    anybody can help me?
    by regard

  7. hi all.
    I have abaqus 6.14-1 & vs 11. (2012) & Intel composer XE 2013
    after linking instruction this message appears on ” std- user.log” file :
    “End Compiling Abaqus/Standard User Subroutines
    Begin Linking Abaqus/Standard User Subroutines
    LINK : fatal error LNK1181: cannot open input file ‘msmpi.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

    when I search for ‘msmpi.lib’ file, I don’t see any file in intel composer Xe or vs directory… what can I do???
    thanks
    farzad tatar
    +989379196081

  8. Hello I think I have the same problem as farzad, but I don’t think it’s due to incorrect subroutine as abaqus suggests. Im using vs2015 and ivf16.0.3.207.

    I get errors like : standardU_static.lib error LNK2019: unresolved external symbol __imp_printf referenced in function “void __cdecl SMABasOmniSetSSElevel(void)” (?SMABasOmniSetSSElevel@@YAXXZ)

    Could you please spare some time to help me link these? I have some budget to spend on fixing this issue, so please let me know if you can help. I’m sure your expertise is up to the task.

  9. I have Abaqus 6.14-1, Microsoft visual studio 2010 and Intel Parallel studio XE 2013 on Windows 7 64 bit system. I followed all your steps of adding ifortvars and ifort to Path, modifying the abaqus batch file and then verifying. The verification log still gives error that ‘ifort’ is not recognized as an internal or external command,
    operable program or batch file. And now the command prompt doesn’t even recognize the abaqus command when I try to execute a job.

  10. hello all,
    i linked abaqus,vs, parallel studio correctly.
    after running the abaqus verify -all in abaqus command prompt, how we will confirm it is linked correctly or not?

  11. Dear all,

    I receive the following error:
    ifortvars.bat is not recognized as an internal or external command, operable program or batch file.

    Any suggestions?
    Thank you!

  12. Hi everyone!
    I have abaqus 6.13 with intel fortran XE 2013 and Visual Studio 2012. I make sure that I linked Abaqus with VS and fortran. But, when I try to run an exemple of subroutine from the manual, it aborded with an error: Problem During compiling.
    It can’t be a syntax problem because the subroutime is from the manual!
    also, when I compile the code in Visual Studio: I obtain an error : error #5102: Cannot open include file ‘ABA_PARAM.INC’
    Thank you

Leave a Reply to Tounekti Cancel reply

Your email address will not be published. Required fields are marked *

*


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>