Skip to content

Getting Started with AARON

Steven E. Wheeler edited this page Nov 20, 2020 · 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, SGE, or Slurm queuing software (If you would like to use Aaron on a cluster with another queuing system, please contact us at qchasm@uga.edu)
  3. Perl (reasonably recent version)
  4. Perl modules Math::Vector::Real and Math::MatrixReal (available from CPAN)
  5. AaronTools
AARON should always be run on the head/login node or other node from which you can submit jobs.

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/test
 ./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
Note: Currently, 'Default' must appear at the start of the line with no leading spaces!

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:
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

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

Note: Both 'Default' and 'TM_Default' must appear at the start of the line with no leading spaces.

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.

6. Run Tests

 cd $QCHASM/Aaron/test
 ./test_full_install.t

Running Aaron

First, create a new directory somewhere *outside* of the $QChASM or ~/Aaron_libs directories, eg:

$ mkdir ~/screening_ligands_example
$ cd ~/screening_ligands_example
Aaron should not be run inside the $QChASM or ~/Aaron_libs directories.

Then follow along with the next section of the tutorial, Introduction to AARON: Screening Ligands.