What is Abaqus?

The ABAQUS product suite offers powerful and complete solutions for both routine and sophisticated engineering problems covering a vast spectrum of industrial applications. In the automotive industry engineering work groups are able to consider full vehicle loads, dynamic vibration, multibody systems, impact/crash, nonlinear static, thermal coupling, and acoustic-structural coupling using a common model data structure and integrated solver technology.

The ABAQUS suite consists of three core products – ABAQUS/Standard, ABAQUS/Explicit and ABAQUS/CAE.

Abaqus in Parallel

ABAQUS is a parallel application that can run in both MPI and shared-memory threaded mode. Parallel run on a multicore machine is the most efficient. ABAQUS runs on more than one node may experience a degradation in performance on MPI communications between nodes.

Abaqus analysis jobs are controlled by license tokens. The number of required tokens(or “analysis tokens”) for run a job, is depending on and the type of analysis being run and the number of CPUs or cores used in running the analysis job.

 

Analysis Tokens required for different numbers of cores
ABAQUS Product Ncore
  1   2   4   8 12 16 24 32 64 128
Abaqus/Standard 5 6 8 12 14 16 19 21 28 38
Abaqus/Explicit
Abaqus/CFD
Abaqus/Foundation 3 4 5 7 8 9 11 12 17 23
Abaqus/AMS (used with Abaqus/Foundation) 6 6 6 7 8 9 11 12 17 23
Abaqus/AMS (used with Abaqus/Standard) 10 10 10 12 14 16 19 21 28 38
Abaqus/Aqua 6 8 10 14 17 19 22 25 34 46
Abaqus/Design

Token usage formula:
Total number of tokens = INT ( 5 x Ncore0.422 )              ;  where Ncore is the number of CPUs/cores for the job

*Reference: Dassault Systèmes Customer License Key Reference – Excludes V6

Abaqus Suite in Information Technology Services

The Information Technology Services has installed the Abaqus suite of software for advanced finite element analysis in the HPC cluster hpc2021 system. The available packages are Abaqus/CAE, Abaqus/Standard, Abaqus/Explicit, Abaqus/CFD ,Abaqus/Aqua, Abaqus/Design, Abaqus/AMS and Abaqus/Foundation.

Abaqus is a licensed application of Dassault Systèmes SIMULIA Corp. Departmental technician may also install and execute the software in departmental laboratory’s PCs and connect to the license server inside HKU campus network. Under the academic institution license agreement, the Abaqus software can only be installed in PCs running Intel processors with MS Windows or Linux inside HKU campus network. Other kind of computer could not access the license server. Departmental technician can send their request of software media (latest release 2023) to email itssw@hku.hk.

Upon execution of the Abaqus software, license tokens will be taken from the license server installed in ITS. For heavy usage users, it is recommended that they should also subscribe corresponding number of license tokens, otherwise successful execution of the software may not be guaranteed due to unavailability of license token taken by other users.

The Abaqus installation program requires license server information. Please contact Research Computing Team for details.

The Abaqus Student Edition is available free of charge to students, educators, and researchers for personal and educational use from here.

Using ABAQUS in HPC system

To use ABAQUS, please use the following commands or refer to the sample SLURM scripts:

System Version Command
HPC2021 2020 module load abaqus/2020
2021 module load abaqus/2021
2022 module load abaqus/2022
2023 module load abaqus/2023

Sample SLURM scripts for ABAQUS

Sample programs and SLURM scripts for running ABAQUS in parallel are available at /share1/abaqus/sample. Assume an input file called ABQjob.inp and job submission script ‘slurm-abaqus.cmd’ is prepared, user can submit with command “sbatch slurm-abaqus.cmd

  1. SLURM Script for Single CPU core Abaqus Jobs
    #!/bin/bash
    #SBATCH --job-name=Abaqus_serial
    #SBATCH --time=24:00:00
    #SBATCH --nodes=1
    #SBATCH --ntasks=1
    #SBATCH --output=%x.out.%j
    #SBATCH --error=%x.err.%j
    
    cd ${SLURM_SUBMIT_DIR}
    module load abaqus
    abaqus job=ABQjob interactive cpus=1 input=ABQjob.inp
    # end of example file
  2. SLURM Script for Single Node Multiple Cores Abaqus Jobs (Threads-based parallelization)
    #!/bin/bash 
    #SBATCH --job-name=Abaqus_mc  
    #SBATCH --nodes=1
    #SBATCH --ntasks=32
    #SBATCH --output=%x.out.%j
    #SBATCH --error=%x.err.%j
    
    cd ${SLURM_SUBMIT_DIR}
    module load abaqus
    abaqus job=ABQjob interactive cpus=${SLURM_NTASKS} input=ABQjob.inp mp_mode=threads
    # end of example file
  3. SLURM Script for Multiple Compute nodes(64 cores in parallel) Abaqus Jobs
    #!/bin/bash 
    #SBATCH --job-name=Abaqus_mpi 
    #SBATCH --nodes=2
    #SBATCH --ntasks=64
    #SBATCH --ntasks-per-node=32
    #SBATCH --output=%x.out.%j
    #SBATCH --error=%x.err.%j 
    
    cd ${SLURM_SUBMIT_DIR}
    module load abaqus
    abaqus job=ABQjob inter cpus=${SLURM_NTASKS} input=ABQjob.inp mp_mode=mpi
    # end of example file

Running Abaqus jobs with a User subroutine

To run ABAQUS with a user defined Fortran subroutine (e.g. mySub.f), you have to :

  • Set up path of fortran compiler (e.g. module load intel for ifort )
  • Pass the subroutine name to abaqus with user identifier
module load intel 
module load abaqus
abaqus job=ABQjob inter cpus=$ncpu input=ABQjob.inp user=mySub

Abaqus with GPU computing

ABAQUS supports GPU-acceleration for some computations such as multiphysics simulation. One token is required when one GPU card is utilized. Users can test whether GPU computing could speed up your simulations with the GPU devices at our HPC2021 system. For more information on the benefits of GPU computing to Abaqus, please visit Abaqus performance on NVIDIA GPU’s.

abaqus job=ABQjob inter cpus=$ncpu gpus=$ngpu input=ABQjob.inp

where $ncpu is number of CPU cores and $ngpu is number of GPU card to be used.

  1. SLURM Script for Abaqus Jobs with GPU acceleration
    #!/bin/bash 
    #SBATCH --job-name=Abaqus_gpu 
    #SBATCH --partition=gpu
    #SBTACH --qos=gpu
    #SBATCH --nodes=1
    #SBATCH --ntasks=10
    #SBATCH --gres=gpu:1
    #SBATCH --output=%x.out.%j
    #SBATCH --error=%x.err.%j 
    
    cd ${SLURM_SUBMIT_DIR}
    module load abaqus
    abaqus job=ABQjob in ter cpus=${SLURM_NTASKS} gpus=1 input=ABQjob.inp 
    # end of example file

Abaqus with Graphical User Interface

Graphical User Interface of Abaqus is available in HPC-one Web portal. Please visit https://hpc.hku.hk/guide/hpc-one-web-portal/ for details.

Additional Information

ABAQUS Official website