From 8be909a2abdc20448bdeb4446f482a5be6526701 Mon Sep 17 00:00:00 2001
From: Andy Turner <a.turner@epcc.ed.ac.uk>
Date: Fri, 17 May 2024 17:00:03 +0100
Subject: [PATCH] Adds QChem docs

---
 docs/research-software/index.md |  1 +
 docs/research-software/qchem.md | 58 +++++++++++++++++++++++++++++++++
 mkdocs.yml                      |  1 +
 3 files changed, 60 insertions(+)
 create mode 100644 docs/research-software/qchem.md

diff --git a/docs/research-software/index.md b/docs/research-software/index.md
index 02cfaca10..bf8f51cd8 100644
--- a/docs/research-software/index.md
+++ b/docs/research-software/index.md
@@ -35,6 +35,7 @@ fully-supported software stack are marked with *):
   - [ONETEP](onetep.md)
   - [OpenFOAM](openfoam.md)
   - [ORCA(*)](orca.md)
+  - [QChem(*)](qchem.md)
   - [Quantum Espresso](qe.md)
   - [VASP](vasp.md)
 
diff --git a/docs/research-software/qchem.md b/docs/research-software/qchem.md
new file mode 100644
index 000000000..f43e9a8e9
--- /dev/null
+++ b/docs/research-software/qchem.md
@@ -0,0 +1,58 @@
+# QChem
+
+QChem is an ab initio quantum chemistry software package for fast and
+accurate simulations of molecular systems, including electronic and
+molecular structure, reactivities, properties, and spectra.
+
+!!! important
+    QChem is not part of the officially supported
+    software on ARCHER2. While the ARCHER2 service desk is able to provide
+    support for basic use of this software (e.g. access to software, writing
+    job submission scripts) it does not generally provide detailed technical
+    support for the software and you may be directed to seek support from
+    other places if the service desk cannot answer the questions.
+
+## Useful Links
+
+- [QChem home site](https://www.q-chem.com/)
+- [QChem documentation](https://manual.q-chem.com/)
+
+## Using QChem on ARCHER2
+
+ARCHER2 has a site licence for QChem.
+
+## Running parallel QChem jobs
+
+!!! important
+    QChem parallelisation is only available on ARCHER2 by using multiple threads 
+    within a single compute node. Multi-process and multi-node parallelisation 
+    will not work on ARCHER2.
+
+The following script will run QChem using 16 OpenMP threads using the input in
+`hf3c.in`.
+
+```slurm
+#!/bin/bash
+#SBATCH --nodes=1
+#SBATCH --time=1:0:0
+#SBATCH --ntasks-per-node=1
+#SBATCH --cpus-per-task=16
+
+# Replace [budget code] below with your project code (e.g. e05)
+#SBATCH --account=[budget code]
+#SBATCH --partition=standard
+#SBATCH --qos=standard
+
+module load other-software
+module load qchem
+
+export OMP_PLACES=cores
+export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
+export SRUN_CPUS_PER_TASK=$SLURM_CPUS_PER_TASK
+
+export SLURM_HINT="nomultithread"
+export SLURM_DISTRIBUTION="block:block"
+
+qchem -slurm -nt $OMP_NUM_THREADS hf3c.in hf3c.out
+```
+
diff --git a/mkdocs.yml b/mkdocs.yml
index 814dffcff..69360e392 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -91,6 +91,7 @@ nav:
     - "ONETEP": research-software/onetep.md
     - "OpenFOAM": research-software/openfoam.md
     - "ORCA": research-software/orca.md
+    - "QChem": research-software/qchem.md
     - "Quantum Espresso": research-software/qe.md
     - "VASP": research-software/vasp.md
   - "Software Libraries":