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).

Aktualisiert um 12:51 am 8. February 2021 von Gerd Pokorra