You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Table of Contents

Gaussian at a glance

Purpose: electronic structure calculations
Latest version: Gaussian 09 E.01
Availability: all machines
Licence: closed-source
Documentation: User's Reference


Description

Gaussian is a program implementing a variety of computational chemistry methods.

The range of computational methods includes molecular mechanics, semi-empirical methods, Hartree-Fock SCF, Møller-Plesset perturbation theory, DFT methods, QM/MM calculations, CI methods and CC calculations. Calculations employing these methods can be carried out in order to optimise molecular geometry, electronic structure and derived chemical properties.

A more detailed description can be found here.

Gaussian operates under a closed-source licence. Please visit this page for information about Gaussian licences.


Available Versions

Important notice

Unlike most applications in our HPC machines, Gaussian isn't loaded via the Modules system.
Wrappers are provided for your convenience that automatically configure the running environment.

The currently available versions of Gaussian in our facilities are:

VersionWrapper
Gaussian 03 rev. D.02g03d2
Gaussian 03 rev. E.01g03e1
Gaussian 09 rev. A.02g09a2
Gaussian 09 rev. B.01g09b1
Gaussian 09 rev. C.01g09c1
Gaussian 09 rev. D.01g09d1
Gaussian 09 rev. E.01g09e1

More detailed information on versions can be found here.

Invoke the wrapper using the following syntax in the body of your script:

g09e1 input.com output.out

Benchmark


Gaussian 09 rev. D.01 benchmark at Pirineus: actual speed-up (green) and ideal speed-up (blue) vs. number of cores for an averaged set of calculations (Pople basis functions, HF and DFT, single-point and optimisation).


LSF example script: g09e1

#!/bin/bash
# IMPORTANT NOTICE: replace email address, job name
# and working directories with your own info
##
# BSUB -J jobname # as appears in the LSF queuing system
# BSUB -o jobname.log # send standard output here
# BSUB -e jobname.err # send error output here
#
# Pick a queue
# BSUB -q short
#
# Send an email notice once the job is finished
# BSUB -N -u youremail@wherever
#
# Indicate the number of cores
# BSUB -n 4
# Note that this option *overrides* the %NProcShared directive
# in the Gaussian input file
#
# Pick the machine
# span[hosts=1] ensures that Gaussian is run in shared-memory fashion
# BSUB -R "collserola span[hosts=1]"
 
date
 
cp input.com $TMPDIR
cd $TMPDIR

# Syntax of the Gaussian command is
# g09e1 [path/]inputfile [path/]outputfile
g09e1 input.com output.out

cp output.out $HOME

date

Place the appropriate LSF script in a file (for instance gaussian.lsf) and submit the job with the command

bsub < gaussian.lsf

Older versions:

#!/bin/bash
# IMPORTANT NOTICE: replace email address, job name
# and working directories with your own info
##
# BSUB -J jobname # as appears in the LSF queuing system
# BSUB -o jobname.log # send standard output here
# BSUB -e jobname.err # send error output here
#
# Pick a queue
# BSUB -q test
#
# Send an email notice once the job is finished
# BSUB -N -u youremail@wherever
#
# Indicate the number of cores
# BSUB -n 4
# Note that this option *overrides* the %NProcShared directive
# in the Gaussian input file
#
# Pick the machine
# span[hosts=1] ensures that Gaussian is run in shared-memory fashion
# BSUB -R "collserola select[g09d1] span[hosts=1]"
 
date

cp input.com $TMPDIR
cd $TMPDIR

# Syntax of the Gaussian command is
# g09d1 [path/]inputfile [path/]outputfile
g09d1 input.com output.out

cp output.out $HOME

date
#!/bin/bash
# IMPORTANT NOTICE: replace email address, job name
# and working directories with your own info
##
# BSUB -J jobname # as appears in the LSF queuing system
# BSUB -o jobname.log # send standard output here
# BSUB -e jobname.err # send error output here
#
# Pick a queue
# BSUB -q test
#
# Send an email notice once the job is finished
# BSUB -N -u youremail@wherever
#
# Indicate the number of cores
# BSUB -n 4
# Note that this option *overrides* the %NProcShared directive
# in the Gaussian input file
#
# Pick the machine
# span[hosts=1] ensures that Gaussian is run in shared-memory fashion
# BSUB -R "collserola select[g09c1] span[hosts=1]"
 
date
 
cp input.com $TMPDIR
cd $TMPDIR
 
# Syntax of the Gaussian command is
# g09c1 [path/]inputfile [path/]outputfile
g09c1 input.com output.out

cp output.out $HOME

date
#!/bin/bash
# IMPORTANT NOTICE: replace email address, job name
# and working directories with your own info
##
# BSUB -J jobname # as appears in the LSF queuing system
# BSUB -o jobname.log # send standard output here
# BSUB -e jobname.err # send error output here
#
# Pick a queue
# BSUB -q test
#
# Send an email notice once the job is finished
# BSUB -N -u youremail@wherever
#
# Indicate the number of cores
# BSUB -n 4
# Note that this option *overrides* the %NProcShared directive
# in the Gaussian input file
#
# Pick the machine
# span[hosts=1] ensures that Gaussian is run in shared-memory fashion
# BSUB -R "collserola select[g09b1] span[hosts=1]"
 
date
 
cp input.com $TMPDIR
cd $TMPDIR
 
# Syntax of the Gaussian command is
# g09b1 [path/]inputfile [path/]outputfile
g09b1 input.com output.out

cp output.out $HOME

date
#!/bin/bash
# IMPORTANT NOTICE: replace email address, job name
# and working directories with your own info
##
# BSUB -J jobname # as appears in the LSF queuing system
# BSUB -o jobname.log # send standard output here
# BSUB -e jobname.err # send error output here
#
# Pick a queue
# BSUB -q test
#
# Send an email notice once the job is finished
# BSUB -N -u youremail@wherever
#
# Indicate the number of cores
# BSUB -n 4
# Note that this option *overrides* the %NProcShared directive
# in the Gaussian input file
#
# Pick the machine
# span[hosts=1] ensures that Gaussian is run in shared-memory fashion
# BSUB -R "collserola select[g09a2] span[hosts=1]"
 
date

cp input.com $TMPDIR
cd $TMPDIR
 
# Syntax of the Gaussian command is
# g09a2 [path/]inputfile [path/]outputfile
g09a2 input.com output.out

cp output.out $HOME

date
#!/bin/bash
# IMPORTANT NOTICE: replace email address, job name
# and working directories with your own info
##
# BSUB -J jobname # as appears in the LSF queuing system
# BSUB -o jobname.log # send standard output here
# BSUB -e jobname.err # send error output here
#
# Pick a queue
# BSUB -q test
#
# Send an email notice once the job is finished
# BSUB -N -u youremail@wherever
#
# Indicate the number of cores
# BSUB -n 4
# Note that this option *overrides* the %NProcShared directive
# in the Gaussian input file
#
# Pick the machine
# span[hosts=1] ensures that Gaussian is run in shared-memory fashion
# BSUB -R "collserola select[g03e1] span[hosts=1]"
 
date
 
cp input.com $TMPDIR
cd $TMPDIR
 
# Syntax of the Gaussian command is
# g03e1 [path/]inputfile [path/]outputfile
g03e1 input.com output.out

cp output.out $HOME

date
#!/bin/bash
# IMPORTANT NOTICE: replace email address, job name
# and working directories with your own info
##
# BSUB -J jobname # as appears in the LSF queuing system
# BSUB -o jobname.log # send standard output here
# BSUB -e jobname.err # send error output here
#
# Pick a queue
# BSUB -q test
#
# Send an email notice once the job is finished
# BSUB -N -u youremail@wherever
#
# Indicate the number of cores
# BSUB -n 4
# Note that this option *overrides* the %NProcShared directive
# in the Gaussian input file
#
# Pick the machine
# span[hosts=1] ensures that Gaussian is run in shared-memory fashion
# BSUB -R "collserola select[g03d2] span[hosts=1]"
 
date

cp input.com $TMPDIR
cd $TMPDIR
 
# Syntax of the Gaussian command is
# g03d2 [path/]inputfile [path/]outputfile
g03d2 input.com output.out

cp output.out $HOME
 
date

Notes on using Gaussian

  • Please note that Linda is not supported on our system (i.e. only shared-memory paralellisation is supported). All Gaussian jobs must be run on a single node. Invoking the resource -R "span[hosts=1]" ensures this.
  • Gaussian code performs notoriously bad in highly parallel calculations. There is essentially no speed-up beyond ca. 16 cores.
  • Wrappers take care of setting the Gaussian environment. No "module load" action is required on behalf of the user.
  • Since it is a common mistake to set different number of cores in the Gaussian input file (via the Link0 instruction %NProcShared) and in the LSF batch script (via -n), the wrapper ensures both values match. The LSF option overrides the input file value.
  • A very common file format issue is that Gaussian requires an empty line at the end of the input file.

Tutorial

You can follow this tutorial about geometric optimisation with Gaussian to get hands-on with the program.


  • No labels