dboc - 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
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
- 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.
- :DBOC:DISPLACEMENT = real
- Determines the finite difference step (in a.u.). The
default is 0.0005 a.u.
- :DBOC:DISP_PER_COORD = integer
- 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.