Abaqus

Guidance last updated: 29 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:

salloc

You can load a specific version with the following command:

module load ABAQUS/2025
module load ABAQUS/2023
module load ABAQUS/2021_Container

Moving from Abaqus 2023 to 2025 — click to expand

Abaqus 2024 and later use Python 3.10 instead of Python 2.7. Check older scripts, plug-ins and custom abaqus_v6.env files for Python 3 compatibility. The supplied conversion utility can help update Python scripts:

abaqus python -m abqPy2to3 my_script.py

Review and test the converted script; automatic conversion may need manual changes. See the SIMULIA Python migration guide.

Older model and output databases may need upgrading for 2025. Keep the originals; see the database upgrade guidance.

The bundled MPI configuration defaults to Intel MPI in Abaqus 2025, rather than Platform MPI in Abaqus 2023.

Parallel solver performance has also changed, including the threaded sparse solver and MPI/hybrid Lanczos eigensolver. Recheck resource choices for large workloads; see the analysis release notes.


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 2000 MB per CPU (8 GB in total). 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-per-cpu=2000
#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/2025
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 8000 MB (8 GB) 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-per-cpu=8000
#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/2025
module load intel-compilers/2023.0.0
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 for user subroutines; it supplies the classic Intel Fortran compiler ifort version 2021.8.0 used by the installed Abaqus 2025 configuration. ABAQUS/2025 does not load this compiler automatically.


Licensed options

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

$ module load ABAQUS/2025
$ 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. See the restart documentation.

For Abaqus/Standard, request restart output in the input file:

*RESTART, WRITE, OVERLAY, FREQUENCY=10

OVERLAY keeps only the latest restart state for each step, overwriting earlier restart information to limit disk usage.

FREQUENCY=N writes restart information every N increments and at the end of each step.

To restart the job, create newJobName.inp containing:

*RESTART, READ

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

abaqus job=newJobName oldjob=oldJobName

Installation notes

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