ABAQUS is a finite element analysis program owned and supported by SIMULIA, the Dassault Systèmes brand for Realistic Simulation.
Availability and Restrictions
The available programs are ABAQUS/CAE, ABAQUS/Standard and ABAQUS/Explicit. The versions currently available at OSC are:
|2016||X||Versioning scheme was changed|
You can use
module spider abaqus to view available modules for a given machine. Feel free to contact OSC Help if you need other versions for your work.
Access for Academic Users
OSC's ABAQUS license can only be used for educational, institutional, instructional, and/or research purposes. Only users who are faculty, research staff, or students at the following institutions are permitted to utilized OSC's license:
- The Ohio State University
- University of Toledo
- University of Cincinnati
- University of Dayton
- University of Akron
Users from additional degree granting academic institutions may request to be added to this list per a cost by contacting OSC Help.
The use of ABAQUS for academic purposes requires validation. In order to obtain validation, please contact OSC Help for further instruction.
Access for Commercial Users
Contact OSC Help for getting access to ABAQUS if you are a commercial user.
Publisher/Vendor/Repository and License Type
Dassault Systemes, Commercial
ABAQUS software usage is monitored though a token-based license manager. This means every time you run an ABAQUS job, tokens are checked out from our pool for your 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 SBATCH directives. A minimum of 5 tokens are required per job, so a 1 node, 1 processor ABAQUS job would need the following SBATCH software flag:
#SBATCH -L abaqus@osc: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):
Usage on Owens
Set-up on OwensTo load the default version of ABAQUS, use
module load abaqus. To select a particular software version, use
module load abaqus/version. For example, use
module load abaqus/2022to load ABAQUS version 2022 on Owens.
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 files 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
Also, use the
abaqus help utility to list all the abaqus execution procedures.
Batch Usage on Owens
When you log into owens.osc.edu you are actually logged into a linux box referred to as the login node. To gain access to the mutiple processors in the computing environment, you must submit your ABAQUS analysis to the batch system for execution. Batch jobs can request mutiple nodes/cores and compute time up to the limits of the OSC systems. Refer to Queues and Reservations and Batch Limit Rules for more info.
Interactive Batch SessionFor an interactive batch session on Owens, one can run the following command:
sinteractive -A <project-account> -N 1 -n 28 -t 1:00:00 -L abaqus@osc:20which gives you 28 cores (
-N 1 -n 28) for 1 hour (
-t 1:00:00). You may adjust the numbers per your need.
Non-interactive Batch Job (Serial Run)
A batch script can be created and submitted for a serial or parallel run. You can create the batch script using any text editor you like in a working directory on the system of your choice.
Below is the example batch script (
job.txt ) for a serial run:
#!/bin/bash #SBATCH --time=1:00:00 #SBATCH --nodes=1 --ntasks-per-node=1 #SBATCH -L abaqus@osc:5 #SBATCH --account=<project-account> # # The following lines set up the ABAQUS environment # module load abaqus # cp *.inp $TMPDIR cd $TMPDIR # # Run ABAQUS # abaqus job=knee_bolster interactive # # Now, copy data (or move) back once the simulation has completed # cp * $SLURM_SUBMIT_DIR
In order to run it via the batch system, submit the
job.txt file with the command:
- 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. However, it is better practice to designate the main input file explicitly by adding
input=<my_input_file_name>.inpto the execution line:
abaqus job=knee_bolster input=<my_input_file_name>.inp interactive.
nodes=1(1<=ppn<=28 for Owens) for a serial run.
- If ppn>1, add
cpus=<n>to the execution line, where n=ppn:
abaqus job=test input=<my_input_file_name1>.inp cpus=<n> interactive.
Non-interactive Batch Job (Parallel Run)
Below is an example batch script (
job.txt ) for a parallel run:
#!/bin/bash #SBATCH --time=1:00:00 #SBATCH --nodes=2 --ntasks-per-node=28 --gres=pfsdir #SBATCH -L abaqus@osc:27 #SBATCH --account=<project-account> # # The following lines set up the ABAQUS environment # module load abaqus # # Cope input files to /fs/scratch and run Abaqus there # cp *.inp $PFSDIR cd $PFSDIR # # 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=$SLURM_NTASKS interactive # # Now, move data back once the simulation has completed # mv * $SLURM_SUBMIT_DIR
- If you request a partial node for a serial job (nodes=1:ppn<28), you need to add 'mp_mode=threads' option in order to get the full performance.
cpus=<n>in the execution line, where n=nodes*ppn.
- Everything else is similar to the serial script above.
- Usage of a user-defined material (UMAT) script in Fortran is limited on Owens as follows:
- abaqus 2017: correctly running on single and multi-nodes
- abaqus 6.14 and 2016: correctly running on a single node.