diff --git a/docs.it4i/software/orca.md b/docs.it4i/software/orca.md index 3f62415459eceea55e4268d3bd2ca301748e0ce2..00a695f488102918c05406a749508291acae77c6 100644 --- a/docs.it4i/software/orca.md +++ b/docs.it4i/software/orca.md @@ -2,65 +2,132 @@ ORCA is a flexible, efficient and easy-to-use general purpose tool for quantum chemistry with specific emphasis on spectroscopic properties of open-shell molecules. It features a wide variety of standard quantum chemical methods ranging from semiempirical methods to DFT to single- and multireference correlated ab initio methods. It can also treat environmental and relativistic effects. -## Making ORCA Available +## ORCA Available on the Cluster -The following module command makes the latest version of orca available to your session +Many versions of ORCA is available on our clusters. You can list all versions by `ml av` command. ```console -$ module load ORCA/3_0_3-linux_x86-64 +$ ml av orca +-------------------------- /apps/modules/chem -------------------------- + ORCA/4_0_0-linux_x86-64 ORCA/4_0_1-linux_x86-64 ORCA/4.0.1.2 (D) + + Where: + D: Default Module +``` + +## Serial Computation With ORCA + +You can test serial computation with this simple input file. Create a file called orca_serial.inp and fill it with following ORCA commands. + +```bash + # Taken from the Orca manual + # https://orcaforum.cec.mpg.de/OrcaManual.pdf + ! HF SVP + * xyz 0 1 + C 0 0 0 + O 0 0 1.13 + * +``` + +Next, create a PBS submission file (interactive job can be used too). + +```bash +#!/bin/bash +#PBS -S /bin/bash +#PBS -N ORCA_SERIAL +#PBS -l select=1 +#PBS -q qexp + +ml ORCA/4.0.1.2 +${EBROOTORCA}orca orca_serial.inp ``` -### Dependency +Submit the job to the queue and wait before it ends. Then you can find an output log in your working directory. ```console -$ module list -Currently Loaded Modulefiles: - 1) /opt/modules/modulefiles/oscar-modules/1.0.3(default) - 2) GCC/4.9.3-binutils-2.25 - 3) binutils/2.25-GCC-4.9.3-binutils-2.25 - 4) GNU/4.9.3-2.25 - 5) icc/2015.3.187-GNU-4.9.3-2.25 - 6) ifort/2015.3.187-GNU-4.9.3-2.25 - 7) iccifort/2015.3.187-GNU-4.9.3-2.25 - 8) numactl/2.0.10-iccifort-2015.3.187-GNU-4.9.3-2.25 - 9) hwloc/1.11.1-iccifort-2015.3.187-GNU-4.9.3-2.25 - 10) OpenMPI/1.8.8-iccifort-2015.3.187-GNU-4.9.3-2.25 - 11) ORCA/3_0_3-linux_x86-64 +$ qsub submit_serial.pbs +1417552.dm2 + +$ ll ORCA_SERIAL.* +-rw------- 1 hra0031 hra0031 0 Aug 21 12:24 ORCA_SERIAL.e1417552 +-rw------- 1 hra0031 hra0031 20715 Aug 21 12:25 ORCA_SERIAL.o1417552 + +$ cat ORCA_SERIAL.o1417552 + + ***************** + * O R C A * + ***************** + + --- An Ab Initio, DFT and Semiempirical electronic structure package --- + + ####################################################### + # -***- # + # Department of molecular theory and spectroscopy # + # Directorship: Frank Neese # + # Max Planck Institute for Chemical Energy Conversion # + # D-45470 Muelheim/Ruhr # + # Germany # + # # + # All rights reserved # + # -***- # + ####################################################### + + + Program Version 4.0.1.2 - RELEASE - + +... + + ****ORCA TERMINATED NORMALLY**** +TOTAL RUN TIME: 0 days 0 hours 0 minutes 1 seconds 47 msec ``` -## Example Single Core Job +## Running ORCA in Parallel -Create a file called orca_serial.inp that contains the following orca commands +Your serial computation can be converted to parallel in a very simple way. You simply have to specify the number of parallel processes by directive **%pal**. In this example, 4 nodes, 16 cores each are used. -```cpp - # My first ORCA calculation :-) - # +!!! warning + Don't use **! PAL** directive as only PAL2 to PAL8 is recognized! + +```bash # Taken from the Orca manual # https://orcaforum.cec.mpg.de/OrcaManual.pdf ! HF SVP + %pal + nprocs 64 # 4 nodes, 16 cores each + end * xyz 0 1 C 0 0 0 O 0 0 1.13 * ``` -Create a Sun Grid Engine submission file called submit_serial.sh that looks like this +You also need to edit the previously used PBS submission file. You have to specify number of nodes, cores and MPI-processes to run. -```console -!/bin/bash +```bash +#!/bin/bash +#PBS -S /bin/bash +#PBS -N ORCA_PARALLEL +#PBS -l select=4:ncpus=16:mpiprocs=16 +#PBS -q qexp -module load ORCA/3_0_3-linux_x86-64 -orca orca_serial.inp +ml ORCA/4.0.1.2 +${EBROOTORCA}/orca orca_parallel.inp ``` -Submit the job to the queue with the command +!!! note + When running ORCA in parallel, ORCA should **NOT** be started with mpirun: e.g. mpirun -np 4 orca etc. like many MPI programs and has to be called with full pathname. + +Submit this job to the queue and see the output file. ```console -$ qsub -q qexp -I -l select=1 -qsub: waiting for job 196821.isrv5 to start -qsub: job 196821.isrv5 ready -[username@r37u04n944 ~]$ ./submit_serial.sh +$ qsub submit_parallel.pbs +1417598.dm2 +$ ll ORCA_PARALLEL.* +-rw------- 1 hra0031 hra0031 0 Aug 21 13:12 ORCA_PARALLEL.e1417598 +-rw------- 1 hra0031 hra0031 23561 Aug 21 13:13 ORCA_PARALLEL.o1417598 + +$ cat ORCA_PARALLEL.o1417598 ***************** * O R C A * @@ -80,19 +147,44 @@ qsub: job 196821.isrv5 ready # -***- # ####################################################### + + Program Version 4.0.1.2 - RELEASE - ... - ****ORCA TERMINATED NORMALLY**** -TOTAL RUN TIME: 0 days 0 hours 0 minutes 2 seconds 796 msec -[username@r37u04n944 orca]$ logout + ************************************************************ + * Program running with 64 parallel MPI-processes * + * working on a common directory * + ************************************************************ -qsub: job 196821.isrv5 completed +... + ****ORCA TERMINATED NORMALLY**** +TOTAL RUN TIME: 0 days 0 hours 0 minutes 11 seconds 859 msec ``` +You can see, that the program was running with 64 parallel MPI-processes. In version 4.0.1.2, only the following modules are parallelized: + +* ANOINT +* CASSCF / NEVPT2 +* CIPSI +* CIS/TDDFT +* CPSCF +* EPRNMR +* GTOINT +* MDCI (Canonical-, PNO-, DLPNO-Methods) +* MP2 and RI-MP2 (including Gradient and Hessian) +* MRCI +* PC +* ROCIS +* SCF +* SCFGRAD +* SCFHESS +* SOC +* Numerical Gradients and Frequencies + ## Register as a User -You are encouraged to register as a user of Orca at [Here](https://orcaforum.cec.mpg.de/) in order to take advantage of updates, announcements and also of the users forum. +You are encouraged to register as a user of ORCA at [Here](https://orcaforum.cec.mpg.de/) in order to take advantage of updates, announcements and also of the users forum. ## Documentation -A comprehensive [.pdf](https://orcaforum.cec.mpg.de/OrcaManual.pdf) manual is available online. +A comprehensive [PDF](https://orcaforum.cec.mpg.de/OrcaManual.pdf) manual is available online.