Abaqus
This example provides a minimum working example (MWE) for an ABAQUS calculation with a user-defined subroutine.
Distribution
Details on availability, versions and locations of ABAQUS are given on the software.lehigh.edu page. This page also has important notes on allowed uses for the teaching and research license pools; no consulting or other commercial work may be performed using either license pool.
Using ABAQUS
Load Abaqus with Lmod:
module spider abaqus module load abaqus/2023
Versions
We offer two versions:
module load abaqus/2019
module load abaqus/2023
Licensing
ABAQUS Licensing works differently from other licensed software. To run a ABAQUS job, a user needs to checkout tokens from the license server. There are only 85 tokens available for research use. The number of tokens required is based on the number of cpus being used and can be estimated using the formula: M = int(5 x N^0.422)
.
Cores (node * ntasks-per-node) |
Tokens needed |
---|---|
1 |
5 |
2 |
6 |
3 |
7 |
4 |
8 |
5 |
9 |
6 |
10 |
7 |
11 |
8 |
12 |
10 |
13 |
12 |
14 |
14 |
15 |
16 |
16 |
20 |
17 |
22 |
18 |
24 |
19 |
28 |
20 |
32 |
21 |
36 |
22 |
72 |
30 |
108 |
36 |
144 |
40 |
180 |
44 |
Please be considerate of other ABAQUS users and do not run multiple single core jobs in parallel. Instead run all your ABAQUS jobs in sequence or serially, each utilizing multiple cores. Research computing does not broker the use of these tokens, and makes no guarantees about availability. They are first-come, first-serve.
Configuration
The ABAQUS configuration is set by a file named abaqus_v6.env
. If you need to customize it, you should copy our default file to your home directory:
cp -av /share/Apps/abaqus/2019/DassaultSystemes/SimulationServices/V6R2019x/linux_a64/SMA/site/lnx86_64.env ~/abaqus_v6.env
User-defined routines
The env
file is written in Python. It points to Intel Fortran compilers necessary to compile user-defined routines. If you use the stock version, you might see this error:
Abaqus Warning: Keyword (academic) must be set to RESEARCH or TEACHING. Abaqus Error: The Abaqus teaching license cannot be used to run analyses that use user subroutines.
If you do, and you are performing research, you should add this line to the abaqus_v6.env
file, in your home directory at ~/abaqus_v6.env
or in the current working directory (which takes precedence over the copy in your home directory).
academic = RESEARCH
Note that RESEARCH
is not a string, hence it does not use quotes.
Warning: The file above comes from version 2019, but this copy of the env
file appears to work with Sol Intel compilers in the most recent testing on 2024.10.03. It may be necessary to further customize this file for user-defined routines in order to use the latest Intel compilers, especially after we upgrade the operating system or compilers at some point in the near future.
Example
To test Abaqus, we are using the following procedure:
CEPH=hpctraining_proj SPOT=$HOME/$CEPH/$USER/tmp-test-abaqus mkdir -p $SPOT cd $SPOT git clone https://github.com/davidmorinNTNU/ABAQUS_subroutines module load abaqus/2023 cp -av /share/Apps/abaqus/2019/DassaultSystemes/SimulationServices/V6R2019x/linux_a64/SMA/site/lnx86_64.env ~/abaqus_v6.env echo -e "academic = RESEARCH\n" >> ~/abaqus_v6.env cd ABAQUS_subroutines/MJC_example/ abaqus double job=example_VUHARD_MJC.inp user=VUHARD_MJC.f verbose=1