Abaqus is a finite element analysis software used for engineering simulations. Using Abaqus, you can find solutions about stress and strain, natural frequencies and mode shape, forced response, fatigue, and more. Documentation for Abaqus can be found on its official website.
Currently, Abaqus versions 2016 and 2017 are available on the cluster.
To use Abaqus through the command line, first load the Abaqus module, then use a command similar to below:
where jobname is used to specify the output file name for the job run, and inputscript.inp is the input file
with script to be run in Abaqus.
Abaqus input files, ending with the extension *.inp, describe the model and simulation to be performed.
abaqus job=jobname input=inputscript.inp
When running Abaqus jobs, it is advised that users create a new directory located in /data to store the data in, and a new directory in /work to run the job in.
Abaqus also provides sample input files, subroutine files, journal files, and parametric study script files in their Example Problems GuideThese files can be fetched from Abaqus using the command
abaqus fetch job=filename
where filename is the name of the file you would like to fetch. To fetch a specific file, use the file’s extension:
abaqus fetch job=filename.inp
Else, to fetch all files associated with that filename, leave the extension off.
1. Create an Abaqus input file. This repository provides the file tennis_surfcav.inp, which performs analysis on the impact of a tennis ball onto a racket, as well as the files tennis_ef1.inp and tennis_ef2.inp, which are referenced in the analysis.
2. Prepare the submission script, which is the script that is submitted to the Slurm scheduler as a job in order to run the Abaqus script.
3. Submit the job using
#!/bin/sh #SBATCH -o aba_out%j.out #SBATCH -e aba_err%j.err #SBATCH --ntasks-per-node=28 #SBATCH -N 1 #SBATCH -p defq ## this example simulates the impact of a tennis ball onto a racket ## creates a directory to throw all the files in located in /data, creates directory in /local to run the job in fdir=abaqus_test$SLURM_JOB_ID resultsDir=/data/userdata/$USER/$fdir mkdir /local/$fdir mkdir $resultsDir scratchDir=/local ## initializes locations of inFile and paramFile to be copied to local later inFile=/data/userdata/holdeman/abaqus-examples/tennis_surfcav.inp paramFile="/data/userdata/holdeman/abaqus-examples/tennis_ef1.inp /data/userdata/holdeman/abaqus-examples/tennis_ef2.inp" ## change into local directory where results file will be stored temp cd /local/$fdir ## copy over input file from home directory cp $inFile . ## copy over param files for f in $paramFile do cp $f . done ## loads the matlab module module load abaqus ## runs the abaqus job, giving it the name testP and using the tennis_surfcav file time abaqus job=aba_test \ scratch=$scratchDir \ cpus=$SLURM_JOB_CPUS_PER_NODE \ mp_mode=THREADS \ parallel=domain \ input=$inFile interactive ## copys the results to the created results directory cp -r * $resultsDir/ ## removes the results from local rm * cd /local rmdir $fdir echo 'done'
4.Examine the results by opening the new directory, abaqus_test. More information about what each file contains can be found in the Abaqus User’s Manual