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 to 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.

For parallel calculations, you will need to specify the full path to the ORCA executable. This can be done by defining an OrcaProfile like the example below:

from ase.calculators.orca import OrcaProfile

MyOrcaProfile = OrcaProfile(["/full/path/to/my/orca"])
calc = ORCA(profile=MyOrcaProfile)

ORCA decides which sub-processes to parallelize via MPI by itself, so you’ll 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(profile=MyOrcaProfile,
            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(*, profile=None, directory='.', parallel_info=None, parallel=None, **kwargs)[source]

Class for doing ORCA calculations.


calc = ORCA(charge=0, mult=1, orcasimpleinput=’B3LYP def2-TZVP’,

orcablocks=’%pal nprocs 16 end’)

Construct ORCA-calculator object.

  • charge (int) –

  • mult (int) –

  • orcasimpleinput (str) –

  • orcablocks (str) –


Use default values:

>>> from ase.calculators.orca import ORCA
>>> h = Atoms(
...     'H',
...     calculator=ORCA(
...         charge=0,
...         mult=1,
...         directory='water',
...         orcasimpleinput='B3LYP def2-TZVP',
...         orcablocks='%pal nprocs 16 end'))