Child pages
  • How to run ABAQUS on FAS Odyssey (SEAS users only)
Skip to end of metadata
Go to start of metadata

 

The examples below discuss how to run ABAQUS interactively, or non-interactively in batch mode (without any GUI interface), and how to submit an ABAQUS job to the Odyssey job scheduler SLURM.

Getting started

Information on Odyssey including account requests:

https://www.rc.fas.harvard.edu/resources/odyssey-quickstart-guide/

Please consult the documentation available at the above link for connecting to FAS systems and familiarizing yourself with the SLURM queue management system. For any help on Odyssey, contact FAS RC:

https://rc.fas.harvard.edu/about/contact/

Using ABAQUS

Important:

  1. The number of ABAQUS licenses checked out depends on the number of processors (cores) requested. As we have limited licenses, users should limit the requests to less than 16 cores.
  2. With the introduction of OnDemand VDI (see below), the only supported use of abaqus will be on Odyssey.

OnDemand Virtual Desktop (VDI)

 You can now work conveniently via a browser on odyssey using the virtual desktop infrastructure (VDI) known as OnDemand. For more details, please visit:

https://www.rc.fas.harvard.edu/resources/documentation/virtual-desktop/

Interactive use

The best option for working interactively on Odyssey is to use OnDemand VDI (see above). You may need to adjust the resources based on the size of the problems. If you are authorized to use abaqus, the latest version should be available on OnDemand as an app. Otherwise, open a terminal on the OnDemand remote desktop and proceed as follows.

Latest installed version of abaqus

To find the latest abaqus module, type:

module-query abaqus

To use the version of abaqus displayed (say abaqus 2017):

module load abaqus/2017-fasrc01
unset SLURM_GTIDS
abaqus cae -mesa


Running ABAQUS in batch mode

Important note: The number of ABAQUS licenses checked out depends on the number of processors (cores) requested. As we have limited licenses, users should limit the requests to less than 16 cores.

Note concerning abaqus 6.14 and newer versions:

To run abaqus 6.14 (and 2016) using SLURM, you need to create a file "abaqus_v6.env" in your home directory on Odyssey and put the following lines in it (if you already have this file, add the following lines): 

import os
if 'SLURM_PROCID' in os.environ:
  del os.environ['SLURM_PROCID']

The above is not needed for abaqus 6.12.

In order to run ABAQUS in the batch mode (i.e. solving the model without using the GUI interface) you need an input file (usually with extension .inp) created with ABAQUS GUI or other means. Once you have an input file (we use, for eg. truss-3br.inp in the following example), prepare a batch submission script for ABAQUS using the following template (download it as "runscript_2016.sh" and change it to suit the particular version you want to use):

#!/bin/bash
# Due to licensing restrictions, please limit the number of cores to about 16.

#SBATCH -n 8              #Number of cores (maximum 16 cores per job)
#SBATCH -t 5              #Runtime in minutes
#SBATCH -p general        #Partition to submit to
#SBATCH --mem-per-cpu=500 #Memory per cpu in MB for MPI work
#                           see also --mem for single-node work

module load abaqus/2017-fasrc01

cat /etc/centos-release
EXEC=abaqus

INPUT_FILENAME=truss-3br.inp

JOBNAME=test1_$SLURM_JOBID

ABAQUS_ARGS=

# Specify the scratch directory location for temporary files

SCRATCH_DIR=.
echo "which abaqus "

which abaqus

echo "EXEC"
echo $EXEC

echo "slurm job id= ",$SLURM_JOBID
#
# To manage abaqus jobs, you need to catch signals
#   and use "abaqus terminate" to stop the job
#

exit_gracefully () {
  abaqus terminate job=$JOBNAME
  echo Abaqus job $JOBNAME terminated
  exit
}
trap exit_gracefully SIGUSR2

date

unset SLURM_GTIDS
$EXEC cpus=$SLURM_NTASKS mp_mode=threads job=$JOBNAME input=$INPUT_FILENAME scratch=$SCRATCH_DIR $ABAQUS_ARGS
date
# Report some useful info
/bin/uname -a
#

# now sleep until lock file disappears
#
sleep 60
while [ -f ${JOBNAME}.lck ]; do
   sleep 5
done
exit

You can submit the script to SLURM with:

sbatch runscript_abaqus.sh 

For more details on running and monitoring jobs on the Odyssey cluster, please visit  https://rc.fas.harvard.edu/resources/.

Documentation

Abaqus documentation for the latest versions (eg. 2017) is accessed online via this link http://help.3ds.com/HelpProductsDS.aspx. To access this page, you need to have an account with Dassault Systemes (DS Passport). For that, please visit: https://iam.3ds.com/.

  • No labels