User Manual¶
QUICK uses a simple text based input file that consists of a line with keywords followed by an empty line, the molecular coordinates in xyz format, and potentially external point charge information after another empty line. Please see the Hands-on Tutorials for details on the input file format.
Feel free to ask questions or start a discussion on the Discussions section of our GitHub page: https://github.com/merzlab/QUICK/discussions.
Units¶
The QUICK input file requires atomic coordinates in Angstrom and charges (molecular charge and point charges) in atomic units.
The QUICK output reports coordinates in Angstroms, and charges, energies, and gradients in atomic units. This means that energies are reported in Hartree and gradients in Hartree/Bohr.
Keywords for QUICK Input¶
1. Hamiltonians¶
HF : Hartree-Fock Hamiltonian to be used
UHF : Unrestricted Hartree-Fock Hamiltonian to be used
DFT : Density Functional Theory to be used.
UDFT : Unrestricted Density Functional Theory to be used.
NOTE: One Hamiltonian must be selected. There is no default.
2. Density Functional Theory¶
When DFT is selected as the Hamiltonian, an additional keyword is required to specify which DFT method to use, followed by optional additional keywords for DFT-related parameters.
Built-in Methods¶
QUICK has two built-in DFT methods:
BLYP : Built in BLYP functional (A. D. Becke, Phys. Rev. A 38, 3098 (1988), C. Lee, W. Yang, and R. G. Parr, Phys. Rev. B 37, 785 (1988), B. Miehlich, A. Savin, H. Stoll, and H. Preuss, Chem. Phys. Lett. 157, 200 (1989))
B3LYP: Built in B3LYP functional (P. J. Stephens, F. J. Devlin, C. F. Chabalowski, and M. J. Frisch, J. Phys. Chem. 98, 11623 (1994) )
Functional Support via libxc¶
Except for the built-in BLYP and B3LYP functionals QUICK makes use of the Libxc density functional library (version 4.0.4). The following functionals can be requested by their popular names:
BP86: BP86 functional (A. D. Becke, Phys. Rev. A 38, 3098 (1988), J. P. Perdew, Phys. Rev. B 33, 8822 (1986))
B97: B97 functional (A. D. Becke, J. Chem. Phys. 107, 8554 (1997))
B97-GGA1: B97-GGA1 functional (A. J. Cohen and N. C. Handy, Chem. Phys. Lett. 316, 160 (2000))
PW91: PW91 functional (J. P. Perdew, J. A. Chevary, S. H. Vosko, K. A. Jackson, M. R. Pederson, D. J. Singh, and C. Fiolhais, Phys. Rev. B 46, 6671 (1992))
OLYP: OLYP functional (N. C. Handy and A. J. Cohen, Mol. Phys. 99, 403 (2001), C. Lee, W. Yang, and R. G. Parr, Phys. Rev. B 37, 785 (1988))
O3LYP: O3LYP functional (A. J. Cohen and N. C. Handy, Mol. Phys. 99, 607 (2001))
PBE: PBE functional (J. P. Perdew, K. Burke, and M. Ernzerhof, Phys. Rev. Lett. 77, 3865 (1996), J. P. Perdew, K. Burke, and M. Ernzerhof, Phys. Rev. Lett. 78, 1396 (1997))
REVPBE: Revised PBE functional (Y. Zhang and W. Yang, Phys. Rev. Lett. 80, 890 (1998), J. P. Perdew, K. Burke, and M. Ernzerhof, Phys. Rev. Lett. 77, 3865 (1996), J. P. Perdew, K. Burke, and M. Ernzerhof, Phys. Rev. Lett. 78, 1396 (1997))
PBE0: PBE0/PBEH functional (C. Adamo and V. Barone, J. Chem. Phys. 110, 6158 (1999), M. Ernzerhof and G. E. Scuseria, J. Chem. Phys. 110, 5029 (1999))
All LDA, GGA and hybrid-GGA functionals available in Libxc can be requested. As a reminder, (hybrid) meta-GGA and range-separated hybrid functionals are not supported at present. You must make sure to select a valid combination of exchange and correlation functionals. A generic Libxc functional can be requested as follows:
LIBXC=FUNCTIONAL1,FUNCTIONAL2 : Where FUNCTIONAL1 and FUNCTIONAL2 are exchange and correlation functionals. Note: Spaces near ‘=’ or ‘,’ are not allowed.
In addition to methods previously noted, a full list of the available and tested functionals can be found here: libxc supported functionals in the current QUICK version.
If you are using Libxc in your work, please cite following paper:
Grimme Dispersion Corrections¶
Grimme type dispersion corrections are requested by adding one of the following keywords:
D2 : use Grimme’s D2 dispersion correction in DFT.
D3 : use Grimme’s D3 dispersion correction with zero damping.
D3BJ : use Grimme’s D3 dispersion correction with Becke-Johnson damping.
D3M : use Grimme’s D3 dispersion correction with modified zero damping by Sherrill and coworkers.
D3MBJ - use Grimme’s D3 dispersion correction with modified Becke-Johnson damping by Sherrill and coworkers.
XCCUTOFF=Float: user defined threshold for grid pruning in exchange correlation algorithm. Default: 1.0E-7
3. Basis sets¶
BASIS=BASIS_SET_NAME : Selects BASIS_SET_NAME basis set for the calculation. BASIS_SET_NAME could be any of the following. The basis set name is not case sensitive.
STO-3G
3-21G
6-31G
6-31G* or 6-31G(d)
6-31G** or 6-31G(d,p)
6-311G
6-311G* or 6-311G(d)
6-311G** or 6-311G(d,p)
6-311G(2df,2pd)
6-31+G* or 6-31+G(d)
6-31+G** or 6-31+G(d,p)
6-31++G** or 6-31++G(d,p)
6-311+G(2d,p)
6-311++G(2d,2p)
cc-pVDZ
cc-pVTZ
aug-cc-pVDZ
aug-cc-pVTZ
def2-SV(P)
def2-SVP
def2-SVPD
def2-TZVP
def2-TZVPD
def2-TZVPP
def2-TZVPPD
PC-0
PC-1
PC-2
aug-PC-1
aug-PC-2
Note 1: We follow the same basis set names reported at the basis set exchange web page.
Note 2: The current version of the QUICK two elecron repulsion integral (ERI) engine only support basis functions up to f. Therefore, energy and gradient calculations with functions up to f are possible. By default, f functions are disabled in the GPU code. Open-shell gradient calculations with f functions are not yet available on GPU.
Note 3: Effective core potentials (ECPs) are currently not supported by QUICK. Due to this reason, we have excluded elements that require ECPs from the above basis sets that are included with QUICK.
4. SCF Convergence¶
SCF=Integer : user defined maximum self-consistent field cycles = Integer. Default: 200
NCYC=Integer : user defined self-consistent field cycles to turn on incremental Fock build = Integer. Default: 3
DENSERMS=Float : user defined density matrix RMS change for convergence. Default : 1.0E-6.
CUTOFF=Float : user defined integral cutoff. This value should be smaller than DENSERMS. Default : 1.0E-7.
BASISCUTOFF=Float : user defined cutoff for neglecting insignificant basis functions. Default : 1.0E-6.
OVCUT=Float : user defined cutoff for determining near-linear dependency among basis functions. The low eigenvalue (below threshold) components of the overlap matrix are removed. Default : 1.0E-5.
COARSEINT : use coarse cutoffs. (i.e. DENSERMS=1.0E-5, CUTOFF=1.0E-6, BASISCUTOFF=1.0E-5, XCCUTOFF=1.0E-6)
TIGHTINT : use tight cutoffs. (i.e. DENSERMS=1.0E-7, CUTOFF=1.0E-8, BASISCUTOFF=1.0E-7, XCCUTOFF=1.0E-8)
LSHIFT_CYCLE=Integer : After which cycle level shifting is turned on (given other level shifting criteria are satisfied). Default: 3
LSHIFT_ERR=Float : Minimum DIIS error for allowing Level shifting. Default: 0.1
LSHIFT_GAP=Float : Maximum HOMO-LUMO gap (in au) to allow Level shifting. Default: 0.2
5. Charge and Spin Multiplicity¶
CHARGE=Integer : A net charge is to be placed on system. Default: 0
MULT=Integer : Spin multiplicity of the system. Default: 1
6. Atomic Charges¶
EXTCHARGES : External charges are included in the system. The point charges must be listed after the molecular Cartesian coordinates in the input file. See the corresponding section in the Hands-on Tutorials of this manual.
DIPOLE : Write dipole moments, Mulliken and Löwdin charges into the output file.
ESP_CHARGE : Compute electrostatic potential derived (ESP) charges
ESPGRID_SPACING=Float : Spacing between grid points on scaled Van der Waals surfaces used to obtain ESP charges. ESP_CHARGE keyword must be present to use this keyword. Default : 0.25
ESP_GRID : User provided grid points at which ESP needs to evaluated. example: test/esp_grid_acetone_b3lyp_def2svp.in
If you are computing the ESP and/or ESP derived charges, please cite the following paper:
7. Gradient Calculation¶
GRADIENT : Calculates analytical gradients.
GRADCUTOFF=Float : user defined cutoff for gradients. Default : 1.0E-7 (automatically set to 1.0E-6 or 1.0E-8 if COARSEINT or TIGHTINT keyword is specified)
8. Geometry Optimization¶
OPTIMIZE=Integer : Performs a geometry optimization with a maximum of Integer steps. Default: 3 x Number of atoms.
DLFIND : Use DL-FIND optimizer. This is the default.
LOPT : Use legacy QUICK optimizer instead of DL-FIND.
GTOL : User defined convergence criterion for RMS value of the gradient vector. Default: 4.5E-4 (using tighter convergence criteria may require tightening SCF convergence, see TIGHTINT keyword)
ETOL : User defined convergence criterion for maximum energy change between two consecutive optimization cycles. Default: 1.0E-6
- ICOORD=IntegerUser defined coordinate system for DL-Find geometry optimization.
3 delocalized internal coordinates(DLC) (Default)
0 cartesian
ALLOW_BAD_SCF : Allow unconverged SCF in geometry optimization. By default, the optimization will not proceed if the SCF fails to converge.
Constrained Optimization¶
QUICK provides native support for constrained geometry optimization through the CONSTRAIN keyword combined with DLFIND (default). Constraints allow users to freeze atomic positions or fix internal coordinates (bond lengths, angles, dihedrals) during optimization.
Constraint Keywords:
FREEZE atom_no
Freeze the full XYZ position of the specified atom and is compatible with Cartesian optimizations (ICOORD=0).
FREEZEX atom_no, FREEZEY atom_no, FREEZEXY atom_no, FREEZEXZ atom_no, FREEZEYZ atom_no
Freeze selected Cartesian components of an atom and are compatible with Cartesian optimizations (ICOORD=0).
DISTANCE atom1 atom2
Constrains the distance between two atoms to remain fixed during optimization and is compatible with internal optimizations (ICOORD=3, default).
ANGLE atom1 atom2 atom3
Constrains a bond angle defined by three atoms and is compatible with internal optimizations (ICOORD=3, default).
DIHEDRAL atom1 atom2 atom3 atom4
Constrains a torsional angle (dihedral) involving four atoms and is compatible with internal optimizations (ICOORD=3, default).
Constraint keywords such as FREEZE, DISTANCE, ANGLE, and DIHEDRAL must be placed after the geometry block.
Example Input for DL-FIND Optimization with Constraints:
HF BASIS=3-21G CONSTRAIN OPTIMIZE
C -4.13498124 0.70342204 0.00000000
H -3.53650966 -0.16516720 -0.17967886
H -4.07172084 1.36057017 -0.84205371
H -5.15338585 0.41046458 0.14808100
C -3.62163902 1.42937832 1.25740497
H -3.68306794 2.48719615 1.10858318
H -4.22133413 1.15219316 2.09909028
H -2.60384227 1.15314360 1.43819258
DIHEDRAL 2 1 5 6
If you are using the DL-FIND optimizer in your work, please make sure to cite the following paper:
9. Data Exporting¶
EXPORT=MOLDEN : Generates a molden file that contains orbitals, charges, geometries, etc.
10. Checkpoint Functionality¶
|QUICK_VERSION| has the capability to restart simulations using checkpoint files for both SCF energy calculation and geometry optimization containing density and/or coordinates.
CHK_WRITE_DEN : Writes density (optionally beta density for unrestricted calculations) to the data file.
CHK_WRITE_XYZ : Writes coordinates to the data file.
CHK_READ_DEN : Reads density (optionally beta density for unrestricted calculations) from the data file.
CHK_READ_COORD : Reads coordinates from the data file.
- Checkpoint information utilizes a data file.
<filename_prefix>.dat in absence of user input (default)
$DATA = <datafile_name> (user input)
HDF5 file format can be used if compiled with -DHDF5=TRUE flag.
NOTE: Currently the density and coordinates are saved to a checkpoint file if the energy computation (single point job) or the optimization is completed.
Last updated by Vikrant Tripathy on 04/06/2026.