Gaussian

License agreement

In order to use Gaussian you have to agree to the following conditions.

  1. I am not a member of a research group developing software competitive to Gaussian.

  2. I will not copy the Gaussian software, or make it available to anyone else.

  3. I will properly acknowledge Gaussian Inc. in publications.

Please contact support with a copy of the following statement, to add your user ID to the Gaussian UNIX group.

Limitations

Only the latest version Gaussian 16 is currently supported on our software stack.

“Linda parallelism”, Cluster/network parallel execution of Gaussian, is not supported at any of our systems. Only “shared-memory multiprocessor parallel execution” is supported, therefore no Gaussian job can use more than a single compute node.

Description

Gaussian 16 is the latest in the Gaussian series of programs. It provides state-of-the-art capabilities for electronic structure modeling.

QuickStart

Environment modules

The following versions have been installed: Modules for running on CPUs

VersionInstallation Pathmodulefile
Gaussian 16 Rev. C.02/sw/chem/gaussian/16-C.02/gaussian/16-C.02

Modules for running on GPUs

VersionInstallation Pathmodulefile

Please contact support if you need access to a GPU version.

GPU Job Performance

GPUs are effective for DFT calculations, for both the ground and excited states for larger molecules. However, they are not effective for smaller jobs or for use in post-SCF calculations such as MP2 or CCSD.

Job submissions

Besides your Gaussian input file you have to prepare a job script to define the compute resources for the job; both input file and job script have to be in the same directory.

Default runtime files (.rwf, .inp, .d2e, .int, .skr files) will be saved only temporarily in $LOCAL_TMPDIR on the compute node to which the job was scheduled. The files will be removed by the scheduler when a job is done.

If you wish to restart your calculations when a job is finished (successful or not), please define the checkpoint (file_name.chk) file in your G16 input file (%Chk=route/route/name.chk).

CPU jobs

Because only the “shared-memory multiprocessor” parallel version is supported, your jobs can use only one node and up to 96 maximum cores per node.

CPU job script example

#!/bin/bash
#SBATCH --time=12:00:00                # expected run time (hh:mm:ss)
#SBATCH --partition=standard96:ssd     # Compute Nodes with installed local SSD storage
#SBATCH --mem=16G                      # memory, roughly 2 times %mem defined in the input name.com file
#SBATCH --cpus-per-task=16             # No. of CPUs, same amount as defined by %nprocs in the filename.com input file
 
module load gaussian/16.C02
 
g16 filename.com                       # g16 command, input: filename.com

GPU jobs

Because only the “shared-memory multiprocessor” parallel version is supported, your jobs can use only one node up to 4 GPUs per node.

#!/bin/bash
#SBATCH --time=12:00:00                # expected run time (hh:mm:ss)
#SBATCH --partition=gpu-a100           # Compute Nodes with installed local SSD storage
#SBATCH --nodes=1                      # number of compute node
#SBATCH --mem=32G                      # memory, roughly 2 times %mem defined in the input name.com file
#SBATCH --ntasks=32                    # No.CPUs plus the number of control CPUs same amount as defined by %cpu in the filename.com input file
#SBATCH --gres=gpu:4                   # No. GPUs same amount as defined by %GPUCPU in the filename.com input file  
 
module load cuda/11.8
module load gaussian/16.C02  
 
g16 filename.com                       # g16 command, input: filename.com

Specifying GPUs & Control CPUs for a Gaussian Job

The %GPUCPU Link 0 command specifies which GPUs and associated controlling CPUs to use for a calculation. This command takes one parameter:

%GPUCPU=gpu-list=control-cpus

For example, for 2 GPUs, a job which uses 2 control CPU cores would use the following Link 0 commands:

%CPU=0-1 #Control CPUs are included in this list.
%GPUCPU=0,1=0,1

Using 4 GPUs and 4 control CPU cores:

%CPU=0-3 #Control CPUs are included in this list.
%GPUCPU=0,1,2,3=0,1,2,3

Using 4 GPUs and a total of 32 CPU cores including 4 control CPU cores :

%CPU=0-31 #Control CPUs are included in this list.
%GPUCPU=0,1,2,3=0,1,2,3

Interactive jobs

Example for CPU calculations:

~ $ salloc -t 00:10:00 -p standard96:ssd -N1 –tasks-per-node 24
~ $ g16 filename.com

Exmaple for GPU calculations:

~ $ salloc -t 00:10:00 -p gpu-a100 -N1 –ntasks=32
~ $ g16 filename.com

Restart calculations from checkpoint files

opt=restart

Molecular geometry optimization jobs can be restarted from a checkpoint file. All existing information; basis sets, wavefunction and molecular structures during the geometry optimization can be read from the checkpoint file.

%chk=filename.chk
%mem=16GB
%nprocs=16
# method chkbasis guess=read geom=allcheck opt=restart

#restart

The same restarting can be done for vibrational frequency computations.

%chk=filename.chk
%mem=16GB
%nprocs=16
# restart

Input file examples

Example for CPU calculations:

%nprocshared=8
%mem=2GB
# opt freq hf/3-21g

water

0 1
 O                 -1.41509432    0.66037740    0.00000000
 H                 -0.45509432    0.66037740    0.00000000
 H                 -1.73554890    1.56531323    0.00000000

Example for GPU calculations:

%mem=60GB
%CPU=0-1
%gpucpu=0,1=0,1
# opt apfd/6-31g(d) 

Title Card Required

0 1
 H                 -1.62005626   -0.35225540   -2.17827284
 O                 -0.69040026   -0.26020540   -1.95721784
 C                  0.05363374   -1.42984340   -1.56739684
 H                  0.03664274   -2.15867240   -2.37771784
 H                 -0.39674326   -1.86734240   -0.67641084
 C                  1.49463474   -1.05242940   -1.26495084
 H                  1.95172974   -1.82638340   -0.64837984
 O                  2.25960874   -1.07605340   -2.50827584
 C                  2.52702374    0.24992160   -2.94034084
 H                  3.60463674    0.40494860   -2.99342284
 N                  2.08334474    0.41467260   -4.39529984
 C                  0.78450474    0.65742260   -4.75722384
 H                  0.01937274    0.74075160   -3.99957584
 C                  0.44489674    0.84873160   -6.03927884
 C                 -0.97416626    1.11515060   -6.44582584
 H                 -1.32766726    2.02397360   -5.95881584
 H                 -1.02551326    1.23965460   -7.52747384
 H                 -1.60197226    0.27569760   -6.14703084
 C                  1.43961274    0.80465860   -7.07956584
 O                  1.22246674    0.96788160   -8.27919384
 N                  2.71853974    0.55507960   -6.62518984
 H                  3.50692174    0.51228860   -7.37666884
 C                  3.09832674    0.35430460   -5.31375884
 O                  4.25975474    0.13920960   -5.00843984
 C                  1.71110074    0.35738160   -0.71134984
 H                  0.83321974    0.66365860   -0.14247484
 C                  1.81887774    1.20664860   -1.97943084
 H                  1.03067374    1.95953060   -1.98119884
 H                  2.79097274    1.69901160   -2.00606484
 O                  2.89563774    0.56735060    0.04309416
 H                  3.00903374    1.45926360    0.37959516

Software Testing

The outputs of the full run of the gaussian testsuite can be found at $g16root/test-results/.