Difference between revisions of "Abaqus Guide"

From Storrs HPC Wiki
Jump to: navigation, search
(Loading Abaqus Modules)
(Abaqus 2021)
 
(46 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 +
{{Infobox
 +
| name          = Abaqus
 +
| author        = 3DS
 +
| website        = [http://www.3ds.com/products-services/simulia/products/abaqus/ http://www.3ds.com/]
 +
| source        = Proprietary Closed Source
 +
| released      = 1978
 +
| category      = Finite-Element Analyzer
 +
| help          = [http://www.3ds.com/products-services/simulia/academics/learning-community/ Simulia Learning Community]<br/>[mailto:simulia.east.support@3ds.com simulia.east.support@3ds.com]
 +
}}
  
==Introduction to Abaqus FEA ==
+
The Abaqus FEA is a software suite for finite element analysis and computer-aided engineering, originally released in 1978 [https://en.wikipedia.org/wiki/Abaqus].
The Abaqus FEA (Dassault Systèmes Simulia, Providence, RI) is a software suite for finite element analysis and computer-aided engineering, originally released in 1978. Abaqus FEA has been installed and configured with LSF on Hornet. Currently, Abaqus 6.13, 6.12 and 6.11 are available on Hornet.
+
 
 +
'''IMPORTANT''': '''Do not''' run Abaqus from <code>sbatch</code> jobs.  Use an <code>abq*</code> command instead.  Unlike other modules, Abaqus FEA has been directly integrated with SLURM.
  
 
==Loading Modules==  
 
==Loading Modules==  
===Loading Abaqus Modules===  
+
=== Abaqus ===  
To use Abaqus 6.13 on Hornet you will need first load the Abaqus module using this command:
+
To use Abaqus 2017 on the cluster you will need first load the abaqus/2017 module using this command:
  '''module load abaqus/6.13'''
+
module avail abaqus  
To use Abaqus 6.12 on Hornet you will need first load the Abaqus module using this command:  
+
module load abaqus/2017
  '''module load abaqus/6.12'''
 
To load Abaqus 6.11, use this command instead:
 
  '''module load abaqus/6.11'''
 
Only one Abaqus version could be loaded in one session. For example, if Abaqus 6.11 has been loaded and you want to run Abaqus 6.13, at first you need to unload the Abaqus 6.11 module by using this command:
 
  '''module unload abaqus/6.11'''
 
Then, load the Abaqus 6.13 module.
 
  
===Loading FORTRAN Module===  
+
=== FORTRAN ===  
 
If you need to use FORTRAN subroutine with your simulation, load FORTRAN compiler as well:   
 
If you need to use FORTRAN subroutine with your simulation, load FORTRAN compiler as well:   
   '''module load intelics/2012.0.032'''
+
   module avail intelics
 +
  module load intelics/2015.3
  
===Loading Modules on Log-in===
+
=== Auto-load on log-in===
If you wish Abaqus and FORTRAN modulus to be loaded every time you log in, To do this run:
+
If you wish Abaqus 2017 and FORTRAN modulus to be loaded every time you log in:
   '''module initadd abaqus/6.12'''
+
   module initadd abaqus/2017
   '''module initadd intelics/2012.0.032'''
+
   module initadd intelics/2015.3
If you decide that you no longer want a specific module to be loaded every time, simply remove that line from your ~/.bashrc.
 
  
==Running Abaqus on LSF System==
+
You can undo this by removing those lines from your <code>~/.bashrc</code> file.
On Hornet Abaqus jobs are managed by LSF. To submit a job to Abaqus through LSF, [[File transfer between hosts|transfer your model input file]] to Hornet and run this command:
 
  '''abq6132 job=job-1 que=standard:fslocal'''
 
  
where “abq6132” is the command (case sensitivity) to invoke Abaqus FEA 6.13, “job-1” is the file name of your input file (job-1.inp) and “que=standard:fslocal” will allow Abaqus to run the simulation in a local file system. The simulation will most likely run on another compute node. The simulation result files will be copied back upon completion. To run ABAQUS in a shared file system, “que=strandard:fsshared” should be used instead.
+
== Running Abaqus ==
 +
Abaqus jobs are managed by SLURM.
 +
To submit a job to Abaqus, [[File transfer between hosts|transfer your model input file]] to the cluster and run this command:
 +
abq2017 job=FILE que=general:fslocal
  
If Abaqus 6.11 was loaded and you want to run Abaqus 6.11 through LSF, use "abq6111" instead.
+
where
  '''abq6111 job=job-1 que=standard:fslocal'''
+
; <code>abq2017</code>
 +
: Is the command (case sensitive) to invoke Abaqus 2017.
 +
; <code>FILE</code>
 +
: The name of your input (.inp) file without the file extension.
 +
; <code>que=general:fslocal</code>
 +
: Runs the Abaqus simulation on a local file system using the general partition (you can use any of the partitions from <code>sinfo -o %P</code>)
 +
: The simulation will run on another compute node and copy the result files upon completion.
 +
: To run ABAQUS in a shared file system, use <code>que=general:'''fsshared'''</code> instead.
  
===Running Abaqus Analysis with User's Subroutine ===  
+
=== Adding a user subroutine ===  
If a user's subroutine is adopted in the Abaqus model, run the command with "user" option.  
+
If a user subroutine is adopted in the Abaqus model, run the command with "user" option.
  '''abq6132 job=job-1 user=code.f que=standard:fslocal'''
+
abq2017 job=job-1 '''user=CODE.f''' que=general:fslocal
where ““code.f” is the file name of the user subroutine written in FORTRAN.
+
where
 +
; <code>CODE.f</code>
 +
: Is the file name of the user subroutine written in FORTRAN.
  
===Running a Parallel Abaqus Analysis===  
+
=== CPU parallel analysis ===  
If parallel computing is needed, run the command with "cpus" option.  
+
If parallel computing is needed, run the command with "cpus" option.
  '''abq6132 job=job-1 cpus=5 que=standard:fslocal'''
+
abq2017 job=file '''cpus=5''' que=general:fslocal
where “cpus=5” will request five CPUs to run the job. More CPUs will require more Abaqus license tokens to run.
+
where
 +
; <code>cpus=5</code>
 +
: Will request five CPUs to run the job. More CPUs will require more Abaqus license tokens to run.
  
===Checking the Status of Abaqus Jobs===
+
=== Unexpected end of file error ===
If you want to check the status of running Abaqus jobs, run this command if you are using a shared file system:
+
When submitting an abaqus job, you will see:
  '''tail -f job-1.sta'''
+
sh: -c: line 0: unexpected EOF while looking for matching `"'
where "job-1.sta" is the name of the status file. If you are running your job in a local file system, then you have to change the directory the specific folder and specific node to check the status of your job.
+
sh: -c: line 1: syntax error: unexpected end of file
 +
Submitted batch job 12345
 +
These sh warnings are harmless, and you can ignore them.
  
Normally when the simulation is finished, the HPC will send you an email showing the simulation is completed successfully or exited with error.
+
== Checking job status ==
 +
Run this command:
 +
  tail -f FILE.sta
 +
where
 +
; <code>FILE.sta</code>
 +
: Is the name of the status file.
 +
: If you are running your job in a local file system, then you have to change the directory the specific folder and specific node to check the status of your job.
 +
: Normally when the simulation is finished, the HPC will send you an email showing the simulation is completed successfully or exited with error.
  
 
===Terminating an Abaqus Analysis===  
 
===Terminating an Abaqus Analysis===  
 
If an analysis job needs to be terminated before completion, find the Job ID with this command.  
 
If an analysis job needs to be terminated before completion, find the Job ID with this command.  
   '''bjobs'''
+
   sjobs
 
which will list all the jobs are running. Then run this command to kill a specific job.  
 
which will list all the jobs are running. Then run this command to kill a specific job.  
   '''bkill (Job ID)'''
+
   scancel SLURM_JOB_ID
where “(Job ID)” is the ID number of the job you want to kill.
+
where
 +
; <code>SLURM_JOB_ID</code>
 +
: Is the SLURM ID number of the job you want to kill.
 +
 
 +
== Notes ==
 +
At this time, the Abaqus script and subroutines written in C++ have not been tested.
 +
 
 +
== Abaqus CAE/Viewer ==
 +
 
 +
To be able to launch the CAE or Viewer for Abaqus 2017, a X session would need to be set up when logging into the cluster.  Once a terminal session has been loaded with X enabled (either through X2Go or ssh -X), a fisbatch job would need to be submitted to the cluster.
 +
 
 +
Example fisbatch command to submit to the general partition:
 +
 
 +
fisbatch -N 1 -n 24 -p general
 +
 
 +
Once the job has been submitted and a node has been allocated, the abaqus/2017 module would need to be loaded.
 +
 
 +
module load abaqus/2017
 +
 
 +
After the abaqus/2017 module has been loaded in the fisbatch session, the GUI can be launched by using either of the following commands:
 +
 
 +
abq2017cae cae -mesa
 +
 
 +
or
 +
 
 +
abq2017cae viewer -mesa
 +
 
 +
== Abaqus 2021 ==
 +
 
 +
Abaqus/2021 will not support the login nodes at this time when using the wrapper script and que command option.
 +
 
 +
Abaqus/2021 will need a node with Red Hat 7 or newer.  Our Skylake and GPU nodes have Red Hat 7 that can support Abaqus/2021.
 +
 
 +
To submit an Abaqus/2021 job there are two options.
 +
 
 +
Here is an Example Submission script that will submit a job and assign 1 Skylake node under the generalsky partition:
 +
 
 +
#!/bin/bash
 +
#SBATCH -N 1
 +
#SBATCH -n 36
 +
#SBATCH -p generalsky
 +
 
 +
module purge
 +
module load abaqus/2021-RH7
 +
module load intelics
 +
abq2021 job=jobName input=input-file-namehere otheroptionshere
 +
 
 +
OR
 +
 
 +
You can submit a fisbatch job to generalsky and directly call abq2021 without the que option.
 +
 
 +
fisbatch -N 1 -n 36 -p generalsky 
 +
 
 +
Once the node is assigned:
 +
 
 +
module purge
 +
module load abaqus/2021-RH7
 +
module load intelics
 +
abq2021 job=jobName input=input-file-namehere otheroptionshere
 +
 
 +
== Abaqus License Info ==
 +
 
 +
{| class="wikitable"
 +
|-
 +
!
 +
! License Type
 +
! License Server
 +
! Tokens of Abaqus
 +
! Tokens of Abaqus Viewer(cae -mesa)
 +
|-
 +
| Abaqus 2019
 +
| RESEARCH
 +
| 27008@engr-license2.grove.ad.uconn.edu
 +
| 58
 +
| 10
 +
|-
 +
| Abaqus 2017
 +
| RESEARCH
 +
| 27008@engr-license2.grove.ad.uconn.edu
 +
| 58
 +
| 10
 +
|-
 +
| Abaqus 6.13
 +
| RESEARCH
 +
| 27008@ecs-license2.engr.uconn.edu
 +
| 58
 +
| 10
 +
|}
  
==Notes==
+
[[Category:Software]]
At this time, the Abaqus script written in C++ has not been tested.
 

Latest revision as of 09:47, 10 November 2021

Abaqus
Author 3DS
Website http://www.3ds.com/
Source Proprietary Closed Source
Category Finite-Element Analyzer
Help Simulia Learning Community
simulia.east.support@3ds.com


The Abaqus FEA is a software suite for finite element analysis and computer-aided engineering, originally released in 1978 [1].

IMPORTANT: Do not run Abaqus from sbatch jobs. Use an abq* command instead. Unlike other modules, Abaqus FEA has been directly integrated with SLURM.

Loading Modules

Abaqus

To use Abaqus 2017 on the cluster you will need first load the abaqus/2017 module using this command:

module avail abaqus 
module load abaqus/2017

FORTRAN

If you need to use FORTRAN subroutine with your simulation, load FORTRAN compiler as well:

 module avail intelics
 module load intelics/2015.3

Auto-load on log-in

If you wish Abaqus 2017 and FORTRAN modulus to be loaded every time you log in:

 module initadd abaqus/2017
 module initadd intelics/2015.3

You can undo this by removing those lines from your ~/.bashrc file.

Running Abaqus

Abaqus jobs are managed by SLURM. To submit a job to Abaqus, transfer your model input file to the cluster and run this command:

abq2017 job=FILE que=general:fslocal

where

abq2017
Is the command (case sensitive) to invoke Abaqus 2017.
FILE
The name of your input (.inp) file without the file extension.
que=general:fslocal
Runs the Abaqus simulation on a local file system using the general partition (you can use any of the partitions from sinfo -o %P)
The simulation will run on another compute node and copy the result files upon completion.
To run ABAQUS in a shared file system, use que=general:fsshared instead.

Adding a user subroutine

If a user subroutine is adopted in the Abaqus model, run the command with "user" option.

abq2017 job=job-1 user=CODE.f que=general:fslocal

where

CODE.f
Is the file name of the user subroutine written in FORTRAN.

CPU parallel analysis

If parallel computing is needed, run the command with "cpus" option.

abq2017 job=file cpus=5 que=general:fslocal

where

cpus=5
Will request five CPUs to run the job. More CPUs will require more Abaqus license tokens to run.

Unexpected end of file error

When submitting an abaqus job, you will see:

sh: -c: line 0: unexpected EOF while looking for matching `"'
sh: -c: line 1: syntax error: unexpected end of file
Submitted batch job 12345

These sh warnings are harmless, and you can ignore them.

Checking job status

Run this command:

 tail -f FILE.sta

where

FILE.sta
Is the name of the status file.
If you are running your job in a local file system, then you have to change the directory the specific folder and specific node to check the status of your job.
Normally when the simulation is finished, the HPC will send you an email showing the simulation is completed successfully or exited with error.

Terminating an Abaqus Analysis

If an analysis job needs to be terminated before completion, find the Job ID with this command.

 sjobs

which will list all the jobs are running. Then run this command to kill a specific job.

 scancel SLURM_JOB_ID

where

SLURM_JOB_ID
Is the SLURM ID number of the job you want to kill.

Notes

At this time, the Abaqus script and subroutines written in C++ have not been tested.

Abaqus CAE/Viewer

To be able to launch the CAE or Viewer for Abaqus 2017, a X session would need to be set up when logging into the cluster. Once a terminal session has been loaded with X enabled (either through X2Go or ssh -X), a fisbatch job would need to be submitted to the cluster.

Example fisbatch command to submit to the general partition:

fisbatch -N 1 -n 24 -p general

Once the job has been submitted and a node has been allocated, the abaqus/2017 module would need to be loaded.

module load abaqus/2017

After the abaqus/2017 module has been loaded in the fisbatch session, the GUI can be launched by using either of the following commands:

abq2017cae cae -mesa

or

abq2017cae viewer -mesa

Abaqus 2021

Abaqus/2021 will not support the login nodes at this time when using the wrapper script and que command option.

Abaqus/2021 will need a node with Red Hat 7 or newer. Our Skylake and GPU nodes have Red Hat 7 that can support Abaqus/2021.

To submit an Abaqus/2021 job there are two options.

Here is an Example Submission script that will submit a job and assign 1 Skylake node under the generalsky partition:

#!/bin/bash
#SBATCH -N 1
#SBATCH -n 36
#SBATCH -p generalsky
module purge
module load abaqus/2021-RH7
module load intelics
abq2021 job=jobName input=input-file-namehere otheroptionshere

OR

You can submit a fisbatch job to generalsky and directly call abq2021 without the que option.

fisbatch -N 1 -n 36 -p generalsky 

Once the node is assigned:

module purge
module load abaqus/2021-RH7
module load intelics
abq2021 job=jobName input=input-file-namehere otheroptionshere

Abaqus License Info

License Type License Server Tokens of Abaqus Tokens of Abaqus Viewer(cae -mesa)
Abaqus 2019 RESEARCH 27008@engr-license2.grove.ad.uconn.edu 58 10
Abaqus 2017 RESEARCH 27008@engr-license2.grove.ad.uconn.edu 58 10
Abaqus 6.13 RESEARCH 27008@ecs-license2.engr.uconn.edu 58 10