Q-Chem

From ScientificComputing
Jump to: navigation, search

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

Legacy versions Supported versions New versions
4.3_SMP

Environment modules

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

How to submit a job

You can submit a Q-Chem job (test.inp) in batch mode with the following command:
bsub [LSF options] "rusage[scratch=4000]" "export QCLOCALSCR=\$TMPDIR; qchem test.in test.out"
Here you need to replace [LSF options] with LSF parameters for the resource requirements of the job. Please find a documentation about the parameters of bsub 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