dboc(1) Diagonal Born-Oppenheimer Correction using HF and CI wave functions.


The program dboc computes Diagonal Born-Oppenheimer Correction (DBOC) using HF and CI wave functions.


"Cartesian" DBOC formula (aka Born-Handy-Pulay formula):

N. C. Handy, J. Yamaguchi, and H. F. Schaefer, J. Chem. Phys. 84, 4481 (1986).

Justification for the "Cartesian" DBOC formula:

W. Kutzelnigg, Mol. Phys. 90, 909 (1997).

Finite-difference formulation of DBOC at CI level

E. F. Valeev and C. D. Sherrill, J. Chem. Phys. 118, 3921 (2003).


The following keywords are valid:

WFN = string
Specifies the type of wave function desired. The only valid entries at the present are SCF and DETCI. There is no default.

REFERENCE = string
Specifies the type of orbitals used for the single-determinant reference function. Valid choices are RHF, ROHF, and UHF. There is no default.

PRINT = integer
Determines the verbosity of the output. A value of 0 (the default) specifies minimal printing.

Determines the finite difference step (in a.u.). The default is 0.0005 a.u.

Determines the number of displacements for each coordinate. Set it to 2 to compute DBOC with standard accuracy (enough significant digits for up to second derivatives; DBOC accurate to square of displacement size), and 4 to compute DBOC with improved accuracy (DBOC accurate to the fourth power of displacement size). The default is 2.

ISOTOPES = string_vector
Specifies which isotope to use for each atom. Each string should specify an isotope label as defined in include/masses.h. By default, most abundant isotopes are used for each element.

:DBOC:COORDS = vector
This keyword should only be used by advanced users who are familiar with how DBOC is evaluated by finite differences. The keyword may be used to specify the cartesian nuclear coordinates to use in the sum expression for DBOC, their respective coefficients, and whether they are symmetric or nonsymmetric with respect displacements. dboc can use symmetry to minimize the number of wave function computations. Hence this keyword need only be used for diagnostic purposes or when displacements along different coordinates need to be run separately (e.g. require different occupation vectors). The value for this keyword is an array of 3 element vectors. The first element of each vector is the index of the cartesian coordinate which to include into the sum. The second element is a real coefficient for the respective term in the DBOC expression. The third element is a string that can take two values, symm and nonsymm, which indicate that the coordinate is symmetric or nonsymmetric with respect to displacements, respectively. Indices are C-style, i.e. from 0 to 3*natom-1.