ABAQUS

ABAQUS is a finite element analysis program owned and supported by SIMULIA, the Dassault Systèmes brand for Realistic Simulation.

Availability & Restrictions

ABAQUS is available on the Oakley and Glenn clusters.

The versions currently available at OSC are

Version Glenn Oakley
6.8-2 X  
6.8-4 X X
6.9-2 X  
6.11-1 X X
6.11-2   X
6.12-pr3   X

The available programs are ABAQUS/CAE, ABAQUS/Standard and ABAQUS/Explicit. Currently, 6.12-pr3 is not available for academic users.

Usage

Access

Use of ABAQUS for academic purposes requires validation. To obtain validation please complete and return the "Academic Agreement to Use ABAQUS,"  located in the Academic Agreement Forms Page

Setup

Use module avail abaqus to view available ABAQUS modules for a given machine. To select a particular software version, type: module load software-name. For example: To select ABAQUS version 6.11-2 on Oakley, type: module load abaqus/6.11-2

Using ABAQUS

Example input data files are available with the Abaqus release. The abaqus fetch utility is used to extract these input files for use. For example, to fetch input file for one of the sample problems including 4 input files, type:

abaqus fetch job=knee_bolster

abaqus fetch job=knee_bolster_ef1

abaqus fetch job=knee_bolster_ef2

abaqus fetch job=knee_bolster_ef3

Token Usage

ABAQUS software usage is monitored though a token-based license manager.  This means very time you run a ABAQUS job, tokens are checked out from our pool for your tasks usage.  To ensure your job is only started when its required ABAQUS tokens are available it is important to include a software flag within your job script's PBS directives.  A minimum of 5 tokens are required per a job, so a 1 node, 1 processor ABAQUS job would need the following PBS software flag: #PBS -l software=abaqus+5. Jobs requiring more cores will need to request more tokens as calculated with the formula  M = int(5 x N^0.422), where N is the total number of cores.  For common requests, you can refer to the following table:

         Cores            (nodes x ppn each):

1 2 3 4 6 8 12 16 24 32 48
Tokens needed: 5 6 7 8 10 12 14 16 19 21 25

Batch Usage

When you log into oakley.osc.edu or glenn.osc.edu you are actually logged into a linux box referred to as the login node. To gain access to the 4000+ processors in the computing environment, you must submit your ABAQUS analysis to the batch system for execution.

Continuing with the above example, assume that you have fetched the four input files above into your work directory (where you submit your job, represented by $PBS_O_WORKDIR). A batch script can be created and submitted for a serial or parallel run.

Sample Batch Script for Serial Jobs

#PBS -N knee
#PBS -l walltime=1:00:00
#PBS -l nodes=1:ppn=1
#PBS -l software=abaqus+5
#PBS -j oe
#
# The following lines set up the ABAQUS environment
#
module load abaqus
#
# Move to the directory where the job was submitted
#
cd $PBS_O_WORKDIR
cp *.inp $TMPDIR
cd $TMPDIR
#
# Run ABAQUS
#
abaqus job=knee_bolster interactive
#
# Now, copy data (or move) back once the simulation has completed
#
cp * $PBS_O_WORKDIR

NOTE:

  • To select a particular ABAQUS version, use module load version-name.
  • Make sure to copy all the files needed (input files, restart files, user subroutines, python scripts etc.) from your work directory ($PBS_O_WORKDIR) to $TMPDIR, and copy your results back at the end of your script. Running your job on $TMPDIR ensures maximum efficiency.
  • The keyword interactive is required in the execution line abaqus job=knee_bolster interactive for the following reason: If left off, ABAQUS will background the simulation process. Backgrounding a process in the OSC environment will place it outside of the batch job and it will receive the default 1 hour of CPU time and corresponding default memory limits. The keyword interactive in this case simply tells ABAQUS not to return until the simulation has completed.
  • The name of the input file is sometimes omitted in the execution line, which may work fine if you've copied only the input files for one specific model. Although, it is better practice to designate the main input file explicitly by adding input=<my_input_file_name>.inp to the execution line so that it looks like abaqus job=knee_bolster input=<my_input_file_name>.inp interactive
  • Define nodes=1 (1<=ppn<=8 for Glenn and ppn=12 for Oakley) for a serial run.
  • If ppn>1, add cpus=<n> to the execution line, where n=ppn. This is how it should look like: abaqus job=test input=<my_input_file_name1>.inp cpus=<n> interactive

Sample Batch Script for Parallel Jobs

The following is an example for running ABAQUS software in Parallel

#PBS -l walltime=1:00:00
#PBS -l nodes=2:ppn=12
#PBS -N my_abaqus_job
#PBS -l software=abaqus+19
#PBS -j oe
#
# The following lines set up the ABAQUS environment
#
module load abaqus
#
# Move to the directory where the job was submitted
#
cd $PBS_O_WORKDIR
cp *.inp $TMPDIR/
cd $TMPDIR
#
# Run ABAQUS, note that in this case we have provided the names of the input files explicitly
#
abaqus job=test input=<my_input_file_name1>.inp cpus=24 interactive
#
# Now, move data back once the simulation has completed
#
mv * $PBS_O_WORKDIR

NOTE:

  • Define nodes>1 for a parallel run. 1<=ppn<=8 for Glenn and ppn=12 for Oakley.
  • Specify cpus=<n> in the execution line, where n=nodes*ppn.
  • Everything else is similar to the serial script above.

Further Reading

Online documentation is available at: http://www.osc.edu/supercomputing/manuals.

See Also

Supercomputer: 
Service: