Abaqus

From URCFwiki
Revision as of 15:32, 18 October 2019 by Dwc62 (Talk | contribs) (Requesting Licenses with Job)

Jump to: navigation, search

Abaqus[1] from Dassault Systemes is installed on Proteus.

It makes use of Intel Compilers to compile certain modules at run time.

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

References

  1. Abaqus official website
  2. Abaqus 6.9 User's Manual - 9.1.1 Restarting an Analysis
  3. Univ. of Leeds Research Computing - Abaqus - Checkpointing