Quantum Chemistry Software
Contents
Quantum Chemistry Software#
This section will give a short introduction and an overview of the Quantum Chemistry programs that will be used in this practical course.
Contents
Setting up the Software#
In order to gain access to the needed software packages, you need to
make some changes to your system. The .bashrc
file located
in your home directory is sourced every time you open a new shell.
While you can directly execute any program by giving the full path,
it is more convenient to tell the system where to look for the
binaries by saving the location in the $PATH
variable.
Additionally, some programs need global variables. All those
are usually set in the .bashrc
. In order to gain access to all the
needed software, add the following lines to your .bashrc
:
1# AKbin
2export PATH=/home/abtgrimme/AKbin:$PATH
3export PATH=/home/$USER/bin:$PATH
4
5module use /software/modulefiles
6module load turbomole orca
7alias molden='/software/bin/molden'
8
9# XTB
10export OMP_NUM_THREADS=2
11export MKL_NUM_THREADS=2
12export OMP_STACKSIZE=500m
13ulimit s unlimited
Be sure to create a directory called bin
in your home directory by typing:
mkdir ~/bin
Important
All changes apply to shells opened afterwards.
If you want to apply the changes to your current shell, you need to run:
source ~/.bashrc
Program Packages#
TURBOMOLE#
To run a basic calculation with TURBOMOLE, you will only need the following two files:
coord
: Molecular geometry in atomic unitscontrol
: All data required for the calculation (method, parameters, … )
For more sophisticated calculation settings, TURBOMOLE provides an interactive input generator
called define
which only needs the coord
file to create the control
file.
Basis set and orbital files, that are also necessary for the calculation, are created
during the calculation or by define
, respectively. These are:
basis
(andauxbasis
): Basis set (and auxiliary basis set for RI)mos
oralpha
andbeta
: Orbitals (MO coefficients) for restricted and unrestricted treatment, respectively
In this course, all calculations can be prepared manually by only providing a coord
and a control
file containing all the necessary information.
TURBOMOLE has different binaries and scripts for different jobs. While they do not need an explicit input file when called, you should always pipe the output into a file, e.g.:
ridft > ridft.out &
The most important scripts that come along with the TURBOMOLE program package are listed in the following table.
TURBOMOLE script 
Functionality 

Most important scripts for calculations 


DFT and HF SCF calculations with the RIapproximation 

DFT and HF SCF calculations without the RIapproximation 

Module for secondorder correlated WF methods (MP2, CC2) 

Module for coupled cluster methods (CCSD, CCSD(T), …) 

Calculate gradients (with and without RI) 

Calculate analytical vibrational frequencies 

Coordinate/Hessian update for stationary point searches 

Script for geometry optimizations 
Scripts for visualization purposes 


Show the orbital energies and the HOMOLUMO gap 

Convert a *.xyz (in Å) file to coord (in bohr) 

Convert a coord (in bohr) file to *.xyz (in Å) 

Generate a molden input 
Important
Each TURBOMOLE calculation needs its own directory.
The control
file#
While coord
stores the molecular geometry, the control
file contains all the
specifications and settings for the desired calculation. It contains keywords indicated
with a $
symbol followed by some setting. Related specifications sometimes follow
in the next line and are indented. Every control
file must end with the $end
keyword in the last line. An example input for a simple DFT calculation on the
BLYP/def2TZVP level of theory can look as follows:
1$coord file=coord
2$atoms
3 basis = def2TZVP
4$dft
5 functional blyp
6$end
In the following exercises, some proper TURBOMOLE input will always be given (at least partially) in the text. Additionally, you can find a short list of all keywords needed in this course in the Keywords in control section below.
ORCA#
ORCA needs an input file (e.g. myinput.inp
) to run. A typical call to perform a calculation with ORCA would be
orca myinput.inp > myinput.out &
The input file is generally structured as follows:
1# Comment lines are marked with an '#' and are possible everywhere
2! Method Basis and further options
3
4# Input is organized in blocks which start with '%'
5# e.g.
6%scf
7 MaxIter 150 #maximum number of iteration steps in the scf,
8 #default = 50
9end
10# definition of input geometry
11* xyz <charge> <multiplicity>
12 cartesian coordinates (Angstroms)
13*
14or:
15* int <charge> <multiplicity>
16 ZMatrix
17*
18or:
19* xyzfile <charge> <multiplicity> <filename.xyz>
Important
Multiplicity = 2S+1 with S being the total spin.
A short reference of ORCA keywords can be found in the section Short ORCA Reference. Further information is accessible from: https://sites.google.com/site/orcainputlibrary/.
Keywords in control
#
The control
file contains all specifications and settings for a calculation with
TURBOMOLE. Keywords start with $
and subsettings are indented. The last line of
the file must always be $end
.
The following table shows the most important keywords that are interesting for this course.
Command 
Functionality 

essential for all calculations 

$coord file=coord

Defines the 
$atoms
basis=<bas>

Defines the basis set for the calculation to be 
always recommended 

$eht charge=<chrg> unpaired=<uhf>

Defines the charge 
$symmetry <sym>

Use the symmetry of pointgroup 
$rij

Use the resolution of the identity (RI) approximation. Note that you then have to use
ridft for singlepoint calculations and the ri option for jobex .We recommend using the RI approximation for all exercises in this course.

$energy file=energy
$grad file=gradient

For geometry optimizations: The energies and gradient of all optimization cycles will be
saved in the files 
DFT calculations 

$dft
functional <func>
grid <grid>

Perform a DFT calculation using the functional
<func> . Note that the BYLP, B3YLP
and B2PLYP functionals are named blyp , b3lyp and b2plyp , respectively.
Define the integration grid <grid> (optional, the default is m4 ).For doublehybrid functionals, also include the settings for MP2 calculations
listed below (
$ricc2 and $denconv blocks). 
$disp3 bj

Use the D3 dispersion correction with BeckeJohnson damping. 
Note If the 

Post HF calculations 

$scfconv 7
$denconv 1.0d7

For MP2 and CC calculations, a wellconverged SCF run is needed. Therefore, set the convergence threshold of the SCF and the density matrix to \(10^{7}\) or less. 
$ricc2
mp2
geoopt model=mp2

Perform an MP2 singlepoint calculation.
The
geoopt model=mp2 keyword is only necessary if a geometry optimization on the
MP2 level is desired. 
$ricc2
ccsd(t)

Perform a CCSD(T) singlepoint calculation. 
other settings 

$cosmo
epsilon=<epsilon>

Use the condctor like screening model COSMO with the dielectric constant 
$scfiterlimit <limit>

Defines the maximum number of iterations in an SCF calculation (default 
$statpt
itrvec <imag>

Specify the number of imaginary vibrational frequencies 
Short ORCA Reference#
You can find a rough summary of the most important ORCA keywords in the following table. For a complete reference, consult the manual at https://orcaforum.kofo.mpg.de/.
Keyword 
Explanation 

RHF 
Restricted HartreeFock 
UHF 
Unrestricted HartreeFock 
TPSS 
DFT with the functional TPSS (can be any valid functional) 
MP2 
Do an MP2 calculation. 
CCSD(T) 
Do a CCSD(T) calculation. 
TZVP 
Use a TZVP basis. Can be any valid basis set definition 
Opt 
Do a geometry optimization. 
RI 
Use the resolution of the identity approximation. 
NumFreq 
Calculate second derivatives (vibrational frequencies).
Also gives an IR spectrum and thermal corrections + ZPE.

NMR 
Calculate nuclear magnetic shielding tensors. 
TightSCF 
Increases the convergence criterion for the SCF. 