General Information

GAUSSIAN is a general purpose computational chemistry software package initially released in 1970 by John Pople and his research group at Carnegie Mellon University as Gaussian 70. The name originates from Pople's use of Gaussian orbitals to speed up molecular electronic structure calculations as opposed to using Slater-type orbitals, a choice made to improve performance on the limited computing capacities of then-current computer hardware for Hartree–Fock calculations.

License Restrictions

  • GAUSSIAN may only be used by users or groups holding a valid license.
  • GAUSSIAN may only be used for academic and teaching purposes. Additionally, using the software for directly or indirectly engaging in competition with GAUSSIAN is strictly forbidden by the license conditions.
  • All scientific articles based on the usage of GAUSSIAN must contain suitable citations.
  • GAUSSIAN software installed on the HPC systems may only be used on these systems. It is strictly forbidden to copy any files or folders from the software installation folder.

Obtaining Access

The Insitut of Physics currently holds a site license of

  • GAUSSIAN09 version C.01
  • GAUSSIAN16 version C.02

According to the License Agreement, GAUSSIAN is restricted to users located at the Physics Insitute. Contact the team of IT-Physik to get access.

Running GAUSSIAN

Lmod modules

Obtaining a list of available GAUSSIAN versions

module spider gaussian

GAUSSIAN modules may only be loaded by users or groups holding a valid license and being part of the granting IdM-group rzhpc-gaussian-user .

Input File

GAUSSIAN is rather strict regarding the format of input files. Make sure empty lines are placed at all appropriate places, especially at the last line of the input file (which unfortunately is stripped by confluence in this example).

Sample GAUSSIAN input file formaldehyde.inp
%NProcShared=4
%mem=4GB
%chk=formal.chk
#P HF/6-31G(d) scf=verytight

test1 HF/6-31G(d) sp formaldehyde

0 1
C1
O2  1  r2
H3  1  r3  2  a3
H4  1  r4  2  a4  3  d4

r2=1.20
r3=1.0
r4=1.0
a3=120.
a4=120.
d4=180.

Note on parallization

At the moment only SMP-parallelization of GAUSSIAN using the --cpus-per-task sbatch option is supported. Up to 128 CPU cores may be requested this way rendering multi-node parallelization unnecessary. There is no license available for multinode parallelization (named LINDA). Therefore keep the values of --ntasks and --nodes at 1 at all times.

General purpose sbatch template

Make sure the number of CPUs is specified in the GAUSSIAN inputfile (e.g. line %NProcShared=8 ) and matches the --cpus-per-task Sbatch setting.

Jobscript g09.sl
#!/usr/bin/env bash
#SBATCH --job-name="g09"
#SBATCH --ntasks=1
# MAKE SURE THE NEXT LINE IS IN SYNC WITH INPUTFILE!
#SBATCH --cpus-per-task=4
#SBATCH --partition=epyc
#SBATCH --nodes=1
#SBATCH --mem-per-cpu=1G
#SBATCH --time=1-0

module purge
module load gaussian/g09

if [[ ! -f "$1" ]]; then
    echo "File $1 does not exist!"
    exit 1
fi

JOBFILE="$(basename $1)"

export GAUSS_SCRDIR=/tmp

echo - Calculation:\ \ \ \ Gaussian09 \($OMP_NUM_THREADS CPU\)
echo - Input File:\ \ \ \ \ $JOBFILE
echo - Host machine:\ \ \ $HOSTNAME
echo - I/O directory:\ \ $PWD
echo - SCF directory:\ \ $GAUSS_SCRDIR

JOBFILE_BASE=${JOBFILE%.*}

[[ -f $JOBFILE_BASE.rwf ]] && mv $JOBFILE_BASE.rwf $GAUSS_SCRDIR

timeout $((SLURM_JOB_END_TIME - $(date +%s) - 900)) g09 $JOBFILE $JOBFILE_BASE.out

[[ -f $GAUSS_SCRDIR/*.cub ]] && mv -av $GAUSS_SCRDIR/*.cub .
[[ -f $JOBFILE_BASE.chk ]] && formchk $JOBFILE_BASE.chk

sbatch script needs an argument

sbatch g09.sl formaldehyde.inp
Jobscript g16.sl
#!/usr/bin/env bash
#SBATCH --job-name="g16"
#SBATCH --ntasks=1
# MAKE SURE THE NEXT LINE IS IN SYNC WITH INPUTFILE!
#SBATCH --cpus-per-task=4
#SBATCH --partition=epyc
#SBATCH --nodes=1
#SBATCH --mem-per-cpu=1G
#SBATCH --time=1-0

module purge
module load gaussian/g16

if [[ ! -f "$1" ]]; then
    echo "File $1 does not exist!"
    exit 1
fi

JOBFILE="$(basename $1)"

export GAUSS_SCRDIR=/tmp

echo - Calculation:\ \ \ \ Gaussian16 \($OMP_NUM_THREADS CPU\)
echo - Input File:\ \ \ \ \ $JOBFILE
echo - Host machine:\ \ \ $HOSTNAME
echo - I/O directory:\ \ $PWD
echo - SCF directory:\ \ $GAUSS_SCRDIR

JOBFILE_BASE=${JOBFILE%.*}

[[ -f $JOBFILE_BASE.rwf ]] && mv $JOBFILE_BASE.rwf $GAUSS_SCRDIR

timeout $((SLURM_JOB_END_TIME - $(date +%s) - 900)) g16 $JOBFILE $JOBFILE_BASE.out

[[ -f $GAUSS_SCRDIR/*.cub ]] && mv -av $GAUSS_SCRDIR/*.cub .
[[ -f $JOBFILE_BASE.chk ]] && formchk $JOBFILE_BASE.chk

sbatch script needs an argument

sbatch g16.sl formaldehyde.inp

Running Gaussview

Gaussview can be started from the login-nodes using the bash alias gv defined by the Lmod module. Note that Gaussview5 is available with Gaussian09, and Gaussview6 with Gaussian16.

You need to enable X-Forwarding for your SSH session and load the Lmod module to make gv work.

Simplified queuing-script

For quick execution a simplified queuing-script g09q is provided. This script may be used for small calculations or teaching purposes as it makes some default assumptions regarding the requested memory (2G per CPU).

Submit a job using g09q

g09q 4 formaldehyde.inp

Submit a job using g16q

g16q 4 formaldehyde.inp

Support

If you have any problems with GAUSSIAN please contact the team of IT-Physik (preferred) or the HPC-Servicedesk.


  • Keine Stichwörter