The Q-Chem Interface

Introduction

The interface is designed to access basic functionality of the Q-Chem program package. Currently the interface is capable of calculating ground state energies and gradients on the restricted closed-shell Hartree-Fock, DFT and RI-MP2 levels of theory. For DFT calculations the functionals BLYP, BP86, B3LYP, B3PW91, BPW91, S-VWN-LDA, PBE0 are available. The interface creates the necessary input files for the Q-Chem run, executes Q-Chem and finally extracts the QM-results.

In order to use the interface, the environment must be set up as required for a Q-Chem standard run depending on the Q-Chem version. Commonly, at least the shell environment variables

QC Path to Q-Chem main directory
QCAUX Path to Q-Chem auxiliary directory
QCSCRATCH Path to scratch directory for Q-Chem scratch output

need to be set and "qchem" needs to be in the path, e.g. by sourcing $QC/bin/qchem.setup.sh (see Q-Chem manual). See also the file "qchemrc" in the example/qchem folder as example file that can be sourced before the ChemShell run.

Command Line Arguments

Currently the following ChemShell command line arguments are available:

Argument Argument type Mandatory Default Description
basis keyword no STO-3G Required basis set (Q-Chem library [1])
basisspec ChemShell notation no sto-3g all Required basis set (ChemShell library [2])
charge integer no 0 Total charge
accuracy keyword no medium Determines accuracy of SCF calculation [3]: debug, lowest, low, medium, high, highest
grid integer no undefined Determines size and type of DFT grid in Q-Chem notation [4].
jobname string no qchem Determines the name of Q-chem input (jobname.com), output (jobname.log) and scratch (jobname.scr [5]).
hamiltonian keyword no hf Choice of QM Hamiltonian: hf, blyp, bp86, b3lyp [6], b3lyp5 [6], b3pw91, bpw91, s-vwn-lda, pbe0, rimp2, rimp2_svp [7]
mem_total integer no 2000 Sets the total memory available to Q-Chem, in megabytes [8].
mem_static integer no 100 Sets the memory for individual Q-Chem program modules, in megabytes [9].
harmonic bool no undefined Specifies if either cartesian GTOs (1) or pure spherical harmonics (0) are used.
purecart integer no undefined Allows for specification of cartesian GTOs vs. pure sherical harmonics by Q-Chem nomenclature [10].
guess keyword no sad Initial guess for the one-particle density matrix: SAD, CORE, GWH or READ [11].
separate_jk bool no 1 Switch on/off the separate formation of Coulomb and exchange part [12].
grain integer no -1 Controls the number of lowest-level boxes in one dimension for CFMM [13]: -1, 1 , >=8 [14].
lin_k bool no 0 Switch on/off linear scaling screening for the exchange part (LinK [15]) [16].
dft_d keyword no undefined Switch on Grimme's dispersion type correction: EMPIRICAL_GRIMME [17].
add Q-Chem notation no undefined Set additional Q-Chem input. Use with care [18] !

Notes and references

  1. Using the argument "basis" the basis set needs to be specified in Q-Chem nomenclature. In particular note that the basis set Ahlrichs SVP is denoted as VDZ** in Q-Chem.
  2. If a basis set is taken from the ChemShell library the basis set is explicitly included in the Q-Chem input within a $basis-section and the Q-Chem $rem-variable basis is set to "gen" (see Q-Chem manual). As for an explicit basis set the default guess (Superposition of atomic densities, SAD) is not available, the guess is created by basis set projection based on an initial STO-3G calculation.
  3. The different levels determine the SCF accuracy concerning three aspects: (A) The SCF convergence, (B) the threshold for density based Schwarz screening of electron repulsion integrals and (C) the DFT grid size.
    keyword (A) (B) (C)
    debug 10-3 10-6"Low quality" grid
    lowest 10-4 10-7 SG-0
    low 10-5 10-8 SG-0
    medium 10-6 10-9 SG-1
    high 10-7 10-10 75/302
    highest 10-8 10-11 110/590
    Use the largest affordable accuracy. Typically "medium" is sufficient for standard SCF energetics but you might need to choose "high" for RI-MP2, gradients or also for large QM regions! For details concerning the grid abbreviations see Q-Chem manual.
  4. If not specified the DFT grid is chosen according to the argument "accuracy".
  5. The Q-Chem scratch is written to $QCSCRATCH/jobname.scr/
  6. B3LYP and B3LYP5 differ in the correlation functional:
    B3LYP (correlation: 0.8100 LYP + 0.1900 VWN1RPA)
    B3LYP5(correlation: 0.8100 LYP + 0.1900 VWN )
    For example, Q-Chem-B3LYP corresponds to Turbomole-B3LYP_GAUSSIAN (and Gaussian-B3LYP), while Q-CHEM-B3LYP5 corresponds to Turbomole-B3LYP (and original parameters). Possible remaining differences are due to different DFT grids (see argument "accuracy" or "grid").
  7. Use this Hamiltonian for RI-MP2 calculations with SVP auxiliary basis set. In addition specify the "basis" argument as usual [1].
  8. Make sure you physically provide the specified RAM. For large QM regions the default (2GB) needs to be increased. See Q-Chem manual for details.
  9. Make sure you physically provide the specified RAM. For large QM regions the default (100MB) needs to be increased. See Q-Chem manual for details.
  10. If the "purecart" argument is used, the specifications by "harmonic" are overwritten. See Q-Chem manual for the purecart variable.
  11. Q-Chem provides the core hamiltonian guess (CORE), the superposition of atomic densities (SAD, default), and the generalized Wolfsberg-Helmholtz guess (GWH). Additionally by the keyword "READ" an adequate guess can be read in from file. For this purpose, the file containing the guess needs to be located in the scratch directory, i.e. $QCSCRATCH/jobname.scr/. See Q-Chem manual for details.
  12. Switch on for large QM systems as "separate_jk" is required to make use of CFMM [13] and LinK [15].
  13. C. A. White, B. G. Johnson, P. M.W. Gill and M. Head-Gordon, The Continuous Fast Multipole Method, Chem. Phys. Letters, 230, 8 (1994).
  14. Use the default (-1) unless you really want to change the CFMM behavior (-1: Program decides best value turning on CFMM when useful, 1: Do not use CFMM, n >=8: Use CFMM with n lowest-level boxes in one dimension).
  15. C. Ochsenfeld, C. A. White, and M. Head-Gordon, Linear and sublinear scaling of Hartree-Fock-type exchange matrices, J. Chem. Phys., 109, 1663 (1998).
  16. Switch on for large QM systems (several hundreds of atoms).
  17. For further information (D2 or D3, damping function etc.) and other options see Q-Chem manual.
  18. Set any additional input designated for the $rem-section of Q-Chem (see Q-Chem manual) by specifying
    add ={[rem_name1][rem_value1]
    [rem_name2][rem_value2]
    .
    .
    .
    }
    Use with care and be aware, of course, that by this the Q-Chem output may be modified in such a way that the proper extraction of QM results may fail!

Examples

Some basic examples are provided in the example/qchem folder along with an example for setting the Q-Chem environment (qchemrc). The names of example inputs (.chm) and corresponding outputs (.log) are structured as follows:
[system]_[e(nergy)/g(radient)]_[QM/QMMM]_[Hamiltonian]_[basis/(basis)spec]_[basisname]
For the DNA-Enzyme complex also the required Amber prmtop and inpcrd are provided.




This manual was generated using htp, an HTML pre-processor Powered by htp