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