Getting Started with AARON - QChASM/Aaron GitHub Wiki
This tutorial will walk you through setting up AARON on an HPC cluster.
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:
- Gaussian09 or Gaussian16
- 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 [email protected])
- Perl (reasonably recent version)
- Perl modules Math::Vector::Real and Math::MatrixReal (available from CPAN)
- AaronTools
(below, we assume you are using BASH or a related shell)
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
cd $QCHASM git clone https://github.com/QChASM/Aaron.git
echo 'export PATH=$PATH:$QCHASM/Aaron/bin' >> ~/.bashrc
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).
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.
cd $QCHASM/Aaron/test ./test_full_install.t
First, create a new directory somewhere *outside* of the $QChASM or ~/Aaron_libs directories, eg:
$ mkdir ~/screening_ligands_example $ cd ~/screening_ligands_exampleAaron 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.