Using Abaqus on Nova

Introduction

Abaqus is used for solving problems in Computational Fluid Dynamics (CFD) and related multiphysics.  It supports GPU as well as CPU execution.

GPU Support

Many Abaqus jobs that use a GPU will execute up to four times faster than a job that only uses CPU processors. 

Note also that running Abaqus with a GPU still requires CPUs for many operations, particularly with post-processing analysis.  It is recommended that you request at least 4 CPUs for each GPU requested.

Abaqus Versions

Use the module spider command to see the available versions:  

-------------------------------------------------------------------------------------------------------------------
  abaqus:
-------------------------------------------------------------------------------------------------------------------
     Versions:
        abaqus/6.13
        abaqus/6.14
        abaqus/2016
        abaqus/2017
        abaqus/2019
        abaqus/2021
        abaqus/2022
        abaqus/2023
        abaqus/2024
        abaqus/2025

 

Sample Batch Script for Abaqus Using a GPU

The following Slurm batch script shows a typical job that uses a GPU.  

#!/bin/bash
#SBATCH -J  Scan_ShearWave_1
#SBATCH -D /work/researchit-staff/jedicker/abaqus/testjob
#SBATCH -N 1
#SBATCH -n 32
#SBATCH --partition=nova
#SBATCH --ntasks-per-node=32
# It is a good idea to tell SLURM to use a large amount of memory. 128000 = 128GB.
# 4GB of memory per processor is recommended.
#SBATCH --mem=128000
#SBATCH --time=24:00:00
#SBATCH --error=Scan_ShearWave_1.%j.error
#SBATCH --output=Scan_ShearWave_1.%j.output
#SBATCH --mail-type=BEGIN,FAIL,END
#SBATCH --mail-user=jedicker@iastate.edu
cd /work/researchit-staff/jedicker/abaqus/testjob

# Load the Intel compiler and Abaqus software.
module load abaqus/2025

# Abaqus doesn't support SLURM natively.  So, the script below gets the list of
# allocated hosts from SLURM and uses it to construct the mp_host_list[] variable.  
# It copies the global custom_v6.env file from the global Abaqus "site" directory and 
# adds the mp_host_list[] line to the bottom of the abaqus_v6.env file in the current folder.
# The number supplied to create_abaqus_mp_host_list.sh is the desired number of procs per node.

create_abaqus_mp_host_list.sh 32

unset SLURM_GTIDS

export I_MPI_HYDRA_BOOTSTRAP=ssh

abaqus interactive analysis job=Scan_ShearWave_1 input=Scan_ShearWave_1.inp cpus=32 mp_mode=mpi memory="90 %"  scratch=/work/researchit-staff/jedicker/abaqus/testjob