Arguably one of the most difficult steps in using User Subroutines in Abaqus is installing them correctly, and getting them to work! To help you overcome this first obstacle, we have produced a guide to walk you through the process.

July 5, 2016

In the following example, MS Visual Studio 2010 Professional and Intel Parallel Studio XE Composer editions were both installed. The install is correct for Abaqus 6.14-2, please adjust Step 3 for your applicable application version. Please see the recommended configurations in links below (some require 3DS login):

  • Abaqus 6.12:
  • Abaqus 6.13:,abaqus613,ga
  • Abaqus 6.14:,abaqus614,ga&ticket=ST-199971-mniLIsTOj9rD7glbjcfU-cas
  • Abaqus 2016:,ep616,update02_1&context=onpremises

If you are using a different version or have any queries, don’t hesitate to contact us.

1. Download and install Microsoft Visual Studio 2010 Professional. You can use Community, Professional or Enterprise, but not the Express edition, that will not work. Visual Studio is your linker that links up your compiled code with the required libraries to use with the Abaqus solver.

The following links for Visual Studio 2010 Professional trial version are available for your evaluation:

a. ISO images (offline installers):

b. Web installers:

2. Download and install a Fortran Compiler

Intel® Parallel Studio XE Composer Edition for Fortran and C++ Windows* Intel® Parallel Studio XE 2016. Parallel Studio is your compiler, it translates your text subroutine into machine code that the computer understands.

3. Check your Microsoft Parallel Processing MPI Interface

The correct version of msmpi needs to be installed on your computer to successfully link your subroutines. It will always be available with your Abaqus installation media. It is important that a newer or older one is not used, as the linker is looking for the specific version! You MUST have the version installed which is available with the Abaqus version you are using. If the wrong version is installed, an error will be displayed during linking: (e.g. LINK : fatal error LNK1181: cannot open input file ‘msmpi.lib’)

  • For Abaqus 6-14-2 install mpi_3.0_x64.msi (Typically in …Abaqus614-21win86_64productWindowsDisk1InstDataVMresource)
  • If a later one is already installed, please uninstall it

4. Before you launch your simulation using User Subroutines, you have to set up the correct environmental variables for your compiler and linker. The recommended way is shown below:

a. Execution from command line. Please find your “Abaqus Command” shortcut and adjust as shown. You can usually find Abaqus Command in “Start/All Programs/Abaqus 6.14-2/Abaqus Command” (use the version you would like to set up). There are two additions to make, highlighted below. This is correct when you install everything using default paths on a Windows 64bit (x64) Intel based system.

  • C:WindowsSysWOW64cmd.exe /k “”C:Program Files (x86)IntelSWToolscompilers_and_libraries_2016.2.180windowsbinifortvars.bat” intel64 vs2010 && “C:Program Files (x86)Microsoft Visual Studio 10.0VCvcvarsall.bat” x64″

  • Now your environment variables will be correctly set to run Abaqus with user subroutines from the command window.

b. Using Abaqus/CAE. Similarly to the command line version, please find the correct Abaqus/CAE shortcut and edit. You can usually find the shortcut in: “Start/All Programs/Abaqus 6.14-2/Abaqus CAE”. The settings are also for a Windows 64bit Intel based system.

  • “C:Program Files (x86)IntelSWToolscompilers_and_libraries_2016.1.146windowsbinifortvars.bat” intel64 vs2010 && “C:Program Files (x86)Microsoft Visual Studio 10.0VCvcvarsall.bat” x64 && C:SIMULIAAbaqusCommandsabq6142.bat cae || pause

  • Note that the syntax of the CAE and command line setup is slightly different. Most users can copy-paste the text provided, when everything is installed using default folders.
  • You have successfully set your environment variables and ready to use User Subroutines using Abaqus/CAE.

We hope this guide was helpful for everybody who’s trying to expand simulation capabilities using Abaqus User Subroutines.