ORCA

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

Orca can be configured using the configfile like other calculators. If you need to override it for programmatic control of the orca command, you can manually create an OrcaProfile:

from ase.calculators.orca import OrcaProfile

profile = OrcaProfile(command='/full/path/to/my/orca')
calc = ORCA(profile=profile)

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='.', **kwargs)[source]

Class for doing ORCA calculations.

Example

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

orcablocks=’%pal nprocs 16 end’)

Construct ORCA-calculator object.

Parameters:
  • charge (int) –

  • mult (int) –

  • orcasimpleinput (str) –

  • orcablocks (str) –

Examples

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'))