Difference between revisions of "Abaqus Guide"

From Storrs HPC Wiki
Jump to: navigation, search
(Remove big red warning, since Abaqus is usable.)
(Update instructions with SLURM commands; add infobox)
Line 1: Line 1:
==Introduction to Abaqus FEA ==
+
{{Infobox
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.
+
| 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]
 +
}}
 +
 
 +
The Abaqus FEA is a software suite for finite element analysis and computer-aided engineering, originally released in 1978.
 +
 
 +
Unlike other modules, Abaqus FEA has been directly integrated with SLURM and one uses an <code>abq*</code> command instead of directly using <code>sbatch</code>.
  
 
==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 6.13 on Hornet you will need first load the Abaqus 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/6.13
   '''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===
 
If you wish Abaqus 6.13 and FORTRAN modulus to be loaded every time you log in, to do this, run:
 
   '''module initadd abaqus/6.13'''
 
  '''module initadd intelics/2012.0.032'''
 
If you decide that you no longer want a specific module to be loaded every time, simply remove that line from your ~/.bashrc file.
 
 
 
==Running Abaqus on LSF System==
 
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.  
 
  
If Abaqus 6.11 was loaded and you want to run Abaqus 6.11 through LSF, use "abq6111" instead.  
+
=== Auto-load on log-in===
  '''abq6111 job=job-1 que=standard:fslocal'''
+
If you wish Abaqus 6.13 and FORTRAN modulus to be loaded every time you log in:
 +
  module initadd abaqus/6.13
 +
  module initadd intelics/2015.3
 +
You can undo this by removing those lines from your <code>~/.bashrc</code> file.
  
We are currently working on migrating Abaqus to use the SLURM scheduler.
+
== Running Abaqus ==
 +
Abaqus jobs are managed by SLURM.
 +
To submit a job to Abaqus, [[File transfer between hosts|transfer your model input file]] to Hornet and run this command:
 +
  abq6132 job=FILE que=Westmere:fslocal
  
===Running Abaqus Analysis with User's Subroutine ===
+
where
If a user's subroutine is adopted in the Abaqus model, run the command with "user" option.  
+
; <code>abq6132</code>
  '''abq6132 job=job-1 user=code.f que=standard:fslocal'''
+
: Is the command (case sensitive) to invoke Abaqus 6.13.
where ““code.f” is the file name of the user subroutine written in FORTRAN.
+
; <code>FILE</code>
 +
: The name of your input (.inp) file without the file extension.
 +
; <code>que=Westmere:fslocal</code>
 +
: Runs the Abaqus simulation on a local file system using the Westmere 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=Westmere:'''fsshared'''</code> instead.
  
===Running a Parallel Abaqus Analysis===  
+
=== Adding a user subroutine ===  
If parallel computing is needed, run the command with "cpus" option.  
+
If a user subroutine is adopted in the Abaqus model, run the command with "user" option.
   '''abq6132 job=job-1 cpus=5 que=standard:fslocal'''
+
   abq6132 job=job-1 '''user=CODE.f''' que=Westmere:fslocal
where “cpus=5” will request five CPUs to run the job. More CPUs will require more Abaqus license tokens to run.
+
where
 +
; <code>CODE.f</code>
 +
: Is the file name of the user subroutine written in FORTRAN.
  
===Checking the Status of Abaqus Jobs===
+
=== CPU parallel analysis ===  
If you want to check the status of running Abaqus jobs, run this command if you are using a shared file system:
+
If parallel computing is needed, run the command with "cpus" option.
   '''tail -f job-1.sta'''
+
   abq6132 job=file '''cpus=5''' que=Westmere:fslocal
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.
+
where
 +
; <code>cpus=5</code>
 +
: Will request five CPUs to run the job. More CPUs will require more Abaqus license tokens to run.
  
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)'''
+
   skill 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==
+
== Notes ==
 
At this time, the Abaqus script written in C++ has not been tested.
 
At this time, the Abaqus script written in C++ has not been tested.
  
 
[[Category:Software]]
 
[[Category:Software]]

Revision as of 13:59, 21 September 2015

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.

Unlike other modules, Abaqus FEA has been directly integrated with SLURM and one uses an abq* command instead of directly using sbatch.

Loading Modules

Abaqus

To use Abaqus 6.13 on Hornet you will need first load the Abaqus module using this command:

 module avail abaqus
 module load abaqus/6.13

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 6.13 and FORTRAN modulus to be loaded every time you log in:

 module initadd abaqus/6.13
 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 Hornet and run this command:

 abq6132 job=FILE que=Westmere:fslocal

where

abq6132
Is the command (case sensitive) to invoke Abaqus 6.13.
FILE
The name of your input (.inp) file without the file extension.
que=Westmere:fslocal
Runs the Abaqus simulation on a local file system using the Westmere 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=Westmere:fsshared instead.

Adding a user subroutine

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

 abq6132 job=job-1 user=CODE.f que=Westmere: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.

 abq6132 job=file cpus=5 que=Westmere:fslocal

where

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

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.

 skill 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 written in C++ has not been tested.