My Orca Cookbook

For the most prat, my work as a Theoretical Chemist is done using the Orca Electronic Structure Software (ESS) package. Although it is not free and open source (it is free for academic/non-comercial use), Orca delivers a nice range of available methods, easy of use and performance. It is also quite simple to learn and use, and the Manual is filled with theoretical background and references, making it almost a complete textbook on Computational Chemistry.

That being said, the huge amount of information available on the Manual can be a little bit daunting when you are just getting your feet wet on the matter. The information I collected in this page (and the pages linking from it) are just some example calculations of some of the features I use the most in my work. I tried to make this information as fluid and informal as possible, and I strongly recommend referring to the Manual and the user forums if you have further doubts or questions about the calculations presented here.

A Typical Workflow

The most often found computational jobs either attempt at modeling a chemical reaction, or try to predict experimentally measured properties for a given chemical system (for example, its infrared spectrum). This requires different workflows. For the shake of simplicity, I’ll start with the latter example.

Let’s suppose you wish to confirm the identification of a given compound from its infrared (IR) signature. Considering you already have a viable molecular structure for it, you’ll need to optimize the geometry corresponding to that molecular structure, then calculate its vibrational frequencies. These two types of calculations (Geometry Optimization and Vibrational Frequencies) are perhaps the two most used tools in the Computational Chemistry toolkit, and I’d have my doubts regarding the utility of an ESS package that lacks the ability to perform them (unless, of course it deals with some speciality applications, like modern Valence Bond theory). Fortunately, Orca excels at both types of calculations. Other types of properties you can get, is to calculate the UV/Vis, Raman or NMR spectra, predict dipole moments, and calculate chemical reactivity indexes.

My other example is modeling a chemical reaction. In that case, you not only need viable structural formulae for both the reactant(s) and product(s), but also an idea of the reaction mechanism (one-step, two-step, etc…). You also need to do a Transition State Search, which is a procedure that is as much of a science as a form of art in itself (and usually puts your chemical instincts and creativity to the test).

Preparing your system to run Orca

Orca is free software for academic purposes, but it is not open source. This means that Orca is offered in pre-compiled binaries. All the necessary routines and dependencies are already included in the binaries (for example, it already includes all the linear algebra routines). The only thing missing is the MPI library needed to run Orca on a parallel environment (either having multiple computers contributing to run a single calculation, or to make use of all the Cores on a typical SMP processor, such as the Core i7). Indeed, each version of Orca expects a specific version of OpenMPI to be available to it. Because of this, it is a good policy to have a locally compiled version of OpenMPI. In the case of Orca 4.0.1, the required version of OpenMPI is 2.0.2.

To have a local compilation of OpenMPI 2.0.2, get the source code in a tar.bz2 format from the OpenMPI downloads page, and save it to a temporary directory on your computer. Extract the contents of the file, and move into the source code directory:

$ tar xjvf openmpi-2.0.2.tar.bz2

$ cd openmpi-2.0.2

I prefer to have my locally compiled computational chemistry software on a separate folder in my computer, so I run the configure script with the –prefix option.

$ ./configure --prefix=${HOME}/compchem/mpi/openmpi-2.0.2

$ make

$ make install

Notice that you do not need root privileges to run “make install”, since the installation target lies within your home directory.

Assuming you have extracted the Orca 4.0.1 package to ${HOME}/compchem/orca/orca401 (you can use any naming and organisation scheme, you can create a script to run Orca using the right environment. this is the run-Orca-4.0.1 script I use:

#! /bin/bash

export PATH=${HOME}/compchem/mpi/openmpi-2.0.2-gnu/bin:${PATH}
export LD_LIBRARY_PATH=${HOME}/compchem/mpi/openmpi-2.0.2-gnu/lib:${LD_LIBRARY_PATH}
export root="${HOME}/compchem/orca/orca401"
out=$(echo $1 | sed 's/.inp/.out/')
${root}/orca $1 > $out

Now, all you need to do is to make this file executable (using chmod), and add its location to your PATH by editing your .zshrc (or .bashrc) file and re-starting the shell.

List of Annotated Example Calculations

  • Single-Point Calculations
  • Geometry Optimization
  • Vibrational Frequencies – Predicting the Infrared Spectrum
  • Vibrational Frequencies – Raman Intensities
  • Transition State Search and related techniques
    • Linear Least Motion scan (with MacMolPlt)
    • Relaxed Surface Scan
    • Constrained Geometry Optimization
    • Transition State Search
  • Vibrational Frequencies – Thermochemistry