Abaqus
Abaqus[1] from Dassault Systemes is installed on Proteus.
It makes use of Intel Compilers to compile certain modules at run time.
Contents
Installed Versions
Abaqus 6.12, 6.13, and 2017 are installed
To use 6.13:
module load intel/composerxe/2013.3.174 module load abaqus/6.13
To use 2017:
module load intel/composerxe/2015.1.133 module load abaqus/2017
Documentation
No documentation is installed on Proteus. Please see online documentation here: http://mem.drexel.edu/abaqus/ or http://www.oulu.fi/tietohallinto/unix/abaqus_docs/v6.13/index.html
Special Notes
- Abaqus can run only on the Intel nodes
Output Requirements
- Abaqus generates very large amounts of i/o calls which overload the main fileserver providing group and home directories.
- Abaqus cannot run off the Lustre filesystem, i.e. /scratch or /lustre/scratch
- Please use local scratch for your Abaqus outputs. See the example script below.
Licenses
See license status on the web:
https://proteusmaster.urcf.drexel.edu/lmstat.html
Or see number of available licenses for Proteus:
[juser@proteusi01 ~]$ qstat -F abaqus
There is also the "Abaqus Extended" feature:
[juser@proteusi01 ~]$ qstat -F abaqus_extended
Requesting Licenses with Job
The number of license tokens M required for an Abaqus job is given by the formula
M = int(5 x N^0.422)
where N is the number of slots (CPU cores) needed for the job. Request license tokens with:
#$ -l abaqus=M
No more than 35 tokens can be requested; this is a limit over all jobs running on Proteus. To see how many are available:
[juser@proteusi01 ~]$ qstat -F abaqus
For typical numbers of slots, these are the number of tokens required:
No. of Slots (N) | No. of Tokens (M) |
---|---|
1 | 5 |
4 | 8 |
8 | 12 |
16 | 16 |
32 | 21 |
64 | 28 |
128 | 38 |
The Abaqus Extended product is separate. There are only 8 licenses available in total.
See Licensed Software for more information.
Example Job Script
IMPORTANT: The job script must be in Unix format. If you wrote the script on a Windows machine, use the dos2unix utility to convert the file format. See Tips for Windows Users#Scripts Created on Windows
UPDATE 2019-06-24: Do not use the "abaqus" PE. Use the "fixed16" PE, instead. Along with that replace "-l vendor=intel" with "-l ua=sandybridge".
Please see the article on Writing Job Scripts for details on what goes into a job script.
Parameters:
- h_rt = wallclock time limit (hh:mm:ss) - job is killed if it runs for longer than h_rt
- h_vmem = hard virtual memory limit - job is killed if it tries to use more than h_vmem per slot (CPU core)
- m_mem_free = minimum free memory per slot (CPU core) needed in order for job to run
#!/bin/bash
#$ -S /bin/bash
#$ -cwd
#$ -j y
#$ -M myname@drexel.edu
#$ -P myrsrchPrj
#$ -R y
#$ -pe fixed16 64
#$ -l abaqus=28
#$ -l ua=sandybridge
#$ -l h_rt=00:15:00
#$ -l h_vmem=4G
#$ -l m_mem_free=3G
#$ -q all.q
. /etc/profile.d/modules.sh
### These three modules must ALWAYS be loaded
module load shared
module load proteus
module load sge/univa
### These two modules must be loaded for Abaqus
module load intel/composerxe/2013.3.174
module load abaqus/6.13
### $NSLOTS is automatically substituted from the pe above; do not put in a literal number
# abaqus job=cfaxIso cpus=$NSLOTS interactive
### EXAMPLE OF USING LOCAL DISK INSTEAD - uncomment all below and delete the above "abaqus" command
### you will need to copy your .inp file, and any other input files to the TMP directory
cp cfaxIso.inp $TMP
cd $TMP
abaqus job=cfaxIso cpus=$NSLOTS interactive
### copy all outputs back to the original direvtory
cp -f * $SGE_O_WORKDIR
Checkpoint and Restart
Abaqus has a built-in checkpoint and restart feature.[2][3]
Add the following to the input file (refer to official Abaqus documentation for detail):
*RESTART, WRITE, OVERLAY, FREQUENCY=10
- OVERLAY
- saves only one state, i.e. overwrites the restart file every time new restart information is written
- FREQUENCY=N
- writes restart information every N timesteps
And, to restart the job, create a new input file newJobName with only a single line:
*RESTART, READ
and run Abaqus specifying both the new and old job names:
abaqus jobname=newJobName oldjob=oldJobName
Benchmark
Abaqus provides benchmark tests in the Abaqus installation itself. Use the Abaqus "fetch" command to get the appropriate input files and subroutines. See documentation:
http://www.oulu.fi/tietohallinto/unix/abaqus_docs/v6.13/books/bmk/default.htm
See Also
- File:SGI Technology Guide for Users of Abaqus.pdf
- Compiling for Intel with Intel Composer XE, MKL, and Intel MPI
- Tips for Windows Users#Scripts Created on Windows