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.

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# make environment modules available
 2export BASH_ENV=/usr/share/lmod/lmod/init/bash
 3. ${BASH_ENV} > /dev/null
 4
 5module use /home/abt-grimme/modulefiles
 6module load turbomole orca
 7alias molden='/software/bin/molden'
 8
 9# AKbin
10export PATH=/home/abt-grimme/AK-bin:$PATH
11export PATH=/home/$USER/bin:$PATH
12
13# XTB
14export OMP_NUM_THREADS=2
15export MKL_NUM_THREADS=2
16export OMP_STACKSIZE=500m
17ulimit -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 units

  • control: 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 (and auxbasis): Basis set (and auxiliary basis set for RI)

  • mos or alpha and beta: 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

ridft

DFT and HF SCF calculations with the RI-approximation

dscf

DFT and HF SCF calculations without the RI-approximation

ricc2

Module for second-order correlated WF methods (MP2, CC2)

ccsdf12

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

rdgrad, grad

Calculate gradients (with and without RI)

aoforce

Calculate analytical vibrational frequencies

statpt

Coordinate/Hessian update for stationary point searches

jobex

Script for geometry optimizations

Scripts for visualization purposes

eiger

Show the orbital energies and the HOMO-LUMO gap

x2t

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

t2x

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

tm2molden

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/def2-TZVP level of theory can look as follows:

1$coord file=coord
2$atoms
3  basis = def2-TZVP
4$dft
5  functional b-lyp
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        Z-Matrix
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 sub-settings 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 coord file to be the one containing the molecular structure information.

$atoms
  basis=<bas>

Defines the basis set for the calculation to be <bas>.

always recommended

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

Defines the charge <chrg> and the number of unpaired electrons <uhf> for the extended Hückel guess and the entire rest of the calculation.

$symmetry <sym>

Use the symmetry of pointgroup <sym>. If not stated otherwise, in the scope of this course it is always recommended to use C1 symmetry to avoid technical issues (choose c1).

$rij
Use the resolution of the identity (RI) approximation. Note that you then have to use ridft for single-point 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 energy and gradient.

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 b-lyp, b3-lyp and b2-plyp, respectively. Define the integration grid <grid> (optional, the default is m4).
For double-hybrid functionals, also include the settings for MP2 calculations listed below ($ricc2 and $denconv blocks).
$disp3 -bj

Use the D3 dispersion correction with Becke-Johnson damping.

Note

If the $dft block is missing, a HF calculation will be performed.

Post HF calculations

$scfconv 7
$denconv 1.0d-7

For MP2 and CC calculations, a well-converged 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 single-point 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) single-point calculation.

other settings

$cosmo
  epsilon=<epsilon>

Use the condctor like screening model COSMO with the dielectric constant <epsilon> of the solvent.

$scfiterlimit <limit>

Defines the maximum number of iterations in an SCF calculation (default <limit> is 30). If an SCF did not converge, try increasing this value, e.g. to 100.

$statpt
  itrvec <imag>

Specify the number of imaginary vibrational frequencies <imag> that shall be obtained by a geometry optimization (default is itrvec 0 for minimum structures). Set to itrvec 1 for transition state optimizations.

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 Hartree-Fock

UHF

Unrestricted Hartree-Fock

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.