Abaqus on Fedora (solver-only)

How to Run Abaqus Standard/Explicit on Fedora 43 (Solver Only, No CAE)

How to Run Abaqus Standard/Explicit on Fedora (Solver Only, No CAE)

This page documents a working setup to run Abaqus Standard and Abaqus Explicit on Fedora (solver only, no CAE) with Intel oneAPI Fortran (ifx).

Disclaimer

This setup is unsupported and relies on mimicking officially supported RHEL/SLES environments. One uses it at one’s own risk.

Environment and Prerequisites

  • Fedora Linux (example: Fedora 43), 64‑bit, with development tools installed.
  • Abaqus 2023 (Established Products) Linux media.
  • Intel oneAPI HPC toolkit installed, using ifx on Linux.

Faking the Distribution as RHEL

The Linux installer detects Fedora and rejects it, so the OS detection must be changed to mimic a supported RHEL system. In the extracted Abaqus media, one edits the Linux.sh files so that the detected OS release is set to something like RedHatEnterpriseServer instead of Fedora. For example, if one finds a line such as:

DSY_OS_Release="Fedora"

it is changed to:

DSY_OS_Release="RedHatEnterpriseServer"

Running the Installer

One then runs the suite installer from the first media directory using either the GUI or text interface, for example:

./StartGUI.sh

During installation, one selects the core Abaqus products:

  • Abaqus/Standard (implicit solver).
  • Abaqus/Explicit (explicit solver).

It is useful to note the path of the Commands directory, for example /var/DassaultSystemes/SIMULIA/Commands, which contains abaqus and abq2023.

Exposing the Abaqus Command

To make abaqus available system‑wide, one can create a symlink into a directory on the shell PATH, for example:

sudo ln -s /var/DassaultSystemes/SIMULIA/Commands/abaqus /usr/local/bin/abaqus

Basic functionality can then be checked via:

abaqus information=environment

Configuring Intel oneAPI ifx on Linux

Abaqus on Linux keeps the compiler and linker configuration in a file such as lnx8664.env under the Site directory. By default it may use ifort; for systems where only ifx is installed, one switches the Fortran command there.

In /usr/SIMULIA/EstProducts/2023/Site/lnx8664.env, in the normal Linux section, one can set:

fortCmd = "ifx"     # Fortran compiler
cppCmd  = "g++"     # C++ compiler

# Fortran compile command for Abaqus user subroutines
compile_fortran = [fortCmd,
                   '-V',
                   '-c', '-fpp', '-fPIC', '-extend_source',
                   '-DABQ_LNX86_64', '-DABQ_FORTRAN',
                   '-auto',
                   '-pc64',
                   '-align', 'array64byte',
                   '-prec-div', '-prec-sqrt',
                   '-fp-model', 'precise',
                   '-fimf-arch-consistency=true',
                   '-mP2OPT_hpo_vec_divbyzero=F',
                   '-no-fma',
                   '-fp-speculation=safe',
                   '-fprotect-parens',
                   '-fstack-protector-strong',
                   '-reentrancy', 'threaded',
                   '-msse3',
                   '-axcore-avx2,avx',
                   '-WB', '-I%I', '-I'+abaHomeInc, '%P']

The key point is to use Unix‑style flags (starting with -) and Linux macros such as ABQ_LNX86_64, not Windows‑style flags and paths. The rest of lnx8664.env can remain as supplied by Abaqus.

Before running jobs with user subroutines, one ensures that oneAPI is loaded in the shell, for example:

source /opt/intel/oneapi/setvars.sh
which ifx

This ensures that ifx is visible when Abaqus calls it.

Minimal Fortran Notes in abaqus_v6.env

In abaqus_v6.env it is simplest not to define compile_fortran or link_sl, and to let Abaqus use the Linux defaults from lnx8664.env where fortCmd = "ifx" is set. This keeps all detailed Fortran flags in a single, platform‑specific configuration file.

Minimal User Subroutine Test

With license and compilers configured, a small test involving a user subroutine can verify the setup. One places a simple input file and Fortran subroutine in a working directory, for example:

  • test.inp – a single‑element model using UMAT or another subroutine name.
  • test_umat.f – the corresponding user subroutine source file.

Then one runs:

source /opt/intel/oneapi/setvars.sh
abaqus job=test inp=test.inp user=test_umat.f interactive

If compilation and linking succeed, Abaqus creates test.odb on Fedora. This ODB can be copied to a Windows machine and opened in Abaqus/CAE or Abaqus/Viewer, since the output database format is platform‑independent.

Limitations and Notes

  • This guide targets solver‑only usage (Standard/Explicit), not Abaqus/CAE or graphical post‑processing on Fedora.
  • Distribution and version mismatches (Fedora vs specific RHEL versions in the Abaqus requirements) mean future system updates may require revisiting libraries or environment settings.