Linking Abaqus and FORTRAN compiler

Table of Contents

In this tutorial, we aim to explain the first step of subroutine programming in the Abaqus software, which is linking the Abaqus software and FORTRAN compiler. You can watch the video tutorial for additional tips, more detailed explanations, and a step-by-step demonstration of installing and linking FORTRAN with Abaqus.
Initially, you need to locate the compatible versions of Abaqus software with Visual Studio and Intel Parallel Studio.

Compatible versions of Abaqus software with Visual Studio

Let’s start linking Abaqus and Fortran compiler. The first step is to find out which version of Visual Studio must be installed. To do this, we have to consider the version of Abaqus version that has been installed. After that, we choose the suitable version of Visual Studio according to the below picture and install it. It is worth mentioning that, If we install uncomeatable versions of Abaqus and Visual Studio, the linking progress will not be completed correctly.

Compatible versions of Abaqus software with Visual Studio for linking Abaqus and FORTRAN compiler


Installing Visual Studio for Linking Abaqus and FORTRAN compiler

At first, we install the Visual Studio file “vs_setup”. During the installation process, we need to select the required features mentioned below.

Installing the Visual Studio file "vs_setup" linking Abaqus and FORTRAN compiler


Additionally, each section and subsection will be explained separately to provide a comprehensive understanding of their offerings. Moreover, this will allow you to grasp their functionalities effectively.

Web and cloud:

If you’re enthusiastic about developing web applications or cloud services, you have an array of features to select from.

– ASP.NET and web development: This feature enables you to create dynamic web pages, web APIs, Blazor WebAssembly apps, and more using C#, VB.NET, HTML, CSS and JavaScript. You can also use frameworks like ASP.NET Core, ASP.NET MVC, Razor Pages and Entity Framework Core.

– Azure development: This feature allows you to build, debug, deploy and manage cloud applications and resources using Azure services. You can use tools like Azure Functions, Azure App Service, Azure Storage, Azure SQL Database, Azure Cosmos DB and more.

– Python development: Furthermore, this particular feature boasts excellent support for Python scripting and web development. In addition, it seamlessly integrates with frameworks like Django, Flask, and others. Not only that, but it also provides an array of powerful tools including IntelliSense, debugging, testing, refactoring, and many more.

– Node.js development: Additionally, this feature offers support for Node.js scripting and web development, including popular frameworks like Express and React. It provides essential tools such as IntelliSense, debugging, testing, npm, and more.

Desktop and mobile:

Choose from Visual Studio 2022’s features to develop desktop or mobile apps for Windows, Linux, and macOS.

– .NET multi-platform app UI development: This feature enables you to create cross-platform desktop applications using .NET 6 and the new MAUI framework. You can use XAML to design your UI and C# to write your logic. You can also target Android and iOS devices with MAUI.

– .NET desktop development: This feature enables you to create Windows desktop applications using .NET 6 and frameworks like Windows Forms and WPF. You can use XAML or drag-and-drop designers to create your UI and C# or VB.NET to write your logic.

– Desktop development with C++: Moreover, this feature empowers you to build native Windows desktop applications utilizing C++ and frameworks such as MFC, ATL, or Win32. Additionally, you have access to a range of tools including IntelliSense, debugging, testing, refactoring, and numerous others.

– Universal Windows Platform development: This feature enables you to create modern Windows 10 applications using C#, VB.NET or C++. You can use XAML to design your UI and access various Windows APIs and features like notifications, live tiles, Cortana and more.

– Mobile development with C++: This feature enables you to create native Android or iOS applications using C++ and frameworks like Qt or SDL. You can use tools like IntelliSense, debugging, testing, refactoring and more.

Gaming:

If you’re enthusiastic about creating games for different platforms, you’ll find a wide range of features to select from. Moreover, these features offer diverse options for your game development journey:

– Game development with Unity: This feature enables you to create 2D or 3D games using Unity engine and C#. You can use tools like Visual Studio Tools for Unity, which integrates Unity editor with Visual Studio IDE. You can also target various platforms like Windows, Android, iOS, Xbox, PlayStation and more.

– Game development with C++: This feature enables you to create 2D or 3D games using C++ and frameworks like DirectX or OpenGL. You can use tools like IntelliSense, debugging, testing, refactoring and more.

Other tools:

If you are interested in developing other kinds of applications or extensions for Visual Studio itself, you can choose from the following features:

– Data storage and processing: Enable SQL Server development and data analysis with tools like SQL Server Object Explorer and Integration Services.

– Data science and analytical applications: Enable Python and R development for data science and machine learning with interactive tools.

– Visual Studio extension development: This feature enables you to create extensions for Visual Studio IDE using C#, VB.NET or C++. You can use tools like VSIX project template, VSIX debugger, VSIX testing tool window and more.

– Office/SharePoint development: This feature enables you to create Office add-ins or SharePoint solutions using C#, VB.NET or JavaScript. You can use tools like Office/SharePoint project templates, Office/SharePoint designers, Office/SharePoint debugging tools and more.

– Linux and embedded development with C++: This feature enables you to create Linux or embedded applications using C++ and frameworks like GTK+, Qt or Boost. You can use tools like remote debugging, remote testing, remote terminal and more.

Installing the Visual Studio file "vs_setup" linking Abaqus and FORTRAN compiler


You don’t need further action after successfully installing. We can proceed to the next step.

Next step of installing Visual Studio for linking Abaqus and FORTRAN compiler
Next step of installing Visual Studio for linking Abaqus and FORTRAN compiler
Installing Visual Studio for linking Abaqus and FORTRAN compiler is completed



Installing Intel oneAPI base Toolkit for Linking Abaqus and FORTRAN compiler

The next step is installing Intel oneAPI base Toolkit. Let’s begin installing the corresponding file.

Installing Intel OneAPI base Toolkit for linking Abaqus and FORTRAN compiler
Installing Intel OneAPI base Toolkit for linking Abaqus and FORTRAN compiler


In this step, the most important part is selecting the appropriate and necessary components for linking Abaqus and FORTRAN. Installing “intel oneAPI DPC++/C++ compiler” and “intel oneAPI threading building blocks” is important and necessary, and other features are optional.

Selecting the appropriate and necessary components for linking Abaqus and FORTRAN
Selecting the appropriate and necessary components for linking Abaqus and FORTRAN compiler

Here we take a look at each feature and explain them separately:

  • Intel oneAPI DPC++/C++ compiler: The DPC++ compiler enables developers to write parallel code for CPUs, GPUs, FPGAs, and accelerators.
  • Intel oneAPI threading building blocks: The library improves app performance on multi and manycore systems with high-level abstractions for parallelism and concurrency.
  • Intel DPC++ compatibility tool: Assists developers in migrating CUDA code to DPC++, providing annotations and optimization suggestions.
  • Intel distribution for GDB: Customized GDB for debugging DPC++ apps on multiple devices, with device memory inspection and kernel breakpoints.
  • Intel oneAPI DPC++ library: Provides parallel algorithms and data structures compatible with DPC++, leveraging oneAPI Level Zero and OpenCL APIs for hardware access.
  • Intel oneAPI Data Analytics Library: The library offers optimized functions for data analysis and machine learning, compatible with different data formats and hardware configurations.
  • Intel oneAPI video processing library: The library includes functions for video processing like decoding, encoding, filtering, and resizing that work with CPUs and GPUs.
  • Intel integrated performance primitives: offer optimized low-level functions for image processing, signal processing, cryptography, data compression, and computer vision on Intel CPUs and GPUs.
  • Intel integrated performance primitives cryptography: The library offers functions for encrypting, decrypting, hashing, signing, and verifying data, using different algorithms and supporting CPUs and GPUs.
  • Intel oneAPI Math Kernel Library: Functions for linear algebra, vector math, statistics, Fourier transforms, random number generation, and neural network primitives, optimized for Intel architectures and running on CPUs and GPUs.
  • Intel VTune Profiler: The tool collects performance metrics and offers optimization recommendations for CPU, GPU, memory, cache, and power usage.
  • Intel Advisor: A tool for designing and optimizing applications for parallelism and vectorization, performing analyses and suggesting code improvements.
  • Intel distribution for Python: An Intel-optimized Python distribution for scientific computing, data analysis, machine learning, and deep learning.
  • Intel oneAPI Deep Neural Network Library: Functions for deep neural network building and training on CPUs and GPUs, with framework support.


Then the installation process continues smoothly.

Continue the linking Abaqus and FORTRAN compiler process
Continue the linking Abaqus and FORTRAN compiler process


Afterwards, the installation is complete.

Installing Intel oneAPI Base Toolkit for Linking Abaqus and FORTRAN compiler process is completed



Installing Intel oneAPI HPC for Linking Abaqus and FORTRAN compiler

In the next step, we proceed with the installation of Intel oneAPI HPC.

Installing Intel oneAPI HPC for Installing Intel oneAPI HPC


In the component selection section, we have selected the required items.

selecting the appropriate and necessary components for linking Abaqus and FORTRAN compiler


The installation process continues as follows.

Continue the linking Abaqus and FORTRAN compiler process
Continue the linking Abaqus and FORTRAN compiler process


Finally, the installation is completed.

Installing Intel oneAPI HPC Toolkit for Linking Abaqus and FORTRAN compiler process is completed


*In this tutorial, we install Intel oneAPI Base Toolkit before Intel oneAPI HPC Toolkit (similar to the process observed in other instructional videos). However, we have tested that reversing the installation order does not cause any issues in the installation process, and the linking of FORTRAN and Abaqus still functions properly.


Finding “vcvars64.bat” and “vars.bat” files

After the installation of Visual Studio and Intel oneAPI software, we should find “vcvars64.bat” file. The easiest way to find the “vcvars64.bat” file is to search for the term “vcvars64” in the C drive (the location of the software installation). Additionally, the instructional video has mentioned another method for locating the file.

Finding "vcvars64.bat" and "vars.bat" files for Linking Abaqus and FORTRAN compiler process is completed


* We save the path of this file in a text file.

We repeat the procedure for the “vars.bat” file in the “env” folder and save its path in the text file.

Finding "vcvars64.bat" and "vars.bat" files for Linking Abaqus and FORTRAN compiler process is completed


Next, we look for “environment variables” in the Windows search bar and access the “Environment Variables” section in “System Properties”.

searching "environment variables" for Linking Abaqus and FORTRAN compiler process is completed


In this section, we can add the paths in both the “User variables” and “System variables” sections. The latter will be applicable to all users.

Adding the paths of "vcvars64.bat" and "vars.bat" files


To add the paths of both “vcvars64.bat” and “vars.bat” files, we double-click on “Path” and use the “New” button for each.

Adding the paths of "vcvars64.bat" and "vars.bat" files


Next, you can access the shortcut installation folder by simply searching for “Abaqus” in the Windows search bar. Once in the folder, right-click on “Abaqus command” and access “Properties”. In the “Target” section, delete the previous path and replace it with a new path that combines the path of the “vars.bat” file, the version of Visual Studio, and the Windows version. A sample is given with the note that the path may differ based on Windows version and Visual Studio installation.

Replacing ABAQUS CAE target

“C:\Program Files (x86)\Intel\oneAPI\compiler\2022.2.1\env\vars.bat” intel64 vs2022 & C:\Windows\System32\cmd.exe /k

Similarly, in the “Properties” section of Abaqus CAE, in the “Target” tab, we enter the new path that is provided below. The combination of the “vars.bat” file’s path, the Windows version, and Visual Studio determines the initial target path. A sample is provided below.

Replacing the target of ABAQUS command

“C:\Program Files (x86)\Intel\oneAPI\compiler\2022.2.1\env\vars.bat” intel64 vs2022 & C:\SIMULIA\EstProducts\2023\win_b64\resources\install\cmdDirFeature\launcher.bat cae || pause

Thus far, the integration of Abaqus and FORTRAN has been successfully accomplished. However, the linking only applies to shortcuts, and if the Abaqus file is opened, the linking does not work. To address this, we proceed to the next step.

In the path “C:\SIMULIA\commands”, right-click on the file “abq2023” and click on “Edit”.

Linking Abaqus and FORTRAN compiler for individual file


Add the following address, which is a combination of the “vars.bat” file address and the installed version of Visual Studio, to a new line as shown.

Linking Abaqus and FORTRAN compiler for individual file

Call “C:\Program Files (x86)\Intel\oneAPI\compiler\2022.2.1\env\vars.bat” intel64 vs2022

*Don’t forget to save the changes.

*In contrast to other linking methods, the approach explained in this article and tutorial video eliminates the need for relinking after system restart.


Verification of linking between ABAQUS and the FORTRAN compiler

To ensure the linking between Abaqus and the FORTRAN compiler, there are several ways, one of which is to use the “Abaqus command”. Here, we follow the steps shown in the image below.

Verification Process


As you can see, in this case, the FORTRAN and C++ compilers have been linked with Abaqus.

Verification Process


Furthermore, using Abaqus verification, one can ensure the correctness of the linking between various solvers and FORTRAN.

Verification Process


Here, we have demonstrated and concluded the step-by-step process of linking Abaqus with FORTRAN. For more details and further explanations, please refer to the instructional video that has been prepared.

Picture of Engineering Downloads

Engineering Downloads

Related Articles

linking ABAQUS and FORTRAN

We have instruction of linking ABAQUS and FORTRAN here.Using Subroutine in Abaqus helps you to create complex models. Linking Abaqus might not be necessary for you NOW but you might

Hyperelastic materials in ABAQUS

Hyperelastic materials are materials that can undergo large deformations without permanent damage. They are often used to model rubber-like materials, biological tissues, soft robots, and other applications that involve large

UMAT and VUMAT: Advantages & Limitations

Overview of UMAT and VUMAT Subroutines The UMAT (User Material) and VUMAT (Vectorized User Material) subroutines are widely used in ABAQUS, a popular software suite for finite element analysis. These

Leave a Reply

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

Product suggestion