ORCA is a computational chemistry code that can do SCF, (TD)DFT, semi-empirical potentials, MP2, CASSCF, Coupled Cluster calculations, and more.

It is closed source, but free for academic users. Register on the forum to receive a download link for the binaries, as well as access ot the latest manual.

Many input examples are available at the ORCA Input Library.

The ORCA ASE-interface is very simple. Two keywords are defined:

orcasimpleinput: str
    What you'd put after the "!" in an orca input file.

orcablocks: str
    What you'd put in the "% ... end"-blocks.

The ASE-calculator also works with the EIQMMM-calculator for QM/MM simulations (see qmmm for more info).

Setup and usage

The default command that ASE will use to start ORCA is orca PREFIX.inp > PREFIX.out.

You can change this command by setting the environment variable $ASE_ORCA_COMMAND. (For example, add a line to your .bashrc with export ASE_ORCA_COMMAND="my new command"). This can be useful since the parallel MPI version of orca can require the full path to the executable to be specified.

Orca wants to decide which sub-processes to parallelize via MPI itself, so you’d almost always want a string in your orcablocks specifying the number of cores for the simulation, e.g.:

from ase.calculators.orca import ORCA

calc = ORCA(label='orcacalc',
            orcasimpleinput='B3LYP def2-TZVP'
            orcablocks='%pal nprocs 16 end'

for a B3LYP/def2-TZVP calculation on 16 cores.

Class Definition

class ase.calculators.orca.ORCA(restart=None, ignore_bad_restart_file=<object object>, label='orca', atoms=None, **kwargs)[source]

ASE interface to ORCA 4 by Ragnar Bjornsson, Based on NWchem interface but simplified. Only supports energies and gradients (no dipole moments, orbital energies etc.) for now.

For more ORCA-keyword flexibility, method/xc/basis etc. keywords are not used. Instead, two keywords:

orcasimpleinput: str

What you’d put after the “!” in an orca input file. Should in most cases contain “engrad” or method that writes the engrad file. If not (single point only), set the “task” parameter manually. Default is engrad tightscf PBE def2-SVP.

orcablocks: str

What you’d put in the “% … end”-blocks. Default is %scf maxiter 200 end.

are used to define the ORCA simple-inputline and the ORCA-block input. This allows for more flexible use of any ORCA method or keyword available in ORCA instead of hardcoding stuff.

Default parameters are:

charge: 0

mult: 1

task: ‘gradient’

Point Charge IO functionality added by A. Dohn.