Abaqus is a finite-element software by SIMULIA. It is installed on the cluster in the version 2021. Caution: The operating system of the OMNI cluster (Rocky Linux 8.6) is not officially supported by Abaqus.
To use Abaqus, the following module needs to be loaded:
module load abaqus
A good entry point or beginners is the integrated help function of Abaqus, available with the command:
abaqus doc
Note that this command opens a window and you need to be logged in with X11 forwarding (ssh -X
) to use it.
The Abaqus documentation is also available from within the program.
Licensing
Abaqus may not be used for free on the cluster.
The Abaqus licenses at Uni Siegen are financed by the Fakultät IV. They may be used for non-commercial purposes in research and teaching. The costs are to be paid in December for the following year and are divided by all institutes which used Abaqus, depending on how much they used it. Minor usage or test computations are free however. For questions about licensing you need to contact Holger Poggel.
The available license tokens for each Abaqus module can be displayed with the command lmstat
. The lmstat
command also has additional options that may be displayed with lmstat -h
. For example, the command lmstat -a
will show a complete overview of all available Abaqus modules and the number of free license tokens for each module.
$ lmstat
lmutil - Copyright (c) 1989-2008 Acresso Software Inc. All Rights Reserved.
Flexible License Manager status on Thu 11/15/2012 16:33
...
The Abaqus environment was extended such that the option queue=tokens
can be used to determine the number of needed tokens for a job in advance, without running the computation.
$ abaqus -j myjob -queue tokens
Number of Tokens Required: 5
or alternatively:
$ abaqus j=myjob cpus=12 queue=tokens
Number of Tokens Required: 14
Using Abaqus
Abaqus has both a graphical user interface and a command line mode. The former can be accessed with
abaqus cae
Commands usually include the word abaqus
and at least one more command. Possible commands can be displayed with the abaqus help
command:
$ abaqus help
In the following execution procedures, "abaqus" refers to the command
used to run Abaqus.
Obtaining information
abaqus {help | information={environment | local | memory | release |
support | system | all} [job=job-name] | whereami}
...
Computations on the Cluster
Abaqus can run parallel computations because it uses MPI internally. However, each parallel process requires a license token and the cost increases accordingly. Additionally, enough free tokens need to be available when the job starts.
The usual procedure for Abaqus jobs is to run the Abaqus command with an input file:
abaqus job=<kobname> input=<inputfile.inp> cpus=$SLURM_NTASKS
Alternatively, the extensive Python functionality of Abaqus can be used by writing a Python script that calls Abaqus. The job script then just contains the call to the Python interpreter:
python3 <scriptname.py>
Tip for Numpy/Scipy users: Abaqus uses the datatypes "int32"
, "float32"
and "float64"
. When you specify the data type int
in Python, for example in a Numpy array, Abaqus will stop with an error message saying that 64 bit integers are nut supported. The recommended solution in that error message, using "int"
, is misleading because int
will default to 64 bit integers on the cluster. Instead it is necessary to use 32 bit integers explicitly (for example dtype="int32"
in the case of Numpy arrays).