Attention

Following the recent operating system upgrade, software listings and module load commands now reflect the upgraded system. Some examples and notices are still being updated and may contain outdated guidance.

Abaqus

Guidance last updated: 9 October 2026

Abaqus is a software suite for Finite Element Analysis (FEA) developed by Dassault Systèmes.

Documentation: https://help.3ds.com/ (note: register for an account to access.)

Interactive

After connecting to Stanage (see Establishing a SSH connection), start an interactive session with the following command:

srun --pty bash -i
module load ABAQUS/2023

Note

Users must unset the SLURM environment variable SLURM_GTIDS. Failure to do so will cause Abaqus to get stuck due to the MPI that Abaqus ships with not supporting the SLURM scheduler. SLURM_GTIDS should be unset for both interactive/GUI and batch jobs:

unset SLURM_GTIDS


Abaqus example problems

Abaqus contains a large number of example problems which can be used to become familiar with Abaqus on the system. These example problems are described in the Abaqus documentation and can be obtained using the Abaqus fetch command. For example, after loading the Abaqus module enter the following at the command line to extract the input file for test problem s4d:

abaqus fetch job=s4d

This will extract the input file s4d.inp to run the computation defined by the commands and batch submission script below.


Batch jobs

The following example batch submission script, my_job.sh, runs Abaqus with the input file s4d.inp. It requests one task with four CPUs for threaded execution, a runtime of 30 minutes and 8 GiB of memory in total. Slurm reserves 8 GiB for the whole job; Abaqus’s solver is limited to 6 GB to leave headroom for additional memory overheads.

#!/bin/bash
#SBATCH --job-name=abaqus_smp_test
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=4
#SBATCH --mem=8G
#SBATCH --output=output_abaqus_smp_4
#SBATCH --time=00:30:00
#SBATCH --mail-user=a.person@sheffield.ac.uk
#SBATCH --mail-type=ALL
module load ABAQUS/2023
unset SLURM_GTIDS
abaqus job=my_job input=s4d.inp mp_mode=threads cpus="$SLURM_CPUS_PER_TASK" scratch="$TMPDIR" memory="6gb" interactive

The job is submitted to the queue by typing:

sbatch my_job.sh

User subroutines: The umatmst3 model has a user defined subroutine umatmst3.f. The model files are obtained using

abaqus fetch 'job=umatmst3*'

The following example batch submission script requests one CPU, a runtime of 30 minutes and 8 GiB of memory to run umatmst3.inp with the user subroutine umatmst3.f.

#!/bin/bash
#SBATCH --job-name=abaqus_subroutine_test
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=1
#SBATCH --mem=8G
#SBATCH --output=output_abaqus_subroutine
#SBATCH --time=00:30:00
#SBATCH --mail-user=a.person@sheffield.ac.uk
#SBATCH --mail-type=ALL
module load ABAQUS/2023
module load intel-compilers/2023.0.0
unset SLURM_GTIDS
abaqus job=my_job input=umatmst3.inp user=umatmst3.f cpus="$SLURM_CPUS_PER_TASK" scratch="$TMPDIR" memory="6gb" interactive

Load intel-compilers/2023.0.0 explicitly when compiling user subroutines; it is not loaded automatically by ABAQUS/2023. This compiler module provides the classic Intel Fortran compiler ifort version 2021.8.0, which was used to compile and run this example.


Licensed options

All available Abaqus licenses can be viewed using abaqus licensing r e.g.

$ module load ABAQUS/2023
$ abaqus licensing r

Run abaqus licensing for usage info for the Abaqus licensing sub-command. Run abaqus licensing ru to see current licence usage.


Checkpointing your work

Abaqus has a built-in checkpoint and restart feature.

Add the following to the input file (refer to official Abaqus documentation for detail):

*RESTART, WRITE, OVERLAY, FREQUENCY=10

OVERLAY saves only one state, i.e. overwrites the restart file every time new restart information is written

FREQUENCY=N writes restart information every N timesteps

And, to restart the job, create a new input file newJobName with only a single line:

*RESTART, READ

Then run Abaqus specifying both the new and old job names:

abaqus jobname=newJobName oldjob=oldJobName

Installation notes

ABAQUS was installed using Easybuild, build details can be found in $EBROOTABAQUS/easybuild with a given module loaded.