===== Gaussian ===== [[http://gaussian.com|Gaussian]] ==== Job Gaussian MPI ==== Example script ''slurm-gaussian16-mpi.sh'' to run Gaussian 16 on 1 node using 28 cores and at most 80 GB of memory: #!/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" Example script ''slurm-gaussian16-mpi-exclusive.sh'' to run Gaussian 16 on 1 node in exclusive mode: #!/bin/bash #SBATCH --job-name=gaussian16_mpi #SBATCH --output=%x.%j.out #SBATCH --error=%x.%j.err #SBATCH --nodes=1 #SBATCH --exclusive #SBATCH --mem=0 #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" Submission example: sbatch --job-name=test0322 slurm-gaussian16-mpi.sh Use **%nosave** directive in .com input file to automatically delete the configuration binary file .chk