Skip to main content

ABAQUS

ABAQUS is a finite element method software.

It is used for structural and field analysis in mechanical, civil, and electronic industries.

License required

Please purchase, download, and install the ABAQUS license yourself. For assistance with installation or usage, contact us with proof of your research group's ABAQUS license.


1. Script Template

submit.sh
#!/bin/bash
#SBATCH --nodes=1 # Number of nodes
#SBATCH --ntasks-per-node=56 # Number of cores per node
#SBATCH --ntasks=56 # Total number of cores
#SBATCH --partition=g1_share # Queue partition; must specify the correct partition
#SBATCH --job-name=hello # Job name
#SBATCH --output=hello.%j.out # Normal log output (%j parameter value is jobId)
#SBATCH --error=hello.%j.err # Error log output (%j parameter value is jobId)

##############################################
# Software Envrironment #
##############################################
unset I_MPI_PMI_LIBRARY # Unset default MPI library, use Intel's built-in
export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # Parameter modification required for Intel multi-node jobs
# module load intel/2022 intelmpi/2022 # Load Intel environment

##############################################
# Run job #
##############################################
ulimit -s unlimited
ulimit -l unlimited
nameflag=`scontrol show hostname $SLURM_JOB_NODELIST`
beginflag="mp_host_list=["
endflag="]"
for line in $nameflag
do
tempflag="['$line',56],"
beginflag=$beginflag$tempflag
done
eflag=`echo $beginflag | sed 's/.\{0\}.$//'`
endflag=$eflag$endflag
echo $endflag > abaqus_v6.env

# JOBNAME=`ls | grep inp | sed 's/.\{3\}.$//'`
JOBNAME=test_test

# For program
#USERNAME=huang.for

# change scratch to the actual directory
#abaqus job=${JOBNAME} user=${USERNAME} input=${JOBNAME}.inp globalmodel=zd.odb cpus=$SLURM_NPROCS scratch=./ interactive

abaqus job=${JOBNAME} input=${JOBNAME}.inp analysis cpus=$SLURM_NPROCS scratch=$SLURM_SUBMIT_DIR interactive

2. The meanings of the command-line parameters are as follows:

- job=${JOBNAME}: Specifies the job name as the value of the environment variable JOBNAME.
- input=${JOBNAME}.inp: Specifies the input file name as the value of the environment variable JOBNAME with the .inp extension.
- analysis: Specifies the type of analysis to be performed.
- cpus=$SLURM_NPROCS: Specifies the number of CPUs to use as the value of the environment variable SLURM_NPROCS.
- scratch=$SLURM_SUBMIT_DIR: Specifies the working directory as the value of the environment variable SLURM_SUBMIT_DIR.
- interactive: Specifies to run in interactive mode.

3. Example run error issues

## Error details as follows
warning, dlopen of libhwloc.so failed (null)/lib/linux_amd64/libhwloc.so: cannot open shared object file: No such file or directory

### Error message as above:
### Job behavior: The job fails and is immediately killed after submission.
### This error occurs in Abaqus 2016 but not in other versions. Resolve by adding 'unset SLURM_GTIDS' to the submission script.

# Indicates failure to execute hostname on the compute node
nopasswd
# Set up passwordless authentication