Skip to content

ORCA

ORCA is an ab initio quantum chemistry program package for modern electronic structure methods including density functional theory, many-body perturbation, coupled cluster, multireference methods, and semi-empirical quantum chemistry methods. Its main field of application is larger molecules, transition metal complexes, and their spectroscopic properties.

ORCA is available as a module on Apocrita.

Usage

To run the default installed version of ORCA, simply load the orca module:

$ module load orca

Usage:
orca <input-file> > <out-file>

For usage documentation, click here.

Example jobs

Serial jobs

Here is an example job running on 1 core and 1GB of memory:

#!/bin/bash
#$ -cwd
#$ -j y
#$ -pe smp 1
#$ -l h_rt=1:0:0
#$ -l h_vmem=1G

module load orca

orca mywater.inp > mywater.out

Here is an example job running on 4 cores and 4GB of memory:

Match your input file to your core request!

ORCA requires you to define the number of CPUs in your input file when using more than one CPU core. For example, to match your input file to the four cores requested below, it needs to contain the line:

%PAL NPROCS 4 END

The optimal core count for multi-core jobs is between 8 and 16 depending on the specific workload. Beyond this there are limited returns. For more information about parallelising ORCA, see the references section below.

Match your input file to your RAM request!

ORCA requires you to define the amount of RAM per core requested in your input file when using more than one CPU core. We recommend setting this figure to around 80% of your RAM request per core. For example, to match your input file to the 1GB of RAM per core requested below, it needs to contain the line:

%MaxCore 800

So 800MB per 1GB (1000MB) RAM per core requested. Please refer to the ORCA documentation for more information.

ORCA requires a full path!

When running ORCA using multiple cores, you must follow the format of the job script below (i.e. $(which orca) and not just orca) so that ORCA is run via its full path, otherwise your job will fail.

Do not use mpirun or mpiexec

When running ORCA using multiple cores, it has its own internal logic for using Open MPI - you should not attempt to handle this yourself by adding mpirun or mpiexec commands to your job script.

#!/bin/bash
#$ -cwd
#$ -j y
#$ -pe smp 4
#$ -l h_rt=1:0:0
#$ -l h_vmem=1G

module load orca

$(which orca) mywater.inp > mywater.out

References