Hprc banner tamu.png

SW:Gaussian

From TAMU HPRC
Jump to: navigation, search

Gaussian & GaussView 6

Gaussian is restricted software.

Usage of this software is restricted to Laboratory for Molecular Simulation (LMS) subscribers. If you believe you are eligible to use Gaussian on our clusters, please email the HPRC Help Desk with the request and justification.

Description

Gaussian is a software package used for calculating molecular electronic structure and properties. Gaussian is used by chemists, chemical engineers, biochemists and physicists for research in established and emerging areas of chemical interest. This package includes a wide range of ab initio and semi-empirical methods for energy, gradient, frequency and property calculations.
GaussView 6 is the latest version of a graphical interface that is native to Gaussian. It enables users to create Gaussian input files from a graphical interface and visualize the calculation results (plot molecular orbitals and other properties, animate vibrations, visualize predicted spectra, etc.).
Homepage: Gaussian.com
Manual: Gaussian 16 manual

Using GaussView 6 on Terra and Ada

Those who have been specifically approved for access will be able to run GaussView 6 as detailed in the sections below.
Both Ada and Terra have GaussView 6 modules available. To find available versions, use the following command:

[NetID]@ada/terra ~]$ ml spider gv

To load a particular gv module:

[NetID]@ada/terra ~]$ ml gv/gv-6.0.16-g16_b01

To launch GaussView:

[NetID]@ada/terra ~]$ gv

Note: if OpenGL does not work properly, please use MesaGL instead. (export USE_MESAGL=1)

Running G16 on Terra and Ada

Those who have been specifically approved for access will be able to run Gaussian as detailed in the sections below.

Gaussian can only run parallel with shared memory, therefore you cannot use more than 1 node and are limited to a maximum of 28 core on Terra and 20 core on Ada.

Below are example job files for Gaussian 16 (Terra & Ada). You can create your own job files to fit your needs or you may use a script specifically setup to create and submit Gaussian 16 job files: qprep
Help for qprep can be obtained by running qprep -h

Terra: /sw/group/lms/bin/qprep
Ada: /sw/lms/bin/qprep

Terra Example Job file

A multicore (28 core) example: (Last updated Sept. 14, 2020)

#!/bin/bash
##ENVIRONMENT SETTINGS; CHANGE WITH CAUTION
#SBATCH --export=NONE
#SBATCH --get-user-env=L

##NECESSARY JOB SPECIFICATIONS
#SBATCH --job-name=GaussianJob         # Sets the job name to GaussianJob
#SBATCH --time=2:00:00                 # Sets the runtime limit to 2 hr
#SBATCH --ntasks=28                    # Requests 28 cores
#SBATCH --ntasks-per-node=28           # Requests 28 cores per node (1 node)
#SBATCH --mem=56G                      # Requests 56GB of memory per node
#SBATCH --error=GaussianJob.job.e%J    # Sends stderr to GaussianJob.job.e[jobID]
#SBATCH --output=GaussianJob.job.o%J   # Sends stdout to GaussianJob.job.o[jobID]
cd $TMPDIR # change to the local disk temporary directory
export g16root=/sw/group/lms/sw/g16_B01 # set g16root variable . $g16root/g16/bsd/g16.profile # source g16.profile to setup environment for g16
echo -P- $SLURM_NPROCS > Default.Route # set the number of core for gaussian to use ($SLURM_NPROCS variable is set to the number of core requested by #SBATCH --ntasks) echo -M- 50GB >> Default.Route # set the memory for gaussian to use (50GB)
module purge # purge all module
g16 < $SLURM_SUBMIT_DIR/GaussianJob.com > $SLURM_SUBMIT_DIR/GaussianJob.log # run gaussian
exit #exit when the job is done

To submit the job to the queue, use the following command:

[ NetID@terra1 ~]$ sbatch jobscript

Ada Example Job file

A multicore (20 core) example: (Last updated Sept. 14, 2020)

#BSUB -J GaussianJob                   # sets the job name to GaussianJob.
#BSUB -L /bin/bash                     # uses the bash login shell to initialize the job's execution environment.
#BSUB -W 2:00                          # sets to 2 hours the job's runtime wall-clock limit.
#BSUB -n 20                            # assigns 20 cores for execution.
#BSUB -R "span[ptile=20]"              # assigns 20 cores per node.
#BSUB -R "rusage[mem=2700]"            # reserves 2700MB per process/CPU for the job (2700MB * 20 Core = 54GB per node) 
#BSUB -M 2700		                # sets to 2700MB (2700MB) the per process enforceable memory limit.
#BSUB -o GaussianJob.job.o%J           # directs the jobs standard output to GaussianJob.job.o[jobid]
#BSUB -e GaussianJob.job.e%J           # directs the jobs standard error to GaussianJob.job.e[jobid]
cd $TMPDIR # change to the local disk temporary directory
export g16root=/sw/lms/g16_B01 #set g16root variable . $16root/g16/bsd/g16.profile #source g16.profile to setup environment for g16
echo -P- $LSB_DJOB_NUMPROC > Default.Route # set the number of core for gaussian to use ($LSB_DJOB_NUMPROC variable is set to the number of core specified by #BSUB -n) echo -M- 50GB >> Default.Route # set the memory for gaussian to use (50GB)
module purge # purge all module
g16 < $LS_SUBCWD/GaussianJob.com > $LS_SUBCWD/GaussianJob.log # run gaussian
exit #exit when the job is done

To submit the job to the queue, use the following command:

[ NetID@ada ~]$ bsub < jobscript

where jobscript is the name of the job file.

Frequently Asked Questions