--
AdminUser - 02 Nov 2020
ABAQUS at UTSA
Introduction
ABAQUS is a software suite from Dassault Systems. It can be used for finite element analysis and computer-aided engineering.
The ABAQUS software is used on UTSA resources for projects from a variety of domains, such as petroleum engineering, biomedical engineering, and aerospace engineering.
Requesting access to ABAQUS
In order to use ABAQUS on UTSA resources, the allowed users (UTSA users or those having their own ABAQUS license), will need to submit a request for getting added to the ABAQUS group through the ticket system. In their request, the potential ABAQUS users would need to agree to use ABAQUS for purely academic purposes. The non-UTSA users, will need to provide their license/PO number in addition to agreeing to use the software for academic purposes. Once a user’s request has been approved, they are added to the “abaqus” group in UTSA’s accounting system. Users would then wait for about 30 minutes for the group changes to propagate across UTSA systems before they can start using ABAQUS.
ABAQUS License Tokens
UTSA has a number of license tokens available for ABAQUS. The license server name can be requested through the ticket system. For this document, let us assume that the license server is at: “port-number@license-server”. In order to use this license server, the ABAQUS users should add the following line to their job script:
export ABAQUSLM_LICENSE_FILE=port-number@license-server
Setting the aforementioned environment variable on the login node before submitting the job will also work.
Users can also set the information about the license server by setting the value of “abaquslm_license_file” in the “abaqus_v6.env” file. For example:
abaquslm_license_file="port-number@license-server”
UTSA has a limited number of license tokens. To reduce the wait time in checking out the required number of license tokens from UTSA’s license server, users are encouraged to use their own license tokens (from their local license server) if they have the option to do so.
When using their own licenses, the users might need to work with the administrator of their license server to open their firewalls for accepting connections from UTSA resources. Their license server administrator would need the range of IP addresses of the UTSA systems (SHAMU) on which the users want to run their ABAQUS jobs. The list of IP addresses of UTSA resources is provided towards the end of this document. Users will then use the port number and hostname of their license server to set the values of
“ABAQUSLM_LICENSE_FILE” in either their job-script or the value of “abaquslm_license_file” in the “abaqus_v6.env” file as explained above.
To verify status of license tokens for ABAQUS:
$ /path-to-abaqus/abaqus licensing lmstat -a > checkLicenseABAQUSInfo
Running ABAQUS
- Please do not run ABAQUS jobs on a login node. All jobs should be run on a compute node. You might want to run the “idev” command on the login node to get interactive access to a compute node for doing any quick testing and development. For running the job in the batch mode, please use the SLURM job script - example of a job script is pasted below in point # 7.
- We have two versions of ABAQUS installed on LS5 - ABAQUS 2016 and ABAQUS_6.14 as per user requests. The ABAQUS executables for these versions are available at the following paths on LS5: /opt/apps/abaqus2016/commands, /opt/apps/abaqus_6_14/Commands . Please replace “/path-to-abaqus/” in the explanation below with the one of these aforementioned paths.
- For checking how many ABAQUS license tokens are available, run the following command and check the contents of the file named “checkLicenseABAQUSInfo”:
/path-to-abaqus/ abaqus licensing lmstat -a > checkLicenseABAQUSInfo
For checking some more information regarding ABAQUS (shows installation related information along with information on how many tokens are checked out etc):
/path-to-abaqus/abaqus/ information=all >AllInformation
After running the afoementioned command, one can then check the contents of the file named “AllInformation”.
- Add an environment file in your local working directory - from where you run ABAQUS. The name of the file should be “abaqus_v6.env” for the current version:
login2.ls5(50)$ cat abaqus_v6.env
ask_delete=OFF
scratch="path-to-the location where the files should be written"
mp_mode=MPI
run_mode=INTERACTIVE
memory="50 gb"
abaquslm_license_file="port-number@license-server"
lmhanglimit=5
Note: ABAQUS jobs will keep checking for licensing tokens till the time the required number of tokens become available or the jobs time-out of the queue. In order to save SUs in the event the tokens are not available for usage, the users should have this line here. "5" in the line “lmhanglimit=5” means that ABAQUS will only wait for a license token for 5 minutes.
- For testing the installation run the following commands on a compute node:
unset SLURM_GTIDS
/path-to-abaqus/abaqus input=adams_inst.inp job=test interactive
The aforementioned command will block until completion or give an error. One can check the log file (<job-name>.log). If no error, it should say the job checked out licenses and completed successfully.
- For compiling user modules on the login nodes:
/path-to-abaqus/abaqus make library=<sourcefile>
Place resulting files (<sourcefile-basenme>-o, <sourcefile-basename>.so) into a directory: /path-to-the-directory/abaqus_libs
In the “abaqus_v6.env” file, add the following line:
usub_lib_dir=“/path-to-the-directory/abaqus_libs”
- For getting an input file from the examples directory, the following command will work - notice fetch
/path-to-abaqus/abaqus fetch job=knee_bolster
- In order to debug the ABAQUS errors, users might find it useful to run the abaqus commands with the verbose option. They can set verbose to “3” for getting all the details about their run. For example:
/path-to-abaqus/ abaqus cpus=1 input=adams_ex1.inp job=test2 interactive scratch="." verbose=3
- Following job-script shows an example of running ABAQUS in parallel, on more than one nodes on the SHAMU system - please adjust the number of nodes and number of cores needed per node (please refer to the user-guide for more information on these):
#!/bin/bash
#SBATCH -J Job-1 # Job name
#SBATCH -o Job-1.o%j # Name of stdout output file
#SBATCH -e Job-1.e%j # Name of stderr error file
#SBATCH -A defq # Queue (partition) name
#SBATCH -N 1 # Total # of nodes (must be 1 for serial)
#SBATCH -n 2 # Total # of mpi tasks (should be 1 for serial)(cores)
#SBATCH -t 00:04:00 # Run time (hh:mm:ss)
module load abaqus/2017 # maybe change shared
abaqus job=Job-1 \
input=Job-1.inp -verbose 3 cpus=2 mp_mode=mpi \
standard_parallel=all interactive scratch="."
- If any X11 forwarding is needed on SHAMU you will need to use our On-Demand Portal. Instructions on how to use our portal are here: https://hpcsupport.utsa.edu/foswiki/bin/view/Main/UsingTheOnDemandPortal
This will give a Desktop interface on SHAMU to utilize full GUI applications.
UTSA Resources IP Address Range
System | Head/Login Nodes |
SHAMU
|
10.242.128.105 - .108
|
| |
| |