ORCA
Versions Installed
Kay: 5.0.0 / 5.0.2 / 5.0.3
Description
ORCA is an ab initio quantum chemistry program package that contains 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 developed in the research group of Frank Neese.
License
ORCA, Academic (Computer Center).
Benchmarks
N/A
Job Submission Example
Like other jobs on ICHEC systems, ORCA jobs must be submitted using a Slurm submission script. The following is an example Slurm submission script for allocating 1 node of Kay (40 cores) for 24h , then running ORCA on an example input file. Jobs that use ORCA would typically be submitted to the ProdQ.
The ORCA module is loaded as follows (this is a key part of the sbatch script):
module load orca/5.0.3
Create the submission script (and name it orca_calc.sh) for the SLURM Workload Manager and modify it with your parameters
#!/bin/bash #SBATCH -p ProdQ #SBATCH -N 1 #SBATCH -t 24:00:00 #SBATCH --job-name=test #SBATCH -A yourproject #SBATCH -o test.stdout #SBATCH -e test.stderr module load orca/5.0.3 # Location of the local scratch. scratchlocation=/scratch/local # Usage: #sbatch -J jobname orca_calc.sh -where jobname is the name of your ORCA inputfile (jobname.inp) without the .inp extension # Set jobname here manually or use as first argument when doing sbatch -J argument job-orca.sh -N argument where "argument" becomes $SLURM_JOBNAME export job=$SLURM_JOB_NAME export job=$(basename $job .inp) echo "SLURM_NODELIST is $SLURM_NODELIST" #Create scratch if [ ! -d $scratchlocation/$USER ] then mkdir -p $scratchlocation/$USER fi tdir=$(mktemp -d $scratchlocation/$USER/orcajob__$SLURM_JOBID-XXXX) chmod +xr $tdir if [ ! -d "$tdir" ]; then echo "Scratch dir does not exist on this node" echo "Maybe because scratchlocation $scratchlocation does not exist on node??" echo "Or because permissions did not allow creation of folder?" echo "Exiting..." exit fi # Copy only the necessary stuff in submit directory to scratch directory. #Explicit files here instead of general #Copying submitted inputfile cp $SLURM_SUBMIT_DIR/$job.inp $tdir/ cp $SLURM_SUBMIT_DIR/*.xyz $tdir/ #Copying possible basis file cp $SLURM_SUBMIT_DIR/*.basis $tdir/ #Copying xyzfile if referenced in inputfile xyzfilename=`grep -i xyzfile $SLURM_SUBMIT_DIR/$job.inp | tr ' ' '\n' | tail -2 | grep .xyz` cp $SLURM_SUBMIT_DIR/$xyzfilename $tdir/ #Copying GBWfile with same name as inputfile and GBW/LOC/MP2NAT if part of %moinp statement cp $SLURM_SUBMIT_DIR/$job.gbw $tdir/ cp $SLURM_SUBMIT_DIR/*im*.gbw $tdir/ grep -i "%moinp" $SLURM_SUBMIT_DIR/$job.inp grep -i "%moinp" $SLURM_SUBMIT_DIR/$job.inp | awk '{print $2}' grep -i "%moinp" $SLURM_SUBMIT_DIR/$job.inp | awk '{print $2}' | tr -d '"' gbwfilefrommoinp=`grep -i "%moinp" $SLURM_SUBMIT_DIR/$job.inp | awk '{print $2}' | tr -d '"'` cp $SLURM_SUBMIT_DIR/$gbwfilefrommoinp $tdir/ # Hess file if found in such command prevhessfile=`grep -i 'InHessName' $SLURM_SUBMIT_DIR/$job.inp | awk '{print $2}' | tr -d '"'` cp $SLURM_SUBMIT_DIR/$job.*hess $tdir/ cp $SLURM_SUBMIT_DIR/$prevhessfile $tdir/ cp $SLURM_SUBMIT_DIR/*.hess $tdir/ #cp $SLURM_SUBMIT_DIR/*.inp $tdir/ #cp $SLURM_SUBMIT_DIR/*.gbw $tdir/ #cp $SLURM_SUBMIT_DIR/*.xyz $tdir/ #cp $SLURM_SUBMIT_DIR/*.loc $tdir/ #cp $SLURM_SUBMIT_DIR/*.qro $tdir/ #cp $SLURM_SUBMIT_DIR/*.hess $tdir/ echo ${SLURM_NODELIST} > $tdir/$job.nodes # cd to scratch cd $tdir ls which mpirun #Start ORCA job. ORCA is started using full pathname (necessary for parallel). Output file is written directly to submit directory $orcadir/orca $job.inp >> $SLURM_SUBMIT_DIR/$job.out # ORCA has finished. Now copy important stuff back (xyz files, GBW files etc.). Add files here as required cp $tdir/*.gbw $SLURM_SUBMIT_DIR cp $tdir/*.engrad $SLURM_SUBMIT_DIR cp $tdir/*.xyz $SLURM_SUBMIT_DIR cp $tdir/*.trj $SLURM_SUBMIT_DIR cp $tdir/*.loc $SLURM_SUBMIT_DIR cp $tdir/*.qro $SLURM_SUBMIT_DIR cp $tdir/*.uno $SLURM_SUBMIT_DIR cp $tdir/*.unso $SLURM_SUBMIT_DIR cp $tdir/*.uco $SLURM_SUBMIT_DIR cp $tdir/*.hess $SLURM_SUBMIT_DIR cp $tdir/*.cis $SLURM_SUBMIT_DIR cp $tdir/*.dat $SLURM_SUBMIT_DIR cp $tdir/*.mp2nat $SLURM_SUBMIT_DIR cp $tdir/*.nat $SLURM_SUBMIT_DIR cp $tdir/*.scfp_fod $SLURM_SUBMIT_DIR cp $tdir/*.scfp $SLURM_SUBMIT_DIR cp $tdir/*.scfr $SLURM_SUBMIT_DIR cp $tdir/*.nbo $SLURM_SUBMIT_DIR cp $tdir/FILE.47 $SLURM_SUBMIT_DIR cp $tdir/*_property.txt $SLURM_SUBMIT_DIR cp $tdir/*.allxyz $SLURM_SUBMIT_DIR cp $tdir/*.log $SLURM_SUBMIT_DIR cp $tdir/*.interp $SLURM_SUBMIT_DIR cp $tdir/*spin* $SLURM_SUBMIT_DIR cp $tdir/*lastscf* $SLURM_SUBMIT_DIR cp $tdir/*.spectrum $SLURM_SUBMIT_DIR rm -rf $tdir
Submit the job with the following command
sbatch -J jobname orca_calc.sh
Additional Notes
Further information can be obtained from the ORCA Forum.