Skip to content


Gaussian is an electronic structure program, starting from the fundamental laws of quantum mechanics, Gaussian predicts the energies, molecular structures, vibrational frequencies and molecular properties of molecules and reactions in a wide variety of chemical environments.

Gaussian is available as a module on Apocrita.


To run the default installed version of Gaussian, simply load the gaussian module:

module load gaussian

then run Gaussian, depending on the version the binary will be named differently:

# Gaussian g09_D01
g09 < input-file > output_file
# Gaussian g16
g16 < input-file > output_file

Gaussian Licensing

QMUL have a cluster licence for Gaussian installed on Apocrita, this licence only allows use by QMUL employees.

QMUL have a licence for GaussView, requests for this must go via the IT Services Helpdesk.

Core Usage

When the Gaussian module is loaded in a job, it will automatically set GAUSS_PDEF (for Gaussian g09_D01) or GAUSS_CDEF (for Gaussian g16) to the value of SGE_BINDING, which contains a list of the CPU cores bound to the job. These variables ensure that Gaussian will only use the cores requested by the job script.

Note that any core settings on the command line or in the input file will override this.

Please be aware that if you use the nproc option, this must use the value of NSLOTS (number of cores requested by the job script), to avoid overloading the compute nodes.

Segmentation violations

If Gaussian returns a Segmentation Violation then you may need to give it more memory. Memory for Gaussian is specified in two places, the job script and the .com file:

Job script:

#$ -pe smp 4
#$ -l h_vmem=2G

.com file:


The %mem request must be 1-4G less than the h_vmem request

Gaussian uses about 1-4GB already so the memory stated in the .com file must be less than the SGE request.

If your jobs run out of memory try setting %mem to a lower value.

It's important to note that whilst the job script h_vmem is multiplied by number of cores, the .com file is not and the full value must be specified.

Example jobs

Serial job

Here is an example job running on 4 cores.

#$ -cwd
#$ -j y
#$ -pe smp 4
#$ -l h_rt=1:0:0
#$ -l h_vmem=2G

module load gaussian

g16 < input-file > output_file