Skip to content

Getting Started with AARON

Steven E. Wheeler edited this page Aug 4, 2018 · 20 revisions

Table of Contents

Overview

This tutorial will walk you through setting up AARON on an HPC cluster.

Requirements for AARON

AARON is essentially a driver for running Gaussian on a high-performance computing (HPC) cluster. Each computation is run as a separate job on the queue.

As such, it requires the following:

  1. Gaussian09 or Gaussian16
  2. Moab/Torque (PBS), LSF, or Slurm queuing software (If you would like to use Aaron on a cluster with another queuing system, please contact us at [email protected])
  3. Perl (reasonably recent version)
  4. Perl modules Math::Vector::Real and Math::MatrixReal (available from CPAN)
  5. AaronTools

Setting Up AARON

(below, we assume you are using BASH or a related shell)

1. Complete a Full Install of AaronTools

Follow these directions for a full install of AaronTools: https://github.com/QChASM/AaronTools/wiki/Setting-up-AaronTools

Confirm that all AaronTools tests are passed before proceeding:

 cd $QCHASM/AaronTools/tests
 ./test_simple_install.t
 ./test_full_install.t

2. Clone AARON from GitHub

 cd $QCHASM
 git clone https://github.com/QChASM/Aaron.git

3. Add AARON to your PATH

 echo 'export PATH=$PATH:$QCHASM/AARON/bin' >> ~/.bashrc

4. Create $QCHASM/Aaron/.aaronrc

Defaults for all AARON users are specified in $QCHASM/Aaron/.aaronrc. This includes both default levels of theory but also job parameters such as default wall times and number of processors (cores). A typical .aaronrc file is as follows:

 gen=/home/group/wheeler/basis/
 Default
     solvent=Dichloromethane
     solvent_model=PCM
     temperature=298
     low_method=PM6
     method=B97D
     basis=def2tzvp
     denfit=1
     charge=0
     mult=1
     wall=12
     n_procs=20
     short_wall=2
     short_procs=2

The first line specifies the path to basis set files for 'gen' basis sets. Even if you don't plan to use gen basis sets, just put some path here.

The remaining keywords specify the following defaults for all jobs:

 solvent: solvent (dichloromethane in this case)
 solvent_model: solvent model (pcm in this case)
 temperature: temperature at which thermodynamic quantities and selectivities are computed
 low_method: method used for Step 1 optimizations
 method: method used for Step 2-3 optimizations
 basis: basis set for Step 2-3 optimizations
 denfit: whether to use density fitting ('denfit' keyword)
 charge: total molecular charge
 mult: multiplicity
 wall: walltime in hours
 n_procs: number of processors/cores (all jobs run on a single node)
 short_wall: walltime in hours for step1 (quick semi-empirical optimization)
 short_procs: number of processors/cores for step1

All of these defaults can be overridden by specifying the corresponding keyword in the AARON input file or by creating .aaronrc in $HOME (see below).

5. Create $HOME/.aaronrc (Optional)

While not required, it is useful to also create a file called .aaronrc in $HOME for each user. This will allow users to specify their own default levels of theory and other job-related parameters (number of cores, etc), which allows for the simplification of AARON input files.

For instance, you can set your own default levels of theory and job parameters by putting the following in .aaronrc

 gen=/scratch/group/wheeler/basis
 Default
     solvent=gas
     temperature=298
     low_method=PM6
     method=M062X
     basis=6-31G
     denfit=0
     charge=0
     mult=1
     wall=24
     n_procs=20
     short_wall=2
     short_procs=2

You can also create custom levels of theory that are commonly used. For example, you could define a default for computations of transition metal-containing compounds by adding the following to the end of $HOME/.aaronrc:

 TM_Default
     solvent=gas
     temperature=298
     low_method=PM6
     method=M06
     basis=tm lanl2dz
     basis=6-31G
     ecp=tm lanl2dz
     denfit=1
     charge=0
     mult=1
     wall=48
     n_procs=20
     short_wall=2
     short_procs=2

For the basis keyword, 'tm' is shorthand for any transition metal. If no elements are specified (e.g. basis=6-31G), then this basis will be applied to all non-transition-metal atoms.