Gaussian

Gaussian requires membership in a specific POSIX group to function. Before you can run Gaussian you will need to email muitrss@missouri.edu to be added to the group.

Gaussian 16 is the latest in the Gaussian series of programs. It provides state-of-the-art capabilities for electronic structure modeling. Gaussian 16 is licensed for a wide variety of computer systems. All versions of Gaussian 16 contain every scientific/modeling feature, and none imposes any artificial limitations on calculations other than your computing resources and patience.


Usage

To run this example you will need the following SBATCH file and input file in a folder called /data/${USER}/gauss_test.

mkdir /data/${USER}/gauss_test
cd /data/${USER}/gauss_test

Your results should look like this:

[jgotberg@lewis4-r710-login-node223 ~]$ mkdir /data/${USER}/gauss_test
[jgotberg@lewis4-r710-login-node223 ~]$ cd /data/${USER}/gauss_test
[jgotberg@lewis4-r710-login-node223 gauss_test]$ pwd
/data/jgotberg/gauss_test

Gaussian Input File

Now create the SBATCH file using a text editor. In the example below the gauss_job.sh file assumes that h20.com has the path /data/${USER}/gauss_test/. You will want to make sure to replace the placeholders X.Y in the module load gaussian/gaussian-X.Y line with the latest version. If you want to receive the email notifications replace user@missouri.edu with your email address.

You will need to replace X.Y with the specific Gaussian module you want to load

gauss_job.sh:

#!/bin/bash -
#-------------------------------------------------------------------------------
#  SBATCH CONFIG
#-------------------------------------------------------------------------------
## resources
#SBATCH -N1  # nodes
#SBATCH -n4  # tasks (cores)
#SBATCH --ntasks-per-node=4  # how many tasks per node
#SBATCH --mem-per-cpu=4G  # memory required per core
#SBATCH -t 0-02:00  # time (days-hours:minutes)
#
## housekeeping
#SBATCH -p General  # partition (which set of nodes to run on)
#SBATCH -o gauss_h2o-%j.out  # filename for the output from this job (%j is the job#)
#SBATCH -J gauss_h2o  # job name - shows up in sacct and squeue
#
## notifications
#SBATCH --mail-user=user@missouri.edu
#SBATCH --mail-type=END,FAIL
#
#-------------------------------------------------------------------------------

## Load the Gaussian Module
module load gaussian/gaussian-16-A.03
module list

## Run Gaussian
echo "### Starting Gaussian ###"
g16 < /data/${USER}/gauss_test/h2o.com

echo "### All Done ###"

Gaussian input file

Now create the following Gaussian input file. The number of cores in the SBATCH file (-n 4) must match the number of cores in the Gaussian input file (%NProcShared=4). You will also need a blank space at the end of the h20.com file for it to work in all cases.

h2o.com:

%Chk=water
%NProcShared=4
%mem=9GB
#RHF/6-31G(d)

water energy

0  1
O
H  1  1.0
H  1  1.0  2  105.0


Be sure to have an empty line at the end of the file or you will receive an error in the output file

Submitting the job

Once we have the SBATCH and Gaussian input files created we can start the test.

sbatch gauss_job.sh

Sample output

[jgotberg@lewis4-r710-login-node223 gaussian]$ sbatch gauss_job.sh
Submitted batch job 254952

[jgotberg@lewis4-r710-login-node223 gaussian]$ sacct
       JobID    JobName  Partition    Account  AllocCPUS      State ExitCode
------------ ---------- ---------- ---------- ---------- ---------- --------
...
254952        gauss_h2o    General engineeri+          4  COMPLETED      0:0
254952.batch      batch            engineeri+          4  COMPLETED      0:0

[jgotberg@lewis4-r710-login-node223 gaussian]$ cat gauss_h2o-254952.out
Currently Loaded Modulefiles:
  1) gaussian/gaussian-D.01
### Starting Gaussian ###
 Entering Gaussian System, Link 0=g09
 Initial command:
 /cluster/software/gaussian/gaussian-16-A.03/avx2/g16/l1.exe "/local/scratch/jgotberg/Gau-10173.inp" -scrdir="/local/scratch/jgotberg/"
 Entering Link 1 = /cluster/software/gaussian/gaussian-16-A.03/avx2/g16/l1.exe.exe PID=     10174.

 Copyright (c) 1988,1990,1992,1993,1995,1998,2003,2009,2013,
            Gaussian, Inc.  All Rights Reserved.
...
 lots of output here
...
 Job cpu time:       0 days  0 hours  0 minutes  4.4 seconds.
 File lengths (MBytes):  RWF=      5 Int=      0 D2E=      0 Chk=      2 Scr=      1
 Normal termination of Gaussian 09 at Fri Dec  9 10:13:16 2016.
All Done

GaussView

From http://gaussian.com/gaussview6/. "GaussView 6 is the latest iteration of a graphical interface used with Gaussian. It aids in the creation of Gaussian input files, enables the user to run Gaussian calculations from a graphical interface without the need for using a command line instruction, and helps in the interpretation of Gaussian output (e.g., you can use it to plot properties, animate vibrations, visualize computed spectra, etc.)."

To use GaussView, first load your chosen Gaussian module, then run gview.sh. In the following example, we will use gaussian/gaussian-16-A.03.

Command:

module load gaussian/gaussian-16-A.03
gview.sh

Output:

[quinnm@lewis4-r630-hpc3-node242 ~]$ module load gaussian/gaussian-16-A.03
[quinnm@lewis4-r630-hpc3-node242 ~]$ gview.sh
Xlib:  extension "SYNC" missing on display "10.46.70.241:15.0".
...

NOTE

If you get a window that states "OpenGL is not available", run export USE_MESAGL=1 before running gview.sh

gview.sh