====== Gaussian ======
Launch this script shown below by typing: \\
qsub jobscript_gaussian16.sh [name_of_your_job] \\
OR substitute NAME=$1 by NAME=[name_of_your_job] and launch as: \\
qsub jobscript_gaussian16.sh \\
**Remark:**
Please ensure the value for NProcShared within the Gaussian input equals the number of threads you demand by -pe mp [no_threads]
\\
\\
#!/bin/bash --login
##### example for an OpenMP Gaussian run with 4 CPU
#$ -cwd
##### please define your own job resources
# time in hh:mm:ss
#$ -l h_rt=00:30:00
#$ -l mem_free=4G
# IMPORTANT: ensure that %NProcShared within
# gaussian input is set to same value
#$ -pe mp 4
#$ -N jobname
#$ -e jobname_err.out
#$ -o jobname_stdout.out
#$ -j n
#$ -m n
##########
# saves current directory; where output goes
STOREDIR=$PWD
NAME=$1
# strip off file extension
COMNAME=${1/.*/}
if [ ! -s $STOREDIR/$NAME ]; then
echo "Error: Job input file $STOREDIR/$NAME does not exist!"
exit 1
fi
# create temporary directory for .rwf and .chk files
# create unique tmpdir with random name
#SCRATCHDIR=$(mktemp -d /scratch/$USER/gaussian.XXXXXXX)
# tmpdir per job ID
if [ -n "$TASK_ID" ]
then
SCRATCHDIR=/scratch/$USER/gaussian_${JOB_ID}_$TASK_ID
else
SCRATCHDIR=/scratch/$USER/gaussian_$JOB_ID
fi
# don't forget to create recursively
mkdir -p $SCRATCHDIR
# export location for Gaussian scratch directory
export GAUSS_SCRDIR=$SCRATCHDIR
# copy job files to tmpdir
# in case of one .chk file with same name, uncomment this
#if [ -e $STOREDIR/$COMNAME.chk ] ; then
#cp $STOREDIR/$COMNAME.chk $SCRATCHDIR
#fi
# if several .chk files need to be copied
cp $STOREDIR/*.chk $SCRATCHDIR
# copy the job input file
cp $STOREDIR/$NAME $SCRATCHDIR
# job starts
# change to tmpdir
cd $SCRATCHDIR
# and start of job run
module load g16
g16 < $NAME > $STOREDIR/$COMNAME.out
# job ends
# gives some info about the space left on scratch
if [ -n "$TASK_ID" ]
then
df -B GB /scratch > scratch_info_${JOB_ID}_$TASK_ID.out
else
df -B GB /scratch > scratch_info_$JOB_ID.out
fi
# copy files and chdir to job directory
mv -f $SCRATCHDIR/*.chk $STOREDIR ; cd $STOREDIR
# creation of formatted chk (if needed), use with caution for big chk files
# formchk $COMNAME.chk
#clean up
rm -fr $SCRATCHDIR
\\
date of revision: 02-14-2020 © kraus