Q-Chem

From ScientificComputing
Revision as of 16:07, 6 December 2016 by Sfux (talk | contribs) (Created page with "{{Application}}")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Please note that this application page is referring to the old CentOS software stack which is obsolete and does not work any more with the new Ubuntu setup. You can find an overview on the Ubuntu software stack on this wiki page.

Category

Chemistry, Quantum chemistry, DFT

Description

Q-Chem is a comprehensive ab initio quantum chemistry package for accurate predictions of molecular structures, reactivities, and vibrational, electronic and NMR spectra. The new release of Q-Chem 4 represents the state-of-the-art of methodology from the highest performance DFT/HF calculations to high level post-HF correlation methods.

Available versions (Euler, old software stack)

Legacy versions Supported versions New versions
4.3_SMP

Please note that this page refers to installations from the old software stack. There are two software stacks on Euler. Newer versions of software are found in the new software stack.

Environment modules (Euler, old software stack)

Version Module load command Additional modules loaded automatically
4.3_SMP module load gcc/4.8.2 qchem/4.3_SMP

Please note that this page refers to installations from the old software stack. There are two software stacks on Euler. Newer versions of software are found in the new software stack.

How to submit a job

You can submit a Q-Chem job (test.inp) in batch mode with the following command:
sbatch [Slurm options] --tmp=4g --wrap="export QCLOCALSCR=\$TMPDIR; qchem test.in test.out"
Here you need to replace [Slurm options] with Slurm parameters for the resource requirements of the job. Please find a documentation about the parameters of sbatch on the wiki page about the batch system. Here, we are requesting local scratch space from the batch system and set the variable QCLOCALSCR to $TMPDIR. This will make sure that temporary files are saved on the local hard drive of the compute node, which gives a better performance compared to using a storage system that is attached via network to the cluster.

Parallel jobs

When you would like to run Q-Chem in parallel, then it is sufficient to request multiple cores from the batch system and to specify one of the Q-Chem options -nt (using multiple threads) or -np (using multiple processes). You need to set the Q-Chem option to the same value as you have specified, when requesting the number of cores from the batch system.

Example

As an example Q-Chem job, we are running an single point Hartree-Fock calculation for a water molecule on two cores using an aug-cc-pVQZ basis set. The input file (water.in), looks like
[leonhard@euler09 ~]$ ls water.in 
water.in
[leonhard@euler09 ~]$ cat water.in 
$molecule
   0  1
   O
   H1  O  oh
   H2  O  oh  H1  hoh

   oh  =   1.2
   hoh = 120.0
$end

$rem
   JOBTYPE       sp             Single Point energy
   METHOD        hf             Hartree-Fock
   BASIS         aug-cc-pVQZ    Basis set
$end

$comment
HF/aug-cc-pVQZ water single point calculation
$end

As a first step, you need to load the modules required for running Q-Chem.

[leonhard@euler09 ~]$ module load new gcc/4.8.2 qchem/4.3_SMP
Now run 'qchem-init' to initialize your environment for Q-Chem
[leonhard@euler09 ~]$ qchem-init

Afterwards you can submit the job. Here it is important that you request local scratch space from the batch system and set the variable QCLOCALSCR to $TMPDIR. This will make sure that temporary files are saved on the local hard drive of the compute node, which gives a better performance compared to using a storage system that is attached via network to the cluster.

[leonhard@euler09 ~]$ bsub -n 2 -W 4:00 -R "rusage[mem=1024, scratch=4000]" "export QCLOCALSCR=\$TMPDIR; qchem -nt 2 water.in water.out"
Generic job.
Job <33706123> is submitted to queue <normal.4h>.
[leonhard@euler09 ~]$ bjobs
JOBID      USER       STAT  QUEUE      FROM_HOST   EXEC_HOST   JOB_NAME   SUBMIT_TIME
33706123   leonhard   PEND  normal.4h  euler09                 *water.out Dec  7 17:16
[leonhard@euler09 ~]$ bjobs
JOBID      USER       STAT  QUEUE      FROM_HOST   EXEC_HOST   JOB_NAME   SUBMIT_TIME
33706123   leonhard   RUN   normal.4h  euler09     2*e1155     *water.out Dec  7 17:16
[leonhard@euler09 ~]$ bjobs
No unfinished job found
[leonhard@euler09 ~]$ grep "Total energy" water.out 
 Total energy in the final basis set = -75.9698992838
The resource usage summary of the job can be found in the corresponding LSF log file.

License information

Q-Chem license, provided by Prof. Reiher (D-CHAB).

Links

http://www.q-chem.com

https://en.wikipedia.org/wiki/Q-Chem
https://www.facebook.com/QChemSoftware