Troubleshooting Guide for Common Errors When Linking Abaqus with FORTRAN Compiler – Part 2

Table of Contents

Introduction

Welcome back! In Part 1, we walked you through the initial steps of linking Abaqus with a FORTRAN compiler, tackling some of the most common errors you might encounter. But sometimes, the journey to a smooth integration involves a few more bumps in the road. That’s where Part 2 comes in. In this segment, we’ll delve deeper into troubleshooting more complex issues, from license problems to compatibility headaches. Just like before, our goal is to arm you with the knowledge and tools to resolve these errors efficiently. By the end of this video, you’ll be well on your way to mastering the integration of Abaqus and FORTRAN, ensuring your simulations run flawlessly. Let’s dive in and untangle those remaining knots!

Common Errors and How to Fix Them

License Issues

License-related errors can halt your progress abruptly.

Possible Causes:

  • Invalid or expired license
  • Misconfigured license server
  • License file not found

Solutions:

  1. Check License Validity: Verify that your Abaqus and FORTRAN compiler licenses are valid and not expired. Contact your vendor if there are any discrepancies.
  2. Configure License Server: Ensure that your license server is correctly configured and running. Abaqus needs to be able to communicate with the server to validate your license.
  3. Locate License File: Ensure that the license file is in the correct location and that Abaqus can access it.

Example:

a. Couldn’t Determine Abaqus Parent Directory:

Verify if updates (Hotfix5) are correctly installed if you are using version 2021 of Abaqus.

Undefined Reference Errors

Undefined reference errors occur when Abaqus can’t find a symbol or function that it expects to be defined in your FORTRAN code.

Possible Causes:

  • Typographical errors in code
  • Missing function definitions
  • Incorrect module usage

Solutions:

  1. Check for Typos: This might seem trivial, but a simple typo in your code can cause undefined reference errors. Double-check your code for any spelling mistakes.
  2. Define All Functions: Ensure that all functions and subroutines used in your code are defined. Missing definitions will result in errors.
  3. Correct Module Usage: Make sure that the correct modules are used and that they are properly referenced in your code.

Example:

a. The Linking Process for Abaqus/Standard User Subroutines Failed with the Following Error:

“Begin Linking Abaqus/Standard User Subroutines Creating library standardU.lib and object standardU.exp swell.obj : error LNK2019: unresolved external symbol ROTSIG referenced in function umat.R standardU.dll : fatal error LNK1120: 1 unresolved externals Abaqus Error: Problem during linking – Abaqus/Standard User Subroutines.”

This error is due to an unresolved external symbol ROTSIG when using the /iface option with the Intel oneAPI ifort compiler and Visual Studio 2019.

Solution: This issue occurs because the /iface option does not correctly set all names (procedures and data) to lowercase, resulting in names defaulting to uppercase in object files and libraries. When Abaqus and other programs look for your functions at link time, the references will be unresolved. To fix this problem, you can use the /names option alongside /iface to ensure that all names are set to lowercase, which resolves the linking issue.

Steps to Fix the Issue:

  1. Modify Compiler Options:
    • Use the following compiler options: /iface /names
  2. Update Visual Studio Project Properties:
    • Open your project in Visual Studio 2019.
    • Navigate to the project properties.
    • Go to FORTRAN -> External Procedures.
    • Set Name Case Interpretation to Lower Case (/names).

Detailed Steps in Visual Studio:

  1. Right-click on your project in the Solution Explorer and select Properties.
  2. In the Property Pages dialog, expand the FORTRAN category.
  3. Select External Procedures.
  4. Locate the Name Case Interpretation property.
  5. Set it to Lower Case (/names).

Compatibility Issues with 64-bit Systems

Many users face issues when running Abaqus and FORTRAN compilers on 64-bit systems. Compatibility can sometimes be a tricky beast to tame.

Possible Causes:

  • 32-bit vs. 64-bit mismatches
  • Incorrect architecture settings

Solutions:

  1. Match Architectures: Ensure that both Abaqus and the FORTRAN compiler are either 32-bit or 64-bit. Mismatched architectures will result in errors.
  2. Set Correct Flags: Configure the environment and compilation flags to match the architecture of your system. This often involves modifying the abaqus_v6.env file.

Example:

a. The Linking Process for Abaqus/Standard User Subroutines Failed with the Following Fatal Error:

“std_user.obj : fatal error LNK1112: module machine type x64 conflicts with target machine type X86”

This error occurs because the 64-bit compiler is being used on a 32-bit computer.

Solution:

Ensure that you are using a 64-bit compiler on a 64-bit computer or a 32-bit compiler on a 32-bit computer. To resolve the issue, verify and match the architecture settings of your compiler and your system. If your system is 32-bit, use a 32-bit compiler. If your system is 64-bit, make sure all components, including the compiler and the Abaqus installation, are configured for 64-bit.

Compilation Errors

Compilation errors can range from syntax errors to more complex issues related to FORTRAN standards.

Possible Causes:

  • Syntax errors in code
  • Non-standard FORTRAN usage
  • Incorrect compiler settings

Solutions:

  1. Fix Syntax Errors: Carefully go through your code to fix any syntax errors. FORTRAN can be particularly finicky about syntax.
  2. Use Standard FORTRAN: Stick to standard FORTRAN code practices. Non-standard usage can lead to compatibility issues.
  3. Adjust Compiler Settings: Ensure that your compiler settings are configured to handle the specific requirements of your code. This might involve tweaking optimization settings or specifying certain compiler flags.

Example:

a. Errors Related to Windows Access:

Set the default path to C:\temp during the installation of Abaqus. If not done, or if Windows access is restricted, run Abaqus Command and Abaqus Verification as Administrator.

FAQs:

Q1: How do I know which FORTRAN compiler version is supported by Abaqus?

A1: The Abaqus documentation provides a list of supported compiler versions. Always refer to the most recent documentation for compatibility information.

Q2: What should I do if my FORTRAN compiler is installed correctly but Abaqus still can’t find it?

A2: Double-check your environment variables and ensure that they point to the correct directories. Additionally, verify that the compiler’s bin directory is included in the system PATH.

Q3: Can I use any text editor to write my FORTRAN code for Abaqus?

A3: Yes, you can use any text editor. However, using an IDE that supports FORTRAN can help catch errors early and improve your coding efficiency.

Q4: How can I troubleshoot linking errors if the error messages are too cryptic?

A4: Refer to the Abaqus and FORTRAN compiler documentation for detailed explanations of error messages. Online forums and user communities can also be valuable resources for troubleshooting.

Q5: Are there any common pitfalls to avoid when linking Abaqus with FORTRAN?

A5: Yes, ensure compatibility between versions, keep your code syntax error-free, and properly configure your environment settings. Additionally, always validate your licenses and check for required libraries.

Conclusion

Linking Abaqus with a FORTRAN compiler can indeed be a daunting task, especially when faced with a slew of error messages. However, with the right troubleshooting strategies, you can overcome these challenges and get your simulations up and running smoothly. Remember, the key to successful troubleshooting is patience and attention to detail. Check your environment settings, ensure compatibility, and don’t hesitate to consult the documentation or seek help from the community. With this guide in hand, you’re well-equipped to tackle common errors and make the most out of your Abaqus and FORTRAN setup. Happy simulating!

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