#!/bin/bash #SBATCH --job-name=gaussian16_mpi #SBATCH --output=%x.%j.out #SBATCH --error=%x.%j.err #SBATCH --nodes=1 #SBATCH --ntasks-per-node=28 #SBATCH --mem=80G #SBATCH --time=1-00:00:00 #SBATCH --partition=cpu # # Edit next line #SBATCH --account= test -n "$SLURM_NODELIST" || exit test $SLURM_NNODES -eq 1 || exit module load gaussian/16.B01 if [ ! -e "${SLURM_JOB_NAME}.com" ]; then echo "Error: file '${SLURM_JOB_NAME}.com' not found." 1>&2 exit 1 fi mkdir -p "$GAUSS_SCRDIR" GAUSSIAN_MEM="$((SLURM_MEM_PER_NODE*90/100))MB" echo -e "%NProcShared=${SLURM_TASKS_PER_NODE}\n%Mem=${GAUSSIAN_MEM}\n%chk=${SLURM_JOB_NAME}.${SLURM_JOB_ID}.chk" > "${SLURM_JOB_NAME}.${SLURM_JOB_ID}.com" egrep -i -v '^%(NProcShared|Mem|chk)' "${SLURM_JOB_NAME}.com" >> "${SLURM_JOB_NAME}.${SLURM_JOB_ID}.com" sed -i -r -e "s/(\-\-Link1\-\-)/\1\n%NProcShared=${SLURM_TASKS_PER_NODE}\n%Mem=${GAUSSIAN_MEM}\n%chk=${SLURM_JOB_NAME}.${SLURM_JOB_ID}.chk/g" \ "${SLURM_JOB_NAME}.${SLURM_JOB_ID}.com" g16 "${SLURM_JOB_NAME}.${SLURM_JOB_ID}.com" "${SLURM_JOB_NAME}.${SLURM_JOB_ID}.log"