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
The available programs are ABAQUS/CAE, ABAQUS/Standard and ABAQUS/Explicit. Currently, 6.12-pr3 is not available for academic users.
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
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
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
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):
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
- 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 (
$TMPDIR, and copy your results back at the end of your script. Running your job on
$TMPDIRensures maximum efficiency.
- The keyword
interactiveis required in the execution line
abaqus job=knee_bolster interactivefor 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
interactivein 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>.inpto the execution line so that it looks like
abaqus job=knee_bolster input=<my_input_file_name>.inp interactive
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
- Define nodes>1 for a parallel run. 1<=ppn<=8 for Glenn and ppn=12 for Oakley.
cpus=<n>in the execution line, where n=nodes*ppn.
- Everything else is similar to the serial script above.
Online documentation is available at: http://www.osc.edu/supercomputing/manuals.